diff options
150 files changed, 35295 insertions, 24845 deletions
diff --git a/.gitignore b/.gitignore index 75be5b0c2..039a8f530 100755 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,8 @@ nbproject/ ## composer # locally installed composer binary composer.phar +# allow composer.lock, as it is required to have a common state +!composer.lock # vendor/ is managed by composer, no need to include in our repository # requires new deployment and needs discussion first #vendor/ diff --git a/.travis.yml b/.travis.yml index 2830d1b9f..3570fe411 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ matrix: # - if [[ "$DB" == "mysql" ]]; then mysql -e "create database IF NOT EXISTS hello_world_test;" -uroot; fi install: - - composer require phpunit/phpunit + - composer install --optimize-autoloader # omitting "script:" will default to phpunit # use the $DB env variable to determine the phpunit.xml to use @@ -1,3 +1,93 @@ +Hubzilla 2.2 (2017-??-??) + - Provide version compatibility check for themes (minversion, maxversion) + - Use chanlink_hash() instead of chanlink_url() where appropriate + - Use head_add_link() for feed discovery + - Provide HTTP header parser which honours continuation lines + - Numerous doco improvements + - Implement virtual privacy groups from restricted profile access list + - Implement permission roles + - Implement app-tray + - Default to manual conversation updates + - Implement channel move for all server roles + - Implement nav login modal + - Rename bb2diaspora.php to markdown.php + - Remove obsolete module 'match' + - Move firefox social api configuration to plugin + - Move rsd service to twitter_api plugin + - Add build_pagehead hook + - Move opensearch to plugins + - Move dreamhost hack to plugin + - Add wiki permissions + - Introduce hubloc_store_lowlevel() and xchan_store_lowlevel() + - Move diaspora account import to the diaspora plugin + - Allow export of single data sets instead of always exporting everything we know about in channel export + - Queue optimisations for sites that have lingered in the queue for more than a couple of days + - Add affinity slider tool settings for min and max defaults in settings/featured + - Provide lowlevel xchan storage function to ensure that all non-null rows are initialised + - Implement native wiki + - Block well-known from oembed + - Implement observer.language bbcode and observer.language comanche conditional + - Implement daemon_addon hook to let plugins create custom background processes + - Implement profile vcards + - Implement connection vcards + - Implement 'click to call' in address book + - Default cover photo + - Remove fullscreen functionality in photo album view + - Update fontawesome lib to version 4.7.0 + - Implement a menu to select a section to be open by default in connedit + - Improve comanche conditionals + - Add enclosures and categories to atom feed parsing + - Allow the atom_entry hook to change the results + - Set 'adjust for viewer timezone' as the default for new events + - Allow event creation in other timezones than your own + - Update fullcalendar lib to version 3.1 + - Move api version call back to core + - Create first webpage as 'home' if none exist + - Show webpages link to visitors if a 'home' page exists + + Bugfixes + - Fix schema not saved if session theme != selected theme and schema select display issue + - Fix no acl not detected in post_activity_item() + - Fix find_folder_hash_by_path() was not safe against multiple attach structures with the same filename but in different directories + - Fix don't search on empty filename - we shouldn't find it. The reason why this change is being made is because we actually did find it due to a development glitch + - Fix several places where head_add_(css|js) functions have been used incorrectly. + - Fix webpage import tool + - Fix numerous bugs with the addon repo management GUI + - Fix attach_delete() to remove photo resources even if the attach table row wasn't found + - Fix choking if photo_factory() returns null + - Fix embedimage if an albumname contains quotes + - Fix chat member list when one or more members are connected via access tokens + - Fix issue #636 - some localised (e.g. Italian) strings have single quotes which throw JS errors when used in single quoted template constructs + - Fix issues #629 and #635 - edited post arriving from downstream source was not being rejected + - Fix peoplefind widget not honouring directory option settings + - Fix issue with HTML in code blocks in markdown in wiki + - Fix issue with post signatures if posted from api and logged in locally with a different identity + + Plugins/Addon + - Add experimental webmention plugin + - NSFW: Use button instead of text link + - Diaspora: gracefully handle multiple photos per post + - Diaspora: change profile photo permission call + - Logrotate: don't throw an error if another server process renamed the logfile before we got to it + - Chess: the channel owner must be one of the players, so only require selecting one connection for an opponent + - Move firefox social api configuration to plugin from core + - Move rsd service to twitter_api plugin from core + - Move opensearch to plugins from core + - Move dreamhost hack to plugin from + - Move diaspora account import to addon from core + - Reflect hubloc store changes in plugins + - Reflect xchan store changes in plugins + - Rendezvous: Fixed marker creation bug + - Rendezvous: Center on marker if specified in URL, and update browser address bar with shareable link when selecting markers on the map + - Rendezvous: Set default value of 0 for priximity alert when making new markers + - Move gitwiki to plugins from core which has been replaced by native wiki + - Openclipatar: reflect changes to files and photos which were unified in core some time ago + - Reintroduce gnusocial plugin after security/functionality review + - Twitter_api: hubzilla core issue 638 - unsupported message-id field not available in all twitter api functions + - Superblock: update to reflect core changes + - Rendezvous: implement static marker proximity alert + - Phpmailer: security update + Hubzilla 2.0 (2016-12-23) - Deprecate bb_iframe - Note widget: resize the textarea to reveal full content diff --git a/Zotlabs/Daemon/Cron_daily.php b/Zotlabs/Daemon/Cron_daily.php index 0f0001890..038790572 100644 --- a/Zotlabs/Daemon/Cron_daily.php +++ b/Zotlabs/Daemon/Cron_daily.php @@ -38,6 +38,13 @@ class Cron_daily { db_utcnow(), db_quoteinterval('30 DAY') ); + // expire any unread notifications over a year old + + q("delete from notify where seen = 0 and created < %s - INTERVAL %s", + db_utcnow(), db_quoteinterval('1 YEAR') + ); + + //update statistics in config require_once('include/statistics_fns.php'); update_channels_total_stat(); diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index 1432cbdcf..0ca2f7a99 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -360,7 +360,9 @@ class Apps { '$deleted' => $papp['deleted'], '$feature' => (($papp['embed']) ? false : true), '$featured' => ((strpos($papp['categories'], 'nav_featured_app') === false) ? false : true), - '$navapps' => (($mode == 'nav') ? true : false) + '$navapps' => (($mode == 'nav') ? true : false), + '$add' => t('Add to app-tray'), + '$remove' => t('Remove from app-tray') )); } diff --git a/Zotlabs/Lib/NativeWikiPage.php b/Zotlabs/Lib/NativeWikiPage.php index 1467a1cfb..25e454cb7 100644 --- a/Zotlabs/Lib/NativeWikiPage.php +++ b/Zotlabs/Lib/NativeWikiPage.php @@ -48,13 +48,21 @@ class NativeWikiPage { $w = Zlib\NativeWiki::get_wiki($channel_id, $observer_hash, $resource_id); + if (! $w['wiki']) { + return array('content' => null, 'message' => 'Error reading wiki', 'success' => false); + } + // create an empty activity $arr = []; - $arr['uid'] = $channel_id; - $arr['author_xchan'] = $observer_hash; + $arr['uid'] = $channel_id; + $arr['author_xchan'] = $observer_hash; $arr['resource_type'] = 'nwikipage'; - $arr['resource_id'] = $resource_id; + $arr['resource_id'] = $resource_id; + $arr['allow_cid'] = $w['wiki']['allow_cid']; + $arr['allow_gid'] = $w['wiki']['allow_gid']; + $arr['deny_cid'] = $w['wiki']['deny_cid']; + $arr['deny_gid'] = $w['wiki']['deny_gid']; // We may wish to change this some day. $arr['item_unpublished'] = 1; @@ -180,7 +188,7 @@ class NativeWikiPage { $processed ++; $history[] = [ 'revision' => $item['revision'], - 'date' => datetime_convert('UTC',date_default_timezone_get(),$item['created']), + 'date' => datetime_convert('UTC',date_default_timezone_get(),$item['edited']), 'name' => $item['author']['xchan_name'], 'title' => get_iconfig($item,'nwikipage','commit_msg') ]; @@ -325,18 +333,26 @@ class NativeWikiPage { static public function save_page($arr) { - $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : ''); - $content = ((array_key_exists('content',$arr)) ? purify_html(Zlib\NativeWikiPage::prepare_content($arr['content'])) : ''); - $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : ''); + $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : ''); + $content = ((array_key_exists('content',$arr)) ? $arr['content'] : ''); + $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : ''); $observer_hash = ((array_key_exists('observer_hash',$arr)) ? $arr['observer_hash'] : ''); $channel_id = ((array_key_exists('channel_id',$arr)) ? $arr['channel_id'] : 0); - $revision = ((array_key_exists('revision',$arr)) ? $arr['revision'] : 0); + $revision = ((array_key_exists('revision',$arr)) ? $arr['revision'] : 0); $w = Zlib\NativeWiki::get_wiki($channel_id, $observer_hash, $resource_id); if (!$w['wiki']) { return array('message' => t('Error reading wiki'), 'success' => false); } + + $mimetype = $w['mimeType']; + if($mimetype === 'text/markdown') { + $content = purify_html(Zlib\NativeWikiPage::prepare_content($content)); + } + else { + $content = escape_tags($content); + } // fetch the most recently saved revision. diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php index 0ee8e6680..799a606d6 100644 --- a/Zotlabs/Lib/ThreadItem.php +++ b/Zotlabs/Lib/ThreadItem.php @@ -136,7 +136,7 @@ class ThreadItem { $filer = ((($conv->get_profile_owner() == local_channel()) && (! array_key_exists('real_uid',$item))) ? t("Save to Folder") : false); $profile_avatar = $item['author']['xchan_photo_m']; - $profile_link = chanlink_url($item['author']['xchan_url']); + $profile_link = chanlink_hash($item['author_xchan']); $profile_name = $item['author']['xchan_name']; $location = format_location($item); @@ -276,7 +276,7 @@ class ThreadItem { $keep_reports = intval(get_config('system','expire_delivery_reports')); if($keep_reports === 0) - $keep_reports = 30; + $keep_reports = 10; if((! get_config('system','disable_dreport')) && strcmp(datetime_convert('UTC','UTC',$item['created']),datetime_convert('UTC','UTC',"now - $keep_reports days")) > 0) $dreport = t('Delivery Report'); @@ -767,7 +767,7 @@ class ThreadItem { return; if($this->is_toplevel() && ($this->get_data_value('author_xchan') != $this->get_data_value('owner_xchan'))) { - $this->owner_url = chanlink_url($this->data['owner']['xchan_url']); + $this->owner_url = chanlink_hash($this->data['owner']['xchan_hash']); $this->owner_photo = $this->data['owner']['xchan_photo_m']; $this->owner_name = $this->data['owner']['xchan_name']; $this->wall_to_wall = true; diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php index 6f5b0ddf9..c3c50cac2 100644 --- a/Zotlabs/Module/Acl.php +++ b/Zotlabs/Module/Acl.php @@ -19,7 +19,7 @@ require_once("include/group.php"); class Acl extends \Zotlabs\Web\Controller { - function init(){ + function init() { // logger('mod_acl: ' . print_r($_REQUEST,true)); @@ -49,7 +49,7 @@ class Acl extends \Zotlabs\Web\Controller { $extra_channels = (x($_REQUEST,'extra_channels') ? $_REQUEST['extra_channels'] : array()); // The different autocomplete libraries use different names for the search text - // parameter. Internaly we'll use $search to represent the search text no matter + // parameter. Internally we'll use $search to represent the search text no matter // what request variable it was attached to. if(array_key_exists('query',$_REQUEST)) { @@ -104,6 +104,8 @@ class Acl extends \Zotlabs\Web\Controller { if($type == '' || $type == 'g') { + // virtual groups based on private profile viewing ability + $r = q("select id, profile_guid, profile_name from profile where is_default = 0 and uid = %d", intval(local_channel()) ); @@ -121,6 +123,8 @@ class Acl extends \Zotlabs\Web\Controller { } } + // Normal privacy groups + $r = q("SELECT groups.id, groups.hash, groups.gname FROM groups, group_member WHERE groups.deleted = 0 AND groups.uid = %d @@ -151,25 +155,34 @@ class Acl extends \Zotlabs\Web\Controller { } if($type == '' || $type == 'c') { + $extra_channels_sql = ''; - // Only include channels who allow the observer to view their permissions - foreach($extra_channels as $channel) { - if(perm_is_allowed(intval($channel), get_observer_hash(),'view_contacts')) - $extra_channels_sql .= "," . intval($channel); + + // Only include channels who allow the observer to view their connections + if($extra_channels) { + foreach($extra_channels as $channel) { + if(perm_is_allowed(intval($channel), get_observer_hash(),'view_contacts')) { + if($extra_channel_sql) + $extra_channels_sql .= ','; + $extra_channels_sql .= intval($channel); + } + } } - $extra_channels_sql = substr($extra_channels_sql,1); // Remove initial comma - // Getting info from the abook is better for local users because it contains info about permissions if(local_channel()) { if($extra_channels_sql != '') $extra_channels_sql = " OR (abook_channel IN ($extra_channels_sql)) and abook_hidden = 0 "; + + // Add atokens belonging to the local channel @TODO restrict by search + $r2 = null; $r1 = q("select * from atoken where atoken_uid = %d", intval(local_channel()) ); + if($r1) { require_once('include/security.php'); $r2 = array(); @@ -189,6 +202,7 @@ class Acl extends \Zotlabs\Web\Controller { } } + // add connections $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, xchan_pubforum, abook_flags, abook_self FROM abook left join xchan on abook_xchan = xchan_hash diff --git a/Zotlabs/Module/Admin/Plugins.php b/Zotlabs/Module/Admin/Plugins.php index 527e96496..feb29e9d6 100644 --- a/Zotlabs/Module/Admin/Plugins.php +++ b/Zotlabs/Module/Admin/Plugins.php @@ -3,10 +3,14 @@ namespace Zotlabs\Module\Admin; use \Zotlabs\Storage\GitRepo as GitRepo; +use \Michelf\MarkdownExtra; class Plugins { - + /** + * @brief + * + */ function post() { if(argc() > 2 && is_file("addon/" . argv(2) . "/" . argv(2) . ".php")) { @@ -15,16 +19,15 @@ class Plugins { $func = argv(2) . '_plugin_admin_post'; $func($a); } - - goaway(z_root() . '/admin/plugins/' . argv(2) ); + 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)); } @@ -101,16 +104,15 @@ class Plugins { 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 + /// @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 + require_once('library/PHPGit.autoload.php'); // Load PHPGit dependencies $repoURL = $_REQUEST['repoURL']; $extendDir = 'store/[data]/git/sys/extend'; $addonDir = $extendDir . '/addon'; @@ -170,9 +172,8 @@ class Plugins { 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 + require_once('library/PHPGit.autoload.php'); // Load PHPGit dependencies $repoURL = $_REQUEST['repoURL']; $extendDir = 'store/[data]/git/sys/extend'; $addonDir = $extendDir . '/addon'; @@ -225,7 +226,7 @@ class Plugins { $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'])); + $repo['readme'] = MarkdownExtra::defaultTransform($git->git->cat->blob($object['hash'])); } else if ($object['type'] == 'blob' && strtolower($object['file']) === 'manifest.json') { $repo['manifest'] = $git->git->cat->blob($object['hash']); } @@ -241,7 +242,11 @@ class Plugins { } } - + /** + * @brief Plugins admin page. + * + * @return string with parsed HTML + */ function get() { /* @@ -254,13 +259,13 @@ class Plugins { 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); @@ -271,7 +276,7 @@ class 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; @@ -297,9 +302,9 @@ class 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'); @@ -307,21 +312,21 @@ class Plugins { $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); + $readme = MarkdownExtra::defaultTransform($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')) { @@ -329,8 +334,8 @@ class Plugins { $func($a, $admin_form); } } - - + + $t = get_markup_template('admin_plugins_details.tpl'); return replace_macros($t, array( '$title' => t('Administration'), @@ -338,7 +343,7 @@ class Plugins { '$toggle' => t('Toggle'), '$settings' => t('Settings'), '$baseurl' => z_root(), - + '$plugin' => $plugin, '$status' => $status, '$action' => $action, @@ -351,17 +356,17 @@ class Plugins { '$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 */ @@ -374,9 +379,9 @@ class Plugins { $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); @@ -387,19 +392,19 @@ class Plugins { } } $info['disabled'] = 1-intval($x); - + $plugins[] = array( $id, (($enabled)?"on":"off") , $info); } } } - + usort($plugins,'self::plugin_sort'); $allowManageRepos = false; if(is_writable('extend/addon') && is_writable('store/[data]')) { $allowManageRepos = true; - } - + } + $admin_plugins_add_repo_form= replace_macros( get_markup_template('admin_plugins_addrepo.tpl'), array( '$post' => 'admin/plugins/addrepo', @@ -418,14 +423,14 @@ class Plugins { '$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 + /// @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'), @@ -471,5 +476,4 @@ class Plugins { return(strcmp(strtolower($a[2]['name']),strtolower($b[2]['name']))); } - }
\ No newline at end of file diff --git a/Zotlabs/Module/Admin/Site.php b/Zotlabs/Module/Admin/Site.php index 829ca71e4..b71e63030 100644 --- a/Zotlabs/Module/Admin/Site.php +++ b/Zotlabs/Module/Admin/Site.php @@ -163,6 +163,14 @@ class Site { foreach($files as $file) { $vars = ''; $f = basename($file); + + $info = get_theme_info($f); + $compatible = check_plugin_versions($info); + if(!$compatible) { + $theme_choices[$f] = $theme_choices_mobile[$f] = sprintf(t('%s - (Incompatible)'), $f); + continue; + } + if (file_exists($file . '/library')) continue; if (file_exists($file . '/mobile')) @@ -310,4 +318,4 @@ class Site { )); } -}
\ No newline at end of file +} diff --git a/Zotlabs/Module/Admin/Themes.php b/Zotlabs/Module/Admin/Themes.php index 63a9a1670..8e72a1318 100644 --- a/Zotlabs/Module/Admin/Themes.php +++ b/Zotlabs/Module/Admin/Themes.php @@ -2,38 +2,41 @@ namespace Zotlabs\Module\Admin; +use \Michelf\MarkdownExtra; +/** + * @brief Admin area theme settings. + */ class Themes { + /** + * @brief + * + */ 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")){ + /// @FIXME add parent theme if derived + if (function_exists('theme_admin_post')){ theme_admin_post($a); } } info(t('Theme settings updated.')); - if(is_ajax()) + if(is_ajax()) return; - + goaway(z_root() . '/admin/themes/' . $theme ); } - - - /** * @brief Themes admin page. * - * @return string + * @return string with parsed HTML */ - function get(){ - $allowed_themes_str = get_config('system', 'allowed_themes'); $allowed_themes_raw = explode(',', $allowed_themes_str); $allowed_themes = array(); @@ -41,7 +44,7 @@ class Themes { foreach($allowed_themes_raw as $x) if(strlen(trim($x))) $allowed_themes[] = trim($x); - + $themes = array(); $files = glob('view/theme/*'); if($files) { @@ -53,56 +56,55 @@ class 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); + $readme = MarkdownExtra::defaultTransform($readme); } else if (is_file("view/theme/$theme/README")){ - $readme = "<pre>". file_get_contents("view/theme/$theme/README") ."</pre>"; + $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"); @@ -110,11 +112,11 @@ class Themes { $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'), @@ -122,7 +124,7 @@ class Themes { '$toggle' => t('Toggle'), '$settings' => t('Settings'), '$baseurl' => z_root(), - + '$plugin' => $theme, '$status' => $status, '$action' => $action, @@ -133,22 +135,22 @@ class Themes { '$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'), @@ -162,13 +164,14 @@ class Themes { '$form_security_token' => get_form_security_token('admin_themes'), )); } - /** - * @param array $themes - * @param string $th - * @param int $result + * @brief Toggle a theme. + * + * @param array &$themes + * @param[in] string $th + * @param[out] int &$result */ function toggle_theme(&$themes, $th, &$result) { for($x = 0; $x < count($themes); $x ++) { @@ -184,7 +187,7 @@ class Themes { } } } - + /** * @param array $themes * @param string $th @@ -203,8 +206,7 @@ class Themes { } return 0; } - - + /** * @param array $themes * @return string @@ -222,12 +224,5 @@ class Themes { } return $o; } - - - - - - - -}
\ No newline at end of file +} diff --git a/Zotlabs/Module/Appman.php b/Zotlabs/Module/Appman.php index 270301d34..70cc7e44b 100644 --- a/Zotlabs/Module/Appman.php +++ b/Zotlabs/Module/Appman.php @@ -36,8 +36,9 @@ class Appman extends \Zotlabs\Web\Controller { if(Zlib\Apps::app_installed(local_channel(),$arr)) info( t('App installed.') . EOL); - - return; + + goaway(z_root() . '/apps'); + return; //not reached } diff --git a/Zotlabs/Module/Apps.php b/Zotlabs/Module/Apps.php index 2df6d675f..261615997 100644 --- a/Zotlabs/Module/Apps.php +++ b/Zotlabs/Module/Apps.php @@ -41,9 +41,12 @@ class Apps extends \Zotlabs\Web\Controller { return replace_macros(get_markup_template('myapps.tpl'), array( '$sitename' => get_config('system','sitename'), - '$cat' => ((array_key_exists('cat',$_GET) && $_GET['cat']) ? ' - ' . escape_tags($_GET['cat']) : ''), + '$cat' => ((array_key_exists('cat',$_GET) && $_GET['cat']) ? escape_tags($_GET['cat']) : ''), '$title' => t('Apps'), '$apps' => $apps, + '$authed' => ((local_channel()) ? true : false), + '$manage' => t('Manage apps'), + '$create' => (($mode == 'edit') ? t('Create new app') : '') )); } diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index 45da92184..1bfecf2f6 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -41,12 +41,20 @@ class Channel extends \Zotlabs\Web\Controller { $profile = argv(1); } - \App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" title="' . t('Posts and comments') . '" href="' . z_root() . '/feed/' . $which . '" />' . "\r\n" ; - \App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" title="' . t('Only posts') . '" href="' . z_root() . '/feed/' . $which . '?top=1" />' . "\r\n" ; + head_add_link( [ + 'rel' => 'alternate', + 'type' => 'application/atom+xml', + 'title' => t('Posts and comments'), + 'href' => z_root() . '/feed/' . $which + ]); + + head_add_link( [ + 'rel' => 'alternate', + 'type' => 'application/atom+xml', + 'title' => t('Only posts'), + 'href' => z_root() . '/feed/' . $which . '?f=&top=1' + ]); - // Not yet ready for prime time - // \App::$page['htmlhead'] .= '<link rel="openid.server" href="' . z_root() . '/id/' . $which .'?f=" />' . "\r\n" ; - // \App::$page['htmlhead'] .= '<link rel="openid.delegate" href="' . z_root() . '/channel/' . $which .'" />' . "\r\n" ; // Run profile_load() here to make sure the theme is set before // we start loading content @@ -313,6 +321,7 @@ class Channel extends \Zotlabs\Web\Controller { '$static' => $static, '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), '$search' => '', + '$xchan' => '', '$order' => '', '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), '$file' => '', diff --git a/Zotlabs/Module/Chat.php b/Zotlabs/Module/Chat.php index 2c0e7a155..febfd51e5 100644 --- a/Zotlabs/Module/Chat.php +++ b/Zotlabs/Module/Chat.php @@ -33,9 +33,7 @@ class Chat extends \Zotlabs\Web\Controller { $which = $channel['channel_address']; $profile = argv(1); } - - \App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . z_root() . '/feed/' . $which .'" />' . "\r\n" ; - + // Run profile_load() here to make sure the theme is set before // we start loading content diff --git a/Zotlabs/Module/Cloud.php b/Zotlabs/Module/Cloud.php index 1fda8e32b..2b6d7bcbe 100644 --- a/Zotlabs/Module/Cloud.php +++ b/Zotlabs/Module/Cloud.php @@ -37,8 +37,6 @@ class Cloud extends \Zotlabs\Web\Controller { $profile = 0; - \App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . z_root() . '/feed/' . $which . '" />' . "\r\n"; - if ($which) profile_load( $which, $profile); @@ -59,8 +57,6 @@ class Cloud extends \Zotlabs\Web\Controller { $auth->observer = $ob_hash; } - if ($_GET['davguest']) - $_SESSION['davguest'] = true; $_SERVER['QUERY_STRING'] = str_replace(array('?f=', '&f='), array('', ''), $_SERVER['QUERY_STRING']); $_SERVER['QUERY_STRING'] = strip_zids($_SERVER['QUERY_STRING']); diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php index 950be660d..e8a92e8b7 100644 --- a/Zotlabs/Module/Connections.php +++ b/Zotlabs/Module/Connections.php @@ -269,7 +269,7 @@ class Connections extends \Zotlabs\Web\Controller { 'link' => z_root() . '/connedit/' . $rr['abook_id'], 'deletelink' => z_root() . '/connedit/' . intval($rr['abook_id']) . '/drop', 'delete' => t('Delete'), - 'url' => chanlink_url($rr['xchan_url']), + 'url' => chanlink_hash($rr['xchan_hash']), 'webbie_label' => t('Channel address'), 'webbie' => $rr['xchan_addr'], 'network_label' => t('Network'), diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php index 7a753c286..5b7c23028 100644 --- a/Zotlabs/Module/Connedit.php +++ b/Zotlabs/Module/Connedit.php @@ -441,6 +441,34 @@ class Connedit extends \Zotlabs\Web\Controller { goaway(z_root() . '/connedit/' . $contact_id); } + + if($cmd === 'fetchvc') { + $url = str_replace('/channel/','/profile/',$orig_record[0]['xchan_url']) . '/vcard'; + $recurse = 0; + $x = z_fetch_url(zid($url),false,$recurse,['session' => true]); + if($x['success']) { + $h = new \Zotlabs\Web\HTTPHeaders($x['header']); + $fields = $h->fetch(); + if($fields) { + foreach($fields as $y) { + if(array_key_exists('content-type',$y)) { + $type = explode(';',trim($y['content-type'])); + if($type && $type[0] === 'text/vcard' && $x['body']) { + $vc = \Sabre\VObject\Reader::read($x['body']); + $vcard = $vc->serialize(); + if($vcard) { + set_abconfig(local_channel(),$orig_record[0]['abook_xchan'],'system','vcard',$vcard); + $this->connedit_clone($a); + } + } + } + } + } + } + goaway(z_root() . '/connedit/' . $contact_id); + } + + if($cmd === 'resetphoto') { q("update xchan set xchan_photo_date = '2001-01-01 00:00:00' where xchan_hash = '%s'", dbesc($orig_record[0]['xchan_hash']) @@ -582,6 +610,13 @@ class Connedit extends \Zotlabs\Web\Controller { 'sel' => '', 'title' => t('Fetch updated permissions'), ), + + 'rephoto' => array( + 'label' => t('Refresh Photo'), + 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/resetphoto', + 'sel' => '', + 'title' => t('Fetch updated photo'), + ), 'recent' => array( 'label' => t('Recent Activity'), @@ -631,6 +666,17 @@ class Connedit extends \Zotlabs\Web\Controller { ); + + if($contact['xchan_network'] === 'zot') { + $tools['fetchvc'] = [ + 'label' => t('Fetch Vcard'), + 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/fetchvc', + 'sel' => '', + 'title' => t('Fetch electronic calling card for this connection') + ]; + } + + $sections = []; $sections['perms'] = [ diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index 638aa881a..815672091 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -1,12 +1,17 @@ <?php namespace Zotlabs\Module; +require_once("include/bbcode.php"); +require_once('include/security.php'); +require_once('include/conversation.php'); +require_once('include/acl_selectors.php'); +require_once('include/items.php'); class Display extends \Zotlabs\Web\Controller { function get($update = 0, $load = false) { - + $checkjs = new \Zotlabs\Web\CheckJS(1); if($load) @@ -18,15 +23,7 @@ class Display extends \Zotlabs\Web\Controller { return; } - require_once("include/bbcode.php"); - require_once('include/security.php'); - require_once('include/conversation.php'); - require_once('include/acl_selectors.php'); - require_once('include/items.php'); - - - \App::$page['htmlhead'] .= replace_macros(get_markup_template('display-head.tpl'), array()); - + if(argc() > 1 && argv(1) !== 'load') $item_hash = argv(1); @@ -40,6 +37,7 @@ class Display extends \Zotlabs\Web\Controller { } $observer_is_owner = false; + $updateable = false; if(local_channel() && (! $update)) { @@ -167,6 +165,7 @@ class Display extends \Zotlabs\Web\Controller { '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), '$search' => '', + '$xchan' => '', '$order' => '', '$file' => '', '$cats' => '', @@ -184,10 +183,9 @@ class Display extends \Zotlabs\Web\Controller { $item_normal = item_normal(); $sql_extra = public_permissions_sql($observer_hash); - + if(($update && $load) || ($checkjs->disabled())) { - $updateable = false; $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']),intval(\App::$pager['start'])); @@ -197,9 +195,9 @@ class Display extends \Zotlabs\Web\Controller { require_once('include/channel.php'); $sys = get_sys_channel(); $sysid = $sys['channel_id']; - + if(local_channel()) { - $r = q("SELECT * from item + $r = q("SELECT item.id as item_id from item WHERE uid = %d and mid = '%s' $item_normal @@ -213,6 +211,7 @@ class Display extends \Zotlabs\Web\Controller { } } + if($r === null) { // in case somebody turned off public access to sys channel content using permissions @@ -222,7 +221,7 @@ class Display extends \Zotlabs\Web\Controller { $sysid = 0; - $r = q("SELECT * from item + $r = q("SELECT item.id as item_id from item WHERE mid = '%s' AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' AND item.deny_gid = '' AND item_private = 0 ) @@ -245,11 +244,11 @@ class Display extends \Zotlabs\Web\Controller { require_once('include/channel.php'); $sys = get_sys_channel(); $sysid = $sys['channel_id']; - + if(local_channel()) { - $r = q("SELECT * from item + $r = q("SELECT item.parent AS item_id from item WHERE uid = %d - and mid = '%s' + and parent_mid = '%s' $item_normal $simple_update limit 1", @@ -260,14 +259,15 @@ class Display extends \Zotlabs\Web\Controller { $updateable = true; } } + if($r === null) { // in case somebody turned off public access to sys channel content using permissions // make that content unsearchable by ensuring the owner_xchan can't match if(! perm_is_allowed($sysid,$observer_hash,'view_stream')) $sysid = 0; - $r = q("SELECT * from item - WHERE mid = '%s' + $r = q("SELECT item.parent AS item_id from item + WHERE parent_mid = '%s' AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' AND item.deny_gid = '' AND item_private = 0 ) and owner_xchan in ( " . stream_perms_xchans(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " )) @@ -289,7 +289,7 @@ class Display extends \Zotlabs\Web\Controller { if($r) { - $parents_str = ids_to_querystr($r,'id'); + $parents_str = ids_to_querystr($r,'item_id'); if($parents_str) { $items = q("SELECT item.*, item.id AS item_id @@ -319,10 +319,10 @@ class Display extends \Zotlabs\Web\Controller { if($updateable) { $x = q("UPDATE item SET item_unseen = 0 where item_unseen = 1 AND uid = %d and parent = %d ", intval(local_channel()), - intval($r[0]['parent']) + intval($r[0]['item_id']) ); } - + $o .= '<div id="content-complete"></div>'; return $o; diff --git a/Zotlabs/Module/Hcard.php b/Zotlabs/Module/Hcard.php index 93c8d3ece..ec9181f6a 100644 --- a/Zotlabs/Module/Hcard.php +++ b/Zotlabs/Module/Hcard.php @@ -29,7 +29,20 @@ class Hcard extends \Zotlabs\Web\Controller { $profile = $r[0]['profile_guid']; } - \App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . z_root() . '/feed/' . $which .'" />' . "\r\n" ; + head_add_link( [ + 'rel' => 'alternate', + 'type' => 'application/atom+xml', + 'title' => t('Posts and comments'), + 'href' => z_root() . '/feed/' . $which + ]); + + head_add_link( [ + 'rel' => 'alternate', + 'type' => 'application/atom+xml', + 'title' => t('Only posts'), + 'href' => z_root() . '/feed/' . $which . '?f=&top=1' + ]); + if(! $profile) { $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 8263420b6..1c7c70019 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -118,8 +118,8 @@ class Network extends \Zotlabs\Web\Controller { $cmax = ((x($_GET,'cmax')) ? intval($_GET['cmax']) : 99); $firehose = ((x($_GET,'fh')) ? intval($_GET['fh']) : 0); $file = ((x($_GET,'file')) ? $_GET['file'] : ''); - - + $xchan = ((x($_GET,'xchan')) ? $_GET['xchan'] : ''); + $deftag = ''; if(x($_GET,'search') || x($_GET,'file')) @@ -257,6 +257,26 @@ class Network extends \Zotlabs\Web\Controller { goaway(z_root() . '/network'); } } + elseif($xchan) { + $r = q("select * from xchan where xchan_hash = '%s'", + dbesc($xchan) + ); + if($r) { + $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_channel()) . " AND ( author_xchan = '" . dbesc($xchan) . "' or owner_xchan = '" . dbesc($xchan) . "' ) $item_normal ) "; + $title = replace_macros(get_markup_template("section_title.tpl"),array( + '$title' => '<a href="' . zid($r[0]['xchan_url']) . '" ><img src="' . zid($r[0]['xchan_photo_s']) . '" alt="' . urlencode($r[0]['xchan_name']) . '" /></a> <a href="' . zid($r[0]['xchan_url']) . '" >' . $r[0]['xchan_name'] . '</a>' + )); + $o = $tabs; + $o .= $title; + $o .= $status_editor; + + } + else { + notice( t('Invalid channel.') . EOL); + goaway(z_root() . '/network'); + } + + } if(x($category)) { $sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY)); @@ -302,6 +322,7 @@ class Network extends \Zotlabs\Web\Controller { '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), '$search' => (($search) ? $search : ''), + '$xchan' => $xchan, '$order' => $order, '$file' => $file, '$cats' => $category, diff --git a/Zotlabs/Module/Profile.php b/Zotlabs/Module/Profile.php index 0bc23952b..fda88da52 100644 --- a/Zotlabs/Module/Profile.php +++ b/Zotlabs/Module/Profile.php @@ -37,8 +37,21 @@ class Profile extends \Zotlabs\Web\Controller { $profile = $r[0]['profile_guid']; } - \App::$page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . z_root() . '/feed/' . $which .'" />' . "\r\n" ; - + head_add_link( [ + 'rel' => 'alternate', + 'type' => 'application/atom+xml', + 'title' => t('Posts and comments'), + 'href' => z_root() . '/feed/' . $which + ]); + + head_add_link( [ + 'rel' => 'alternate', + 'type' => 'application/atom+xml', + 'title' => t('Only posts'), + 'href' => z_root() . '/feed/' . $which . '?f=&top=1' + ]); + + if(! $profile) { $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", dbesc(argv(1)) diff --git a/Zotlabs/Module/Profile_photo.php b/Zotlabs/Module/Profile_photo.php index 29a239f4d..438580917 100644 --- a/Zotlabs/Module/Profile_photo.php +++ b/Zotlabs/Module/Profile_photo.php @@ -183,6 +183,10 @@ class Profile_photo extends \Zotlabs\Web\Controller { photo_profile_setperms(local_channel(),$base_image['resource_id'],$_REQUEST['profile']); + $sync = attach_export_data($channel,$base_image['resource_id']); + if($sync) + build_sync_packet($channel['channel_id'],array('file' => array($sync))); + // Similarly, tell the nav bar to bypass the cache and update the avater image. $_SESSION['reload_avatar'] = true; @@ -341,6 +345,11 @@ class Profile_photo extends \Zotlabs\Web\Controller { photo_profile_setperms(local_channel(),$resource_id,$_REQUEST['profile']); + $sync = attach_export_data($channel,$resource_id); + if($sync) + build_sync_packet($channel['channel_id'],array('file' => array($sync))); + + \Zotlabs\Daemon\Master::Summon(array('Directory',local_channel())); goaway(z_root() . '/profiles'); } diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php index 32e888f14..f6e8b11ed 100644 --- a/Zotlabs/Module/Profiles.php +++ b/Zotlabs/Module/Profiles.php @@ -317,8 +317,10 @@ class Profiles extends \Zotlabs\Web\Controller { $hide_friends = ((intval($_POST['hide_friends'])) ? 1: 0); +// start fresh and create a new vcard. TODO: preserve the original guid or whatever else needs saving +// $orig_vcard = (($orig[0]['profile_vcard']) ? \Sabre\VObject\Reader::read($orig[0]['profile_vcard']) : null); - $orig_vcard = (($orig[0]['profile_vcard']) ? \Sabre\VObject\Reader::read($orig[0]['profile_vcard']) : null); + $orig_vcard = null; $channel = \App::get_channel(); @@ -330,13 +332,7 @@ class Profiles extends \Zotlabs\Web\Controller { 'photo' => $channel['xchan_photo_l'], 'adr' => [], 'adr_type' => [ $default_vcard_cat ], - 'tel' => [], - 'tel_type' => [ $default_vcard_cat ], - 'email' => [], - 'email_type' => [ $default_vcard_cat ], - 'impp' => [], - 'impp_type' => [ $default_vcard_cat ], - 'url' => [], + 'url' => [ $homepage ], 'url_type' => [ $default_vcard_cat ] ]; @@ -350,9 +346,12 @@ class Profiles extends \Zotlabs\Web\Controller { 6 => $country_name ]; - $profile_vcard = update_vcard($defcard,$orig_vcard); + $orig_vcard = \Sabre\VObject\Reader::read($profile_vcard); + + $profile_vcard = update_vcard($_REQUEST,$orig_vcard); + require_once('include/text.php'); linkify_tags($a, $likes, local_channel()); @@ -700,6 +699,10 @@ class Profiles extends \Zotlabs\Web\Controller { } //logger('extra_fields: ' . print_r($extra_fields,true)); + + $vc = $r[0]['profile_vcard']; + $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null); + $vcard = (($vctmp) ? get_vcard_array($vctmp,$r[0]['id']) : [] ); $f = get_config('system','birthday_input_format'); if(! $f) @@ -717,6 +720,7 @@ class Profiles extends \Zotlabs\Web\Controller { . get_form_security_token("profile_drop"), '$fields' => $fields, + '$vcard' => $vcard, '$guid' => $r[0]['profile_guid'], '$banner' => t('Edit Profile Details'), '$submit' => t('Submit'), @@ -776,11 +780,28 @@ class Profiles extends \Zotlabs\Web\Controller { '$film' => array('film', t('Film/Dance/Culture/Entertainment'), $r[0]['film']), '$interest' => array('interest', t('Hobbies/Interests'), $r[0]['interest']), '$romance' => array('romance',t('Love/Romance'), $r[0]['romance']), - '$work' => array('work', t('Work/Employment'), $r[0]['employment']), + '$employ' => array('work', t('Work/Employment'), $r[0]['employment']), '$education' => array('education', t('School/Education'), $r[0]['education']), '$contact' => array('contact', t('Contact information and social networks'), $r[0]['contact']), '$channels' => array('channels', t('My other channels'), $r[0]['channels']), '$extra_fields' => $extra_fields, + '$comms' => t('Communications'), + '$tel_label' => t('Phone'), + '$email_label' => t('Email'), + '$impp_label' => t('Instant messenger'), + '$url_label' => t('Website'), + '$adr_label' => t('Address'), + '$note_label' => t('Note'), + '$mobile' => t('Mobile'), + '$home' => t('Home'), + '$work' => t('Work'), + '$other' => t('Other'), + '$add_card' => t('Add Contact'), + '$add_field' => t('Add Field'), + '$create' => t('Create'), + '$update' => t('Update'), + '$delete' => t('Delete'), + '$cancel' => t('Cancel'), )); $arr = array('profile' => $r[0], 'entry' => $o); diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php index 6c4d479d4..46210abb1 100644 --- a/Zotlabs/Module/Pubstream.php +++ b/Zotlabs/Module/Pubstream.php @@ -57,6 +57,7 @@ class Pubstream extends \Zotlabs\Web\Controller { '$static' => $static, '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), '$search' => '', + '$xchan' => '', '$order' => 'comment', '$file' => '', '$cats' => '', diff --git a/Zotlabs/Module/Search.php b/Zotlabs/Module/Search.php index 89eaa4ffa..aacdc88e7 100644 --- a/Zotlabs/Module/Search.php +++ b/Zotlabs/Module/Search.php @@ -130,6 +130,7 @@ class Search extends \Zotlabs\Web\Controller { '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), '$search' => (($tag) ? urlencode('#') : '') . $search, + '$xchan' => '', '$order' => '', '$file' => '', '$cats' => '', diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index 5b9cfdaca..8eb3b2181 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -277,8 +277,8 @@ class Channel { 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? - + // Q: Why? Are we verifying people or email addresses? + // A: the policy is to verify email addresses } goaway(z_root() . '/settings' ); diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php index 67cecf1f5..eae44e82c 100644 --- a/Zotlabs/Module/Settings/Display.php +++ b/Zotlabs/Module/Settings/Display.php @@ -65,7 +65,7 @@ class Display { set_pconfig(local_channel(),'system','manual_conversation_update', $manual_update); $newschema = ''; - if($theme == $existing_theme){ + if($theme){ // call theme_post only if theme has not been changed if( ($themeconfigfile = $this->get_theme_config_file($theme)) != null){ require_once($themeconfigfile); @@ -130,12 +130,20 @@ class Display { if($allowed_themes) { foreach($allowed_themes as $th) { $f = $th; + + $info = get_theme_info($th); + $compatible = check_plugin_versions($info); + if(!$compatible) { + $mobile_themes[$f] = $themes[$f] = sprintf(t('%s - (Incompatible)'), $f); + continue; + } + $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"); - + $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) { @@ -147,7 +155,6 @@ class Display { } } } - } } diff --git a/Zotlabs/Module/Update_display.php b/Zotlabs/Module/Update_display.php index 13b04204d..b2c6a56f5 100644 --- a/Zotlabs/Module/Update_display.php +++ b/Zotlabs/Module/Update_display.php @@ -21,26 +21,10 @@ class Update_display extends \Zotlabs\Web\Controller { $mod = new Display(); $text = $mod->get($profile_uid, $load); - $pattern = "/<img([^>]*) src=\"([^\"]*)\"/"; - $replace = "<img\${1} dst=\"\${2}\""; - // $text = preg_replace($pattern, $replace, $text); - /* - if(! $load) { - $replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />'; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $text = preg_replace($pattern, $replace, $text); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $text = preg_replace($pattern, $replace, $text); - } - */ echo str_replace("\t",' ',$text); echo (($_GET['msie'] == 1) ? '</div>' : '</section>'); echo "</body></html>\r\n"; - // logger('update_display: ' . $text); + killme(); } diff --git a/Zotlabs/Module/Viewconnections.php b/Zotlabs/Module/Viewconnections.php index 4364d482a..1f9c03751 100644 --- a/Zotlabs/Module/Viewconnections.php +++ b/Zotlabs/Module/Viewconnections.php @@ -70,7 +70,7 @@ class Viewconnections extends \Zotlabs\Web\Controller { foreach($r as $rr) { - $url = chanlink_url($rr['xchan_url']); + $url = chanlink_hash($rr['xchan_hash']); if($url) { $contacts[] = array( 'id' => $rr['abook_id'], diff --git a/Zotlabs/Module/Viewsrc.php b/Zotlabs/Module/Viewsrc.php index fa755a3ec..cb305efc6 100644 --- a/Zotlabs/Module/Viewsrc.php +++ b/Zotlabs/Module/Viewsrc.php @@ -36,7 +36,9 @@ class Viewsrc extends \Zotlabs\Web\Controller { if($r) { if(intval($r[0]['item_obscured'])) $r[0]['body'] = crypto_unencapsulate(json_decode($r[0]['body'],true),get_config('system','prvkey')); - $o = (($json) ? json_encode($r[0]['body']) : str_replace("\n",'<br />',$r[0]['body'])); + + $content = escape_tags($r[0]['body']); + $o = (($json) ? json_encode($content) : str_replace("\n",'<br />',$content)); } } diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index d42c26681..5e7307c7b 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -3,6 +3,7 @@ namespace Zotlabs\Module; use \Zotlabs\Lib as Zlib; +use \Michelf\MarkdownExtra; require_once('include/acl_selectors.php'); require_once('include/conversation.php'); @@ -234,18 +235,15 @@ class Wiki extends \Zotlabs\Web\Controller { $mimeType = $p['mimeType']; - $rawContent = (($p['mimeType'] == 'text/bbcode') - ? htmlspecialchars_decode(json_decode($p['content']),ENT_COMPAT) - : htmlspecialchars_decode($p['content'],ENT_COMPAT) - ); + $rawContent = htmlspecialchars_decode(json_decode($p['content']),ENT_COMPAT); + $content = ($p['content'] !== '' ? $rawContent : '"# New page\n"'); // Render the Markdown-formatted page content in HTML if($mimeType == 'text/bbcode') { $renderedContent = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName); } else { - require_once('library/markdown.php'); - $html = Zlib\NativeWikiPage::generate_toc(zidify_text(purify_html(Markdown(Zlib\NativeWikiPage::bbcode(json_decode($content)))))); + $html = Zlib\NativeWikiPage::generate_toc(zidify_text(purify_html(MarkdownExtra::defaultTransform(Zlib\NativeWikiPage::bbcode($content))))); $renderedContent = Zlib\NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); } $showPageControls = $wiki_editor; @@ -296,7 +294,7 @@ class Wiki extends \Zotlabs\Web\Controller { )); if($p['mimeType'] != 'text/bbcode') - head_add_js('library/ace/ace.js'); // Ace Code Editor + head_add_js('/library/ace/ace.js'); // Ace Code Editor return $o; } @@ -314,11 +312,6 @@ class Wiki extends \Zotlabs\Web\Controller { return; } - if(! perm_is_allowed(\App::$profile_uid,get_observer_hash(),'write_wiki')) { - notice( t('Permission denied.') . EOL); - return; - } - // /wiki/channel/preview // Render mardown-formatted text in HTML for preview if((argc() > 2) && (argv(2) === 'preview')) { diff --git a/Zotlabs/Render/Theme.php b/Zotlabs/Render/Theme.php index 9f9009d72..3a0116abe 100644 --- a/Zotlabs/Render/Theme.php +++ b/Zotlabs/Render/Theme.php @@ -70,9 +70,15 @@ class Theme { $chosen_theme = $_GET['theme_preview']; // Allow theme selection of the form 'theme_name:schema_name' - $themepair = explode(':', $chosen_theme); + // Check if $chosen_theme is compatible with core. If not fall back to default + $info = get_theme_info($themepair[0]); + $compatible = check_plugin_versions($info); + if(!$compatible) { + $chosen_theme = ''; + } + if($chosen_theme && (file_exists('view/theme/' . $themepair[0] . '/css/style.css') || file_exists('view/theme/' . $themepair[0] . '/php/style.php'))) { return($themepair); } @@ -125,9 +131,9 @@ class Theme { $opts .= $schema_str; if(file_exists('view/theme/' . $t . '/php/style.php')) - return('view/theme/' . $t . '/php/style.pcss' . $opts); + return('/view/theme/' . $t . '/php/style.pcss' . $opts); - return('view/theme/' . $t . '/css/style.css'); + return('/view/theme/' . $t . '/css/style.css'); } function debug() { diff --git a/Zotlabs/Storage/Browser.php b/Zotlabs/Storage/Browser.php index a30eedba5..21e91d2a2 100644 --- a/Zotlabs/Storage/Browser.php +++ b/Zotlabs/Storage/Browser.php @@ -314,7 +314,16 @@ 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), '/'); + // strip 'cloud/nickname', but only at the beginning of the path + + $special = 'cloud/' . $this->auth->owner_nick; + $count = strlen($special); + + if(strpos($path,$special) === 0) + $path = trim(substr($path,$count),'/'); + + $info = t('Please use DAV to upload large (video, audio) files.<br>See <a class="zrl" href="help/member/member_guide#Cloud_Desktop_Clients">Cloud Desktop Clients</a>'); + $output .= replace_macros(get_markup_template('cloud_actionspanel.tpl'), array( '$folder_header' => t('Create new folder'), @@ -322,6 +331,7 @@ class Browser extends DAV\Browser\Plugin { '$upload_header' => t('Upload file'), '$upload_submit' => t('Upload'), '$quota' => $quota, + '$info' => $info, '$channick' => $this->auth->owner_nick, '$aclselect' => $aclselect, '$allow_cid' => acl2json($channel_acl['allow_cid']), diff --git a/Zotlabs/Storage/Directory.php b/Zotlabs/Storage/Directory.php index 5d078b04e..51540735c 100644 --- a/Zotlabs/Storage/Directory.php +++ b/Zotlabs/Storage/Directory.php @@ -687,7 +687,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota { $ret = array(); $r = q("SELECT channel_id, channel_address FROM channel WHERE channel_removed = 0 - AND channel_system = 0 AND NOT (channel_pageflags & %d)>0", + AND channel_system = 0 AND (channel_pageflags & %d) = 0", intval(PAGE_HIDDEN) ); diff --git a/Zotlabs/Web/HTTPHeaders.php b/Zotlabs/Web/HTTPHeaders.php new file mode 100644 index 000000000..1e4c1bf84 --- /dev/null +++ b/Zotlabs/Web/HTTPHeaders.php @@ -0,0 +1,46 @@ +<?php + +namespace Zotlabs\Web; + +class HTTPHeaders { + + private $in_progress = []; + private $parsed = []; + + + function __construct($headers) { + + $lines = explode("\n",str_replace("\r",'',$headers)); + if($lines) { + foreach($lines as $line) { + if(preg_match('/^\s+/',$line,$matches) && trim($line)) { + if($this->in_progress['k']) { + $this->in_progress['v'] .= ' ' . ltrim($line); + continue; + } + } + else { + if($this->in_progress['k']) { + $this->parsed[] = [ $this->in_progress['k'] => $this->in_progress['v'] ]; + $this->in_progress = []; + } + + $this->in_progress['k'] = strtolower(substr($line,0,strpos($line,':'))); + $this->in_progress['v'] = ltrim(substr($line,strpos($line,':') + 1)); + } + + } + if($this->in_progress['k']) { + $this->parsed[] = [ $this->in_progress['k'] => $this->in_progress['v'] ]; + $this->in_progress = []; + } + } + } + + function fetch() { + return $this->parsed; + } +} + + + diff --git a/Zotlabs/Web/Router.php b/Zotlabs/Web/Router.php index ba2e78b25..948f073d6 100644 --- a/Zotlabs/Web/Router.php +++ b/Zotlabs/Web/Router.php @@ -62,12 +62,6 @@ class Router { } } - if((strpos($module,'admin') === 0) && (! is_site_admin())) { - \App::$module_loaded = false; - notice( t('Permission denied.') . EOL); - goaway(z_root()); - } - /* * If the site has a custom module to over-ride the standard module, use it. * Otherwise, look for the standard program module diff --git a/Zotlabs/Zot/Finger.php b/Zotlabs/Zot/Finger.php index 7e0f5fb7c..9871b5bbd 100644 --- a/Zotlabs/Zot/Finger.php +++ b/Zotlabs/Zot/Finger.php @@ -123,9 +123,7 @@ class Finger { } else { logger('No signed token from ' . $url . $rhs, LOGGER_NORMAL, LOG_WARNING); - // after 2017-01-01 this will be a hard error unless you over-ride it. - if((time() > 1483228800) && (! get_config('system', 'allow_unsigned_zotfinger'))) - return $ret; + return $ret; } } @@ -50,7 +50,7 @@ require_once('include/hubloc.php'); define ( 'PLATFORM_NAME', 'hubzilla' ); -define ( 'STD_VERSION', '2.1' ); +define ( 'STD_VERSION', '2.3' ); define ( 'ZOT_REVISION', '1.2' ); define ( 'DB_UPDATE_VERSION', 1188 ); @@ -79,12 +79,11 @@ define ( 'DIRECTORY_MODE_STANDALONE', 0x0100); // A detached (off the grid) hub // point to go out and find the rest of the world. define ( 'DIRECTORY_REALM', 'RED_GLOBAL'); -define ( 'DIRECTORY_FALLBACK_MASTER', 'https://hub.pixelbits.de'); +define ( 'DIRECTORY_FALLBACK_MASTER', 'https://gravizot.de'); $DIRECTORY_FALLBACK_SERVERS = array( 'https://hubzilla.site', 'https://hubzilla.zottel.net', - 'https://hub.pixelbits.de', 'https://my.federated.social', 'https://hubzilla.nl', 'https://gravizot.de' @@ -1385,6 +1384,24 @@ function os_mkdir($path, $mode = 0777, $recursive = false) { return $result; } + +// recursively delete a directory +function rrmdir($path) { + if(is_dir($path) === true) { + $files = array_diff(scandir($path), array('.', '..')); + foreach($files as $file) { + rrmdir(realpath($path) . '/' . $file); + } + return rmdir($path); + } + elseif(is_file($path) === true) { + return unlink($path); + } + + return false; +} + + /** * @brief Function to check if request was an AJAX (xmlhttprequest) request. * @@ -2226,7 +2243,7 @@ function construct_page(&$a) { // Zotlabs\Render\Theme::debug(); if (($p = theme_include($current_theme[0] . '.js')) != '') - head_add_js($p); + head_add_js('/' . $p); if (($p = theme_include('mod_' . App::$module . '.php')) != '') require_once($p); @@ -2238,10 +2255,13 @@ function construct_page(&$a) { else head_add_css(((x(App::$page, 'template')) ? App::$page['template'] : 'default' ) . '.css'); - head_add_css('mod_' . App::$module . '.css'); + if (($p = theme_include('mod_' . App::$module . '.css')) != '') + head_add_css('mod_' . App::$module . '.css'); + head_add_css(Zotlabs\Render\Theme::url($installing)); - head_add_js('mod_' . App::$module . '.js'); + if (($p = theme_include('mod_' . App::$module . '.js')) != '') + head_add_js('mod_' . App::$module . '.js'); App::build_pagehead(); diff --git a/composer.json b/composer.json index abf583875..b59c81bba 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,9 @@ "ext-mbstring" : "*", "ext-xml" : "*", "ext-openssl" : "*", - "sabre/dav" : "~3.2" + "sabre/dav" : "~3.2", + "michelf/php-markdown" : "^1.7", + "pixel418/markdownify": "^2.2" }, "require-dev" : { "php" : ">=5.6", @@ -52,4 +54,4 @@ "config" : { "notify-on-install" : false } -}
\ No newline at end of file +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 000000000..06fb17410 --- /dev/null +++ b/composer.lock @@ -0,0 +1,3359 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "c0cafbf9fd702be588f6b392b9742cb6", + "packages": [ + { + "name": "michelf/php-markdown", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/michelf/php-markdown.git", + "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220", + "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-lib": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Michelf": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" + } + ], + "description": "PHP Markdown", + "homepage": "https://michelf.ca/projects/php-markdown/", + "keywords": [ + "markdown" + ], + "time": "2016-10-29T18:58:20+00:00" + }, + { + "name": "pixel418/markdownify", + "version": "v2.2.1", + "source": { + "type": "git", + "url": "https://github.com/Elephant418/Markdownify.git", + "reference": "0160677f04c784550dd10fd72fdf3994967db848" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Elephant418/Markdownify/zipball/0160677f04c784550dd10fd72fdf3994967db848", + "reference": "0160677f04c784550dd10fd72fdf3994967db848", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "type": "lib", + "autoload": { + "psr-4": { + "Markdownify\\": "src", + "Test\\Markdownify\\": "test" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Peter Kruithof", + "email": "pkruithof@gmail.com", + "homepage": "http://pkruithof.tumblr.com/" + }, + { + "name": "Milian Wolff", + "email": "mail@milianw.de", + "homepage": "http://milianw.de" + }, + { + "name": "Thomas Zilliox", + "email": "hello@tzi.fr", + "homepage": "http://tzi.fr" + } + ], + "description": "The HTML to Markdown converter for PHP ", + "homepage": "https://github.com/elephant418/Markdownify", + "keywords": [ + "markdown", + "markdownify" + ], + "time": "2016-09-21T13:01:43+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "sabre/dav", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/fruux/sabre-dav.git", + "reference": "5b9737cc2f0182e368d14c80df7f6b2d77dc1457" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruux/sabre-dav/zipball/5b9737cc2f0182e368d14c80df7f6b2d77dc1457", + "reference": "5b9737cc2f0182e368d14c80df7f6b2d77dc1457", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-date": "*", + "ext-dom": "*", + "ext-iconv": "*", + "ext-mbstring": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "lib-libxml": ">=2.7.0", + "php": ">=5.5.0", + "psr/log": "^1.0", + "sabre/event": ">=2.0.0, <4.0.0", + "sabre/http": "^4.2.1", + "sabre/uri": "^1.0.1", + "sabre/vobject": "^4.1.0", + "sabre/xml": "^1.4.0" + }, + "require-dev": { + "evert/phpdoc-md": "~0.1.0", + "monolog/monolog": "^1.18", + "phpunit/phpunit": "> 4.8, <=6.0.0", + "sabre/cs": "~0.0.5" + }, + "suggest": { + "ext-curl": "*", + "ext-pdo": "*" + }, + "bin": [ + "bin/sabredav", + "bin/naturalselection" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Sabre\\DAV\\": "lib/DAV/", + "Sabre\\DAVACL\\": "lib/DAVACL/", + "Sabre\\CalDAV\\": "lib/CalDAV/", + "Sabre\\CardDAV\\": "lib/CardDAV/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "WebDAV Framework for PHP", + "homepage": "http://sabre.io/", + "keywords": [ + "CalDAV", + "CardDAV", + "WebDAV", + "framework", + "iCalendar" + ], + "time": "2016-06-28T02:44:05+00:00" + }, + { + "name": "sabre/event", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/fruux/sabre-event.git", + "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruux/sabre-event/zipball/831d586f5a442dceacdcf5e9c4c36a4db99a3534", + "reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "*", + "sabre/cs": "~0.0.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Sabre\\Event\\": "lib/" + }, + "files": [ + "lib/coroutine.php", + "lib/Loop/functions.php", + "lib/Promise/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "sabre/event is a library for lightweight event-based programming", + "homepage": "http://sabre.io/event/", + "keywords": [ + "EventEmitter", + "async", + "events", + "hooks", + "plugin", + "promise", + "signal" + ], + "time": "2015-11-05T20:14:39+00:00" + }, + { + "name": "sabre/http", + "version": "4.2.1", + "source": { + "type": "git", + "url": "https://github.com/fruux/sabre-http.git", + "reference": "2e93bc8321524c67be4ca5b8415daebd4c8bf85e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruux/sabre-http/zipball/2e93bc8321524c67be4ca5b8415daebd4c8bf85e", + "reference": "2e93bc8321524c67be4ca5b8415daebd4c8bf85e", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.4", + "sabre/event": ">=1.0.0,<4.0.0", + "sabre/uri": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.3", + "sabre/cs": "~0.0.1" + }, + "suggest": { + "ext-curl": " to make http requests with the Client class" + }, + "type": "library", + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Sabre\\HTTP\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", + "homepage": "https://github.com/fruux/sabre-http", + "keywords": [ + "http" + ], + "time": "2016-01-06T23:00:08+00:00" + }, + { + "name": "sabre/uri", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/fruux/sabre-uri.git", + "reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruux/sabre-uri/zipball/9012116434d84ef6e5e37a89dfdbfbe2204a8704", + "reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704", + "shasum": "" + }, + "require": { + "php": ">=5.4.7" + }, + "require-dev": { + "phpunit/phpunit": "*", + "sabre/cs": "~0.0.1" + }, + "type": "library", + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Sabre\\Uri\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "Functions for making sense out of URIs.", + "homepage": "http://sabre.io/uri/", + "keywords": [ + "rfc3986", + "uri", + "url" + ], + "time": "2016-03-08T02:29:27+00:00" + }, + { + "name": "sabre/vobject", + "version": "4.1.1", + "source": { + "type": "git", + "url": "https://github.com/fruux/sabre-vobject.git", + "reference": "a3a59b06947f122af2d45d52b72172cdc1efd68f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruux/sabre-vobject/zipball/a3a59b06947f122af2d45d52b72172cdc1efd68f", + "reference": "a3a59b06947f122af2d45d52b72172cdc1efd68f", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.5", + "sabre/xml": "~1.1" + }, + "require-dev": { + "phpunit/phpunit": "*", + "sabre/cs": "~0.0.3" + }, + "suggest": { + "hoa/bench": "If you would like to run the benchmark scripts" + }, + "bin": [ + "bin/vobject", + "bin/generate_vcards" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Sabre\\VObject\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + }, + { + "name": "Dominik Tobschall", + "email": "dominik@fruux.com", + "homepage": "http://tobschall.de/", + "role": "Developer" + }, + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net", + "homepage": "http://mnt.io/", + "role": "Developer" + } + ], + "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects", + "homepage": "http://sabre.io/vobject/", + "keywords": [ + "availability", + "freebusy", + "iCalendar", + "ical", + "ics", + "jCal", + "jCard", + "recurrence", + "rfc2425", + "rfc2426", + "rfc2739", + "rfc4770", + "rfc5545", + "rfc5546", + "rfc6321", + "rfc6350", + "rfc6351", + "rfc6474", + "rfc6638", + "rfc6715", + "rfc6868", + "vCalendar", + "vCard", + "vcf", + "xCal", + "xCard" + ], + "time": "2016-07-15T19:52:17+00:00" + }, + { + "name": "sabre/xml", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/fruux/sabre-xml.git", + "reference": "59b20e5bbace9912607481634f97d05a776ffca7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruux/sabre-xml/zipball/59b20e5bbace9912607481634f97d05a776ffca7", + "reference": "59b20e5bbace9912607481634f97d05a776ffca7", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "lib-libxml": ">=2.6.20", + "php": ">=5.5.5", + "sabre/uri": ">=1.0,<3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "*", + "sabre/cs": "~1.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Sabre\\Xml\\": "lib/" + }, + "files": [ + "lib/Deserializer/functions.php", + "lib/Serializer/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + }, + { + "name": "Markus Staab", + "email": "markus.staab@redaxo.de", + "role": "Developer" + } + ], + "description": "sabre/xml is an XML library that you may not hate.", + "homepage": "https://sabre.io/xml/", + "keywords": [ + "XMLReader", + "XMLWriter", + "dom", + "xml" + ], + "time": "2016-10-09T22:57:52+00:00" + } + ], + "packages-dev": [ + { + "name": "behat/behat", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Behat.git", + "reference": "15a3a1857457eaa29cdf41564a5e421effb09526" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Behat/zipball/15a3a1857457eaa29cdf41564a5e421effb09526", + "reference": "15a3a1857457eaa29cdf41564a5e421effb09526", + "shasum": "" + }, + "require": { + "behat/gherkin": "^4.4.4", + "behat/transliterator": "~1.0", + "container-interop/container-interop": "^1.1", + "ext-mbstring": "*", + "php": ">=5.3.3", + "symfony/class-loader": "~2.1||~3.0", + "symfony/config": "~2.3||~3.0", + "symfony/console": "~2.5||~3.0", + "symfony/dependency-injection": "~2.1||~3.0", + "symfony/event-dispatcher": "~2.1||~3.0", + "symfony/translation": "~2.3||~3.0", + "symfony/yaml": "~2.1||~3.0" + }, + "require-dev": { + "herrera-io/box": "~1.6.1", + "phpunit/phpunit": "~4.5", + "symfony/process": "~2.5|~3.0" + }, + "suggest": { + "behat/mink-extension": "for integration with Mink testing framework", + "behat/symfony2-extension": "for integration with Symfony2 web framework", + "behat/yii-extension": "for integration with Yii web framework" + }, + "bin": [ + "bin/behat" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Behat": "src/", + "Behat\\Testwork": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Scenario-oriented BDD framework for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "Agile", + "BDD", + "ScenarioBDD", + "Scrum", + "StoryBDD", + "User story", + "business", + "development", + "documentation", + "examples", + "symfony", + "testing" + ], + "time": "2016-12-25T13:43:52+00:00" + }, + { + "name": "behat/gherkin", + "version": "v4.4.5", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "5c14cff4f955b17d20d088dec1bde61c0539ec74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/5c14cff4f955b17d20d088dec1bde61c0539ec74", + "reference": "5c14cff4f955b17d20d088dec1bde61c0539ec74", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3", + "symfony/yaml": "~2.3|~3" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.4-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "time": "2016-10-30T11:50:56+00:00" + }, + { + "name": "behat/mink", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/minkphp/Mink.git", + "reference": "e6930b9c74693dff7f4e58577e1b1743399f3ff9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/e6930b9c74693dff7f4e58577e1b1743399f3ff9", + "reference": "e6930b9c74693dff7f4e58577e1b1743399f3ff9", + "shasum": "" + }, + "require": { + "php": ">=5.3.1", + "symfony/css-selector": "~2.1|~3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" + }, + "suggest": { + "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", + "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", + "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", + "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Behat\\Mink\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Browser controller/emulator abstraction for PHP", + "homepage": "http://mink.behat.org/", + "keywords": [ + "browser", + "testing", + "web" + ], + "time": "2016-03-05T08:26:18+00:00" + }, + { + "name": "behat/mink-browserkit-driver", + "version": "v1.3.2", + "source": { + "type": "git", + "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", + "reference": "10e67fb4a295efcd62ea0bf16025a85ea19534fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/10e67fb4a295efcd62ea0bf16025a85ea19534fb", + "reference": "10e67fb4a295efcd62ea0bf16025a85ea19534fb", + "shasum": "" + }, + "require": { + "behat/mink": "^1.7.1@dev", + "php": ">=5.3.6", + "symfony/browser-kit": "~2.3|~3.0", + "symfony/dom-crawler": "~2.3|~3.0" + }, + "require-dev": { + "silex/silex": "~1.2", + "symfony/phpunit-bridge": "~2.7|~3.0" + }, + "type": "mink-driver", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Symfony2 BrowserKit driver for Mink framework", + "homepage": "http://mink.behat.org/", + "keywords": [ + "Mink", + "Symfony2", + "browser", + "testing" + ], + "time": "2016-03-05T08:59:47+00:00" + }, + { + "name": "behat/mink-extension", + "version": "v2.2", + "source": { + "type": "git", + "url": "https://github.com/Behat/MinkExtension.git", + "reference": "5b4bda64ff456104564317e212c823e45cad9d59" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/5b4bda64ff456104564317e212c823e45cad9d59", + "reference": "5b4bda64ff456104564317e212c823e45cad9d59", + "shasum": "" + }, + "require": { + "behat/behat": "~3.0,>=3.0.5", + "behat/mink": "~1.5", + "php": ">=5.3.2", + "symfony/config": "~2.2|~3.0" + }, + "require-dev": { + "behat/mink-goutte-driver": "~1.1", + "phpspec/phpspec": "~2.0" + }, + "type": "behat-extension", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\MinkExtension": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christophe Coevoet", + "email": "stof@notk.org" + }, + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com" + } + ], + "description": "Mink extension for Behat", + "homepage": "http://extensions.behat.org/mink", + "keywords": [ + "browser", + "gui", + "test", + "web" + ], + "time": "2016-02-15T07:55:18+00:00" + }, + { + "name": "behat/mink-goutte-driver", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/minkphp/MinkGoutteDriver.git", + "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", + "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", + "shasum": "" + }, + "require": { + "behat/mink": "~1.6@dev", + "behat/mink-browserkit-driver": "~1.2@dev", + "fabpot/goutte": "~1.0.4|~2.0|~3.1", + "php": ">=5.3.1" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" + }, + "type": "mink-driver", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Goutte driver for Mink framework", + "homepage": "http://mink.behat.org/", + "keywords": [ + "browser", + "goutte", + "headless", + "testing" + ], + "time": "2016-03-05T09:04:22+00:00" + }, + { + "name": "behat/transliterator", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Transliterator.git", + "reference": "868e05be3a9f25ba6424c2dd4849567f50715003" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Transliterator/zipball/868e05be3a9f25ba6424c2dd4849567f50715003", + "reference": "868e05be3a9f25ba6424c2dd4849567f50715003", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Transliterator": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Artistic-1.0" + ], + "description": "String transliterator", + "keywords": [ + "i18n", + "slug", + "transliterator" + ], + "time": "2015-09-28T16:26:35+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14T21:17:01+00:00" + }, + { + "name": "fabpot/goutte", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/Goutte.git", + "reference": "db5c28f4a010b4161d507d5304e28a7ebf211638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/db5c28f4a010b4161d507d5304e28a7ebf211638", + "reference": "db5c28f4a010b4161d507d5304e28a7ebf211638", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^6.0", + "php": ">=5.5.0", + "symfony/browser-kit": "~2.1|~3.0", + "symfony/css-selector": "~2.1|~3.0", + "symfony/dom-crawler": "~2.1|~3.0" + }, + "type": "application", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Goutte\\": "Goutte" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "A simple PHP Web Scraper", + "homepage": "https://github.com/FriendsOfPHP/Goutte", + "keywords": [ + "scraper" + ], + "time": "2017-01-03T13:21:43+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.2.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "ebf29dee597f02f09f4d5bbecc68230ea9b08f60" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ebf29dee597f02f09f4d5bbecc68230ea9b08f60", + "reference": "ebf29dee597f02f09f4d5bbecc68230ea9b08f60", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.3.1", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0", + "psr/log": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2016-10-08T15:01:37+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "04a6d1a00ea5da0727ee94309a9f0d3dbaecb569" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/04a6d1a00ea5da0727ee94309a9f0d3dbaecb569", + "reference": "04a6d1a00ea5da0727ee94309a9f0d3dbaecb569", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-02-21T01:20:32+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", + "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "doctrine/collections": "1.*", + "phpunit/phpunit": "~4.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "homepage": "https://github.com/myclabs/DeepCopy", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2017-01-26T22:05:40+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2015-12-27T11:43:31+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", + "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0@dev", + "phpdocumentor/type-resolver": "^0.2.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2016-09-30T07:12:33+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.2.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", + "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2016-11-25T06:54:22+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "v1.6.2", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "6c52c2722f8460122f96f86346600e1077ce22cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/6c52c2722f8460122f96f86346600e1077ce22cb", + "reference": "6c52c2722f8460122f96f86346600e1077ce22cb", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", + "sebastian/comparator": "^1.1", + "sebastian/recursion-context": "^1.0|^2.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.0", + "phpunit/phpunit": "^4.8 || ^5.6.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2016-11-21T14:58:47+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "ca060f645beeddebedb1885c97bf163e93264c35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca060f645beeddebedb1885c97bf163e93264c35", + "reference": "ca060f645beeddebedb1885c97bf163e93264c35", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "^1.4.2 || ^2.0", + "sebastian/code-unit-reverse-lookup": "~1.0", + "sebastian/environment": "^1.3.2 || ^2.0", + "sebastian/version": "~1.0|~2.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "^5.4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.4.0", + "ext-xmlwriter": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2017-02-23T07:38:02+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2016-10-03T07:40:28+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4|~5" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2016-05-12T18:03:57+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.10", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "284fb0679dd25fb5ffb56dad92c72860c0a22f1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/284fb0679dd25fb5ffb56dad92c72860c0a22f1b", + "reference": "284fb0679dd25fb5ffb56dad92c72860c0a22f1b", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2017-02-23T06:14:45+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "5.7.14", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "4906b8faf23e42612182fd212eb6f4c0f2954b57" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4906b8faf23e42612182fd212eb6f4c0f2954b57", + "reference": "4906b8faf23e42612182fd212eb6f4c0f2954b57", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "~1.3", + "php": "^5.6 || ^7.0", + "phpspec/prophecy": "^1.6.2", + "phpunit/php-code-coverage": "^4.0.4", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "^3.2", + "sebastian/comparator": "^1.2.4", + "sebastian/diff": "~1.2", + "sebastian/environment": "^1.3.4 || ^2.0", + "sebastian/exporter": "~2.0", + "sebastian/global-state": "^1.1", + "sebastian/object-enumerator": "~2.0", + "sebastian/resource-operations": "~1.0", + "sebastian/version": "~1.0.3|~2.0", + "symfony/yaml": "~2.1|~3.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.7.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2017-02-19T07:22:16+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "3.4.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", + "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.6 || ^7.0", + "phpunit/php-text-template": "^1.2", + "sebastian/exporter": "^1.2 || ^2.0" + }, + "conflict": { + "phpunit/phpunit": "<5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2016-12-08T20:27:08+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/c36f5e7cfce482fde5bf8d10d41a53591e0198fe", + "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "~5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2016-02-13T06:45:14+00:00" + }, + { + "name": "sebastian/comparator", + "version": "1.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2 || ~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2017-01-29T09:50:25+00:00" + }, + { + "name": "sebastian/diff", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2015-12-08T07:14:41+00:00" + }, + { + "name": "sebastian/environment", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-11-26T07:53:53+00:00" + }, + { + "name": "sebastian/exporter", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2016-11-19T08:54:04+00:00" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12T03:26:01+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-02-18T15:18:39+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2016-11-19T07:33:16+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "394a2475a3a89089353fde5714a7f402fbb83880" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/394a2475a3a89089353fde5714a7f402fbb83880", + "reference": "394a2475a3a89089353fde5714a7f402fbb83880", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/dom-crawler": "~2.8|~3.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "time": "2017-01-31T21:49:23+00:00" + }, + { + "name": "symfony/class-loader", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/class-loader.git", + "reference": "2847d56f518ad5721bf85aa9174b3aa3fd12aa03" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/class-loader/zipball/2847d56f518ad5721bf85aa9174b3aa3fd12aa03", + "reference": "2847d56f518ad5721bf85aa9174b3aa3fd12aa03", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "require-dev": { + "symfony/finder": "~2.8|~3.0", + "symfony/polyfill-apcu": "~1.1" + }, + "suggest": { + "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\ClassLoader\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony ClassLoader Component", + "homepage": "https://symfony.com", + "time": "2017-01-21T17:06:35+00:00" + }, + { + "name": "symfony/config", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "9f99453e77771e629af8a25eeb0a6c4ed1e19da2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/9f99453e77771e629af8a25eeb0a6c4ed1e19da2", + "reference": "9f99453e77771e629af8a25eeb0a6c4ed1e19da2", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/filesystem": "~2.8|~3.0" + }, + "require-dev": { + "symfony/yaml": "~3.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2017-02-14T16:27:43+00:00" + }, + { + "name": "symfony/console", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "0e5e6899f82230fcb1153bcaf0e106ffaa44b870" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/0e5e6899f82230fcb1153bcaf0e106ffaa44b870", + "reference": "0e5e6899f82230fcb1153bcaf0e106ffaa44b870", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/debug": "~2.8|~3.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/filesystem": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/filesystem": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2017-02-16T14:07:22+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "f0e628f04fc055c934b3211cfabdb1c59eefbfaa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f0e628f04fc055c934b3211cfabdb1c59eefbfaa", + "reference": "f0e628f04fc055c934b3211cfabdb1c59eefbfaa", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2017-01-02T20:32:22+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "9b98854cb45bc59d100b7d4cc4cf9e05f21026b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/9b98854cb45bc59d100b7d4cc4cf9e05f21026b9", + "reference": "9b98854cb45bc59d100b7d4cc4cf9e05f21026b9", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2017-02-16T16:34:18+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "130aa55b8ed7e6d0d75b0ed37256cec687a22f41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/130aa55b8ed7e6d0d75b0ed37256cec687a22f41", + "reference": "130aa55b8ed7e6d0d75b0ed37256cec687a22f41", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "symfony/yaml": "<3.2" + }, + "require-dev": { + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/yaml": "~3.2" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2017-02-16T22:46:52+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "b814b41373fc4e535aff8c765abe39545216f391" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b814b41373fc4e535aff8c765abe39545216f391", + "reference": "b814b41373fc4e535aff8c765abe39545216f391", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2017-01-21T17:14:11+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "9137eb3a3328e413212826d63eeeb0217836e2b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9137eb3a3328e413212826d63eeeb0217836e2b6", + "reference": "9137eb3a3328e413212826d63eeeb0217836e2b6", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2017-01-02T20:32:22+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "a0c6ef2dc78d33b58d91d3a49f49797a184d06f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/a0c6ef2dc78d33b58d91d3a49f49797a184d06f4", + "reference": "a0c6ef2dc78d33b58d91d3a49f49797a184d06f4", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2017-01-08T20:47:33+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/translation", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "d6825c6bb2f1da13f564678f9f236fe8242c0029" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/d6825c6bb2f1da13f564678f9f236fe8242c0029", + "reference": "d6825c6bb2f1da13f564678f9f236fe8242c0029", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2017-02-16T22:46:52+00:00" + }, + { + "name": "symfony/yaml", + "version": "v3.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "9724c684646fcb5387d579b4bfaa63ee0b0c64c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/9724c684646fcb5387d579b4bfaa63ee0b0c64c8", + "reference": "9724c684646fcb5387d579b4bfaa63ee0b0c64c8", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "require-dev": { + "symfony/console": "~2.8|~3.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2017-02-16T22:46:52+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2016-11-23T20:04:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "behat/behat": 0, + "behat/mink-extension": 0, + "behat/mink-goutte-driver": 0 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.5", + "ext-curl": "*", + "ext-gd": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-openssl": "*" + }, + "platform-dev": { + "php": ">=5.6" + } +} diff --git a/doc/Privacy.md b/doc/Privacy.md deleted file mode 100644 index 1ac019f5a..000000000 --- a/doc/Privacy.md +++ /dev/null @@ -1,77 +0,0 @@ -Privacy Policy -============== - - -##Summary## - - -Q: Who can see my content? - -A: By default ANYBODY on the internet, UNLESS you restrict it. $Projectname allows you to choose the privacy level you desire. Restricted content will NOT be visible to "spy networks" and advertisers. It will be protected against eavesdropping by outsiders - to the best of our ability. Hub administrators with sufficient skills and patience MAY be able to eavesdrop on some private communications but they must expend effort to do so. Privacy modes exist within $Projectname which are even resistant to eavesdropping by skilled and determined hub administrators. - -Q: Can my content be censored? - -A: $Projectname (the network) CANNOT censor your content. Server and hub administrators are subject to local laws and MAY remove objectionable content from their site/hub. Anybody MAY become a hub administrator, including you; and therefore publish content which might otherwise be censored. You still MAY be subject to local laws. - - -##Definitions - -**$Projectname** - -Otherwise referred to as "the network", $Projectname is a collection of individual computers/servers (aka **hubs**) which connect together to form a larger cooperative network. - -**hub** - -An individual computer or server connected to $Projectname. These are provided by a **hub administrator** and may be public or private, paid or free. - -**hub administrator** - -The system operator of an individual hub. - -##Policies - -**Public Information** - -Any information or anything posted by you within $Projectname MAY be public or visible to anybody on the internet. To the extent possible, $Projectname allows you to protect content and restrict who can view it. - -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 $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. $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. - -**Comments and Forum posts** - -Comments to posts that were created by others and posts which are designated as forum posts belong to you as the creator/author, but the distribution of these posts is not under your direct control, and you relinquish SOME rights to these items. These posts/comments MAY be re-distributed to others, and MAY be visible to anybody on the internet. In the case of comments, the creator of the "first message" in the thread (conversation) to which you are replying controls the distribution of all comments and replies to that message. They "own" and therefore have certain rights with regard to the entire conversation (including all comments contained within it). You can still edit or delete the comment, but the conversation owner also has rights to edit, delete, re-distribute, and backup/restore any or all the content from the conversation. - -**Private Information** - -$Projectname developers will ensure that any content you provide which is designated as PRIVATE will be protected against eavesdropping - to the best of their ability. Private channel content CAN be seen in the database of every involved hub administrator, but private messages are obscured in the database. The latter means that it is very difficult, but NOT impossible for this content to be seen by a hub administrator. Private channel content and private messages are also stripped from email notifications. End to end encryption is provided as an optional feature and this CANNOT be seen, even by a determined administrator. - -##Identity Privacy - -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 $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. - -*You can [disable publication](settings) of your channel in our channel directory. If you want people to find your channel, you should give your channel address directly to them. We think this is a good indication that you prefer extra privacy and automatically enable "Do Not Track" if this is the case. - -* You can have a blocked hub. That means that all channels and content on that hub is not public, and not visible to the outside world. This is something only your hub administrator can do. We also respect this and automatically enable "Do Not Track" if it is set. - -###Censorship - -$Projectname is a global network which is inclusive of all religions and cultures. This does not imply that every member of the network feels the same way you do on contentious issues, and some people may be STRONGLY opposed to the content you post. In general, if you wish to post something that you know may nor be universally acceptable, the best approach is to restrict the audience using privacy controls to a small circle of friends. - -$Projectname as a network provider is unable to censor content. However, hub administrators MAY censor any content which appears on their hub to comply with local laws or even personal judgement. Their decision is final. If you have issues with any hub administrator, you may move your account and postings to another site which is more in line with your expectations. Please check (periodically) the [Terms of Service](help/TermsOfService) of your hub to learn about any rules or guidelines. If your content consists of material which is illegal or may cause issues, you are STRONGLY encouraged to host your own (become a hub administrator). You may still find that your content is blocked on some hubs, but $Projectname as a network cannot block it from being posted. - -$Projectname RECOMMENDS that hub administrators provide a grace period of 1-2 days between warning an account holder of content that needs to be removed and physically removing or disabling the account. This will give the content owner an opportunity to export their channel meta-data and import it to another site. In rare cases the content may be of such a nature to justify the immediate termination of the account. This is a hub decision, not a $Projectname decision. - -If you typically and regularly post content of an adult or offensive nature, you are STRONGLY encouraged to mark your account "NSFW" (Not Safe For Work). This will prevent the display of your profile photo in the directory except to viewers that have chosen to disable "safe mode". If your profile photo is found by directory administrators to be adult or offensive, the directory administrator MAY flag your profile photo as NSFW. There is currently no official mechanism to contest or reverse this decision, which is why you SHOULD mark your own account NSFW if it is likely to be inappropriate for general audiences. - -#include doc/macros/main_footer.bb; diff --git a/doc/Widgets.md b/doc/Widgets.md index 8442bf687..4ad899a0f 100644 --- a/doc/Widgets.md +++ b/doc/Widgets.md @@ -117,6 +117,7 @@ Some/many of these widgets have restrictions which may restrict the type of page * forums - provide a list of connected public forums with unseen counts for the current logged-in channel. <br /> <br /> +* activity - provide a list of authors of unread network content for the current logged-in channel. * album - provides a widget containing a complete photo album from albums belonging to the page owner; this may be too large to present in a sidebar region as is best implemented as a content region widget. * args: diff --git a/doc/about.bb b/doc/about.bb deleted file mode 100644 index 1ec1cf28e..000000000 --- a/doc/about.bb +++ /dev/null @@ -1,24 +0,0 @@ -[b]About[/b]
-
-$Projectname is a decentralized communication network, which aims to provide communication that is censorship-resistant, privacy-respecting, and thus free from the oppressive claws of contemporary corporate communication giants. These giants function primarily as spy networks for paying clients of all sorts and types, in addition to monopolizing and centralizing the Internet; a feature that was not part of the original and revolutionary goals that produced the World Wide Web.
-
-$Projectname is free and open source. It is designed to scale from a $35 Raspberry Pi, to top of the line AMD and Intel Xeon-powered multi-core enterprise servers. It can be used to support communication between a few individuals, or scale to many thousands and more.
-
-$Projectname aims to be skill and resource agnostic. It is easy to use by everyday computer users, as well as by systems administrators and developers.
-
-How you use it depends on how you want to use it.
-
-It is written in the PHP scripting language, thus making it trivial to install on any hosting platform in use today. This includes self-hosting at home, at hosting providers such as [url=http://mediatemple.com/]Media Temple[/url] and [url=http://www.dreamhost.com/]Dreamhost[/url], or on virtual and dedicated servers, offered by the likes of [url=https://www.linode.com]Linode[/url], [url=http://greenqloud.com]GreenQloud[/url] or [url=https://aws.amazon.com]Amazon AWS[/url].
-
-In other words, $Projectname can run on any computing platform that comes with a web server, a MySQL-compatible database, and the PHP scripting language.
-
-Along the way, $Projectname offers a number of unique goodies:
-
-[b]Single-click user identification:[/b] meaning you can access sites on $Projectname 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.
-
-[b]Cloning:[/b] of online identities. Your online presence no longer has to be tied to a single server, domain name or IP address. You can clone and import your identity (or channel as we call it) to another server (or, a hub as servers are known in $Projectname). Now, should your primary hub go down, no worries, your contacts, posts[i]*[/i], and messages[i]*[/i] will automagically continue to be available and accessible under your cloned channel. [i](*: only posts and messages as from the moment you cloned your channel)[/i]
-
-[b]Privacy:[/b] $Projectname identities (Zot IDs) can be deleted, backed up/downloaded, and cloned. The user is in full control of their data. Should you decide to delete all your content and erase your Zot ID, all you have to do is click on a link and it's immediately deleted from the hub. No questions, no fuss.
-
-#include doc/macros/main_footer.bb;
-
diff --git a/doc/account_basics.bb b/doc/account_basics.bb deleted file mode 100644 index 664949d6e..000000000 --- a/doc/account_basics.bb +++ /dev/null @@ -1,38 +0,0 @@ -[b]Account Basics[/b]
-
-[b]Registration[/b]
-
-Not all $Projectname sites allow open registration. If registration is allowed, you will see a "Register" link immediately below the login prompts on the site home page. Following this link will take you to the site Registration page. On some sites it may redirect you to another site which allow registrations. As all $Projectname sites are linked, it does not matter where your account resides.
-
-[b]Your Email Address[/b]
-
-Please provide a valid email address. Your email address is never published. This address will be used to (optionally) send email notifications for incoming messages or items, and used to recover lost passwords.
-
-[b]Password[/b]
-
-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]
-
-Click the link to read the site's terms of service. Once you've read them, tick the box in the register form to confirm.
-
-[b]Register[/b]
-
-Once you have provided the necessary details, click the 'Register' button. Some sites may require administrator approval before the registration is processed, and you will be alerted if this is the case. Please watch your email (including spam folders) for your registration approval.
-
-[b]Create a Channel[/b]
-
-Next, you will be presented with the "Add a channel" screen. Normally, your first channel will be one that represents you - so using your own name (or psuedonym) as the channel name is a good idea. The channel name should be thought of as a title, or brief description of your channel. The "choose a short nickname" box is similar to a "username" field. We will use whatever you enter here to create a channel address, which other people will use to connect to you, and you will use to log in to other sites. This looks like an email address, and takes the form nickname@siteyouregisteredat.xyz*
-
-When your channel is created you will be taken straight to your settings page where you can define permissions, enable features, etc. All these things are covered in the appropriate section of the helpfiles.
-
-*Note: It is not possible to change this address after creating the channel.
-
-See Also
-
-[zrl=[baseurl]/help/permissions]Permissions[/zrl]
-[zrl=[baseurl]/help/privacy]Privacy[/zrl]
-[zrl=[baseurl]/help/profiles]Profiles[/zrl]
-[zrl=[baseurl]/help/remove_account]Remove Account[/zrl]
-
-#include doc/macros/main_footer.bb;
diff --git a/doc/accounts.bb b/doc/accounts.bb deleted file mode 100644 index 7c0378504..000000000 --- a/doc/accounts.bb +++ /dev/null @@ -1,4 +0,0 @@ -This one still needs to be written. - -#include doc/macros/main_footer.bb; - diff --git a/doc/admin/administrator_guide.md b/doc/admin/administrator_guide.md index f21c55327..c233d8564 100644 --- a/doc/admin/administrator_guide.md +++ b/doc/admin/administrator_guide.md @@ -196,6 +196,70 @@ The installation script was originally designed for a small hardware server behi 1. `service apache2 reload` 1. Open your domain with a browser and step throught the initial configuration of $Projectname. +### Server Roles + +$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. + + +#### Basic + +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. + +#### Standard + + +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. + +#### Pro + +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 +**no federation with other networks**. Additional features **may** 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. + +### Techlevels + +Techlevels is a unique feature of Hubzilla 'pro'. It is not available in other server_roles, although it expands on the concepts introduced in $Projectname 'basic'. + +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. + + ### Service Classes Service classes allow you to set limits on system resources by limiting what individual diff --git a/doc/contributor/covenant.html b/doc/contributor/covenant.html deleted file mode 100644 index 4facac24e..000000000 --- a/doc/contributor/covenant.html +++ /dev/null @@ -1,106 +0,0 @@ -<!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@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/database.bb b/doc/database.bb index 02a70e2c7..160ec505e 100644 --- a/doc/database.bb +++ b/doc/database.bb @@ -1,6 +1,4 @@ -[h2]Database Tables[/h2] -[table] -[tr][th]Table[/th][th]Description[/th][/tr] +[h2]Database Tables[/h2][table border=1][tr][th]Table[/th][th]Description[/th][/tr] [tr][td][zrl=[baseurl]/help/database/db_abconfig]abconfig[/zrl][/td][td]arbitrary storage for connections of local channels[/td][/tr] [tr][td][zrl=[baseurl]/help/database/db_abook]abook[/zrl][/td][td]connections of local channels[/td][/tr] [tr][td][zrl=[baseurl]/help/database/db_account]account[/zrl][/td][td]service provider account[/td][/tr] diff --git a/doc/developer/api_zot.bb b/doc/developer/api_zot.bb index f33faed17..1314f90b5 100644 --- a/doc/developer/api_zot.bb +++ b/doc/developer/api_zot.bb @@ -286,7 +286,7 @@ list photo metadata [h3]group[/h3] -`GET /api/z/1.0/group` +[code]GET /api/z/1.0/group[/code] Description: list privacy groups @@ -326,7 +326,7 @@ To use with API group_members, provide either 'group_id' from the id element ret [h3]group_members[/h3] -`GET /api/z/1.0/group_members` +[code]GET /api/z/1.0/group_members[/code] Required: @@ -462,7 +462,7 @@ group_member+abook+xchan (DB join) for each member of the privacy group An xchan is a global location independent channel and is the primary record for a network identity. It may refer to channels on other websites, networks, or services. -`GET /api/z/1.0/xchan` +[code]GET /api/z/1.0/xchan[/code] Required: one of [ address, hash, guid ] as GET parameters @@ -506,7 +506,7 @@ Returns: Create or update an item (post, activity, webpage, etc.) -Usage: `POST /api/z/1.0/item/update` +Usage: [code]POST /api/z/1.0/item/update[/code] Description: item/update posts an item (typically a conversation item or post, but can be any item) using form input. diff --git a/doc/developer/covenant.bb b/doc/developer/covenant.bb new file mode 100644 index 000000000..431cc74e9 --- /dev/null +++ b/doc/developer/covenant.bb @@ -0,0 +1,47 @@ +[size=large]Contributor Covenant Code of Conduct[/size] + +[h3]Our Pledge[/h3] + +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. + +[h3]Our Standards[/h3] + +Examples of behavior that contributes to creating a positive environment +include: + +[list] + [*]Using welcoming and inclusive language + [*]Being respectful of differing viewpoints and experiences + [*]Gracefully accepting constructive criticism + [*]Focusing on what is best for the community + [*]Showing empathy towards other community members +[/list] + +Examples of unacceptable behavior by participants include: + +[list] + [*]The use of sexualized language or imagery and unwelcome sexual attention or advances + [*]Trolling, insulting/derogatory comments, and personal or political attacks + [*]Public or private harassment + [*]Publishing others' private information, such as a physical or electronic address, without explicit permission + [*]Other conduct which could reasonably be considered inappropriate in a professional setting +[/list] + +[h3]Our Responsibilities[/h3] + +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. 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. + +[h3]Scope[/h3] + +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. + +[h3]Enforcement[/h3] + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at project@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. + +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. + +[h3]Attribution[/h3] + +This Code of Conduct is adapted from the [url=http://contributor-covenant.org]Contributor Covenant[/url], version 1.4, available at [url=http://contributor-covenant.org/version/1/4/]http://contributor-covenant.org/version/1/4[/url]. + diff --git a/doc/developer/developer_guide.bb b/doc/developer/developer_guide.bb new file mode 100644 index 000000000..f8ba0c1d8 --- /dev/null +++ b/doc/developer/developer_guide.bb @@ -0,0 +1,178 @@ +[h3]Who is a $Projectname developer? Should I read this?[/h3] + +Anyone who contributes to making $Projectname better is a developer. There are many different and important ways you can contribute to this amazing technology, [i]even if you do not know how to write code[/i]. The software itself is only a part of the $Projectname project. You can contribute by +[list] +[*] translating text to your language so that people around the world have the opportunity to use $Projectname +[*] promoting $Projectname and spreading awareness of the platform through blog posts, articles, and word-of-mouth +[*] creating artwork and graphics for project assets such as icons and marketing material +[*] supporting project infrastructure like the project website and demo servers +[/list] +[i]Software[/i] developers are of course welcomed; there are so many great ideas to implement and not enough people to make them all a reality! The $Projectname code base is an advanced and mature system, but the platform is still very flexible and responsive to new ideas. + +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/developer/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. + +This document will help you get started learning and contributing to $Projectname. + +[h3]Versions and Releases[/h3] + +$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. + +[h3]Git repository branches[/h3] + +There are two official branches of the $Projectname git repo. +[list] +[*] The stable version is maintained on the [b]master[/b] branch. The latest commit in this branch is considered to be suitable for production hubs. +[*] Experimental development occurs on the [b]dev[/b] branch, which is merged into [b]master[/b] when it is deemed tested and stable enough. +[/list] + +[h3]Developer tools and workflows[/h3] + +[h4]Hub Snapshots[/h4] + +The [url=[baseurl]/help/admin/hub_snapshots]hub snapshots[/url] page provides instructions and scripts for taking complete snapshots of a hub to support switching between consistent and completely known states. This is useful to prevent situations where the content or database schema might be incompatible with the code. + +[h3]Translations[/h3] + +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/Friendica/red-matrix/]Transifex[/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. + +[h4]Translation Process[/h4] + +The strings used in the UI of $Projectname is translated at [url=https://www.transifex.com/Friendica/red-matrix/]Transifex[/url] and then +included in the git repository at github. If you want to help with translation +for any language, be it correcting terms or translating $Projectname to a +currently not supported language, please register an account at transifex.com +and contact the Redmatrix translation team there. + +Translating $Projectname is simple. Just use the online tool at transifex. If you +don't want to deal with git & co. that is fine, we check the status of the[/td][/tr] +[tr]ranslations regularly and import them into the source tree at github so that +others can use them. + +We do not include every translation from transifex in the source tree to avoid +a scattered and disturbed overall experience. As an uneducated guess we have a +lower limit of 50% translated strings before we include the language. This +limit is judging only by the amount of translated strings under the assumption[/td][/tr] +[tr]hat the most prominent strings for the UI will be translated first by a[/td][/tr] +[tr]ranslation team. If you feel your translation useable before this limit, +please contact us and we will probably include your teams work in the source[/td][/tr] +[tr]ree. + +If you want to get your work into the source tree yourself, feel free to do so +and contact us with and question that arises. The process is simple and +$Projectname ships with all the tools necessary. + +The location of the translated files in the source tree is + /view/LNG-CODE/ +where LNG-CODE is the language code used, e.g. de for German or fr for French. +For the email templates (the *.tpl files) just place them into the directory +and you are done. The translated strings come as a "hmessages.po" file from[/td][/tr] +[tr]ransifex which needs to be translated into the PHP file $Projectname uses. To do +so, place the file in the directory mentioned above and use the "po2php" +utility from the util directory of your $Projectname installation. + +Assuming you want to convert the German localization which is placed in +view/de/hmessages.po you would do the following. + +1. Navigate at the command prompt to the base directory of your + $Projectname installation + +2. Execute the po2php script, which will place the translation + in the hstrings.php file that is used by $Projectname. + + $> php util/po2php.php view/de/hmessages.po + + The output of the script will be placed at view/de/hstrings.php where + froemdoca os expecting it, so you can test your translation mmediately. + +3. Visit your $Projectname page to check if it still works in the language you + just translated. If not try to find the error, most likely PHP will give + you a hint in the log/warnings.about the error. + + For debugging you can also try to "run" the file with PHP. This should + not give any output if the file is ok but might give a hint for + searching the bug in the file. + + $> php view/de/hstrings.php + +4. commit the two files with a meaningful commit message to your git + repository, push it to your fork of the $Projectname repository at github and + issue a pull request for that commit. + +[h4]Utilities[/h4] + +Additional to the po2php script there are some more utilities for translation +in the "util" directory of the $Projectname source tree. If you only want to[/td][/tr] +[tr]ranslate $Projectname into another language you wont need any of these tools most +likely but it gives you an idea how the translation process of $Projectname +works. + +For further information see the utils/README file. + +[h4]Known Problems[/h4] + +* $Projectname uses the language setting of the visitors browser to determain the + language for the UI. Most of the time this works, but there are some known + quirks. +* the early translations are based on the friendica translations, if you + some rough translations please let us know or fix them at Transifex. + +[h3]Licensing[/h3] + +All code contributed to the project falls under the MIT license, unless otherwise specified. We will accept third-party code which falls under MIT, BSD and LGPL, but copyleft licensing (GPL, and AGPL) is only permitted in addons. It must be possible to completely remove the GPL (copyleft) code from the main project without breaking anything. + +[h3]Coding Style[/h3] + +In the interests of consistency we adopt the following code styling. We may accept patches using other styles, but where possible please try to provide a consistent code style. We aren't going to argue or debate the merits of this style, and it is irrelevant what project 'xyz' uses. This is not project 'xyz'. This is a baseline to try and keep the code readable now and in the future. +[list] +[*]All comments should be in English. +[*]We use doxygen to generate documentation. This hasn't been consistently applied, but learning it and using it are highly encouraged. +[*]Indentation is accomplished primarily with tabs using a tab-width of 4. +[*]String concatenation and operators should be separated by whitespace. e.g. "$foo = $bar . 'abc';" instead of "$foo=$bar.'abc';" +[*]Generally speaking, we use single quotes for string variables and double quotes for SQL statements. "Here documents" should be avoided. Sometimes using double quoted strings with variable replacement is the most efficient means of creating the string. In most cases, you should be using single quotes. +[*]Use whitespace liberally to enhance readability. When creating arrays with many elements, we will often set one key/value pair per line, indented from the parent line appropriately. Lining up the assignment operators takes a bit more work, but also increases readability. +[*]Generally speaking, opening braces go on the same line as the thing which opens the brace. They are the last character on the line. Closing braces are on a line by themselves. +[*]Some functions take arguments in argc/argv style like main() in C or function args in bash or Perl. Urls are broken up within a module. e.g, given "http://example.com/module/arg1/arg2", then $this->argc will be 3 (integer) and $this->argv will contain: [0] => 'module', [1] => 'arg1', [2] => 'arg2'. There will always be one argument. If provided a naked domain URL, $this->argv[0] is set to "home". +[/list] + +[h3]File system layout[/h3] +[table border=0] +[th]Directory[/th][th]Description[/th][/tr] +[tr][td]addon[/td][td]optional addons/plugins[/td][/tr] +[tr][td]boot.php[/td][td]Every process uses this to bootstrap the application structure[/td][/tr] +[tr][td]doc[/td][td]Help Files[/td][/tr] +[tr][td]images[/td][td]core required images[/td][/tr] +[tr][td]include[/td][td]The "model" in MVC - (back-end functions), also contains PHP "executables" for background processing[/td][/tr] +[tr][td]index.php[/td][td]The front-end controller for web access[/td][/tr] +[tr][td]install[/td][td]Installation and upgrade files and DB schema[/td][/tr] +[tr][td]library[/td][td]Third party modules (must be license compatible)[/td][/tr] +[tr][td]mod[/td][td]Controller modules based on URL pathname (e.g. [url=http://sitename/foo]http://sitename/foo[/url] loads mod/foo.php)[/td][/tr] +[tr][td]mod/site/[/td][td]site-specific mod overrides, excluded from git[/td][/tr] +[tr][td]util[/td][td]translation tools, main English string database and other miscellaneous utilities[/td][/tr] +[tr][td]version.inc[/td][td]contains current version (auto-updated via cron for the master repository and distributed via git)[/td][/tr] +[tr][td]view[/td][td]theming and language files[/td][/tr] +[tr][td]view/(css,js,img,php,tpl)[/td][td]default theme files[/td][/tr] +[tr][td]view/(en,it,es ...)[/td][td]language strings and resources[/td][/tr] +[tr][td]view/theme/[/td][td]individual named themes containing (css,js,img,php,tpl) over-rides[/td][/tr] +[/table] + +[b][url=[baseurl]/help/developer/unorganized]More information needing re-organization and updating...[/url][/b] diff --git a/doc/developer/developer_guide.md b/doc/developer/developer_guide.md deleted file mode 100644 index fa50de8a1..000000000 --- a/doc/developer/developer_guide.md +++ /dev/null @@ -1,422 +0,0 @@ -### Who is a Hubzilla developer? Should I read this? - -Anyone who contributes to making Hubzilla better is a developer. There are many different and important ways you can contribute to this amazing technology, _even if you do not know how to write code_. The software itself is only a part of the Hubzilla project. You can contribute by - -* translating text to your language so that people around the world have the opportunity to use Hubzilla -* promoting Hubzilla and spreading awareness of the platform through blog posts, articles, and word-of-mouth -* creating artwork and graphics for project assets such as icons and marketing material -* supporting project infrastructure like the project website and demo servers - -_Software_ developers are of course welcomed; there are so many great ideas to implement and not enough people to make them all a reality! The Hubzilla code base is an advanced and mature system, but the platform is still very flexible and responsive to new ideas. - -This document will help you get started learning and contributing to Hubzilla. - -### Versioning system - -The versioning system is similar to the popular semantic versioning but less stringent. Given x.y.z, x changes yearly. y changes for "stable" monthly builds, and z increments when there are interface changes. We maintain our date and build numbers for medium grain version control (commits within a certain date range) and of course git revs for fine grained control. - -### Git repository branches - -There are two official branches of the Hubzilla git repo. - -* The stable version is maintained on the **master** branch. The latest commit in this branch is considered to be suitable for production hubs. -* Experimental development occurs on the **dev** branch, which is merged into **master** when it is deemed tested and stable enough. - -### Developer tools and workflows - -#### Hub Snapshots - -The [hub snapshots](/help/admin/hub_snapshots) page provides instructions and scripts for taking complete -snapshots of a hub to support switching between consistent and completely known -states. This is useful to prevent situations where the content or database schema -might be incompatible with the code. - -### Translations - -Our translations are managed through Transifex. If you wish to help out translating Hubzilla 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. - -#### Translation Process - -The strings used in the UI of Hubzilla is translated at [Transifex][1] and then -included in the git repository at github. If you want to help with translation -for any language, be it correcting terms or translating Hubzilla to a -currently not supported language, please register an account at transifex.com -and contact the Redmatrix translation team there. - -Translating Hubzilla is simple. Just use the online tool at transifex. If you -don't want to deal with git & co. that is fine, we check the status of the -translations regularly and import them into the source tree at github so that -others can use them. - -We do not include every translation from transifex in the source tree to avoid -a scattered and disturbed overall experience. As an uneducated guess we have a -lower limit of 50% translated strings before we include the language. This -limit is judging only by the amount of translated strings under the assumption -that the most prominent strings for the UI will be translated first by a -translation team. If you feel your translation useable before this limit, -please contact us and we will probably include your teams work in the source -tree. - -If you want to get your work into the source tree yourself, feel free to do so -and contact us with and question that arises. The process is simple and -Hubzilla ships with all the tools necessary. - -The location of the translated files in the source tree is - /view/LNG-CODE/ -where LNG-CODE is the language code used, e.g. de for German or fr for French. -For the email templates (the *.tpl files) just place them into the directory -and you are done. The translated strings come as a "hmessages.po" file from -transifex which needs to be translated into the PHP file Hubzilla uses. To do -so, place the file in the directory mentioned above and use the "po2php" -utility from the util directory of your Hubzilla installation. - -Assuming you want to convert the German localization which is placed in -view/de/hmessages.po you would do the following. - -1. Navigate at the command prompt to the base directory of your - Hubzilla installation - -2. Execute the po2php script, which will place the translation - in the hstrings.php file that is used by Hubzilla. - - $> php util/po2php.php view/de/hmessages.po - - The output of the script will be placed at view/de/hstrings.php where - froemdoca os expecting it, so you can test your translation mmediately. - -3. Visit your Hubzilla page to check if it still works in the language you - just translated. If not try to find the error, most likely PHP will give - you a hint in the log/warnings.about the error. - - For debugging you can also try to "run" the file with PHP. This should - not give any output if the file is ok but might give a hint for - searching the bug in the file. - - $> php view/de/hstrings.php - -4. commit the two files with a meaningful commit message to your git - repository, push it to your fork of the Hubzilla repository at github and - issue a pull request for that commit. - -#### Utilities - -Additional to the po2php script there are some more utilities for translation -in the "util" directory of the Hubzilla source tree. If you only want to -translate Hubzilla into another language you wont need any of these tools most -likely but it gives you an idea how the translation process of Hubzilla -works. - -For further information see the utils/README file. - -#### Known Problems - -* Hubzilla uses the language setting of the visitors browser to determain the - language for the UI. Most of the time this works, but there are some known - quirks. -* the early translations are based on the friendica translations, if you - some rough translations please let us know or fix them at Transifex. - -### To-be-organized information - -**Here is how you can join us.** - -First, get yourself a working git package on the system where you will be -doing development. - -Create your own github account. - -You may fork/clone the Red repository from [https://github.com/redmatrix/hubzilla.git](https://github.com/redmatrix/hubzilla.git). - -Follow the instructions provided here: [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/) -to create and use your own tracking fork on github - -Then go to your github page and create a "Pull request" when you are ready -to notify us to merge your work. - - -**Important** - -Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. We reserve the right to reject any patch which results in a large number of merge conflicts. This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions. - -Also - **test your changes**. Don't assume that a simple fix won't break something else. If possible get an experienced Red developer to review the code. - - -**Licensing** - -All code contributed to the project falls under the MIT license, unless otherwise specified. We will accept third-party code which falls under MIT, BSD and LGPL, but copyleft licensing (GPL, and AGPL) is only permitted in addons. It must be possible to completely remove the GPL (copyleft) code from the main project without breaking anything. - -**Coding Style** - -In the interests of consistency we adopt the following code styling. We may accept patches using other styles, but where possible please try to provide a consistent code style. We aren't going to argue or debate the merits of this style, and it is irrelevant what project 'xyz' uses. This is not project 'xyz'. This is a baseline to try and keep the code readable now and in the future. - -* All comments should be in English. - -* We use doxygen to generate documentation. This hasn't been consistently applied, but learning it and using it are highly encouraged. - -* Indentation is accomplished primarily with tabs using a tab-width of 4. - -* String concatenation and operators should be separated by whitespace. e.g. "$foo = $bar . 'abc';" instead of "$foo=$bar.'abc';" - -* Generally speaking, we use single quotes for string variables and double quotes for SQL statements. "Here documents" should be avoided. Sometimes using double quoted strings with variable replacement is the most efficient means of creating the string. In most cases, you should be using single quotes. - -* Use whitespace liberally to enhance readability. When creating arrays with many elements, we will often set one key/value pair per line, indented from the parent line appropriately. Lining up the assignment operators takes a bit more work, but also increases readability. - -* Generally speaking, opening braces go on the same line as the thing which opens the brace. They are the last character on the line. Closing braces are on a line by themselves. - - -**File system layout:** - -[addon] optional addons/plugins - -[boot.php] Every process uses this to bootstrap the application structure - -[doc] Help Files - -[images] core required images - -[include] The "model" in MVC - (back-end functions), also contains PHP "executables" for background processing - -[index.php] The front-end controller for web access - -[install] Installation and upgrade files and DB schema - -[library] Third party modules (must be license compatible) - -[mod] Controller modules based on URL pathname (e.g. #^[url=http://sitename/foo]http://sitename/foo[/url] loads mod/foo.php) - -[mod/site/] site-specific mod overrides, excluded from git - -[util] translation tools, main English string database and other miscellaneous utilities - -[version.inc] contains current version (auto-updated via cron for the master repository and distributed via git) - -[view] theming and language files - -[view/(css,js,img,php,tpl)] default theme files - -[view/(en,it,es ...)] language strings and resources - -[view/theme/] individual named themes containing (css,js,img,php,tpl) over-rides - -**The Database:** - - -| Table | Description | -|-------------------------|--------------------------------------------------------| -| abconfig | contact table, replaces Friendica 'contact' | -| abook | | -| account | service provider account | -| addon | | -| addressbookchanges | | -| addressbooks | | -| app | | -| atoken | | -| attach | | -| auth_codes | | -| cache | | -| cal | | -| calendarchanges | | -| calendarinstances | | -| calendarobjects | | -| calendars | | -| calendarsubscriptions | | -| cards | | -| channel | | -| chat | | -| chatpresence | | -| chatroom | | -| clients | | -| config | | -| conv | | -| dreport | | -| event | | -| group_member | | -| groupmembers | | -| groups | | -| hook | | -| hubloc | | -| iconfig | | -| issue | | -| item | | -| item_id | | -| likes | | -| locks | | -| mail | | -| menu | | -| menu_item | | -| notify | | -| obj | | -| outq | | -| pconfig | personal (per channel) configuration storage | -| photo | | -| poll | | -| poll_elm | | -| principals | | -| profdef | | -| profext | | -| profile | | -| profile_check | | -| propertystorage | | -| register | | -| schedulingobjects | | -| session | | -| shares | | -| sign | | -| site | | -| source | | -| sys_perms | | -| term | | -| tokens | | -| updates | | -| users | | -| verify | | -| vote | | -| xchan | | -| xchat | | -| xconfig | | -| xign | | -| xlink | | -| xperm | | -| xprof | | -| xtag | | - - - * abook - contact table, replaces Friendica 'contact' - * account - service provider account - * addon - registered plugins - * app - peronal app data - * attach - file attachments - * auth_codes - OAuth usage - * cache - OEmbed cache - * channel - replaces Friendica 'user' - * chat - chat room content - * chatpresence - channel presence information for chat - * chatroom - data for the actual chat room - * clients - OAuth usage - * config - main configuration storage - * conv - Diaspora private messages - * event - Events - * fcontact - friend suggestion stuff - * ffinder - friend suggestion stuff - * fserver - obsolete - * fsuggest - friend suggestion stuff - * groups - privacy groups - * group_member - privacy groups - * hook - plugin hook registry - * hubloc - Red location storage, ties a location to an xchan - * item - posts - * item_id - other identifiers on other services for posts - * likes - likes of 'things' - * mail - private messages - * menu - channel menu data - * menu_item - items uses by channel menus - * notify - notifications - * notify-threads - need to factor this out and use item thread info on notifications - * obj - object data for things (x has y) - * outq - output queue - * pconfig - personal (per channel) configuration storage - * photo - photo storage - * poll - data for polls - * poll_elm - data for poll elements - * profdef - custom profile field definitions - * profext - custom profile field data - * profile - channel profiles - * profile_check - DFRN remote auth use, may be obsolete - * register - registrations requiring admin approval - * session - web session storage - * shares - shared item information - * sign - Diaspora signatures. To be phased out. - * site - site table to find directory peers - * source - channel sources data - * spam - unfinished - * sys_perms - extensible permissions for the sys channel - * term - item taxonomy (categories, tags, etc.) table - * tokens - OAuth usage - * updates - directory sync updates - * verify - general purpose verification structure - * vote - vote data for polls - * xchan - replaces 'gcontact', list of known channels in the universe - * xchat - bookmarked chat rooms - * xconfig - as pconfig but for channels with no local account - * xlink - "friends of friends" linkages derived from poco - * xprof - if this hub is a directory server, contains basic public profile info of everybody in the network - * xtag - if this hub is a directory server, contains tags or interests of everybody in the network - - -**How to theme Hubzilla** - -This is a short documentation on what I found while trying to modify Hubzilla's appearance. - -First, you'll need to create a new theme. This is in /view/theme, and I chose to copy 'redbasic' since it's the only available for now. Let's assume I named it . - -Oh, and don't forget to rename the _init function in /php/theme.php to be _init() instead of redbasic_init(). - -At that point, if you need to add javascript or css files, add them to /js or /css, and then "register" them in _init() through head_add_js('file.js') and head_add_css('file.css'). - -Now you'll probably want to alter a template. These can be found in in /view/tpl OR view//tpl. All you should have to do is copy whatever you want to tweak from the first place to your theme's own tpl directory. - - -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. - -**Here is how you can join us.** - -First, get yourself a working git package on the system where you will be -doing development. - -Create your own github account. - -You may fork/clone the Red repository from [url=https://github.com/redmatrix/hubzilla.git]https://github.com/redmatrix/hubzilla.git[/url] - -Follow the instructions provided here: [url=http://help.github.com/fork-a-repo/]http://help.github.com/fork-a-repo/[/url] -to create and use your own tracking fork on github - -Then go to your github page and create a "Pull request" when you are ready -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 [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. - - -**Important** - -Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. We reserve the right to reject any patch which results in a large number of merge conflicts. This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions. - -Also - **test your changes**. Don't assume that a simple fix won't break something else. If possible get an experienced Red developer to review the code. - -Further documentation can be found at the Github wiki pages at: [url=https://github.com/friendica/red/wiki]https://github.com/friendica/red/wiki[/url] - -**Licensing** - -All code contributed to the project falls under the MIT license, unless otherwise specified. We will accept third-party code which falls under MIT, BSD and LGPL, but copyleft licensing (GPL, and AGPL) is only permitted in addons. It must be possible to completely remove the GPL (copyleft) code from the main project without breaking anything. - -**Concensus Building** - -Code changes which fix an obvious bug are pretty straight-forward. For instance if you click "Save" and the thing you're trying to save isn't saved, it's fairly obvious what the intended behaviour should be. Often when developing feature requests, it may affect large numbers of community members and it's possible that other members of the community won't agree with the need for the feature, or with your proposed implementation. They may not see something as a bug or a desirable feature. - -We encourage consensus building within the community when it comes to any feature which might be considered controversial or where there isn't unanimous decision that the proposed feature is the correct way to accomplish the task. The first place to pitch your ideas is to [url=https://zothub.com/channel/one]Channel One[/url]. Others may have some input or be able to point out facets of your concept which might be problematic in our environment. But also, you may encounter opposition to your plan. This doesn't mean you should stop and/or ignore the feature. Listen to the concerns of others and try and work through any implementation issues. - -There are places where opposition cannot be resolved. In these cases, please consider making your feature **optional** or non-default behaviour that must be specifically enabled. This technique can often be used when a feature has significant but less than unanimous support. Those who desire the feature can turn it on and those who don't want it - will leave it turned off. - -If a feature uses other networks or websites and or is only seen as desirable by a small minority of the community, consider making the functionality available via an addon or plugin. Once again, those who don't desire the feature won't need to install it. Plugins are relatively easy to create and "hooks" can be easily added or modified if the current hooks do not do what is needed to allow your plugin to work. - - -**Coding Style** - -In the interests of consistency we adopt the following code styling. We may accept patches using other styles, but where possible please try to provide a consistent code style. We aren't going to argue or debate the merits of this style, and it is irrelevant what project 'xyz' uses. This is not project 'xyz'. This is a baseline to try and keep the code readable now and in the future. - -* All comments should be in English. - -* We use doxygen to generate documentation. This hasn't been consistently applied, but learning it and using it are highly encouraged. - -* Indentation is accomplished primarily with tabs using a tab-width of 4. - -* String concatenation and operators should be separated by whitespace. e.g. "$foo = $bar . 'abc';" instead of "$foo=$bar.'abc';" - -* Generally speaking, we use single quotes for string variables and double quotes for SQL statements. "Here documents" should be avoided. Sometimes using double quoted strings with variable replacement is the most efficient means of creating the string. In most cases, you should be using single quotes. - -* Use whitespace liberally to enhance readability. When creating arrays with many elements, we will often set one key/value pair per line, indented from the parent line appropriately. Lining up the assignment operators takes a bit more work, but also increases readability. - -* Generally speaking, opening braces go on the same line as the thing which opens the brace. They are the last character on the line. Closing braces are on a line by themselves. - -* Some functions take arguments in argc/argv style like main() in C or function args in bash or Perl. Urls are broken up within a module. e.g, given "http://example.com/module/arg1/arg2", then $this->argc will be 3 (integer) and $this->argv will contain: [0] => 'module', [1] => 'arg1', [2] => 'arg2'. There will always be one argument. If provided a naked domain URL, $this->argv[0] is set to "home".
\ No newline at end of file diff --git a/doc/developer/unorganized.md b/doc/developer/unorganized.md new file mode 100644 index 000000000..74d914aaf --- /dev/null +++ b/doc/developer/unorganized.md @@ -0,0 +1,73 @@ +### To-be-organized information + +**Here is how you can join us.** + +First, get yourself a working git package on the system where you will be +doing development. + +Create your own github account. + +You may fork/clone the Red repository from [https://github.com/redmatrix/hubzilla.git](https://github.com/redmatrix/hubzilla.git). + +Follow the instructions provided here: [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/) +to create and use your own tracking fork on github + +Then go to your github page and create a "Pull request" when you are ready +to notify us to merge your work. + + +**Important** + +Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. We reserve the right to reject any patch which results in a large number of merge conflicts. This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions. + +Also - **test your changes**. Don't assume that a simple fix won't break something else. If possible get an experienced Red developer to review the code. + +**How to theme Hubzilla** + +This is a short documentation on what I found while trying to modify Hubzilla's appearance. + +First, you'll need to create a new theme. This is in /view/theme, and I chose to copy 'redbasic' since it's the only available for now. Let's assume I named it . + +Oh, and don't forget to rename the _init function in /php/theme.php to be _init() instead of redbasic_init(). + +At that point, if you need to add javascript or css files, add them to /js or /css, and then "register" them in _init() through head_add_js('file.js') and head_add_css('file.css'). + +Now you'll probably want to alter a template. These can be found in in /view/tpl OR view//tpl. All you should have to do is copy whatever you want to tweak from the first place to your theme's own tpl directory. + + +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. + +**Here is how you can join us.** + +First, get yourself a working git package on the system where you will be +doing development. + +Create your own github account. + +You may fork/clone the Red repository from [url=https://github.com/redmatrix/hubzilla.git]https://github.com/redmatrix/hubzilla.git[/url] + +Follow the instructions provided here: [url=http://help.github.com/fork-a-repo/]http://help.github.com/fork-a-repo/[/url] +to create and use your own tracking fork on github + +Then go to your github page and create a "Pull request" when you are ready +to notify us to merge your work. + + +**Important** + +Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. We reserve the right to reject any patch which results in a large number of merge conflicts. This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions. + +Also - **test your changes**. Don't assume that a simple fix won't break something else. If possible get an experienced Red developer to review the code. + +Further documentation can be found at the Github wiki pages at: [url=https://github.com/friendica/red/wiki]https://github.com/friendica/red/wiki[/url] + +**Concensus Building** + +Code changes which fix an obvious bug are pretty straight-forward. For instance if you click "Save" and the thing you're trying to save isn't saved, it's fairly obvious what the intended behaviour should be. Often when developing feature requests, it may affect large numbers of community members and it's possible that other members of the community won't agree with the need for the feature, or with your proposed implementation. They may not see something as a bug or a desirable feature. + +We encourage consensus building within the community when it comes to any feature which might be considered controversial or where there isn't unanimous decision that the proposed feature is the correct way to accomplish the task. The first place to pitch your ideas is to [url=https://zothub.com/channel/one]Channel One[/url]. Others may have some input or be able to point out facets of your concept which might be problematic in our environment. But also, you may encounter opposition to your plan. This doesn't mean you should stop and/or ignore the feature. Listen to the concerns of others and try and work through any implementation issues. + +There are places where opposition cannot be resolved. In these cases, please consider making your feature **optional** or non-default behaviour that must be specifically enabled. This technique can often be used when a feature has significant but less than unanimous support. Those who desire the feature can turn it on and those who don't want it - will leave it turned off. + +If a feature uses other networks or websites and or is only seen as desirable by a small minority of the community, consider making the functionality available via an addon or plugin. Once again, those who don't desire the feature won't need to install it. Plugins are relatively easy to create and "hooks" can be easily added or modified if the current hooks do not do what is needed to allow your plugin to work. + diff --git a/doc/feature/saved_search.bb b/doc/feature/saved_search.bb deleted file mode 100644 index 1e75f5a85..000000000 --- a/doc/feature/saved_search.bb +++ /dev/null @@ -1,19 +0,0 @@ -[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 deleted file mode 100644 index 9b07f086f..000000000 --- a/doc/feature/techlevels.bb +++ /dev/null @@ -1,15 +0,0 @@ -[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/main.bb b/doc/main.bb deleted file mode 100644 index 8ba5d481b..000000000 --- a/doc/main.bb +++ /dev/null @@ -1,13 +0,0 @@ -
-[zrl=[baseurl]/help/about][b]What is $Projectname?[/b][/zrl]
-$Projectname is a decentralized communication and publishing platform that enables you to keep in control of your communication needs by automatic encryption and finely grained access control. It's you, and only you who decides who is allowed to see your stuff.
-
-[zrl=[baseurl]/help/features][b]$Projectname Features[/b][/zrl]
-
-$Projectname is already running as a global distributed network and proves its versatility and scalability from standalone to huge sites on a daily basis.
-Think of standalone family communication platforms, distributed online communities, support forums, blogs and homepages. Or professional content providers with commercial premium channels and targeted content acces. Whatever you want, $Projectname is there to cater to your creativity.
-
-[zrl=[baseurl]/help/what_is_zot][b]Got Zot? Well, you should.[/b][/zrl]
-Zot is the great new communicaton protocol invented especially for $Projectname. As a member you are no longer bound to a single site or hub thanks to "Nomadic Identities". Migrate easily to another server and keep your contacts intact, or clone it and run the same channel on several servers. Just in case one of them might shut down, you don't lose out. Plus once you are inside $Projectname there is no need for you to authenticate twice, even when accessing another $Projectname site. Zot is what sets $Projectname apart.
-
-
diff --git a/doc/member/member_guide.bb b/doc/member/member_guide.bb index 6d95b230c..50f0b581b 100644 --- a/doc/member/member_guide.bb +++ b/doc/member/member_guide.bb @@ -294,8 +294,11 @@ To create and manage guest tokens, open the [zrl=[baseurl]/settings/tokens/]Gues Additional permissions may be granted to the guest token by expanding the [b]Individual Permissions[/b] options and selecting privacy settings such as [b]Can view my channel stream and posts[/b] or [b]Can chat with me[/b]. +[url=[baseurl]/help/feature/access_tokens]More details can be found here...[/url] + [img][baseurl]/doc/member/assets/zat_dialog.png[/img] + [h3]Markup Languages[/h3] $Projectname supports several markup languages for advanced formatting of content. The default markup language is a [url=[baseurl]/help/member/bbcode]custom variant of BBcode[/url], tailored for use in $Projectname. [url=[baseurl]/help/member/bbcode]BBcode[/url] is supported for posts, wiki pages, and web page elements. Wiki pages and webpage elements may also be written using standard Markdown. [table border=0] @@ -813,23 +816,27 @@ To delete attachments or change the permissions on the stored files, visit [obse [h4]Web Access[/h4] -Your files are visible on the web at the location [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username[/observer] to anybody who is allowed to view them. If the viewer has sufficient privileges, they may also have the ability to create new files and folders/directories. +Your files are visible on the web at the location [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username[/observer] to anybody who is allowed to view them. If the viewer has sufficient privileges, they may also have the ability to create new files and folders/directories. This should only be used for smaller files and photos (up to a few megabytes) as it uses internal memory. For larger files (videos, music, etc.), please upload using WebDAV. These files may still be retrieved via web access. [h4]WebDAV access[/h4] -See: [zrl=[baseurl]/help/member/member_guide#Cloud_Desktop_Clients]Cloud Desktop Clients[/zrl] +WebDAV provides a way to copy files directly to or from your computer's operating system, where your cloud files appear as a virtual disk drive. This should be used to upload large files such as video and audio; as it is not limited to available memory. See [zrl=help/member/member_guide#Cloud_Desktop_Clients]Cloud Desktop Clients[/zrl] below. + [h4]Permissions[/h4] When using WebDAV, the file is created with your channel's default file permissions and this cannot be changed from within the operating system. It also may not be as restrictive as you would like. What we've found is that the preferred method of making files private is to first create folders or directories; then visit [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username[/observer] select the directory and change the permissions. Do this before you put anything into the directory. The directory permissions take precedence so you can then put files or other folders into that container and they will be protected from unwanted viewers by the directory permissions. It is common for folks to create a "personal" or "private" folder which is restricted to themselves. You can use this as a personal cloud to store anything from anywhere on the web or any computer and it is protected from others. You might also create folders for "family" and "friends" with permission granted to appropriate privacy groups. +[h3]Cloud Desktop Clients[/h3] + + [h4]Cloud Desktop Clients - Windows[/h4] WebDAV using Windows 7 graphical user interface wizard: 1. Left-click the Start-button to open the start menu. 2. Right-click the My computer icon to access its menu. 3. Left-click Map network drive... to open the connection dialog wizard. -4. Type #^[url=https://example.net/dav/your_channel_name]https://example.net/dav/your_channel_name[/url] in the textbox and click the Complete button where "example.net" is the URL of your hub. +4. Type '[baseurl]/dav/nickname' in the textbox (replace nickname with your channel nickname) and click the Complete button. 5. Type your $Projectname channel nickname. IMPORTANT - NO at-sign or domain name. 6. Type your $Projectname password @@ -969,6 +976,21 @@ Once open you can set a bookmark. Note: There have been reported issues with clients that use "chunked transfer encoding", which includes Apple iOS services, and also the "AnyClient" and "CyberDuck" tools. These work fine for downloads, but uploads often end up with files of zero size. This is caused by an incorrect implemention of chunked encoding in some current FCGI (fast-cgi) implementations. Apache running with PHP as a module does not have these issues, but when running under FCGI you may need to use alternative clients or use the web uploader. At the time of this writing the issue has been open and no updates provided for at least a year. If you encounter zero size files with other clients, please check the client notes; as there are occasional configuration issues which can also produce these symptoms. +[h3]Saved Searches[/h3] + +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-time 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: + +[list] +[*]@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. +[*]#hashtag - search you network stream for posts containing #hashtag. +[*]text - search your network stream for posts containing 'text'. +[/list] + + [h3]Remove Channel or Account[/h3] [h4]Remove Channel[/h4] diff --git a/doc/members.bb b/doc/members.bb deleted file mode 100644 index bf5b09898..000000000 --- a/doc/members.bb +++ /dev/null @@ -1,25 +0,0 @@ -[h2]Documentation for hub members[/h2] -[h3]Getting started[/h3] -[zrl=[baseurl]/help/registration]Account Registration[/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/roles]Permission roles and Channel types[/zrl] -[zrl=[baseurl]/help/first-post]Your first posting[/zrl] -[zrl=[baseurl]/help/connecting_to_channels]Connecting To Other Channels[/zrl] -[zrl=[baseurl]/help/permissions]Permissions And Encryption: You Are In Control[/zrl] -[zrl=[baseurl]/help/cloud]Cloud Storage[/zrl] -[zrl=[baseurl]/help/remove_account]Remove Channel or Account[/zrl] -[h3]Members help[/h3] -[zrl=[baseurl]/help/tags_and_mentions]Tags and Mentions[/zrl] -[zrl=[baseurl]/help/webpages]Web Pages[/zrl] -[zrl=[baseurl]/help/bbcode]BBcode reference for posts and comments[/zrl] -[zrl=[baseurl]/help/checking_account_quota_usage]Checking Account Quota Usage[/zrl] -[zrl=[baseurl]/help/cloud_desktop_clients]Cloud Desktop Clients[/zrl] -[zrl=[baseurl]/help/AdvancedSearch]Advanced Directory Search[/zrl] -[zrl=[baseurl]/help/addons]Help With Addons[/zrl] -[zrl=[baseurl]/help/diaspora_compat]Diaspora Communications Compatibility (Diaspora and Friendica)[/zrl] -[zrl=[baseurl]/help/faq_members]FAQ For Members[/zrl] -[zrl=[baseurl]/help/bugs]Bugs, Issues, and things that go bump in the night...[/zrl] - -#include doc/macros/main_footer.bb; diff --git a/doc/profiles.bb b/doc/profiles.bb deleted file mode 100644 index 513bf5fed..000000000 --- a/doc/profiles.bb +++ /dev/null @@ -1,37 +0,0 @@ -[b]Profiles[/b]
-
-$Projectname has unlimited profiles. You may use different profiles to show different "sides of yourself" to different audiences. This is different to having different channels. Different channels allow for completely different sets of information. You may have a channel for yourself, a channel for your sports team, a channel for your website, or whatever else. A profile allows for finely graded "sides" of each channel. For example, your default public profile might say "Hello, I'm Fred, and I like laughing". You may show your close friends a profile that adds "and I also enjoy dwarf tossing".
-
-You always have a profile known as your "default" or "public" profile. This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). You may, and probably should restrict the information you make available on your public profile.
-
-That said, if you want other friends to be able to find you, it helps to have the following information in your public profile...
-
-[ul][*]Your real name or at least a nickname everybody knows
-[*]A photo of you
-[*]Your location on the planet, at least to a country level.[/ul]
-
-In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some "Keywords" to your profile. Such as "music, linux, photography" or whatever. You can add as many keywords as you like.
-
-To create an alternate profile, first go to [zrl=[baseurl]/settings/features]Settings > Additional Features[/zrl] and enable "Multiple Profiles" there, otherwise you won't have the ability to use more than just your default profile.
-
-Then select "Edit Profiles" from the menu of your $Projectname site. You may edit an existing profile, change the profile photo, add things to a profile or create a new profile. You may also create a "clone" of an existing profile if you only wish to change a few items but don't wish to enter all the information again. To do that, click on the profile you want to clone and choose "Clone this profile" there.
-
-In the list of your profiles, you can also choose the contacts who can see a specific profile. Just click on "Edit visibility" next to the profile in question (only available for the profiles that are not your default profile) and then click on user images to add them to or remove them from the group of people who can see this profile.
-
-Once a profile has been selected, when the person views your profile, they will see the private profile you have assigned. If they are not authenticated, they will see your public profile.
-
-There is a setting which allows you to publish your profile to a directory and ensure that it can be found by others. You can change this setting on the "Settings" page.
-
-If you do not wish to be found be people unless you give them your channel address, you may leave your profile unpublished.
-
-[b]Keywords and Directory Search[/b]
-
-On the directory page, you may search for people with published profiles. Currently, only the name field and the keywords are searched. You may also include such keywords in your default profile - which may be used to search for common interests with other members. Keywords are used in the channel suggestion tool and although they aren't visible in the directory, they are shown if people visit your profile page.
-
-On your Connnections page and in the directory there is a link to "Suggestions" or "Channel Suggestions", respectively. This will find channels who have matching and/or similar keywords. The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance.
-
-See Also
-
-[zrl=[baseurl]/help/AdvancedSearch]Advanced Searching[/zrl]
-
-#include doc/macros/main_footer.bb;
diff --git a/doc/project/governance.bb b/doc/project/governance.bb deleted file mode 100644 index 4c1538b4b..000000000 --- a/doc/project/governance.bb +++ /dev/null @@ -1,29 +0,0 @@ -[h2]$Projectname Governance[/h2] - -Governance relates to the management of a project and particularly how this relates to conflict resolution. - -[h3]Community Governance[/h3] - -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 - -Senior developers with a significant history of project commits may veto any decision. The decision may not proceed until the veto is removed or an alternative proposal is presented. - -[*] 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/project/toc.html b/doc/project/toc.html deleted file mode 100644 index e264e014d..000000000 --- a/doc/project/toc.html +++ /dev/null @@ -1,5 +0,0 @@ -<h3>Project Information</h3> -<ul> -<li><a href="help/project/governance">Project Governance</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 deleted file mode 100644 index 451cd0448..000000000 --- a/doc/project/versions.bb +++ /dev/null @@ -1,30 +0,0 @@ -[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/server_roles.bb b/doc/server_roles.bb deleted file mode 100644 index ef6ec28ae..000000000 --- a/doc/server_roles.bb +++ /dev/null @@ -1,27 +0,0 @@ -[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/service_classes.bb b/doc/service_classes.bb deleted file mode 100644 index 4dead5d29..000000000 --- a/doc/service_classes.bb +++ /dev/null @@ -1,38 +0,0 @@ -[b]Service Classes[/b] - -Service classes allow you to set limits on system resources. A GUI to configure this is currently under development. - -As a temporary measure, the following commandline utilities can be used: - -Usage: - -[code]util/service_class[/code] -list service classes - -[code]util/config system default_service_class firstclass[/code] -set the default service class to 'firstclass' - -[code]util/service_class firstclass[/code] -list the services that are part of 'firstclass' service class - -[code]util/service_class firstclass photo_upload_limit 10000000[/code] -set firstclass total photo disk usage to 10 million bytes - -[code]util/service_class --account=5 firstclass[/code] -set account id 5 to service class 'firstclass' (with confirmation) - -[code]util/service_class --channel=blogchan firstclass[/code] -set the account that owns channel 'blogchan' to service class 'firstclass' (with confirmation) - -[b]current limits[/b] -photo_upload_limit - maximum total bytes for photos -total_items - maximum total toplevel posts -total_pages - maximum comanche pages -total_identities - maximum number of channels owned by account -total_channels - maximum number of connections -total_feeds - maximum number of rss feed connections -attach_upload_limit - maximum file upload storage (bytes) -minimum_feedcheck_minutes - lowest setting allowed for polling rss feeds -chatrooms - maximum chatrooms -chatters_inroom - maximum chatters per room -access_tokens - maximum number of Guest Access Tokens per channel
\ No newline at end of file diff --git a/doc/theme_management.bb b/doc/theme_management.bb deleted file mode 100644 index 5691f7c48..000000000 --- a/doc/theme_management.bb +++ /dev/null @@ -1,10 +0,0 @@ -[h1]Theme Management[/h1]
-$Projectname allows hub admins to easily add and update themes hosted in common git repositories.
-[h2]Add new theme repo to your hub[/h2]
-1. Navigate to your hub web root
-[code]root@hub:~# cd /var/www[/code]
-2. Add the theme repo and give it a name
-[code][nobb]root@hub:/var/www# util/add_theme_repo https://github.com/username/theme-repo.git UniqueThemeRepoName[/nobb][/code]
-[h2]Update existing theme repo[/h2]
-Update the repo by using
-[code]root@hub:/var/www# util/update_theme_repo UniqueThemeRepoName[/code]
diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb deleted file mode 100644 index b1c4923b1..000000000 --- a/doc/to_do_code.bb +++ /dev/null @@ -1,42 +0,0 @@ -[b]Project Code To-Do List[/b]
-
-We need much more than this, but here are areas where developers can help. Please edit this page when items are finished. Another place for developers to start is with the issues list.
-
-[li]Documentation - see Red Documentation Project To-Do List[/li]
-[li]Include TOS link in registration/verification email[/li]
-[li]Auto preview posts/comments (configurable timer kicks in the preview if not 0)[/li]
-[li]SAML 2.0 and OpenID Connect provider functionality[/li]
-[li]relmeauth (aka indieauth) support[/li]
-[li]Create bug tracker module[/li]
-[li]Filing posts - provide a dropdown menu integrated with the 'post actions menu'[/li]
-[li]translation plugins - moses or apertium[/li]
-[li]plugins - provide 'disable' which is softer than 'uninstall' for those plugins which create additional DB tables[/li]
-[li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items [/li]
-[li]Finish the anti-spam bayesian engine[/li]
-[li]implement an email permission denied bounce message from the sys channel[/li]
-[li]provide a way for xchans with a certain network type to upgrade (unknown to rss, rss to statusnet, friendica-over-diaspora to friendica, for instance) based on new knowledge and/or redmatrix ability[/li]
-[li]Integrate the "open site" list with the register page[/li]
-[li]Support comments and member notes on documentation pages (to achieve an effect similar to php.net)[/li]
-[li]Support comments on webpages[/li]
-[li]Write more webpage layouts[/li]
-[li]Write more webpage widgets[/li]
-[li]restricted access OAuth clients[/li]
-[li](Advanced) create a UI for building Comanche pages[/li]
-[li](less advanced) create a way to preview Comanche results on a preview page while editing on another page[/li]
-[li]External post connectors - create standard interface[/li]
-[li]External post connectors, add popular services[/li]
-[li]service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
-[li]service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
-[li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li]
-[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
-[li]Import channel from Diaspora/Friendica (Diaspora partially done)[/li]
-[li]MediaGoblin photo "crosspost" connector[/li]
-[li]provide a visual editor[/li]
-[li]Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.[/li]
-[li]Implement owned and exchangeable "things".[/li]
-[li]Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).[/li]
-
-
-In many cases some of the work has already been started and code exists so that you needn't start from scratch. Please contact one of the developer channels like Channel One (one@zothub.com) before embarking and we can tell you what we already have and provide some insights on how we envision these features fitting together.
-
-Return to the [url=[baseurl]/help/main]Main documentation page[/url]
diff --git a/doc/to_do_doco.md b/doc/to_do_doco.md deleted file mode 100644 index 018b9efa2..000000000 --- a/doc/to_do_doco.md +++ /dev/null @@ -1,31 +0,0 @@ -# Documentation To-Do List #
-
-## How to contribute documentation ##
-
-Documentation files are in */doc*.
-
-When help is first accessed, the file loaded is *main.bb*. That file contains case sensitive links without an extension. The extensions is added automatically if the file is found, first *.md* then *.bb*.
-
-For translating documentation, create a directory in */doc* named by the language code, copy the files and translate the content.
-
-## Documentation we need to write ##
-
-* Database schema detailed descriptions
-
-* Complete plugin hook documentation
-
-* API documentation
-
-* Function and code documentation (doxygen)
-
-* New Member guide
-
-* "Extra Feature" reference, description of each
-
-* Detailed Personal Settings Documentation
-
-* Administration Guide (post-install)
-
-* Administration Guide (pre-install)
-
-#include doc/macros/main_footer.bb;
diff --git a/doc/toc.html b/doc/toc.html index 851f356e6..3c9c5c299 100644 --- a/doc/toc.html +++ b/doc/toc.html @@ -37,6 +37,7 @@ <ul class="list-group"> <li class="doco-list-group-item"><a href="/help/admin/administrator_guide">Guide</a></li> <li class="doco-list-group-item"><a href="/help/admin/hub_snapshots">Hub Snapshots</a></li> + <li class="doco-list-group-item"><a href="/help/database">Database Tables</a></li> </ul> </div> </div> @@ -49,8 +50,10 @@ <div id="developers" class="panel-collapse collapse in"> <ul class="list-group"> <li class="doco-list-group-item"><a href="/help/developer/developer_guide">Guide</a></li> + <li class="doco-list-group-item"><a href="/help/developer/covenant">Code of Conduct</a></li> <li class="doco-list-group-item"><a href="/help/developer/zot_protocol">Zot Protocol</a></li> <li class="doco-list-group-item"><a href="/help/developer/api_zot">Zot API</a></li> + <li class="doco-list-group-item"><a href="/help/hooklist">Hooks</a></li> </ul> </div> </div> diff --git a/include/attach.php b/include/attach.php index 937d33ea3..79313ab1a 100644 --- a/include/attach.php +++ b/include/attach.php @@ -1477,18 +1477,34 @@ function find_folder_hash_by_attach_hash($channel_id, $attachHash, $recurse = fa function find_folder_hash_by_path($channel_id, $path) { - $filename = end(explode('/', $path)); + if(! $path) + return ''; - $r = q("SELECT hash FROM attach WHERE uid = %d AND filename = '%s' LIMIT 1", - intval($channel_id), - dbesc($filename) - ); + $comps = explode('/',$path); + $errors = false; + $parent_hash = ''; - $hash = ''; - if($r && $r[0]['hash']) { - $hash = $r[0]['hash']; + for($x = 0; $x < count($comps); $x ++) { + $element = $comps[$x]; + $r = q("SELECT hash FROM attach WHERE uid = %d AND filename = '%s' AND folder = '%s' LIMIT 1", + intval($channel_id), + dbesc($element), + dbesc($parent_hash) + ); + if($r) { + $parent_hash = $r[0]['hash']; + } + else { + $errors ++; + break; + } } - return $hash; + + if($errors) + return ''; + + return $parent_hash; + } /** diff --git a/include/channel.php b/include/channel.php index 856fb6303..b838f8393 100644 --- a/include/channel.php +++ b/include/channel.php @@ -1608,7 +1608,7 @@ function get_profile_fields_basic($filter = 0) { $profile_fields_basic = (($filter == 0) ? get_config('system','profile_fields_basic') : null); if(! $profile_fields_basic) - $profile_fields_basic = array('fullname','pdesc','chandesc','gender','dob','dob_tz','address','locality','region','postal_code','country_name','marital','sexual','homepage','hometown','keywords','about','contact'); + $profile_fields_basic = array('fullname','pdesc','chandesc','comms','gender','dob','dob_tz','address','locality','region','postal_code','country_name','marital','sexual','homepage','hometown','keywords','about','contact'); $x = array(); if($profile_fields_basic) @@ -1976,9 +1976,7 @@ function channel_manual_conv_update($channel_id) { $x = get_pconfig($channel_id, 'system','manual_conversation_update'); if($x === false) - $x = get_config('system','manual_conversation_update'); - if($x === false) - $x = 1; + $x = get_config('system','manual_conversation_update', 1); return intval($x); @@ -2048,4 +2046,209 @@ function profile_store_lowlevel($arr) { ]; return create_table_from_array('profile',$store); -}
\ No newline at end of file +} + + +// Included here for completeness, but this is a very dangerous operation. +// It is the caller's responsibility to confirm the requestor's intent and +// authorisation to do this. + +function account_remove($account_id,$local = true,$unset_session=true) { + + logger('account_remove: ' . $account_id); + + if(! intval($account_id)) { + logger('account_remove: no account.'); + return false; + } + + // Don't let anybody nuke the only admin account. + + $r = q("select account_id from account where (account_roles & %d) > 0", + intval(ACCOUNT_ROLE_ADMIN) + ); + + if($r !== false && count($r) == 1 && $r[0]['account_id'] == $account_id) { + logger("Unable to remove the only remaining admin account"); + return false; + } + + $r = q("select * from account where account_id = %d limit 1", + intval($account_id) + ); + $account_email=$r[0]['account_email']; + + if(! $r) { + logger('account_remove: No account with id: ' . $account_id); + return false; + } + + $x = q("select channel_id from channel where channel_account_id = %d", + intval($account_id) + ); + if($x) { + foreach($x as $xx) { + channel_remove($xx['channel_id'],$local,false); + } + } + + $r = q("delete from account where account_id = %d", + intval($account_id) + ); + + + if ($unset_session) { + unset($_SESSION['authenticated']); + unset($_SESSION['uid']); + notice( sprintf(t("User '%s' deleted"),$account_email) . EOL); + goaway(z_root()); + } + return $r; + +} + +function channel_remove($channel_id, $local = true, $unset_session=false) { + + if(! $channel_id) + return; + + logger('Removing channel: ' . $channel_id); + logger('channel_remove: local only: ' . intval($local)); + + $r = q("select * from channel where channel_id = %d limit 1", intval($channel_id)); + if(! $r) { + logger('channel_remove: channel not found: ' . $channel_id); + return; + } + + $channel = $r[0]; + + call_hooks('channel_remove',$r[0]); + + if(! $local) { + + $r = q("update channel set channel_deleted = '%s', channel_removed = 1 where channel_id = %d", + dbesc(datetime_convert()), + intval($channel_id) + ); + + q("delete from pconfig where uid = %d", + intval($channel_id) + ); + + logger('deleting hublocs',LOGGER_DEBUG); + + $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'", + dbesc($channel['channel_hash']) + ); + + + $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s'", + dbesc($channel['channel_hash']) + ); + + Zotlabs\Daemon\Master::Summon(array('Notifier','purge_all',$channel_id)); + } + + + $r = q("select * from iconfig left join item on item.id = iconfig.iid + where item.uid = %d", + intval($channel_id) + ); + if($r) { + foreach($r as $rr) { + q("delete from iconfig where iid = %d", + intval($rr['iid']) + ); + } + } + + + q("DELETE FROM groups WHERE uid = %d", intval($channel_id)); + q("DELETE FROM group_member WHERE uid = %d", intval($channel_id)); + q("DELETE FROM event WHERE uid = %d", intval($channel_id)); + q("DELETE FROM item WHERE uid = %d", intval($channel_id)); + q("DELETE FROM mail WHERE channel_id = %d", intval($channel_id)); + q("DELETE FROM notify WHERE uid = %d", intval($channel_id)); + q("DELETE FROM photo WHERE uid = %d", intval($channel_id)); + q("DELETE FROM attach WHERE uid = %d", intval($channel_id)); + q("DELETE FROM profile WHERE uid = %d", intval($channel_id)); + q("DELETE FROM pconfig WHERE uid = %d", intval($channel_id)); + + // @FIXME At this stage we need to remove the file resources located under /store/$nickname + + + q("delete from abook where abook_xchan = '%s' and abook_self = 1 ", + dbesc($channel['channel_hash']) + ); + + $r = q("update channel set channel_deleted = '%s', channel_removed = 1 where channel_id = %d", + dbesc(datetime_convert()), + intval($channel_id) + ); + + // if this was the default channel, set another one as default + if(App::$account['account_default_channel'] == $channel_id) { + $r = q("select channel_id from channel where channel_account_id = %d and channel_removed = 0 limit 1", + intval(App::$account['account_id']), + intval(PAGE_REMOVED)); + if ($r) { + $rr = q("update account set account_default_channel = %d where account_id = %d", + intval($r[0]['channel_id']), + intval(App::$account['account_id'])); + logger("Default channel deleted, changing default to channel_id " . $r[0]['channel_id']); + } + else { + $rr = q("update account set account_default_channel = 0 where account_id = %d", + intval(App::$account['account_id']) + ); + } + } + + logger('deleting hublocs',LOGGER_DEBUG); + + $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s' and hubloc_url = '%s' ", + dbesc($channel['channel_hash']), + dbesc(z_root()) + ); + + // Do we have any valid hublocs remaining? + + $hublocs = 0; + + $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and hubloc_deleted = 0", + dbesc($channel['channel_hash']) + ); + if($r) + $hublocs = count($r); + + if(! $hublocs) { + $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s' ", + dbesc($channel['channel_hash']) + ); + } + + //remove from file system + $r = q("select channel_address from channel where channel_id = %d limit 1", + intval($channel_id) + ); + + if($r) { + $channel_address = $r[0]['channel_address'] ; + } + if($channel_address) { + $f = 'store/' . $channel_address.'/'; + logger('delete '. $f); + if(is_dir($f)) { + @rrmdir($f); + } + } + + Zotlabs\Daemon\Master::Summon(array('Directory',$channel_id)); + + if($channel_id == local_channel() && $unset_session) { + App::$session->nuke(); + goaway(z_root()); + } + +} diff --git a/include/connections.php b/include/connections.php index e26943b68..a8d7d8483 100644 --- a/include/connections.php +++ b/include/connections.php @@ -188,232 +188,6 @@ function abook_toggle_flag($abook,$flag) { } -// Included here for completeness, but this is a very dangerous operation. -// It is the caller's responsibility to confirm the requestor's intent and -// authorisation to do this. - -function user_remove($uid) { - -} - -function account_remove($account_id,$local = true,$unset_session=true) { - - logger('account_remove: ' . $account_id); - - if(! intval($account_id)) { - logger('account_remove: no account.'); - return false; - } - - // Don't let anybody nuke the only admin account. - - $r = q("select account_id from account where (account_roles & %d) > 0", - intval(ACCOUNT_ROLE_ADMIN) - ); - - if($r !== false && count($r) == 1 && $r[0]['account_id'] == $account_id) { - logger("Unable to remove the only remaining admin account"); - return false; - } - - $r = q("select * from account where account_id = %d limit 1", - intval($account_id) - ); - $account_email=$r[0]['account_email']; - - if(! $r) { - logger('account_remove: No account with id: ' . $account_id); - return false; - } - - $x = q("select channel_id from channel where channel_account_id = %d", - intval($account_id) - ); - if($x) { - foreach($x as $xx) { - channel_remove($xx['channel_id'],$local,false); - } - } - - $r = q("delete from account where account_id = %d", - intval($account_id) - ); - - - if ($unset_session) { - unset($_SESSION['authenticated']); - unset($_SESSION['uid']); - notice( sprintf(t("User '%s' deleted"),$account_email) . EOL); - goaway(z_root()); - } - return $r; - -} -// recursively delete a directory -function rrmdir($path) -{ - if (is_dir($path) === true) - { - $files = array_diff(scandir($path), array('.', '..')); - - foreach ($files as $file) - { - rrmdir(realpath($path) . '/' . $file); - } - - return rmdir($path); - } - - else if (is_file($path) === true) - { - return unlink($path); - } - - return false; -} - -function channel_remove($channel_id, $local = true, $unset_session=false) { - - if(! $channel_id) - return; - - logger('Removing channel: ' . $channel_id); - logger('channel_remove: local only: ' . intval($local)); - - $r = q("select * from channel where channel_id = %d limit 1", intval($channel_id)); - if(! $r) { - logger('channel_remove: channel not found: ' . $channel_id); - return; - } - - $channel = $r[0]; - - call_hooks('channel_remove',$r[0]); - - if(! $local) { - - $r = q("update channel set channel_deleted = '%s', channel_removed = 1 where channel_id = %d", - dbesc(datetime_convert()), - intval($channel_id) - ); - - q("delete from pconfig where uid = %d", - intval($channel_id) - ); - - logger('deleting hublocs',LOGGER_DEBUG); - - $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'", - dbesc($channel['channel_hash']) - ); - - - $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s'", - dbesc($channel['channel_hash']) - ); - - Zotlabs\Daemon\Master::Summon(array('Notifier','purge_all',$channel_id)); - } - - - $r = q("select * from iconfig left join item on item.id = iconfig.iid - where item.uid = %d", - intval($channel_id) - ); - if($r) { - foreach($r as $rr) { - q("delete from iconfig where iid = %d", - intval($rr['iid']) - ); - } - } - - - q("DELETE FROM groups WHERE uid = %d", intval($channel_id)); - q("DELETE FROM group_member WHERE uid = %d", intval($channel_id)); - q("DELETE FROM event WHERE uid = %d", intval($channel_id)); - q("DELETE FROM item WHERE uid = %d", intval($channel_id)); - q("DELETE FROM mail WHERE channel_id = %d", intval($channel_id)); - q("DELETE FROM notify WHERE uid = %d", intval($channel_id)); - q("DELETE FROM photo WHERE uid = %d", intval($channel_id)); - q("DELETE FROM attach WHERE uid = %d", intval($channel_id)); - q("DELETE FROM profile WHERE uid = %d", intval($channel_id)); - q("DELETE FROM pconfig WHERE uid = %d", intval($channel_id)); - - // @FIXME At this stage we need to remove the file resources located under /store/$nickname - - - q("delete from abook where abook_xchan = '%s' and abook_self = 1 ", - dbesc($channel['channel_hash']) - ); - - $r = q("update channel set channel_deleted = '%s', channel_removed = 1 where channel_id = %d", - dbesc(datetime_convert()), - intval($channel_id) - ); - - // if this was the default channel, set another one as default - if(App::$account['account_default_channel'] == $channel_id) { - $r = q("select channel_id from channel where channel_account_id = %d and channel_removed = 0 limit 1", - intval(App::$account['account_id']), - intval(PAGE_REMOVED)); - if ($r) { - $rr = q("update account set account_default_channel = %d where account_id = %d", - intval($r[0]['channel_id']), - intval(App::$account['account_id'])); - logger("Default channel deleted, changing default to channel_id " . $r[0]['channel_id']); - } - else { - $rr = q("update account set account_default_channel = 0 where account_id = %d", - intval(App::$account['account_id']) - ); - } - } - - logger('deleting hublocs',LOGGER_DEBUG); - - $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s' and hubloc_url = '%s' ", - dbesc($channel['channel_hash']), - dbesc(z_root()) - ); - - // Do we have any valid hublocs remaining? - - $hublocs = 0; - - $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and hubloc_deleted = 0", - dbesc($channel['channel_hash']) - ); - if($r) - $hublocs = count($r); - - if(! $hublocs) { - $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s' ", - dbesc($channel['channel_hash']) - ); - } - - //remove from file system - $r = q("select channel_address from channel where channel_id = %d limit 1", - intval($channel_id) - ); - if($r) - $channel_address = $r[0]['channel_address'] ; - if ($channel_address !== '') { - $f = 'store/' . $channel_address.'/'; - logger ('delete '. $f); - if(is_dir($f)) - @rrmdir($f); - } - - Zotlabs\Daemon\Master::Summon(array('Directory',$channel_id)); - - if($channel_id == local_channel() && $unset_session) { - App::$session->nuke(); - goaway(z_root()); - } - -} /** * mark any hubs "offline" that haven't been heard from in more than 30 days @@ -430,10 +204,10 @@ function mark_orphan_hubsxchans() { if($dirmode == DIRECTORY_MODE_NORMAL) return; - $r = q("update hubloc set hubloc_error = 1 where hubloc_error = 0 + $r = q("update hubloc set hubloc_error = 1 where hubloc_error = 0 and hubloc_network = 'zot' and hubloc_connected < %s - interval %s", - db_utcnow(), db_quoteinterval('36 day') - ); + db_utcnow(), db_quoteinterval('36 day') + ); // $realm = get_directory_realm(); // if($realm == DIRECTORY_REALM) { @@ -547,13 +321,13 @@ function remove_all_xchan_resources($xchan, $channel_id = 0) { // directory servers need to keep the record around for sync purposes - mark it deleted - $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'", - dbesc($xchan) - ); + $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'", + dbesc($xchan) + ); - $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s'", - dbesc($xchan) - ); + $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s'", + dbesc($xchan) + ); } } } diff --git a/include/conversation.php b/include/conversation.php index 285ee752f..a1acc456a 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1175,8 +1175,8 @@ function builtin_activity_puller($item, &$conv_responses) { if((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) { $name = (($item['author']['xchan_name']) ? $item['author']['xchan_name'] : t('Unknown')); - $url = (($item['author']['xchan_url'] && $item['author']['xchan_photo_s']) - ? '<a href="' . chanlink_url($item['author']['xchan_url']) . '">' . '<img class="dropdown-menu-img-xs" src="' . zid($item['author']['xchan_photo_s']) . '" alt="' . urlencode($name) . '" />' . $name . '</a>' + $url = (($item['author_xchan'] && $item['author']['xchan_photo_s']) + ? '<a href="' . chanlink_hash($item['author_xchan']) . '">' . '<img class="dropdown-menu-img-xs" src="' . zid($item['author']['xchan_photo_s']) . '" alt="' . urlencode($name) . '" />' . $name . '</a>' : '<a href="#" class="disabled">' . $name . '</a>' ); diff --git a/include/event.php b/include/event.php index cf1cc331d..a9634d7a5 100644 --- a/include/event.php +++ b/include/event.php @@ -249,6 +249,15 @@ function bbtoevent($s) { $ev = array(); + + $match = ''; + if(preg_match("/\[event\](.*?)\[\/event\]/is",$s,$match)) { + // only parse one object per event tag + $x = ical_to_ev($match[1]); + if($x) + $ev = $x[0]; + } + $match = ''; if(preg_match("/\[event\-summary\](.*?)\[\/event\-summary\]/is",$s,$match)) $ev['summary'] = $match[1]; @@ -283,6 +292,8 @@ function bbtoevent($s) { $ev['nofinish'] = 1; } +// logger('bbtoevent: ' . print_r($ev,true)); + return $ev; } @@ -555,6 +566,136 @@ function event_addtocal($item_id, $uid) { } +function ical_to_ev($s) { + require_once('vendor/autoload.php'); + + $saved_timezone = date_default_timezone_get(); + date_default_timezone_set('Australia/Sydney'); + + $ical = VObject\Reader::read($s); + + $ev = []; + + if($ical) { + if($ical->VEVENT) { + foreach($ical->VEVENT as $event) { + $ev[] = parse_vobject($event,'event'); + } + } + if($ical->VTODO) { + foreach($ical->VTODO as $event) { + $ev[] = parse_vobject($event,'task'); + } + } + } + + date_default_timezone_set($saved_timezone); + + return $ev; + +} + + + +function parse_vobject($ical, $type) { + + + $ev = []; + + if(! isset($ical->DTSTART)) { + logger('no event start'); + return $ev; + } + + $ev['etype'] = $type; + + $dtstart = $ical->DTSTART->getDateTime(); + $ev['adjust'] = (($ical->DTSTART->isFloating()) ? 1 : 0); + + $ev['dtstart'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC', + $dtstart->format(\DateTime::W3C)); + + + if(isset($ical->DUE)) { + $dtend = $ical->DUE->getDateTime(); + $ev['dtend'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC', + $dtend->format(\DateTime::W3C)); + } + elseif(isset($ical->DTEND)) { + $dtend = $ical->DTEND->getDateTime(); + $ev['dtend'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC', + $dtend->format(\DateTime::W3C)); + } + else + $ev['nofinish'] = 1; + + + if($ev['dtstart'] === $ev['dtend']) + $ev['nofinish'] = 1; + + if(isset($ical->CREATED)) { + $created = $ical->CREATED->getDateTime(); + $ev['created'] = datetime_convert('UTC','UTC',$created->format(\DateTime::W3C)); + } + + if(isset($ical->{'DTSTAMP'})) { + $edited = $ical->{'DTSTAMP'}->getDateTime(); + $ev['edited'] = datetime_convert('UTC','UTC',$edited->format(\DateTime::W3C)); + } + if(isset($ical->{'LAST-MODIFIED'})) { + $edited = $ical->{'LAST-MODIFIED'}->getDateTime(); + $ev['edited'] = datetime_convert('UTC','UTC',$edited->format(\DateTime::W3C)); + } + + if(isset($ical->{'X-ZOT-LOCATION'})) + $ev['location'] = event_ical_get_sourcetext( (string) $ical->{'X-ZOT-LOCATION'}); + elseif(isset($ical->LOCATION)) + $ev['location'] = (string) $ical->LOCATION; + + if(isset($ical->{'X-ZOT-DESCRIPTION'})) + $ev['description'] = event_ical_get_sourcetext( (string) $ical->{'X-ZOT-DESCRIPTION'}); + elseif(isset($ical->DESCRIPTION)) + $ev['description'] = (string) $ical->DESCRIPTION; + + if(isset($ical->{'X-ZOT-SUMMARY'})) + $ev['summary'] = event_ical_get_sourcetext( (string) $ical->{'X-ZOT-SUMMARY'}); + elseif(isset($ical->SUMMARY)) + $ev['summary'] = (string) $ical->SUMMARY; + + if(isset($ical->PRIORITY)) + $ev['event_priority'] = intval((string) $ical->PRIORITY); + + if(isset($ical->UID)) { + $evuid = (string) $ical->UID; + $ev['event_hash'] = $evuid; + } + + if(isset($ical->SEQUENCE)) { + $ev['event_sequence'] = (string) $ical->SEQUENCE; + } + + if(isset($ical->STATUS)) { + $ev['event_status'] = (string) $ical->STATUS; + } + + if(isset($ical->{'COMPLETED'})) { + $completed = $ical->{'COMPLETED'}->getDateTime(); + $ev['event_status_date'] = datetime_convert('UTC','UTC',$completed->format(\DateTime::W3C)); + } + + if(isset($ical->{'PERCENT-COMPLETE'})) { + $ev['event_percent'] = (string) $ical->{'PERCENT-COMPLETE'} ; + } + + $ev['event_vdata'] = $ical->serialize(); + + return $ev; +} + + + + + function parse_ical_file($f,$uid) { require_once('vendor/autoload.php'); @@ -617,15 +758,14 @@ function event_import_ical($ical, $uid) { $ev['dtstart'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC', $dtstart->format(\DateTime::W3C)); - if(isset($ical->DTEND)) { $dtend = $ical->DTEND->getDateTime(); $ev['dtend'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC', $dtend->format(\DateTime::W3C)); } - else + else { $ev['nofinish'] = 1; - + } if($ev['dtstart'] === $ev['dtend']) $ev['nofinish'] = 1; @@ -635,6 +775,7 @@ function event_import_ical($ical, $uid) { $ev['created'] = datetime_convert('UTC','UTC',$created->format(\DateTime::W3C)); } + if(isset($ical->{'LAST-MODIFIED'})) { $edited = $ical->{'LAST-MODIFIED'}->getDateTime(); $ev['edited'] = datetime_convert('UTC','UTC',$edited->format(\DateTime::W3C)); diff --git a/include/help.php b/include/help.php index 6e779f000..e4725575d 100644 --- a/include/help.php +++ b/include/help.php @@ -1,5 +1,7 @@ <?php +use \Michelf\MarkdownExtra; + /** * @brief * @@ -15,7 +17,7 @@ function get_help_content($tocpath = false) { $text = ''; $path = (($tocpath !== false) ? $tocpath : ''); - + if($tocpath === false && argc() > 1) { $path = ''; for($x = 1; $x < argc(); $x ++) { @@ -55,7 +57,7 @@ function get_help_content($tocpath = false) { if(! $text) { $doctype = 'bbcode'; $text = load_doc_file('doc/main.bb'); - goaway('/help/about/about_hubzilla'); + goaway('/help/about/about_hubzilla'); \App::$page['title'] = t('Help'); } @@ -69,12 +71,11 @@ function get_help_content($tocpath = false) { } if($doctype === 'html') - $content = parseIdentityAwareHTML($text); - if($doctype === 'markdown') { - require_once('library/markdown.php'); + $content = parseIdentityAwareHTML($text); + if($doctype === 'markdown') { # escape #include tags $text = preg_replace('/#include/ism', '%%include', $text); - $content = Markdown($text); + $content = MarkdownExtra::defaultTransform($text); $content = preg_replace('/%%include/ism', '#include', $content); } if($doctype === 'bbcode') { @@ -99,8 +100,7 @@ function preg_callback_help_include($matches) { $include = str_replace(' target="_blank"','',$include); } elseif(preg_match('/\.md$/', $matches[1])) { - require_once('library/markdown.php'); - $include = Markdown($include); + $include = MarkdownExtra::defaultTransform($include); } return $include; } diff --git a/include/items.php b/include/items.php index 139c637e5..6d21953a9 100755 --- a/include/items.php +++ b/include/items.php @@ -359,10 +359,12 @@ function post_activity_item($arr,$allow_code = false,$deliver = true) { if(($is_comment) && ($arr['obj_type'] === ACTIVITY_OBJ_NOTE)) $arr['obj_type'] = ACTIVITY_OBJ_COMMENT; - $arr['allow_cid'] = ((x($arr,'allow_cid')) ? $arr['allow_cid'] : $channel['channel_allow_cid']); - $arr['allow_gid'] = ((x($arr,'allow_gid')) ? $arr['allow_gid'] : $channel['channel_allow_gid']); - $arr['deny_cid'] = ((x($arr,'deny_cid')) ? $arr['deny_cid'] : $channel['channel_deny_cid']); - $arr['deny_gid'] = ((x($arr,'deny_gid')) ? $arr['deny_gid'] : $channel['channel_deny_gid']); + if(! ($arr['allow_cid'] || $arr['allow_gid'] || $arr['deny_cid'] || $arr['deny_gid'])) { + $arr['allow_cid'] = $channel['channel_allow_cid']; + $arr['allow_gid'] = $channel['channel_allow_gid']; + $arr['deny_cid'] = $channel['channel_deny_cid']; + $arr['deny_gid'] = $channel['channel_deny_gid']; + } $arr['comment_policy'] = map_scope(\Zotlabs\Access\PermissionLimits::Get($channel['channel_id'],'post_comments')); @@ -424,7 +426,7 @@ function validate_item_elements($message,$arr) { /** - * @brief Limit lenght on imported system messages. + * @brief Limit length on imported system messages. * * The purpose of this function is to apply system message length limits to * imported messages without including any embedded photos in the length. diff --git a/include/markdown.php b/include/markdown.php index 7afdc6c54..7e1f1c42c 100644 --- a/include/markdown.php +++ b/include/markdown.php @@ -4,12 +4,13 @@ * @brief Some functions for BB conversions for Diaspora protocol. */ +use Michelf\MarkdownExtra; +use Markdownify\Converter; + require_once("include/oembed.php"); require_once("include/event.php"); -require_once("library/markdown.php"); require_once("include/html2bbcode.php"); require_once("include/bbcode.php"); -require_once("library/markdownify/markdownify.php"); function get_bb_tag_pos($s, $name, $occurance = 1) { @@ -73,7 +74,7 @@ function bb_tag_preg_replace($pattern, $replace, $name, $s) { function share_shield($m) { return str_replace($m[1],'!=+=+=!' . base64url_encode($m[1]) . '=+!=+!=',$m[0]); -} +} function share_unshield($m) { $x = str_replace(array('!=+=+=!','=+!=+!='),array('',''),$m[1]); @@ -184,7 +185,7 @@ function markdown_to_bb($s, $use_zrl = false) { // This seems to work $s = preg_replace('/\#([^\s\#])/','#$1',$s); - $s = Markdown($s); + $s = MarkdownExtra::defaultTransform($s); $s = str_replace("\r","",$s); @@ -299,7 +300,7 @@ function bb2dmention_callback($match) { $r = q("select xchan_addr from xchan where xchan_url = '%s'", dbesc($match[2]) - ); + ); if($r) return '@{' . $match[3] . ' ; ' . $r[0]['xchan_addr'] . '}'; @@ -333,7 +334,7 @@ function bb2diaspora_itemwallwall(&$item,$uplink = false) { $has_meta = true; if($item['author_xchan'] != $item['owner_xchan']) { - if($item['mid'] == $item['parent_mid']) + if($item['mid'] == $item['parent_mid']) $wallwall = true; else { if(! $has_meta) { @@ -348,12 +349,12 @@ function bb2diaspora_itemwallwall(&$item,$uplink = false) { 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'] . '][b]' . $item['author']['xchan_name'] . '[/b][/url]' . "\n\n" - . $item['body'] + $item['body'] = "\n\n" + . '[quote]' + . '[img]' . $item['author']['xchan_photo_s'] . '[/img]' + . ' ' + . '[url=' . $item['author']['xchan_url'] . '][b]' . $item['author']['xchan_name'] . '[/b][/url]' . "\n\n" + . $item['body'] . '[/quote]'; } @@ -366,7 +367,6 @@ function bb2diaspora_itemwallwall(&$item,$uplink = false) { function bb2diaspora_itembody($item, $force_update = false, $have_channel = false, $uplink = false) { - if(! get_iconfig($item,'diaspora','fields')) { $force_update = true; } @@ -453,7 +453,7 @@ function bb2diaspora_itembody($item, $force_update = false, $have_channel = fals return html_entity_decode($body); } -function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) { +function bb2diaspora($Text, $preserve_nl = false, $fordiaspora = true) { // Re-enabling the converter again. // The bbcode parser now handles youtube-links (and the other stuff) correctly. @@ -490,17 +490,16 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) { // Convert it to HTML - don't try oembed $Text = bbcode($Text, $preserve_nl, false); - // Markdownify does not preserve previously escaped html entities such as <> and &. + // Markdownify does not preserve previously escaped html entities such as <> and &. $Text = str_replace(array('<','>','&'),array('&_lt_;','&_gt_;','&_amp_;'),$Text); // Now convert HTML to Markdown - $md = new Markdownify(false, false, false); + $md = new Converter(Converter::LINK_AFTER_CONTENT, false, false); $Text = $md->parseString($Text); - - // It also adds backslashes to our attempt at getting around the html entity preservation for some weird reason. + // It also adds backslashes to our attempt at getting around the html entity preservation for some weird reason. $Text = str_replace(array('&\\_lt\\_;','&\\_gt\\_;','&\\_amp\\_;'),array('<','>','&'),$Text); @@ -510,7 +509,7 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) { // So take off the angle brackets of any such URL $Text = preg_replace("/<http(.*?)>/is", "http$1", $Text); - // Remove empty zrl links + // Remove empty zrl links $Text = preg_replace("/\[zrl\=\].*?\[\/zrl\]/is", "", $Text); // Remove all unconverted tags @@ -521,7 +520,7 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) { $Text = trim($Text); - call_hooks('bb2diaspora',$Text); + call_hooks('bb2diaspora', $Text); return $Text; } @@ -543,22 +542,22 @@ function format_event_diaspora($ev) { $o .= '**' . (($ev['summary']) ? bb2diaspora($ev['summary']) : bb2diaspora($ev['desc'])) . '**' . "\n"; $o .= t('Starts:') . ' ' . '[' - . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC', + . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC', $ev['start'] , $bd_format )) - : day_translate(datetime_convert('UTC', 'UTC', + : day_translate(datetime_convert('UTC', 'UTC', $ev['start'] , $bd_format))) . '](' . z_root() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['start'])) . ")\n"; if(! $ev['nofinish']) - $o .= t('Finishes:') . ' ' . '[' - . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC', + $o .= t('Finishes:') . ' ' . '[' + . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC', $ev['finish'] , $bd_format )) - : day_translate(datetime_convert('UTC', 'UTC', + : day_translate(datetime_convert('UTC', 'UTC', $ev['finish'] , $bd_format ))) . '](' . z_root() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['finish'])) . ")\n"; if(strlen($ev['location'])) - $o .= t('Location:') . bb2diaspora($ev['location']) + $o .= t('Location:') . bb2diaspora($ev['location']) . "\n"; $o .= "\n"; diff --git a/include/nav.php b/include/nav.php index 43c7771ec..144509cd0 100644 --- a/include/nav.php +++ b/include/nav.php @@ -285,7 +285,7 @@ EOT; App::$page['nav'] .= replace_macros($tpl, array( '$baseurl' => z_root(), - '$fulldocs' => t('Documentation'), + '$fulldocs' => t('Help'), '$sitelocation' => $sitelocation, '$nav' => $x['nav'], '$banner' => $banner, @@ -296,7 +296,8 @@ EOT; '$powered_by' => $powered_by, '$help' => t('@name, #tag, ?doc, content'), '$pleasewait' => t('Please wait...'), - '$navapps' => $navapps + '$navapps' => $navapps, + '$addapps' => t('Add Apps') )); if(x($_SESSION, 'reload_avatar') && $observer) { diff --git a/include/network.php b/include/network.php index 66716ef9e..6d1a05e9f 100644 --- a/include/network.php +++ b/include/network.php @@ -24,6 +24,7 @@ function get_capath() { * @param array $opts (optional parameters) associative array with: * * \b accept_content => supply Accept: header with 'accept_content' as the value * * \b timeout => int seconds, default system config value or 60 seconds + * * \b headers => array of additional header fields * * \b http_auth => username:password * * \b novalidate => do not validate SSL certs, default is to validate using our CA list * * \b nobody => only return the header @@ -31,6 +32,7 @@ function get_capath() { * * \b custom => custom request method: e.g. 'PUT', 'DELETE' * * \b cookiejar => cookie file (write) * * \b cookiefile => cookie file (read) + * * \b session => boolean; append session cookie *if* $url is our own site * * @return array an associative array with: * * \e int \b return_code => HTTP return code or 0 if timeout or failure @@ -74,8 +76,21 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) { if(x($opts,'readfunc')) @curl_setopt($ch, CURLOPT_READFUNCTION, $opts['readfunc']); - if(x($opts,'headers')) - @curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']); + // When using the session option and fetching from our own site, + // append the PHPSESSID cookie to any existing headers. + // Don't add to $opts['headers'] so that the cookie does not get + // sent to other sites via redirects + + $instance_headers = ((array_key_exists('headers',$opts) && is_array($opts['headers'])) ? $opts['headers'] : []); + + if(x($opts,'session')) { + if(strpos($url,z_root()) === 0) { + $instance_headers[] = 'Cookie: PHPSESSID=' . session_id(); + } + } + if($instance_headers) + @curl_setopt($ch, CURLOPT_HTTPHEADER, $instance_headers); + if(x($opts,'nobody')) @curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']); @@ -91,6 +106,7 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) { @curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60)); } + if(x($opts,'http_auth')) { // "username" . ':' . "password" @curl_setopt($ch, CURLOPT_USERPWD, $opts['http_auth']); @@ -229,9 +245,16 @@ function z_post_url($url,$params, $redirects = 0, $opts = array()) { @curl_setopt($ch, CURLOPT_HEADER, false); } - if(x($opts,'headers')) { - @curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']); + $instance_headers = ((array_key_exists('headers',$opts) && is_array($opts['headers'])) ? $opts['headers'] : []); + + if(x($opts,'session')) { + if(strpos($url,z_root()) === 0) { + $instance_headers[] = 'Cookie: PHPSESSID=' . session_id(); + } } + if($instance_headers) + @curl_setopt($ch, CURLOPT_HTTPHEADER, $instance_headers); + if(x($opts,'nobody')) @curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']); diff --git a/include/plugin.php b/include/plugin.php index 3a64f67cc..29474735e 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -471,6 +471,8 @@ function get_theme_info($theme){ 'description' => '', 'author' => array(), 'version' => '', + 'minversion' => '', + 'maxversion' => '', 'compat' => '', 'credits' => '', 'maintainer' => array(), @@ -598,16 +600,23 @@ function head_get_links() { function format_css_if_exists($source) { - $path_prefix = script_path() . '/'; - if (strpos($source[0], '/') !== false) { - // The source is a URL - $path = $source[0]; + // script_path() returns https://yoursite.tld + + $path_prefix = script_path(); + + $script = $source[0]; + + if(strpos($script, '/') !== false) { + // The script is a path relative to the server root + $path = $script; // If the url starts with // then it's an absolute URL - if($source[0][0] === '/' && $source[0][1] === '/') $path_prefix = ''; + if(substr($script,0,2) === '//') { + $path_prefix = ''; + } } else { // It's a file from the theme - $path = theme_include($source[0]); + $path = '/' . theme_include($script); } if($path) { @@ -677,7 +686,7 @@ function head_get_js() { foreach(App::$js_sources as $sources) { if(count($sources)) { foreach($sources as $source) { - if($src === 'main.js') + if($source === 'main.js') continue; $str .= format_js_if_exists($source); } @@ -697,16 +706,19 @@ function head_get_main_js() { } function format_js_if_exists($source) { - $path_prefix = script_path() . '/'; + $path_prefix = script_path(); if(strpos($source,'/') !== false) { - // The source is a URL + // The source is a known path on the system $path = $source; // If the url starts with // then it's an absolute URL - if($source[0] === '/' && $source[1] === '/') $path_prefix = ''; - } else { + if(substr($source,0,2) === '//') { + $path_prefix = ''; + } + } + else { // It's a file from the theme - $path = theme_include($source); + $path = '/' . theme_include($source); } if($path) { $qstring = ((parse_url($path, PHP_URL_QUERY)) ? '&' : '?') . 'v=' . STD_VERSION; diff --git a/include/text.php b/include/text.php index 8c01ed1d2..c68bd3591 100644 --- a/include/text.php +++ b/include/text.php @@ -3,8 +3,9 @@ * @file include/text.php */ -require_once("include/bbcode.php"); +use \Michelf\MarkdownExtra; +require_once("include/bbcode.php"); // random string, there are 86 characters max in text mode, 128 for hex // output is urlsafe @@ -586,8 +587,10 @@ function photo_new_resource() { * @return boolean true if found */ function attribute_contains($attr, $s) { + // remove quotes + $attr = str_replace([ '"',"'" ],['',''],$attr); $a = explode(' ', $attr); - if(count($a) && in_array($s, $a)) + if($a && in_array($s, $a)) return true; return false; @@ -851,6 +854,11 @@ function tag_sort_length($a,$b) { return((mb_strlen($b) < mb_strlen($a)) ? (-1) : 1); } +function total_sort($a,$b) { + if($a['total'] == $b['total']) + return 0; + return(($b['total'] > $a['total']) ? 1 : (-1)); +} /** @@ -1581,11 +1589,6 @@ function prepare_body(&$item,$attach = false) { $photo = $prep_arr['photo']; $event = $prep_arr['event']; -// q("update item set html = '%s' where id = %d", -// dbesc($s), -// intval($item['id']) -// ); - if(! $attach) { return $s; } @@ -1653,8 +1656,7 @@ function prepare_text($text, $content_type = 'text/bbcode', $cache = false) { break; case 'text/markdown': - require_once('library/markdown.php'); - $s = Markdown($text); + $s = MarkdownExtra::defaultTransform($text); break; case 'application/x-pdl'; @@ -2065,7 +2067,7 @@ function ids_to_array($arr,$idx = 'id') { $t = array(); if($arr) { foreach($arr as $x) { - if(array_key_exists($idx,$x) && strlen($x[$idx]) && (! in_array($x[$idx],$t))) { + if(array_key_exists($idx,$x) && strlen($x[$idx]) && (! in_array($x[$idx],$t))) { $t[] = $x[$idx]; } } @@ -2081,7 +2083,7 @@ function ids_to_querystr($arr,$idx = 'id',$quote = false) { if($arr) { foreach($arr as $x) { if(! in_array($x[$idx],$t)) { - if($quote) + if($quote) $t[] = "'" . dbesc($x[$idx]) . "'"; else $t[] = $x[$idx]; diff --git a/include/widgets.php b/include/widgets.php index cb8a6133e..f05c7c0ee 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -96,20 +96,6 @@ function widget_collections($args) { return group_side($every, $each, $edit, $current, $abook_id, $wmode); } - -function widget_appselect($arr) { - return replace_macros(get_markup_template('app_select.tpl'),array( - '$title' => t('Apps'), - '$system' => t('System'), - '$authed' => ((local_channel()) ? true : false), - '$personal' => t('Personal'), - '$new' => t('New App'), - '$edit' => t('Edit Apps'), - '$cat' => ((array_key_exists('cat',$_REQUEST)) ? $_REQUEST['cat'] : '') - )); -} - - function widget_suggestions($arr) { if((! local_channel()) || (! feature_enabled(local_channel(),'suggest'))) @@ -959,7 +945,7 @@ function widget_wiki_pages($arr) { } } } - $can_create = perm_is_allowed(\App::$profile['uid'],get_observer_hash(),'write_pages'); + $can_create = perm_is_allowed(\App::$profile['uid'],get_observer_hash(),'write_wiki'); $can_delete = ((local_channel() && (local_channel() == \App::$profile['uid'])) ? true : false); @@ -1508,6 +1494,63 @@ function widget_forums($arr) { } +function widget_activity($arr) { + + if(! local_channel()) + return ''; + + $o = ''; + + if(is_array($arr) && array_key_exists('limit',$arr)) + $limit = " limit " . intval($limit) . " "; + else + $limit = ''; + + $perms_sql = item_permissions_sql(local_channel()) . item_normal(); + + $r = q("select author_xchan from item where item_unseen = 1 and uid = %d $perms_sql", + intval(local_channel()) + ); + + $contributors = []; + $arr = []; + + if($r) { + foreach($r as $rv) { + if(array_key_exists($rv['author_xchan'],$contributors)) { + $contributors[$rv['author_xchan']] ++; + } + else { + $contributors[$rv['author_xchan']] = 1; + } + } + foreach($contributors as $k => $v) { + $arr[] = [ 'author_xchan' => $k, 'total' => $v ]; + } + usort($arr,'total_sort'); + xchan_query($arr); + } + + $x = [ 'entries' => $arr ]; + call_hooks('activity_widget',$x); + $arr = $x['entries']; + + if($arr) { + $o .= '<div class="widget">'; + $o .= '<h3>' . t('Activity','widget') . '</h3><ul class="nav nav-pills nav-stacked">'; + + foreach($arr as $rv) { + $o .= '<li><a href="network?f=&xchan=' . urlencode($rv['author_xchan']) . '" ><span class="badge pull-right">' . ((intval($rv['total'])) ? intval($rv['total']) : '') . '</span><img src="' . $rv['author']['xchan_photo_s'] . '" style="width: 16px; height: 16px;" /> ' . $rv['author']['xchan_name'] . '</a></li>'; + } + $o .= '</ul></div>'; + } + return $o; + +} + + + + function widget_tasklist($arr) { if (! local_channel()) @@ -1580,7 +1623,7 @@ function widget_admin($arr) { */ if(! is_site_admin()) { - return login(false); + return ''; } $o = ''; diff --git a/include/zot.php b/include/zot.php index 736712c81..8a2178913 100644 --- a/include/zot.php +++ b/include/zot.php @@ -334,10 +334,7 @@ function zot_refresh($them, $channel = null, $force = false) { } else { logger('No signed token from ' . $url . $rhs, LOGGER_NORMAL, LOG_WARNING); - // after 2017-01-01 this will be a hard error unless you over-ride it. - if((time() > 1483228800) && (! get_config('system','allow_unsigned_zotfinger'))) { - return false; - } + return false; } $x = import_xchan($j, (($force) ? UPDATE_FLAGS_FORCED : UPDATE_FLAGS_UPDATED)); diff --git a/library/markdown.php b/library/markdown.php deleted file mode 100644 index 0e3275ff2..000000000 --- a/library/markdown.php +++ /dev/null @@ -1,2932 +0,0 @@ -<?php -# -# Markdown Extra - A text-to-HTML conversion tool for web writers -# -# PHP Markdown & Extra -# Copyright (c) 2004-2012 Michel Fortin -# <http://michelf.com/projects/php-markdown/> -# -# Original Markdown -# Copyright (c) 2004-2006 John Gruber -# <http://daringfireball.net/projects/markdown/> -# - - -define( 'MARKDOWN_VERSION', "1.0.1o" ); # Sun 8 Jan 2012 -define( 'MARKDOWNEXTRA_VERSION', "1.2.5" ); # Sun 8 Jan 2012 - - -# -# Global default settings: -# - -# Change to ">" for HTML output -@define( 'MARKDOWN_EMPTY_ELEMENT_SUFFIX', " />"); - -# Define the width of a tab for code blocks. -@define( 'MARKDOWN_TAB_WIDTH', 4 ); - -# Optional title attribute for footnote links and backlinks. -@define( 'MARKDOWN_FN_LINK_TITLE', "" ); -@define( 'MARKDOWN_FN_BACKLINK_TITLE', "" ); - -# Optional class attribute for footnote links and backlinks. -@define( 'MARKDOWN_FN_LINK_CLASS', "" ); -@define( 'MARKDOWN_FN_BACKLINK_CLASS', "" ); - - -# -# WordPress settings: -# - -# Change to false to remove Markdown from posts and/or comments. -@define( 'MARKDOWN_WP_POSTS', true ); -@define( 'MARKDOWN_WP_COMMENTS', true ); - - - -### Standard Function Interface ### - -@define( 'MARKDOWN_PARSER_CLASS', 'MarkdownExtra_Parser' ); - -function Markdown($text) { -# -# Initialize the parser and return the result of its transform method. -# - # Setup static parser variable. - static $parser; - if (!isset($parser)) { - $parser_class = MARKDOWN_PARSER_CLASS; - $parser = new $parser_class; - } - - # Transform text using parser. - return $parser->transform($text); -} - - -### WordPress Plugin Interface ### - -/* -Plugin Name: Markdown Extra -Plugin URI: http://michelf.com/projects/php-markdown/ -Description: <a href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax</a> allows you to write using an easy-to-read, easy-to-write plain text format. Based on the original Perl version by <a href="http://daringfireball.net/">John Gruber</a>. <a href="http://michelf.com/projects/php-markdown/">More...</a> -Version: 1.2.5 -Author: Michel Fortin -Author URI: http://michelf.com/ -*/ - -if (isset($wp_version)) { - # More details about how it works here: - # <http://michelf.com/weblog/2005/wordpress-text-flow-vs-markdown/> - - # Post content and excerpts - # - Remove WordPress paragraph generator. - # - Run Markdown on excerpt, then remove all tags. - # - Add paragraph tag around the excerpt, but remove it for the excerpt rss. - if (MARKDOWN_WP_POSTS) { - remove_filter('the_content', 'wpautop'); - remove_filter('the_content_rss', 'wpautop'); - remove_filter('the_excerpt', 'wpautop'); - add_filter('the_content', 'mdwp_MarkdownPost', 6); - add_filter('the_content_rss', 'mdwp_MarkdownPost', 6); - add_filter('get_the_excerpt', 'mdwp_MarkdownPost', 6); - add_filter('get_the_excerpt', 'trim', 7); - add_filter('the_excerpt', 'mdwp_add_p'); - add_filter('the_excerpt_rss', 'mdwp_strip_p'); - - remove_filter('content_save_pre', 'balanceTags', 50); - remove_filter('excerpt_save_pre', 'balanceTags', 50); - add_filter('the_content', 'balanceTags', 50); - add_filter('get_the_excerpt', 'balanceTags', 9); - } - - # Add a footnote id prefix to posts when inside a loop. - function mdwp_MarkdownPost($text) { - static $parser; - if (!$parser) { - $parser_class = MARKDOWN_PARSER_CLASS; - $parser = new $parser_class; - } - if (is_single() || is_page() || is_feed()) { - $parser->fn_id_prefix = ""; - } else { - $parser->fn_id_prefix = get_the_ID() . "."; - } - return $parser->transform($text); - } - - # Comments - # - Remove WordPress paragraph generator. - # - Remove WordPress auto-link generator. - # - Scramble important tags before passing them to the kses filter. - # - Run Markdown on excerpt then remove paragraph tags. - if (MARKDOWN_WP_COMMENTS) { - remove_filter('comment_text', 'wpautop', 30); - remove_filter('comment_text', 'make_clickable'); - add_filter('pre_comment_content', 'Markdown', 6); - add_filter('pre_comment_content', 'mdwp_hide_tags', 8); - add_filter('pre_comment_content', 'mdwp_show_tags', 12); - add_filter('get_comment_text', 'Markdown', 6); - add_filter('get_comment_excerpt', 'Markdown', 6); - add_filter('get_comment_excerpt', 'mdwp_strip_p', 7); - - global $mdwp_hidden_tags, $mdwp_placeholders; - $mdwp_hidden_tags = explode(' ', - '<p> </p> <pre> </pre> <ol> </ol> <ul> </ul> <li> </li>'); - $mdwp_placeholders = explode(' ', str_rot13( - 'pEj07ZbbBZ U1kqgh4w4p pre2zmeN6K QTi31t9pre ol0MP1jzJR '. - 'ML5IjmbRol ulANi1NsGY J7zRLJqPul liA8ctl16T K9nhooUHli')); - } - - function mdwp_add_p($text) { - if (!preg_match('{^$|^<(p|ul|ol|dl|pre|blockquote)>}i', $text)) { - $text = '<p>'.$text.'</p>'; - $text = preg_replace('{\n{2,}}', "</p>\n\n<p>", $text); - } - return $text; - } - - function mdwp_strip_p($t) { return preg_replace('{</?p>}i', '', $t); } - - function mdwp_hide_tags($text) { - global $mdwp_hidden_tags, $mdwp_placeholders; - return str_replace($mdwp_hidden_tags, $mdwp_placeholders, $text); - } - function mdwp_show_tags($text) { - global $mdwp_hidden_tags, $mdwp_placeholders; - return str_replace($mdwp_placeholders, $mdwp_hidden_tags, $text); - } -} - - -### bBlog Plugin Info ### - -function identify_modifier_markdown() { - return array( - 'name' => 'markdown', - 'type' => 'modifier', - 'nicename' => 'PHP Markdown Extra', - 'description' => 'A text-to-HTML conversion tool for web writers', - 'authors' => 'Michel Fortin and John Gruber', - 'licence' => 'GPL', - 'version' => MARKDOWNEXTRA_VERSION, - 'help' => '<a href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax</a> allows you to write using an easy-to-read, easy-to-write plain text format. Based on the original Perl version by <a href="http://daringfireball.net/">John Gruber</a>. <a href="http://michelf.com/projects/php-markdown/">More...</a>', - ); -} - - -### Smarty Modifier Interface ### - -function smarty_modifier_markdown($text) { - return Markdown($text); -} - - -### Textile Compatibility Mode ### - -# Rename this file to "classTextile.php" and it can replace Textile everywhere. - -if (strcasecmp(substr(__FILE__, -16), "classTextile.php") == 0) { - # Try to include PHP SmartyPants. Should be in the same directory. - @include_once 'smartypants.php'; - # Fake Textile class. It calls Markdown instead. - class Textile { - function TextileThis($text, $lite='', $encode='') { - if ($lite == '' && $encode == '') $text = Markdown($text); - if (function_exists('SmartyPants')) $text = SmartyPants($text); - return $text; - } - # Fake restricted version: restrictions are not supported for now. - function TextileRestricted($text, $lite='', $noimage='') { - return $this->TextileThis($text, $lite); - } - # Workaround to ensure compatibility with TextPattern 4.0.3. - function blockLite($text) { return $text; } - } -} - - - -# -# Markdown Parser Class -# - -class Markdown_Parser { - - # Regex to match balanced [brackets]. - # Needed to insert a maximum bracked depth while converting to PHP. - var $nested_brackets_depth = 6; - var $nested_brackets_re; - - var $nested_url_parenthesis_depth = 4; - var $nested_url_parenthesis_re; - - # Table of hash values for escaped characters: - var $escape_chars = '\`*_{}[]()>#+-.!'; - var $escape_chars_re; - - # Change to ">" for HTML output. - var $empty_element_suffix = MARKDOWN_EMPTY_ELEMENT_SUFFIX; - var $tab_width = MARKDOWN_TAB_WIDTH; - - # Change to `true` to disallow markup or entities. - var $no_markup = false; - var $no_entities = false; - - # Predefined urls and titles for reference links and images. - var $predef_urls = array(); - var $predef_titles = array(); - - - function Markdown_Parser() { - # - # Constructor function. Initialize appropriate member variables. - # - $this->_initDetab(); - $this->prepareItalicsAndBold(); - - $this->nested_brackets_re = - str_repeat('(?>[^\[\]]+|\[', $this->nested_brackets_depth). - str_repeat('\])*', $this->nested_brackets_depth); - - $this->nested_url_parenthesis_re = - str_repeat('(?>[^()\s]+|\(', $this->nested_url_parenthesis_depth). - str_repeat('(?>\)))*', $this->nested_url_parenthesis_depth); - - $this->escape_chars_re = '['.preg_quote($this->escape_chars).']'; - - # Sort document, block, and span gamut in ascendent priority order. - asort($this->document_gamut); - asort($this->block_gamut); - asort($this->span_gamut); - } - - - # Internal hashes used during transformation. - var $urls = array(); - var $titles = array(); - var $html_hashes = array(); - - # Status flag to avoid invalid nesting. - var $in_anchor = false; - - - function setup() { - # - # Called before the transformation process starts to setup parser - # states. - # - # Clear global hashes. - $this->urls = $this->predef_urls; - $this->titles = $this->predef_titles; - $this->html_hashes = array(); - - $in_anchor = false; - } - - function teardown() { - # - # Called after the transformation process to clear any variable - # which may be taking up memory unnecessarly. - # - $this->urls = array(); - $this->titles = array(); - $this->html_hashes = array(); - } - - - function transform($text) { - # - # Main function. Performs some preprocessing on the input text - # and pass it through the document gamut. - # - $this->setup(); - - # Remove UTF-8 BOM and marker character in input, if present. - $text = preg_replace('{^\xEF\xBB\xBF|\x1A}', '', $text); - - # Standardize line endings: - # DOS to Unix and Mac to Unix - $text = preg_replace('{\r\n?}', "\n", $text); - - # Make sure $text ends with a couple of newlines: - $text .= "\n\n"; - - # Convert all tabs to spaces. - $text = $this->detab($text); - - # Turn block-level HTML blocks into hash entries - $text = $this->hashHTMLBlocks($text); - - # Strip any lines consisting only of spaces and tabs. - # This makes subsequent regexen easier to write, because we can - # match consecutive blank lines with /\n+/ instead of something - # contorted like /[ ]*\n+/ . - $text = preg_replace('/^[ ]+$/m', '', $text); - - # Run document gamut methods. - foreach ($this->document_gamut as $method => $priority) { - $text = $this->$method($text); - } - - $this->teardown(); - - return $text . "\n"; - } - - var $document_gamut = array( - # Strip link definitions, store in hashes. - "stripLinkDefinitions" => 20, - - "runBasicBlockGamut" => 30, - ); - - - function stripLinkDefinitions($text) { - # - # Strips link definitions from text, stores the URLs and titles in - # hash references. - # - $less_than_tab = $this->tab_width - 1; - - # Link defs are in the form: ^[id]: url "optional title" - $text = preg_replace_callback('{ - ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1 - [ ]* - \n? # maybe *one* newline - [ ]* - (?: - <(.+?)> # url = $2 - | - (\S+?) # url = $3 - ) - [ ]* - \n? # maybe one newline - [ ]* - (?: - (?<=\s) # lookbehind for whitespace - ["(] - (.*?) # title = $4 - [")] - [ ]* - )? # title is optional - (?:\n+|\Z) - }xm', - array(&$this, '_stripLinkDefinitions_callback'), - $text); - return $text; - } - function _stripLinkDefinitions_callback($matches) { - $link_id = strtolower($matches[1]); - $url = $matches[2] == '' ? $matches[3] : $matches[2]; - $this->urls[$link_id] = $url; - $this->titles[$link_id] =& $matches[4]; - return ''; # String that will replace the block - } - - - function hashHTMLBlocks($text) { - if ($this->no_markup) return $text; - - $less_than_tab = $this->tab_width - 1; - - # Hashify HTML blocks: - # We only want to do this for block-level HTML tags, such as headers, - # lists, and tables. That's because we still want to wrap <p>s around - # "paragraphs" that are wrapped in non-block-level tags, such as anchors, - # phrase emphasis, and spans. The list of tags we're looking for is - # hard-coded: - # - # * List "a" is made of tags which can be both inline or block-level. - # These will be treated block-level when the start tag is alone on - # its line, otherwise they're not matched here and will be taken as - # inline later. - # * List "b" is made of tags which are always block-level; - # - $block_tags_a_re = 'ins|del'; - $block_tags_b_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|'. - 'script|noscript|form|fieldset|iframe|math'; - - # Regular expression for the content of a block tag. - $nested_tags_level = 4; - $attr = ' - (?> # optional tag attributes - \s # starts with whitespace - (?> - [^>"/]+ # text outside quotes - | - /+(?!>) # slash not followed by ">" - | - "[^"]*" # text inside double quotes (tolerate ">") - | - \'[^\']*\' # text inside single quotes (tolerate ">") - )* - )? - '; - $content = - str_repeat(' - (?> - [^<]+ # content without tag - | - <\2 # nested opening tag - '.$attr.' # attributes - (?> - /> - | - >', $nested_tags_level). # end of opening tag - '.*?'. # last level nested tag content - str_repeat(' - </\2\s*> # closing nested tag - ) - | - <(?!/\2\s*> # other tags with a different name - ) - )*', - $nested_tags_level); - $content2 = str_replace('\2', '\3', $content); - - # First, look for nested blocks, e.g.: - # <div> - # <div> - # tags for inner block must be indented. - # </div> - # </div> - # - # The outermost tags must start at the left margin for this to match, and - # the inner nested divs must be indented. - # We need to do this before the next, more liberal match, because the next - # match will start at the first `<div>` and stop at the first `</div>`. - $text = preg_replace_callback('{(?> - (?> - (?<=\n\n) # Starting after a blank line - | # or - \A\n? # the beginning of the doc - ) - ( # save in $1 - - # Match from `\n<tag>` to `</tag>\n`, handling nested tags - # in between. - - [ ]{0,'.$less_than_tab.'} - <('.$block_tags_b_re.')# start tag = $2 - '.$attr.'> # attributes followed by > and \n - '.$content.' # content, support nesting - </\2> # the matching end tag - [ ]* # trailing spaces/tabs - (?=\n+|\Z) # followed by a newline or end of document - - | # Special version for tags of group a. - - [ ]{0,'.$less_than_tab.'} - <('.$block_tags_a_re.')# start tag = $3 - '.$attr.'>[ ]*\n # attributes followed by > - '.$content2.' # content, support nesting - </\3> # the matching end tag - [ ]* # trailing spaces/tabs - (?=\n+|\Z) # followed by a newline or end of document - - | # Special case just for <hr />. It was easier to make a special - # case than to make the other regex more complicated. - - [ ]{0,'.$less_than_tab.'} - <(hr) # start tag = $2 - '.$attr.' # attributes - /?> # the matching end tag - [ ]* - (?=\n{2,}|\Z) # followed by a blank line or end of document - - | # Special case for standalone HTML comments: - - [ ]{0,'.$less_than_tab.'} - (?s: - <!-- .*? --> - ) - [ ]* - (?=\n{2,}|\Z) # followed by a blank line or end of document - - | # PHP and ASP-style processor instructions (<? and <%) - - [ ]{0,'.$less_than_tab.'} - (?s: - <([?%]) # $2 - .*? - \2> - ) - [ ]* - (?=\n{2,}|\Z) # followed by a blank line or end of document - - ) - )}Sxmi', - array(&$this, '_hashHTMLBlocks_callback'), - $text); - - return $text; - } - function _hashHTMLBlocks_callback($matches) { - $text = $matches[1]; - $key = $this->hashBlock($text); - return "\n\n$key\n\n"; - } - - - function hashPart($text, $boundary = 'X') { - # - # Called whenever a tag must be hashed when a function insert an atomic - # element in the text stream. Passing $text to through this function gives - # a unique text-token which will be reverted back when calling unhash. - # - # The $boundary argument specify what character should be used to surround - # the token. By convension, "B" is used for block elements that needs not - # to be wrapped into paragraph tags at the end, ":" is used for elements - # that are word separators and "X" is used in the general case. - # - # Swap back any tag hash found in $text so we do not have to `unhash` - # multiple times at the end. - $text = $this->unhash($text); - - # Then hash the block. - static $i = 0; - $key = "$boundary\x1A" . ++$i . $boundary; - $this->html_hashes[$key] = $text; - return $key; # String that will replace the tag. - } - - - function hashBlock($text) { - # - # Shortcut function for hashPart with block-level boundaries. - # - return $this->hashPart($text, 'B'); - } - - - var $block_gamut = array( - # - # These are all the transformations that form block-level - # tags like paragraphs, headers, and list items. - # - "doHeaders" => 10, - "doHorizontalRules" => 20, - - "doLists" => 40, - "doCodeBlocks" => 50, - "doBlockQuotes" => 60, - ); - - function runBlockGamut($text) { - # - # Run block gamut tranformations. - # - # We need to escape raw HTML in Markdown source before doing anything - # else. This need to be done for each block, and not only at the - # begining in the Markdown function since hashed blocks can be part of - # list items and could have been indented. Indented blocks would have - # been seen as a code block in a previous pass of hashHTMLBlocks. - $text = $this->hashHTMLBlocks($text); - - return $this->runBasicBlockGamut($text); - } - - function runBasicBlockGamut($text) { - # - # Run block gamut tranformations, without hashing HTML blocks. This is - # useful when HTML blocks are known to be already hashed, like in the first - # whole-document pass. - # - foreach ($this->block_gamut as $method => $priority) { - $text = $this->$method($text); - } - - # Finally form paragraph and restore hashed blocks. - $text = $this->formParagraphs($text); - - return $text; - } - - - function doHorizontalRules($text) { - # Do Horizontal Rules: - return preg_replace( - '{ - ^[ ]{0,3} # Leading space - ([-*_]) # $1: First marker - (?> # Repeated marker group - [ ]{0,2} # Zero, one, or two spaces. - \1 # Marker character - ){2,} # Group repeated at least twice - [ ]* # Tailing spaces - $ # End of line. - }mx', - "\n".$this->hashBlock("<hr$this->empty_element_suffix")."\n", - $text); - } - - - var $span_gamut = array( - # - # These are all the transformations that occur *within* block-level - # tags like paragraphs, headers, and list items. - # - # Process character escapes, code spans, and inline HTML - # in one shot. - "parseSpan" => -30, - - # Process anchor and image tags. Images must come first, - # because ![foo][f] looks like an anchor. - "doImages" => 10, - "doAnchors" => 20, - - # Make links out of things like `<http://example.com/>` - # Must come after doAnchors, because you can use < and > - # delimiters in inline links like [this](<url>). - "doAutoLinks" => 30, - "encodeAmpsAndAngles" => 40, - - "doItalicsAndBold" => 50, - "doHardBreaks" => 60, - ); - - function runSpanGamut($text) { - # - # Run span gamut tranformations. - # - foreach ($this->span_gamut as $method => $priority) { - $text = $this->$method($text); - } - - return $text; - } - - - function doHardBreaks($text) { - # Do hard breaks: - return preg_replace_callback('/ {2,}\n/', - array(&$this, '_doHardBreaks_callback'), $text); - } - function _doHardBreaks_callback($matches) { - return $this->hashPart("<br$this->empty_element_suffix\n"); - } - - - function doAnchors($text) { - # - # Turn Markdown link shortcuts into XHTML <a> tags. - # - if ($this->in_anchor) return $text; - $this->in_anchor = true; - - # - # First, handle reference-style links: [link text] [id] - # - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - ('.$this->nested_brackets_re.') # link text = $2 - \] - - [ ]? # one optional space - (?:\n[ ]*)? # one optional newline followed by spaces - - \[ - (.*?) # id = $3 - \] - ) - }xs', - array(&$this, '_doAnchors_reference_callback'), $text); - - # - # Next, inline-style links: [link text](url "optional title") - # - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - ('.$this->nested_brackets_re.') # link text = $2 - \] - \( # literal paren - [ \n]* - (?: - <(.+?)> # href = $3 - | - ('.$this->nested_url_parenthesis_re.') # href = $4 - ) - [ \n]* - ( # $5 - ([\'"]) # quote char = $6 - (.*?) # Title = $7 - \6 # matching quote - [ \n]* # ignore any spaces/tabs between closing quote and ) - )? # title is optional - \) - ) - }xs', - array(&$this, '_doAnchors_inline_callback'), $text); - - # - # Last, handle reference-style shortcuts: [link text] - # These must come last in case you've also got [link text][1] - # or [link text](/foo) - # - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - ([^\[\]]+) # link text = $2; can\'t contain [ or ] - \] - ) - }xs', - array(&$this, '_doAnchors_reference_callback'), $text); - - $this->in_anchor = false; - return $text; - } - function _doAnchors_reference_callback($matches) { - $whole_match = $matches[1]; - $link_text = $matches[2]; - $link_id =& $matches[3]; - - if ($link_id == "") { - # for shortcut links like [this][] or [this]. - $link_id = $link_text; - } - - # lower-case and turn embedded newlines into spaces - $link_id = strtolower($link_id); - $link_id = preg_replace('{[ ]?\n}', ' ', $link_id); - - if (isset($this->urls[$link_id])) { - $url = $this->urls[$link_id]; - $url = $this->encodeAttribute($url); - - $result = "<a href=\"$url\""; - if ( isset( $this->titles[$link_id] ) ) { - $title = $this->titles[$link_id]; - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; - } - - $link_text = $this->runSpanGamut($link_text); - $result .= ">$link_text</a>"; - $result = $this->hashPart($result); - } - else { - $result = $whole_match; - } - return $result; - } - function _doAnchors_inline_callback($matches) { - $whole_match = $matches[1]; - $link_text = $this->runSpanGamut($matches[2]); - $url = $matches[3] == '' ? $matches[4] : $matches[3]; - $title =& $matches[7]; - - $url = $this->encodeAttribute($url); - - $result = "<a href=\"$url\""; - if (isset($title)) { - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; - } - - $link_text = $this->runSpanGamut($link_text); - $result .= ">$link_text</a>"; - - return $this->hashPart($result); - } - - - function doImages($text) { - # - # Turn Markdown image shortcuts into <img> tags. - # - # - # First, handle reference-style labeled images: ![alt text][id] - # - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - !\[ - ('.$this->nested_brackets_re.') # alt text = $2 - \] - - [ ]? # one optional space - (?:\n[ ]*)? # one optional newline followed by spaces - - \[ - (.*?) # id = $3 - \] - - ) - }xs', - array(&$this, '_doImages_reference_callback'), $text); - - # - # Next, handle inline images: ![alt text](url "optional title") - # Don't forget: encode * and _ - # - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - !\[ - ('.$this->nested_brackets_re.') # alt text = $2 - \] - \s? # One optional whitespace character - \( # literal paren - [ \n]* - (?: - <(\S*)> # src url = $3 - | - ('.$this->nested_url_parenthesis_re.') # src url = $4 - ) - [ \n]* - ( # $5 - ([\'"]) # quote char = $6 - (.*?) # title = $7 - \6 # matching quote - [ \n]* - )? # title is optional - \) - ) - }xs', - array(&$this, '_doImages_inline_callback'), $text); - - return $text; - } - function _doImages_reference_callback($matches) { - $whole_match = $matches[1]; - $alt_text = $matches[2]; - $link_id = strtolower($matches[3]); - - if ($link_id == "") { - $link_id = strtolower($alt_text); # for shortcut links like ![this][]. - } - - $alt_text = $this->encodeAttribute($alt_text); - if (isset($this->urls[$link_id])) { - $url = $this->encodeAttribute($this->urls[$link_id]); - $result = "<img src=\"$url\" alt=\"$alt_text\""; - if (isset($this->titles[$link_id])) { - $title = $this->titles[$link_id]; - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; - } - $result .= $this->empty_element_suffix; - $result = $this->hashPart($result); - } - else { - # If there's no such link ID, leave intact: - $result = $whole_match; - } - - return $result; - } - function _doImages_inline_callback($matches) { - $whole_match = $matches[1]; - $alt_text = $matches[2]; - $url = $matches[3] == '' ? $matches[4] : $matches[3]; - $title =& $matches[7]; - - $alt_text = $this->encodeAttribute($alt_text); - $url = $this->encodeAttribute($url); - $result = "<img src=\"$url\" alt=\"$alt_text\""; - if (isset($title)) { - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; # $title already quoted - } - $result .= $this->empty_element_suffix; - - return $this->hashPart($result); - } - - - function doHeaders($text) { - # Setext-style headers: - # Header 1 - # ======== - # - # Header 2 - # -------- - # - $text = preg_replace_callback('{ ^(.+?)[ ]*\n(=+|-+)[ ]*\n+ }mx', - array(&$this, '_doHeaders_callback_setext'), $text); - - # atx-style headers: - # # Header 1 - # ## Header 2 - # ## Header 2 with closing hashes ## - # ... - # ###### Header 6 - # - $text = preg_replace_callback('{ - ^(\#{1,6}) # $1 = string of #\'s - [ ]* - (.+?) # $2 = Header text - [ ]* - \#* # optional closing #\'s (not counted) - \n+ - }xm', - array(&$this, '_doHeaders_callback_atx'), $text); - - return $text; - } - function _doHeaders_callback_setext($matches) { - # Terrible hack to check we haven't found an empty list item. - if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1])) - return $matches[0]; - - $level = $matches[2]{0} == '=' ? 1 : 2; - $block = "<h$level>".$this->runSpanGamut($matches[1])."</h$level>"; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - function _doHeaders_callback_atx($matches) { - $level = strlen($matches[1]); - $block = "<h$level>".$this->runSpanGamut($matches[2])."</h$level>"; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - - - function doLists($text) { - # - # Form HTML ordered (numbered) and unordered (bulleted) lists. - # - $less_than_tab = $this->tab_width - 1; - - # Re-usable patterns to match list item bullets and number markers: - $marker_ul_re = '[*+-]'; - $marker_ol_re = '\d+[\.]'; - $marker_any_re = "(?:$marker_ul_re|$marker_ol_re)"; - - $markers_relist = array( - $marker_ul_re => $marker_ol_re, - $marker_ol_re => $marker_ul_re, - ); - - foreach ($markers_relist as $marker_re => $other_marker_re) { - # Re-usable pattern to match any entirel ul or ol list: - $whole_list_re = ' - ( # $1 = whole list - ( # $2 - ([ ]{0,'.$less_than_tab.'}) # $3 = number of spaces - ('.$marker_re.') # $4 = first list item marker - [ ]+ - ) - (?s:.+?) - ( # $5 - \z - | - \n{2,} - (?=\S) - (?! # Negative lookahead for another list item marker - [ ]* - '.$marker_re.'[ ]+ - ) - | - (?= # Lookahead for another kind of list - \n - \3 # Must have the same indentation - '.$other_marker_re.'[ ]+ - ) - ) - ) - '; // mx - - # We use a different prefix before nested lists than top-level lists. - # See extended comment in _ProcessListItems(). - - if ($this->list_level) { - $text = preg_replace_callback('{ - ^ - '.$whole_list_re.' - }mx', - array(&$this, '_doLists_callback'), $text); - } - else { - $text = preg_replace_callback('{ - (?:(?<=\n)\n|\A\n?) # Must eat the newline - '.$whole_list_re.' - }mx', - array(&$this, '_doLists_callback'), $text); - } - } - - return $text; - } - function _doLists_callback($matches) { - # Re-usable patterns to match list item bullets and number markers: - $marker_ul_re = '[*+-]'; - $marker_ol_re = '\d+[\.]'; - $marker_any_re = "(?:$marker_ul_re|$marker_ol_re)"; - - $list = $matches[1]; - $list_type = preg_match("/$marker_ul_re/", $matches[4]) ? "ul" : "ol"; - - $marker_any_re = ( $list_type == "ul" ? $marker_ul_re : $marker_ol_re ); - - $list .= "\n"; - $result = $this->processListItems($list, $marker_any_re); - - $result = $this->hashBlock("<$list_type>\n" . $result . "</$list_type>"); - return "\n". $result ."\n\n"; - } - - var $list_level = 0; - - function processListItems($list_str, $marker_any_re) { - # - # Process the contents of a single ordered or unordered list, splitting it - # into individual list items. - # - # The $this->list_level global keeps track of when we're inside a list. - # Each time we enter a list, we increment it; when we leave a list, - # we decrement. If it's zero, we're not in a list anymore. - # - # We do this because when we're not inside a list, we want to treat - # something like this: - # - # I recommend upgrading to version - # 8. Oops, now this line is treated - # as a sub-list. - # - # As a single paragraph, despite the fact that the second line starts - # with a digit-period-space sequence. - # - # Whereas when we're inside a list (or sub-list), that line will be - # treated as the start of a sub-list. What a kludge, huh? This is - # an aspect of Markdown's syntax that's hard to parse perfectly - # without resorting to mind-reading. Perhaps the solution is to - # change the syntax rules such that sub-lists must start with a - # starting cardinal number; e.g. "1." or "a.". - - $this->list_level++; - - # trim trailing blank lines: - $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str); - - $list_str = preg_replace_callback('{ - (\n)? # leading line = $1 - (^[ ]*) # leading whitespace = $2 - ('.$marker_any_re.' # list marker and space = $3 - (?:[ ]+|(?=\n)) # space only required if item is not empty - ) - ((?s:.*?)) # list item text = $4 - (?:(\n+(?=\n))|\n) # tailing blank line = $5 - (?= \n* (\z | \2 ('.$marker_any_re.') (?:[ ]+|(?=\n)))) - }xm', - array(&$this, '_processListItems_callback'), $list_str); - - $this->list_level--; - return $list_str; - } - function _processListItems_callback($matches) { - $item = $matches[4]; - $leading_line =& $matches[1]; - $leading_space =& $matches[2]; - $marker_space = $matches[3]; - $tailing_blank_line =& $matches[5]; - - if ($leading_line || $tailing_blank_line || - preg_match('/\n{2,}/', $item)) - { - # Replace marker with the appropriate whitespace indentation - $item = $leading_space . str_repeat(' ', strlen($marker_space)) . $item; - $item = $this->runBlockGamut($this->outdent($item)."\n"); - } - else { - # Recursion for sub-lists: - $item = $this->doLists($this->outdent($item)); - $item = preg_replace('/\n+$/', '', $item); - $item = $this->runSpanGamut($item); - } - - return "<li>" . $item . "</li>\n"; - } - - - function doCodeBlocks($text) { - # - # Process Markdown `<pre><code>` blocks. - # - $text = preg_replace_callback('{ - (?:\n\n|\A\n?) - ( # $1 = the code block -- one or more lines, starting with a space/tab - (?> - [ ]{'.$this->tab_width.'} # Lines must start with a tab or a tab-width of spaces - .*\n+ - )+ - ) - ((?=^[ ]{0,'.$this->tab_width.'}\S)|\Z) # Lookahead for non-space at line-start, or end of doc - }xm', - array(&$this, '_doCodeBlocks_callback'), $text); - - return $text; - } - function _doCodeBlocks_callback($matches) { - $codeblock = $matches[1]; - - $codeblock = $this->outdent($codeblock); - $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES); - - # trim leading newlines and trailing newlines - $codeblock = preg_replace('/\A\n+|\n+\z/', '', $codeblock); - - $codeblock = "<pre><code>$codeblock\n</code></pre>"; - return "\n\n".$this->hashBlock($codeblock)."\n\n"; - } - - - function makeCodeSpan($code) { - # - # Create a code span markup for $code. Called from handleSpanToken. - # - $code = htmlspecialchars(trim($code), ENT_NOQUOTES); - return $this->hashPart("<code class=\"inline-code\">$code</code>"); - } - - - var $em_relist = array( - '' => '(?:(?<!\*)\*(?!\*)|(?<!_)_(?!_))(?=\S|$)(?![\.,:;]\s)', - '*' => '(?<=\S|^)(?<!\*)\*(?!\*)', - '_' => '(?<=\S|^)(?<!_)_(?!_)', - ); - var $strong_relist = array( - '' => '(?:(?<!\*)\*\*(?!\*)|(?<!_)__(?!_))(?=\S|$)(?![\.,:;]\s)', - '**' => '(?<=\S|^)(?<!\*)\*\*(?!\*)', - '__' => '(?<=\S|^)(?<!_)__(?!_)', - ); - var $em_strong_relist = array( - '' => '(?:(?<!\*)\*\*\*(?!\*)|(?<!_)___(?!_))(?=\S|$)(?![\.,:;]\s)', - '***' => '(?<=\S|^)(?<!\*)\*\*\*(?!\*)', - '___' => '(?<=\S|^)(?<!_)___(?!_)', - ); - var $em_strong_prepared_relist; - - function prepareItalicsAndBold() { - # - # Prepare regular expressions for searching emphasis tokens in any - # context. - # - foreach ($this->em_relist as $em => $em_re) { - foreach ($this->strong_relist as $strong => $strong_re) { - # Construct list of allowed token expressions. - $token_relist = array(); - if (isset($this->em_strong_relist["$em$strong"])) { - $token_relist[] = $this->em_strong_relist["$em$strong"]; - } - $token_relist[] = $em_re; - $token_relist[] = $strong_re; - - # Construct master expression from list. - $token_re = '{('. implode('|', $token_relist) .')}'; - $this->em_strong_prepared_relist["$em$strong"] = $token_re; - } - } - } - - function doItalicsAndBold($text) { - $token_stack = array(''); - $text_stack = array(''); - $em = ''; - $strong = ''; - $tree_char_em = false; - - while (1) { - # - # Get prepared regular expression for seraching emphasis tokens - # in current context. - # - $token_re = $this->em_strong_prepared_relist["$em$strong"]; - - # - # Each loop iteration search for the next emphasis token. - # Each token is then passed to handleSpanToken. - # - $parts = preg_split($token_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE); - $text_stack[0] .= $parts[0]; - $token =& $parts[1]; - $text =& $parts[2]; - - if (empty($token)) { - # Reached end of text span: empty stack without emitting. - # any more emphasis. - while ($token_stack[0]) { - $text_stack[1] .= array_shift($token_stack); - $text_stack[0] .= array_shift($text_stack); - } - break; - } - - $token_len = strlen($token); - if ($tree_char_em) { - # Reached closing marker while inside a three-char emphasis. - if ($token_len == 3) { - # Three-char closing marker, close em and strong. - array_shift($token_stack); - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "<strong><em>$span</em></strong>"; - $text_stack[0] .= $this->hashPart($span); - $em = ''; - $strong = ''; - } else { - # Other closing marker: close one em or strong and - # change current token state to match the other - $token_stack[0] = str_repeat($token{0}, 3-$token_len); - $tag = $token_len == 2 ? "strong" : "em"; - $span = $text_stack[0]; - $span = $this->runSpanGamut($span); - $span = "<$tag>$span</$tag>"; - $text_stack[0] = $this->hashPart($span); - $$tag = ''; # $$tag stands for $em or $strong - } - $tree_char_em = false; - } else if ($token_len == 3) { - if ($em) { - # Reached closing marker for both em and strong. - # Closing strong marker: - for ($i = 0; $i < 2; ++$i) { - $shifted_token = array_shift($token_stack); - $tag = strlen($shifted_token) == 2 ? "strong" : "em"; - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "<$tag>$span</$tag>"; - $text_stack[0] .= $this->hashPart($span); - $$tag = ''; # $$tag stands for $em or $strong - } - } else { - # Reached opening three-char emphasis marker. Push on token - # stack; will be handled by the special condition above. - $em = $token{0}; - $strong = "$em$em"; - array_unshift($token_stack, $token); - array_unshift($text_stack, ''); - $tree_char_em = true; - } - } else if ($token_len == 2) { - if ($strong) { - # Unwind any dangling emphasis marker: - if (strlen($token_stack[0]) == 1) { - $text_stack[1] .= array_shift($token_stack); - $text_stack[0] .= array_shift($text_stack); - } - # Closing strong marker: - array_shift($token_stack); - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "<strong>$span</strong>"; - $text_stack[0] .= $this->hashPart($span); - $strong = ''; - } else { - array_unshift($token_stack, $token); - array_unshift($text_stack, ''); - $strong = $token; - } - } else { - # Here $token_len == 1 - if ($em) { - if (strlen($token_stack[0]) == 1) { - # Closing emphasis marker: - array_shift($token_stack); - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "<em>$span</em>"; - $text_stack[0] .= $this->hashPart($span); - $em = ''; - } else { - $text_stack[0] .= $token; - } - } else { - array_unshift($token_stack, $token); - array_unshift($text_stack, ''); - $em = $token; - } - } - } - return $text_stack[0]; - } - - - function doBlockQuotes($text) { - $text = preg_replace_callback('/ - ( # Wrap whole match in $1 - (?> - ^[ ]*>[ ]? # ">" at the start of a line - .+\n # rest of the first line - (.+\n)* # subsequent consecutive lines - \n* # blanks - )+ - ) - /xm', - array(&$this, '_doBlockQuotes_callback'), $text); - - return $text; - } - function _doBlockQuotes_callback($matches) { - $bq = $matches[1]; - # trim one level of quoting - trim whitespace-only lines - $bq = preg_replace('/^[ ]*>[ ]?|^[ ]+$/m', '', $bq); - $bq = $this->runBlockGamut($bq); # recurse - - $bq = preg_replace('/^/m', " ", $bq); - # These leading spaces cause problem with <pre> content, - # so we need to fix that: - $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx', - array(&$this, '_doBlockQuotes_callback2'), $bq); - - return "\n". $this->hashBlock("<blockquote>\n$bq\n</blockquote>")."\n\n"; - } - function _doBlockQuotes_callback2($matches) { - $pre = $matches[1]; - $pre = preg_replace('/^ /m', '', $pre); - return $pre; - } - - - function formParagraphs($text) { - # - # Params: - # $text - string to process with html <p> tags - # - # Strip leading and trailing lines: - $text = preg_replace('/\A\n+|\n+\z/', '', $text); - - $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY); - - # - # Wrap <p> tags and unhashify HTML blocks - # - foreach ($grafs as $key => $value) { - if (!preg_match('/^B\x1A[0-9]+B$/', $value)) { - # Is a paragraph. - $value = $this->runSpanGamut($value); - $value = preg_replace('/^([ ]*)/', "<p>", $value); - $value .= "</p>"; - $grafs[$key] = $this->unhash($value); - } - else { - # Is a block. - # Modify elements of @grafs in-place... - $graf = $value; - $block = $this->html_hashes[$graf]; - $graf = $block; -// if (preg_match('{ -// \A -// ( # $1 = <div> tag -// <div \s+ -// [^>]* -// \b -// markdown\s*=\s* ([\'"]) # $2 = attr quote char -// 1 -// \2 -// [^>]* -// > -// ) -// ( # $3 = contents -// .* -// ) -// (</div>) # $4 = closing tag -// \z -// }xs', $block, $matches)) -// { -// list(, $div_open, , $div_content, $div_close) = $matches; -// -// # We can't call Markdown(), because that resets the hash; -// # that initialization code should be pulled into its own sub, though. -// $div_content = $this->hashHTMLBlocks($div_content); -// -// # Run document gamut methods on the content. -// foreach ($this->document_gamut as $method => $priority) { -// $div_content = $this->$method($div_content); -// } -// -// $div_open = preg_replace( -// '{\smarkdown\s*=\s*([\'"]).+?\1}', '', $div_open); -// -// $graf = $div_open . "\n" . $div_content . "\n" . $div_close; -// } - $grafs[$key] = $graf; - } - } - - return implode("\n\n", $grafs); - } - - - function encodeAttribute($text) { - # - # Encode text for a double-quoted HTML attribute. This function - # is *not* suitable for attributes enclosed in single quotes. - # - $text = $this->encodeAmpsAndAngles($text); - $text = str_replace('"', '"', $text); - return $text; - } - - - function encodeAmpsAndAngles($text) { - # - # Smart processing for ampersands and angle brackets that need to - # be encoded. Valid character entities are left alone unless the - # no-entities mode is set. - # - if ($this->no_entities) { - $text = str_replace('&', '&', $text); - } else { - # Ampersand-encoding based entirely on Nat Irons's Amputator - # MT plugin: <http://bumppo.net/projects/amputator/> - $text = preg_replace('/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/', - '&', $text);; - } - # Encode remaining <'s - $text = str_replace('<', '<', $text); - - return $text; - } - - - function doAutoLinks($text) { - $text = preg_replace_callback('{<((https?|ftp|dict):[^\'">\s]+)>}i', - array(&$this, '_doAutoLinks_url_callback'), $text); - - # Email addresses: <address@domain.foo> - $text = preg_replace_callback('{ - < - (?:mailto:)? - ( - (?: - [-!#$%&\'*+/=?^_`.{|}~\w\x80-\xFF]+ - | - ".*?" - ) - \@ - (?: - [-a-z0-9\x80-\xFF]+(\.[-a-z0-9\x80-\xFF]+)*\.[a-z]+ - | - \[[\d.a-fA-F:]+\] # IPv4 & IPv6 - ) - ) - > - }xi', - array(&$this, '_doAutoLinks_email_callback'), $text); - - return $text; - } - function _doAutoLinks_url_callback($matches) { - $url = $this->encodeAttribute($matches[1]); - $link = "<a href=\"$url\">$url</a>"; - return $this->hashPart($link); - } - function _doAutoLinks_email_callback($matches) { - $address = $matches[1]; - $link = $this->encodeEmailAddress($address); - return $this->hashPart($link); - } - - - function encodeEmailAddress($addr) { - # - # Input: an email address, e.g. "foo@example.com" - # - # Output: the email address as a mailto link, with each character - # of the address encoded as either a decimal or hex entity, in - # the hopes of foiling most address harvesting spam bots. E.g.: - # - # <p><a href="mailto:foo - # @example.co - # m">foo@exampl - # e.com</a></p> - # - # Based by a filter by Matthew Wickline, posted to BBEdit-Talk. - # With some optimizations by Milian Wolff. - # - $addr = "mailto:" . $addr; - $chars = preg_split('/(?<!^)(?!$)/', $addr); - $seed = (int)abs(crc32($addr) / strlen($addr)); # Deterministic seed. - - foreach ($chars as $key => $char) { - $ord = ord($char); - # Ignore non-ascii chars. - if ($ord < 128) { - $r = ($seed * (1 + $key)) % 100; # Pseudo-random function. - # roughly 10% raw, 45% hex, 45% dec - # '@' *must* be encoded. I insist. - if ($r > 90 && $char != '@') /* do nothing */; - else if ($r < 45) $chars[$key] = '&#x'.dechex($ord).';'; - else $chars[$key] = '&#'.$ord.';'; - } - } - - $addr = implode('', $chars); - $text = implode('', array_slice($chars, 7)); # text without `mailto:` - $addr = "<a href=\"$addr\">$text</a>"; - - return $addr; - } - - - function parseSpan($str) { - # - # Take the string $str and parse it into tokens, hashing embeded HTML, - # escaped characters and handling code spans. - # - $output = ''; - - $span_re = '{ - ( - \\\\'.$this->escape_chars_re.' - | - (?<![`\\\\]) - `+ # code span marker - '.( $this->no_markup ? '' : ' - | - <!-- .*? --> # comment - | - <\?.*?\?> | <%.*?%> # processing instruction - | - <[/!$]?[-a-zA-Z0-9:_]+ # regular tags - (?> - \s - (?>[^"\'>]+|"[^"]*"|\'[^\']*\')* - )? - > - ').' - ) - }xs'; - - while (1) { - # - # Each loop iteration seach for either the next tag, the next - # openning code span marker, or the next escaped character. - # Each token is then passed to handleSpanToken. - # - $parts = preg_split($span_re, $str, 2, PREG_SPLIT_DELIM_CAPTURE); - - # Create token from text preceding tag. - if ($parts[0] != "") { - $output .= $parts[0]; - } - - # Check if we reach the end. - if (isset($parts[1])) { - $output .= $this->handleSpanToken($parts[1], $parts[2]); - $str = $parts[2]; - } - else { - break; - } - } - - return $output; - } - - - function handleSpanToken($token, &$str) { - # - # Handle $token provided by parseSpan by determining its nature and - # returning the corresponding value that should replace it. - # - switch ($token{0}) { - case "\\": - return $this->hashPart("&#". ord($token{1}). ";"); - case "`": - # Search for end marker in remaining text. - if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm', - $str, $matches)) - { - $str = $matches[2]; - $codespan = $this->makeCodeSpan($matches[1]); - return $this->hashPart($codespan); - } - return $token; // return as text since no ending marker found. - default: - return $this->hashPart($token); - } - } - - - function outdent($text) { - # - # Remove one level of line-leading tabs or spaces - # - return preg_replace('/^(\t|[ ]{1,'.$this->tab_width.'})/m', '', $text); - } - - - # String length function for detab. `_initDetab` will create a function to - # hanlde UTF-8 if the default function does not exist. - var $utf8_strlen = 'mb_strlen'; - - function detab($text) { - # - # Replace tabs with the appropriate amount of space. - # - # For each line we separate the line in blocks delemited by - # tab characters. Then we reconstruct every line by adding the - # appropriate number of space between each blocks. - - $text = preg_replace_callback('/^.*\t.*$/m', - array(&$this, '_detab_callback'), $text); - - return $text; - } - function _detab_callback($matches) { - $line = $matches[0]; - $strlen = $this->utf8_strlen; # strlen function for UTF-8. - - # Split in blocks. - $blocks = explode("\t", $line); - # Add each blocks to the line. - $line = $blocks[0]; - unset($blocks[0]); # Do not add first block twice. - foreach ($blocks as $block) { - # Calculate amount of space, insert spaces, insert block. - $amount = $this->tab_width - - $strlen($line, 'UTF-8') % $this->tab_width; - $line .= str_repeat(" ", $amount) . $block; - } - return $line; - } - function _initDetab() { - # - # Check for the availability of the function in the `utf8_strlen` property - # (initially `mb_strlen`). If the function is not available, create a - # function that will loosely count the number of UTF-8 characters with a - # regular expression. - # - if (function_exists($this->utf8_strlen)) return; - $this->utf8_strlen = create_function('$text', 'return preg_match_all( - "/[\\\\x00-\\\\xBF]|[\\\\xC0-\\\\xFF][\\\\x80-\\\\xBF]*/", - $text, $m);'); - } - - - function unhash($text) { - # - # Swap back in all the tags hashed by _HashHTMLBlocks. - # - return preg_replace_callback('/(.)\x1A[0-9]+\1/', - array(&$this, '_unhash_callback'), $text); - } - function _unhash_callback($matches) { - return $this->html_hashes[$matches[0]]; - } - -} - - -# -# Markdown Extra Parser Class -# - -class MarkdownExtra_Parser extends Markdown_Parser { - - # Prefix for footnote ids. - var $fn_id_prefix = ""; - - # Optional title attribute for footnote links and backlinks. - var $fn_link_title = MARKDOWN_FN_LINK_TITLE; - var $fn_backlink_title = MARKDOWN_FN_BACKLINK_TITLE; - - # Optional class attribute for footnote links and backlinks. - var $fn_link_class = MARKDOWN_FN_LINK_CLASS; - var $fn_backlink_class = MARKDOWN_FN_BACKLINK_CLASS; - - # Predefined abbreviations. - var $predef_abbr = array(); - - - function MarkdownExtra_Parser() { - # - # Constructor function. Initialize the parser object. - # - # Add extra escapable characters before parent constructor - # initialize the table. - $this->escape_chars .= ':|'; - - # Insert extra document, block, and span transformations. - # Parent constructor will do the sorting. - $this->document_gamut += array( - "doFencedCodeBlocks" => 5, - "stripFootnotes" => 15, - "stripAbbreviations" => 25, - "appendFootnotes" => 50, - ); - $this->block_gamut += array( - "doFencedCodeBlocks" => 5, - "doTables" => 15, - "doDefLists" => 45, - ); - $this->span_gamut += array( - "doFootnotes" => 5, - "doAbbreviations" => 70, - ); - - parent::Markdown_Parser(); - } - - - # Extra variables used during extra transformations. - var $footnotes = array(); - var $footnotes_ordered = array(); - var $abbr_desciptions = array(); - var $abbr_word_re = ''; - - # Give the current footnote number. - var $footnote_counter = 1; - - - function setup() { - # - # Setting up Extra-specific variables. - # - parent::setup(); - - $this->footnotes = array(); - $this->footnotes_ordered = array(); - $this->abbr_desciptions = array(); - $this->abbr_word_re = ''; - $this->footnote_counter = 1; - - foreach ($this->predef_abbr as $abbr_word => $abbr_desc) { - if ($this->abbr_word_re) - $this->abbr_word_re .= '|'; - $this->abbr_word_re .= preg_quote($abbr_word); - $this->abbr_desciptions[$abbr_word] = trim($abbr_desc); - } - } - - function teardown() { - # - # Clearing Extra-specific variables. - # - $this->footnotes = array(); - $this->footnotes_ordered = array(); - $this->abbr_desciptions = array(); - $this->abbr_word_re = ''; - - parent::teardown(); - } - - - ### HTML Block Parser ### - - # Tags that are always treated as block tags: - var $block_tags_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend'; - - # Tags treated as block tags only if the opening tag is alone on it's line: - var $context_block_tags_re = 'script|noscript|math|ins|del'; - - # Tags where markdown="1" default to span mode: - var $contain_span_tags_re = 'p|h[1-6]|li|dd|dt|td|th|legend|address'; - - # Tags which must not have their contents modified, no matter where - # they appear: - var $clean_tags_re = 'script|math'; - - # Tags that do not need to be closed. - var $auto_close_tags_re = 'hr|img'; - - - function hashHTMLBlocks($text) { - # - # Hashify HTML Blocks and "clean tags". - # - # We only want to do this for block-level HTML tags, such as headers, - # lists, and tables. That's because we still want to wrap <p>s around - # "paragraphs" that are wrapped in non-block-level tags, such as anchors, - # phrase emphasis, and spans. The list of tags we're looking for is - # hard-coded. - # - # This works by calling _HashHTMLBlocks_InMarkdown, which then calls - # _HashHTMLBlocks_InHTML when it encounter block tags. When the markdown="1" - # attribute is found whitin a tag, _HashHTMLBlocks_InHTML calls back - # _HashHTMLBlocks_InMarkdown to handle the Markdown syntax within the tag. - # These two functions are calling each other. It's recursive! - # - # - # Call the HTML-in-Markdown hasher. - # - list($text, ) = $this->_hashHTMLBlocks_inMarkdown($text); - - return $text; - } - function _hashHTMLBlocks_inMarkdown($text, $indent = 0, - $enclosing_tag_re = '', $span = false) - { - # - # Parse markdown text, calling _HashHTMLBlocks_InHTML for block tags. - # - # * $indent is the number of space to be ignored when checking for code - # blocks. This is important because if we don't take the indent into - # account, something like this (which looks right) won't work as expected: - # - # <div> - # <div markdown="1"> - # Hello World. <-- Is this a Markdown code block or text? - # </div> <-- Is this a Markdown code block or a real tag? - # <div> - # - # If you don't like this, just don't indent the tag on which - # you apply the markdown="1" attribute. - # - # * If $enclosing_tag_re is not empty, stops at the first unmatched closing - # tag with that name. Nested tags supported. - # - # * If $span is true, text inside must treated as span. So any double - # newline will be replaced by a single newline so that it does not create - # paragraphs. - # - # Returns an array of that form: ( processed text , remaining text ) - # - if ($text === '') return array('', ''); - - # Regex to check for the presense of newlines around a block tag. - $newline_before_re = '/(?:^\n?|\n\n)*$/'; - $newline_after_re = - '{ - ^ # Start of text following the tag. - (?>[ ]*<!--.*?-->)? # Optional comment. - [ ]*\n # Must be followed by newline. - }xs'; - - # Regex to match any tag. - $block_tag_re = - '{ - ( # $2: Capture hole tag. - </? # Any opening or closing tag. - (?> # Tag name. - '.$this->block_tags_re.' | - '.$this->context_block_tags_re.' | - '.$this->clean_tags_re.' | - (?!\s)'.$enclosing_tag_re.' - ) - (?: - (?=[\s"\'/a-zA-Z0-9]) # Allowed characters after tag name. - (?> - ".*?" | # Double quotes (can contain `>`) - \'.*?\' | # Single quotes (can contain `>`) - .+? # Anything but quotes and `>`. - )*? - )? - > # End of tag. - | - <!-- .*? --> # HTML Comment - | - <\?.*?\?> | <%.*?%> # Processing instruction - | - <!\[CDATA\[.*?\]\]> # CData Block - | - # Code span marker - `+ - '. ( !$span ? ' # If not in span. - | - # Indented code block - (?: ^[ ]*\n | ^ | \n[ ]*\n ) - [ ]{'.($indent+4).'}[^\n]* \n - (?> - (?: [ ]{'.($indent+4).'}[^\n]* | [ ]* ) \n - )* - | - # Fenced code block marker - (?> ^ | \n ) - [ ]{0,'.($indent).'}~~~+[ ]*\n - ' : '' ). ' # End (if not is span). - ) - }xs'; - - - $depth = 0; # Current depth inside the tag tree. - $parsed = ""; # Parsed text that will be returned. - - # - # Loop through every tag until we find the closing tag of the parent - # or loop until reaching the end of text if no parent tag specified. - # - do { - # - # Split the text using the first $tag_match pattern found. - # Text before pattern will be first in the array, text after - # pattern will be at the end, and between will be any catches made - # by the pattern. - # - $parts = preg_split($block_tag_re, $text, 2, - PREG_SPLIT_DELIM_CAPTURE); - - # If in Markdown span mode, add a empty-string span-level hash - # after each newline to prevent triggering any block element. - if ($span) { - $void = $this->hashPart("", ':'); - $newline = "$void\n"; - $parts[0] = $void . str_replace("\n", $newline, $parts[0]) . $void; - } - - $parsed .= $parts[0]; # Text before current tag. - - # If end of $text has been reached. Stop loop. - if (count($parts) < 3) { - $text = ""; - break; - } - - $tag = $parts[1]; # Tag to handle. - $text = $parts[2]; # Remaining text after current tag. - $tag_re = preg_quote($tag); # For use in a regular expression. - - # - # Check for: Code span marker - # - if ($tag{0} == "`") { - # Find corresponding end marker. - $tag_re = preg_quote($tag); - if (preg_match('{^(?>.+?|\n(?!\n))*?(?<!`)'.$tag_re.'(?!`)}', - $text, $matches)) - { - # End marker found: pass text unchanged until marker. - $parsed .= $tag . $matches[0]; - $text = substr($text, strlen($matches[0])); - } - else { - # Unmatched marker: just skip it. - $parsed .= $tag; - } - } - # - # Check for: Fenced code block marker. - # - else if (preg_match('{^\n?[ ]{0,'.($indent+3).'}~}', $tag)) { - # Fenced code block marker: find matching end marker. - $tag_re = preg_quote(trim($tag)); - if (preg_match('{^(?>.*\n)+?[ ]{0,'.($indent).'}'.$tag_re.'[ ]*\n}', $text, - $matches)) - { - # End marker found: pass text unchanged until marker. - $parsed .= $tag . $matches[0]; - $text = substr($text, strlen($matches[0])); - } - else { - # No end marker: just skip it. - $parsed .= $tag; - } - } - # - # Check for: Indented code block. - # - else if ($tag{0} == "\n" || $tag{0} == " ") { - # Indented code block: pass it unchanged, will be handled - # later. - $parsed .= $tag; - } - # - # Check for: Opening Block level tag or - # Opening Context Block tag (like ins and del) - # used as a block tag (tag is alone on it's line). - # - else if (preg_match('{^<(?:'.$this->block_tags_re.')\b}', $tag) || - ( preg_match('{^<(?:'.$this->context_block_tags_re.')\b}', $tag) && - preg_match($newline_before_re, $parsed) && - preg_match($newline_after_re, $text) ) - ) - { - # Need to parse tag and following text using the HTML parser. - list($block_text, $text) = - $this->_hashHTMLBlocks_inHTML($tag . $text, "hashBlock", true); - - # Make sure it stays outside of any paragraph by adding newlines. - $parsed .= "\n\n$block_text\n\n"; - } - # - # Check for: Clean tag (like script, math) - # HTML Comments, processing instructions. - # - else if (preg_match('{^<(?:'.$this->clean_tags_re.')\b}', $tag) || - $tag{1} == '!' || $tag{1} == '?') - { - # Need to parse tag and following text using the HTML parser. - # (don't check for markdown attribute) - list($block_text, $text) = - $this->_hashHTMLBlocks_inHTML($tag . $text, "hashClean", false); - - $parsed .= $block_text; - } - # - # Check for: Tag with same name as enclosing tag. - # - else if ($enclosing_tag_re !== '' && - # Same name as enclosing tag. - preg_match('{^</?(?:'.$enclosing_tag_re.')\b}', $tag)) - { - # - # Increase/decrease nested tag count. - # - if ($tag{1} == '/') $depth--; - else if ($tag{strlen($tag)-2} != '/') $depth++; - - if ($depth < 0) { - # - # Going out of parent element. Clean up and break so we - # return to the calling function. - # - $text = $tag . $text; - break; - } - - $parsed .= $tag; - } - else { - $parsed .= $tag; - } - } while ($depth >= 0); - - return array($parsed, $text); - } - function _hashHTMLBlocks_inHTML($text, $hash_method, $md_attr) { - # - # Parse HTML, calling _HashHTMLBlocks_InMarkdown for block tags. - # - # * Calls $hash_method to convert any blocks. - # * Stops when the first opening tag closes. - # * $md_attr indicate if the use of the `markdown="1"` attribute is allowed. - # (it is not inside clean tags) - # - # Returns an array of that form: ( processed text , remaining text ) - # - if ($text === '') return array('', ''); - - # Regex to match `markdown` attribute inside of a tag. - $markdown_attr_re = ' - { - \s* # Eat whitespace before the `markdown` attribute - markdown - \s*=\s* - (?> - (["\']) # $1: quote delimiter - (.*?) # $2: attribute value - \1 # matching delimiter - | - ([^\s>]*) # $3: unquoted attribute value - ) - () # $4: make $3 always defined (avoid warnings) - }xs'; - - # Regex to match any tag. - $tag_re = '{ - ( # $2: Capture hole tag. - </? # Any opening or closing tag. - [\w:$]+ # Tag name. - (?: - (?=[\s"\'/a-zA-Z0-9]) # Allowed characters after tag name. - (?> - ".*?" | # Double quotes (can contain `>`) - \'.*?\' | # Single quotes (can contain `>`) - .+? # Anything but quotes and `>`. - )*? - )? - > # End of tag. - | - <!-- .*? --> # HTML Comment - | - <\?.*?\?> | <%.*?%> # Processing instruction - | - <!\[CDATA\[.*?\]\]> # CData Block - ) - }xs'; - - $original_text = $text; # Save original text in case of faliure. - - $depth = 0; # Current depth inside the tag tree. - $block_text = ""; # Temporary text holder for current text. - $parsed = ""; # Parsed text that will be returned. - - # - # Get the name of the starting tag. - # (This pattern makes $base_tag_name_re safe without quoting.) - # - if (preg_match('/^<([\w:$]*)\b/', $text, $matches)) - $base_tag_name_re = $matches[1]; - - # - # Loop through every tag until we find the corresponding closing tag. - # - do { - # - # Split the text using the first $tag_match pattern found. - # Text before pattern will be first in the array, text after - # pattern will be at the end, and between will be any catches made - # by the pattern. - # - $parts = preg_split($tag_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE); - - if (count($parts) < 3) { - # - # End of $text reached with unbalenced tag(s). - # In that case, we return original text unchanged and pass the - # first character as filtered to prevent an infinite loop in the - # parent function. - # - return array($original_text{0}, substr($original_text, 1)); - } - - $block_text .= $parts[0]; # Text before current tag. - $tag = $parts[1]; # Tag to handle. - $text = $parts[2]; # Remaining text after current tag. - - # - # Check for: Auto-close tag (like <hr/>) - # Comments and Processing Instructions. - # - if (preg_match('{^</?(?:'.$this->auto_close_tags_re.')\b}', $tag) || - $tag{1} == '!' || $tag{1} == '?') - { - # Just add the tag to the block as if it was text. - $block_text .= $tag; - } - else { - # - # Increase/decrease nested tag count. Only do so if - # the tag's name match base tag's. - # - if (preg_match('{^</?'.$base_tag_name_re.'\b}', $tag)) { - if ($tag{1} == '/') $depth--; - else if ($tag{strlen($tag)-2} != '/') $depth++; - } - - # - # Check for `markdown="1"` attribute and handle it. - # - if ($md_attr && - preg_match($markdown_attr_re, $tag, $attr_m) && - preg_match('/^1|block|span$/', $attr_m[2] . $attr_m[3])) - { - # Remove `markdown` attribute from opening tag. - $tag = preg_replace($markdown_attr_re, '', $tag); - - # Check if text inside this tag must be parsed in span mode. - $this->mode = $attr_m[2] . $attr_m[3]; - $span_mode = $this->mode == 'span' || $this->mode != 'block' && - preg_match('{^<(?:'.$this->contain_span_tags_re.')\b}', $tag); - - # Calculate indent before tag. - if (preg_match('/(?:^|\n)( *?)(?! ).*?$/', $block_text, $matches)) { - $strlen = $this->utf8_strlen; - $indent = $strlen($matches[1], 'UTF-8'); - } else { - $indent = 0; - } - - # End preceding block with this tag. - $block_text .= $tag; - $parsed .= $this->$hash_method($block_text); - - # Get enclosing tag name for the ParseMarkdown function. - # (This pattern makes $tag_name_re safe without quoting.) - preg_match('/^<([\w:$]*)\b/', $tag, $matches); - $tag_name_re = $matches[1]; - - # Parse the content using the HTML-in-Markdown parser. - list ($block_text, $text) - = $this->_hashHTMLBlocks_inMarkdown($text, $indent, - $tag_name_re, $span_mode); - - # Outdent markdown text. - if ($indent > 0) { - $block_text = preg_replace("/^[ ]{1,$indent}/m", "", - $block_text); - } - - # Append tag content to parsed text. - if (!$span_mode) $parsed .= "\n\n$block_text\n\n"; - else $parsed .= "$block_text"; - - # Start over a new block. - $block_text = ""; - } - else $block_text .= $tag; - } - - } while ($depth > 0); - - # - # Hash last block text that wasn't processed inside the loop. - # - $parsed .= $this->$hash_method($block_text); - - return array($parsed, $text); - } - - - function hashClean($text) { - # - # Called whenever a tag must be hashed when a function insert a "clean" tag - # in $text, it pass through this function and is automaticaly escaped, - # blocking invalid nested overlap. - # - return $this->hashPart($text, 'C'); - } - - - function doHeaders($text) { - # - # Redefined to add id attribute support. - # - # Setext-style headers: - # Header 1 {#header1} - # ======== - # - # Header 2 {#header2} - # -------- - # - $text = preg_replace_callback( - '{ - (^.+?) # $1: Header text - (?:[ ]+\{\#([-_:a-zA-Z0-9]+)\})? # $2: Id attribute - [ ]*\n(=+|-+)[ ]*\n+ # $3: Header footer - }mx', - array(&$this, '_doHeaders_callback_setext'), $text); - - # atx-style headers: - # # Header 1 {#header1} - # ## Header 2 {#header2} - # ## Header 2 with closing hashes ## {#header3} - # ... - # ###### Header 6 {#header2} - # - $text = preg_replace_callback('{ - ^(\#{1,6}) # $1 = string of #\'s - [ ]* - (.+?) # $2 = Header text - [ ]* - \#* # optional closing #\'s (not counted) - (?:[ ]+\{\#([-_:a-zA-Z0-9]+)\})? # id attribute - [ ]* - \n+ - }xm', - array(&$this, '_doHeaders_callback_atx'), $text); - - return $text; - } - function _doHeaders_attr($attr) { - if (empty($attr)) return ""; - return " id=\"$attr\""; - } - function _doHeaders_callback_setext($matches) { - if ($matches[3] == '-' && preg_match('{^- }', $matches[1])) - return $matches[0]; - $level = $matches[3]{0} == '=' ? 1 : 2; - $attr = $this->_doHeaders_attr($id =& $matches[2]); - $block = "<h$level$attr>".$this->runSpanGamut($matches[1])."</h$level>"; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - function _doHeaders_callback_atx($matches) { - $level = strlen($matches[1]); - $attr = $this->_doHeaders_attr($id =& $matches[3]); - $block = "<h$level$attr>".$this->runSpanGamut($matches[2])."</h$level>"; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - - - function doTables($text) { - # - # Form HTML tables. - # - $less_than_tab = $this->tab_width - 1; - # - # Find tables with leading pipe. - # - # | Header 1 | Header 2 - # | -------- | -------- - # | Cell 1 | Cell 2 - # | Cell 3 | Cell 4 - # - $text = preg_replace_callback(' - { - ^ # Start of a line - [ ]{0,'.$less_than_tab.'} # Allowed whitespace. - [|] # Optional leading pipe (present) - (.+) \n # $1: Header row (at least one pipe) - - [ ]{0,'.$less_than_tab.'} # Allowed whitespace. - [|] ([ ]*[-:]+[-| :]*) \n # $2: Header underline - - ( # $3: Cells - (?> - [ ]* # Allowed whitespace. - [|] .* \n # Row content. - )* - ) - (?=\n|\Z) # Stop at final double newline. - }xm', - array(&$this, '_doTable_leadingPipe_callback'), $text); - - # - # Find tables without leading pipe. - # - # Header 1 | Header 2 - # -------- | -------- - # Cell 1 | Cell 2 - # Cell 3 | Cell 4 - # - $text = preg_replace_callback(' - { - ^ # Start of a line - [ ]{0,'.$less_than_tab.'} # Allowed whitespace. - (\S.*[|].*) \n # $1: Header row (at least one pipe) - - [ ]{0,'.$less_than_tab.'} # Allowed whitespace. - ([-:]+[ ]*[|][-| :]*) \n # $2: Header underline - - ( # $3: Cells - (?> - .* [|] .* \n # Row content - )* - ) - (?=\n|\Z) # Stop at final double newline. - }xm', - array(&$this, '_DoTable_callback'), $text); - - return $text; - } - function _doTable_leadingPipe_callback($matches) { - $head = $matches[1]; - $underline = $matches[2]; - $content = $matches[3]; - - # Remove leading pipe for each row. - $content = preg_replace('/^ *[|]/m', '', $content); - - return $this->_doTable_callback(array($matches[0], $head, $underline, $content)); - } - function _doTable_callback($matches) { - $head = $matches[1]; - $underline = $matches[2]; - $content = $matches[3]; - - # Remove any tailing pipes for each line. - $head = preg_replace('/[|] *$/m', '', $head); - $underline = preg_replace('/[|] *$/m', '', $underline); - $content = preg_replace('/[|] *$/m', '', $content); - - # Reading alignement from header underline. - $separators = preg_split('/ *[|] */', $underline); - foreach ($separators as $n => $s) { - if (preg_match('/^ *-+: *$/', $s)) $attr[$n] = ' align="right"'; - else if (preg_match('/^ *:-+: *$/', $s))$attr[$n] = ' align="center"'; - else if (preg_match('/^ *:-+ *$/', $s)) $attr[$n] = ' align="left"'; - else $attr[$n] = ''; - } - - # Parsing span elements, including code spans, character escapes, - # and inline HTML tags, so that pipes inside those gets ignored. - $head = $this->parseSpan($head); - $headers = preg_split('/ *[|] */', $head); - $col_count = count($headers); - - # Write column headers. - $text = "<table>\n"; - $text .= "<thead>\n"; - $text .= "<tr>\n"; - foreach ($headers as $n => $header) - $text .= " <th$attr[$n]>".$this->runSpanGamut(trim($header))."</th>\n"; - $text .= "</tr>\n"; - $text .= "</thead>\n"; - - # Split content by row. - $rows = explode("\n", trim($content, "\n")); - - $text .= "<tbody>\n"; - foreach ($rows as $row) { - # Parsing span elements, including code spans, character escapes, - # and inline HTML tags, so that pipes inside those gets ignored. - $row = $this->parseSpan($row); - - # Split row by cell. - $row_cells = preg_split('/ *[|] */', $row, $col_count); - $row_cells = array_pad($row_cells, $col_count, ''); - - $text .= "<tr>\n"; - foreach ($row_cells as $n => $cell) - $text .= " <td$attr[$n]>".$this->runSpanGamut(trim($cell))."</td>\n"; - $text .= "</tr>\n"; - } - $text .= "</tbody>\n"; - $text .= "</table>"; - - return $this->hashBlock($text) . "\n"; - } - - - function doDefLists($text) { - # - # Form HTML definition lists. - # - $less_than_tab = $this->tab_width - 1; - - # Re-usable pattern to match any entire dl list: - $whole_list_re = '(?> - ( # $1 = whole list - ( # $2 - [ ]{0,'.$less_than_tab.'} - ((?>.*\S.*\n)+) # $3 = defined term - \n? - [ ]{0,'.$less_than_tab.'}:[ ]+ # colon starting definition - ) - (?s:.+?) - ( # $4 - \z - | - \n{2,} - (?=\S) - (?! # Negative lookahead for another term - [ ]{0,'.$less_than_tab.'} - (?: \S.*\n )+? # defined term - \n? - [ ]{0,'.$less_than_tab.'}:[ ]+ # colon starting definition - ) - (?! # Negative lookahead for another definition - [ ]{0,'.$less_than_tab.'}:[ ]+ # colon starting definition - ) - ) - ) - )'; // mx - - $text = preg_replace_callback('{ - (?>\A\n?|(?<=\n\n)) - '.$whole_list_re.' - }mx', - array(&$this, '_doDefLists_callback'), $text); - - return $text; - } - function _doDefLists_callback($matches) { - # Re-usable patterns to match list item bullets and number markers: - $list = $matches[1]; - - # Turn double returns into triple returns, so that we can make a - # paragraph for the last item in a list, if necessary: - $result = trim($this->processDefListItems($list)); - $result = "<dl>\n" . $result . "\n</dl>"; - return $this->hashBlock($result) . "\n\n"; - } - - - function processDefListItems($list_str) { - # - # Process the contents of a single definition list, splitting it - # into individual term and definition list items. - # - $less_than_tab = $this->tab_width - 1; - - # trim trailing blank lines: - $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str); - - # Process definition terms. - $list_str = preg_replace_callback('{ - (?>\A\n?|\n\n+) # leading line - ( # definition terms = $1 - [ ]{0,'.$less_than_tab.'} # leading whitespace - (?![:][ ]|[ ]) # negative lookahead for a definition - # mark (colon) or more whitespace. - (?> \S.* \n)+? # actual term (not whitespace). - ) - (?=\n?[ ]{0,3}:[ ]) # lookahead for following line feed - # with a definition mark. - }xm', - array(&$this, '_processDefListItems_callback_dt'), $list_str); - - # Process actual definitions. - $list_str = preg_replace_callback('{ - \n(\n+)? # leading line = $1 - ( # marker space = $2 - [ ]{0,'.$less_than_tab.'} # whitespace before colon - [:][ ]+ # definition mark (colon) - ) - ((?s:.+?)) # definition text = $3 - (?= \n+ # stop at next definition mark, - (?: # next term or end of text - [ ]{0,'.$less_than_tab.'} [:][ ] | - <dt> | \z - ) - ) - }xm', - array(&$this, '_processDefListItems_callback_dd'), $list_str); - - return $list_str; - } - function _processDefListItems_callback_dt($matches) { - $terms = explode("\n", trim($matches[1])); - $text = ''; - foreach ($terms as $term) { - $term = $this->runSpanGamut(trim($term)); - $text .= "\n<dt>" . $term . "</dt>"; - } - return $text . "\n"; - } - function _processDefListItems_callback_dd($matches) { - $leading_line = $matches[1]; - $marker_space = $matches[2]; - $def = $matches[3]; - - if ($leading_line || preg_match('/\n{2,}/', $def)) { - # Replace marker with the appropriate whitespace indentation - $def = str_repeat(' ', strlen($marker_space)) . $def; - $def = $this->runBlockGamut($this->outdent($def . "\n\n")); - $def = "\n". $def ."\n"; - } - else { - $def = rtrim($def); - $def = $this->runSpanGamut($this->outdent($def)); - } - - return "\n<dd>" . $def . "</dd>\n"; - } - - - function doFencedCodeBlocks($text) { - # - # Adding the fenced code block syntax to regular Markdown: - # - # ~~~ - # Code block - # ~~~ - # - $less_than_tab = $this->tab_width; - - $text = preg_replace_callback('{ - (?:\n|\A) - # 1: Opening marker - ( - ~{3,} # Marker: three tilde or more. - ) - [ ]* \n # Whitespace and newline following marker. - - # 2: Content - ( - (?> - (?!\1 [ ]* \n) # Not a closing marker. - .*\n+ - )+ - ) - - # Closing marker. - \1 [ ]* \n - }xm', - array(&$this, '_doFencedCodeBlocks_callback'), $text); - - return $text; - } - function _doFencedCodeBlocks_callback($matches) { - $codeblock = $matches[2]; - $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES); - $codeblock = preg_replace_callback('/^\n+/', - array(&$this, '_doFencedCodeBlocks_newlines'), $codeblock); - $codeblock = "<pre><code>$codeblock</code></pre>"; - return "\n\n".$this->hashBlock($codeblock)."\n\n"; - } - function _doFencedCodeBlocks_newlines($matches) { - return str_repeat("<br$this->empty_element_suffix", - strlen($matches[0])); - } - - - # - # Redefining emphasis markers so that emphasis by underscore does not - # work in the middle of a word. - # - var $em_relist = array( - '' => '(?:(?<!\*)\*(?!\*)|(?<![a-zA-Z0-9_])_(?!_))(?=\S|$)(?![\.,:;]\s)', - '*' => '(?<=\S|^)(?<!\*)\*(?!\*)', - '_' => '(?<=\S|^)(?<!_)_(?![a-zA-Z0-9_])', - ); - var $strong_relist = array( - '' => '(?:(?<!\*)\*\*(?!\*)|(?<![a-zA-Z0-9_])__(?!_))(?=\S|$)(?![\.,:;]\s)', - '**' => '(?<=\S|^)(?<!\*)\*\*(?!\*)', - '__' => '(?<=\S|^)(?<!_)__(?![a-zA-Z0-9_])', - ); - var $em_strong_relist = array( - '' => '(?:(?<!\*)\*\*\*(?!\*)|(?<![a-zA-Z0-9_])___(?!_))(?=\S|$)(?![\.,:;]\s)', - '***' => '(?<=\S|^)(?<!\*)\*\*\*(?!\*)', - '___' => '(?<=\S|^)(?<!_)___(?![a-zA-Z0-9_])', - ); - - - function formParagraphs($text) { - # - # Params: - # $text - string to process with html <p> tags - # - # Strip leading and trailing lines: - $text = preg_replace('/\A\n+|\n+\z/', '', $text); - - $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY); - - # - # Wrap <p> tags and unhashify HTML blocks - # - foreach ($grafs as $key => $value) { - $value = trim($this->runSpanGamut($value)); - - # Check if this should be enclosed in a paragraph. - # Clean tag hashes & block tag hashes are left alone. - $is_p = !preg_match('/^B\x1A[0-9]+B|^C\x1A[0-9]+C$/', $value); - - if ($is_p) { - $value = "<p>$value</p>"; - } - $grafs[$key] = $value; - } - - # Join grafs in one text, then unhash HTML tags. - $text = implode("\n\n", $grafs); - - # Finish by removing any tag hashes still present in $text. - $text = $this->unhash($text); - - return $text; - } - - - ### Footnotes - - function stripFootnotes($text) { - # - # Strips link definitions from text, stores the URLs and titles in - # hash references. - # - $less_than_tab = $this->tab_width - 1; - - # Link defs are in the form: [^id]: url "optional title" - $text = preg_replace_callback('{ - ^[ ]{0,'.$less_than_tab.'}\[\^(.+?)\][ ]?: # note_id = $1 - [ ]* - \n? # maybe *one* newline - ( # text = $2 (no blank lines allowed) - (?: - .+ # actual text - | - \n # newlines but - (?!\[\^.+?\]:\s)# negative lookahead for footnote marker. - (?!\n+[ ]{0,3}\S)# ensure line is not blank and followed - # by non-indented content - )* - ) - }xm', - array(&$this, '_stripFootnotes_callback'), - $text); - return $text; - } - function _stripFootnotes_callback($matches) { - $note_id = $this->fn_id_prefix . $matches[1]; - $this->footnotes[$note_id] = $this->outdent($matches[2]); - return ''; # String that will replace the block - } - - - function doFootnotes($text) { - # - # Replace footnote references in $text [^id] with a special text-token - # which will be replaced by the actual footnote marker in appendFootnotes. - # - if (!$this->in_anchor) { - $text = preg_replace('{\[\^(.+?)\]}', "F\x1Afn:\\1\x1A:", $text); - } - return $text; - } - - - function appendFootnotes($text) { - # - # Append footnote list to text. - # - $text = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}', - array(&$this, '_appendFootnotes_callback'), $text); - - if (!empty($this->footnotes_ordered)) { - $text .= "\n\n"; - $text .= "<div class=\"footnotes\">\n"; - $text .= "<hr". $this->empty_element_suffix ."\n"; - $text .= "<ol>\n\n"; - - $attr = " rev=\"footnote\""; - if ($this->fn_backlink_class != "") { - $class = $this->fn_backlink_class; - $class = $this->encodeAttribute($class); - $attr .= " class=\"$class\""; - } - if ($this->fn_backlink_title != "") { - $title = $this->fn_backlink_title; - $title = $this->encodeAttribute($title); - $attr .= " title=\"$title\""; - } - $num = 0; - - while (!empty($this->footnotes_ordered)) { - $footnote = reset($this->footnotes_ordered); - $note_id = key($this->footnotes_ordered); - unset($this->footnotes_ordered[$note_id]); - - $footnote .= "\n"; # Need to append newline before parsing. - $footnote = $this->runBlockGamut("$footnote\n"); - $footnote = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}', - array(&$this, '_appendFootnotes_callback'), $footnote); - - $attr = str_replace("%%", ++$num, $attr); - $note_id = $this->encodeAttribute($note_id); - - # Add backlink to last paragraph; create new paragraph if needed. - $backlink = "<a href=\"#fnref:$note_id\"$attr>↩</a>"; - if (preg_match('{</p>$}', $footnote)) { - $footnote = substr($footnote, 0, -4) . " $backlink</p>"; - } else { - $footnote .= "\n\n<p>$backlink</p>"; - } - - $text .= "<li id=\"fn:$note_id\">\n"; - $text .= $footnote . "\n"; - $text .= "</li>\n\n"; - } - - $text .= "</ol>\n"; - $text .= "</div>"; - } - return $text; - } - function _appendFootnotes_callback($matches) { - $node_id = $this->fn_id_prefix . $matches[1]; - - # Create footnote marker only if it has a corresponding footnote *and* - # the footnote hasn't been used by another marker. - if (isset($this->footnotes[$node_id])) { - # Transfert footnote content to the ordered list. - $this->footnotes_ordered[$node_id] = $this->footnotes[$node_id]; - unset($this->footnotes[$node_id]); - - $num = $this->footnote_counter++; - $attr = " rel=\"footnote\""; - if ($this->fn_link_class != "") { - $class = $this->fn_link_class; - $class = $this->encodeAttribute($class); - $attr .= " class=\"$class\""; - } - if ($this->fn_link_title != "") { - $title = $this->fn_link_title; - $title = $this->encodeAttribute($title); - $attr .= " title=\"$title\""; - } - - $attr = str_replace("%%", $num, $attr); - $node_id = $this->encodeAttribute($node_id); - - return - "<sup id=\"fnref:$node_id\">". - "<a href=\"#fn:$node_id\"$attr>$num</a>". - "</sup>"; - } - - return "[^".$matches[1]."]"; - } - - - ### Abbreviations ### - - function stripAbbreviations($text) { - # - # Strips abbreviations from text, stores titles in hash references. - # - $less_than_tab = $this->tab_width - 1; - - # Link defs are in the form: [id]*: url "optional title" - $text = preg_replace_callback('{ - ^[ ]{0,'.$less_than_tab.'}\*\[(.+?)\][ ]?: # abbr_id = $1 - (.*) # text = $2 (no blank lines allowed) - }xm', - array(&$this, '_stripAbbreviations_callback'), - $text); - return $text; - } - function _stripAbbreviations_callback($matches) { - $abbr_word = $matches[1]; - $abbr_desc = $matches[2]; - if ($this->abbr_word_re) - $this->abbr_word_re .= '|'; - $this->abbr_word_re .= preg_quote($abbr_word); - $this->abbr_desciptions[$abbr_word] = trim($abbr_desc); - return ''; # String that will replace the block - } - - - function doAbbreviations($text) { - # - # Find defined abbreviations in text and wrap them in <abbr> elements. - # - if ($this->abbr_word_re) { - // cannot use the /x modifier because abbr_word_re may - // contain significant spaces: - $text = preg_replace_callback('{'. - '(?<![\w\x1A])'. - '(?:'.$this->abbr_word_re.')'. - '(?![\w\x1A])'. - '}', - array(&$this, '_doAbbreviations_callback'), $text); - } - return $text; - } - function _doAbbreviations_callback($matches) { - $abbr = $matches[0]; - if (isset($this->abbr_desciptions[$abbr])) { - $desc = $this->abbr_desciptions[$abbr]; - if (empty($desc)) { - return $this->hashPart("<abbr>$abbr</abbr>"); - } else { - $desc = $this->encodeAttribute($desc); - return $this->hashPart("<abbr title=\"$desc\">$abbr</abbr>"); - } - } else { - return $matches[0]; - } - } - -} - - -/* - -PHP Markdown Extra -================== - -Description ------------ - -This is a PHP port of the original Markdown formatter written in Perl -by John Gruber. This special "Extra" version of PHP Markdown features -further enhancements to the syntax for making additional constructs -such as tables and definition list. - -Markdown is a text-to-HTML filter; it translates an easy-to-read / -easy-to-write structured text format into HTML. Markdown's text format -is most similar to that of plain text email, and supports features such -as headers, *emphasis*, code blocks, blockquotes, and links. - -Markdown's syntax is designed not as a generic markup language, but -specifically to serve as a front-end to (X)HTML. You can use span-level -HTML tags anywhere in a Markdown document, and you can use block level -HTML tags (like <div> and <table> as well). - -For more information about Markdown's syntax, see: - -<http://daringfireball.net/projects/markdown/> - - -Bugs ----- - -To file bug reports please send email to: - -<michel.fortin@michelf.com> - -Please include with your report: (1) the example input; (2) the output you -expected; (3) the output Markdown actually produced. - - -Version History ---------------- - -See the readme file for detailed release notes for this version. - - -Copyright and License ---------------------- - -PHP Markdown & Extra -Copyright (c) 2004-2009 Michel Fortin -<http://michelf.com/> -All rights reserved. - -Based on Markdown -Copyright (c) 2003-2006 John Gruber -<http://daringfireball.net/> -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -* Neither the name "Markdown" nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -This software is provided by the copyright holders and contributors "as -is" and any express or implied warranties, including, but not limited -to, the implied warranties of merchantability and fitness for a -particular purpose are disclaimed. In no event shall the copyright owner -or contributors be liable for any direct, indirect, incidental, special, -exemplary, or consequential damages (including, but not limited to, -procurement of substitute goods or services; loss of use, data, or -profits; or business interruption) however caused and on any theory of -liability, whether in contract, strict liability, or tort (including -negligence or otherwise) arising in any way out of the use of this -software, even if advised of the possibility of such damage. - -*/ -?>
\ No newline at end of file diff --git a/library/markdownify/TODO b/library/markdownify/TODO deleted file mode 100644 index 06ec8508b..000000000 --- a/library/markdownify/TODO +++ /dev/null @@ -1,29 +0,0 @@ -Markdownify -=========== -* handle non-markdownifiable lists (i.e. `<ul><li id="foobar">asdf</li></ul>`) -* organize methods better (i.e. flushlinebreaks & setlinebreaks close to each other) -* take a look at function names etc. -* is the new (in rev. 93) lastclosedtag property needed? -* word wrapping (some work is done but it's still very buggy) - - -Markdownify Extra -================= - -* handle table alignment with KEEP_HTML=false -* handle tables without headings when KEEP_HTML=false is set -* handle Markdown inside non-markdownable tags - - -Implementation Thoughts -======================= -* non-markdownifiable lists and markdown inside non-markdownable tags as well as the current - table implementation could be rewritten by using a rollback mechanism. - - example: - - <ul><li>asdf</li><li id="foobar">asdf</li></ul> - - we come to `<ul>`, know that this might fail and create a snapshot of our current parser - we keep on parsing and when we reach `<li id="foobar">` we gotta rollback and keep this - list in HTML format. diff --git a/library/markdownify/example.php b/library/markdownify/example.php deleted file mode 100644 index ef86dca83..000000000 --- a/library/markdownify/example.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php - error_reporting(E_ALL); - if (!empty($_POST['input'])) { - include 'markdownify_extra.php'; - if (!isset($_POST['leap'])) { - $leap = MDFY_LINKS_EACH_PARAGRAPH; - } else { - $leap = $_POST['leap']; - } - - if (!isset($_POST['keepHTML'])) { - $keephtml = MDFY_KEEPHTML; - } else { - $keephtml = $_POST['keepHTML']; - } - if (!empty($_POST['extra'])) { - $md = new Markdownify_Extra($leap, MDFY_BODYWIDTH, $keephtml); - } else { - $md = new Markdownify($leap, MDFY_BODYWIDTH, $keephtml); - } - if (ini_get('magic_quotes_gpc')) { - $_POST['input'] = stripslashes($_POST['input']); - } - $output = $md->parseString($_POST['input']); - } else { - $_POST['input'] = ''; - } -?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> - <title>HTML to Markdown Converter</title> - </head> - <body> - <?php if (empty($_POST['input'])): ?> - <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> - <fieldset> - <legend>HTML Input</legend> - <textarea style="width:100%;" cols="85" rows="40" name="input"><?php echo htmlspecialchars($_POST['input'], ENT_NOQUOTES, 'UTF-8'); ?></textarea> - </fieldset> - <label for="extra">Markdownify Extra: <input name="extra" checked="checked" id="extra" type="checkbox" value="1" /></label> - <label for="leap">Links after each block elem: <input name="leap" id="leap" type="checkbox" value="1" /></label> - <label for="keepHTML">keep HTML: <input name="keepHTML" id="keepHTML" type="checkbox" value="1" checked="checked" /></label> - <input type="submit" name="submit" value="submit" /> - </form> - <?php else: ?> - <h1 style="text-align:right;"><a href="<?php echo $_SERVER['PHP_SELF']; ?>">BACK</a></h1> - <pre><?php echo htmlspecialchars($output, ENT_NOQUOTES, 'UTF-8'); ?></pre> - <?php endif; ?> - </body> -</html>
\ No newline at end of file diff --git a/library/markdownify/markdownify.php b/library/markdownify/markdownify.php deleted file mode 100644 index 0d4429a01..000000000 --- a/library/markdownify/markdownify.php +++ /dev/null @@ -1,1197 +0,0 @@ -<?php -/** - * Markdownify converts HTML Markup to [Markdown][1] (by [John Gruber][2]. It - * also supports [Markdown Extra][3] by [Michel Fortin][4] via Markdownify_Extra. - * - * It all started as `html2text.php` - a port of [Aaron Swartz'][5] [`html2text.py`][6] - but - * got a long way since. This is far more than a mere port now! - * Starting with version 2.0.0 this is a complete rewrite and cannot be - * compared to Aaron Swatz' `html2text.py` anylonger. I'm now using a HTML parser - * (see `parsehtml.php` which I also wrote) which makes most of the evil - * RegEx magic go away and additionally it gives a much cleaner class - * structure. Also notably is the fact that I now try to prevent regressions by - * utilizing testcases of Michel Fortin's [MDTest][7]. - * - * [1]: http://daringfireball.com/projects/markdown - * [2]: http://daringfireball.com/ - * [3]: http://www.michelf.com/projects/php-markdown/extra/ - * [4]: http://www.michelf.com/ - * [5]: http://www.aaronsw.com/ - * [6]: http://www.aaronsw.com/2002/html2text/ - * [7]: http://article.gmane.org/gmane.text.markdown.general/2540 - * - * @version 2.0.0 alpha - * @author Milian Wolff (<mail@milianw.de>, <http://milianw.de>) - * @license LGPL, see LICENSE_LGPL.txt and the summary below - * @copyright (C) 2007 Milian Wolff - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/** - * HTML Parser, see http://sf.net/projects/parseHTML - */ -require_once dirname(__FILE__).'/parsehtml/parsehtml.php'; - -/** - * default configuration - */ -define('MDFY_LINKS_EACH_PARAGRAPH', false); -define('MDFY_BODYWIDTH', false); -define('MDFY_KEEPHTML', true); - -/** - * HTML to Markdown converter class - */ -class Markdownify { - /** - * html parser object - * - * @var parseHTML - */ - var $parser; - /** - * markdown output - * - * @var string - */ - var $output; - /** - * stack with tags which where not converted to html - * - * @var array<string> - */ - var $notConverted = array(); - /** - * skip conversion to markdown - * - * @var bool - */ - var $skipConversion = false; - /* options */ - /** - * keep html tags which cannot be converted to markdown - * - * @var bool - */ - var $keepHTML = false; - /** - * wrap output, set to 0 to skip wrapping - * - * @var int - */ - var $bodyWidth = 0; - /** - * minimum body width - * - * @var int - */ - var $minBodyWidth = 25; - /** - * display links after each paragraph - * - * @var bool - */ - var $linksAfterEachParagraph = false; - /** - * constructor, set options, setup parser - * - * @param bool $linksAfterEachParagraph wether or not to flush stacked links after each paragraph - * defaults to false - * @param int $bodyWidth wether or not to wrap the output to the given width - * defaults to false - * @param bool $keepHTML wether to keep non markdownable HTML or to discard it - * defaults to true (HTML will be kept) - * @return void - */ - function Markdownify($linksAfterEachParagraph = MDFY_LINKS_EACH_PARAGRAPH, $bodyWidth = MDFY_BODYWIDTH, $keepHTML = MDFY_KEEPHTML) { - $this->linksAfterEachParagraph = $linksAfterEachParagraph; - $this->keepHTML = $keepHTML; - - if ($bodyWidth > $this->minBodyWidth) { - $this->bodyWidth = intval($bodyWidth); - } else { - $this->bodyWidth = false; - } - - $this->parser = new parseHTML; - $this->parser->noTagsInCode = true; - - # we don't have to do this every time - $search = array(); - $replace = array(); - foreach ($this->escapeInText as $s => $r) { - array_push($search, '#(?<!\\\)'.$s.'#U'); - array_push($replace, $r); - } - $this->escapeInText = array( - 'search' => $search, - 'replace' => $replace - ); - } - /** - * parse a HTML string - * - * @param string $html - * @return string markdown formatted - */ - function parseString($html) { - $this->parser->html = $html; - $this->parse(); - return $this->output; - } - /** - * tags with elements which can be handled by markdown - * - * @var array<string> - */ - var $isMarkdownable = array( - 'p' => array(), - 'ul' => array(), - 'ol' => array(), - 'li' => array(), - 'br' => array(), - 'blockquote' => array(), - 'code' => array(), - 'pre' => array(), - 'a' => array( - 'href' => 'required', - 'title' => 'optional', - ), - 'strong' => array(), - 'b' => array(), - 'em' => array(), - 'i' => array(), - 'img' => array( - 'src' => 'required', - 'alt' => 'optional', - 'title' => 'optional', - ), - 'h1' => array(), - 'h2' => array(), - 'h3' => array(), - 'h4' => array(), - 'h5' => array(), - 'h6' => array(), - 'hr' => array(), - ); - /** - * html tags to be ignored (contents will be parsed) - * - * @var array<string> - */ - var $ignore = array( - 'html', - 'body', - ); - /** - * html tags to be dropped (contents will not be parsed!) - * - * @var array<string> - */ - var $drop = array( - 'script', - 'head', - 'style', - 'form', - 'area', - 'object', - 'param', - 'iframe', - ); - /** - * Markdown indents which could be wrapped - * @note: use strings in regex format - * - * @var array<string> - */ - var $wrappableIndents = array( - '\* ', # ul - '\d. ', # ol - '\d\d. ', # ol - '> ', # blockquote - '', # p - ); - /** - * list of chars which have to be escaped in normal text - * @note: use strings in regex format - * - * @var array - * - * TODO: what's with block chars / sequences at the beginning of a block? - */ - var $escapeInText = array( - '([-*_])([ ]{0,2}\1){2,}' => '\\\\$0|', # hr - '\*\*([^*\s]+)\*\*' => '\*\*$1\*\*', # strong - '\*([^*\s]+)\*' => '\*$1\*', # em - '__(?! |_)(.+)(?!<_| )__' => '\_\_$1\_\_', # em - '_(?! |_)(.+)(?!<_| )_' => '\_$1\_', # em - '`(.+)`' => '\`$1\`', # code - '\[(.+)\](\s*\()' => '\[$1\]$2', # links: [text] (url) => [text\] (url) - '\[(.+)\](\s*)\[(.*)\]' => '\[$1\]$2\[$3\]', # links: [text][id] => [text\][id\] - ); - /** - * wether last processed node was a block tag or not - * - * @var bool - */ - var $lastWasBlockTag = false; - /** - * name of last closed tag - * - * @var string - */ - var $lastClosedTag = ''; - /** - * iterate through the nodes and decide what we - * shall do with the current node - * - * @param void - * @return void - */ - function parse() { - $this->output = ''; - # drop tags - $this->parser->html = preg_replace('#<('.implode('|', $this->drop).')[^>]*>.*</\\1>#sU', '', $this->parser->html); - while ($this->parser->nextNode()) { - switch ($this->parser->nodeType) { - case 'doctype': - break; - case 'pi': - case 'comment': - if ($this->keepHTML) { - $this->flushLinebreaks(); - $this->out($this->parser->node); - $this->setLineBreaks(2); - } - # else drop - break; - case 'text': - $this->handleText(); - break; - case 'tag': - if (in_array($this->parser->tagName, $this->ignore)) { - break; - } - if ($this->parser->isStartTag) { - $this->flushLinebreaks(); - } - if ($this->skipConversion) { - $this->isMarkdownable(); # update notConverted - $this->handleTagToText(); - continue; - } - if (!$this->parser->keepWhitespace && $this->parser->isBlockElement && $this->parser->isStartTag) { - $this->parser->html = ltrim($this->parser->html); - } - if ($this->isMarkdownable()) { - if ($this->parser->isBlockElement && $this->parser->isStartTag && !$this->lastWasBlockTag && !empty($this->output)) { - if (!empty($this->buffer)) { - $str =& $this->buffer[count($this->buffer) -1]; - } else { - $str =& $this->output; - } - if (substr($str, -strlen($this->indent)-1) != "\n".$this->indent) { - $str .= "\n".$this->indent; - } - } - $func = 'handleTag_'.$this->parser->tagName; - $this->$func(); - if ($this->linksAfterEachParagraph && $this->parser->isBlockElement && !$this->parser->isStartTag && empty($this->parser->openTags)) { - $this->flushStacked(); - } - if (!$this->parser->isStartTag) { - $this->lastClosedTag = $this->parser->tagName; - } - } else { - $this->handleTagToText(); - $this->lastClosedTag = ''; - } - break; - default: - trigger_error('invalid node type', E_USER_ERROR); - break; - } - $this->lastWasBlockTag = $this->parser->nodeType == 'tag' && $this->parser->isStartTag && $this->parser->isBlockElement; - } - if (!empty($this->buffer)) { - trigger_error('buffer was not flushed, this is a bug. please report!', E_USER_WARNING); - while (!empty($this->buffer)) { - $this->out($this->unbuffer()); - } - } - ### cleanup - $this->output = rtrim(str_replace('&', '&', str_replace('<', '<', str_replace('>', '>', $this->output)))); - # end parsing, flush stacked tags - $this->flushStacked(); - $this->stack = array(); - } - /** - * check if current tag can be converted to Markdown - * - * @param void - * @return bool - */ - function isMarkdownable() { - if (!isset($this->isMarkdownable[$this->parser->tagName])) { - # simply not markdownable - return false; - } - if ($this->parser->isStartTag) { - $return = true; - if ($this->keepHTML) { - $diff = array_diff(array_keys($this->parser->tagAttributes), array_keys($this->isMarkdownable[$this->parser->tagName])); - if (!empty($diff)) { - # non markdownable attributes given - $return = false; - } - } - if ($return) { - foreach ($this->isMarkdownable[$this->parser->tagName] as $attr => $type) { - if ($type == 'required' && !isset($this->parser->tagAttributes[$attr])) { - # required markdown attribute not given - $return = false; - break; - } - } - } - if (!$return) { - array_push($this->notConverted, $this->parser->tagName.'::'.implode('/', $this->parser->openTags)); - } - return $return; - } else { - if (!empty($this->notConverted) && end($this->notConverted) === $this->parser->tagName.'::'.implode('/', $this->parser->openTags)) { - array_pop($this->notConverted); - return false; - } - return true; - } - } - /** - * output all stacked tags - * - * @param void - * @return void - */ - function flushStacked() { - # links - foreach ($this->stack as $tag => $a) { - if (!empty($a)) { - call_user_func(array(&$this, 'flushStacked_'.$tag)); - } - } - } - /** - * output link references (e.g. [1]: http://example.com "title"); - * - * @param void - * @return void - */ - function flushStacked_a() { - $out = false; - foreach ($this->stack['a'] as $k => $tag) { - if (!isset($tag['unstacked'])) { - if (!$out) { - $out = true; - $this->out("\n\n", true); - } else { - $this->out("\n", true); - } - $this->out(' ['.$tag['linkID'].']: '.$tag['href'].(isset($tag['title']) ? ' "'.$tag['title'].'"' : ''), true); - $tag['unstacked'] = true; - $this->stack['a'][$k] = $tag; - } - } - } - /** - * flush enqued linebreaks - * - * @param void - * @return void - */ - function flushLinebreaks() { - if ($this->lineBreaks && !empty($this->output)) { - $this->out(str_repeat("\n".$this->indent, $this->lineBreaks), true); - } - $this->lineBreaks = 0; - } - /** - * handle non Markdownable tags - * - * @param void - * @return void - */ - function handleTagToText() { - if (!$this->keepHTML) { - if (!$this->parser->isStartTag && $this->parser->isBlockElement) { - $this->setLineBreaks(2); - } - } else { - # dont convert to markdown inside this tag - /** TODO: markdown extra **/ - if (!$this->parser->isEmptyTag) { - if ($this->parser->isStartTag) { - if (!$this->skipConversion) { - $this->skipConversion = $this->parser->tagName.'::'.implode('/', $this->parser->openTags); - } - } else { - if ($this->skipConversion == $this->parser->tagName.'::'.implode('/', $this->parser->openTags)) { - $this->skipConversion = false; - } - } - } - - if ($this->parser->isBlockElement) { - if ($this->parser->isStartTag) { - if (in_array($this->parent(), array('ins', 'del'))) { - # looks like ins or del are block elements now - $this->out("\n", true); - $this->indent(' '); - } - if ($this->parser->tagName != 'pre') { - $this->out($this->parser->node."\n".$this->indent); - if (!$this->parser->isEmptyTag) { - $this->indent(' '); - } else { - $this->setLineBreaks(1); - } - $this->parser->html = ltrim($this->parser->html); - } else { - # don't indent inside <pre> tags - $this->out($this->parser->node); - static $indent; - $indent = $this->indent; - $this->indent = ''; - } - } else { - if (!$this->parser->keepWhitespace) { - $this->output = rtrim($this->output); - } - if ($this->parser->tagName != 'pre') { - $this->indent(' '); - $this->out("\n".$this->indent.$this->parser->node); - } else { - # reset indentation - $this->out($this->parser->node); - static $indent; - $this->indent = $indent; - } - - if (in_array($this->parent(), array('ins', 'del'))) { - # ins or del was block element - $this->out("\n"); - $this->indent(' '); - } - if ($this->parser->tagName == 'li') { - $this->setLineBreaks(1); - } else { - $this->setLineBreaks(2); - } - } - } else { - $this->out($this->parser->node); - } - if (in_array($this->parser->tagName, array('code', 'pre'))) { - if ($this->parser->isStartTag) { - $this->buffer(); - } else { - # add stuff so cleanup just reverses this - $this->out(str_replace('<', '&lt;', str_replace('>', '&gt;', $this->unbuffer()))); - } - } - } - } - /** - * handle plain text - * - * @param void - * @return void - */ - function handleText() { - if ($this->hasParent('pre') && strpos($this->parser->node, "\n") !== false) { - $this->parser->node = str_replace("\n", "\n".$this->indent, $this->parser->node); - } - if (!$this->hasParent('code') && !$this->hasParent('pre')) { - # entity decode - $this->parser->node = $this->decode($this->parser->node); - if (!$this->skipConversion) { - # escape some chars in normal Text - $this->parser->node = preg_replace($this->escapeInText['search'], $this->escapeInText['replace'], $this->parser->node); - } - } else { - $this->parser->node = str_replace(array('"', '&apos'), array('"', '\''), $this->parser->node); - } - $this->out($this->parser->node); - $this->lastClosedTag = ''; - } - /** - * handle <em> and <i> tags - * - * @param void - * @return void - */ - function handleTag_em() { - $this->out('*', true); - } - function handleTag_i() { - $this->handleTag_em(); - } - /** - * handle <strong> and <b> tags - * - * @param void - * @return void - */ - function handleTag_strong() { - $this->out('**', true); - } - function handleTag_b() { - $this->handleTag_strong(); - } - /** - * handle <h1> tags - * - * @param void - * @return void - */ - function handleTag_h1() { - $this->handleHeader(1); - } - /** - * handle <h2> tags - * - * @param void - * @return void - */ - function handleTag_h2() { - $this->handleHeader(2); - } - /** - * handle <h3> tags - * - * @param void - * @return void - */ - function handleTag_h3() { - $this->handleHeader(3); - } - /** - * handle <h4> tags - * - * @param void - * @return void - */ - function handleTag_h4() { - $this->handleHeader(4); - } - /** - * handle <h5> tags - * - * @param void - * @return void - */ - function handleTag_h5() { - $this->handleHeader(5); - } - /** - * handle <h6> tags - * - * @param void - * @return void - */ - function handleTag_h6() { - $this->handleHeader(6); - } - /** - * number of line breaks before next inline output - */ - var $lineBreaks = 0; - /** - * handle header tags (<h1> - <h6>) - * - * @param int $level 1-6 - * @return void - */ - function handleHeader($level) { - if ($this->parser->isStartTag) { - $this->out(str_repeat('#', $level).' ', true); - } else { - $this->setLineBreaks(2); - } - } - /** - * handle <p> tags - * - * @param void - * @return void - */ - function handleTag_p() { - if (!$this->parser->isStartTag) { - $this->setLineBreaks(2); - } - } - /** - * handle <a> tags - * - * @param void - * @return void - */ - function handleTag_a() { - if ($this->parser->isStartTag) { - $this->buffer(); - if (isset($this->parser->tagAttributes['title'])) { - $this->parser->tagAttributes['title'] = $this->decode($this->parser->tagAttributes['title']); - } else { - $this->parser->tagAttributes['title'] = null; - } - $this->parser->tagAttributes['href'] = $this->decode(trim($this->parser->tagAttributes['href'])); - $this->stack(); - } else { - $tag = $this->unstack(); - $buffer = $this->unbuffer(); - - if (empty($tag['href']) && empty($tag['title'])) { - # empty links... testcase mania, who would possibly do anything like that?! - $this->out('['.$buffer.']()', true); - return; - } - - if ($buffer == $tag['href'] && empty($tag['title'])) { - # <http://example.com> - $this->out('<'.$buffer.'>', true); - return; - } - - $bufferDecoded = $this->decode(trim($buffer)); - if (substr($tag['href'], 0, 7) == 'mailto:' && 'mailto:'.$bufferDecoded == $tag['href']) { - if (is_null($tag['title'])) { - # <mail@example.com> - $this->out('<'.$bufferDecoded.'>', true); - return; - } - # [mail@example.com][1] - # ... - # [1]: mailto:mail@example.com Title - $tag['href'] = 'mailto:'.$bufferDecoded; - } - - $this->out('['.$buffer.']('.$tag['href'].' "'.$tag['title'].'")', true); - -/* - # [This link][id] - foreach ($this->stack['a'] as $tag2) { - if ($tag2['href'] == $tag['href'] && $tag2['title'] === $tag['title']) { - $tag['linkID'] = $tag2['linkID']; - break; - } - } - if (!isset($tag['linkID'])) { - $tag['linkID'] = count($this->stack['a']) + 1; - array_push($this->stack['a'], $tag); - } - - $this->out('['.$buffer.']['.$tag['linkID'].']', true); -*/ - } - } - /** - * handle <img /> tags - * - * @param void - * @return void - */ - function handleTag_img() { - if (!$this->parser->isStartTag) { - return; # just to be sure this is really an empty tag... - } - - if (isset($this->parser->tagAttributes['title'])) { - $this->parser->tagAttributes['title'] = $this->decode($this->parser->tagAttributes['title']); - } else { - $this->parser->tagAttributes['title'] = null; - } - if (isset($this->parser->tagAttributes['alt'])) { - $this->parser->tagAttributes['alt'] = $this->decode($this->parser->tagAttributes['alt']); - } else { - $this->parser->tagAttributes['alt'] = null; - } - - if (empty($this->parser->tagAttributes['src'])) { - # support for "empty" images... dunno if this is really needed - # but there are some testcases which do that... - if (!empty($this->parser->tagAttributes['title'])) { - $this->parser->tagAttributes['title'] = ' '.$this->parser->tagAttributes['title'].' '; - } - $this->out('!['.$this->parser->tagAttributes['alt'].']('.$this->parser->tagAttributes['title'].')', true); - return; - } else { - $this->parser->tagAttributes['src'] = $this->decode($this->parser->tagAttributes['src']); - } - -// ![Alt text](/path/to/img.jpg "Optional title") - if ($this->parser->tagAttributes['title'] != "") - $this->out('!['.$this->parser->tagAttributes['alt'].']('.$this->parser->tagAttributes['src'].' "'.$this->parser->tagAttributes['title'].'")', true); - else - $this->out('!['.$this->parser->tagAttributes['alt'].']('.$this->parser->tagAttributes['src'].')', true); - -/* - # [This link][id] - $link_id = false; - if (!empty($this->stack['a'])) { - foreach ($this->stack['a'] as $tag) { - if ($tag['href'] == $this->parser->tagAttributes['src'] - && $tag['title'] === $this->parser->tagAttributes['title']) { - $link_id = $tag['linkID']; - break; - } - } - } else { - $this->stack['a'] = array(); - } - if (!$link_id) { - $link_id = count($this->stack['a']) + 1; - $tag = array( - 'href' => $this->parser->tagAttributes['src'], - 'linkID' => $link_id, - 'title' => $this->parser->tagAttributes['title'] - ); - array_push($this->stack['a'], $tag); - } - - $this->out('!['.$this->parser->tagAttributes['alt'].']['.$link_id.']', true); -*/ - } - /** - * handle <code> tags - * - * @param void - * @return void - */ - function handleTag_code() { - if ($this->hasParent('pre')) { - # ignore code blocks inside <pre> - return; - } - if ($this->parser->isStartTag) { - $this->buffer(); - } else { - $buffer = $this->unbuffer(); - # use as many backticks as needed - preg_match_all('#`+#', $buffer, $matches); - if (!empty($matches[0])) { - rsort($matches[0]); - - $ticks = '`'; - while (true) { - if (!in_array($ticks, $matches[0])) { - break; - } - $ticks .= '`'; - } - } else { - $ticks = '`'; - } - if ($buffer[0] == '`' || substr($buffer, -1) == '`') { - $buffer = ' '.$buffer.' '; - } - $this->out($ticks.$buffer.$ticks, true); - } - } - /** - * handle <pre> tags - * - * @param void - * @return void - */ - function handleTag_pre() { - if ($this->keepHTML && $this->parser->isStartTag) { - # check if a simple <code> follows - if (!preg_match('#^\s*<code\s*>#Us', $this->parser->html)) { - # this is no standard markdown code block - $this->handleTagToText(); - return; - } - } - $this->indent(' '); - if (!$this->parser->isStartTag) { - $this->setLineBreaks(2); - } else { - $this->parser->html = ltrim($this->parser->html); - } - } - /** - * handle <blockquote> tags - * - * @param void - * @return void - */ - function handleTag_blockquote() { - $this->indent('> '); - } - /** - * handle <ul> tags - * - * @param void - * @return void - */ - function handleTag_ul() { - if ($this->parser->isStartTag) { - $this->stack(); - if (!$this->keepHTML && $this->lastClosedTag == $this->parser->tagName) { - $this->out("\n".$this->indent.'<!-- -->'."\n".$this->indent."\n".$this->indent); - } - } else { - $this->unstack(); - if ($this->parent() != 'li' || preg_match('#^\s*(</li\s*>\s*<li\s*>\s*)?<(p|blockquote)\s*>#sU', $this->parser->html)) { - # dont make Markdown add unneeded paragraphs - $this->setLineBreaks(2); - } - } - } - /** - * handle <ul> tags - * - * @param void - * @return void - */ - function handleTag_ol() { - # same as above - $this->parser->tagAttributes['num'] = 0; - $this->handleTag_ul(); - } - /** - * handle <li> tags - * - * @param void - * @return void - */ - function handleTag_li() { - if ($this->parent() == 'ol') { - $parent =& $this->getStacked('ol'); - if ($this->parser->isStartTag) { - $parent['num']++; - $this->out($parent['num'].'.'.str_repeat(' ', 3 - strlen($parent['num'])), true); - } - $this->indent(' ', false); - } else { - if ($this->parser->isStartTag) { - $this->out('* ', true); - } - $this->indent(' ', false); - } - if (!$this->parser->isStartTag) { - $this->setLineBreaks(1); - } - } - /** - * handle <hr /> tags - * - * @param void - * @return void - */ - function handleTag_hr() { - if (!$this->parser->isStartTag) { - return; # just to be sure this really is an empty tag - } - $this->out('* * *', true); - $this->setLineBreaks(2); - } - /** - * handle <br /> tags - * - * @param void - * @return void - */ - function handleTag_br() { - $this->out(" \n".$this->indent, true); - $this->parser->html = ltrim($this->parser->html); - } - /** - * node stack, e.g. for <a> and <abbr> tags - * - * @var array<array> - */ - var $stack = array(); - /** - * add current node to the stack - * this only stores the attributes - * - * @param void - * @return void - */ - function stack() { - if (!isset($this->stack[$this->parser->tagName])) { - $this->stack[$this->parser->tagName] = array(); - } - array_push($this->stack[$this->parser->tagName], $this->parser->tagAttributes); - } - /** - * remove current tag from stack - * - * @param void - * @return array - */ - function unstack() { - if (!isset($this->stack[$this->parser->tagName]) || !is_array($this->stack[$this->parser->tagName])) { - trigger_error('Trying to unstack from empty stack. This must not happen.', E_USER_ERROR); - } - return array_pop($this->stack[$this->parser->tagName]); - } - /** - * get last stacked element of type $tagName - * - * @param string $tagName - * @return array - */ - function & getStacked($tagName) { - // no end() so it can be referenced - return $this->stack[$tagName][count($this->stack[$tagName])-1]; - } - /** - * set number of line breaks before next start tag - * - * @param int $number - * @return void - */ - function setLineBreaks($number) { - if ($this->lineBreaks < $number) { - $this->lineBreaks = $number; - } - } - /** - * stores current buffers - * - * @var array<string> - */ - var $buffer = array(); - /** - * buffer next parser output until unbuffer() is called - * - * @param void - * @return void - */ - function buffer() { - array_push($this->buffer, ''); - } - /** - * end current buffer and return buffered output - * - * @param void - * @return string - */ - function unbuffer() { - return array_pop($this->buffer); - } - /** - * append string to the correct var, either - * directly to $this->output or to the current - * buffers - * - * @param string $put - * @return void - */ - function out($put, $nowrap = false) { - if (empty($put)) { - return; - } - if (!empty($this->buffer)) { - $this->buffer[count($this->buffer) - 1] .= $put; - } else { - if ($this->bodyWidth && !$this->parser->keepWhitespace) { # wrap lines - // get last line - $pos = strrpos($this->output, "\n"); - if ($pos === false) { - $line = $this->output; - } else { - $line = substr($this->output, $pos); - } - - if ($nowrap) { - if ($put[0] != "\n" && $this->strlen($line) + $this->strlen($put) > $this->bodyWidth) { - $this->output .= "\n".$this->indent.$put; - } else { - $this->output .= $put; - } - return; - } else { - $put .= "\n"; # make sure we get all lines in the while below - $lineLen = $this->strlen($line); - while ($pos = strpos($put, "\n")) { - $putLine = substr($put, 0, $pos+1); - $put = substr($put, $pos+1); - $putLen = $this->strlen($putLine); - if ($lineLen + $putLen < $this->bodyWidth) { - $this->output .= $putLine; - $lineLen = $putLen; - } else { - $split = preg_split('#^(.{0,'.($this->bodyWidth - $lineLen).'})\b#', $putLine, 2, PREG_SPLIT_OFFSET_CAPTURE | PREG_SPLIT_DELIM_CAPTURE); - $this->output .= rtrim($split[1][0])."\n".$this->indent.$this->wordwrap(ltrim($split[2][0]), $this->bodyWidth, "\n".$this->indent, false); - } - } - $this->output = substr($this->output, 0, -1); - return; - } - } else { - $this->output .= $put; - } - } - } - /** - * current indentation - * - * @var string - */ - var $indent = ''; - /** - * indent next output (start tag) or unindent (end tag) - * - * @param string $str indentation - * @param bool $output add indendation to output - * @return void - */ - function indent($str, $output = true) { - if ($this->parser->isStartTag) { - $this->indent .= $str; - if ($output) { - $this->out($str, true); - } - } else { - $this->indent = substr($this->indent, 0, -strlen($str)); - } - } - /** - * decode email addresses - * - * @author derernst@gmx.ch <http://www.php.net/manual/en/function.html-entity-decode.php#68536> - * @author Milian Wolff <http://milianw.de> - */ - function decode($text, $quote_style = ENT_QUOTES) { - if (version_compare(PHP_VERSION, '5', '>=')) { - # UTF-8 is only supported in PHP 5.x.x and above - $text = html_entity_decode($text, $quote_style, 'UTF-8'); - } else { - if (function_exists('html_entity_decode')) { - $text = html_entity_decode($text, $quote_style, 'ISO-8859-1'); - } else { - static $trans_tbl; - if (!isset($trans_tbl)) { - $trans_tbl = array_flip(get_html_translation_table(HTML_ENTITIES, $quote_style)); - } - $text = strtr($text, $trans_tbl); - } - $text = preg_replace_callback('~&#x([0-9a-f]+);~i', array(&$this, '_decode_hex'), $text); - $text = preg_replace_callback('~&#(\d{2,5});~', array(&$this, '_decode_numeric'), $text); - } - return $text; - } - /** - * callback for decode() which converts a hexadecimal entity to UTF-8 - * - * @param array $matches - * @return string UTF-8 encoded - */ - function _decode_hex($matches) { - return $this->unichr(hexdec($matches[1])); - } - /** - * callback for decode() which converts a numerical entity to UTF-8 - * - * @param array $matches - * @return string UTF-8 encoded - */ - function _decode_numeric($matches) { - return $this->unichr($matches[1]); - } - /** - * UTF-8 chr() which supports numeric entities - * - * @author grey - greywyvern - com <http://www.php.net/manual/en/function.chr.php#55978> - * @param array $matches - * @return string UTF-8 encoded - */ - function unichr($dec) { - if ($dec < 128) { - $utf = chr($dec); - } else if ($dec < 2048) { - $utf = chr(192 + (($dec - ($dec % 64)) / 64)); - $utf .= chr(128 + ($dec % 64)); - } else { - $utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); - $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); - $utf .= chr(128 + ($dec % 64)); - } - return $utf; - } - /** - * UTF-8 strlen() - * - * @param string $str - * @return int - * - * @author dtorop 932 at hotmail dot com <http://www.php.net/manual/en/function.strlen.php#37975> - * @author Milian Wolff <http://milianw.de> - */ - function strlen($str) { - if (function_exists('mb_strlen')) { - return mb_strlen($str, 'UTF-8'); - } else { - return preg_match_all('/[\x00-\x7F\xC0-\xFD]/', $str, $var_empty); - } - } - /** - * wordwrap for utf8 encoded strings - * - * @param string $str - * @param integer $len - * @param string $what - * @return string - */ - function wordwrap($str, $width, $break, $cut = false){ - if (!$cut) { - $regexp = '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){1,'.$width.'}\b#'; - } else { - $regexp = '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){'.$width.'}#'; - } - $return = ''; - while (preg_match($regexp, $str, $matches)) { - $string = $matches[0]; - $str = ltrim(substr($str, strlen($string))); - if (!$cut && isset($str[0]) && in_array($str[0], array('.', '!', ';', ':', '?', ','))) { - $string .= $str[0]; - $str = ltrim(substr($str, 1)); - } - $return .= $string.$break; - } - return $return.ltrim($str); - } - /** - * check if current node has a $tagName as parent (somewhere, not only the direct parent) - * - * @param string $tagName - * @return bool - */ - function hasParent($tagName) { - return in_array($tagName, $this->parser->openTags); - } - /** - * get tagName of direct parent tag - * - * @param void - * @return string $tagName - */ - function parent() { - return end($this->parser->openTags); - } -} diff --git a/library/markdownify/markdownify_cli.php b/library/markdownify/markdownify_cli.php deleted file mode 100755 index b3fffbd5c..000000000 --- a/library/markdownify/markdownify_cli.php +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/php -<?php -require dirname(__FILE__) .'/markdownify_extra.php'; - -function param($name, $default = false) { - if (!in_array('--'.$name, $_SERVER['argv'])) - return $default; - reset($_SERVER['argv']); - while (each($_SERVER['argv'])) { - if (current($_SERVER['argv']) == '--'.$name) - break; - } - $value = next($_SERVER['argv']); - if ($value === false || substr($value, 0, 2) == '--') - return true; - else - return $value; -} - - -$input = stream_get_contents(STDIN); - -$linksAfterEachParagraph = param('links'); -$bodyWidth = param('width'); -$keepHTML = param('html', true); - -if (param('no_extra')) { - $parser = new Markdownify($linksAfterEachParagraph, $bodyWidth, $keepHTML); -} else { - $parser = new Markdownify_Extra($linksAfterEachParagraph, $bodyWidth, $keepHTML); -} - -echo $parser->parseString($input) ."\n";
\ No newline at end of file diff --git a/library/markdownify/markdownify_extra.php b/library/markdownify/markdownify_extra.php deleted file mode 100644 index e978a1c8a..000000000 --- a/library/markdownify/markdownify_extra.php +++ /dev/null @@ -1,489 +0,0 @@ -<?php -/** - * Class to convert HTML to Markdown with PHP Markdown Extra syntax support. - * - * @version 1.0.0 alpha - * @author Milian Wolff (<mail@milianw.de>, <http://milianw.de>) - * @license LGPL, see LICENSE_LGPL.txt and the summary below - * @copyright (C) 2007 Milian Wolff - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/** - * standard Markdownify class - */ -require_once dirname(__FILE__).'/markdownify.php'; - -class Markdownify_Extra extends Markdownify { - /** - * table data, including rows with content and the maximum width of each col - * - * @var array - */ - var $table = array(); - /** - * current col - * - * @var int - */ - var $col = -1; - /** - * current row - * - * @var int - */ - var $row = 0; - /** - * constructor, see Markdownify::Markdownify() for more information - */ - function Markdownify_Extra($linksAfterEachParagraph = MDFY_LINKS_EACH_PARAGRAPH, $bodyWidth = MDFY_BODYWIDTH, $keepHTML = MDFY_KEEPHTML) { - parent::Markdownify($linksAfterEachParagraph, $bodyWidth, $keepHTML); - - ### new markdownable tags & attributes - # header ids: # foo {bar} - $this->isMarkdownable['h1']['id'] = 'optional'; - $this->isMarkdownable['h2']['id'] = 'optional'; - $this->isMarkdownable['h3']['id'] = 'optional'; - $this->isMarkdownable['h4']['id'] = 'optional'; - $this->isMarkdownable['h5']['id'] = 'optional'; - $this->isMarkdownable['h6']['id'] = 'optional'; - # tables - $this->isMarkdownable['table'] = array(); - $this->isMarkdownable['th'] = array( - 'align' => 'optional', - ); - $this->isMarkdownable['td'] = array( - 'align' => 'optional', - ); - $this->isMarkdownable['tr'] = array(); - array_push($this->ignore, 'thead'); - array_push($this->ignore, 'tbody'); - array_push($this->ignore, 'tfoot'); - # definition lists - $this->isMarkdownable['dl'] = array(); - $this->isMarkdownable['dd'] = array(); - $this->isMarkdownable['dt'] = array(); - # footnotes - $this->isMarkdownable['fnref'] = array( - 'target' => 'required', - ); - $this->isMarkdownable['footnotes'] = array(); - $this->isMarkdownable['fn'] = array( - 'name' => 'required', - ); - $this->parser->blockElements['fnref'] = false; - $this->parser->blockElements['fn'] = true; - $this->parser->blockElements['footnotes'] = true; - # abbr - $this->isMarkdownable['abbr'] = array( - 'title' => 'required', - ); - # build RegEx lookahead to decide wether table can pe parsed or not - $inlineTags = array_keys($this->parser->blockElements, false); - $colContents = '(?:[^<]|<(?:'.implode('|', $inlineTags).'|[^a-z]))+'; - $this->tableLookaheadHeader = '{ - ^\s*(?:<thead\s*>)?\s* # open optional thead - <tr\s*>\s*(?: # start required row with headers - <th(?:\s+align=("|\')(?:left|center|right)\1)?\s*> # header with optional align - \s*'.$colContents.'\s* # contents - </th>\s* # close header - )+</tr> # close row with headers - \s*(?:</thead>)? # close optional thead - }sxi'; - $this->tdSubstitute = '\s*'.$colContents.'\s* # contents - </td>\s*'; - $this->tableLookaheadBody = '{ - \s*(?:<tbody\s*>)?\s* # open optional tbody - (?:<tr\s*>\s* # start row - %s # cols to be substituted - </tr>)+ # close row - \s*(?:</tbody>)? # close optional tbody - \s*</table> # close table - }sxi'; - } - /** - * handle header tags (<h1> - <h6>) - * - * @param int $level 1-6 - * @return void - */ - function handleHeader($level) { - static $id = null; - if ($this->parser->isStartTag) { - if (isset($this->parser->tagAttributes['id'])) { - $id = $this->parser->tagAttributes['id']; - } - } else { - if (!is_null($id)) { - $this->out(' {#'.$id.'}'); - $id = null; - } - } - parent::handleHeader($level); - } - /** - * handle <abbr> tags - * - * @param void - * @return void - */ - function handleTag_abbr() { - if ($this->parser->isStartTag) { - $this->stack(); - $this->buffer(); - } else { - $tag = $this->unstack(); - $tag['text'] = $this->unbuffer(); - $add = true; - foreach ($this->stack['abbr'] as $stacked) { - if ($stacked['text'] == $tag['text']) { - /** TODO: differing abbr definitions, i.e. different titles for same text **/ - $add = false; - break; - } - } - $this->out($tag['text']); - if ($add) { - array_push($this->stack['abbr'], $tag); - } - } - } - /** - * flush stacked abbr tags - * - * @param void - * @return void - */ - function flushStacked_abbr() { - $out = array(); - foreach ($this->stack['abbr'] as $k => $tag) { - if (!isset($tag['unstacked'])) { - array_push($out, ' *['.$tag['text'].']: '.$tag['title']); - $tag['unstacked'] = true; - $this->stack['abbr'][$k] = $tag; - } - } - if (!empty($out)) { - $this->out("\n\n".implode("\n", $out)); - } - } - /** - * handle <table> tags - * - * @param void - * @return void - */ - function handleTag_table() { - if ($this->parser->isStartTag) { - # check if upcoming table can be converted - if ($this->keepHTML) { - if (preg_match($this->tableLookaheadHeader, $this->parser->html, $matches)) { - # header seems good, now check body - # get align & number of cols - preg_match_all('#<th(?:\s+align=("|\')(left|right|center)\1)?\s*>#si', $matches[0], $cols); - $regEx = ''; - $i = 1; - $aligns = array(); - foreach ($cols[2] as $align) { - $align = strtolower($align); - array_push($aligns, $align); - if (empty($align)) { - $align = 'left'; # default value - } - $td = '\s+align=("|\')'.$align.'\\'.$i; - $i++; - if ($align == 'left') { - # look for empty align or left - $td = '(?:'.$td.')?'; - } - $td = '<td'.$td.'\s*>'; - $regEx .= $td.$this->tdSubstitute; - } - $regEx = sprintf($this->tableLookaheadBody, $regEx); - if (preg_match($regEx, $this->parser->html, $matches, null, strlen($matches[0]))) { - # this is a markdownable table tag! - $this->table = array( - 'rows' => array(), - 'col_widths' => array(), - 'aligns' => $aligns, - ); - $this->row = 0; - } else { - # non markdownable table - $this->handleTagToText(); - } - } else { - # non markdownable table - $this->handleTagToText(); - } - } else { - $this->table = array( - 'rows' => array(), - 'col_widths' => array(), - 'aligns' => array(), - ); - $this->row = 0; - } - } else { - # finally build the table in Markdown Extra syntax - $separator = array(); - # seperator with correct align identifikators - foreach($this->table['aligns'] as $col => $align) { - if (!$this->keepHTML && !isset($this->table['col_widths'][$col])) { - break; - } - $left = ' '; - $right = ' '; - switch ($align) { - case 'left': - $left = ':'; - break; - case 'center': - $right = ':'; - $left = ':'; - case 'right': - $right = ':'; - break; - } - array_push($separator, $left.str_repeat('-', $this->table['col_widths'][$col]).$right); - } - $separator = '|'.implode('|', $separator).'|'; - - $rows = array(); - # add padding - array_walk_recursive($this->table['rows'], array(&$this, 'alignTdContent')); - $header = array_shift($this->table['rows']); - array_push($rows, '| '.implode(' | ', $header).' |'); - array_push($rows, $separator); - foreach ($this->table['rows'] as $row) { - array_push($rows, '| '.implode(' | ', $row).' |'); - } - $this->out(implode("\n".$this->indent, $rows)); - $this->table = array(); - $this->setLineBreaks(2); - } - } - /** - * properly pad content so it is aligned as whished - * should be used with array_walk_recursive on $this->table['rows'] - * - * @param string &$content - * @param int $col - * @return void - */ - function alignTdContent(&$content, $col) { - switch ($this->table['aligns'][$col]) { - default: - case 'left': - $content .= str_repeat(' ', $this->table['col_widths'][$col] - $this->strlen($content)); - break; - case 'right': - $content = str_repeat(' ', $this->table['col_widths'][$col] - $this->strlen($content)).$content; - break; - case 'center': - $paddingNeeded = $this->table['col_widths'][$col] - $this->strlen($content); - $left = floor($paddingNeeded / 2); - $right = $paddingNeeded - $left; - $content = str_repeat(' ', $left).$content.str_repeat(' ', $right); - break; - } - } - /** - * handle <tr> tags - * - * @param void - * @return void - */ - function handleTag_tr() { - if ($this->parser->isStartTag) { - $this->col = -1; - } else { - $this->row++; - } - } - /** - * handle <td> tags - * - * @param void - * @return void - */ - function handleTag_td() { - if ($this->parser->isStartTag) { - $this->col++; - if (!isset($this->table['col_widths'][$this->col])) { - $this->table['col_widths'][$this->col] = 0; - } - $this->buffer(); - } else { - $buffer = trim($this->unbuffer()); - $this->table['col_widths'][$this->col] = max($this->table['col_widths'][$this->col], $this->strlen($buffer)); - $this->table['rows'][$this->row][$this->col] = $buffer; - } - } - /** - * handle <th> tags - * - * @param void - * @return void - */ - function handleTag_th() { - if (!$this->keepHTML && !isset($this->table['rows'][1]) && !isset($this->table['aligns'][$this->col+1])) { - if (isset($this->parser->tagAttributes['align'])) { - $this->table['aligns'][$this->col+1] = $this->parser->tagAttributes['align']; - } else { - $this->table['aligns'][$this->col+1] = ''; - } - } - $this->handleTag_td(); - } - /** - * handle <dl> tags - * - * @param void - * @return void - */ - function handleTag_dl() { - if (!$this->parser->isStartTag) { - $this->setLineBreaks(2); - } - } - /** - * handle <dt> tags - * - * @param void - * @return void - **/ - function handleTag_dt() { - if (!$this->parser->isStartTag) { - $this->setLineBreaks(1); - } - } - /** - * handle <dd> tags - * - * @param void - * @return void - */ - function handleTag_dd() { - if ($this->parser->isStartTag) { - if (substr(ltrim($this->parser->html), 0, 3) == '<p>') { - # next comes a paragraph, so we'll need an extra line - $this->out("\n".$this->indent); - } elseif (substr($this->output, -2) == "\n\n") { - $this->output = substr($this->output, 0, -1); - } - $this->out(': '); - $this->indent(' ', false); - } else { - # lookahead for next dt - if (substr(ltrim($this->parser->html), 0, 4) == '<dt>') { - $this->setLineBreaks(2); - } else { - $this->setLineBreaks(1); - } - $this->indent(' '); - } - } - /** - * handle <fnref /> tags (custom footnote references, see markdownify_extra::parseString()) - * - * @param void - * @return void - */ - function handleTag_fnref() { - $this->out('[^'.$this->parser->tagAttributes['target'].']'); - } - /** - * handle <fn> tags (custom footnotes, see markdownify_extra::parseString() - * and markdownify_extra::_makeFootnotes()) - * - * @param void - * @return void - */ - function handleTag_fn() { - if ($this->parser->isStartTag) { - $this->out('[^'.$this->parser->tagAttributes['name'].']:'); - $this->setLineBreaks(1); - } else { - $this->setLineBreaks(2); - } - $this->indent(' '); - } - /** - * handle <footnotes> tag (custom footnotes, see markdownify_extra::parseString() - * and markdownify_extra::_makeFootnotes()) - * - * @param void - * @return void - */ - function handleTag_footnotes() { - if (!$this->parser->isStartTag) { - $this->setLineBreaks(2); - } - } - /** - * parse a HTML string, clean up footnotes prior - * - * @param string $HTML input - * @return string Markdown formatted output - */ - function parseString($html) { - /** TODO: custom markdown-extra options, e.g. titles & classes **/ - # <sup id="fnref:..."><a href"#fn..." rel="footnote">...</a></sup> - # => <fnref target="..." /> - $html = preg_replace('@<sup id="fnref:([^"]+)">\s*<a href="#fn:\1" rel="footnote">\s*\d+\s*</a>\s*</sup>@Us', '<fnref target="$1" />', $html); - # <div class="footnotes"> - # <hr /> - # <ol> - # - # <li id="fn:...">...</li> - # ... - # - # </ol> - # </div> - # => - # <footnotes> - # <fn name="...">...</fn> - # ... - # </footnotes> - $html = preg_replace_callback('#<div class="footnotes">\s*<hr />\s*<ol>\s*(.+)\s*</ol>\s*</div>#Us', array(&$this, '_makeFootnotes'), $html); - return parent::parseString($html); - } - /** - * replace HTML representation of footnotes with something more easily parsable - * - * @note this is a callback to be used in parseString() - * - * @param array $matches - * @return string - */ - function _makeFootnotes($matches) { - # <li id="fn:1"> - # ... - # <a href="#fnref:block" rev="footnote">↩</a></p> - # </li> - # => <fn name="1">...</fn> - # remove footnote link - $fns = preg_replace('@\s*( \s*)?<a href="#fnref:[^"]+" rev="footnote"[^>]*>↩</a>\s*@s', '', $matches[1]); - # remove empty paragraph - $fns = preg_replace('@<p>\s*</p>@s', '', $fns); - # <li id="fn:1">...</li> -> <footnote nr="1">...</footnote> - $fns = str_replace('<li id="fn:', '<fn name="', $fns); - - $fns = '<footnotes>'.$fns.'</footnotes>'; - return preg_replace('#</li>\s*(?=(?:<fn|</footnotes>))#s', '</fn>$1', $fns); - } -}
\ No newline at end of file diff --git a/library/markdownify/parsehtml/parsehtml.php b/library/markdownify/parsehtml/parsehtml.php deleted file mode 100644 index 1a8ecacda..000000000 --- a/library/markdownify/parsehtml/parsehtml.php +++ /dev/null @@ -1,618 +0,0 @@ -<?php -/** - * parseHTML is a HTML parser which works with PHP 4 and above. - * It tries to handle invalid HTML to some degree. - * - * @version 1.0 beta - * @author Milian Wolff (mail@milianw.de, http://milianw.de) - * @license LGPL, see LICENSE_LGPL.txt and the summary below - * @copyright (C) 2007 Milian Wolff - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ -class parseHTML { - /** - * tags which are always empty (<br /> etc.) - * - * @var array<string> - */ - var $emptyTags = array( - 'br', - 'hr', - 'input', - 'img', - 'area', - 'link', - 'meta', - 'param', - ); - /** - * tags with preformatted text - * whitespaces wont be touched in them - * - * @var array<string> - */ - var $preformattedTags = array( - 'script', - 'style', - 'pre', - 'code', - ); - /** - * supress HTML tags inside preformatted tags (see above) - * - * @var bool - */ - var $noTagsInCode = false; - /** - * html to be parsed - * - * @var string - */ - var $html = ''; - /** - * node type: - * - * - tag (see isStartTag) - * - text (includes cdata) - * - comment - * - doctype - * - pi (processing instruction) - * - * @var string - */ - var $nodeType = ''; - /** - * current node content, i.e. either a - * simple string (text node), or something like - * <tag attrib="value"...> - * - * @var string - */ - var $node = ''; - /** - * wether current node is an opening tag (<a>) or not (</a>) - * set to NULL if current node is not a tag - * NOTE: empty tags (<br />) set this to true as well! - * - * @var bool | null - */ - var $isStartTag = null; - /** - * wether current node is an empty tag (<br />) or not (<a></a>) - * - * @var bool | null - */ - var $isEmptyTag = null; - /** - * tag name - * - * @var string | null - */ - var $tagName = ''; - /** - * attributes of current tag - * - * @var array (attribName=>value) | null - */ - var $tagAttributes = null; - /** - * wether the current tag is a block element - * - * @var bool | null - */ - var $isBlockElement = null; - - /** - * keep whitespace - * - * @var int - */ - var $keepWhitespace = 0; - /** - * list of open tags - * count this to get current depth - * - * @var array - */ - var $openTags = array(); - /** - * list of block elements - * - * @var array - * TODO: what shall we do with <del> and <ins> ?! - */ - var $blockElements = array ( - # tag name => <bool> is block - # block elements - 'address' => true, - 'blockquote' => true, - 'center' => true, - 'del' => true, - 'dir' => true, - 'div' => true, - 'dl' => true, - 'fieldset' => true, - 'form' => true, - 'h1' => true, - 'h2' => true, - 'h3' => true, - 'h4' => true, - 'h5' => true, - 'h6' => true, - 'hr' => true, - 'ins' => true, - 'isindex' => true, - 'menu' => true, - 'noframes' => true, - 'noscript' => true, - 'ol' => true, - 'p' => true, - 'pre' => true, - 'table' => true, - 'ul' => true, - # set table elements and list items to block as well - 'thead' => true, - 'tbody' => true, - 'tfoot' => true, - 'td' => true, - 'tr' => true, - 'th' => true, - 'li' => true, - 'dd' => true, - 'dt' => true, - # header items and html / body as well - 'html' => true, - 'body' => true, - 'head' => true, - 'meta' => true, - 'link' => true, - 'style' => true, - 'title' => true, - # unfancy media tags, when indented should be rendered as block - 'map' => true, - 'object' => true, - 'param' => true, - 'embed' => true, - 'area' => true, - # inline elements - 'a' => false, - 'abbr' => false, - 'acronym' => false, - 'applet' => false, - 'b' => false, - 'basefont' => false, - 'bdo' => false, - 'big' => false, - 'br' => false, - 'button' => false, - 'cite' => false, - 'code' => false, - 'del' => false, - 'dfn' => false, - 'em' => false, - 'font' => false, - 'i' => false, - 'img' => false, - 'ins' => false, - 'input' => false, - 'iframe' => false, - 'kbd' => false, - 'label' => false, - 'q' => false, - 'samp' => false, - 'script' => false, - 'select' => false, - 'small' => false, - 'span' => false, - 'strong' => false, - 'sub' => false, - 'sup' => false, - 'textarea' => false, - 'tt' => false, - 'var' => false, - ); - /** - * get next node, set $this->html prior! - * - * @param void - * @return bool - */ - function nextNode() { - if (empty($this->html)) { - # we are done with parsing the html string - return false; - } - static $skipWhitespace = true; - if ($this->isStartTag && !$this->isEmptyTag) { - array_push($this->openTags, $this->tagName); - if (in_array($this->tagName, $this->preformattedTags)) { - # dont truncate whitespaces for <code> or <pre> contents - $this->keepWhitespace++; - } - } - - if ($this->html[0] == '<') { - $token = substr($this->html, 0, 9); - if (substr($token, 0, 2) == '<?') { - # xml prolog or other pi's - /** TODO **/ - #trigger_error('this might need some work', E_USER_NOTICE); - $pos = strpos($this->html, '>'); - $this->setNode('pi', $pos + 1); - return true; - } - if (substr($token, 0, 4) == '<!--') { - # comment - $pos = strpos($this->html, '-->'); - if ($pos === false) { - # could not find a closing -->, use next gt instead - # this is firefox' behaviour - $pos = strpos($this->html, '>') + 1; - } else { - $pos += 3; - } - $this->setNode('comment', $pos); - - $skipWhitespace = true; - return true; - } - if ($token == '<!DOCTYPE') { - # doctype - $this->setNode('doctype', strpos($this->html, '>')+1); - - $skipWhitespace = true; - return true; - } - if ($token == '<![CDATA[') { - # cdata, use text node - - # remove leading <![CDATA[ - $this->html = substr($this->html, 9); - - $this->setNode('text', strpos($this->html, ']]>')+3); - - # remove trailing ]]> and trim - $this->node = substr($this->node, 0, -3); - $this->handleWhitespaces(); - - $skipWhitespace = true; - return true; - } - if ($this->parseTag()) { - # seems to be a tag - # handle whitespaces - if ($this->isBlockElement) { - $skipWhitespace = true; - } else { - $skipWhitespace = false; - } - return true; - } - } - if ($this->keepWhitespace) { - $skipWhitespace = false; - } - # when we get here it seems to be a text node - $pos = strpos($this->html, '<'); - if ($pos === false) { - $pos = strlen($this->html); - } - $this->setNode('text', $pos); - $this->handleWhitespaces(); - if ($skipWhitespace && $this->node == ' ') { - return $this->nextNode(); - } - $skipWhitespace = false; - return true; - } - /** - * parse tag, set tag name and attributes, see if it's a closing tag and so forth... - * - * @param void - * @return bool - */ - function parseTag() { - static $a_ord, $z_ord, $special_ords; - if (!isset($a_ord)) { - $a_ord = ord('a'); - $z_ord = ord('z'); - $special_ords = array( - ord(':'), // for xml:lang - ord('-'), // for http-equiv - ); - } - - $tagName = ''; - - $pos = 1; - $isStartTag = $this->html[$pos] != '/'; - if (!$isStartTag) { - $pos++; - } - # get tagName - while (isset($this->html[$pos])) { - $pos_ord = ord(strtolower($this->html[$pos])); - if (($pos_ord >= $a_ord && $pos_ord <= $z_ord) || (!empty($tagName) && is_numeric($this->html[$pos]))) { - $tagName .= $this->html[$pos]; - $pos++; - } else { - $pos--; - break; - } - } - - $tagName = strtolower($tagName); - if (empty($tagName) || !isset($this->blockElements[$tagName])) { - # something went wrong => invalid tag - $this->invalidTag(); - return false; - } - if ($this->noTagsInCode && end($this->openTags) == 'code' && !($tagName == 'code' && !$isStartTag)) { - # we supress all HTML tags inside code tags - $this->invalidTag(); - return false; - } - - # get tag attributes - /** TODO: in html 4 attributes do not need to be quoted **/ - $isEmptyTag = false; - $attributes = array(); - $currAttrib = ''; - while (isset($this->html[$pos+1])) { - $pos++; - # close tag - if ($this->html[$pos] == '>' || $this->html[$pos].$this->html[$pos+1] == '/>') { - if ($this->html[$pos] == '/') { - $isEmptyTag = true; - $pos++; - } - break; - } - - $pos_ord = ord(strtolower($this->html[$pos])); - if ( ($pos_ord >= $a_ord && $pos_ord <= $z_ord) || in_array($pos_ord, $special_ords)) { - # attribute name - $currAttrib .= $this->html[$pos]; - } elseif (in_array($this->html[$pos], array(' ', "\t", "\n"))) { - # drop whitespace - } elseif (in_array($this->html[$pos].$this->html[$pos+1], array('="', "='"))) { - # get attribute value - $pos++; - $await = $this->html[$pos]; # single or double quote - $pos++; - $value = ''; - while (isset($this->html[$pos]) && $this->html[$pos] != $await) { - $value .= $this->html[$pos]; - $pos++; - } - $attributes[$currAttrib] = $value; - $currAttrib = ''; - } else { - $this->invalidTag(); - return false; - } - } - if ($this->html[$pos] != '>') { - $this->invalidTag(); - return false; - } - - if (!empty($currAttrib)) { - # html 4 allows something like <option selected> instead of <option selected="selected"> - $attributes[$currAttrib] = $currAttrib; - } - if (!$isStartTag) { - if (!empty($attributes) || $tagName != end($this->openTags)) { - # end tags must not contain any attributes - # or maybe we did not expect a different tag to be closed - $this->invalidTag(); - return false; - } - array_pop($this->openTags); - if (in_array($tagName, $this->preformattedTags)) { - $this->keepWhitespace--; - } - } - $pos++; - $this->node = substr($this->html, 0, $pos); - $this->html = substr($this->html, $pos); - $this->tagName = $tagName; - $this->tagAttributes = $attributes; - $this->isStartTag = $isStartTag; - $this->isEmptyTag = $isEmptyTag || in_array($tagName, $this->emptyTags); - if ($this->isEmptyTag) { - # might be not well formed - $this->node = preg_replace('# */? *>$#', ' />', $this->node); - } - $this->nodeType = 'tag'; - $this->isBlockElement = $this->blockElements[$tagName]; - return true; - } - /** - * handle invalid tags - * - * @param void - * @return void - */ - function invalidTag() { - $this->html = substr_replace($this->html, '<', 0, 1); - } - /** - * update all vars and make $this->html shorter - * - * @param string $type see description for $this->nodeType - * @param int $pos to which position shall we cut? - * @return void - */ - function setNode($type, $pos) { - if ($this->nodeType == 'tag') { - # set tag specific vars to null - # $type == tag should not be called here - # see this::parseTag() for more - $this->tagName = null; - $this->tagAttributes = null; - $this->isStartTag = null; - $this->isEmptyTag = null; - $this->isBlockElement = null; - - } - $this->nodeType = $type; - $this->node = substr($this->html, 0, $pos); - $this->html = substr($this->html, $pos); - } - /** - * check if $this->html begins with $str - * - * @param string $str - * @return bool - */ - function match($str) { - return substr($this->html, 0, strlen($str)) == $str; - } - /** - * truncate whitespaces - * - * @param void - * @return void - */ - function handleWhitespaces() { - if ($this->keepWhitespace) { - # <pre> or <code> before... - return; - } - # truncate multiple whitespaces to a single one - $this->node = preg_replace('#\s+#s', ' ', $this->node); - } - /** - * normalize self::node - * - * @param void - * @return void - */ - function normalizeNode() { - $this->node = '<'; - if (!$this->isStartTag) { - $this->node .= '/'.$this->tagName.'>'; - return; - } - $this->node .= $this->tagName; - foreach ($this->tagAttributes as $name => $value) { - $this->node .= ' '.$name.'="'.str_replace('"', '"', $value).'"'; - } - if ($this->isEmptyTag) { - $this->node .= ' /'; - } - $this->node .= '>'; - } -} - -/** - * indent a HTML string properly - * - * @param string $html - * @param string $indent optional - * @return string - */ -function indentHTML($html, $indent = " ", $noTagsInCode = false) { - $parser = new parseHTML; - $parser->noTagsInCode = $noTagsInCode; - $parser->html = $html; - $html = ''; - $last = true; # last tag was block elem - $indent_a = array(); - while($parser->nextNode()) { - if ($parser->nodeType == 'tag') { - $parser->normalizeNode(); - } - if ($parser->nodeType == 'tag' && $parser->isBlockElement) { - $isPreOrCode = in_array($parser->tagName, array('code', 'pre')); - if (!$parser->keepWhitespace && !$last && !$isPreOrCode) { - $html = rtrim($html)."\n"; - } - if ($parser->isStartTag) { - $html .= implode($indent_a); - if (!$parser->isEmptyTag) { - array_push($indent_a, $indent); - } - } else { - array_pop($indent_a); - if (!$isPreOrCode) { - $html .= implode($indent_a); - } - } - $html .= $parser->node; - if (!$parser->keepWhitespace && !($isPreOrCode && $parser->isStartTag)) { - $html .= "\n"; - } - $last = true; - } else { - if ($parser->nodeType == 'tag' && $parser->tagName == 'br') { - $html .= $parser->node."\n"; - $last = true; - continue; - } elseif ($last && !$parser->keepWhitespace) { - $html .= implode($indent_a); - $parser->node = ltrim($parser->node); - } - $html .= $parser->node; - - if (in_array($parser->nodeType, array('comment', 'pi', 'doctype'))) { - $html .= "\n"; - } else { - $last = false; - } - } - } - return $html; -} -/* -# testcase / example -error_reporting(E_ALL); - -$html = '<p>Simple block on one line:</p> - -<div>foo</div> - -<p>And nested without indentation:</p> - -<div> -<div> -<div> -foo -</div> -<div style=">"/> -</div> -<div>bar</div> -</div> - -<p>And with attributes:</p> - -<div> - <div id="foo"> - </div> -</div> - -<p>This was broken in 1.0.2b7:</p> - -<div class="inlinepage"> -<div class="toggleableend"> -foo -</div> -</div>'; -#$html = '<a href="asdfasdf" title=\'asdf\' foo="bar">asdf</a>'; -echo indentHTML($html); -die(); -*/ diff --git a/util/hmessages.po b/util/hmessages.po index f9f817747..135087b9e 100644 --- a/util/hmessages.po +++ b/util/hmessages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 2.1\n" +"Project-Id-Version: 2.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-10 00:05-0800\n" +"POT-Creation-Date: 2017-03-03 00:05-0800\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" @@ -88,15 +88,16 @@ msgid "Special - Group Repository" msgstr "" #: ../../Zotlabs/Access/PermissionRoles.php:270 -#: ../../Zotlabs/Module/Register.php:213 ../../Zotlabs/Module/Connedit.php:887 +#: ../../Zotlabs/Module/Register.php:213 ../../Zotlabs/Module/Connedit.php:925 #: ../../Zotlabs/Module/New_channel.php:132 -#: ../../Zotlabs/Module/Settings/Channel.php:447 +#: ../../Zotlabs/Module/Profiles.php:798 +#: ../../Zotlabs/Module/Settings/Channel.php:463 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1148 #: ../../extend/addon/addon/cdav/cdav.php:277 #: ../../extend/addon/addon/cdav/cdav.php:284 ../../include/selectors.php:49 #: ../../include/selectors.php:66 ../../include/selectors.php:104 -#: ../../include/selectors.php:140 ../../include/connections.php:901 -#: ../../include/connections.php:908 ../../include/permissions.php:949 +#: ../../include/selectors.php:140 ../../include/connections.php:675 +#: ../../include/connections.php:682 ../../include/permissions.php:949 msgid "Other" msgstr "" @@ -181,7 +182,7 @@ msgstr "" msgid "parent" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:130 ../../include/text.php:2698 +#: ../../Zotlabs/Storage/Browser.php:130 ../../include/text.php:2700 msgid "Collection" msgstr "" @@ -207,12 +208,12 @@ msgstr "" #: ../../Zotlabs/Storage/Browser.php:163 ../../Zotlabs/Module/Photos.php:784 #: ../../Zotlabs/Module/Photos.php:1244 -#: ../../Zotlabs/Module/Embedphotos.php:145 ../../Zotlabs/Lib/Apps.php:559 -#: ../../Zotlabs/Lib/Apps.php:637 +#: ../../Zotlabs/Module/Embedphotos.php:145 ../../Zotlabs/Lib/Apps.php:561 +#: ../../Zotlabs/Lib/Apps.php:639 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:745 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:746 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:753 -#: ../../include/conversation.php:1177 ../../include/widgets.php:1714 +#: ../../include/widgets.php:1757 ../../include/conversation.php:1177 msgid "Unknown" msgstr "" @@ -229,49 +230,49 @@ msgstr "" msgid "Shared" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:228 ../../Zotlabs/Storage/Browser.php:321 -#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/Connedit.php:890 +#: ../../Zotlabs/Storage/Browser.php:228 ../../Zotlabs/Storage/Browser.php:330 +#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/Connedit.php:928 #: ../../Zotlabs/Module/New_channel.php:147 -#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184 -#: ../../Zotlabs/Module/Webpages.php:243 +#: ../../Zotlabs/Module/Webpages.php:243 ../../Zotlabs/Module/Blocks.php:159 +#: ../../Zotlabs/Module/Layouts.php:184 ../../Zotlabs/Module/Profiles.php:801 #: ../../extend/addon/addon/cdav/include/widgets.php:127 #: ../../extend/addon/addon/cdav/include/widgets.php:164 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1151 msgid "Create" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:323 -#: ../../Zotlabs/Module/Photos.php:811 ../../Zotlabs/Module/Photos.php:1368 +#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:332 #: ../../Zotlabs/Module/Cover_photo.php:357 -#: ../../Zotlabs/Module/Profile_photo.php:410 +#: ../../Zotlabs/Module/Photos.php:811 ../../Zotlabs/Module/Photos.php:1368 +#: ../../Zotlabs/Module/Profile_photo.php:421 #: ../../Zotlabs/Module/Embedphotos.php:157 #: ../../extend/addon/addon/cdav/include/widgets.php:132 #: ../../extend/addon/addon/cdav/include/widgets.php:168 -#: ../../include/widgets.php:1727 +#: ../../include/widgets.php:1770 msgid "Upload" msgstr "" #: ../../Zotlabs/Storage/Browser.php:233 #: ../../Zotlabs/Module/Admin/Channels.php:159 -#: ../../Zotlabs/Module/Connedit.php:875 -#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Wiki.php:170 +#: ../../Zotlabs/Module/Connedit.php:913 +#: ../../Zotlabs/Module/Sharedwithme.php:99 #: ../../Zotlabs/Module/Settings/Oauth.php:89 #: ../../Zotlabs/Module/Settings/Oauth.php:115 -#: ../../Zotlabs/Module/Chat.php:250 +#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Chat.php:248 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1136 #: ../../extend/addon/addon/rendezvous/rendezvous.php:172 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:156 -#: ../../include/widgets.php:990 +#: ../../include/widgets.php:976 msgid "Name" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:234 ../../Zotlabs/Module/Wiki.php:171 +#: ../../Zotlabs/Storage/Browser.php:234 ../../Zotlabs/Module/Wiki.php:172 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:157 msgid "Type" msgstr "" #: ../../Zotlabs/Storage/Browser.php:235 -#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1406 +#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1414 msgid "Size" msgstr "" @@ -280,30 +281,30 @@ msgstr "" msgid "Last Modified" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:238 ../../Zotlabs/Module/Editpost.php:85 +#: ../../Zotlabs/Storage/Browser.php:238 #: ../../Zotlabs/Module/Editblock.php:109 #: ../../Zotlabs/Module/Connections.php:300 #: ../../Zotlabs/Module/Connections.php:320 #: ../../Zotlabs/Module/Admin/Profs.php:154 #: ../../Zotlabs/Module/Editlayout.php:114 #: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112 +#: ../../Zotlabs/Module/Editpost.php:85 ../../Zotlabs/Module/Webpages.php:244 #: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Layouts.php:192 -#: ../../Zotlabs/Module/Webpages.php:244 ../../Zotlabs/Module/Wiki.php:163 -#: ../../Zotlabs/Module/Wiki.php:273 #: ../../Zotlabs/Module/Settings/Oauth.php:149 -#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Lib/ThreadItem.php:106 +#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Wiki.php:164 +#: ../../Zotlabs/Module/Wiki.php:271 ../../Zotlabs/Lib/ThreadItem.php:106 #: ../../Zotlabs/Lib/Apps.php:357 #: ../../extend/addon/addon/cdav/include/widgets.php:125 #: ../../extend/addon/addon/cdav/include/widgets.php:161 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:149 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:251 +#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39 #: ../../include/menu.php:113 ../../include/channel.php:1044 -#: ../../include/channel.php:1048 ../../include/page_widgets.php:9 -#: ../../include/page_widgets.php:39 +#: ../../include/channel.php:1048 msgid "Edit" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:239 ../../Zotlabs/Module/Photos.php:1174 +#: ../../Zotlabs/Storage/Browser.php:239 #: ../../Zotlabs/Module/Editblock.php:134 #: ../../Zotlabs/Module/Connections.php:271 #: ../../Zotlabs/Module/Admin/Profs.php:155 @@ -311,9 +312,10 @@ msgstr "" #: ../../Zotlabs/Module/Admin/Channels.php:149 #: ../../Zotlabs/Module/Editlayout.php:137 #: ../../Zotlabs/Module/Editwebpage.php:170 -#: ../../Zotlabs/Module/Connedit.php:634 ../../Zotlabs/Module/Connedit.php:892 -#: ../../Zotlabs/Module/Group.php:177 ../../Zotlabs/Module/Blocks.php:162 -#: ../../Zotlabs/Module/Webpages.php:246 +#: ../../Zotlabs/Module/Connedit.php:661 ../../Zotlabs/Module/Connedit.php:930 +#: ../../Zotlabs/Module/Photos.php:1174 ../../Zotlabs/Module/Group.php:177 +#: ../../Zotlabs/Module/Webpages.php:246 ../../Zotlabs/Module/Blocks.php:162 +#: ../../Zotlabs/Module/Profiles.php:803 #: ../../Zotlabs/Module/Settings/Oauth.php:150 #: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Lib/ThreadItem.php:126 #: ../../Zotlabs/Lib/Apps.php:358 @@ -337,23 +339,30 @@ msgstr "" msgid "WARNING:" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:320 +#: ../../Zotlabs/Storage/Browser.php:325 +msgid "" +"Please use DAV to upload large (video, audio) files.<br>See <a class=\"zrl\" " +"href=\"help/member/member_guide#Cloud_Desktop_Clients\">Cloud Desktop " +"Clients</a>" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:329 msgid "Create new folder" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:322 +#: ../../Zotlabs/Storage/Browser.php:331 msgid "Upload file" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:335 +#: ../../Zotlabs/Storage/Browser.php:345 msgid "Drop files here to immediately upload" msgstr "" -#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Like.php:283 -#: ../../Zotlabs/Module/Group.php:72 ../../Zotlabs/Module/Dreport.php:10 -#: ../../Zotlabs/Module/Dreport.php:68 +#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Group.php:72 +#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:68 #: ../../Zotlabs/Module/Import_items.php:114 -#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62 +#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Like.php:283 +#: ../../Zotlabs/Module/Subthread.php:62 #: ../../extend/addon/addon/frphotos/frphotos.php:81 #: ../../extend/addon/addon/redfiles/redfiles.php:109 #: ../../extend/addon/addon/redphotos/redphotos.php:119 @@ -361,10 +370,9 @@ msgstr "" msgid "Permission denied" msgstr "" -#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:67 -#: ../../Zotlabs/Module/Achievements.php:34 -#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Photos.php:73 -#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Authtest.php:16 +#: ../../Zotlabs/Web/WebServer.php:128 +#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Appman.php:82 +#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Authtest.php:16 #: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Editblock.php:67 #: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91 #: ../../Zotlabs/Module/Connections.php:33 @@ -375,46 +383,47 @@ msgstr "" #: ../../Zotlabs/Module/Editwebpage.php:68 #: ../../Zotlabs/Module/Editwebpage.php:89 #: ../../Zotlabs/Module/Editwebpage.php:104 -#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Like.php:181 +#: ../../Zotlabs/Module/Editwebpage.php:126 #: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Menu.php:78 -#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Connedit.php:396 -#: ../../Zotlabs/Module/Filestorage.php:23 +#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Connedit.php:388 +#: ../../Zotlabs/Module/Events.php:271 ../../Zotlabs/Module/Filestorage.php:23 #: ../../Zotlabs/Module/Filestorage.php:78 #: ../../Zotlabs/Module/Filestorage.php:93 -#: ../../Zotlabs/Module/Filestorage.php:120 +#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Photos.php:73 #: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Group.php:13 -#: ../../Zotlabs/Module/Block.php:26 ../../Zotlabs/Module/Block.php:76 -#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Mitem.php:115 -#: ../../Zotlabs/Module/Appman.php:81 ../../Zotlabs/Module/Mood.php:116 -#: ../../Zotlabs/Module/Profiles.php:198 ../../Zotlabs/Module/Profiles.php:636 -#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Invite.php:17 -#: ../../Zotlabs/Module/Invite.php:94 ../../Zotlabs/Module/New_channel.php:77 -#: ../../Zotlabs/Module/New_channel.php:104 ../../Zotlabs/Module/Setup.php:212 +#: ../../Zotlabs/Module/Mail.php:164 ../../Zotlabs/Module/Block.php:26 +#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Manage.php:10 +#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mitem.php:115 +#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Api.php:24 +#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:94 +#: ../../Zotlabs/Module/New_channel.php:77 +#: ../../Zotlabs/Module/New_channel.php:104 +#: ../../Zotlabs/Module/Webpages.php:116 #: ../../Zotlabs/Module/Notifications.php:11 ../../Zotlabs/Module/Poke.php:137 #: ../../Zotlabs/Module/Item.php:220 ../../Zotlabs/Module/Item.php:230 -#: ../../Zotlabs/Module/Item.php:1067 ../../Zotlabs/Module/Profile.php:70 -#: ../../Zotlabs/Module/Profile.php:87 ../../Zotlabs/Module/Blocks.php:73 +#: ../../Zotlabs/Module/Item.php:1067 ../../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/Rate.php:113 -#: ../../Zotlabs/Module/Profile_photo.php:273 -#: ../../Zotlabs/Module/Profile_photo.php:286 -#: ../../Zotlabs/Module/Events.php:271 ../../Zotlabs/Module/Common.php:39 -#: ../../Zotlabs/Module/Channel.php:107 ../../Zotlabs/Module/Channel.php:237 -#: ../../Zotlabs/Module/Channel.php:277 ../../Zotlabs/Module/Regmod.php:21 -#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Message.php:18 +#: ../../Zotlabs/Module/Profile_photo.php:278 +#: ../../Zotlabs/Module/Profile_photo.php:291 +#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Common.php:39 +#: ../../Zotlabs/Module/Channel.php:115 ../../Zotlabs/Module/Channel.php:245 +#: ../../Zotlabs/Module/Channel.php:285 ../../Zotlabs/Module/Mood.php:116 +#: ../../Zotlabs/Module/Regmod.php:21 ../../Zotlabs/Module/Pdledit.php:29 +#: ../../Zotlabs/Module/Profile.php:83 ../../Zotlabs/Module/Profile.php:100 +#: ../../Zotlabs/Module/Viewsrc.php:18 #: ../../Zotlabs/Module/Service_limits.php:11 -#: ../../Zotlabs/Module/Webpages.php:116 -#: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Wiki.php:49 -#: ../../Zotlabs/Module/Wiki.php:214 ../../Zotlabs/Module/Wiki.php:313 -#: ../../Zotlabs/Module/Wiki.php:318 ../../Zotlabs/Module/Sources.php:74 -#: ../../Zotlabs/Module/Suggest.php:30 ../../Zotlabs/Module/Thing.php:274 -#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:335 -#: ../../Zotlabs/Module/Mail.php:164 +#: ../../Zotlabs/Module/Sharedwithme.php:11 +#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30 +#: ../../Zotlabs/Module/Profiles.php:198 ../../Zotlabs/Module/Profiles.php:635 +#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294 +#: ../../Zotlabs/Module/Thing.php:335 ../../Zotlabs/Module/Setup.php:212 #: ../../Zotlabs/Module/Viewconnections.php:28 #: ../../Zotlabs/Module/Viewconnections.php:33 -#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100 -#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137 +#: ../../Zotlabs/Module/Wiki.php:50 ../../Zotlabs/Module/Wiki.php:215 +#: ../../Zotlabs/Module/Wiki.php:311 ../../Zotlabs/Module/Chat.php:98 +#: ../../Zotlabs/Module/Chat.php:103 ../../Zotlabs/Lib/Chatroom.php:137 #: ../../extend/addon/addon/friendica/dfrn_confirm.php:55 #: ../../extend/addon/addon/keepout/keepout.php:36 #: ../../extend/addon/addon/pumpio/pumpio.php:40 @@ -422,19 +431,19 @@ msgstr "" #: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:58 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:194 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:291 -#: ../../include/attach.php:142 ../../include/attach.php:189 -#: ../../include/attach.php:253 ../../include/attach.php:267 -#: ../../include/attach.php:274 ../../include/attach.php:341 -#: ../../include/attach.php:355 ../../include/attach.php:362 -#: ../../include/attach.php:439 ../../include/attach.php:906 -#: ../../include/attach.php:977 ../../include/attach.php:1135 -#: ../../include/photos.php:27 ../../include/items.php:3445 +#: ../../include/items.php:3447 ../../include/attach.php:144 +#: ../../include/attach.php:191 ../../include/attach.php:255 +#: ../../include/attach.php:269 ../../include/attach.php:276 +#: ../../include/attach.php:343 ../../include/attach.php:357 +#: ../../include/attach.php:364 ../../include/attach.php:441 +#: ../../include/attach.php:908 ../../include/attach.php:979 +#: ../../include/attach.php:1137 ../../include/photos.php:27 msgid "Permission denied." msgstr "" -#: ../../Zotlabs/Web/Router.php:152 ../../Zotlabs/Module/Display.php:124 -#: ../../Zotlabs/Module/Page.php:94 ../../Zotlabs/Module/Block.php:79 -#: ../../Zotlabs/Lib/NativeWikiPage.php:502 ../../include/help.php:66 +#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Page.php:94 +#: ../../Zotlabs/Module/Display.php:122 ../../Zotlabs/Module/Block.php:79 +#: ../../Zotlabs/Lib/NativeWikiPage.php:518 ../../include/help.php:68 msgid "Page not found." msgstr "" @@ -455,10 +464,10 @@ msgstr "" #: ../../Zotlabs/Module/Connect.php:17 ../../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/Webpages.php:33 -#: ../../include/channel.php:945 +#: ../../Zotlabs/Module/Filestorage.php:59 +#: ../../Zotlabs/Module/Webpages.php:33 ../../Zotlabs/Module/Hcard.php:12 +#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Layouts.php:31 +#: ../../Zotlabs/Module/Profile.php:20 ../../include/channel.php:945 msgid "Requested profile is not available." msgstr "" @@ -466,412 +475,108 @@ msgstr "" msgid "Some blurb about what to do when you're new here" msgstr "" -#: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Photos.php:508 -#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Ratings.php:83 -#: ../../Zotlabs/Module/Directory.php:64 -#: ../../Zotlabs/Module/Viewconnections.php:23 -#: ../../extend/addon/addon/friendica/dfrn_request.php:794 -msgid "Public access denied." -msgstr "" - -#: ../../Zotlabs/Module/Display.php:38 ../../Zotlabs/Module/Admin.php:60 -#: ../../Zotlabs/Module/Admin/Themes.php:69 -#: ../../Zotlabs/Module/Admin/Plugins.php:254 -#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Thing.php:89 -#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3366 -msgid "Item not found." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:49 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:55 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:89 -msgid "Passwords do not match." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:131 -msgid "" -"Registration successful. Please check your email for validation instructions." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:137 -msgid "Your registration is pending approval by the site owner." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:140 -msgid "Your registration can not be processed." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:184 -msgid "Registration on this hub is disabled." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:193 -msgid "Registration on this hub is by approval only." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:194 -msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:204 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:221 ../../Zotlabs/Module/Siteinfo.php:27 -msgid "Terms of Service" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:227 -#, php-format -msgid "I accept the %s for this website" -msgstr "" - -#: ../../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:233 -msgid "Your email address" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:234 -msgid "Choose a password" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:235 -msgid "Please re-enter your password" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:236 -msgid "Please enter your invitation code" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:237 -#: ../../Zotlabs/Module/New_channel.php:134 -msgid "Name or caption" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:237 -#: ../../Zotlabs/Module/New_channel.php:134 -msgid "" -"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " -"Group\"" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:239 -#: ../../Zotlabs/Module/New_channel.php:136 -msgid "Choose a short nickname" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:239 -#: ../../Zotlabs/Module/New_channel.php:136 -#, php-format -msgid "" -"Your nickname will be used to create an easy to remember channel address e." -"g. nickname%s" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:240 -#: ../../Zotlabs/Module/New_channel.php:137 -msgid "Channel role and privacy" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:240 -#: ../../Zotlabs/Module/New_channel.php:137 -msgid "Select a channel role with your privacy requirements." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:240 -#: ../../Zotlabs/Module/New_channel.php:137 -msgid "Read more about roles" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:241 -msgid "no" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:241 -msgid "yes" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:253 -#: ../../Zotlabs/Module/Admin/Site.php:261 -msgid "Registration" -msgstr "" - -#: ../../Zotlabs/Module/Register.php:258 -msgid "Membership on this site is by invitation only." -msgstr "" - -#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:162 -#: ../../boot.php:1713 -msgid "Register" -msgstr "" - -#: ../../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/Probe.php:28 ../../Zotlabs/Module/Probe.php:32 -#, php-format -msgid "Fetching URL returns error: %1$s" -msgstr "" - -#: ../../Zotlabs/Module/Photos.php:82 -msgid "Page owner information could not be retrieved." -msgstr "" - -#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:729 -#: ../../Zotlabs/Module/Profile_photo.php:115 -#: ../../Zotlabs/Module/Profile_photo.php:219 -#: ../../include/photo/photo_driver.php:730 -msgid "Profile Photos" -msgstr "" - -#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129 -msgid "Album not found." -msgstr "" - -#: ../../Zotlabs/Module/Photos.php:112 -msgid "Delete Album" -msgstr "" - -#: ../../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" +#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:55 +msgid "App installed." msgstr "" -#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1054 -msgid "Delete Photo" +#: ../../Zotlabs/Module/Appman.php:48 +msgid "Malformed app." msgstr "" -#: ../../Zotlabs/Module/Photos.php:519 -msgid "No photos selected" +#: ../../Zotlabs/Module/Appman.php:111 +msgid "Embed code" msgstr "" -#: ../../Zotlabs/Module/Photos.php:568 -msgid "Access to this item is restricted." +#: ../../Zotlabs/Module/Appman.php:117 +msgid "Edit App" msgstr "" -#: ../../Zotlabs/Module/Photos.php:607 -#, php-format -msgid "%1$.2f MB of %2$.2f MB photo storage used." +#: ../../Zotlabs/Module/Appman.php:117 +msgid "Create App" msgstr "" -#: ../../Zotlabs/Module/Photos.php:610 -#, php-format -msgid "%1$.2f MB photo storage used." +#: ../../Zotlabs/Module/Appman.php:122 +msgid "Name of app" msgstr "" -#: ../../Zotlabs/Module/Photos.php:646 -msgid "Upload Photos" +#: ../../Zotlabs/Module/Appman.php:122 ../../Zotlabs/Module/Appman.php:123 +#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465 +#: ../../Zotlabs/Module/Profiles.php:748 ../../Zotlabs/Module/Profiles.php:752 +#: ../../include/datetime.php:259 +msgid "Required" msgstr "" -#: ../../Zotlabs/Module/Photos.php:650 -msgid "Enter an album name" +#: ../../Zotlabs/Module/Appman.php:123 +msgid "Location (URL) of app" msgstr "" -#: ../../Zotlabs/Module/Photos.php:651 -msgid "or select an existing album (doubleclick)" +#: ../../Zotlabs/Module/Appman.php:124 ../../Zotlabs/Module/Events.php:473 +#: ../../Zotlabs/Module/Rbmark.php:101 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:838 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:173 +msgid "Description" msgstr "" -#: ../../Zotlabs/Module/Photos.php:652 -msgid "Create a status post for this upload" +#: ../../Zotlabs/Module/Appman.php:125 +msgid "Photo icon URL" msgstr "" -#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Admin/Site.php:218 -#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 -#: ../../Zotlabs/Module/Connedit.php:410 ../../Zotlabs/Module/Connedit.php:748 -#: ../../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:682 -#: ../../Zotlabs/Module/Api.php:97 ../../Zotlabs/Module/Events.php:470 -#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Removeme.php:63 -#: ../../Zotlabs/Module/Wiki.php:178 -#: ../../Zotlabs/Module/Settings/Channel.php:291 -#: ../../Zotlabs/Module/Settings/Display.php:103 -#: ../../extend/addon/addon/dwpost/dwpost.php:73 -#: ../../extend/addon/addon/dwpost/dwpost.php:85 -#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 -#: ../../extend/addon/addon/friendica/dfrn_request.php:865 -#: ../../extend/addon/addon/ijpost/ijpost.php:73 -#: ../../extend/addon/addon/ijpost/ijpost.php:85 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:309 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:313 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:351 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:355 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:359 -#: ../../extend/addon/addon/libertree/libertree.php:69 -#: ../../extend/addon/addon/libertree/libertree.php:81 -#: ../../extend/addon/addon/ljpost/ljpost.php:70 -#: ../../extend/addon/addon/ljpost/ljpost.php:82 -#: ../../extend/addon/addon/nofed/nofed.php:72 -#: ../../extend/addon/addon/nofed/nofed.php:76 -#: ../../extend/addon/addon/nsabait/nsabait.php:157 -#: ../../extend/addon/addon/nsfw/nsfw.php:84 -#: ../../extend/addon/addon/planets/planets.php:153 -#: ../../extend/addon/addon/pumpio/pumpio.php:219 -#: ../../extend/addon/addon/pumpio/pumpio.php:223 -#: ../../extend/addon/addon/pumpio/pumpio.php:227 -#: ../../extend/addon/addon/pumpio/pumpio.php:231 -#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 -#: ../../extend/addon/addon/redred/redred.php:95 -#: ../../extend/addon/addon/redred/redred.php:99 -#: ../../extend/addon/addon/rtof/rtof.php:81 -#: ../../extend/addon/addon/rtof/rtof.php:85 -#: ../../extend/addon/addon/smileybutton/smileybutton.php:273 -#: ../../extend/addon/addon/smileybutton/smileybutton.php:277 -#: ../../extend/addon/addon/statusnet/statusnet.php:389 -#: ../../extend/addon/addon/statusnet/statusnet.php:411 -#: ../../extend/addon/addon/statusnet/statusnet.php:415 -#: ../../extend/addon/addon/statusnet/statusnet.php:424 -#: ../../extend/addon/addon/twitter/twitter.php:242 -#: ../../extend/addon/addon/twitter/twitter.php:246 -#: ../../extend/addon/addon/twitter/twitter.php:255 -#: ../../extend/addon/addon/visage/visage.php:166 -#: ../../extend/addon/addon/wppost/wppost.php:82 -#: ../../extend/addon/addon/wppost/wppost.php:105 -#: ../../extend/addon/addon/wppost/wppost.php:109 -#: ../../extend/addon/addon/xmpp/xmpp.php:53 -#: ../../extend/addon/addon/cdav/cdav.php:234 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 -#: ../../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:1736 -msgid "No" +#: ../../Zotlabs/Module/Appman.php:125 +msgid "80 x 80 pixels - optional" msgstr "" -#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Admin/Site.php:220 -#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 -#: ../../Zotlabs/Module/Connedit.php:410 -#: ../../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:682 -#: ../../Zotlabs/Module/Api.php:96 ../../Zotlabs/Module/Events.php:470 -#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Removeme.php:63 -#: ../../Zotlabs/Module/Wiki.php:178 -#: ../../Zotlabs/Module/Settings/Channel.php:291 -#: ../../Zotlabs/Module/Settings/Display.php:103 -#: ../../extend/addon/addon/dwpost/dwpost.php:73 -#: ../../extend/addon/addon/dwpost/dwpost.php:85 -#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 -#: ../../extend/addon/addon/friendica/dfrn_request.php:865 -#: ../../extend/addon/addon/ijpost/ijpost.php:73 -#: ../../extend/addon/addon/ijpost/ijpost.php:85 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:309 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:313 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:351 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:355 -#: ../../extend/addon/addon/jappixmini/jappixmini.php:359 -#: ../../extend/addon/addon/libertree/libertree.php:69 -#: ../../extend/addon/addon/libertree/libertree.php:81 -#: ../../extend/addon/addon/ljpost/ljpost.php:70 -#: ../../extend/addon/addon/ljpost/ljpost.php:82 -#: ../../extend/addon/addon/nofed/nofed.php:72 -#: ../../extend/addon/addon/nofed/nofed.php:76 -#: ../../extend/addon/addon/nsabait/nsabait.php:157 -#: ../../extend/addon/addon/nsfw/nsfw.php:84 -#: ../../extend/addon/addon/planets/planets.php:153 -#: ../../extend/addon/addon/pumpio/pumpio.php:219 -#: ../../extend/addon/addon/pumpio/pumpio.php:223 -#: ../../extend/addon/addon/pumpio/pumpio.php:227 -#: ../../extend/addon/addon/pumpio/pumpio.php:231 -#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 -#: ../../extend/addon/addon/redred/redred.php:95 -#: ../../extend/addon/addon/redred/redred.php:99 -#: ../../extend/addon/addon/rtof/rtof.php:81 -#: ../../extend/addon/addon/rtof/rtof.php:85 -#: ../../extend/addon/addon/smileybutton/smileybutton.php:273 -#: ../../extend/addon/addon/smileybutton/smileybutton.php:277 -#: ../../extend/addon/addon/statusnet/statusnet.php:389 -#: ../../extend/addon/addon/statusnet/statusnet.php:411 -#: ../../extend/addon/addon/statusnet/statusnet.php:415 -#: ../../extend/addon/addon/statusnet/statusnet.php:424 -#: ../../extend/addon/addon/twitter/twitter.php:242 -#: ../../extend/addon/addon/twitter/twitter.php:246 -#: ../../extend/addon/addon/twitter/twitter.php:255 -#: ../../extend/addon/addon/visage/visage.php:166 -#: ../../extend/addon/addon/wppost/wppost.php:82 -#: ../../extend/addon/addon/wppost/wppost.php:105 -#: ../../extend/addon/addon/wppost/wppost.php:109 -#: ../../extend/addon/addon/xmpp/xmpp.php:53 -#: ../../extend/addon/addon/cdav/cdav.php:234 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 -#: ../../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:1736 -msgid "Yes" +#: ../../Zotlabs/Module/Appman.php:126 +msgid "Categories (optional, comma separated list)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:653 -msgid "Caption (optional):" +#: ../../Zotlabs/Module/Appman.php:127 +msgid "Version ID" msgstr "" -#: ../../Zotlabs/Module/Photos.php:654 -msgid "Description (optional):" +#: ../../Zotlabs/Module/Appman.php:128 +msgid "Price of app" msgstr "" -#: ../../Zotlabs/Module/Photos.php:657 ../../Zotlabs/Module/Photos.php:1042 -#: ../../Zotlabs/Module/Connedit.php:645 -#: ../../Zotlabs/Module/Filestorage.php:152 ../../Zotlabs/Module/Thing.php:313 -#: ../../Zotlabs/Module/Thing.php:363 ../../Zotlabs/Module/Chat.php:234 -#: ../../include/acl_selectors.php:208 -msgid "Permissions" +#: ../../Zotlabs/Module/Appman.php:129 +msgid "Location (URL) to purchase app" msgstr "" -#: ../../Zotlabs/Module/Photos.php:667 ../../Zotlabs/Module/Photos.php:1053 -#: ../../Zotlabs/Module/Photos.php:1093 ../../Zotlabs/Module/Photos.php:1211 +#: ../../Zotlabs/Module/Appman.php:134 ../../Zotlabs/Module/Import.php:507 #: ../../Zotlabs/Module/Connect.php:98 #: ../../Zotlabs/Module/Admin/Features.php:66 #: ../../Zotlabs/Module/Admin/Logs.php:84 #: ../../Zotlabs/Module/Admin/Profs.php:157 #: ../../Zotlabs/Module/Admin/Security.php:104 -#: ../../Zotlabs/Module/Admin/Themes.php:156 #: ../../Zotlabs/Module/Admin/Account_edit.php:74 #: ../../Zotlabs/Module/Admin/Accounts.php:166 #: ../../Zotlabs/Module/Admin/Channels.php:147 -#: ../../Zotlabs/Module/Admin/Site.php:260 -#: ../../Zotlabs/Module/Admin/Plugins.php:433 -#: ../../Zotlabs/Module/Locs.php:121 ../../Zotlabs/Module/Connedit.php:855 -#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Cal.php:342 -#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Import_items.php:122 -#: ../../Zotlabs/Module/Import.php:507 ../../Zotlabs/Module/Mitem.php:243 -#: ../../Zotlabs/Module/Appman.php:133 ../../Zotlabs/Module/Mood.php:139 -#: ../../Zotlabs/Module/Profiles.php:722 ../../Zotlabs/Module/Invite.php:149 -#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:357 -#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107 -#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Events.php:493 -#: ../../Zotlabs/Module/Pdledit.php:74 ../../Zotlabs/Module/Wiki.php:167 +#: ../../Zotlabs/Module/Admin/Site.php:268 +#: ../../Zotlabs/Module/Admin/Plugins.php:438 +#: ../../Zotlabs/Module/Admin/Themes.php:158 ../../Zotlabs/Module/Locs.php:121 +#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Events.php:493 +#: ../../Zotlabs/Module/Filestorage.php:165 +#: ../../Zotlabs/Module/Photos.php:667 ../../Zotlabs/Module/Photos.php:1053 +#: ../../Zotlabs/Module/Photos.php:1093 ../../Zotlabs/Module/Photos.php:1211 +#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Mail.php:413 +#: ../../Zotlabs/Module/Import_items.php:122 +#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Cal.php:342 +#: ../../Zotlabs/Module/Invite.php:149 ../../Zotlabs/Module/Poke.php:186 +#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Rate.php:166 +#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Pdledit.php:74 #: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149 +#: ../../Zotlabs/Module/Profiles.php:726 #: ../../Zotlabs/Module/Settings/Features.php:47 #: ../../Zotlabs/Module/Settings/Oauth.php:87 #: ../../Zotlabs/Module/Settings/Account.php:118 -#: ../../Zotlabs/Module/Settings/Tokens.php:168 +#: ../../Zotlabs/Module/Settings/Channel.php:476 #: ../../Zotlabs/Module/Settings/Featured.php:50 -#: ../../Zotlabs/Module/Settings/Channel.php:460 -#: ../../Zotlabs/Module/Settings/Display.php:196 #: ../../Zotlabs/Module/Settings/Permcats.php:112 +#: ../../Zotlabs/Module/Settings/Tokens.php:168 +#: ../../Zotlabs/Module/Settings/Display.php:203 #: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370 -#: ../../Zotlabs/Module/Mail.php:413 ../../Zotlabs/Module/Chat.php:196 -#: ../../Zotlabs/Module/Chat.php:241 ../../Zotlabs/Module/Xchan.php:15 +#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:357 +#: ../../Zotlabs/Module/Wiki.php:168 ../../Zotlabs/Module/Chat.php:194 +#: ../../Zotlabs/Module/Chat.php:239 ../../Zotlabs/Module/Xchan.php:15 #: ../../Zotlabs/Lib/ThreadItem.php:731 #: ../../extend/addon/addon/chords/Mod_Chords.php:60 #: ../../extend/addon/addon/diaspora/diaspora.php:714 @@ -908,7 +613,7 @@ msgstr "" #: ../../extend/addon/addon/statusnet/statusnet.php:380 #: ../../extend/addon/addon/statusnet/statusnet.php:432 #: ../../extend/addon/addon/statusnet/statusnet.php:899 -#: ../../extend/addon/addon/superblock/superblock.php:118 +#: ../../extend/addon/addon/superblock/superblock.php:120 #: ../../extend/addon/addon/twitter/twitter.php:217 #: ../../extend/addon/addon/twitter/twitter.php:259 #: ../../extend/addon/addon/visage/visage.php:170 @@ -919,278 +624,275 @@ msgstr "" #: ../../extend/addon/addon/mailtest/mailtest.php:100 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:153 #: ../../extend/addon/addon/gnusoc/gnusoc.php:133 -#: ../../include/widgets.php:815 ../../include/js_strings.php:22 +#: ../../include/widgets.php:801 ../../include/js_strings.php:22 #: ../../view/theme/redbasic/php/config.php:106 msgid "Submit" msgstr "" -#: ../../Zotlabs/Module/Photos.php:685 -msgid "Album name could not be decoded" +#: ../../Zotlabs/Module/Register.php:49 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." msgstr "" -#: ../../Zotlabs/Module/Photos.php:729 -msgid "Contact Photos" +#: ../../Zotlabs/Module/Register.php:55 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." msgstr "" -#: ../../Zotlabs/Module/Photos.php:752 -msgid "Show Newest First" +#: ../../Zotlabs/Module/Register.php:89 +msgid "Passwords do not match." msgstr "" -#: ../../Zotlabs/Module/Photos.php:754 -msgid "Show Oldest First" +#: ../../Zotlabs/Module/Register.php:131 +msgid "" +"Registration successful. Please check your email for validation instructions." msgstr "" -#: ../../Zotlabs/Module/Photos.php:778 ../../Zotlabs/Module/Photos.php:1335 -#: ../../Zotlabs/Module/Embedphotos.php:139 ../../include/widgets.php:1708 -msgid "View Photo" +#: ../../Zotlabs/Module/Register.php:137 +msgid "Your registration is pending approval by the site owner." msgstr "" -#: ../../Zotlabs/Module/Photos.php:809 -#: ../../Zotlabs/Module/Embedphotos.php:155 ../../include/widgets.php:1725 -msgid "Edit Album" +#: ../../Zotlabs/Module/Register.php:140 +msgid "Your registration can not be processed." msgstr "" -#: ../../Zotlabs/Module/Photos.php:856 -msgid "Permission denied. Access to this item may be restricted." +#: ../../Zotlabs/Module/Register.php:184 +msgid "Registration on this hub is disabled." msgstr "" -#: ../../Zotlabs/Module/Photos.php:858 -msgid "Photo not available" +#: ../../Zotlabs/Module/Register.php:193 +msgid "Registration on this hub is by approval only." msgstr "" -#: ../../Zotlabs/Module/Photos.php:916 -msgid "Use as profile photo" +#: ../../Zotlabs/Module/Register.php:194 +msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" msgstr "" -#: ../../Zotlabs/Module/Photos.php:917 -msgid "Use as cover photo" +#: ../../Zotlabs/Module/Register.php:204 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." msgstr "" -#: ../../Zotlabs/Module/Photos.php:924 -msgid "Private Photo" +#: ../../Zotlabs/Module/Register.php:221 ../../Zotlabs/Module/Siteinfo.php:27 +msgid "Terms of Service" msgstr "" -#: ../../Zotlabs/Module/Photos.php:935 ../../Zotlabs/Module/Cal.php:336 -#: ../../Zotlabs/Module/Cal.php:343 ../../Zotlabs/Module/Events.php:689 -#: ../../Zotlabs/Module/Events.php:698 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:846 -msgid "Previous" +#: ../../Zotlabs/Module/Register.php:227 +#, php-format +msgid "I accept the %s for this website" msgstr "" -#: ../../Zotlabs/Module/Photos.php:939 -msgid "View Full Size" +#: ../../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/Photos.php:944 ../../Zotlabs/Module/Cal.php:337 -#: ../../Zotlabs/Module/Cal.php:344 ../../Zotlabs/Module/Setup.php:264 -#: ../../Zotlabs/Module/Events.php:690 ../../Zotlabs/Module/Events.php:699 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:847 -msgid "Next" +#: ../../Zotlabs/Module/Register.php:233 +msgid "Your email address" msgstr "" -#: ../../Zotlabs/Module/Photos.php:984 -#: ../../Zotlabs/Module/Admin/Plugins.php:450 -#: ../../Zotlabs/Module/Tagrm.php:137 -#: ../../extend/addon/addon/superblock/superblock.php:114 -msgid "Remove" +#: ../../Zotlabs/Module/Register.php:234 +msgid "Choose a password" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1028 -msgid "Edit photo" +#: ../../Zotlabs/Module/Register.php:235 +msgid "Please re-enter your password" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1030 -msgid "Rotate CW (right)" +#: ../../Zotlabs/Module/Register.php:236 +msgid "Please enter your invitation code" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1031 -msgid "Rotate CCW (left)" +#: ../../Zotlabs/Module/Register.php:237 +#: ../../Zotlabs/Module/New_channel.php:134 +msgid "Name or caption" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1034 -msgid "Move photo to album" +#: ../../Zotlabs/Module/Register.php:237 +#: ../../Zotlabs/Module/New_channel.php:134 +msgid "" +"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " +"Group\"" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1035 -msgid "Enter a new album name" +#: ../../Zotlabs/Module/Register.php:239 +#: ../../Zotlabs/Module/New_channel.php:136 +msgid "Choose a short nickname" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1036 -msgid "or select an existing one (doubleclick)" +#: ../../Zotlabs/Module/Register.php:239 +#: ../../Zotlabs/Module/New_channel.php:136 +#, php-format +msgid "" +"Your nickname will be used to create an easy to remember channel address e." +"g. nickname%s" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1039 -msgid "Caption" +#: ../../Zotlabs/Module/Register.php:240 +#: ../../Zotlabs/Module/New_channel.php:137 +msgid "Channel role and privacy" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1041 -msgid "Add a Tag" +#: ../../Zotlabs/Module/Register.php:240 +#: ../../Zotlabs/Module/New_channel.php:137 +msgid "Select a channel role with your privacy requirements." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1049 -msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" +#: ../../Zotlabs/Module/Register.php:240 +#: ../../Zotlabs/Module/New_channel.php:137 +msgid "Read more about roles" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1052 -msgid "Flag as adult in album view" +#: ../../Zotlabs/Module/Register.php:241 +msgid "no" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:268 -msgid "I like this (toggle)" +#: ../../Zotlabs/Module/Register.php:241 +msgid "yes" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Lib/ThreadItem.php:269 -msgid "I don't like this (toggle)" +#: ../../Zotlabs/Module/Register.php:253 +#: ../../Zotlabs/Module/Admin/Site.php:269 +msgid "Registration" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Module/Blocks.php:161 -#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:245 -#: ../../extend/addon/addon/cdav/include/widgets.php:123 -#: ../../include/conversation.php:1378 -msgid "Share" +#: ../../Zotlabs/Module/Register.php:258 +msgid "Membership on this site is by invitation only." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1074 ../../Zotlabs/Lib/ThreadItem.php:411 -#: ../../include/conversation.php:738 -msgid "Please wait" +#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:162 +#: ../../boot.php:1730 +msgid "Register" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208 -#: ../../Zotlabs/Lib/ThreadItem.php:728 -msgid "This is you" +#: ../../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/Photos.php:1092 ../../Zotlabs/Module/Photos.php:1210 -#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/js_strings.php:6 -msgid "Comment" +#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32 +#, php-format +msgid "Fetching URL returns error: %1$s" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1094 ../../Zotlabs/Module/Events.php:478 -#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Lib/ThreadItem.php:740 -#: ../../include/conversation.php:1347 ../../include/page_widgets.php:43 -msgid "Preview" +#: ../../Zotlabs/Module/Rmagic.php:35 +msgid "Authentication failed." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 -msgctxt "title" -msgid "Likes" +#: ../../Zotlabs/Module/Rmagic.php:75 ../../include/channel.php:1989 +msgid "Remote Authentication" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 -msgctxt "title" -msgid "Dislikes" +#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:1990 +msgid "Enter your channel address (e.g. channel@example.com)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 -msgctxt "title" -msgid "Agree" +#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:1991 +msgid "Authenticate" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 -msgctxt "title" -msgid "Disagree" +#: ../../Zotlabs/Module/Import.php:57 ../../Zotlabs/Module/Import_items.php:42 +msgid "Nothing to import." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 -msgctxt "title" -msgid "Abstain" +#: ../../Zotlabs/Module/Import.php:69 ../../Zotlabs/Module/Import.php:84 +#: ../../Zotlabs/Module/Import_items.php:66 +msgid "Unable to download data from old server" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 -msgctxt "title" -msgid "Attending" +#: ../../Zotlabs/Module/Import.php:91 ../../Zotlabs/Module/Import_items.php:72 +msgid "Imported file is empty." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 -msgctxt "title" -msgid "Not attending" +#: ../../Zotlabs/Module/Import.php:111 +#: ../../Zotlabs/Module/Import_items.php:88 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 -msgctxt "title" -msgid "Might attend" +#: ../../Zotlabs/Module/Import.php:134 +#, php-format +msgid "Your service plan only allows %d channels." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1127 ../../Zotlabs/Module/Photos.php:1139 -#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198 -#: ../../include/conversation.php:1928 -msgid "View all" +#: ../../Zotlabs/Module/Import.php:149 +msgid "No channel. Import failed." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Lib/ThreadItem.php:190 -#: ../../include/taxonomy.php:403 ../../include/conversation.php:1952 -#: ../../include/channel.php:1273 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Import.php:467 +#: ../../extend/addon/addon/diaspora/import_diaspora.php:142 +msgid "Import completed." +msgstr "" -#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:195 -#: ../../include/conversation.php:1955 -msgctxt "noun" -msgid "Dislike" -msgid_plural "Dislikes" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Import.php:488 +msgid "You must be logged in to use this feature." +msgstr "" -#: ../../Zotlabs/Module/Photos.php:1236 -msgid "Photo Tools" +#: ../../Zotlabs/Module/Import.php:493 +msgid "Import Channel" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1245 -msgid "In This Photo:" +#: ../../Zotlabs/Module/Import.php:494 +msgid "" +"Use this form to import an existing channel from a different server/hub. You " +"may retrieve the channel identity from the old server/hub via the network or " +"provide an export file." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1250 -msgid "Map" +#: ../../Zotlabs/Module/Import.php:495 +#: ../../Zotlabs/Module/Import_items.php:121 +msgid "File to Upload" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:400 -msgctxt "noun" -msgid "Likes" +#: ../../Zotlabs/Module/Import.php:496 +msgid "Or provide the old server/hub details" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1259 ../../Zotlabs/Lib/ThreadItem.php:401 -msgctxt "noun" -msgid "Dislikes" +#: ../../Zotlabs/Module/Import.php:497 +msgid "Your old identity address (xyz@example.com)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:406 -#: ../../include/acl_selectors.php:210 -msgid "Close" +#: ../../Zotlabs/Module/Import.php:498 +msgid "Your old login email address" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1341 -msgid "View Album" +#: ../../Zotlabs/Module/Import.php:499 +msgid "Your old login password" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1352 ../../Zotlabs/Module/Photos.php:1365 -#: ../../Zotlabs/Module/Photos.php:1366 -msgid "Recent Photos" +#: ../../Zotlabs/Module/Import.php:500 +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/Editpost.php:24 ../../Zotlabs/Module/Editblock.php:79 -#: ../../Zotlabs/Module/Editblock.php:95 -#: ../../Zotlabs/Module/Editlayout.php:79 -#: ../../Zotlabs/Module/Editwebpage.php:80 -msgid "Item not found" +#: ../../Zotlabs/Module/Import.php:501 +msgid "Make this hub my primary location" msgstr "" -#: ../../Zotlabs/Module/Editpost.php:35 -msgid "Item is not editable" +#: ../../Zotlabs/Module/Import.php:502 +msgid "Move this channel (disable all previous locations)" msgstr "" -#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:138 -msgid "Edit post" +#: ../../Zotlabs/Module/Import.php:503 +msgid "Import a few months of posts if possible (limited by available memory" msgstr "" -#: ../../Zotlabs/Module/Acl.php:313 -msgid "network" +#: ../../Zotlabs/Module/Import.php:504 +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/Acl.php:323 -msgid "RSS" +#: ../../Zotlabs/Module/Chatsvc.php:131 +msgid "Away" +msgstr "" + +#: ../../Zotlabs/Module/Chatsvc.php:136 +msgid "Online" msgstr "" #: ../../Zotlabs/Module/Help.php:23 @@ -1280,6 +982,15 @@ msgstr "" msgid "Restricted or Premium Channel" msgstr "" +#: ../../Zotlabs/Module/Admin.php:60 +#: ../../Zotlabs/Module/Admin/Plugins.php:259 +#: ../../Zotlabs/Module/Admin/Themes.php:72 +#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Display.php:35 +#: ../../Zotlabs/Module/Viewsrc.php:24 ../../Zotlabs/Module/Thing.php:89 +#: ../../include/items.php:3368 +msgid "Item not found." +msgstr "" + #: ../../Zotlabs/Module/Admin.php:94 msgid "# Accounts" msgstr "" @@ -1318,13 +1029,13 @@ msgstr "" #: ../../Zotlabs/Module/Admin.php:137 ../../Zotlabs/Module/Admin/Logs.php:82 #: ../../Zotlabs/Module/Admin/Security.php:86 -#: ../../Zotlabs/Module/Admin/Themes.php:120 -#: ../../Zotlabs/Module/Admin/Themes.php:154 #: ../../Zotlabs/Module/Admin/Accounts.php:164 #: ../../Zotlabs/Module/Admin/Channels.php:145 -#: ../../Zotlabs/Module/Admin/Site.php:258 -#: ../../Zotlabs/Module/Admin/Plugins.php:336 -#: ../../Zotlabs/Module/Admin/Plugins.php:431 +#: ../../Zotlabs/Module/Admin/Site.php:266 +#: ../../Zotlabs/Module/Admin/Plugins.php:341 +#: ../../Zotlabs/Module/Admin/Plugins.php:436 +#: ../../Zotlabs/Module/Admin/Themes.php:122 +#: ../../Zotlabs/Module/Admin/Themes.php:156 msgid "Administration" msgstr "" @@ -1360,6 +1071,13 @@ msgstr "" msgid "Repository version (dev)" 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" +msgstr "" + #: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97 #: ../../Zotlabs/Module/Blocks.php:155 msgid "Block Name" @@ -1367,7 +1085,7 @@ msgstr "" #: ../../Zotlabs/Module/Editblock.php:111 #: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Mail.php:287 -#: ../../Zotlabs/Module/Mail.php:412 ../../Zotlabs/Module/Chat.php:207 +#: ../../Zotlabs/Module/Mail.php:412 ../../Zotlabs/Module/Chat.php:205 #: ../../include/conversation.php:1295 msgid "Insert web link" msgstr "" @@ -1384,8 +1102,8 @@ msgstr "" msgid "Invalid item." msgstr "" -#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Cal.php:62 -#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Chanview.php:96 +#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43 +#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Chanview.php:96 #: ../../Zotlabs/Module/Wall_upload.php:31 msgid "Channel not found." msgstr "" @@ -1410,8 +1128,8 @@ msgstr "" #: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin/Profs.php:74 #: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32 -#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:202 -#: ../../include/text.php:1003 ../../include/text.php:1015 +#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:188 +#: ../../include/text.php:1011 ../../include/text.php:1023 msgid "Save" msgstr "" @@ -1467,7 +1185,7 @@ msgstr "" #: ../../Zotlabs/Module/Connections.php:92 #: ../../Zotlabs/Module/Connections.php:107 -#: ../../Zotlabs/Module/Connedit.php:682 ../../include/widgets.php:544 +#: ../../Zotlabs/Module/Connedit.php:720 ../../include/widgets.php:530 msgid "All" msgstr "" @@ -1480,7 +1198,7 @@ msgid "Show pending (new) connections" msgstr "" #: ../../Zotlabs/Module/Connections.php:145 -#: ../../Zotlabs/Module/Profperm.php:144 +#: ../../Zotlabs/Module/Profperm.php:140 msgid "All Connections" msgstr "" @@ -1555,7 +1273,7 @@ msgid "Ignore connection" msgstr "" #: ../../Zotlabs/Module/Connections.php:287 -#: ../../Zotlabs/Module/Connedit.php:610 +#: ../../Zotlabs/Module/Connedit.php:637 msgid "Ignore" msgstr "" @@ -1564,14 +1282,14 @@ msgid "Recent activity" msgstr "" #: ../../Zotlabs/Module/Connections.php:312 ../../Zotlabs/Lib/Apps.php:216 -#: ../../include/text.php:932 ../../include/nav.php:203 +#: ../../include/nav.php:203 ../../include/text.php:940 msgid "Connections" msgstr "" #: ../../Zotlabs/Module/Connections.php:316 ../../Zotlabs/Module/Search.php:44 -#: ../../Zotlabs/Lib/Apps.php:237 ../../include/acl_selectors.php:203 -#: ../../include/widgets.php:316 ../../include/text.php:1002 -#: ../../include/text.php:1014 ../../include/nav.php:180 +#: ../../Zotlabs/Lib/Apps.php:237 ../../include/widgets.php:302 +#: ../../include/acl_selectors.php:213 ../../include/nav.php:180 +#: ../../include/text.php:1010 ../../include/text.php:1022 msgid "Search" msgstr "" @@ -1605,39 +1323,39 @@ msgid "Image resize failed." msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:168 -#: ../../Zotlabs/Module/Profile_photo.php:196 ../../include/photos.php:149 +#: ../../Zotlabs/Module/Profile_photo.php:201 ../../include/photos.php:149 msgid "Unable to process image" msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:192 -#: ../../Zotlabs/Module/Profile_photo.php:231 +#: ../../Zotlabs/Module/Profile_photo.php:236 msgid "Image upload failed." msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:210 -#: ../../Zotlabs/Module/Profile_photo.php:250 +#: ../../Zotlabs/Module/Profile_photo.php:255 msgid "Unable to process image." msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4276 +#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4278 msgid "female" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4277 +#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4279 #, php-format msgid "%1$s updated her %2$s" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4278 +#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4280 msgid "male" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4279 +#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4281 #, php-format msgid "%1$s updated his %2$s" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4281 +#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4283 #, php-format msgid "%1$s updated their %2$s" msgstr "" @@ -1648,18 +1366,18 @@ msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:303 #: ../../Zotlabs/Module/Cover_photo.php:318 -#: ../../Zotlabs/Module/Profile_photo.php:311 -#: ../../Zotlabs/Module/Profile_photo.php:352 +#: ../../Zotlabs/Module/Profile_photo.php:316 +#: ../../Zotlabs/Module/Profile_photo.php:363 msgid "Photo not available." msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:354 -#: ../../Zotlabs/Module/Profile_photo.php:407 +#: ../../Zotlabs/Module/Profile_photo.php:418 msgid "Upload File:" msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:355 -#: ../../Zotlabs/Module/Profile_photo.php:408 +#: ../../Zotlabs/Module/Profile_photo.php:419 msgid "Select a profile:" msgstr "" @@ -1668,33 +1386,33 @@ msgid "Upload Cover Photo" msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:416 -#: ../../Zotlabs/Module/Settings/Channel.php:401 +#: ../../Zotlabs/Module/Profile_photo.php:427 +#: ../../Zotlabs/Module/Settings/Channel.php:404 msgid "or" msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:416 +#: ../../Zotlabs/Module/Profile_photo.php:427 msgid "skip this step" msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:416 +#: ../../Zotlabs/Module/Profile_photo.php:427 msgid "select a photo from your photo albums" msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:377 -#: ../../Zotlabs/Module/Profile_photo.php:435 +#: ../../Zotlabs/Module/Profile_photo.php:446 msgid "Crop Image" msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:378 -#: ../../Zotlabs/Module/Profile_photo.php:436 +#: ../../Zotlabs/Module/Profile_photo.php:447 msgid "Please adjust the image cropping for optimum viewing." msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:380 -#: ../../Zotlabs/Module/Profile_photo.php:438 +#: ../../Zotlabs/Module/Profile_photo.php:449 msgid "Done Editing" msgstr "" @@ -1723,8 +1441,8 @@ msgstr "" msgid "Log settings updated." msgstr "" -#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1618 -#: ../../include/widgets.php:1628 +#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1661 +#: ../../include/widgets.php:1671 msgid "Logs" msgstr "" @@ -1797,7 +1515,7 @@ msgstr "" msgid "Edit Profile Field" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1599 +#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1642 msgid "Profile Fields" msgstr "" @@ -1849,7 +1567,7 @@ msgid "" "embedded content from that site is explicitly blocked." msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1594 +#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1637 msgid "Security" msgstr "" @@ -1936,62 +1654,6 @@ msgstr "" msgid "Block embedded HTML from these domains" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:18 -msgid "Theme settings updated." -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:58 -msgid "No themes found." -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:93 -#: ../../Zotlabs/Module/Admin/Plugins.php:305 -msgid "Disable" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:95 -#: ../../Zotlabs/Module/Admin/Plugins.php:308 -msgid "Enable" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:114 -msgid "Screenshot" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:121 -#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1597 -msgid "Themes" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:122 -#: ../../Zotlabs/Module/Admin/Plugins.php:338 -msgid "Toggle" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:123 -#: ../../Zotlabs/Module/Admin/Plugins.php:339 ../../Zotlabs/Lib/Apps.php:223 -#: ../../include/widgets.php:699 ../../include/nav.php:225 -msgid "Settings" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:132 -#: ../../Zotlabs/Module/Admin/Plugins.php:346 -msgid "Author: " -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:133 -#: ../../Zotlabs/Module/Admin/Plugins.php:347 -msgid "Maintainer: " -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:160 -msgid "[Experimental]" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Themes.php:161 -msgid "[Unsupported]" -msgstr "" - #: ../../Zotlabs/Module/Admin/Account_edit.php:29 #, php-format msgid "Password changed for account %d." @@ -2063,7 +1725,7 @@ msgid "Account '%s' unblocked" msgstr "" #: ../../Zotlabs/Module/Admin/Accounts.php:165 -#: ../../Zotlabs/Module/Admin/Accounts.php:178 ../../include/widgets.php:1592 +#: ../../Zotlabs/Module/Admin/Accounts.php:178 ../../include/widgets.php:1635 msgid "Accounts" msgstr "" @@ -2082,13 +1744,13 @@ msgstr "" #: ../../Zotlabs/Module/Admin/Accounts.php:169 #: ../../Zotlabs/Module/Admin/Accounts.php:181 -#: ../../Zotlabs/Module/Connedit.php:879 +#: ../../Zotlabs/Module/Connedit.php:917 ../../Zotlabs/Module/Profiles.php:790 #: ../../extend/addon/addon/redred/redred.php:107 #: ../../extend/addon/addon/rtof/rtof.php:93 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1140 #: ../../extend/addon/addon/openid/MysqlProvider.php:56 #: ../../extend/addon/addon/openid/MysqlProvider.php:57 -#: ../../include/network.php:2247 +#: ../../include/network.php:2270 msgid "Email" msgstr "" @@ -2101,12 +1763,12 @@ msgid "Deny" msgstr "" #: ../../Zotlabs/Module/Admin/Accounts.php:174 -#: ../../Zotlabs/Module/Connedit.php:602 +#: ../../Zotlabs/Module/Connedit.php:629 msgid "Block" msgstr "" #: ../../Zotlabs/Module/Admin/Accounts.php:175 -#: ../../Zotlabs/Module/Connedit.php:602 +#: ../../Zotlabs/Module/Connedit.php:629 msgid "Unblock" msgstr "" @@ -2114,7 +1776,7 @@ msgstr "" msgid "ID" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/group.php:267 +#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/group.php:287 msgid "All Channels" msgstr "" @@ -2196,7 +1858,7 @@ msgstr "" msgid "Channel '%s' code disallowed" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:146 ../../include/widgets.php:1593 +#: ../../Zotlabs/Module/Admin/Channels.php:146 ../../include/widgets.php:1636 msgid "Channels" msgstr "" @@ -2226,8 +1888,8 @@ msgid "UID" msgstr "" #: ../../Zotlabs/Module/Admin/Channels.php:160 -#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Connedit.php:882 -#: ../../Zotlabs/Module/Profiles.php:503 +#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Connedit.php:920 +#: ../../Zotlabs/Module/Profiles.php:502 ../../Zotlabs/Module/Profiles.php:793 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1143 msgid "Address" msgstr "" @@ -2284,451 +1946,645 @@ msgstr "" msgid "Attempt to execute this update step automatically" msgstr "" +#: ../../Zotlabs/Module/Admin/Queue.php:35 +msgid "Queue Statistics" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:36 +msgid "Total Entries" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:37 +msgid "Priority" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:38 +msgid "Destination URL" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:39 +msgid "Mark hub permanently offline" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:40 +msgid "Empty queue for this hub" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:41 +msgid "Last known contact" +msgstr "" + #: ../../Zotlabs/Module/Admin/Site.php:133 msgid "Site settings updated." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:159 ../../include/text.php:2934 +#: ../../Zotlabs/Module/Admin/Site.php:159 ../../include/text.php:2936 msgid "Default" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:169 -#: ../../Zotlabs/Module/Settings/Display.php:143 +#: ../../Zotlabs/Module/Admin/Site.php:170 +#: ../../Zotlabs/Module/Settings/Display.php:137 +#, php-format +msgid "%s - (Incompatible)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:177 +#: ../../Zotlabs/Module/Settings/Display.php:151 msgid "mobile" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:171 +#: ../../Zotlabs/Module/Admin/Site.php:179 msgid "experimental" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:173 +#: ../../Zotlabs/Module/Admin/Site.php:181 msgid "unsupported" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:219 +#: ../../Zotlabs/Module/Admin/Site.php:226 ../../Zotlabs/Module/Menu.php:100 +#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Connedit.php:402 +#: ../../Zotlabs/Module/Connedit.php:786 ../../Zotlabs/Module/Events.php:470 +#: ../../Zotlabs/Module/Events.php:471 +#: ../../Zotlabs/Module/Filestorage.php:160 +#: ../../Zotlabs/Module/Filestorage.php:168 +#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Mitem.php:162 +#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240 +#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Api.php:97 +#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Profiles.php:681 +#: ../../Zotlabs/Module/Settings/Channel.php:294 +#: ../../Zotlabs/Module/Settings/Display.php:103 +#: ../../Zotlabs/Module/Wiki.php:179 +#: ../../extend/addon/addon/dwpost/dwpost.php:73 +#: ../../extend/addon/addon/dwpost/dwpost.php:85 +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 +#: ../../extend/addon/addon/friendica/dfrn_request.php:865 +#: ../../extend/addon/addon/ijpost/ijpost.php:73 +#: ../../extend/addon/addon/ijpost/ijpost.php:85 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:309 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:313 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:351 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:355 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:359 +#: ../../extend/addon/addon/libertree/libertree.php:69 +#: ../../extend/addon/addon/libertree/libertree.php:81 +#: ../../extend/addon/addon/ljpost/ljpost.php:70 +#: ../../extend/addon/addon/ljpost/ljpost.php:82 +#: ../../extend/addon/addon/nofed/nofed.php:72 +#: ../../extend/addon/addon/nofed/nofed.php:76 +#: ../../extend/addon/addon/nsabait/nsabait.php:157 +#: ../../extend/addon/addon/nsfw/nsfw.php:84 +#: ../../extend/addon/addon/planets/planets.php:153 +#: ../../extend/addon/addon/pumpio/pumpio.php:219 +#: ../../extend/addon/addon/pumpio/pumpio.php:223 +#: ../../extend/addon/addon/pumpio/pumpio.php:227 +#: ../../extend/addon/addon/pumpio/pumpio.php:231 +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 +#: ../../extend/addon/addon/redred/redred.php:95 +#: ../../extend/addon/addon/redred/redred.php:99 +#: ../../extend/addon/addon/rtof/rtof.php:81 +#: ../../extend/addon/addon/rtof/rtof.php:85 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:273 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:277 +#: ../../extend/addon/addon/statusnet/statusnet.php:389 +#: ../../extend/addon/addon/statusnet/statusnet.php:411 +#: ../../extend/addon/addon/statusnet/statusnet.php:415 +#: ../../extend/addon/addon/statusnet/statusnet.php:424 +#: ../../extend/addon/addon/twitter/twitter.php:242 +#: ../../extend/addon/addon/twitter/twitter.php:246 +#: ../../extend/addon/addon/twitter/twitter.php:255 +#: ../../extend/addon/addon/visage/visage.php:166 +#: ../../extend/addon/addon/wppost/wppost.php:82 +#: ../../extend/addon/addon/wppost/wppost.php:105 +#: ../../extend/addon/addon/wppost/wppost.php:109 +#: ../../extend/addon/addon/xmpp/xmpp.php:53 +#: ../../extend/addon/addon/cdav/cdav.php:234 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +#: ../../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:1753 +msgid "No" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:227 msgid "Yes - with approval" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:225 +#: ../../Zotlabs/Module/Admin/Site.php:228 ../../Zotlabs/Module/Menu.php:100 +#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Connedit.php:402 +#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471 +#: ../../Zotlabs/Module/Filestorage.php:160 +#: ../../Zotlabs/Module/Filestorage.php:168 +#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Mitem.php:162 +#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240 +#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Api.php:96 +#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Profiles.php:681 +#: ../../Zotlabs/Module/Settings/Channel.php:294 +#: ../../Zotlabs/Module/Settings/Display.php:103 +#: ../../Zotlabs/Module/Wiki.php:179 +#: ../../extend/addon/addon/dwpost/dwpost.php:73 +#: ../../extend/addon/addon/dwpost/dwpost.php:85 +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 +#: ../../extend/addon/addon/friendica/dfrn_request.php:865 +#: ../../extend/addon/addon/ijpost/ijpost.php:73 +#: ../../extend/addon/addon/ijpost/ijpost.php:85 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:309 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:313 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:351 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:355 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:359 +#: ../../extend/addon/addon/libertree/libertree.php:69 +#: ../../extend/addon/addon/libertree/libertree.php:81 +#: ../../extend/addon/addon/ljpost/ljpost.php:70 +#: ../../extend/addon/addon/ljpost/ljpost.php:82 +#: ../../extend/addon/addon/nofed/nofed.php:72 +#: ../../extend/addon/addon/nofed/nofed.php:76 +#: ../../extend/addon/addon/nsabait/nsabait.php:157 +#: ../../extend/addon/addon/nsfw/nsfw.php:84 +#: ../../extend/addon/addon/planets/planets.php:153 +#: ../../extend/addon/addon/pumpio/pumpio.php:219 +#: ../../extend/addon/addon/pumpio/pumpio.php:223 +#: ../../extend/addon/addon/pumpio/pumpio.php:227 +#: ../../extend/addon/addon/pumpio/pumpio.php:231 +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 +#: ../../extend/addon/addon/redred/redred.php:95 +#: ../../extend/addon/addon/redred/redred.php:99 +#: ../../extend/addon/addon/rtof/rtof.php:81 +#: ../../extend/addon/addon/rtof/rtof.php:85 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:273 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:277 +#: ../../extend/addon/addon/statusnet/statusnet.php:389 +#: ../../extend/addon/addon/statusnet/statusnet.php:411 +#: ../../extend/addon/addon/statusnet/statusnet.php:415 +#: ../../extend/addon/addon/statusnet/statusnet.php:424 +#: ../../extend/addon/addon/twitter/twitter.php:242 +#: ../../extend/addon/addon/twitter/twitter.php:246 +#: ../../extend/addon/addon/twitter/twitter.php:255 +#: ../../extend/addon/addon/visage/visage.php:166 +#: ../../extend/addon/addon/wppost/wppost.php:82 +#: ../../extend/addon/addon/wppost/wppost.php:105 +#: ../../extend/addon/addon/wppost/wppost.php:109 +#: ../../extend/addon/addon/xmpp/xmpp.php:53 +#: ../../extend/addon/addon/cdav/cdav.php:234 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +#: ../../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:1753 +msgid "Yes" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:233 msgid "My site is not a public server" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:226 +#: ../../Zotlabs/Module/Admin/Site.php:234 msgid "My site has paid access only" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:227 +#: ../../Zotlabs/Module/Admin/Site.php:235 msgid "My site has free access only" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:228 +#: ../../Zotlabs/Module/Admin/Site.php:236 msgid "My site offers free accounts with optional paid upgrades" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:239 ../../Zotlabs/Module/Setup.php:328 +#: ../../Zotlabs/Module/Admin/Site.php:247 ../../Zotlabs/Module/Setup.php:328 msgid "Basic/Minimal Social Networking" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:240 ../../Zotlabs/Module/Setup.php:329 +#: ../../Zotlabs/Module/Admin/Site.php:248 ../../Zotlabs/Module/Setup.php:329 msgid "Standard Configuration (default)" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:241 ../../Zotlabs/Module/Setup.php:330 +#: ../../Zotlabs/Module/Admin/Site.php:249 ../../Zotlabs/Module/Setup.php:330 msgid "Professional" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:245 ../../Zotlabs/Lib/Techlevels.php:10 +#: ../../Zotlabs/Module/Admin/Site.php:253 ../../Zotlabs/Lib/Techlevels.php:10 msgid "Beginner/Basic" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:246 ../../Zotlabs/Lib/Techlevels.php:11 +#: ../../Zotlabs/Module/Admin/Site.php:254 ../../Zotlabs/Lib/Techlevels.php:11 msgid "Novice - not skilled but willing to learn" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:247 ../../Zotlabs/Lib/Techlevels.php:12 +#: ../../Zotlabs/Module/Admin/Site.php:255 ../../Zotlabs/Lib/Techlevels.php:12 msgid "Intermediate - somewhat comfortable" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:248 ../../Zotlabs/Lib/Techlevels.php:13 +#: ../../Zotlabs/Module/Admin/Site.php:256 ../../Zotlabs/Lib/Techlevels.php:13 msgid "Advanced - very comfortable" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:249 ../../Zotlabs/Lib/Techlevels.php:14 +#: ../../Zotlabs/Module/Admin/Site.php:257 ../../Zotlabs/Lib/Techlevels.php:14 msgid "Expert - I can write computer code" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:250 ../../Zotlabs/Lib/Techlevels.php:15 +#: ../../Zotlabs/Module/Admin/Site.php:258 ../../Zotlabs/Lib/Techlevels.php:15 msgid "Wizard - I probably know more than you do" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:259 ../../include/widgets.php:1591 +#: ../../Zotlabs/Module/Admin/Site.php:267 ../../include/widgets.php:1634 msgid "Site" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:262 +#: ../../Zotlabs/Module/Admin/Site.php:270 msgid "File upload" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:263 +#: ../../Zotlabs/Module/Admin/Site.php:271 msgid "Policies" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:264 +#: ../../Zotlabs/Module/Admin/Site.php:272 #: ../../include/contact_widgets.php:16 msgid "Advanced" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:268 +#: ../../Zotlabs/Module/Admin/Site.php:276 #: ../../extend/addon/addon/statusnet/statusnet.php:890 msgid "Site name" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:270 ../../Zotlabs/Module/Setup.php:351 +#: ../../Zotlabs/Module/Admin/Site.php:278 ../../Zotlabs/Module/Setup.php:351 msgid "Server Configuration/Role" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:272 +#: ../../Zotlabs/Module/Admin/Site.php:280 msgid "Site default technical skill level" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:272 +#: ../../Zotlabs/Module/Admin/Site.php:280 msgid "Used to provide a member experience matched to technical comfort level" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:274 +#: ../../Zotlabs/Module/Admin/Site.php:282 msgid "Lock the technical skill level setting" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:274 +#: ../../Zotlabs/Module/Admin/Site.php:282 msgid "Members can set their own technical comfort level by default" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:276 +#: ../../Zotlabs/Module/Admin/Site.php:284 msgid "Banner/Logo" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:277 +#: ../../Zotlabs/Module/Admin/Site.php:285 msgid "Administrator Information" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:277 +#: ../../Zotlabs/Module/Admin/Site.php:285 msgid "" "Contact information for site administrators. Displayed on siteinfo page. " "BBCode can be used here" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:278 +#: ../../Zotlabs/Module/Admin/Site.php:286 #: ../../Zotlabs/Module/Siteinfo.php:23 msgid "Site Information" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:278 +#: ../../Zotlabs/Module/Admin/Site.php:286 msgid "" "Publicly visible description of this site. Displayed on siteinfo page. " "BBCode can be used here" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:279 +#: ../../Zotlabs/Module/Admin/Site.php:287 msgid "System language" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:280 +#: ../../Zotlabs/Module/Admin/Site.php:288 msgid "System theme" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:280 +#: ../../Zotlabs/Module/Admin/Site.php:288 msgid "" "Default system theme - may be over-ridden by user profiles - <a href='#' " "id='cnftheme'>change theme settings</a>" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:281 +#: ../../Zotlabs/Module/Admin/Site.php:289 msgid "Mobile system theme" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:281 +#: ../../Zotlabs/Module/Admin/Site.php:289 msgid "Theme for mobile devices" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:283 +#: ../../Zotlabs/Module/Admin/Site.php:291 msgid "Allow Feeds as Connections" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:283 +#: ../../Zotlabs/Module/Admin/Site.php:291 msgid "(Heavy system resource usage)" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:284 +#: ../../Zotlabs/Module/Admin/Site.php:292 msgid "Maximum image size" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:284 +#: ../../Zotlabs/Module/Admin/Site.php:292 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:285 +#: ../../Zotlabs/Module/Admin/Site.php:293 msgid "Does this site allow new member registration?" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:286 +#: ../../Zotlabs/Module/Admin/Site.php:294 msgid "Invitation only" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:286 +#: ../../Zotlabs/Module/Admin/Site.php:294 msgid "" "Only allow new member registrations with an invitation code. Above register " "policy must be set to Yes." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:287 +#: ../../Zotlabs/Module/Admin/Site.php:295 msgid "Which best describes the types of account offered by this hub?" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:288 +#: ../../Zotlabs/Module/Admin/Site.php:296 msgid "Register text" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:288 +#: ../../Zotlabs/Module/Admin/Site.php:296 msgid "Will be displayed prominently on the registration page." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:289 +#: ../../Zotlabs/Module/Admin/Site.php:297 msgid "Site homepage to show visitors (default: login box)" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:289 +#: ../../Zotlabs/Module/Admin/Site.php:297 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/Admin/Site.php:290 +#: ../../Zotlabs/Module/Admin/Site.php:298 msgid "Preserve site homepage URL" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:290 +#: ../../Zotlabs/Module/Admin/Site.php:298 msgid "" "Present the site homepage in a frame at the original location instead of " "redirecting" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:291 +#: ../../Zotlabs/Module/Admin/Site.php:299 msgid "Accounts abandoned after x days" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:291 +#: ../../Zotlabs/Module/Admin/Site.php:299 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:292 +#: ../../Zotlabs/Module/Admin/Site.php:300 msgid "Allowed friend domains" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:292 +#: ../../Zotlabs/Module/Admin/Site.php:300 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:293 +#: ../../Zotlabs/Module/Admin/Site.php:301 msgid "Verify Email Addresses" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:293 +#: ../../Zotlabs/Module/Admin/Site.php:301 msgid "" "Check to verify email addresses used in account registration (recommended)." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:294 +#: ../../Zotlabs/Module/Admin/Site.php:302 msgid "Force publish" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:294 +#: ../../Zotlabs/Module/Admin/Site.php:302 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:295 +#: ../../Zotlabs/Module/Admin/Site.php:303 msgid "Import Public Streams" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:295 +#: ../../Zotlabs/Module/Admin/Site.php:303 msgid "" "Import and allow access to public content pulled from other sites. Warning: " "this content is unmoderated." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:296 +#: ../../Zotlabs/Module/Admin/Site.php:304 msgid "Login on Homepage" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:296 +#: ../../Zotlabs/Module/Admin/Site.php:304 msgid "" "Present a login box to visitors on the home page if no other content has " "been configured." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:297 +#: ../../Zotlabs/Module/Admin/Site.php:305 msgid "Enable context help" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:297 +#: ../../Zotlabs/Module/Admin/Site.php:305 msgid "" "Display contextual help for the current page when the help button is pressed." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:299 +#: ../../Zotlabs/Module/Admin/Site.php:307 msgid "Directory Server URL" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:299 +#: ../../Zotlabs/Module/Admin/Site.php:307 msgid "Default directory server" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:301 +#: ../../Zotlabs/Module/Admin/Site.php:309 msgid "Proxy user" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:302 +#: ../../Zotlabs/Module/Admin/Site.php:310 msgid "Proxy URL" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:303 +#: ../../Zotlabs/Module/Admin/Site.php:311 msgid "Network timeout" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:303 +#: ../../Zotlabs/Module/Admin/Site.php:311 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:304 +#: ../../Zotlabs/Module/Admin/Site.php:312 msgid "Delivery interval" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:304 +#: ../../Zotlabs/Module/Admin/Site.php:312 msgid "" "Delay background delivery processes by this many seconds to reduce system " "load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 " "for large dedicated servers." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:305 +#: ../../Zotlabs/Module/Admin/Site.php:313 msgid "Deliveries per process" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:305 +#: ../../Zotlabs/Module/Admin/Site.php:313 msgid "" "Number of deliveries to attempt in a single operating system process. Adjust " "if necessary to tune system performance. Recommend: 1-5." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:306 +#: ../../Zotlabs/Module/Admin/Site.php:314 msgid "Poll interval" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:306 +#: ../../Zotlabs/Module/Admin/Site.php:314 msgid "" "Delay background polling processes by this many seconds to reduce system " "load. If 0, use delivery interval." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:307 +#: ../../Zotlabs/Module/Admin/Site.php:315 msgid "Maximum Load Average" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:307 +#: ../../Zotlabs/Module/Admin/Site.php:315 msgid "" "Maximum system load before delivery and poll processes are deferred - " "default 50." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:308 +#: ../../Zotlabs/Module/Admin/Site.php:316 msgid "Expiration period in days for imported (grid/network) content" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:308 +#: ../../Zotlabs/Module/Admin/Site.php:316 msgid "0 for no expiration of imported content" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:284 +#: ../../Zotlabs/Module/Admin/Plugins.php:289 #, php-format msgid "Plugin %s disabled." msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:289 +#: ../../Zotlabs/Module/Admin/Plugins.php:294 #, php-format msgid "Plugin %s enabled." msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:337 -#: ../../Zotlabs/Module/Admin/Plugins.php:432 ../../include/widgets.php:1596 +#: ../../Zotlabs/Module/Admin/Plugins.php:310 +#: ../../Zotlabs/Module/Admin/Themes.php:95 +msgid "Disable" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Plugins.php:313 +#: ../../Zotlabs/Module/Admin/Themes.php:97 +msgid "Enable" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Plugins.php:342 +#: ../../Zotlabs/Module/Admin/Plugins.php:437 ../../include/widgets.php:1639 msgid "Plugins" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:348 +#: ../../Zotlabs/Module/Admin/Plugins.php:343 +#: ../../Zotlabs/Module/Admin/Themes.php:124 +msgid "Toggle" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Plugins.php:344 +#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:223 +#: ../../include/widgets.php:685 ../../include/nav.php:225 +msgid "Settings" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Plugins.php:351 +#: ../../Zotlabs/Module/Admin/Themes.php:134 +msgid "Author: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Plugins.php:352 +#: ../../Zotlabs/Module/Admin/Themes.php:135 +msgid "Maintainer: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Plugins.php:353 msgid "Minimum project version: " msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:349 +#: ../../Zotlabs/Module/Admin/Plugins.php:354 msgid "Maximum project version: " msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:350 +#: ../../Zotlabs/Module/Admin/Plugins.php:355 msgid "Minimum PHP version: " msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:351 +#: ../../Zotlabs/Module/Admin/Plugins.php:356 msgid "Compatible Server Roles: " msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:352 +#: ../../Zotlabs/Module/Admin/Plugins.php:357 msgid "Requires: " msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:353 -#: ../../Zotlabs/Module/Admin/Plugins.php:437 +#: ../../Zotlabs/Module/Admin/Plugins.php:358 +#: ../../Zotlabs/Module/Admin/Plugins.php:442 msgid "Disabled - version incompatibility" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:406 +#: ../../Zotlabs/Module/Admin/Plugins.php:411 msgid "Enter the public git repository URL of the plugin repo." msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:407 +#: ../../Zotlabs/Module/Admin/Plugins.php:412 msgid "Plugin repo git URL" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:408 +#: ../../Zotlabs/Module/Admin/Plugins.php:413 msgid "Custom repo name" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:408 +#: ../../Zotlabs/Module/Admin/Plugins.php:413 msgid "(optional)" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:409 +#: ../../Zotlabs/Module/Admin/Plugins.php:414 msgid "Download Plugin Repo" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:416 +#: ../../Zotlabs/Module/Admin/Plugins.php:421 msgid "Install new repo" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:417 ../../Zotlabs/Lib/Apps.php:348 +#: ../../Zotlabs/Module/Admin/Plugins.php:422 ../../Zotlabs/Lib/Apps.php:348 msgid "Install" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:418 -#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Fbrowser.php:66 -#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Wiki.php:263 -#: ../../Zotlabs/Module/Wiki.php:288 +#: ../../Zotlabs/Module/Admin/Plugins.php:423 +#: ../../Zotlabs/Module/Connedit.php:931 ../../Zotlabs/Module/Fbrowser.php:66 +#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:804 #: ../../Zotlabs/Module/Settings/Oauth.php:88 #: ../../Zotlabs/Module/Settings/Oauth.php:114 #: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 +#: ../../Zotlabs/Module/Wiki.php:261 ../../Zotlabs/Module/Wiki.php:286 #: ../../extend/addon/addon/friendica/dfrn_request.php:879 #: ../../extend/addon/addon/js_upload/js_upload.php:46 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:866 @@ -2739,193 +2595,151 @@ msgstr "" msgid "Cancel" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:440 +#: ../../Zotlabs/Module/Admin/Plugins.php:445 msgid "Manage Repos" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:441 +#: ../../Zotlabs/Module/Admin/Plugins.php:446 msgid "Installed Plugin Repositories" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:442 +#: ../../Zotlabs/Module/Admin/Plugins.php:447 msgid "Install a New Plugin Repository" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:448 -#: ../../Zotlabs/Module/Connedit.php:891 +#: ../../Zotlabs/Module/Admin/Plugins.php:453 +#: ../../Zotlabs/Module/Connedit.php:929 ../../Zotlabs/Module/Profiles.php:802 #: ../../Zotlabs/Module/Settings/Oauth.php:42 #: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:348 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1152 msgid "Update" msgstr "" -#: ../../Zotlabs/Module/Admin/Plugins.php:449 +#: ../../Zotlabs/Module/Admin/Plugins.php:454 msgid "Switch branch" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:35 -msgid "Queue Statistics" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Queue.php:36 -msgid "Total Entries" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Queue.php:37 -msgid "Priority" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Queue.php:38 -msgid "Destination URL" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Queue.php:39 -msgid "Mark hub permanently offline" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Queue.php:40 -msgid "Empty queue for this hub" -msgstr "" - -#: ../../Zotlabs/Module/Admin/Queue.php:41 -msgid "Last known contact" -msgstr "" - -#: ../../Zotlabs/Module/Search.php:223 -#, php-format -msgid "Items tagged with: %s" -msgstr "" - -#: ../../Zotlabs/Module/Search.php:225 -#, php-format -msgid "Search results for: %s" +#: ../../Zotlabs/Module/Admin/Plugins.php:455 +#: ../../Zotlabs/Module/Photos.php:984 ../../Zotlabs/Module/Tagrm.php:137 +#: ../../extend/addon/addon/superblock/superblock.php:116 +msgid "Remove" msgstr "" -#: ../../Zotlabs/Module/Editlayout.php:127 -#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188 -msgid "Layout Name" +#: ../../Zotlabs/Module/Admin/Themes.php:26 +msgid "Theme settings updated." msgstr "" -#: ../../Zotlabs/Module/Editlayout.php:128 -#: ../../Zotlabs/Module/Layouts.php:131 -msgid "Layout Description (Optional)" +#: ../../Zotlabs/Module/Admin/Themes.php:61 +msgid "No themes found." msgstr "" -#: ../../Zotlabs/Module/Editlayout.php:136 -msgid "Edit Layout" +#: ../../Zotlabs/Module/Admin/Themes.php:116 +msgid "Screenshot" msgstr "" -#: ../../Zotlabs/Module/Editwebpage.php:142 -msgid "Page link" +#: ../../Zotlabs/Module/Admin/Themes.php:123 +#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../include/widgets.php:1640 +msgid "Themes" msgstr "" -#: ../../Zotlabs/Module/Editwebpage.php:169 -msgid "Edit Webpage" +#: ../../Zotlabs/Module/Admin/Themes.php:162 +msgid "[Experimental]" msgstr "" -#: ../../Zotlabs/Module/Like.php:19 -msgid "Like/Dislike" +#: ../../Zotlabs/Module/Admin/Themes.php:163 +msgid "[Unsupported]" msgstr "" -#: ../../Zotlabs/Module/Like.php:24 -msgid "This action is restricted to members." +#: ../../Zotlabs/Module/Uexport.php:57 ../../Zotlabs/Module/Uexport.php:58 +msgid "Export Channel" msgstr "" -#: ../../Zotlabs/Module/Like.php:25 +#: ../../Zotlabs/Module/Uexport.php:59 msgid "" -"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=" -"\"register\">register as a new $Projectname member</a> to continue." -msgstr "" - -#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131 -#: ../../Zotlabs/Module/Like.php:169 -msgid "Invalid request." -msgstr "" - -#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126 -msgid "channel" -msgstr "" - -#: ../../Zotlabs/Module/Like.php:146 -msgid "thing" +"Export your basic channel information to a file. This acts as a backup of " +"your connections, permissions, profile and basic data, which can be used to " +"import your data to a new server hub, but does not contain your content." msgstr "" -#: ../../Zotlabs/Module/Like.php:192 -msgid "Channel unavailable." +#: ../../Zotlabs/Module/Uexport.php:60 +msgid "Export Content" msgstr "" -#: ../../Zotlabs/Module/Like.php:240 -msgid "Previous action reversed." +#: ../../Zotlabs/Module/Uexport.php:61 +msgid "" +"Export your channel information and recent content to a JSON backup that can " +"be restored or imported to another server hub. This backs up all of your " +"connections, permissions, profile data and several months of posts. This " +"file may be VERY large. Please be patient - it may take several minutes for " +"this download to begin." msgstr "" -#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87 -#: ../../Zotlabs/Module/Tagger.php:47 -#: ../../extend/addon/addon/diaspora/inbound.php:1781 -#: ../../extend/addon/addon/redphotos/redphotohelper.php:74 -#: ../../include/conversation.php:120 ../../include/text.php:1956 -msgid "photo" +#: ../../Zotlabs/Module/Uexport.php:63 +msgid "Export your posts from a given year." msgstr "" -#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87 -#: ../../extend/addon/addon/diaspora/inbound.php:1781 -#: ../../include/conversation.php:148 ../../include/text.php:1962 -msgid "status" +#: ../../Zotlabs/Module/Uexport.php:65 +msgid "" +"You may also export your posts and conversations for a particular year or " +"month. Adjust the date in your browser location bar to select other dates. " +"If the export fails (possibly due to memory exhaustion on your server hub), " +"please try again selecting a more limited date range." msgstr "" -#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:260 -#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123 -#: ../../include/text.php:1959 ../../include/event.php:1000 -msgid "event" +#: ../../Zotlabs/Module/Uexport.php:66 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a href=\"%1$s" +"\">%2$s</a>" msgstr "" -#: ../../Zotlabs/Module/Like.php:419 -#: ../../extend/addon/addon/diaspora/inbound.php:1810 -#: ../../include/conversation.php:164 +#: ../../Zotlabs/Module/Uexport.php:67 #, php-format -msgid "%1$s likes %2$s's %3$s" +msgid "" +"To select all posts for a given month, such as January of this year, visit " +"<a href=\"%1$s\">%2$s</a>" msgstr "" -#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167 +#: ../../Zotlabs/Module/Uexport.php:68 #, php-format -msgid "%1$s doesn't like %2$s's %3$s" +msgid "" +"These content files may be imported or restored by visiting <a href=\"%1$s\">" +"%2$s</a> on any site containing your channel. For best results please import " +"or restore these in date order (oldest first)." msgstr "" -#: ../../Zotlabs/Module/Like.php:423 -#, php-format -msgid "%1$s agrees with %2$s's %3$s" +#: ../../Zotlabs/Module/Editlayout.php:127 +#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188 +msgid "Layout Name" msgstr "" -#: ../../Zotlabs/Module/Like.php:425 -#, php-format -msgid "%1$s doesn't agree with %2$s's %3$s" +#: ../../Zotlabs/Module/Editlayout.php:128 +#: ../../Zotlabs/Module/Layouts.php:131 +msgid "Layout Description (Optional)" msgstr "" -#: ../../Zotlabs/Module/Like.php:427 -#, php-format -msgid "%1$s abstains from a decision on %2$s's %3$s" +#: ../../Zotlabs/Module/Editlayout.php:136 +msgid "Edit Layout" msgstr "" -#: ../../Zotlabs/Module/Like.php:429 -#, php-format -msgid "%1$s is attending %2$s's %3$s" +#: ../../Zotlabs/Module/Editwebpage.php:142 +msgid "Page link" msgstr "" -#: ../../Zotlabs/Module/Like.php:431 -#, php-format -msgid "%1$s is not attending %2$s's %3$s" +#: ../../Zotlabs/Module/Editwebpage.php:169 +msgid "Edit Webpage" msgstr "" -#: ../../Zotlabs/Module/Like.php:433 -#, php-format -msgid "%1$s may attend %2$s's %3$s" +#: ../../Zotlabs/Module/Apps.php:45 ../../include/nav.php:178 +msgid "Apps" msgstr "" -#: ../../Zotlabs/Module/Like.php:538 -msgid "Action completed." +#: ../../Zotlabs/Module/Apps.php:48 +msgid "Manage apps" msgstr "" -#: ../../Zotlabs/Module/Like.php:539 -msgid "Thank you." +#: ../../Zotlabs/Module/Apps.php:49 +msgid "Create new app" msgstr "" #: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49 @@ -2964,6 +2778,11 @@ msgstr "" msgid "Invalid connection." msgstr "" +#: ../../Zotlabs/Module/Network.php:275 +#: ../../extend/addon/addon/redred/redred.php:65 +msgid "Invalid channel." +msgstr "" + #: ../../Zotlabs/Module/Menu.php:49 msgid "Unable to update menu." msgstr "" @@ -3000,7 +2819,7 @@ msgstr "" msgid "Submit and proceed" msgstr "" -#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2287 +#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2289 msgid "Menus" msgstr "" @@ -3008,14 +2827,14 @@ msgstr "" msgid "Drop" msgstr "" -#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157 -#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:255 +#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:255 +#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Layouts.php:190 #: ../../include/page_widgets.php:47 msgid "Created" msgstr "" -#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158 -#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:256 +#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:256 +#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191 #: ../../include/page_widgets.php:48 msgid "Edited" msgstr "" @@ -3077,6 +2896,10 @@ msgstr "" msgid "Not found." msgstr "" +#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:108 +msgid "Edit post" +msgstr "" + #: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54 msgid "Location not found." msgstr "" @@ -3104,8 +2927,8 @@ msgid "Manage Channel Locations" msgstr "" #: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Pubsites.php:51 -#: ../../Zotlabs/Module/Profiles.php:510 ../../Zotlabs/Module/Profiles.php:733 -#: ../../Zotlabs/Module/Events.php:475 +#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Profiles.php:509 +#: ../../Zotlabs/Module/Profiles.php:737 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:839 #: ../../include/js_strings.php:25 msgid "Location" @@ -3133,7 +2956,7 @@ msgstr "" msgid "Use this form to drop the location if the hub is no longer operating." msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1415 +#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1401 msgid "Public Hubs" msgstr "" @@ -3175,9 +2998,9 @@ msgstr "" msgid "Rate" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166 -#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Events.php:694 -#: ../../Zotlabs/Module/Webpages.php:250 ../../Zotlabs/Module/Wiki.php:165 +#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Events.php:694 +#: ../../Zotlabs/Module/Webpages.php:250 ../../Zotlabs/Module/Blocks.php:166 +#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Wiki.php:166 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:151 #: ../../include/page_widgets.php:42 msgid "View" @@ -3191,315 +3014,338 @@ msgstr "" msgid "Could not locate selected profile." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:257 +#: ../../Zotlabs/Module/Connedit.php:249 msgid "Connection updated." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:259 +#: ../../Zotlabs/Module/Connedit.php:251 msgid "Failed to update connection record." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:309 +#: ../../Zotlabs/Module/Connedit.php:301 msgid "is now connected to" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:442 +#: ../../Zotlabs/Module/Connedit.php:434 msgid "Could not access address book record." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:462 +#: ../../Zotlabs/Module/Connedit.php:482 msgid "Refresh failed - channel is currently unavailable." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:477 ../../Zotlabs/Module/Connedit.php:486 -#: ../../Zotlabs/Module/Connedit.php:495 ../../Zotlabs/Module/Connedit.php:504 -#: ../../Zotlabs/Module/Connedit.php:517 +#: ../../Zotlabs/Module/Connedit.php:497 ../../Zotlabs/Module/Connedit.php:506 +#: ../../Zotlabs/Module/Connedit.php:515 ../../Zotlabs/Module/Connedit.php:524 +#: ../../Zotlabs/Module/Connedit.php:537 msgid "Unable to set address book parameters." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:541 +#: ../../Zotlabs/Module/Connedit.php:561 msgid "Connection has been removed." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:581 ../../Zotlabs/Lib/Apps.php:228 +#: ../../Zotlabs/Module/Connedit.php:601 ../../Zotlabs/Lib/Apps.php:228 #: ../../extend/addon/addon/openclipatar/openclipatar.php:57 #: ../../include/conversation.php:936 ../../include/conversation.php:1049 #: ../../include/nav.php:103 msgid "View Profile" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:584 +#: ../../Zotlabs/Module/Connedit.php:604 #, php-format msgid "View %s's profile" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:588 +#: ../../Zotlabs/Module/Connedit.php:608 msgid "Refresh Permissions" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:591 +#: ../../Zotlabs/Module/Connedit.php:611 msgid "Fetch updated permissions" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:595 +#: ../../Zotlabs/Module/Connedit.php:615 +msgid "Refresh Photo" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:618 +msgid "Fetch updated photo" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:622 msgid "Recent Activity" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:598 +#: ../../Zotlabs/Module/Connedit.php:625 msgid "View recent posts and comments" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:605 +#: ../../Zotlabs/Module/Connedit.php:632 msgid "Block (or Unblock) all communications with this connection" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:606 +#: ../../Zotlabs/Module/Connedit.php:633 msgid "This connection is blocked!" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:610 +#: ../../Zotlabs/Module/Connedit.php:637 msgid "Unignore" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:613 +#: ../../Zotlabs/Module/Connedit.php:640 msgid "Ignore (or Unignore) all inbound communications from this connection" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:614 +#: ../../Zotlabs/Module/Connedit.php:641 msgid "This connection is ignored!" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:618 +#: ../../Zotlabs/Module/Connedit.php:645 msgid "Unarchive" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:618 +#: ../../Zotlabs/Module/Connedit.php:645 msgid "Archive" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:621 +#: ../../Zotlabs/Module/Connedit.php:648 msgid "" "Archive (or Unarchive) this connection - mark channel dead but keep content" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:622 +#: ../../Zotlabs/Module/Connedit.php:649 msgid "This connection is archived!" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:626 +#: ../../Zotlabs/Module/Connedit.php:653 msgid "Unhide" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:626 +#: ../../Zotlabs/Module/Connedit.php:653 msgid "Hide" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:629 +#: ../../Zotlabs/Module/Connedit.php:656 msgid "Hide or Unhide this connection from your other connections" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:630 +#: ../../Zotlabs/Module/Connedit.php:657 msgid "This connection is hidden!" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:637 +#: ../../Zotlabs/Module/Connedit.php:664 msgid "Delete this connection" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:648 +#: ../../Zotlabs/Module/Connedit.php:672 +msgid "Fetch Vcard" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:675 +msgid "Fetch electronic calling card for this connection" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:683 +#: ../../Zotlabs/Module/Filestorage.php:152 +#: ../../Zotlabs/Module/Photos.php:657 ../../Zotlabs/Module/Photos.php:1042 +#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363 +#: ../../Zotlabs/Module/Chat.php:232 ../../include/acl_selectors.php:218 +msgid "Permissions" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:686 msgid "Open Individual Permissions section by default" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:671 +#: ../../Zotlabs/Module/Connedit.php:709 msgid "Affinity" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:674 +#: ../../Zotlabs/Module/Connedit.php:712 msgid "Open Set Affinity section by default" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:678 ../../include/widgets.php:540 +#: ../../Zotlabs/Module/Connedit.php:716 ../../include/widgets.php:526 msgid "Me" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:679 ../../include/widgets.php:541 +#: ../../Zotlabs/Module/Connedit.php:717 ../../include/widgets.php:527 msgid "Family" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:680 -#: ../../Zotlabs/Module/Settings/Channel.php:61 -#: ../../Zotlabs/Module/Settings/Channel.php:65 +#: ../../Zotlabs/Module/Connedit.php:718 +#: ../../Zotlabs/Module/Settings/Channel.php:62 #: ../../Zotlabs/Module/Settings/Channel.php:66 -#: ../../Zotlabs/Module/Settings/Channel.php:69 -#: ../../Zotlabs/Module/Settings/Channel.php:80 -#: ../../include/selectors.php:123 ../../include/widgets.php:542 -#: ../../include/channel.php:408 ../../include/channel.php:409 -#: ../../include/channel.php:416 +#: ../../Zotlabs/Module/Settings/Channel.php:67 +#: ../../Zotlabs/Module/Settings/Channel.php:70 +#: ../../Zotlabs/Module/Settings/Channel.php:81 ../../include/widgets.php:528 +#: ../../include/selectors.php:123 ../../include/channel.php:408 +#: ../../include/channel.php:409 ../../include/channel.php:416 msgid "Friends" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:681 ../../include/widgets.php:543 +#: ../../Zotlabs/Module/Connedit.php:719 ../../include/widgets.php:529 msgid "Acquaintances" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:708 +#: ../../Zotlabs/Module/Connedit.php:746 msgid "Filter" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:711 +#: ../../Zotlabs/Module/Connedit.php:749 msgid "Open Custom Filter section by default" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:748 +#: ../../Zotlabs/Module/Connedit.php:786 msgid "Approve this connection" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:748 +#: ../../Zotlabs/Module/Connedit.php:786 msgid "Accept connection to allow communication" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:753 +#: ../../Zotlabs/Module/Connedit.php:791 msgid "Set Affinity" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:756 +#: ../../Zotlabs/Module/Connedit.php:794 msgid "Set Profile" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:759 +#: ../../Zotlabs/Module/Connedit.php:797 msgid "Set Affinity & Profile" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:817 +#: ../../Zotlabs/Module/Connedit.php:855 msgid "none" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:820 ../../include/widgets.php:675 +#: ../../Zotlabs/Module/Connedit.php:858 ../../include/widgets.php:661 msgid "Connection Default Permissions" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:820 ../../include/items.php:3932 +#: ../../Zotlabs/Module/Connedit.php:858 ../../include/items.php:3934 #, php-format msgid "Connection: %s" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:821 +#: ../../Zotlabs/Module/Connedit.php:859 msgid "Apply these permissions automatically" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:821 +#: ../../Zotlabs/Module/Connedit.php:859 msgid "Connection requests will be approved without your interaction" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:822 +#: ../../Zotlabs/Module/Connedit.php:860 msgid "Permission role" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:823 +#: ../../Zotlabs/Module/Connedit.php:861 msgid "Add permission role" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:829 +#: ../../Zotlabs/Module/Connedit.php:867 msgid "This connection's primary address is" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:830 +#: ../../Zotlabs/Module/Connedit.php:868 msgid "Available locations:" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:834 +#: ../../Zotlabs/Module/Connedit.php:872 msgid "" "The permissions indicated on this page will be applied to all new " "connections." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:835 +#: ../../Zotlabs/Module/Connedit.php:873 msgid "Connection Tools" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:837 +#: ../../Zotlabs/Module/Connedit.php:875 msgid "Slide to adjust your degree of friendship" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:838 ../../Zotlabs/Module/Rate.php:155 +#: ../../Zotlabs/Module/Connedit.php:876 ../../Zotlabs/Module/Rate.php:155 #: ../../include/js_strings.php:20 msgid "Rating" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:839 +#: ../../Zotlabs/Module/Connedit.php:877 msgid "Slide to adjust your rating" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:840 ../../Zotlabs/Module/Connedit.php:845 +#: ../../Zotlabs/Module/Connedit.php:878 ../../Zotlabs/Module/Connedit.php:883 msgid "Optionally explain your rating" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:842 +#: ../../Zotlabs/Module/Connedit.php:880 msgid "Custom Filter" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:843 +#: ../../Zotlabs/Module/Connedit.php:881 msgid "Only import posts with this text" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:843 ../../Zotlabs/Module/Connedit.php:844 +#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:882 msgid "" "words one per line or #tags or /patterns/ or lang=xx, leave blank to import " "all posts" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:844 +#: ../../Zotlabs/Module/Connedit.php:882 msgid "Do not import posts with this text" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:846 +#: ../../Zotlabs/Module/Connedit.php:884 msgid "This information is public!" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:851 +#: ../../Zotlabs/Module/Connedit.php:889 msgid "Connection Pending Approval" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:854 -#: ../../Zotlabs/Module/Settings/Tokens.php:163 +#: ../../Zotlabs/Module/Connedit.php:892 #: ../../Zotlabs/Module/Settings/Permcats.php:107 +#: ../../Zotlabs/Module/Settings/Tokens.php:163 msgid "inherited" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:856 +#: ../../Zotlabs/Module/Connedit.php:894 #, php-format msgid "" "Please choose the profile you would like to display to %s when viewing your " "profile securely." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:858 +#: ../../Zotlabs/Module/Connedit.php:896 #: ../../Zotlabs/Module/Settings/Tokens.php:160 msgid "Their Settings" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:859 -#: ../../Zotlabs/Module/Settings/Tokens.php:161 +#: ../../Zotlabs/Module/Connedit.php:897 #: ../../Zotlabs/Module/Settings/Permcats.php:105 +#: ../../Zotlabs/Module/Settings/Tokens.php:161 msgid "My Settings" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:861 -#: ../../Zotlabs/Module/Settings/Tokens.php:166 +#: ../../Zotlabs/Module/Connedit.php:899 #: ../../Zotlabs/Module/Settings/Permcats.php:110 +#: ../../Zotlabs/Module/Settings/Tokens.php:166 msgid "Individual Permissions" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:862 -#: ../../Zotlabs/Module/Settings/Tokens.php:167 +#: ../../Zotlabs/Module/Connedit.php:900 #: ../../Zotlabs/Module/Settings/Permcats.php:111 +#: ../../Zotlabs/Module/Settings/Tokens.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 <strong>not</strong> change those settings here." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:863 +#: ../../Zotlabs/Module/Connedit.php:901 msgid "" "Some permissions may be inherited from your channel's <a href=\"settings" "\"><strong>privacy settings</strong></a>, which have higher priority than " @@ -3507,1021 +3353,1131 @@ msgid "" "any impact unless the inherited setting changes." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:864 +#: ../../Zotlabs/Module/Connedit.php:902 msgid "Last update:" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:873 +#: ../../Zotlabs/Module/Connedit.php:911 msgid "Details" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:876 +#: ../../Zotlabs/Module/Connedit.php:914 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1137 msgid "Organisation" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:877 +#: ../../Zotlabs/Module/Connedit.php:915 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1138 #: ../../include/page_widgets.php:46 msgid "Title" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:878 +#: ../../Zotlabs/Module/Connedit.php:916 ../../Zotlabs/Module/Profiles.php:789 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1139 msgid "Phone" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:880 +#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:791 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1141 msgid "Instant messenger" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:881 +#: ../../Zotlabs/Module/Connedit.php:919 ../../Zotlabs/Module/Profiles.php:792 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1142 msgid "Website" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:883 +#: ../../Zotlabs/Module/Connedit.php:921 ../../Zotlabs/Module/Profiles.php:794 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1144 msgid "Note" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:884 +#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:795 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1145 #: ../../extend/addon/addon/cdav/cdav.php:270 -#: ../../include/connections.php:894 +#: ../../include/connections.php:668 msgid "Mobile" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:885 +#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Profiles.php:796 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1146 #: ../../extend/addon/addon/cdav/cdav.php:271 -#: ../../include/connections.php:895 +#: ../../include/connections.php:669 msgid "Home" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:886 +#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Profiles.php:797 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1147 #: ../../extend/addon/addon/cdav/cdav.php:274 -#: ../../include/connections.php:898 +#: ../../include/connections.php:672 msgid "Work" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:888 +#: ../../Zotlabs/Module/Connedit.php:926 ../../Zotlabs/Module/Profiles.php:799 #: ../../extend/addon/addon/jappixmini/jappixmini.php:368 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1149 msgid "Add Contact" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:889 +#: ../../Zotlabs/Module/Connedit.php:927 ../../Zotlabs/Module/Profiles.php:800 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1150 msgid "Add Field" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:894 +#: ../../Zotlabs/Module/Connedit.php:932 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1155 msgid "P.O. Box" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:895 +#: ../../Zotlabs/Module/Connedit.php:933 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1156 msgid "Additional" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:896 +#: ../../Zotlabs/Module/Connedit.php:934 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1157 msgid "Street" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:897 +#: ../../Zotlabs/Module/Connedit.php:935 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1158 msgid "Locality" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:898 +#: ../../Zotlabs/Module/Connedit.php:936 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1159 msgid "Region" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:899 +#: ../../Zotlabs/Module/Connedit.php:937 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1160 msgid "ZIP Code" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:900 ../../Zotlabs/Module/Profiles.php:756 +#: ../../Zotlabs/Module/Connedit.php:938 ../../Zotlabs/Module/Profiles.php:760 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1161 msgid "Country" msgstr "" -#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82 -#: ../../extend/addon/addon/opensearch/opensearch.php:42 -msgid "$Projectname" +#: ../../Zotlabs/Module/Events.php:25 +msgid "Calendar entries imported." msgstr "" -#: ../../Zotlabs/Module/Home.php:92 -#, php-format -msgid "Welcome to %s" +#: ../../Zotlabs/Module/Events.php:27 +msgid "No calendar entries found." msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:87 -msgid "Permission Denied." +#: ../../Zotlabs/Module/Events.php:110 +msgid "Event can not end before it has started." msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:103 -msgid "File not found." +#: ../../Zotlabs/Module/Events.php:112 ../../Zotlabs/Module/Events.php:121 +#: ../../Zotlabs/Module/Events.php:143 +msgid "Unable to generate preview." msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:146 -msgid "Edit file permissions" +#: ../../Zotlabs/Module/Events.php:119 +msgid "Event title and start time are required." msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:159 -msgid "Set/edit permissions" +#: ../../Zotlabs/Module/Events.php:141 ../../Zotlabs/Module/Events.php:265 +msgid "Event not found." msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:160 -msgid "Include all files and sub folders" +#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Like.php:372 +#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:1141 +#: ../../include/conversation.php:123 ../../include/text.php:1961 +msgid "event" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:161 -msgid "Return to file list" +#: ../../Zotlabs/Module/Events.php:460 +msgid "Edit event title" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:163 -msgid "Copy/paste this code to attach file to a post" +#: ../../Zotlabs/Module/Events.php:460 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:835 +msgid "Event title" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:164 -msgid "Copy/paste this URL to link file from a web page" +#: ../../Zotlabs/Module/Events.php:462 +msgid "Categories (comma-separated list)" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:166 -msgid "Share this file" +#: ../../Zotlabs/Module/Events.php:463 +msgid "Edit Category" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:167 -msgid "Show URL to this file" +#: ../../Zotlabs/Module/Events.php:463 +msgid "Category" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:168 -msgid "Notify your contacts about this file" +#: ../../Zotlabs/Module/Events.php:466 +msgid "Edit start date and time" msgstr "" -#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:229 -#: ../../include/conversation.php:1836 -msgid "Photos" +#: ../../Zotlabs/Module/Events.php:466 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:836 +msgid "Start date and time" msgstr "" -#: ../../Zotlabs/Module/Apps.php:45 ../../include/widgets.php:102 -#: ../../include/nav.php:178 -msgid "Apps" +#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:470 +msgid "Finish date and time are not known or not relevant" msgstr "" -#: ../../Zotlabs/Module/Cal.php:69 -msgid "Permissions denied." +#: ../../Zotlabs/Module/Events.php:469 +msgid "Edit finish date and time" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:469 +msgid "Finish date and time" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Events.php:472 +msgid "Adjust for viewer timezone" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:471 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "" + +#: ../../Zotlabs/Module/Events.php:473 +msgid "Edit Description" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:475 +msgid "Edit Location" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Photos.php:1094 +#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Lib/ThreadItem.php:740 +#: ../../include/page_widgets.php:43 ../../include/conversation.php:1347 +msgid "Preview" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1410 +msgid "Permission settings" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:489 +msgid "Timezone:" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:494 +msgid "Advanced Options" msgstr "" -#: ../../Zotlabs/Module/Cal.php:263 ../../Zotlabs/Module/Events.php:605 +#: ../../Zotlabs/Module/Events.php:605 ../../Zotlabs/Module/Cal.php:263 msgid "l, F j" msgstr "" -#: ../../Zotlabs/Module/Cal.php:312 ../../Zotlabs/Module/Events.php:660 -#: ../../include/text.php:1764 +#: ../../Zotlabs/Module/Events.php:633 +msgid "Edit event" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:635 +msgid "Delete event" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:660 ../../Zotlabs/Module/Cal.php:312 +#: ../../include/text.php:1766 msgid "Link to Source" msgstr "" -#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:688 +#: ../../Zotlabs/Module/Events.php:669 +msgid "calendar" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:335 msgid "Edit Event" msgstr "" -#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:688 +#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:335 msgid "Create Event" msgstr "" -#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:691 +#: ../../Zotlabs/Module/Events.php:689 ../../Zotlabs/Module/Events.php:698 +#: ../../Zotlabs/Module/Photos.php:935 ../../Zotlabs/Module/Cal.php:336 +#: ../../Zotlabs/Module/Cal.php:343 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:846 +msgid "Previous" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:690 ../../Zotlabs/Module/Events.php:699 +#: ../../Zotlabs/Module/Photos.php:944 ../../Zotlabs/Module/Cal.php:337 +#: ../../Zotlabs/Module/Cal.php:344 ../../Zotlabs/Module/Setup.php:264 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:847 +msgid "Next" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Cal.php:338 #: ../../include/channel.php:1370 msgid "Export" msgstr "" -#: ../../Zotlabs/Module/Cal.php:341 ../../include/text.php:2310 -msgid "Import" +#: ../../Zotlabs/Module/Events.php:695 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:849 +msgid "Month" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:696 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:850 +msgid "Week" msgstr "" -#: ../../Zotlabs/Module/Cal.php:345 ../../Zotlabs/Module/Events.php:700 +#: ../../Zotlabs/Module/Events.php:697 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:851 +msgid "Day" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:700 ../../Zotlabs/Module/Cal.php:345 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:848 msgid "Today" msgstr "" -#: ../../Zotlabs/Module/Group.php:24 -msgid "Privacy group created." +#: ../../Zotlabs/Module/Events.php:731 +msgid "Event removed" msgstr "" -#: ../../Zotlabs/Module/Group.php:30 -msgid "Could not create privacy group." +#: ../../Zotlabs/Module/Events.php:734 +msgid "Failed to remove event" msgstr "" -#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141 -#: ../../include/items.php:3899 -msgid "Privacy group not found." +#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82 +#: ../../extend/addon/addon/opensearch/opensearch.php:42 +msgid "$Projectname" msgstr "" -#: ../../Zotlabs/Module/Group.php:58 -msgid "Privacy group updated." +#: ../../Zotlabs/Module/Home.php:92 +#, php-format +msgid "Welcome to %s" msgstr "" -#: ../../Zotlabs/Module/Group.php:90 -msgid "Create a group of channels." +#: ../../Zotlabs/Module/Filestorage.php:87 +msgid "Permission Denied." msgstr "" -#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184 -msgid "Privacy group name: " +#: ../../Zotlabs/Module/Filestorage.php:103 +msgid "File not found." msgstr "" -#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187 -msgid "Members are visible to other channels" +#: ../../Zotlabs/Module/Filestorage.php:146 +msgid "Edit file permissions" msgstr "" -#: ../../Zotlabs/Module/Group.php:111 -msgid "Privacy group removed." +#: ../../Zotlabs/Module/Filestorage.php:159 +msgid "Set/edit permissions" msgstr "" -#: ../../Zotlabs/Module/Group.php:113 -msgid "Unable to remove privacy group." +#: ../../Zotlabs/Module/Filestorage.php:160 +msgid "Include all files and sub folders" msgstr "" -#: ../../Zotlabs/Module/Group.php:183 -msgid "Privacy group editor" +#: ../../Zotlabs/Module/Filestorage.php:161 +msgid "Return to file list" msgstr "" -#: ../../Zotlabs/Module/Group.php:199 -msgid "All Connected Channels" +#: ../../Zotlabs/Module/Filestorage.php:163 +msgid "Copy/paste this code to attach file to a post" msgstr "" -#: ../../Zotlabs/Module/Group.php:231 -msgid "Click on a channel to add or remove." +#: ../../Zotlabs/Module/Filestorage.php:164 +msgid "Copy/paste this URL to link file from a web page" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:45 -msgid "Invalid message" +#: ../../Zotlabs/Module/Filestorage.php:166 +msgid "Share this file" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:78 -msgid "no results" +#: ../../Zotlabs/Module/Filestorage.php:167 +msgid "Show URL to this file" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:93 -msgid "channel sync processed" +#: ../../Zotlabs/Module/Filestorage.php:168 +msgid "Notify your contacts about this file" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:97 -msgid "queued" +#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:229 +#: ../../include/conversation.php:1836 +msgid "Photos" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:101 -msgid "posted" +#: ../../Zotlabs/Module/Photos.php:82 +msgid "Page owner information could not be retrieved." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:105 -msgid "accepted for delivery" +#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:729 +#: ../../Zotlabs/Module/Profile_photo.php:115 +#: ../../Zotlabs/Module/Profile_photo.php:224 +#: ../../include/photo/photo_driver.php:730 +msgid "Profile Photos" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:109 -msgid "updated" +#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129 +msgid "Album not found." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:112 -msgid "update ignored" +#: ../../Zotlabs/Module/Photos.php:112 +msgid "Delete Album" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:115 -msgid "permission denied" +#: ../../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/Dreport.php:119 -msgid "recipient not found" +#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1054 +msgid "Delete Photo" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:122 -msgid "mail recalled" +#: ../../Zotlabs/Module/Photos.php:508 ../../Zotlabs/Module/Display.php:22 +#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17 +#: ../../Zotlabs/Module/Directory.php:64 +#: ../../Zotlabs/Module/Viewconnections.php:23 +#: ../../extend/addon/addon/friendica/dfrn_request.php:794 +msgid "Public access denied." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:125 -msgid "duplicate mail received" +#: ../../Zotlabs/Module/Photos.php:519 +msgid "No photos selected" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:128 -msgid "mail delivered" +#: ../../Zotlabs/Module/Photos.php:568 +msgid "Access to this item is restricted." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:148 +#: ../../Zotlabs/Module/Photos.php:607 #, php-format -msgid "Delivery report for %1$s" +msgid "%1$.2f MB of %2$.2f MB photo storage used." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:151 -msgid "Options" +#: ../../Zotlabs/Module/Photos.php:610 +#, php-format +msgid "%1$.2f MB photo storage used." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:152 -msgid "Redeliver" +#: ../../Zotlabs/Module/Photos.php:646 +msgid "Upload Photos" msgstr "" -#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:203 -msgid "webpage" +#: ../../Zotlabs/Module/Photos.php:650 +msgid "Enter an album name" msgstr "" -#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:209 -msgid "block" +#: ../../Zotlabs/Module/Photos.php:651 +msgid "or select an existing album (doubleclick)" msgstr "" -#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:206 -msgid "layout" +#: ../../Zotlabs/Module/Photos.php:652 +msgid "Create a status post for this upload" msgstr "" -#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:212 -msgid "menu" +#: ../../Zotlabs/Module/Photos.php:653 +msgid "Caption (optional):" msgstr "" -#: ../../Zotlabs/Module/Impel.php:191 -#, php-format -msgid "%s element installed" +#: ../../Zotlabs/Module/Photos.php:654 +msgid "Description (optional):" msgstr "" -#: ../../Zotlabs/Module/Impel.php:194 -#, php-format -msgid "%s element installation failed" +#: ../../Zotlabs/Module/Photos.php:685 +msgid "Album name could not be decoded" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:42 ../../Zotlabs/Module/Import.php:57 -msgid "Nothing to import." +#: ../../Zotlabs/Module/Photos.php:729 +msgid "Contact Photos" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:66 ../../Zotlabs/Module/Import.php:69 -#: ../../Zotlabs/Module/Import.php:84 -msgid "Unable to download data from old server" +#: ../../Zotlabs/Module/Photos.php:752 +msgid "Show Newest First" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:91 -msgid "Imported file is empty." +#: ../../Zotlabs/Module/Photos.php:754 +msgid "Show Oldest First" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:88 -#: ../../Zotlabs/Module/Import.php:111 -#, php-format -msgid "Warning: Database versions differ by %1$d updates." +#: ../../Zotlabs/Module/Photos.php:778 ../../Zotlabs/Module/Photos.php:1335 +#: ../../Zotlabs/Module/Embedphotos.php:139 ../../include/widgets.php:1751 +msgid "View Photo" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:104 -msgid "Import completed" +#: ../../Zotlabs/Module/Photos.php:809 +#: ../../Zotlabs/Module/Embedphotos.php:155 ../../include/widgets.php:1768 +msgid "Edit Album" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:119 -msgid "Import Items" +#: ../../Zotlabs/Module/Photos.php:856 +msgid "Permission denied. Access to this item may be restricted." msgstr "" -#: ../../Zotlabs/Module/Import_items.php:120 -msgid "Use this form to import existing posts and content from an export file." +#: ../../Zotlabs/Module/Photos.php:858 +msgid "Photo not available" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:121 -#: ../../Zotlabs/Module/Import.php:495 -msgid "File to Upload" +#: ../../Zotlabs/Module/Photos.php:916 +msgid "Use as profile photo" msgstr "" -#: ../../Zotlabs/Module/Manage.php:136 -#: ../../Zotlabs/Module/New_channel.php:121 -#, php-format -msgid "You have created %1$.0f of %2$.0f allowed channels." +#: ../../Zotlabs/Module/Photos.php:917 +msgid "Use as cover photo" msgstr "" -#: ../../Zotlabs/Module/Manage.php:143 -msgid "Create a new channel" +#: ../../Zotlabs/Module/Photos.php:924 +msgid "Private Photo" msgstr "" -#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:813 -#: ../../Zotlabs/Module/Wiki.php:166 ../../Zotlabs/Module/Chat.php:255 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:152 -msgid "Create New" +#: ../../Zotlabs/Module/Photos.php:939 +msgid "View Full Size" msgstr "" -#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:221 -#: ../../include/nav.php:223 -msgid "Channel Manager" +#: ../../Zotlabs/Module/Photos.php:1028 +msgid "Edit photo" msgstr "" -#: ../../Zotlabs/Module/Manage.php:165 -msgid "Current Channel" +#: ../../Zotlabs/Module/Photos.php:1030 +msgid "Rotate CW (right)" msgstr "" -#: ../../Zotlabs/Module/Manage.php:167 -msgid "Switch to one of your channels by selecting it." +#: ../../Zotlabs/Module/Photos.php:1031 +msgid "Rotate CCW (left)" msgstr "" -#: ../../Zotlabs/Module/Manage.php:168 -msgid "Default Channel" +#: ../../Zotlabs/Module/Photos.php:1034 +msgid "Move photo to album" msgstr "" -#: ../../Zotlabs/Module/Manage.php:169 -msgid "Make Default" +#: ../../Zotlabs/Module/Photos.php:1035 +msgid "Enter a new album name" msgstr "" -#: ../../Zotlabs/Module/Manage.php:172 -#, php-format -msgid "%d new messages" +#: ../../Zotlabs/Module/Photos.php:1036 +msgid "or select an existing one (doubleclick)" msgstr "" -#: ../../Zotlabs/Module/Manage.php:173 -#, php-format -msgid "%d new introductions" +#: ../../Zotlabs/Module/Photos.php:1039 +msgid "Caption" msgstr "" -#: ../../Zotlabs/Module/Manage.php:175 -msgid "Delegated Channel" +#: ../../Zotlabs/Module/Photos.php:1041 +msgid "Add a Tag" msgstr "" -#: ../../Zotlabs/Module/Import.php:134 -#, php-format -msgid "Your service plan only allows %d channels." +#: ../../Zotlabs/Module/Photos.php:1049 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" msgstr "" -#: ../../Zotlabs/Module/Import.php:149 -msgid "No channel. Import failed." +#: ../../Zotlabs/Module/Photos.php:1052 +msgid "Flag as adult in album view" msgstr "" -#: ../../Zotlabs/Module/Import.php:467 -#: ../../extend/addon/addon/diaspora/import_diaspora.php:142 -msgid "Import completed." +#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:268 +msgid "I like this (toggle)" msgstr "" -#: ../../Zotlabs/Module/Import.php:488 -msgid "You must be logged in to use this feature." +#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Lib/ThreadItem.php:269 +msgid "I don't like this (toggle)" msgstr "" -#: ../../Zotlabs/Module/Import.php:493 -msgid "Import Channel" +#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Module/Webpages.php:245 +#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Layouts.php:193 +#: ../../extend/addon/addon/cdav/include/widgets.php:123 +#: ../../include/conversation.php:1378 +msgid "Share" msgstr "" -#: ../../Zotlabs/Module/Import.php:494 -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/Photos.php:1074 ../../Zotlabs/Lib/ThreadItem.php:411 +#: ../../include/conversation.php:738 +msgid "Please wait" msgstr "" -#: ../../Zotlabs/Module/Import.php:496 -msgid "Or provide the old server/hub details" +#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208 +#: ../../Zotlabs/Lib/ThreadItem.php:728 +msgid "This is you" msgstr "" -#: ../../Zotlabs/Module/Import.php:497 -msgid "Your old identity address (xyz@example.com)" +#: ../../Zotlabs/Module/Photos.php:1092 ../../Zotlabs/Module/Photos.php:1210 +#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/js_strings.php:6 +msgid "Comment" msgstr "" -#: ../../Zotlabs/Module/Import.php:498 -msgid "Your old login email address" +#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 +msgctxt "title" +msgid "Likes" msgstr "" -#: ../../Zotlabs/Module/Import.php:499 -msgid "Your old login password" +#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 +msgctxt "title" +msgid "Dislikes" msgstr "" -#: ../../Zotlabs/Module/Import.php:500 -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/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Agree" msgstr "" -#: ../../Zotlabs/Module/Import.php:501 -msgid "Make this hub my primary location" +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Disagree" msgstr "" -#: ../../Zotlabs/Module/Import.php:502 -msgid "Move this channel (disable all previous locations)" +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Abstain" msgstr "" -#: ../../Zotlabs/Module/Import.php:503 -msgid "Import a few months of posts if possible (limited by available memory" +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Attending" msgstr "" -#: ../../Zotlabs/Module/Import.php:504 -msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Not attending" msgstr "" -#: ../../Zotlabs/Module/Lockview.php:75 -msgid "Remote privacy information not available." +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Might attend" msgstr "" -#: ../../Zotlabs/Module/Lockview.php:96 -msgid "Visible to:" +#: ../../Zotlabs/Module/Photos.php:1127 ../../Zotlabs/Module/Photos.php:1139 +#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198 +#: ../../include/conversation.php:1928 +msgid "View all" msgstr "" -#: ../../Zotlabs/Module/Magic.php:71 -msgid "Hub not found." +#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Lib/ThreadItem.php:190 +#: ../../include/taxonomy.php:403 ../../include/conversation.php:1952 +#: ../../include/channel.php:1273 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:195 +#: ../../include/conversation.php:1955 +msgctxt "noun" +msgid "Dislike" +msgid_plural "Dislikes" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Photos.php:1236 +msgid "Photo Tools" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:52 -msgid "Unable to create element." +#: ../../Zotlabs/Module/Photos.php:1245 +msgid "In This Photo:" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:76 -msgid "Unable to update menu element." +#: ../../Zotlabs/Module/Photos.php:1250 +msgid "Map" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:92 -msgid "Unable to add menu element." +#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:400 +msgctxt "noun" +msgid "Likes" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230 -msgid "Menu Item Permissions" +#: ../../Zotlabs/Module/Photos.php:1259 ../../Zotlabs/Lib/ThreadItem.php:401 +msgctxt "noun" +msgid "Dislikes" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231 -#: ../../Zotlabs/Module/Settings/Channel.php:494 -msgid "(click to open/close)" +#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:406 +#: ../../include/acl_selectors.php:220 +msgid "Close" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176 -msgid "Link Name" +#: ../../Zotlabs/Module/Photos.php:1341 +msgid "View Album" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239 -msgid "Link or Submenu Target" +#: ../../Zotlabs/Module/Photos.php:1352 ../../Zotlabs/Module/Photos.php:1365 +#: ../../Zotlabs/Module/Photos.php:1366 +msgid "Recent Photos" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:161 -msgid "Enter URL of the link or select a menu name to create a submenu" +#: ../../Zotlabs/Module/Group.php:24 +msgid "Privacy group created." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240 -msgid "Use magic-auth if available" +#: ../../Zotlabs/Module/Group.php:30 +msgid "Could not create privacy group." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241 -msgid "Open link in new window" +#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141 +#: ../../include/items.php:3901 +msgid "Privacy group not found." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242 -msgid "Order in list" +#: ../../Zotlabs/Module/Group.php:58 +msgid "Privacy group updated." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242 -msgid "Higher numbers will sink to bottom of listing" +#: ../../Zotlabs/Module/Group.php:90 +msgid "Create a group of channels." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:165 -msgid "Submit and finish" +#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184 +msgid "Privacy group name: " msgstr "" -#: ../../Zotlabs/Module/Mitem.php:166 -msgid "Submit and continue" +#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187 +msgid "Members are visible to other channels" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:174 -msgid "Menu:" +#: ../../Zotlabs/Module/Group.php:111 +msgid "Privacy group removed." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:177 -msgid "Link Target" +#: ../../Zotlabs/Module/Group.php:113 +msgid "Unable to remove privacy group." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:180 -msgid "Edit menu" +#: ../../Zotlabs/Module/Group.php:183 +msgid "Privacy group editor" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:183 -msgid "Edit element" +#: ../../Zotlabs/Module/Group.php:199 +msgid "All Connected Channels" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:184 -msgid "Drop element" +#: ../../Zotlabs/Module/Group.php:231 +msgid "Click on a channel to add or remove." msgstr "" -#: ../../Zotlabs/Module/Mitem.php:185 -msgid "New element" +#: ../../Zotlabs/Module/Dreport.php:45 +msgid "Invalid message" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:186 -msgid "Edit this menu container" +#: ../../Zotlabs/Module/Dreport.php:78 +msgid "no results" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:187 -msgid "Add menu element" +#: ../../Zotlabs/Module/Dreport.php:93 +msgid "channel sync processed" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:188 -msgid "Delete this menu item" +#: ../../Zotlabs/Module/Dreport.php:97 +msgid "queued" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:189 -msgid "Edit this menu item" +#: ../../Zotlabs/Module/Dreport.php:101 +msgid "posted" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:206 -msgid "Menu item not found." +#: ../../Zotlabs/Module/Dreport.php:105 +msgid "accepted for delivery" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:219 -msgid "Menu item deleted." +#: ../../Zotlabs/Module/Dreport.php:109 +msgid "updated" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:221 -msgid "Menu item could not be deleted." +#: ../../Zotlabs/Module/Dreport.php:112 +msgid "update ignored" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:228 -msgid "Edit Menu Element" +#: ../../Zotlabs/Module/Dreport.php:115 +msgid "permission denied" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:238 -msgid "Link text" +#: ../../Zotlabs/Module/Dreport.php:119 +msgid "recipient not found" msgstr "" -#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:54 -msgid "App installed." +#: ../../Zotlabs/Module/Dreport.php:122 +msgid "mail recalled" msgstr "" -#: ../../Zotlabs/Module/Appman.php:47 -msgid "Malformed app." +#: ../../Zotlabs/Module/Dreport.php:125 +msgid "duplicate mail received" msgstr "" -#: ../../Zotlabs/Module/Appman.php:110 -msgid "Embed code" +#: ../../Zotlabs/Module/Dreport.php:128 +msgid "mail delivered" msgstr "" -#: ../../Zotlabs/Module/Appman.php:116 -msgid "Edit App" +#: ../../Zotlabs/Module/Dreport.php:148 +#, php-format +msgid "Delivery report for %1$s" msgstr "" -#: ../../Zotlabs/Module/Appman.php:116 -msgid "Create App" +#: ../../Zotlabs/Module/Dreport.php:151 +msgid "Options" msgstr "" -#: ../../Zotlabs/Module/Appman.php:121 -msgid "Name of app" +#: ../../Zotlabs/Module/Dreport.php:152 +msgid "Redeliver" msgstr "" -#: ../../Zotlabs/Module/Appman.php:121 ../../Zotlabs/Module/Appman.php:122 -#: ../../Zotlabs/Module/Profiles.php:744 ../../Zotlabs/Module/Profiles.php:748 -#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465 -#: ../../include/datetime.php:259 -msgid "Required" +#: ../../Zotlabs/Module/Mail.php:65 +msgid "Unable to lookup recipient." msgstr "" -#: ../../Zotlabs/Module/Appman.php:122 -msgid "Location (URL) of app" +#: ../../Zotlabs/Module/Mail.php:72 +msgid "Unable to communicate with requested channel." msgstr "" -#: ../../Zotlabs/Module/Appman.php:123 ../../Zotlabs/Module/Events.php:473 -#: ../../Zotlabs/Module/Rbmark.php:101 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:838 -#: ../../extend/addon/addon/rendezvous/rendezvous.php:173 -msgid "Description" +#: ../../Zotlabs/Module/Mail.php:79 +msgid "Cannot verify requested channel." msgstr "" -#: ../../Zotlabs/Module/Appman.php:124 -msgid "Photo icon URL" +#: ../../Zotlabs/Module/Mail.php:97 +msgid "Selected channel has private message restrictions. Send failed." msgstr "" -#: ../../Zotlabs/Module/Appman.php:124 -msgid "80 x 80 pixels - optional" +#: ../../Zotlabs/Module/Mail.php:178 +msgid "Messages" msgstr "" -#: ../../Zotlabs/Module/Appman.php:125 -msgid "Categories (optional, comma separated list)" +#: ../../Zotlabs/Module/Mail.php:213 +msgid "Message recalled." msgstr "" -#: ../../Zotlabs/Module/Appman.php:126 -msgid "Version ID" +#: ../../Zotlabs/Module/Mail.php:226 +msgid "Conversation removed." msgstr "" -#: ../../Zotlabs/Module/Appman.php:127 -msgid "Price of app" +#: ../../Zotlabs/Module/Mail.php:240 ../../Zotlabs/Module/Mail.php:349 +#: ../../Zotlabs/Module/Chat.php:203 ../../include/conversation.php:1330 +msgid "Please enter a link URL:" msgstr "" -#: ../../Zotlabs/Module/Appman.php:128 -msgid "Location (URL) to purchase app" +#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Mail.php:350 +msgid "Expires YYYY-MM-DD HH:MM" msgstr "" -#: ../../Zotlabs/Module/Ratings.php:70 -msgid "No ratings" +#: ../../Zotlabs/Module/Mail.php:269 +msgid "Requested channel is not in this network" msgstr "" -#: ../../Zotlabs/Module/Ratings.php:98 -msgid "Rating: " +#: ../../Zotlabs/Module/Mail.php:277 +msgid "Send Private Message" msgstr "" -#: ../../Zotlabs/Module/Ratings.php:99 -msgid "Website: " +#: ../../Zotlabs/Module/Mail.php:278 ../../Zotlabs/Module/Mail.php:403 +msgid "To:" msgstr "" -#: ../../Zotlabs/Module/Ratings.php:101 -msgid "Description: " +#: ../../Zotlabs/Module/Mail.php:281 ../../Zotlabs/Module/Mail.php:405 +msgid "Subject:" msgstr "" -#: ../../Zotlabs/Module/Attach.php:13 -msgid "Item not available." +#: ../../Zotlabs/Module/Mail.php:284 ../../Zotlabs/Module/Invite.php:138 +msgid "Your message:" msgstr "" -#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260 -#, php-format -msgctxt "mood" -msgid "%1$s is %2$s" +#: ../../Zotlabs/Module/Mail.php:286 ../../Zotlabs/Module/Mail.php:411 +#: ../../include/conversation.php:1390 +msgid "Attach file" msgstr "" -#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:234 -msgid "Mood" +#: ../../Zotlabs/Module/Mail.php:288 +msgid "Send" msgstr "" -#: ../../Zotlabs/Module/Mood.php:136 -msgid "Set your current mood and tell your friends" +#: ../../Zotlabs/Module/Mail.php:291 ../../Zotlabs/Module/Mail.php:416 +#: ../../include/conversation.php:1435 +msgid "Set expiration date" msgstr "" -#: ../../Zotlabs/Module/Notify.php:57 -#: ../../Zotlabs/Module/Notifications.php:38 -msgid "No more system notifications." +#: ../../Zotlabs/Module/Mail.php:293 ../../Zotlabs/Module/Mail.php:418 +#: ../../Zotlabs/Module/Chat.php:204 ../../Zotlabs/Lib/ThreadItem.php:743 +#: ../../include/conversation.php:1440 +msgid "Encrypt text" msgstr "" -#: ../../Zotlabs/Module/Notify.php:61 -#: ../../Zotlabs/Module/Notifications.php:42 -msgid "System Notifications" +#: ../../Zotlabs/Module/Mail.php:375 +msgid "Delete message" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:184 -#: ../../Zotlabs/Module/Profiles.php:241 ../../Zotlabs/Module/Profiles.php:660 -#: ../../extend/addon/addon/friendica/dfrn_confirm.php:62 -msgid "Profile not found." +#: ../../Zotlabs/Module/Mail.php:376 +msgid "Delivery report" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:44 -msgid "Profile deleted." +#: ../../Zotlabs/Module/Mail.php:377 +msgid "Recall message" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:105 -msgid "Profile-" +#: ../../Zotlabs/Module/Mail.php:379 +msgid "Message has been recalled." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:90 ../../Zotlabs/Module/Profiles.php:127 -msgid "New profile created." +#: ../../Zotlabs/Module/Mail.php:396 +msgid "Delete Conversation" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:111 -msgid "Profile unavailable to clone." +#: ../../Zotlabs/Module/Mail.php:398 +msgid "" +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:146 -msgid "Profile unavailable to export." +#: ../../Zotlabs/Module/Mail.php:402 +msgid "Send Reply" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:252 -msgid "Profile Name is required." +#: ../../Zotlabs/Module/Mail.php:407 +#, php-format +msgid "Your message for %s (%s):" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:460 -msgid "Marital Status" +#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:203 +msgid "webpage" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:464 -msgid "Romantic Partner" +#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:209 +msgid "block" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:468 ../../Zotlabs/Module/Profiles.php:771 -msgid "Likes" +#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:206 +msgid "layout" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:472 ../../Zotlabs/Module/Profiles.php:772 -msgid "Dislikes" +#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:212 +msgid "menu" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:476 ../../Zotlabs/Module/Profiles.php:779 -msgid "Work/Employment" +#: ../../Zotlabs/Module/Impel.php:191 +#, php-format +msgid "%s element installed" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:479 -msgid "Religion" +#: ../../Zotlabs/Module/Impel.php:194 +#, php-format +msgid "%s element installation failed" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:483 -msgid "Political Views" +#: ../../Zotlabs/Module/Import_items.php:104 +msgid "Import completed" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:487 -#: ../../extend/addon/addon/openid/MysqlProvider.php:74 -msgid "Gender" +#: ../../Zotlabs/Module/Import_items.php:119 +msgid "Import Items" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:491 -msgid "Sexual Preference" +#: ../../Zotlabs/Module/Import_items.php:120 +msgid "Use this form to import existing posts and content from an export file." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:495 -msgid "Homepage" +#: ../../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/Profiles.php:499 -msgid "Interests" +#: ../../Zotlabs/Module/Manage.php:143 +msgid "Create a new channel" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:595 -msgid "Profile updated." +#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:834 +#: ../../Zotlabs/Module/Wiki.php:167 ../../Zotlabs/Module/Chat.php:253 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:152 +msgid "Create New" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:679 -msgid "Hide your connections list from viewers of this profile" +#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:221 +#: ../../include/nav.php:223 +msgid "Channel Manager" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:721 -msgid "Edit Profile Details" +#: ../../Zotlabs/Module/Manage.php:165 +msgid "Current Channel" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:723 -msgid "View this profile" +#: ../../Zotlabs/Module/Manage.php:167 +msgid "Switch to one of your channels by selecting it." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:724 ../../Zotlabs/Module/Profiles.php:806 -#: ../../include/channel.php:1066 -msgid "Edit visibility" +#: ../../Zotlabs/Module/Manage.php:168 +msgid "Default Channel" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:725 -msgid "Profile Tools" +#: ../../Zotlabs/Module/Manage.php:169 +msgid "Make Default" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:726 -msgid "Change cover photo" +#: ../../Zotlabs/Module/Manage.php:172 +#, php-format +msgid "%d new messages" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:727 ../../include/channel.php:1037 -msgid "Change profile photo" +#: ../../Zotlabs/Module/Manage.php:173 +#, php-format +msgid "%d new introductions" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:728 -msgid "Create a new profile using these settings" +#: ../../Zotlabs/Module/Manage.php:175 +msgid "Delegated Channel" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:729 -msgid "Clone this profile" +#: ../../Zotlabs/Module/Magic.php:71 +msgid "Hub not found." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:730 -msgid "Delete this profile" +#: ../../Zotlabs/Module/Mitem.php:52 +msgid "Unable to create element." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:731 -msgid "Add profile things" +#: ../../Zotlabs/Module/Mitem.php:76 +msgid "Unable to update menu element." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:732 ../../include/conversation.php:1715 -#: ../../include/widgets.php:105 -msgid "Personal" +#: ../../Zotlabs/Module/Mitem.php:92 +msgid "Unable to add menu element." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:734 -msgid "Relation" +#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230 +msgid "Menu Item Permissions" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:735 ../../include/datetime.php:55 -msgid "Miscellaneous" +#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231 +#: ../../Zotlabs/Module/Settings/Channel.php:510 +msgid "(click to open/close)" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:737 -msgid "Import profile from file" +#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176 +msgid "Link Name" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:738 -msgid "Export profile to file" +#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239 +msgid "Link or Submenu Target" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:739 -msgid "Your gender" +#: ../../Zotlabs/Module/Mitem.php:161 +msgid "Enter URL of the link or select a menu name to create a submenu" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:740 -msgid "Marital status" +#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240 +msgid "Use magic-auth if available" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:741 -msgid "Sexual preference" +#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241 +msgid "Open link in new window" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:744 -msgid "Profile name" +#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242 +msgid "Order in list" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:746 -msgid "This is your default profile." +#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242 +msgid "Higher numbers will sink to bottom of listing" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:748 -msgid "Your full name" +#: ../../Zotlabs/Module/Mitem.php:165 +msgid "Submit and finish" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:749 -msgid "Title/Description" +#: ../../Zotlabs/Module/Mitem.php:166 +msgid "Submit and continue" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:752 -msgid "Street address" +#: ../../Zotlabs/Module/Mitem.php:174 +msgid "Menu:" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:753 -msgid "Locality/City" +#: ../../Zotlabs/Module/Mitem.php:177 +msgid "Link Target" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:754 -msgid "Region/State" +#: ../../Zotlabs/Module/Mitem.php:180 +msgid "Edit menu" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:755 -msgid "Postal/Zip code" +#: ../../Zotlabs/Module/Mitem.php:183 +msgid "Edit element" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:761 -msgid "Who (if applicable)" +#: ../../Zotlabs/Module/Mitem.php:184 +msgid "Drop element" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:761 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +#: ../../Zotlabs/Module/Mitem.php:185 +msgid "New element" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:762 -msgid "Since (date)" +#: ../../Zotlabs/Module/Mitem.php:186 +msgid "Edit this menu container" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:765 -msgid "Tell us about yourself" +#: ../../Zotlabs/Module/Mitem.php:187 +msgid "Add menu element" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:766 -#: ../../extend/addon/addon/openid/MysqlProvider.php:68 -msgid "Homepage URL" +#: ../../Zotlabs/Module/Mitem.php:188 +msgid "Delete this menu item" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:767 -msgid "Hometown" +#: ../../Zotlabs/Module/Mitem.php:189 +msgid "Edit this menu item" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:768 -msgid "Political views" +#: ../../Zotlabs/Module/Mitem.php:206 +msgid "Menu item not found." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:769 -msgid "Religious views" +#: ../../Zotlabs/Module/Mitem.php:219 +msgid "Menu item deleted." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:770 -msgid "Keywords used in directory listings" +#: ../../Zotlabs/Module/Mitem.php:221 +msgid "Menu item could not be deleted." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:770 -msgid "Example: fishing photography software" +#: ../../Zotlabs/Module/Mitem.php:228 +msgid "Edit Menu Element" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:773 -msgid "Musical interests" +#: ../../Zotlabs/Module/Mitem.php:238 +msgid "Link text" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:774 -msgid "Books, literature" +#: ../../Zotlabs/Module/Editpost.php:35 +msgid "Item is not editable" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:775 -msgid "Television" +#: ../../Zotlabs/Module/Ratings.php:70 +msgid "No ratings" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:776 -msgid "Film/Dance/Culture/Entertainment" +#: ../../Zotlabs/Module/Ratings.php:98 +msgid "Rating: " msgstr "" -#: ../../Zotlabs/Module/Profiles.php:777 -msgid "Hobbies/Interests" +#: ../../Zotlabs/Module/Ratings.php:99 +msgid "Website: " msgstr "" -#: ../../Zotlabs/Module/Profiles.php:778 -msgid "Love/Romance" +#: ../../Zotlabs/Module/Ratings.php:101 +msgid "Description: " msgstr "" -#: ../../Zotlabs/Module/Profiles.php:780 -msgid "School/Education" +#: ../../Zotlabs/Module/Attach.php:13 +msgid "Item not available." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:781 -msgid "Contact information and social networks" +#: ../../Zotlabs/Module/Cal.php:69 +msgid "Permissions denied." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:782 -msgid "My other channels" +#: ../../Zotlabs/Module/Cal.php:341 ../../include/text.php:2312 +msgid "Import" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:802 ../../include/channel.php:1062 -msgid "Profile Image" +#: ../../Zotlabs/Module/Notify.php:57 +#: ../../Zotlabs/Module/Notifications.php:38 +msgid "No more system notifications." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:812 ../../include/channel.php:1044 -#: ../../include/nav.php:105 -msgid "Edit Profiles" +#: ../../Zotlabs/Module/Notify.php:61 +#: ../../Zotlabs/Module/Notifications.php:42 +msgid "System Notifications" msgstr "" #: ../../Zotlabs/Module/Api.php:72 ../../Zotlabs/Module/Api.php:93 @@ -4583,10 +4539,6 @@ msgstr "" msgid "Enter email addresses, one per line:" msgstr "" -#: ../../Zotlabs/Module/Invite.php:138 ../../Zotlabs/Module/Mail.php:284 -msgid "Your message:" -msgstr "" - #: ../../Zotlabs/Module/Invite.php:139 msgid "Please join my community on $Projectname." msgstr "" @@ -4619,7 +4571,7 @@ msgstr "" msgid "Site Name" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:25 ../../include/network.php:1972 +#: ../../Zotlabs/Module/Siteinfo.php:25 ../../include/network.php:1995 msgid "Administrator" msgstr "" @@ -4665,437 +4617,57 @@ msgid "" "or <a href=\"import\">import an existing channel</a> from another location." msgstr "" -#: ../../Zotlabs/Module/Setup.php:176 -msgid "$Projectname Server - Setup" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:180 -msgid "Could not connect to database." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:184 -msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:191 -msgid "Could not create table." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:196 -msgid "Your site database has been installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:200 -msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:201 ../../Zotlabs/Module/Setup.php:263 -#: ../../Zotlabs/Module/Setup.php:750 -msgid "Please see the file \"install/INSTALL.txt\"." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:260 -msgid "System check" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:265 -msgid "Check again" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:287 -msgid "Database connection" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:288 -msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:289 -msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:290 -msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:294 -msgid "Database Server Name" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:294 -msgid "Default is 127.0.0.1" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:295 -msgid "Database Port" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:295 -msgid "Communication port number - use 0 for default" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:296 -msgid "Database Login Name" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:297 -msgid "Database Login Password" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:298 -msgid "Database Name" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:299 -msgid "Database Type" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347 -msgid "Site administrator email address" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347 -msgid "" -"Your account email address must match this in order to use the web admin " -"panel." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349 -msgid "Website URL" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349 -msgid "Please use SSL (https) URL if available." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:303 ../../Zotlabs/Module/Setup.php:353 -msgid "Please select a default timezone for your website" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:336 -msgid "Site settings" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:392 -msgid "PHP version 5.5 or greater is required." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:393 -msgid "PHP version" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:409 -msgid "Could not find a command line version of PHP in the web server PATH." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:410 -msgid "" -"If you don't have a command line version of PHP installed on server, you " -"will not be able to run background polling via cron." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:414 -msgid "PHP executable path" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:414 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:419 -msgid "Command line PHP" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:429 -msgid "" -"Unable to check command line PHP, as shell_exec() is disabled. This is " -"required." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:432 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:433 -msgid "This is required for message delivery to work." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:436 -msgid "PHP register_argc_argv" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:454 -#, php-format -msgid "" -"Your max allowed total upload size is set to %s. Maximum size of one file to " -"upload is set to %s. You are allowed to upload up to %d files at once." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:459 -msgid "You can adjust these settings in the server php.ini file." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:461 -msgid "PHP upload limits" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:484 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:485 -msgid "" -"If running under Windows, please see \"http://www.php.net/manual/en/openssl." -"installation.php\"." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:488 -msgid "Generate encryption keys" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:505 -msgid "libCurl PHP module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:506 -msgid "GD graphics PHP module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:507 -msgid "OpenSSL PHP module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:508 -msgid "PDO database PHP module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:509 -msgid "mb_string PHP module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:510 -msgid "xml PHP module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:516 -msgid "Apache mod_rewrite module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:514 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 -msgid "exec" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:520 -msgid "" -"Error: exec is required but is either not installed or has been disabled in " -"php.ini" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:526 ../../Zotlabs/Module/Setup.php:529 -msgid "shell_exec" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:526 -msgid "" -"Error: shell_exec is required but is either not installed or has been " -"disabled in php.ini" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:534 -msgid "Error: libCURL PHP module required but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:538 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:542 -msgid "Error: openssl PHP module required but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:546 -msgid "Error: PDO database PHP module required but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:550 -msgid "Error: mb_string PHP module required but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:554 -msgid "Error: xml PHP module required for DAV but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:572 -msgid "" -"The web installer needs to be able to create a file called \".htconfig.php\" " -"in the top folder of your web server and it is unable to do so." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:573 -msgid "" -"This is most often a permission setting, as the web server may not be able " -"to write files in your folder - even if you can." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:574 -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 "" - -#: ../../Zotlabs/Module/Setup.php:575 -msgid "" -"You can alternatively skip this procedure and perform a manual installation. " -"Please see the file \"install/INSTALL.txt\" for instructions." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:578 -msgid ".htconfig.php is writable" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:592 -msgid "" -"This software uses the Smarty3 template engine to render its web views. " -"Smarty3 compiles templates to PHP to speed up rendering." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:593 -#, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the top level web folder." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:594 ../../Zotlabs/Module/Setup.php:615 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has " -"write access to this folder." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:595 -#, php-format -msgid "" -"Note: as a security measure, you should give the web server write access to " -"%s only--not the template files (.tpl) that it contains." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:598 -#, php-format -msgid "%s is writable" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:614 -msgid "" -"This software uses the store directory to save uploaded files. The web " -"server needs to have write access to the store directory under the top level " -"web folder" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:618 -msgid "store is writable" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:651 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access " -"to this site." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:652 -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/Webpages.php:52 +msgid "Import Webpage Elements" msgstr "" -#: ../../Zotlabs/Module/Setup.php:653 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." +#: ../../Zotlabs/Module/Webpages.php:53 +msgid "Import selected" msgstr "" -#: ../../Zotlabs/Module/Setup.php:654 -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/Webpages.php:76 +msgid "Export Webpage Elements" msgstr "" -#: ../../Zotlabs/Module/Setup.php:655 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." +#: ../../Zotlabs/Module/Webpages.php:77 +msgid "Export selected" msgstr "" -#: ../../Zotlabs/Module/Setup.php:656 -msgid "" -"Providers are available that issue free certificates which are browser-valid." +#: ../../Zotlabs/Module/Webpages.php:241 ../../Zotlabs/Lib/Apps.php:225 +#: ../../include/conversation.php:1889 +msgid "Webpages" msgstr "" -#: ../../Zotlabs/Module/Setup.php:658 -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/Webpages.php:252 ../../include/page_widgets.php:44 +msgid "Actions" msgstr "" -#: ../../Zotlabs/Module/Setup.php:660 -msgid "SSL certificate validation" +#: ../../Zotlabs/Module/Webpages.php:253 ../../include/page_widgets.php:45 +msgid "Page Link" msgstr "" -#: ../../Zotlabs/Module/Setup.php:666 -msgid "" -"Url rewrite in .htaccess is not working. Check your server configuration." -"Test: " +#: ../../Zotlabs/Module/Webpages.php:254 +msgid "Page Title" msgstr "" -#: ../../Zotlabs/Module/Setup.php:669 -msgid "Url rewrite is working" +#: ../../Zotlabs/Module/Webpages.php:284 +msgid "Invalid file type." msgstr "" -#: ../../Zotlabs/Module/Setup.php:683 -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/Webpages.php:296 +msgid "Error opening zip file" msgstr "" -#: ../../Zotlabs/Module/Setup.php:707 -#: ../../extend/addon/addon/cdav/cdav.php:41 -#: ../../extend/addon/addon/rendezvous/rendezvous.php:401 -msgid "Errors encountered creating database tables." +#: ../../Zotlabs/Module/Webpages.php:307 +msgid "Invalid folder path." msgstr "" -#: ../../Zotlabs/Module/Setup.php:748 -msgid "<h1>What next</h1>" +#: ../../Zotlabs/Module/Webpages.php:334 +msgid "No webpage elements detected." msgstr "" -#: ../../Zotlabs/Module/Setup.php:749 -msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." +#: ../../Zotlabs/Module/Webpages.php:409 +msgid "Import complete." msgstr "" #: ../../Zotlabs/Module/Notifications.php:43 ../../include/nav.php:208 @@ -5131,12 +4703,34 @@ msgstr "" msgid "Make this post private" msgstr "" -#: ../../Zotlabs/Module/Oexchange.php:27 -msgid "Unable to find your hub." +#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 +msgid "Invalid profile identifier." msgstr "" -#: ../../Zotlabs/Module/Oexchange.php:41 -msgid "Post successful." +#: ../../Zotlabs/Module/Profperm.php:111 +msgid "Profile Visibility Editor" +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1367 +msgid "Profile" +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:115 +msgid "Click on a contact to add or remove." +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:124 +msgid "Visible To" +msgstr "" + +#: ../../Zotlabs/Module/Hcard.php:35 ../../Zotlabs/Module/Channel.php:47 +#: ../../Zotlabs/Module/Profile.php:43 +msgid "Posts and comments" +msgstr "" + +#: ../../Zotlabs/Module/Hcard.php:42 ../../Zotlabs/Module/Channel.php:54 +#: ../../Zotlabs/Module/Profile.php:50 +msgid "Only posts" msgstr "" #: ../../Zotlabs/Module/Item.php:184 @@ -5188,11 +4782,31 @@ msgid "" "to correctly use this feature." msgstr "" -#: ../../Zotlabs/Module/Profile.php:78 -msgid "vcard" +#: ../../Zotlabs/Module/Search.php:224 +#, php-format +msgid "Items tagged with: %s" +msgstr "" + +#: ../../Zotlabs/Module/Search.php:226 +#, php-format +msgid "Search results for: %s" +msgstr "" + +#: ../../Zotlabs/Module/Lockview.php:75 +msgid "Remote privacy information not available." msgstr "" -#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2286 +#: ../../Zotlabs/Module/Lockview.php:96 +msgid "Visible to:" +msgstr "" + +#: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153 +#: ../../Zotlabs/Module/Acl.php:117 ../../include/acl_selectors.php:183 +msgctxt "acl" +msgid "Profile" +msgstr "" + +#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2288 msgid "Blocks" msgstr "" @@ -5200,13 +4814,13 @@ msgstr "" msgid "Block Title" msgstr "" -#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2288 +#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2290 msgid "Layouts" msgstr "" #: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:232 -#: ../../include/nav.php:174 ../../include/help.php:53 -#: ../../include/help.php:59 +#: ../../include/help.php:55 ../../include/help.php:61 +#: ../../include/nav.php:174 ../../include/nav.php:288 msgid "Help" msgstr "" @@ -5239,157 +4853,124 @@ msgstr "" msgid "Optionally explain your rating (this information is public)" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:186 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:296 +#: ../../Zotlabs/Module/Profile_photo.php:194 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:298 msgid "" "Shift-reload the page or clear browser cache if the new photo does not " "display immediately." msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:409 +#: ../../Zotlabs/Module/Profile_photo.php:420 msgid "Use Photo for Profile" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:409 +#: ../../Zotlabs/Module/Profile_photo.php:420 msgid "Upload Profile Photo" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:410 +#: ../../Zotlabs/Module/Profile_photo.php:421 #: ../../extend/addon/addon/openclipatar/openclipatar.php:182 #: ../../extend/addon/addon/openclipatar/openclipatar.php:194 msgid "Use" msgstr "" -#: ../../Zotlabs/Module/Events.php:25 -msgid "Calendar entries imported." -msgstr "" - -#: ../../Zotlabs/Module/Events.php:27 -msgid "No calendar entries found." -msgstr "" - -#: ../../Zotlabs/Module/Events.php:110 -msgid "Event can not end before it has started." -msgstr "" - -#: ../../Zotlabs/Module/Events.php:112 ../../Zotlabs/Module/Events.php:121 -#: ../../Zotlabs/Module/Events.php:143 -msgid "Unable to generate preview." -msgstr "" - -#: ../../Zotlabs/Module/Events.php:119 -msgid "Event title and start time are required." -msgstr "" - -#: ../../Zotlabs/Module/Events.php:141 ../../Zotlabs/Module/Events.php:265 -msgid "Event not found." -msgstr "" - -#: ../../Zotlabs/Module/Events.php:460 -msgid "Edit event title" -msgstr "" - -#: ../../Zotlabs/Module/Events.php:460 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:835 -msgid "Event title" -msgstr "" - -#: ../../Zotlabs/Module/Events.php:462 -msgid "Categories (comma-separated list)" -msgstr "" - -#: ../../Zotlabs/Module/Events.php:463 -msgid "Edit Category" -msgstr "" - -#: ../../Zotlabs/Module/Events.php:463 -msgid "Category" -msgstr "" - -#: ../../Zotlabs/Module/Events.php:466 -msgid "Edit start date and time" +#: ../../Zotlabs/Module/Like.php:19 +msgid "Like/Dislike" msgstr "" -#: ../../Zotlabs/Module/Events.php:466 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:836 -msgid "Start date and time" +#: ../../Zotlabs/Module/Like.php:24 +msgid "This action is restricted to members." msgstr "" -#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:470 -msgid "Finish date and time are not known or not relevant" +#: ../../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/Events.php:469 -msgid "Edit finish date and time" +#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131 +#: ../../Zotlabs/Module/Like.php:169 +msgid "Invalid request." msgstr "" -#: ../../Zotlabs/Module/Events.php:469 -msgid "Finish date and time" +#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126 +msgid "channel" msgstr "" -#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Events.php:472 -msgid "Adjust for viewer timezone" +#: ../../Zotlabs/Module/Like.php:146 +msgid "thing" msgstr "" -#: ../../Zotlabs/Module/Events.php:471 -msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." +#: ../../Zotlabs/Module/Like.php:192 +msgid "Channel unavailable." msgstr "" -#: ../../Zotlabs/Module/Events.php:473 -msgid "Edit Description" +#: ../../Zotlabs/Module/Like.php:240 +msgid "Previous action reversed." msgstr "" -#: ../../Zotlabs/Module/Events.php:475 -msgid "Edit Location" +#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87 +#: ../../Zotlabs/Module/Tagger.php:47 +#: ../../extend/addon/addon/diaspora/inbound.php:1794 +#: ../../extend/addon/addon/redphotos/redphotohelper.php:74 +#: ../../include/conversation.php:120 ../../include/text.php:1958 +msgid "photo" msgstr "" -#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1410 -msgid "Permission settings" +#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87 +#: ../../extend/addon/addon/diaspora/inbound.php:1794 +#: ../../include/conversation.php:148 ../../include/text.php:1964 +msgid "status" msgstr "" -#: ../../Zotlabs/Module/Events.php:489 -msgid "Timezone:" +#: ../../Zotlabs/Module/Like.php:419 +#: ../../extend/addon/addon/diaspora/inbound.php:1823 +#: ../../include/conversation.php:164 +#, php-format +msgid "%1$s likes %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:494 -msgid "Advanced Options" +#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167 +#, php-format +msgid "%1$s doesn't like %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:633 -msgid "Edit event" +#: ../../Zotlabs/Module/Like.php:423 +#, php-format +msgid "%1$s agrees with %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:635 -msgid "Delete event" +#: ../../Zotlabs/Module/Like.php:425 +#, php-format +msgid "%1$s doesn't agree with %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:669 -msgid "calendar" +#: ../../Zotlabs/Module/Like.php:427 +#, php-format +msgid "%1$s abstains from a decision on %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:695 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:849 -msgid "Month" +#: ../../Zotlabs/Module/Like.php:429 +#, php-format +msgid "%1$s is attending %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:696 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:850 -msgid "Week" +#: ../../Zotlabs/Module/Like.php:431 +#, php-format +msgid "%1$s is not attending %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:697 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:851 -msgid "Day" +#: ../../Zotlabs/Module/Like.php:433 +#, php-format +msgid "%1$s may attend %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Events.php:731 -msgid "Event removed" +#: ../../Zotlabs/Module/Like.php:538 +msgid "Action completed." msgstr "" -#: ../../Zotlabs/Module/Events.php:734 -msgid "Failed to remove event" +#: ../../Zotlabs/Module/Like.php:539 +msgid "Thank you." msgstr "" #: ../../Zotlabs/Module/Common.php:14 @@ -5408,41 +4989,23 @@ msgstr "" msgid "toggle full screen mode" msgstr "" -#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 -msgid "Invalid profile identifier." -msgstr "" - -#: ../../Zotlabs/Module/Profperm.php:115 -msgid "Profile Visibility Editor" -msgstr "" - -#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1367 -msgid "Profile" -msgstr "" - -#: ../../Zotlabs/Module/Profperm.php:119 -msgid "Click on a contact to add or remove." +#: ../../Zotlabs/Module/Subthread.php:118 +#, php-format +msgid "%1$s is following %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Profperm.php:128 -msgid "Visible To" +#: ../../Zotlabs/Module/Subthread.php:120 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" msgstr "" #: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25 -#: ../../extend/addon/addon/chess/chess.php:400 +#: ../../extend/addon/addon/chess/chess.php:403 #: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:26 msgid "You must be logged in to see this page." msgstr "" -#: ../../Zotlabs/Module/Channel.php:44 -msgid "Posts and comments" -msgstr "" - -#: ../../Zotlabs/Module/Channel.php:45 -msgid "Only posts" -msgstr "" - -#: ../../Zotlabs/Module/Channel.php:104 +#: ../../Zotlabs/Module/Channel.php:112 msgid "Insufficient permissions. Request redirected to profile page." msgstr "" @@ -5470,7 +5033,7 @@ msgid "" "Password reset failed." msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1740 +#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1757 msgid "Password Reset" msgstr "" @@ -5539,20 +5102,18 @@ msgstr "" msgid "Channel added." msgstr "" -#: ../../Zotlabs/Module/Rmagic.php:35 -msgid "Authentication failed." -msgstr "" - -#: ../../Zotlabs/Module/Rmagic.php:75 ../../include/channel.php:1991 -msgid "Remote Authentication" +#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260 +#, php-format +msgctxt "mood" +msgid "%1$s is %2$s" msgstr "" -#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:1992 -msgid "Enter your channel address (e.g. channel@example.com)" +#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:234 +msgid "Mood" msgstr "" -#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:1993 -msgid "Authenticate" +#: ../../Zotlabs/Module/Mood.php:136 +msgid "Set your current mood and tell your friends" msgstr "" #: ../../Zotlabs/Module/Regmod.php:15 @@ -5611,7 +5172,7 @@ msgstr "" msgid "Layout updated." msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218 +#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:216 msgid "Feature disabled." msgstr "" @@ -5631,64 +5192,6 @@ msgstr "" msgid "Layout Help" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:57 ../../Zotlabs/Module/Uexport.php:58 -msgid "Export Channel" -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:59 -msgid "" -"Export your basic channel information to a file. This acts as a backup of " -"your connections, permissions, profile and basic data, which can be used to " -"import your data to a new server hub, but does not contain your content." -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:60 -msgid "Export Content" -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:61 -msgid "" -"Export your channel information and recent content to a JSON backup that can " -"be restored or imported to another server hub. This backs up all of your " -"connections, permissions, profile data and several months of posts. This " -"file may be VERY large. Please be patient - it may take several minutes for " -"this download to begin." -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:63 -msgid "Export your posts from a given year." -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:65 -msgid "" -"You may also export your posts and conversations for a particular year or " -"month. Adjust the date in your browser location bar to select other dates. " -"If the export fails (possibly due to memory exhaustion on your server hub), " -"please try again selecting a more limited date range." -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:66 -#, php-format -msgid "" -"To select all posts for a given year, such as this year, visit <a href=\"%1$s" -"\">%2$s</a>" -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:67 -#, php-format -msgid "" -"To select all posts for a given month, such as January of this year, visit " -"<a href=\"%1$s\">%2$s</a>" -msgstr "" - -#: ../../Zotlabs/Module/Uexport.php:68 -#, php-format -msgid "" -"These content files may be imported or restored by visiting <a href=\"%1$s\">" -"%2$s</a> on any site containing your channel. For best results please import " -"or restore these in date order (oldest first)." -msgstr "" - #: ../../Zotlabs/Module/Directory.php:246 #, php-format msgid "%d rating" @@ -5712,9 +5215,9 @@ msgstr "" msgid "Age:" msgstr "" -#: ../../Zotlabs/Module/Directory.php:315 ../../include/markdown.php:561 -#: ../../include/channel.php:1134 ../../include/event.php:52 -#: ../../include/event.php:84 +#: ../../Zotlabs/Module/Directory.php:315 ../../include/event.php:52 +#: ../../include/event.php:84 ../../include/markdown.php:562 +#: ../../include/channel.php:1134 msgid "Location:" msgstr "" @@ -5731,9 +5234,9 @@ msgid "About:" msgstr "" #: ../../Zotlabs/Module/Directory.php:329 ../../Zotlabs/Module/Suggest.php:56 +#: ../../include/widgets.php:134 ../../include/widgets.php:171 #: ../../include/connections.php:110 ../../include/conversation.php:938 -#: ../../include/conversation.php:1069 ../../include/widgets.php:148 -#: ../../include/widgets.php:185 ../../include/channel.php:1119 +#: ../../include/conversation.php:1069 ../../include/channel.php:1119 msgid "Connect" msgstr "" @@ -5802,69 +5305,32 @@ msgstr "" msgid "No entries (some entries may be hidden)." msgstr "" -#: ../../Zotlabs/Module/Chatsvc.php:131 -msgid "Away" -msgstr "" - -#: ../../Zotlabs/Module/Chatsvc.php:136 -msgid "Online" -msgstr "" - -#: ../../Zotlabs/Module/Service_limits.php:23 -msgid "No service class restrictions found." -msgstr "" - -#: ../../Zotlabs/Module/Webpages.php:52 -msgid "Import Webpage Elements" -msgstr "" - -#: ../../Zotlabs/Module/Webpages.php:53 -msgid "Import selected" -msgstr "" - -#: ../../Zotlabs/Module/Webpages.php:76 -msgid "Export Webpage Elements" -msgstr "" - -#: ../../Zotlabs/Module/Webpages.php:77 -msgid "Export selected" -msgstr "" - -#: ../../Zotlabs/Module/Webpages.php:241 ../../Zotlabs/Lib/Apps.php:225 -#: ../../include/conversation.php:1889 -msgid "Webpages" -msgstr "" - -#: ../../Zotlabs/Module/Webpages.php:252 ../../include/page_widgets.php:44 -msgid "Actions" -msgstr "" - -#: ../../Zotlabs/Module/Webpages.php:253 ../../include/page_widgets.php:45 -msgid "Page Link" +#: ../../Zotlabs/Module/Profile.php:91 +msgid "vcard" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:254 -msgid "Page Title" +#: ../../Zotlabs/Module/Oexchange.php:27 +msgid "Unable to find your hub." msgstr "" -#: ../../Zotlabs/Module/Webpages.php:284 -msgid "Invalid file type." +#: ../../Zotlabs/Module/Oexchange.php:41 +msgid "Post successful." msgstr "" -#: ../../Zotlabs/Module/Webpages.php:296 -msgid "Error opening zip file" +#: ../../Zotlabs/Module/Viewsrc.php:46 +msgid "Source of Item" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:307 -msgid "Invalid folder path." +#: ../../Zotlabs/Module/Service_limits.php:23 +msgid "No service class restrictions found." msgstr "" -#: ../../Zotlabs/Module/Webpages.php:334 -msgid "No webpage elements detected." +#: ../../Zotlabs/Module/Acl.php:344 +msgid "network" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:409 -msgid "Import complete." +#: ../../Zotlabs/Module/Acl.php:354 +msgid "RSS" msgstr "" #: ../../Zotlabs/Module/Removeme.php:35 @@ -5892,7 +5358,7 @@ msgid "" msgstr "" #: ../../Zotlabs/Module/Removeme.php:64 -#: ../../Zotlabs/Module/Settings/Channel.php:558 +#: ../../Zotlabs/Module/Settings/Channel.php:575 msgid "Remove Channel" msgstr "" @@ -5912,292 +5378,384 @@ msgstr "" msgid "Remove this file" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:29 -msgid "Profile Unavailable." +#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:274 +msgid "post" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:43 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:40 -msgid "Not found" +#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150 +#: ../../include/text.php:1966 +msgid "comment" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:67 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:60 -msgid "Invalid channel" +#: ../../Zotlabs/Module/Tagger.php:95 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:158 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:144 -#: ../../include/conversation.php:1900 -msgid "Wikis" +#: ../../Zotlabs/Module/Sources.php:37 +msgid "Failed to create source. No channel selected." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:164 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:150 -msgid "Download" +#: ../../Zotlabs/Module/Sources.php:51 +msgid "Source created." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:168 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:154 -msgid "Wiki name" +#: ../../Zotlabs/Module/Sources.php:64 +msgid "Source updated." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:169 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:155 -msgid "Content type" +#: ../../Zotlabs/Module/Sources.php:90 +msgid "*" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:178 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 -msgid "Create a status post for this wiki" +#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:677 +#: ../../include/features.php:213 +msgid "Channel Sources" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:203 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:183 -msgid "Wiki not found" +#: ../../Zotlabs/Module/Sources.php:97 +msgid "Manage remote sources of content for your channel." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:227 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:208 -msgid "Rename page" +#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108 +msgid "New Source" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:231 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:212 -msgid "Error retrieving page content" +#: ../../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 "" -#: ../../Zotlabs/Module/Wiki.php:261 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:241 -msgid "Revision Comparison" +#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 +msgid "Only import content with these words (one per line)" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:262 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:242 -msgid "Revert" +#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 +msgid "Leave blank to import all public content" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:266 -msgid "Short description of your changes (optional)" +#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148 +msgid "Channel Name" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:273 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:251 -msgid "Source" +#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147 +msgid "" +"Add the following categories to posts imported from this source (comma " +"separated)" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:281 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:259 -msgid "New page name" +#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147 +#: ../../Zotlabs/Module/Settings/Oauth.php:93 +msgid "Optional" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:286 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:264 -#: ../../include/conversation.php:1299 -msgid "Embed image from photo albums" +#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161 +msgid "Source not found." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:287 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:265 -#: ../../include/conversation.php:1393 -msgid "Embed an image from your albums" +#: ../../Zotlabs/Module/Sources.php:140 +msgid "Edit Source" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:289 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:267 -#: ../../include/conversation.php:1395 ../../include/conversation.php:1442 -msgid "OK" +#: ../../Zotlabs/Module/Sources.php:141 +msgid "Delete Source" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:290 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:268 -#: ../../include/conversation.php:1335 -msgid "Choose images to embed" +#: ../../Zotlabs/Module/Sources.php:169 +msgid "Source removed" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:291 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:269 -#: ../../include/conversation.php:1336 -msgid "Choose an album" +#: ../../Zotlabs/Module/Sources.php:171 +msgid "Unable to remove source." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:292 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:270 -msgid "Choose a different album" +#: ../../Zotlabs/Module/Suggest.php:39 +msgid "" +"No suggestions available. If this is a new site, please try again in 24 " +"hours." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:293 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:271 -#: ../../include/conversation.php:1338 -msgid "Error getting album list" +#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:136 +msgid "Ignore/Hide" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:294 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:272 -#: ../../include/conversation.php:1339 -msgid "Error getting photo link" +#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:184 +#: ../../Zotlabs/Module/Profiles.php:241 ../../Zotlabs/Module/Profiles.php:659 +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:62 +msgid "Profile not found." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:295 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:273 -#: ../../include/conversation.php:1340 -msgid "Error getting album" +#: ../../Zotlabs/Module/Profiles.php:44 +msgid "Profile deleted." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:364 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:337 -msgid "Error creating wiki. Invalid name." +#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:105 +msgid "Profile-" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:376 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:348 -msgid "Wiki created, but error creating Home page." +#: ../../Zotlabs/Module/Profiles.php:90 ../../Zotlabs/Module/Profiles.php:127 +msgid "New profile created." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:383 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:353 -msgid "Error creating wiki" +#: ../../Zotlabs/Module/Profiles.php:111 +msgid "Profile unavailable to clone." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:395 -msgid "Wiki delete permission denied." +#: ../../Zotlabs/Module/Profiles.php:146 +msgid "Profile unavailable to export." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:405 -msgid "Error deleting wiki" +#: ../../Zotlabs/Module/Profiles.php:252 +msgid "Profile Name is required." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:431 -#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:400 -msgid "New page created" +#: ../../Zotlabs/Module/Profiles.php:459 +msgid "Marital Status" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:546 -msgid "Cannot delete Home" +#: ../../Zotlabs/Module/Profiles.php:463 +msgid "Romantic Partner" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:610 -msgid "Current Revision" +#: ../../Zotlabs/Module/Profiles.php:467 ../../Zotlabs/Module/Profiles.php:775 +msgid "Likes" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:610 -msgid "Selected Revision" +#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:776 +msgid "Dislikes" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:660 -msgid "You must be authenticated." +#: ../../Zotlabs/Module/Profiles.php:475 ../../Zotlabs/Module/Profiles.php:783 +msgid "Work/Employment" msgstr "" -#: ../../Zotlabs/Module/Sources.php:37 -msgid "Failed to create source. No channel selected." +#: ../../Zotlabs/Module/Profiles.php:478 +msgid "Religion" msgstr "" -#: ../../Zotlabs/Module/Sources.php:51 -msgid "Source created." +#: ../../Zotlabs/Module/Profiles.php:482 +msgid "Political Views" msgstr "" -#: ../../Zotlabs/Module/Sources.php:64 -msgid "Source updated." +#: ../../Zotlabs/Module/Profiles.php:486 +#: ../../extend/addon/addon/openid/MysqlProvider.php:74 +msgid "Gender" msgstr "" -#: ../../Zotlabs/Module/Sources.php:90 -msgid "*" +#: ../../Zotlabs/Module/Profiles.php:490 +msgid "Sexual Preference" msgstr "" -#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:691 -#: ../../include/features.php:213 -msgid "Channel Sources" +#: ../../Zotlabs/Module/Profiles.php:494 +msgid "Homepage" msgstr "" -#: ../../Zotlabs/Module/Sources.php:97 -msgid "Manage remote sources of content for your channel." +#: ../../Zotlabs/Module/Profiles.php:498 +msgid "Interests" msgstr "" -#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108 -msgid "New Source" +#: ../../Zotlabs/Module/Profiles.php:594 +msgid "Profile updated." 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/Profiles.php:678 +msgid "Hide your connections list from viewers of this profile" msgstr "" -#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 -msgid "Only import content with these words (one per line)" +#: ../../Zotlabs/Module/Profiles.php:725 +msgid "Edit Profile Details" msgstr "" -#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 -msgid "Leave blank to import all public content" +#: ../../Zotlabs/Module/Profiles.php:727 +msgid "View this profile" msgstr "" -#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148 -msgid "Channel Name" +#: ../../Zotlabs/Module/Profiles.php:728 ../../Zotlabs/Module/Profiles.php:827 +#: ../../include/channel.php:1066 +msgid "Edit visibility" msgstr "" -#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147 -msgid "" -"Add the following categories to posts imported from this source (comma " -"separated)" +#: ../../Zotlabs/Module/Profiles.php:729 +msgid "Profile Tools" msgstr "" -#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147 -#: ../../Zotlabs/Module/Settings/Oauth.php:93 -msgid "Optional" +#: ../../Zotlabs/Module/Profiles.php:730 +msgid "Change cover photo" msgstr "" -#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161 -msgid "Source not found." +#: ../../Zotlabs/Module/Profiles.php:731 ../../include/channel.php:1037 +msgid "Change profile photo" msgstr "" -#: ../../Zotlabs/Module/Sources.php:140 -msgid "Edit Source" +#: ../../Zotlabs/Module/Profiles.php:732 +msgid "Create a new profile using these settings" msgstr "" -#: ../../Zotlabs/Module/Sources.php:141 -msgid "Delete Source" +#: ../../Zotlabs/Module/Profiles.php:733 +msgid "Clone this profile" msgstr "" -#: ../../Zotlabs/Module/Sources.php:169 -msgid "Source removed" +#: ../../Zotlabs/Module/Profiles.php:734 +msgid "Delete this profile" msgstr "" -#: ../../Zotlabs/Module/Sources.php:171 -msgid "Unable to remove source." +#: ../../Zotlabs/Module/Profiles.php:735 +msgid "Add profile things" msgstr "" -#: ../../Zotlabs/Module/Subthread.php:118 -#, php-format -msgid "%1$s is following %2$s's %3$s" +#: ../../Zotlabs/Module/Profiles.php:736 ../../include/conversation.php:1715 +msgid "Personal" msgstr "" -#: ../../Zotlabs/Module/Subthread.php:120 -#, php-format -msgid "%1$s stopped following %2$s's %3$s" +#: ../../Zotlabs/Module/Profiles.php:738 +msgid "Relation" msgstr "" -#: ../../Zotlabs/Module/Suggest.php:39 -msgid "" -"No suggestions available. If this is a new site, please try again in 24 " -"hours." +#: ../../Zotlabs/Module/Profiles.php:739 ../../include/datetime.php:55 +msgid "Miscellaneous" msgstr "" -#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:150 -msgid "Ignore/Hide" +#: ../../Zotlabs/Module/Profiles.php:741 +msgid "Import profile from file" msgstr "" -#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:274 -msgid "post" +#: ../../Zotlabs/Module/Profiles.php:742 +msgid "Export profile to file" msgstr "" -#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150 -#: ../../include/text.php:1964 -msgid "comment" +#: ../../Zotlabs/Module/Profiles.php:743 +msgid "Your gender" msgstr "" -#: ../../Zotlabs/Module/Tagger.php:95 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" +#: ../../Zotlabs/Module/Profiles.php:744 +msgid "Marital status" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:745 +msgid "Sexual preference" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:748 +msgid "Profile name" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:750 +msgid "This is your default profile." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Your full name" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:753 +msgid "Title/Description" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:756 +msgid "Street address" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:757 +msgid "Locality/City" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:758 +msgid "Region/State" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:759 +msgid "Postal/Zip code" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:765 +msgid "Who (if applicable)" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:765 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:766 +msgid "Since (date)" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:769 +msgid "Tell us about yourself" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:770 +#: ../../extend/addon/addon/openid/MysqlProvider.php:68 +msgid "Homepage URL" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:771 +msgid "Hometown" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:772 +msgid "Political views" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Religious views" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:774 +msgid "Keywords used in directory listings" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:774 +msgid "Example: fishing photography software" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:777 +msgid "Musical interests" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:778 +msgid "Books, literature" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:779 +msgid "Television" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:780 +msgid "Film/Dance/Culture/Entertainment" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:781 +msgid "Hobbies/Interests" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:782 +msgid "Love/Romance" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:784 +msgid "School/Education" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:785 +msgid "Contact information and social networks" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:786 +msgid "My other channels" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:788 +msgid "Communications" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:823 ../../include/channel.php:1062 +msgid "Profile Image" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:833 ../../include/nav.php:105 +#: ../../include/channel.php:1044 +msgid "Edit Profiles" msgstr "" #: ../../Zotlabs/Module/Settings/Features.php:45 @@ -6341,7 +5899,7 @@ msgid "Used to provide a member experience matched to your comfort level" msgstr "" #: ../../Zotlabs/Module/Settings/Account.php:119 -#: ../../Zotlabs/Module/Settings/Channel.php:467 +#: ../../Zotlabs/Module/Settings/Channel.php:483 msgid "Email Address:" msgstr "" @@ -6349,74 +5907,7 @@ msgstr "" msgid "Remove this account including all its channels" msgstr "" -#: ../../Zotlabs/Module/Settings/Tokens.php:31 -#, php-format -msgid "This channel is limited to %d tokens" -msgstr "" - -#: ../../Zotlabs/Module/Settings/Tokens.php:37 -msgid "Name and Password are required." -msgstr "" - -#: ../../Zotlabs/Module/Settings/Tokens.php:77 -msgid "Token saved." -msgstr "" - -#: ../../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 "" - -#: ../../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/Settings/Tokens.php:150 ../../include/widgets.php:658 -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/Module/Settings/Featured.php:20 -msgid "Affinity Slider settings updated." -msgstr "" - -#: ../../Zotlabs/Module/Settings/Featured.php:34 -msgid "No feature settings configured" -msgstr "" - -#: ../../Zotlabs/Module/Settings/Featured.php:41 -msgid "Default maximum affinity level" -msgstr "" - -#: ../../Zotlabs/Module/Settings/Featured.php:46 -msgid "Default minimum affinity level" -msgstr "" - -#: ../../Zotlabs/Module/Settings/Featured.php:50 -msgid "Affinity Slider Settings" -msgstr "" - -#: ../../Zotlabs/Module/Settings/Featured.php:60 -msgid "Feature/Addon Settings" -msgstr "" - -#: ../../Zotlabs/Module/Settings/Channel.php:248 +#: ../../Zotlabs/Module/Settings/Channel.php:251 #: ../../extend/addon/addon/logrot/logrot.php:54 #: ../../extend/addon/addon/msgfooter/msgfooter.php:54 #: ../../extend/addon/addon/openstreetmap/openstreetmap.php:184 @@ -6427,499 +5918,570 @@ msgstr "" msgid "Settings updated." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:309 +#: ../../Zotlabs/Module/Settings/Channel.php:312 msgid "Nobody except yourself" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:310 +#: ../../Zotlabs/Module/Settings/Channel.php:313 msgid "Only those you specifically allow" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Settings/Channel.php:314 msgid "Approved connections" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:312 +#: ../../Zotlabs/Module/Settings/Channel.php:315 msgid "Any connections" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:313 +#: ../../Zotlabs/Module/Settings/Channel.php:316 msgid "Anybody on this website" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:314 +#: ../../Zotlabs/Module/Settings/Channel.php:317 msgid "Anybody in this network" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:315 +#: ../../Zotlabs/Module/Settings/Channel.php:318 msgid "Anybody authenticated" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:316 +#: ../../Zotlabs/Module/Settings/Channel.php:319 msgid "Anybody on the internet" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:392 +#: ../../Zotlabs/Module/Settings/Channel.php:395 msgid "Publish your default profile in the network directory" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:397 +#: ../../Zotlabs/Module/Settings/Channel.php:400 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:406 +#: ../../Zotlabs/Module/Settings/Channel.php:409 msgid "Your channel address is" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:409 +#: ../../Zotlabs/Module/Settings/Channel.php:412 msgid "Your files/photos are accessible via WebDAV at" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:458 +#: ../../Zotlabs/Module/Settings/Channel.php:474 msgid "Channel Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:465 +#: ../../Zotlabs/Module/Settings/Channel.php:481 msgid "Basic Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:466 +#: ../../Zotlabs/Module/Settings/Channel.php:482 #: ../../include/channel.php:1255 msgid "Full Name:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:468 +#: ../../Zotlabs/Module/Settings/Channel.php:484 msgid "Your Timezone:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:469 +#: ../../Zotlabs/Module/Settings/Channel.php:485 msgid "Default Post Location:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:469 +#: ../../Zotlabs/Module/Settings/Channel.php:485 msgid "Geographical location to display on your posts" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:470 +#: ../../Zotlabs/Module/Settings/Channel.php:486 msgid "Use Browser Location:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:472 +#: ../../Zotlabs/Module/Settings/Channel.php:488 msgid "Adult Content" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:472 +#: ../../Zotlabs/Module/Settings/Channel.php:488 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:474 +#: ../../Zotlabs/Module/Settings/Channel.php:490 msgid "Security and Privacy Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:477 +#: ../../Zotlabs/Module/Settings/Channel.php:493 msgid "Your permissions are already configured. Click to view/adjust" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:479 +#: ../../Zotlabs/Module/Settings/Channel.php:495 msgid "Hide my online presence" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:479 +#: ../../Zotlabs/Module/Settings/Channel.php:495 msgid "Prevents displaying in your profile that you are online" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:481 +#: ../../Zotlabs/Module/Settings/Channel.php:497 msgid "Simple Privacy Settings:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:482 +#: ../../Zotlabs/Module/Settings/Channel.php:498 msgid "" "Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:483 +#: ../../Zotlabs/Module/Settings/Channel.php:499 msgid "" "Typical - <em>default public, privacy when desired (similar to social " "network permissions but with improved privacy)</em>" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:484 +#: ../../Zotlabs/Module/Settings/Channel.php:500 msgid "Private - <em>default private, never open or public</em>" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:485 +#: ../../Zotlabs/Module/Settings/Channel.php:501 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:487 +#: ../../Zotlabs/Module/Settings/Channel.php:503 msgid "Allow others to tag your posts" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:487 +#: ../../Zotlabs/Module/Settings/Channel.php:503 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:489 +#: ../../Zotlabs/Module/Settings/Channel.php:505 msgid "Channel Permission Limits" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:491 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "Expire other channel content after this many days" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:491 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "0 or blank to use the website limit." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:491 +#: ../../Zotlabs/Module/Settings/Channel.php:507 #, php-format msgid "This website expires after %d days." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:491 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "This website does not expire imported content." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:491 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "The website limit takes precedence if lower than your limit." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:492 +#: ../../Zotlabs/Module/Settings/Channel.php:508 msgid "Maximum Friend Requests/Day:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:492 +#: ../../Zotlabs/Module/Settings/Channel.php:508 msgid "May reduce spam activity" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:493 +#: ../../Zotlabs/Module/Settings/Channel.php:509 msgid "Default Access Control List (ACL)" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:495 +#: ../../Zotlabs/Module/Settings/Channel.php:511 msgid "Use my default audience setting for the type of object published" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:502 +#: ../../Zotlabs/Module/Settings/Channel.php:518 msgid "Channel permissions category:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:508 +#: ../../Zotlabs/Module/Settings/Channel.php:519 +msgid "Default Permissions Group" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 msgid "Maximum private messages per day from unknown people:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:508 +#: ../../Zotlabs/Module/Settings/Channel.php:525 msgid "Useful to reduce spamming" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:511 +#: ../../Zotlabs/Module/Settings/Channel.php:528 msgid "Notification Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:512 +#: ../../Zotlabs/Module/Settings/Channel.php:529 msgid "By default post a status message when:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:513 +#: ../../Zotlabs/Module/Settings/Channel.php:530 msgid "accepting a friend request" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:514 +#: ../../Zotlabs/Module/Settings/Channel.php:531 msgid "joining a forum/community" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:515 +#: ../../Zotlabs/Module/Settings/Channel.php:532 msgid "making an <em>interesting</em> profile change" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:516 +#: ../../Zotlabs/Module/Settings/Channel.php:533 msgid "Send a notification email when:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:517 +#: ../../Zotlabs/Module/Settings/Channel.php:534 msgid "You receive a connection request" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:518 +#: ../../Zotlabs/Module/Settings/Channel.php:535 msgid "Your connections are confirmed" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:519 +#: ../../Zotlabs/Module/Settings/Channel.php:536 msgid "Someone writes on your profile wall" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:520 +#: ../../Zotlabs/Module/Settings/Channel.php:537 msgid "Someone writes a followup comment" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:521 +#: ../../Zotlabs/Module/Settings/Channel.php:538 msgid "You receive a private message" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:522 +#: ../../Zotlabs/Module/Settings/Channel.php:539 msgid "You receive a friend suggestion" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:523 +#: ../../Zotlabs/Module/Settings/Channel.php:540 msgid "You are tagged in a post" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:524 +#: ../../Zotlabs/Module/Settings/Channel.php:541 msgid "You are poked/prodded/etc. in a post" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:526 +#: ../../Zotlabs/Module/Settings/Channel.php:543 msgid "Someone likes your post/comment" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:529 +#: ../../Zotlabs/Module/Settings/Channel.php:546 msgid "Show visual notifications including:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:531 +#: ../../Zotlabs/Module/Settings/Channel.php:548 msgid "Unseen grid activity" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:532 +#: ../../Zotlabs/Module/Settings/Channel.php:549 msgid "Unseen channel activity" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:533 +#: ../../Zotlabs/Module/Settings/Channel.php:550 msgid "Unseen private messages" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:533 -#: ../../Zotlabs/Module/Settings/Channel.php:538 -#: ../../Zotlabs/Module/Settings/Channel.php:539 -#: ../../Zotlabs/Module/Settings/Channel.php:540 +#: ../../Zotlabs/Module/Settings/Channel.php:550 +#: ../../Zotlabs/Module/Settings/Channel.php:555 +#: ../../Zotlabs/Module/Settings/Channel.php:556 +#: ../../Zotlabs/Module/Settings/Channel.php:557 #: ../../extend/addon/addon/jappixmini/jappixmini.php:343 msgid "Recommended" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:534 +#: ../../Zotlabs/Module/Settings/Channel.php:551 msgid "Upcoming events" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:535 +#: ../../Zotlabs/Module/Settings/Channel.php:552 msgid "Events today" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:536 +#: ../../Zotlabs/Module/Settings/Channel.php:553 msgid "Upcoming birthdays" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:536 +#: ../../Zotlabs/Module/Settings/Channel.php:553 msgid "Not available in all themes" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:537 +#: ../../Zotlabs/Module/Settings/Channel.php:554 msgid "System (personal) notifications" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:538 +#: ../../Zotlabs/Module/Settings/Channel.php:555 msgid "System info messages" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:539 +#: ../../Zotlabs/Module/Settings/Channel.php:556 msgid "System critical alerts" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:540 +#: ../../Zotlabs/Module/Settings/Channel.php:557 msgid "New connections" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:541 +#: ../../Zotlabs/Module/Settings/Channel.php:558 msgid "System Registrations" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:542 +#: ../../Zotlabs/Module/Settings/Channel.php:559 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:544 +#: ../../Zotlabs/Module/Settings/Channel.php:561 msgid "Notify me of events this many days in advance" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:544 +#: ../../Zotlabs/Module/Settings/Channel.php:561 msgid "Must be greater than 0" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:550 +#: ../../Zotlabs/Module/Settings/Channel.php:567 msgid "Advanced Account/Page Type Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:551 +#: ../../Zotlabs/Module/Settings/Channel.php:568 msgid "Change the behaviour of this account for special situations" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:553 +#: ../../Zotlabs/Module/Settings/Channel.php:570 msgid "Miscellaneous Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:554 +#: ../../Zotlabs/Module/Settings/Channel.php:571 msgid "Default photo upload folder" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:554 -#: ../../Zotlabs/Module/Settings/Channel.php:555 +#: ../../Zotlabs/Module/Settings/Channel.php:571 +#: ../../Zotlabs/Module/Settings/Channel.php:572 msgid "%Y - current year, %m - current month" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:555 +#: ../../Zotlabs/Module/Settings/Channel.php:572 msgid "Default file upload folder" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:557 +#: ../../Zotlabs/Module/Settings/Channel.php:574 msgid "Personal menu to display in your channel pages" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:559 +#: ../../Zotlabs/Module/Settings/Channel.php:576 msgid "Remove this channel." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:560 +#: ../../Zotlabs/Module/Settings/Channel.php:577 msgid "Firefox Share $Projectname provider" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:561 +#: ../../Zotlabs/Module/Settings/Channel.php:578 msgid "Start calendar week on monday" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:137 +#: ../../Zotlabs/Module/Settings/Featured.php:20 +msgid "Affinity Slider settings updated." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:34 +msgid "No feature settings configured" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:41 +msgid "Default maximum affinity level" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:46 +msgid "Default minimum affinity level" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:50 +msgid "Affinity Slider Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:60 +msgid "Feature/Addon Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Permcats.php:37 +msgid "Permission category saved." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Permcats.php:63 +msgid "" +"Use this form to create permission rules for various classes of people or " +"connections." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Permcats.php:96 +msgid "Permission Categories" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Permcats.php:104 +msgid "Permission Name" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Tokens.php:31 +#, php-format +msgid "This channel is limited to %d tokens" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Tokens.php:37 +msgid "Name and Password are required." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Tokens.php:77 +msgid "Token saved." +msgstr "" + +#: ../../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 "" + +#: ../../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/Settings/Tokens.php:150 ../../include/widgets.php:644 +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/Module/Settings/Display.php:145 msgid "No special theme for mobile devices" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:140 +#: ../../Zotlabs/Module/Settings/Display.php:148 #, php-format msgid "%s - (Experimental)" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:191 +#: ../../Zotlabs/Module/Settings/Display.php:198 msgid "Display Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:192 +#: ../../Zotlabs/Module/Settings/Display.php:199 msgid "Theme Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:193 +#: ../../Zotlabs/Module/Settings/Display.php:200 msgid "Custom Theme Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:194 +#: ../../Zotlabs/Module/Settings/Display.php:201 msgid "Content Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:200 +#: ../../Zotlabs/Module/Settings/Display.php:207 msgid "Display Theme:" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:201 +#: ../../Zotlabs/Module/Settings/Display.php:208 msgid "Select scheme" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:203 +#: ../../Zotlabs/Module/Settings/Display.php:210 msgid "Mobile Theme:" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:204 +#: ../../Zotlabs/Module/Settings/Display.php:211 msgid "Preload images before rendering the page" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:204 +#: ../../Zotlabs/Module/Settings/Display.php:211 msgid "" "The subjective page load time will be longer but the page will be ready when " "displayed" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:205 +#: ../../Zotlabs/Module/Settings/Display.php:212 msgid "Enable user zoom on mobile devices" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:206 +#: ../../Zotlabs/Module/Settings/Display.php:213 msgid "Update browser every xx seconds" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:206 +#: ../../Zotlabs/Module/Settings/Display.php:213 msgid "Minimum of 10 seconds, no maximum" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:207 +#: ../../Zotlabs/Module/Settings/Display.php:214 msgid "Maximum number of conversations to load at any time:" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:207 +#: ../../Zotlabs/Module/Settings/Display.php:214 msgid "Maximum of 100 items" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:208 +#: ../../Zotlabs/Module/Settings/Display.php:215 msgid "Show emoticons (smilies) as images" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:209 +#: ../../Zotlabs/Module/Settings/Display.php:216 msgid "Manual conversation updates" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:209 +#: ../../Zotlabs/Module/Settings/Display.php:216 msgid "Default is on, turning this off may increase screen jumping" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:210 +#: ../../Zotlabs/Module/Settings/Display.php:217 msgid "Link post titles to source" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:211 +#: ../../Zotlabs/Module/Settings/Display.php:218 msgid "System Page Layout Editor - (advanced)" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:214 +#: ../../Zotlabs/Module/Settings/Display.php:221 msgid "Use blog/list mode on channel page" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:214 -#: ../../Zotlabs/Module/Settings/Display.php:215 +#: ../../Zotlabs/Module/Settings/Display.php:221 +#: ../../Zotlabs/Module/Settings/Display.php:222 msgid "(comments displayed separately)" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:215 +#: ../../Zotlabs/Module/Settings/Display.php:222 msgid "Use blog/list mode on grid page" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:216 +#: ../../Zotlabs/Module/Settings/Display.php:223 msgid "Channel page max height of content (in pixels)" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:216 -#: ../../Zotlabs/Module/Settings/Display.php:217 +#: ../../Zotlabs/Module/Settings/Display.php:223 +#: ../../Zotlabs/Module/Settings/Display.php:224 msgid "click to expand content exceeding this height" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:217 +#: ../../Zotlabs/Module/Settings/Display.php:224 msgid "Grid page max height of content (in pixels)" msgstr "" -#: ../../Zotlabs/Module/Settings/Permcats.php:37 -msgid "Permission category saved." -msgstr "" - -#: ../../Zotlabs/Module/Settings/Permcats.php:63 -msgid "" -"Use this form to create permission rules for various classes of people or " -"connections." -msgstr "" - -#: ../../Zotlabs/Module/Settings/Permcats.php:96 ../../include/widgets.php:666 -msgid "Permission Categories" -msgstr "" - -#: ../../Zotlabs/Module/Settings/Permcats.php:104 -msgid "Permission Name" -msgstr "" - #: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98 msgid "Tag removed" msgstr "" @@ -6989,112 +6551,437 @@ msgstr "" msgid "Add Thing to your Profile" msgstr "" -#: ../../Zotlabs/Module/Mail.php:65 -msgid "Unable to lookup recipient." +#: ../../Zotlabs/Module/Setup.php:176 +msgid "$Projectname Server - Setup" msgstr "" -#: ../../Zotlabs/Module/Mail.php:72 -msgid "Unable to communicate with requested channel." +#: ../../Zotlabs/Module/Setup.php:180 +msgid "Could not connect to database." msgstr "" -#: ../../Zotlabs/Module/Mail.php:79 -msgid "Cannot verify requested channel." +#: ../../Zotlabs/Module/Setup.php:184 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." msgstr "" -#: ../../Zotlabs/Module/Mail.php:97 -msgid "Selected channel has private message restrictions. Send failed." +#: ../../Zotlabs/Module/Setup.php:191 +msgid "Could not create table." msgstr "" -#: ../../Zotlabs/Module/Mail.php:178 -msgid "Messages" +#: ../../Zotlabs/Module/Setup.php:196 +msgid "Your site database has been installed." msgstr "" -#: ../../Zotlabs/Module/Mail.php:213 -msgid "Message recalled." +#: ../../Zotlabs/Module/Setup.php:200 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." msgstr "" -#: ../../Zotlabs/Module/Mail.php:226 -msgid "Conversation removed." +#: ../../Zotlabs/Module/Setup.php:201 ../../Zotlabs/Module/Setup.php:263 +#: ../../Zotlabs/Module/Setup.php:750 +msgid "Please see the file \"install/INSTALL.txt\"." msgstr "" -#: ../../Zotlabs/Module/Mail.php:240 ../../Zotlabs/Module/Mail.php:349 -#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1330 -msgid "Please enter a link URL:" +#: ../../Zotlabs/Module/Setup.php:260 +msgid "System check" msgstr "" -#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Mail.php:350 -msgid "Expires YYYY-MM-DD HH:MM" +#: ../../Zotlabs/Module/Setup.php:265 +msgid "Check again" msgstr "" -#: ../../Zotlabs/Module/Mail.php:269 -msgid "Requested channel is not in this network" +#: ../../Zotlabs/Module/Setup.php:287 +msgid "Database connection" msgstr "" -#: ../../Zotlabs/Module/Mail.php:277 -msgid "Send Private Message" +#: ../../Zotlabs/Module/Setup.php:288 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." msgstr "" -#: ../../Zotlabs/Module/Mail.php:278 ../../Zotlabs/Module/Mail.php:403 -msgid "To:" +#: ../../Zotlabs/Module/Setup.php:289 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." msgstr "" -#: ../../Zotlabs/Module/Mail.php:281 ../../Zotlabs/Module/Mail.php:405 -msgid "Subject:" +#: ../../Zotlabs/Module/Setup.php:290 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." msgstr "" -#: ../../Zotlabs/Module/Mail.php:286 ../../Zotlabs/Module/Mail.php:411 -#: ../../include/conversation.php:1390 -msgid "Attach file" +#: ../../Zotlabs/Module/Setup.php:294 +msgid "Database Server Name" msgstr "" -#: ../../Zotlabs/Module/Mail.php:288 -msgid "Send" +#: ../../Zotlabs/Module/Setup.php:294 +msgid "Default is 127.0.0.1" msgstr "" -#: ../../Zotlabs/Module/Mail.php:291 ../../Zotlabs/Module/Mail.php:416 -#: ../../include/conversation.php:1435 -msgid "Set expiration date" +#: ../../Zotlabs/Module/Setup.php:295 +msgid "Database Port" msgstr "" -#: ../../Zotlabs/Module/Mail.php:293 ../../Zotlabs/Module/Mail.php:418 -#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:743 -#: ../../include/conversation.php:1440 -msgid "Encrypt text" +#: ../../Zotlabs/Module/Setup.php:295 +msgid "Communication port number - use 0 for default" msgstr "" -#: ../../Zotlabs/Module/Mail.php:375 -msgid "Delete message" +#: ../../Zotlabs/Module/Setup.php:296 +msgid "Database Login Name" msgstr "" -#: ../../Zotlabs/Module/Mail.php:376 -msgid "Delivery report" +#: ../../Zotlabs/Module/Setup.php:297 +msgid "Database Login Password" msgstr "" -#: ../../Zotlabs/Module/Mail.php:377 -msgid "Recall message" +#: ../../Zotlabs/Module/Setup.php:298 +msgid "Database Name" msgstr "" -#: ../../Zotlabs/Module/Mail.php:379 -msgid "Message has been recalled." +#: ../../Zotlabs/Module/Setup.php:299 +msgid "Database Type" msgstr "" -#: ../../Zotlabs/Module/Mail.php:396 -msgid "Delete Conversation" +#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347 +msgid "Site administrator email address" msgstr "" -#: ../../Zotlabs/Module/Mail.php:398 +#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347 msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." +"Your account email address must match this in order to use the web admin " +"panel." msgstr "" -#: ../../Zotlabs/Module/Mail.php:402 -msgid "Send Reply" +#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349 +msgid "Website URL" msgstr "" -#: ../../Zotlabs/Module/Mail.php:407 +#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349 +msgid "Please use SSL (https) URL if available." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:303 ../../Zotlabs/Module/Setup.php:353 +msgid "Please select a default timezone for your website" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:336 +msgid "Site settings" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:392 +msgid "PHP version 5.5 or greater is required." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:393 +msgid "PHP version" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:409 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:410 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:414 +msgid "PHP executable path" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:414 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:419 +msgid "Command line PHP" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:429 +msgid "" +"Unable to check command line PHP, as shell_exec() is disabled. This is " +"required." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:432 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:433 +msgid "This is required for message delivery to work." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:436 +msgid "PHP register_argc_argv" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:454 #, php-format -msgid "Your message for %s (%s):" +msgid "" +"Your max allowed total upload size is set to %s. Maximum size of one file to " +"upload is set to %s. You are allowed to upload up to %d files at once." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:459 +msgid "You can adjust these settings in the server php.ini file." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:461 +msgid "PHP upload limits" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:484 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:485 +msgid "" +"If running under Windows, please see \"http://www.php.net/manual/en/openssl." +"installation.php\"." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:488 +msgid "Generate encryption keys" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:505 +msgid "libCurl PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:506 +msgid "GD graphics PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:507 +msgid "OpenSSL PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:508 +msgid "PDO database PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:509 +msgid "mb_string PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:510 +msgid "xml PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:516 +msgid "Apache mod_rewrite module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:514 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 +msgid "exec" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:520 +msgid "" +"Error: exec is required but is either not installed or has been disabled in " +"php.ini" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:526 ../../Zotlabs/Module/Setup.php:529 +msgid "shell_exec" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:526 +msgid "" +"Error: shell_exec is required but is either not installed or has been " +"disabled in php.ini" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:534 +msgid "Error: libCURL PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:538 +msgid "" +"Error: GD graphics PHP module with JPEG support required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:542 +msgid "Error: openssl PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:546 +msgid "Error: PDO database PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:550 +msgid "Error: mb_string PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:554 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:572 +msgid "" +"The web installer needs to be able to create a file called \".htconfig.php\" " +"in the top folder of your web server and it is unable to do so." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:573 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:574 +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 "" + +#: ../../Zotlabs/Module/Setup.php:575 +msgid "" +"You can alternatively skip this procedure and perform a manual installation. " +"Please see the file \"install/INSTALL.txt\" for instructions." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:578 +msgid ".htconfig.php is writable" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:592 +msgid "" +"This software uses the Smarty3 template engine to render its web views. " +"Smarty3 compiles templates to PHP to speed up rendering." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:593 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the top level web folder." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:594 ../../Zotlabs/Module/Setup.php:615 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has " +"write access to this folder." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:595 +#, php-format +msgid "" +"Note: as a security measure, you should give the web server write access to " +"%s only--not the template files (.tpl) that it contains." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:598 +#, php-format +msgid "%s is writable" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:614 +msgid "" +"This software uses the store directory to save uploaded files. The web " +"server needs to have write access to the store directory under the top level " +"web folder" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:618 +msgid "store is writable" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:651 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access " +"to this site." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:652 +msgid "" +"If you have https access to your website or allow connections to TCP port " +"443 (the https: port), you MUST use a browser-valid certificate. You MUST " +"NOT use self-signed certificates!" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:653 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:654 +msgid "" +"If your certificate is not recognized, members of other sites (who may " +"themselves have valid certificates) will get a warning message on their own " +"site complaining about security issues." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:655 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:656 +msgid "" +"Providers are available that issue free certificates which are browser-valid." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:658 +msgid "" +"If you are confident that the certificate is valid and signed by a trusted " +"authority, check to see if you have failed to install an intermediate cert. " +"These are not normally required by browsers, but are required for server-to-" +"server communications." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:660 +msgid "SSL certificate validation" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:666 +msgid "" +"Url rewrite in .htaccess is not working. Check your server configuration." +"Test: " +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:669 +msgid "Url rewrite is working" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:683 +msgid "" +"The database configuration file \".htconfig.php\" could not be written. " +"Please use the enclosed text to create a configuration file in your web " +"server root." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:707 +#: ../../extend/addon/addon/cdav/cdav.php:41 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:401 +msgid "Errors encountered creating database tables." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:748 +msgid "<h1>What next</h1>" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:749 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." msgstr "" #: ../../Zotlabs/Module/Viewconnections.php:65 @@ -7110,60 +6997,232 @@ msgstr "" msgid "View Connections" msgstr "" -#: ../../Zotlabs/Module/Viewsrc.php:44 -msgid "Source of Item" +#: ../../Zotlabs/Module/Wiki.php:30 +msgid "Profile Unavailable." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:44 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:40 +msgid "Not found" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:68 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:60 +msgid "Invalid channel" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:159 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:144 +#: ../../include/conversation.php:1900 +msgid "Wikis" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:165 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:150 +msgid "Download" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:169 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:154 +msgid "Wiki name" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:170 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:155 +msgid "Content type" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:179 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +msgid "Create a status post for this wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:204 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:183 +msgid "Wiki not found" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:228 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:208 +msgid "Rename page" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:232 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:212 +msgid "Error retrieving page content" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:259 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:241 +msgid "Revision Comparison" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:260 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:242 +msgid "Revert" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:264 +msgid "Short description of your changes (optional)" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:271 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:251 +msgid "Source" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:279 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:259 +msgid "New page name" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:284 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:264 +#: ../../include/conversation.php:1299 +msgid "Embed image from photo albums" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:285 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:265 +#: ../../include/conversation.php:1393 +msgid "Embed an image from your albums" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:287 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:267 +#: ../../include/conversation.php:1395 ../../include/conversation.php:1442 +msgid "OK" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:288 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:268 +#: ../../include/conversation.php:1335 +msgid "Choose images to embed" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:289 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:269 +#: ../../include/conversation.php:1336 +msgid "Choose an album" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:290 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:270 +msgid "Choose a different album" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:291 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:271 +#: ../../include/conversation.php:1338 +msgid "Error getting album list" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:292 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:272 +#: ../../include/conversation.php:1339 +msgid "Error getting photo link" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:293 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:273 +#: ../../include/conversation.php:1340 +msgid "Error getting album" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:357 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:337 +msgid "Error creating wiki. Invalid name." msgstr "" -#: ../../Zotlabs/Module/Chat.php:181 +#: ../../Zotlabs/Module/Wiki.php:369 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:348 +msgid "Wiki created, but error creating Home page." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:376 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:353 +msgid "Error creating wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:388 +msgid "Wiki delete permission denied." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:398 +msgid "Error deleting wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:424 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:400 +msgid "New page created" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:539 +msgid "Cannot delete Home" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:603 +msgid "Current Revision" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:603 +msgid "Selected Revision" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:653 +msgid "You must be authenticated." +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:179 msgid "Room not found" msgstr "" -#: ../../Zotlabs/Module/Chat.php:197 +#: ../../Zotlabs/Module/Chat.php:195 msgid "Leave Room" msgstr "" -#: ../../Zotlabs/Module/Chat.php:198 +#: ../../Zotlabs/Module/Chat.php:196 msgid "Delete Room" msgstr "" -#: ../../Zotlabs/Module/Chat.php:199 +#: ../../Zotlabs/Module/Chat.php:197 msgid "I am away right now" msgstr "" -#: ../../Zotlabs/Module/Chat.php:200 +#: ../../Zotlabs/Module/Chat.php:198 msgid "I am online" msgstr "" -#: ../../Zotlabs/Module/Chat.php:202 +#: ../../Zotlabs/Module/Chat.php:200 msgid "Bookmark this room" msgstr "" -#: ../../Zotlabs/Module/Chat.php:231 +#: ../../Zotlabs/Module/Chat.php:229 msgid "New Chatroom" msgstr "" -#: ../../Zotlabs/Module/Chat.php:232 +#: ../../Zotlabs/Module/Chat.php:230 msgid "Chatroom name" msgstr "" -#: ../../Zotlabs/Module/Chat.php:233 +#: ../../Zotlabs/Module/Chat.php:231 msgid "Expiration of chats (minutes)" msgstr "" -#: ../../Zotlabs/Module/Chat.php:249 +#: ../../Zotlabs/Module/Chat.php:247 #, php-format msgid "%1$s's Chatrooms" msgstr "" -#: ../../Zotlabs/Module/Chat.php:254 +#: ../../Zotlabs/Module/Chat.php:252 msgid "No chatrooms available" msgstr "" -#: ../../Zotlabs/Module/Chat.php:258 +#: ../../Zotlabs/Module/Chat.php:256 msgid "Expiration" msgstr "" -#: ../../Zotlabs/Module/Chat.php:259 +#: ../../Zotlabs/Module/Chat.php:257 msgid "min" msgstr "" @@ -7195,22 +7254,22 @@ msgstr "" msgid "Room is full" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1924 +#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1947 msgid "$Projectname Notification" msgstr "" #: ../../Zotlabs/Lib/Enotify.php:61 ../../extend/addon/addon/diaspora/p.php:46 #: ../../extend/addon/addon/diaspora/util.php:218 #: ../../extend/addon/addon/diaspora/util.php:231 -#: ../../include/network.php:1925 +#: ../../include/network.php:1948 msgid "$projectname" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1927 +#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1950 msgid "Thank You," msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1929 +#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1952 #, php-format msgid "%s Administrator" msgstr "" @@ -7423,7 +7482,7 @@ msgid "Visible to your default audience" msgstr "" #: ../../Zotlabs/Lib/PermissionDescription.php:107 -#: ../../include/acl_selectors.php:191 +#: ../../include/acl_selectors.php:201 msgid "Only me" msgstr "" @@ -7480,6 +7539,89 @@ msgstr "" msgid "This is your default setting for the audience of your webpages" msgstr "" +#: ../../Zotlabs/Lib/NativeWikiPage.php:31 +#: ../../Zotlabs/Lib/NativeWikiPage.php:70 +msgid "(No Title)" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:84 +msgid "Wiki page create failed." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:97 +msgid "Wiki not found." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:108 +msgid "Destination name already exists" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:134 +#: ../../Zotlabs/Lib/NativeWikiPage.php:361 +msgid "Page not found" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:164 +msgid "Error reading page content" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:346 +#: ../../Zotlabs/Lib/NativeWikiPage.php:399 +#: ../../Zotlabs/Lib/NativeWikiPage.php:466 +#: ../../Zotlabs/Lib/NativeWikiPage.php:507 +msgid "Error reading wiki" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:387 +msgid "Page update failed." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:421 +msgid "Nothing deleted" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:487 +msgid "Compare: object not found." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:493 +msgid "Page updated" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:496 +msgid "Untitled" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:502 +msgid "Wiki resource_id required for git commit" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:573 +#: ../../extend/addon/addon/gitwiki/gitwiki_backend.php:579 +#: ../../include/bbcode.php:610 ../../include/bbcode.php:756 +msgid "Different viewers will see this text differently" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:58 +msgctxt "permcat" +msgid "default" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:96 +msgctxt "permcat" +msgid "follower" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:100 +msgctxt "permcat" +msgid "contributor" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:104 +msgctxt "permcat" +msgid "publisher" +msgstr "" + #: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:663 msgid "Private Message" msgstr "" @@ -7673,6 +7815,10 @@ msgstr "" msgid "Video" msgstr "" +#: ../../Zotlabs/Lib/NativeWiki.php:126 +msgid "Wiki files deleted successfully" +msgstr "" + #: ../../Zotlabs/Lib/Apps.php:212 msgid "Site Admin" msgstr "" @@ -7703,7 +7849,7 @@ msgid "Suggest Channels" msgstr "" #: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:130 -#: ../../boot.php:1732 +#: ../../boot.php:1749 msgid "Login" msgstr "" @@ -7753,7 +7899,7 @@ msgstr "" msgid "Invite" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:242 ../../include/widgets.php:1595 +#: ../../Zotlabs/Lib/Apps.php:242 ../../include/widgets.php:1638 msgid "Features" msgstr "" @@ -7781,91 +7927,12 @@ msgstr "" msgid "Undelete" msgstr "" -#: ../../Zotlabs/Lib/NativeWiki.php:126 -msgid "Wiki files deleted successfully" -msgstr "" - -#: ../../Zotlabs/Lib/Permcat.php:58 -msgctxt "permcat" -msgid "default" -msgstr "" - -#: ../../Zotlabs/Lib/Permcat.php:96 -msgctxt "permcat" -msgid "follower" -msgstr "" - -#: ../../Zotlabs/Lib/Permcat.php:100 -msgctxt "permcat" -msgid "contributor" -msgstr "" - -#: ../../Zotlabs/Lib/Permcat.php:104 -msgctxt "permcat" -msgid "publisher" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:31 -#: ../../Zotlabs/Lib/NativeWikiPage.php:62 -msgid "(No Title)" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:76 -msgid "Wiki page create failed." -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:89 -msgid "Wiki not found." -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:100 -msgid "Destination name already exists" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:126 -#: ../../Zotlabs/Lib/NativeWikiPage.php:345 -msgid "Page not found" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:156 -msgid "Error reading page content" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:338 -#: ../../Zotlabs/Lib/NativeWikiPage.php:383 -#: ../../Zotlabs/Lib/NativeWikiPage.php:450 -#: ../../Zotlabs/Lib/NativeWikiPage.php:491 -msgid "Error reading wiki" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:371 -msgid "Page update failed." -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:405 -msgid "Nothing deleted" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:471 -msgid "Compare: object not found." -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:477 -msgid "Page updated" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:480 -msgid "Untitled" -msgstr "" - -#: ../../Zotlabs/Lib/NativeWikiPage.php:486 -msgid "Wiki resource_id required for git commit" +#: ../../Zotlabs/Lib/Apps.php:364 +msgid "Add to app-tray" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:557 -#: ../../extend/addon/addon/gitwiki/gitwiki_backend.php:579 -#: ../../include/bbcode.php:610 ../../include/bbcode.php:756 -msgid "Different viewers will see this text differently" +#: ../../Zotlabs/Lib/Apps.php:365 +msgid "Remove from app-tray" msgstr "" #: ../../extend/addon/addon/adultphotoflag/adultphotoflag.php:24 @@ -8434,7 +8501,7 @@ msgid "Add a personal note:" msgstr "" #: ../../extend/addon/addon/friendica/dfrn_request.php:871 -#: ../../include/network.php:2242 ../../include/network.php:2243 +#: ../../include/network.php:2265 ../../include/network.php:2266 msgid "Friendica" msgstr "" @@ -8443,7 +8510,7 @@ msgid "StatusNet/Federated Social Web" msgstr "" #: ../../extend/addon/addon/friendica/dfrn_request.php:873 -#: ../../include/network.php:2248 +#: ../../include/network.php:2271 msgid "Diaspora" msgstr "" @@ -9101,7 +9168,7 @@ msgstr "" #: ../../extend/addon/addon/nsfw/nsfw.php:211 #, php-format -msgid "%s - click to open/close" +msgid "%s - view" msgstr "" #: ../../extend/addon/addon/openclipatar/openclipatar.php:50 @@ -9134,7 +9201,7 @@ msgid "Page to load after image selection." msgstr "" #: ../../extend/addon/addon/openclipatar/openclipatar.php:58 -#: ../../include/channel.php:1048 ../../include/nav.php:107 +#: ../../include/nav.php:107 ../../include/channel.php:1048 msgid "Edit Profile" msgstr "" @@ -9203,7 +9270,7 @@ msgstr "" msgid "Unknown error. Please try again later." msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:306 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:308 msgid "Profile photo updated successfully." msgstr "" @@ -9479,10 +9546,6 @@ msgstr "" msgid "Channel is required." msgstr "" -#: ../../extend/addon/addon/redred/redred.php:65 -msgid "Invalid channel." -msgstr "" - #: ../../extend/addon/addon/redred/redred.php:76 msgid "redred Settings saved." msgstr "" @@ -9742,23 +9805,23 @@ msgstr "" msgid "Application name" msgstr "" -#: ../../extend/addon/addon/superblock/superblock.php:110 +#: ../../extend/addon/addon/superblock/superblock.php:112 msgid "Currently blocked" msgstr "" -#: ../../extend/addon/addon/superblock/superblock.php:112 +#: ../../extend/addon/addon/superblock/superblock.php:114 msgid "No channels currently blocked" msgstr "" -#: ../../extend/addon/addon/superblock/superblock.php:118 +#: ../../extend/addon/addon/superblock/superblock.php:120 msgid "\"Superblock\" Settings" msgstr "" -#: ../../extend/addon/addon/superblock/superblock.php:322 +#: ../../extend/addon/addon/superblock/superblock.php:345 msgid "Block Completely" msgstr "" -#: ../../extend/addon/addon/superblock/superblock.php:371 +#: ../../extend/addon/addon/superblock/superblock.php:394 msgid "superblock settings updated" msgstr "" @@ -10367,32 +10430,32 @@ msgid "CalDAV/CardDAV Settings" msgstr "" #: ../../extend/addon/addon/cdav/cdav.php:272 -#: ../../include/connections.php:896 +#: ../../include/connections.php:670 msgid "Home, Voice" msgstr "" #: ../../extend/addon/addon/cdav/cdav.php:273 -#: ../../include/connections.php:897 +#: ../../include/connections.php:671 msgid "Home, Fax" msgstr "" #: ../../extend/addon/addon/cdav/cdav.php:275 -#: ../../include/connections.php:899 +#: ../../include/connections.php:673 msgid "Work, Voice" msgstr "" #: ../../extend/addon/addon/cdav/cdav.php:276 -#: ../../include/connections.php:900 +#: ../../include/connections.php:674 msgid "Work, Fax" msgstr "" #: ../../extend/addon/addon/chess/chess.php:276 -#: ../../extend/addon/addon/chess/chess.php:430 +#: ../../extend/addon/addon/chess/chess.php:433 msgid "Invalid game." msgstr "" #: ../../extend/addon/addon/chess/chess.php:282 -#: ../../extend/addon/addon/chess/chess.php:436 +#: ../../extend/addon/addon/chess/chess.php:439 msgid "You are not a player in this game." msgstr "" @@ -10416,15 +10479,15 @@ msgstr "" msgid "Error creating new game." msgstr "" -#: ../../extend/addon/addon/chess/chess.php:379 ../../include/channel.php:899 +#: ../../extend/addon/addon/chess/chess.php:381 ../../include/channel.php:899 msgid "Requested channel is not available." msgstr "" -#: ../../extend/addon/addon/chess/chess.php:392 +#: ../../extend/addon/addon/chess/chess.php:395 msgid "You must select a local channel /chess/channelname" msgstr "" -#: ../../extend/addon/addon/chess/chess.php:920 +#: ../../extend/addon/addon/chess/chess.php:923 msgid "Enable notifications" msgstr "" @@ -10714,22 +10777,22 @@ msgid "Error downloading wiki: " msgstr "" #: ../../extend/addon/addon/gitwiki/gitwiki.php:76 -#: ../../include/widgets.php:970 +#: ../../include/widgets.php:956 msgid "Wiki Pages" msgstr "" #: ../../extend/addon/addon/gitwiki/gitwiki.php:81 -#: ../../include/widgets.php:976 +#: ../../include/widgets.php:962 msgid "Add new page" msgstr "" #: ../../extend/addon/addon/gitwiki/gitwiki.php:82 -#: ../../include/widgets.php:977 +#: ../../include/widgets.php:963 msgid "Page name" msgstr "" #: ../../extend/addon/addon/gitwiki/gitwiki.php:95 -#: ../../include/widgets.php:927 +#: ../../include/widgets.php:913 msgid "Wiki List" msgstr "" @@ -10737,13 +10800,13 @@ msgstr "" msgid "Enable the GNU-Social protocol for this channel" msgstr "" -#: ../../extend/addon/addon/opensearch/opensearch.php:26 ../../boot.php:1187 +#: ../../extend/addon/addon/opensearch/opensearch.php:26 ../../boot.php:1186 #, php-format msgctxt "opensearch" msgid "Search %1$s (%2$s)" msgstr "" -#: ../../extend/addon/addon/opensearch/opensearch.php:28 ../../boot.php:1187 +#: ../../extend/addon/addon/opensearch/opensearch.php:28 ../../boot.php:1186 msgctxt "opensearch" msgid "$Projectname" msgstr "" @@ -10757,7 +10820,7 @@ msgstr "" msgid "Cannot locate DNS info for database server '%s'" msgstr "" -#: ../../include/language.php:367 ../../include/text.php:1786 +#: ../../include/language.php:367 ../../include/text.php:1788 msgid "default" msgstr "" @@ -10833,39 +10896,240 @@ msgstr "" msgid "This action is not available under your subscription plan." msgstr "" -#: ../../include/acl_selectors.php:198 -msgid "Who can see this?" +#: ../../include/widgets.php:46 ../../include/widgets.php:455 +#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270 +#: ../../include/contact_widgets.php:91 +msgid "Categories" msgstr "" -#: ../../include/acl_selectors.php:199 -msgid "Custom selection" +#: ../../include/widgets.php:141 +msgid "Suggestions" msgstr "" -#: ../../include/acl_selectors.php:200 -msgid "" -"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit " -"the scope of \"Show\"." +#: ../../include/widgets.php:142 +msgid "See more..." msgstr "" -#: ../../include/acl_selectors.php:201 -msgid "Show" +#: ../../include/widgets.php:162 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." msgstr "" -#: ../../include/acl_selectors.php:202 -msgid "Don't show" +#: ../../include/widgets.php:168 +msgid "Add New Connection" msgstr "" -#: ../../include/acl_selectors.php:235 -#, 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." +#: ../../include/widgets.php:169 +msgid "Enter channel address" msgstr "" -#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270 -#: ../../include/widgets.php:46 ../../include/widgets.php:469 -#: ../../include/contact_widgets.php:91 -msgid "Categories" +#: ../../include/widgets.php:170 +msgid "Examples: bob@example.com, https://example.com/barbara" +msgstr "" + +#: ../../include/widgets.php:186 +msgid "Notes" +msgstr "" + +#: ../../include/widgets.php:262 +msgid "Remove term" +msgstr "" + +#: ../../include/widgets.php:270 ../../include/features.php:301 +msgid "Saved Searches" +msgstr "" + +#: ../../include/widgets.php:271 ../../include/group.php:336 +msgid "add" +msgstr "" + +#: ../../include/widgets.php:333 ../../include/contact_widgets.php:53 +#: ../../include/features.php:390 +msgid "Saved Folders" +msgstr "" + +#: ../../include/widgets.php:336 ../../include/widgets.php:458 +#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94 +msgid "Everything" +msgstr "" + +#: ../../include/widgets.php:377 +msgid "Archives" +msgstr "" + +#: ../../include/widgets.php:549 +msgid "Refresh" +msgstr "" + +#: ../../include/widgets.php:589 +msgid "Account settings" +msgstr "" + +#: ../../include/widgets.php:595 +msgid "Channel settings" +msgstr "" + +#: ../../include/widgets.php:604 +msgid "Additional features" +msgstr "" + +#: ../../include/widgets.php:611 +msgid "Feature/Addon settings" +msgstr "" + +#: ../../include/widgets.php:617 +msgid "Display settings" +msgstr "" + +#: ../../include/widgets.php:624 +msgid "Manage locations" +msgstr "" + +#: ../../include/widgets.php:631 +msgid "Export channel" +msgstr "" + +#: ../../include/widgets.php:637 +msgid "Connected apps" +msgstr "" + +#: ../../include/widgets.php:652 ../../include/features.php:153 +msgid "Permission Groups" +msgstr "" + +#: ../../include/widgets.php:669 +msgid "Premium Channel Settings" +msgstr "" + +#: ../../include/widgets.php:698 +msgid "Private Mail Menu" +msgstr "" + +#: ../../include/widgets.php:700 +msgid "Combined View" +msgstr "" + +#: ../../include/widgets.php:705 ../../include/nav.php:213 +msgid "Inbox" +msgstr "" + +#: ../../include/widgets.php:710 ../../include/nav.php:214 +msgid "Outbox" +msgstr "" + +#: ../../include/widgets.php:715 ../../include/nav.php:215 +msgid "New Message" +msgstr "" + +#: ../../include/widgets.php:732 ../../include/widgets.php:744 +msgid "Conversations" +msgstr "" + +#: ../../include/widgets.php:736 +msgid "Received Messages" +msgstr "" + +#: ../../include/widgets.php:740 +msgid "Sent Messages" +msgstr "" + +#: ../../include/widgets.php:754 +msgid "No messages." +msgstr "" + +#: ../../include/widgets.php:772 +msgid "Delete conversation" +msgstr "" + +#: ../../include/widgets.php:798 +msgid "Events Tools" +msgstr "" + +#: ../../include/widgets.php:799 +msgid "Export Calendar" +msgstr "" + +#: ../../include/widgets.php:800 +msgid "Import Calendar" +msgstr "" + +#: ../../include/widgets.php:888 ../../include/conversation.php:1866 +#: ../../include/conversation.php:1869 +msgid "Chatrooms" +msgstr "" + +#: ../../include/widgets.php:892 +msgid "Overview" +msgstr "" + +#: ../../include/widgets.php:899 +msgid "Chat Members" +msgstr "" + +#: ../../include/widgets.php:977 +msgctxt "wiki_history" +msgid "Message" +msgstr "" + +#: ../../include/widgets.php:999 +msgid "Bookmarked Chatrooms" +msgstr "" + +#: ../../include/widgets.php:1030 +msgid "Suggested Chatrooms" +msgstr "" + +#: ../../include/widgets.php:1175 ../../include/widgets.php:1287 +msgid "photo/image" +msgstr "" + +#: ../../include/widgets.php:1230 +msgid "Click to show more" +msgstr "" + +#: ../../include/widgets.php:1381 +msgid "Rating Tools" +msgstr "" + +#: ../../include/widgets.php:1385 ../../include/widgets.php:1387 +msgid "Rate Me" +msgstr "" + +#: ../../include/widgets.php:1390 +msgid "View Ratings" +msgstr "" + +#: ../../include/widgets.php:1483 +msgid "Forums" +msgstr "" + +#: ../../include/widgets.php:1540 +msgctxt "widget" +msgid "Activity" +msgstr "" + +#: ../../include/widgets.php:1569 +msgid "Tasks" +msgstr "" + +#: ../../include/widgets.php:1635 ../../include/widgets.php:1673 +msgid "Member registrations waiting for confirmation" +msgstr "" + +#: ../../include/widgets.php:1641 +msgid "Inspect queue" +msgstr "" + +#: ../../include/widgets.php:1643 +msgid "DB updates" +msgstr "" + +#: ../../include/widgets.php:1668 ../../include/nav.php:233 +msgid "Admin" +msgstr "" + +#: ../../include/widgets.php:1669 +msgid "Plugin Features" msgstr "" #: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249 @@ -10900,27 +11164,43 @@ msgstr "" msgid "dislikes" msgstr "" -#: ../../include/markdown.php:444 -msgid "Attachments:" +#: ../../include/event.php:22 ../../include/event.php:69 +#: ../../include/markdown.php:540 +msgid "l F d, Y \\@ g:i A" msgstr "" -#: ../../include/markdown.php:539 ../../include/event.php:22 -#: ../../include/event.php:69 -msgid "l F d, Y \\@ g:i A" +#: ../../include/event.php:30 ../../include/event.php:73 +#: ../../include/markdown.php:546 +msgid "Starts:" msgstr "" -#: ../../include/markdown.php:541 -msgid "$Projectname event notification:" +#: ../../include/event.php:40 ../../include/event.php:77 +#: ../../include/markdown.php:554 +msgid "Finishes:" msgstr "" -#: ../../include/markdown.php:545 ../../include/event.php:30 -#: ../../include/event.php:73 -msgid "Starts:" +#: ../../include/event.php:1004 +msgid "This event has been added to your calendar." msgstr "" -#: ../../include/markdown.php:553 ../../include/event.php:40 -#: ../../include/event.php:77 -msgid "Finishes:" +#: ../../include/event.php:1204 +msgid "Not specified" +msgstr "" + +#: ../../include/event.php:1205 +msgid "Needs Action" +msgstr "" + +#: ../../include/event.php:1206 +msgid "Completed" +msgstr "" + +#: ../../include/event.php:1207 +msgid "In Process" +msgstr "" + +#: ../../include/event.php:1208 +msgid "Cancelled" msgstr "" #: ../../include/datetime.php:147 @@ -10935,7 +11215,7 @@ msgstr "" msgid "YYYY-MM-DD or MM-DD" msgstr "" -#: ../../include/datetime.php:286 ../../boot.php:2578 +#: ../../include/datetime.php:286 ../../boot.php:2598 msgid "never" msgstr "" @@ -11248,747 +11528,97 @@ msgstr "" msgid "Ask me" msgstr "" -#: ../../include/connections.php:127 -msgid "New window" -msgstr "" - -#: ../../include/connections.php:128 -msgid "Open the selected location in a different window or browser tab" -msgstr "" - -#: ../../include/connections.php:246 -#, php-format -msgid "User '%s' deleted" -msgstr "" - -#: ../../include/conversation.php:204 -#, php-format -msgid "%1$s is now connected with %2$s" -msgstr "" - -#: ../../include/conversation.php:239 -#, php-format -msgid "%1$s poked %2$s" -msgstr "" - -#: ../../include/conversation.php:243 ../../include/text.php:1090 -#: ../../include/text.php:1095 -msgid "poked" -msgstr "" - -#: ../../include/conversation.php:690 -#, php-format -msgid "View %s's profile @ %s" -msgstr "" - -#: ../../include/conversation.php:710 -msgid "Categories:" -msgstr "" - -#: ../../include/conversation.php:711 -msgid "Filed under:" -msgstr "" - -#: ../../include/conversation.php:736 -msgid "View in context" -msgstr "" - -#: ../../include/conversation.php:832 -msgid "remove" -msgstr "" - -#: ../../include/conversation.php:836 ../../include/nav.php:292 -msgid "Loading..." -msgstr "" - -#: ../../include/conversation.php:837 -msgid "Delete Selected Items" -msgstr "" - -#: ../../include/conversation.php:930 ../../include/conversation.php:972 -msgid "View Source" -msgstr "" - -#: ../../include/conversation.php:931 ../../include/conversation.php:982 -msgid "Follow Thread" -msgstr "" - -#: ../../include/conversation.php:932 ../../include/conversation.php:991 -msgid "Unfollow Thread" -msgstr "" - -#: ../../include/conversation.php:937 ../../include/conversation.php:1059 -msgid "Activity/Posts" -msgstr "" - -#: ../../include/conversation.php:939 ../../include/conversation.php:1079 -msgid "Edit Connection" -msgstr "" - -#: ../../include/conversation.php:940 ../../include/conversation.php:1089 -msgid "Message" -msgstr "" - -#: ../../include/conversation.php:1223 -#, php-format -msgid "%s likes this." -msgstr "" - -#: ../../include/conversation.php:1223 -#, php-format -msgid "%s doesn't like this." -msgstr "" - -#: ../../include/conversation.php:1227 -#, 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:1229 -#, 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:1235 -msgid "and" -msgstr "" - -#: ../../include/conversation.php:1238 -#, php-format -msgid ", and %d other people" -msgid_plural ", and %d other people" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1239 -#, php-format -msgid "%s like this." -msgstr "" - -#: ../../include/conversation.php:1239 -#, php-format -msgid "%s don't like this." -msgstr "" - -#: ../../include/conversation.php:1282 -msgid "Set your location" -msgstr "" - -#: ../../include/conversation.php:1283 -msgid "Clear browser location" -msgstr "" - -#: ../../include/conversation.php:1331 -msgid "Tag term:" -msgstr "" - -#: ../../include/conversation.php:1332 -msgid "Where are you right now?" -msgstr "" - -#: ../../include/conversation.php:1337 -msgid "Choose a different album..." -msgstr "" - -#: ../../include/conversation.php:1341 -msgid "Comments enabled" -msgstr "" - -#: ../../include/conversation.php:1342 -msgid "Comments disabled" -msgstr "" - -#: ../../include/conversation.php:1380 -msgid "Page link name" -msgstr "" - -#: ../../include/conversation.php:1383 -msgid "Post as" -msgstr "" - -#: ../../include/conversation.php:1397 -msgid "Toggle voting" -msgstr "" - -#: ../../include/conversation.php:1400 -msgid "Disable comments" -msgstr "" - -#: ../../include/conversation.php:1401 -msgid "Toggle comments" -msgstr "" - -#: ../../include/conversation.php:1409 -msgid "Categories (optional, comma-separated list)" -msgstr "" - -#: ../../include/conversation.php:1432 -msgid "Other networks and post services" -msgstr "" - -#: ../../include/conversation.php:1438 -msgid "Set publish date" -msgstr "" - -#: ../../include/conversation.php:1692 -msgid "Discover" -msgstr "" - -#: ../../include/conversation.php:1695 -msgid "Imported public streams" -msgstr "" - -#: ../../include/conversation.php:1700 -msgid "Commented Order" -msgstr "" - -#: ../../include/conversation.php:1703 -msgid "Sort by Comment Date" -msgstr "" - -#: ../../include/conversation.php:1707 -msgid "Posted Order" -msgstr "" - -#: ../../include/conversation.php:1710 -msgid "Sort by Post Date" -msgstr "" - -#: ../../include/conversation.php:1718 -msgid "Posts that mention or involve you" -msgstr "" - -#: ../../include/conversation.php:1727 -msgid "Activity Stream - by date" -msgstr "" - -#: ../../include/conversation.php:1733 -msgid "Starred" -msgstr "" - -#: ../../include/conversation.php:1736 -msgid "Favourite Posts" -msgstr "" - -#: ../../include/conversation.php:1743 -msgid "Spam" -msgstr "" - -#: ../../include/conversation.php:1746 -msgid "Posts flagged as SPAM" -msgstr "" - -#: ../../include/conversation.php:1818 -msgid "Status Messages and Posts" -msgstr "" - -#: ../../include/conversation.php:1830 -msgid "Profile Details" -msgstr "" - -#: ../../include/conversation.php:1839 ../../include/photos.php:515 -msgid "Photo Albums" -msgstr "" - -#: ../../include/conversation.php:1846 -msgid "Files and Storage" -msgstr "" - -#: ../../include/conversation.php:1866 ../../include/conversation.php:1869 -#: ../../include/widgets.php:902 -msgid "Chatrooms" -msgstr "" - -#: ../../include/conversation.php:1879 -msgid "Bookmarks" -msgstr "" - -#: ../../include/conversation.php:1882 -msgid "Saved Bookmarks" +#: ../../include/acl_selectors.php:208 +msgid "Who can see this?" msgstr "" -#: ../../include/conversation.php:1892 -msgid "View Webpages" +#: ../../include/acl_selectors.php:209 +msgid "Custom selection" msgstr "" -#: ../../include/conversation.php:1958 -msgctxt "noun" -msgid "Attending" -msgid_plural "Attending" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1961 -msgctxt "noun" -msgid "Not Attending" -msgid_plural "Not Attending" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1964 -msgctxt "noun" -msgid "Undecided" -msgid_plural "Undecided" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1967 -msgctxt "noun" -msgid "Agree" -msgid_plural "Agrees" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1970 -msgctxt "noun" -msgid "Disagree" -msgid_plural "Disagrees" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1973 -msgctxt "noun" -msgid "Abstain" -msgid_plural "Abstains" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/import.php:30 +#: ../../include/acl_selectors.php:210 msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." -msgstr "" - -#: ../../include/import.php:90 -msgid "Channel clone failed. Import failed." -msgstr "" - -#: ../../include/import.php:100 -msgid "Cloned channel not found. Import failed." -msgstr "" - -#: ../../include/import.php:1373 -msgid "Unable to import element \"" -msgstr "" - -#: ../../include/message.php:32 -msgid "Unable to determine sender." -msgstr "" - -#: ../../include/message.php:69 -msgid "No recipient provided." -msgstr "" - -#: ../../include/message.php:74 -msgid "[no subject]" +"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit " +"the scope of \"Show\"." msgstr "" -#: ../../include/message.php:225 -msgid "Stored post could not be verified." +#: ../../include/acl_selectors.php:211 +msgid "Show" msgstr "" -#: ../../include/security.php:117 -msgid "guest:" +#: ../../include/acl_selectors.php:212 +msgid "Don't show" msgstr "" -#: ../../include/security.php:532 +#: ../../include/acl_selectors.php:245 +#, 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 "" - -#: ../../include/widgets.php:103 -msgid "System" -msgstr "" - -#: ../../include/widgets.php:106 -msgid "New App" -msgstr "" - -#: ../../include/widgets.php:107 -msgid "Edit Apps" +"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/widgets.php:155 -msgid "Suggestions" +#: ../../include/bbcode.php:134 ../../include/bbcode.php:1040 +#: ../../include/bbcode.php:1043 ../../include/bbcode.php:1048 +#: ../../include/bbcode.php:1051 ../../include/bbcode.php:1054 +#: ../../include/bbcode.php:1057 ../../include/bbcode.php:1062 +#: ../../include/bbcode.php:1065 ../../include/bbcode.php:1070 +#: ../../include/bbcode.php:1073 ../../include/bbcode.php:1076 +#: ../../include/bbcode.php:1079 +msgid "Image/photo" msgstr "" -#: ../../include/widgets.php:156 -msgid "See more..." +#: ../../include/bbcode.php:173 ../../include/bbcode.php:1090 +msgid "Encrypted content" msgstr "" -#: ../../include/widgets.php:176 +#: ../../include/bbcode.php:189 #, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." -msgstr "" - -#: ../../include/widgets.php:182 -msgid "Add New Connection" -msgstr "" - -#: ../../include/widgets.php:183 -msgid "Enter channel address" -msgstr "" - -#: ../../include/widgets.php:184 -msgid "Examples: bob@example.com, https://example.com/barbara" -msgstr "" - -#: ../../include/widgets.php:200 -msgid "Notes" -msgstr "" - -#: ../../include/widgets.php:276 -msgid "Remove term" -msgstr "" - -#: ../../include/widgets.php:284 ../../include/features.php:301 -msgid "Saved Searches" -msgstr "" - -#: ../../include/widgets.php:285 ../../include/group.php:316 -msgid "add" -msgstr "" - -#: ../../include/widgets.php:347 ../../include/contact_widgets.php:53 -#: ../../include/features.php:390 -msgid "Saved Folders" -msgstr "" - -#: ../../include/widgets.php:350 ../../include/widgets.php:472 -#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94 -msgid "Everything" -msgstr "" - -#: ../../include/widgets.php:391 -msgid "Archives" -msgstr "" - -#: ../../include/widgets.php:563 -msgid "Refresh" -msgstr "" - -#: ../../include/widgets.php:603 -msgid "Account settings" -msgstr "" - -#: ../../include/widgets.php:609 -msgid "Channel settings" -msgstr "" - -#: ../../include/widgets.php:618 -msgid "Additional features" -msgstr "" - -#: ../../include/widgets.php:625 -msgid "Feature/Addon settings" -msgstr "" - -#: ../../include/widgets.php:631 -msgid "Display settings" -msgstr "" - -#: ../../include/widgets.php:638 -msgid "Manage locations" -msgstr "" - -#: ../../include/widgets.php:645 -msgid "Export channel" -msgstr "" - -#: ../../include/widgets.php:651 -msgid "Connected apps" -msgstr "" - -#: ../../include/widgets.php:683 -msgid "Premium Channel Settings" -msgstr "" - -#: ../../include/widgets.php:712 -msgid "Private Mail Menu" -msgstr "" - -#: ../../include/widgets.php:714 -msgid "Combined View" -msgstr "" - -#: ../../include/widgets.php:719 ../../include/nav.php:213 -msgid "Inbox" -msgstr "" - -#: ../../include/widgets.php:724 ../../include/nav.php:214 -msgid "Outbox" -msgstr "" - -#: ../../include/widgets.php:729 ../../include/nav.php:215 -msgid "New Message" -msgstr "" - -#: ../../include/widgets.php:746 ../../include/widgets.php:758 -msgid "Conversations" -msgstr "" - -#: ../../include/widgets.php:750 -msgid "Received Messages" -msgstr "" - -#: ../../include/widgets.php:754 -msgid "Sent Messages" -msgstr "" - -#: ../../include/widgets.php:768 -msgid "No messages." -msgstr "" - -#: ../../include/widgets.php:786 -msgid "Delete conversation" -msgstr "" - -#: ../../include/widgets.php:812 -msgid "Events Tools" -msgstr "" - -#: ../../include/widgets.php:813 -msgid "Export Calendar" -msgstr "" - -#: ../../include/widgets.php:814 -msgid "Import Calendar" -msgstr "" - -#: ../../include/widgets.php:906 -msgid "Overview" -msgstr "" - -#: ../../include/widgets.php:913 -msgid "Chat Members" -msgstr "" - -#: ../../include/widgets.php:991 -msgctxt "wiki_history" -msgid "Message" -msgstr "" - -#: ../../include/widgets.php:1013 -msgid "Bookmarked Chatrooms" -msgstr "" - -#: ../../include/widgets.php:1044 -msgid "Suggested Chatrooms" -msgstr "" - -#: ../../include/widgets.php:1189 ../../include/widgets.php:1301 -msgid "photo/image" -msgstr "" - -#: ../../include/widgets.php:1244 -msgid "Click to show more" -msgstr "" - -#: ../../include/widgets.php:1395 -msgid "Rating Tools" -msgstr "" - -#: ../../include/widgets.php:1399 ../../include/widgets.php:1401 -msgid "Rate Me" -msgstr "" - -#: ../../include/widgets.php:1404 -msgid "View Ratings" -msgstr "" - -#: ../../include/widgets.php:1497 -msgid "Forums" -msgstr "" - -#: ../../include/widgets.php:1526 -msgid "Tasks" -msgstr "" - -#: ../../include/widgets.php:1592 ../../include/widgets.php:1630 -msgid "Member registrations waiting for confirmation" -msgstr "" - -#: ../../include/widgets.php:1598 -msgid "Inspect queue" -msgstr "" - -#: ../../include/widgets.php:1600 -msgid "DB updates" -msgstr "" - -#: ../../include/widgets.php:1625 ../../include/nav.php:233 -msgid "Admin" -msgstr "" - -#: ../../include/widgets.php:1626 -msgid "Plugin Features" -msgstr "" - -#: ../../include/zot.php:652 -msgid "Invalid data packet" -msgstr "" - -#: ../../include/zot.php:668 -msgid "Unable to verify channel signature" +msgid "Install %s element: " msgstr "" -#: ../../include/zot.php:2319 +#: ../../include/bbcode.php:193 #, php-format -msgid "Unable to verify site signature for %s" -msgstr "" - -#: ../../include/zot.php:3725 -msgid "invalid target signature" -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." -msgstr "" - -#: ../../include/channel.php:212 msgid "" -"Nickname has unsupported characters or is already being used on this site." -msgstr "" - -#: ../../include/channel.php:272 -msgid "Unable to retrieve created identity" -msgstr "" - -#: ../../include/channel.php:344 -msgid "Default Profile" -msgstr "" - -#: ../../include/channel.php:1045 -msgid "Create New Profile" -msgstr "" - -#: ../../include/channel.php:1065 -msgid "Visible to everybody" -msgstr "" - -#: ../../include/channel.php:1138 ../../include/channel.php:1257 -msgid "Gender:" -msgstr "" - -#: ../../include/channel.php:1140 ../../include/channel.php:1312 -msgid "Homepage:" -msgstr "" - -#: ../../include/channel.php:1141 -msgid "Online Now" -msgstr "" - -#: ../../include/channel.php:1262 -msgid "Like this channel" -msgstr "" - -#: ../../include/channel.php:1286 -msgid "j F, Y" -msgstr "" - -#: ../../include/channel.php:1287 -msgid "j F" -msgstr "" - -#: ../../include/channel.php:1294 -msgid "Birthday:" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." msgstr "" -#: ../../include/channel.php:1307 +#: ../../include/bbcode.php:272 #, php-format -msgid "for %1$d %2$s" -msgstr "" - -#: ../../include/channel.php:1310 -msgid "Sexual Preference:" -msgstr "" - -#: ../../include/channel.php:1316 -msgid "Tags:" -msgstr "" - -#: ../../include/channel.php:1318 -msgid "Political Views:" -msgstr "" - -#: ../../include/channel.php:1320 -msgid "Religion:" -msgstr "" - -#: ../../include/channel.php:1324 -msgid "Hobbies/Interests:" -msgstr "" - -#: ../../include/channel.php:1326 -msgid "Likes:" -msgstr "" - -#: ../../include/channel.php:1328 -msgid "Dislikes:" -msgstr "" - -#: ../../include/channel.php:1330 -msgid "Contact information and Social Networks:" -msgstr "" - -#: ../../include/channel.php:1332 -msgid "My other channels:" +msgid "%1$s wrote the following %2$s %3$s" msgstr "" -#: ../../include/channel.php:1334 -msgid "Musical interests:" +#: ../../include/bbcode.php:349 ../../include/bbcode.php:357 +msgid "Click to open/close" msgstr "" -#: ../../include/channel.php:1336 -msgid "Books, literature:" +#: ../../include/bbcode.php:357 +msgid "spoiler" msgstr "" -#: ../../include/channel.php:1338 -msgid "Television:" +#: ../../include/bbcode.php:1028 +msgid "$1 wrote:" msgstr "" -#: ../../include/channel.php:1340 -msgid "Film/dance/culture/entertainment:" +#: ../../include/bookmarks.php:34 +#, php-format +msgid "%1$s's bookmarks" msgstr "" -#: ../../include/channel.php:1342 -msgid "Love/Romance:" +#: ../../include/connections.php:127 +msgid "New window" msgstr "" -#: ../../include/channel.php:1344 -msgid "Work/employment:" +#: ../../include/connections.php:128 +msgid "Open the selected location in a different window or browser tab" msgstr "" -#: ../../include/channel.php:1346 -msgid "School/education:" +#: ../../include/help.php:33 +msgid "Help:" msgstr "" -#: ../../include/channel.php:1369 -msgid "Like this thing" +#: ../../include/help.php:65 +msgid "Not Found" msgstr "" #: ../../include/page_widgets.php:7 @@ -12181,19 +11811,19 @@ msgstr "" msgid "timeago.numbers" msgstr "" -#: ../../include/js_strings.php:45 ../../include/text.php:1323 +#: ../../include/js_strings.php:45 ../../include/text.php:1331 msgid "January" msgstr "" -#: ../../include/js_strings.php:46 ../../include/text.php:1323 +#: ../../include/js_strings.php:46 ../../include/text.php:1331 msgid "February" msgstr "" -#: ../../include/js_strings.php:47 ../../include/text.php:1323 +#: ../../include/js_strings.php:47 ../../include/text.php:1331 msgid "March" msgstr "" -#: ../../include/js_strings.php:48 ../../include/text.php:1323 +#: ../../include/js_strings.php:48 ../../include/text.php:1331 msgid "April" msgstr "" @@ -12202,31 +11832,31 @@ msgctxt "long" msgid "May" msgstr "" -#: ../../include/js_strings.php:50 ../../include/text.php:1323 +#: ../../include/js_strings.php:50 ../../include/text.php:1331 msgid "June" msgstr "" -#: ../../include/js_strings.php:51 ../../include/text.php:1323 +#: ../../include/js_strings.php:51 ../../include/text.php:1331 msgid "July" msgstr "" -#: ../../include/js_strings.php:52 ../../include/text.php:1323 +#: ../../include/js_strings.php:52 ../../include/text.php:1331 msgid "August" msgstr "" -#: ../../include/js_strings.php:53 ../../include/text.php:1323 +#: ../../include/js_strings.php:53 ../../include/text.php:1331 msgid "September" msgstr "" -#: ../../include/js_strings.php:54 ../../include/text.php:1323 +#: ../../include/js_strings.php:54 ../../include/text.php:1331 msgid "October" msgstr "" -#: ../../include/js_strings.php:55 ../../include/text.php:1323 +#: ../../include/js_strings.php:55 ../../include/text.php:1331 msgid "November" msgstr "" -#: ../../include/js_strings.php:56 ../../include/text.php:1323 +#: ../../include/js_strings.php:56 ../../include/text.php:1331 msgid "December" msgstr "" @@ -12279,31 +11909,31 @@ msgstr "" msgid "Dec" msgstr "" -#: ../../include/js_strings.php:69 ../../include/text.php:1319 +#: ../../include/js_strings.php:69 ../../include/text.php:1327 msgid "Sunday" msgstr "" -#: ../../include/js_strings.php:70 ../../include/text.php:1319 +#: ../../include/js_strings.php:70 ../../include/text.php:1327 msgid "Monday" msgstr "" -#: ../../include/js_strings.php:71 ../../include/text.php:1319 +#: ../../include/js_strings.php:71 ../../include/text.php:1327 msgid "Tuesday" msgstr "" -#: ../../include/js_strings.php:72 ../../include/text.php:1319 +#: ../../include/js_strings.php:72 ../../include/text.php:1327 msgid "Wednesday" msgstr "" -#: ../../include/js_strings.php:73 ../../include/text.php:1319 +#: ../../include/js_strings.php:73 ../../include/text.php:1327 msgid "Thursday" msgstr "" -#: ../../include/js_strings.php:74 ../../include/text.php:1319 +#: ../../include/js_strings.php:74 ../../include/text.php:1327 msgid "Friday" msgstr "" -#: ../../include/js_strings.php:75 ../../include/text.php:1319 +#: ../../include/js_strings.php:75 ../../include/text.php:1327 msgid "Saturday" msgstr "" @@ -12376,414 +12006,453 @@ msgstr "" msgid "This Website Only" msgstr "" -#: ../../include/attach.php:248 ../../include/attach.php:336 -msgid "Item was not found." +#: ../../include/network.php:756 +msgid "view full size" msgstr "" -#: ../../include/attach.php:497 -msgid "No source file." +#: ../../include/network.php:2011 +msgid "No Subject" msgstr "" -#: ../../include/attach.php:519 -msgid "Cannot locate file to replace" +#: ../../include/network.php:2267 +msgid "OStatus" msgstr "" -#: ../../include/attach.php:537 -msgid "Cannot locate file to revise/update" +#: ../../include/network.php:2268 +msgid "GNU-Social" msgstr "" -#: ../../include/attach.php:668 -#, php-format -msgid "File exceeds size limit of %d" +#: ../../include/network.php:2269 +msgid "RSS/Atom" msgstr "" -#: ../../include/attach.php:682 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +#: ../../include/network.php:2272 +msgid "Facebook" msgstr "" -#: ../../include/attach.php:852 -msgid "File upload failed. Possible system limit or action terminated." +#: ../../include/network.php:2273 +msgid "Zot" msgstr "" -#: ../../include/attach.php:865 -msgid "Stored file could not be verified. Upload failed." +#: ../../include/network.php:2274 +msgid "LinkedIn" msgstr "" -#: ../../include/attach.php:920 ../../include/attach.php:936 -msgid "Path not available." +#: ../../include/network.php:2275 +msgid "XMPP/IM" msgstr "" -#: ../../include/attach.php:982 ../../include/attach.php:1140 -msgid "Empty pathname" +#: ../../include/network.php:2276 +msgid "MySpace" msgstr "" -#: ../../include/attach.php:1008 -msgid "duplicate filename or path" +#: ../../include/conversation.php:204 +#, php-format +msgid "%1$s is now connected with %2$s" msgstr "" -#: ../../include/attach.php:1030 -msgid "Path not found." +#: ../../include/conversation.php:239 +#, php-format +msgid "%1$s poked %2$s" msgstr "" -#: ../../include/attach.php:1094 -msgid "mkdir failed." +#: ../../include/conversation.php:243 ../../include/text.php:1098 +#: ../../include/text.php:1103 +msgid "poked" msgstr "" -#: ../../include/attach.php:1098 -msgid "database storage failed." +#: ../../include/conversation.php:690 +#, php-format +msgid "View %s's profile @ %s" msgstr "" -#: ../../include/attach.php:1146 -msgid "Empty path" +#: ../../include/conversation.php:710 +msgid "Categories:" msgstr "" -#: ../../include/network.php:733 -msgid "view full size" +#: ../../include/conversation.php:711 +msgid "Filed under:" msgstr "" -#: ../../include/network.php:1988 -msgid "No Subject" +#: ../../include/conversation.php:736 +msgid "View in context" msgstr "" -#: ../../include/network.php:2244 -msgid "OStatus" +#: ../../include/conversation.php:832 +msgid "remove" msgstr "" -#: ../../include/network.php:2245 -msgid "GNU-Social" +#: ../../include/conversation.php:836 ../../include/nav.php:292 +msgid "Loading..." msgstr "" -#: ../../include/network.php:2246 -msgid "RSS/Atom" +#: ../../include/conversation.php:837 +msgid "Delete Selected Items" msgstr "" -#: ../../include/network.php:2249 -msgid "Facebook" +#: ../../include/conversation.php:930 ../../include/conversation.php:972 +msgid "View Source" msgstr "" -#: ../../include/network.php:2250 -msgid "Zot" +#: ../../include/conversation.php:931 ../../include/conversation.php:982 +msgid "Follow Thread" msgstr "" -#: ../../include/network.php:2251 -msgid "LinkedIn" +#: ../../include/conversation.php:932 ../../include/conversation.php:991 +msgid "Unfollow Thread" msgstr "" -#: ../../include/network.php:2252 -msgid "XMPP/IM" +#: ../../include/conversation.php:937 ../../include/conversation.php:1059 +msgid "Activity/Posts" msgstr "" -#: ../../include/network.php:2253 -msgid "MySpace" +#: ../../include/conversation.php:939 ../../include/conversation.php:1079 +msgid "Edit Connection" msgstr "" -#: ../../include/oembed.php:308 -msgid " by " +#: ../../include/conversation.php:940 ../../include/conversation.php:1089 +msgid "Message" msgstr "" -#: ../../include/oembed.php:309 -msgid " on " +#: ../../include/conversation.php:1223 +#, php-format +msgid "%s likes this." msgstr "" -#: ../../include/oembed.php:338 -msgid "Embedded content" +#: ../../include/conversation.php:1223 +#, php-format +msgid "%s doesn't like this." msgstr "" -#: ../../include/oembed.php:347 -msgid "Embedding disabled" -msgstr "" +#: ../../include/conversation.php:1227 +#, 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/photos.php:115 +#: ../../include/conversation.php:1229 #, php-format -msgid "Image exceeds website size limit of %lu bytes" -msgstr "" +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/photos.php:122 -msgid "Image file is empty." +#: ../../include/conversation.php:1235 +msgid "and" msgstr "" -#: ../../include/photos.php:260 -msgid "Photo storage failed." -msgstr "" +#: ../../include/conversation.php:1238 +#, php-format +msgid ", and %d other people" +msgid_plural ", and %d other people" +msgstr[0] "" +msgstr[1] "" -#: ../../include/photos.php:300 -msgid "a new photo" +#: ../../include/conversation.php:1239 +#, php-format +msgid "%s like this." msgstr "" -#: ../../include/photos.php:304 +#: ../../include/conversation.php:1239 #, php-format -msgctxt "photo_upload" -msgid "%1$s posted %2$s to %3$s" +msgid "%s don't like this." msgstr "" -#: ../../include/photos.php:519 -msgid "Upload New Photos" +#: ../../include/conversation.php:1282 +msgid "Set your location" msgstr "" -#: ../../include/text.php:460 -msgid "prev" +#: ../../include/conversation.php:1283 +msgid "Clear browser location" msgstr "" -#: ../../include/text.php:462 -msgid "first" +#: ../../include/conversation.php:1331 +msgid "Tag term:" msgstr "" -#: ../../include/text.php:491 -msgid "last" +#: ../../include/conversation.php:1332 +msgid "Where are you right now?" msgstr "" -#: ../../include/text.php:494 -msgid "next" +#: ../../include/conversation.php:1337 +msgid "Choose a different album..." msgstr "" -#: ../../include/text.php:505 -msgid "older" +#: ../../include/conversation.php:1341 +msgid "Comments enabled" msgstr "" -#: ../../include/text.php:507 -msgid "newer" +#: ../../include/conversation.php:1342 +msgid "Comments disabled" msgstr "" -#: ../../include/text.php:920 -msgid "No connections" +#: ../../include/conversation.php:1380 +msgid "Page link name" msgstr "" -#: ../../include/text.php:945 -#, php-format -msgid "View all %s connections" +#: ../../include/conversation.php:1383 +msgid "Post as" msgstr "" -#: ../../include/text.php:1090 ../../include/text.php:1095 -msgid "poke" +#: ../../include/conversation.php:1397 +msgid "Toggle voting" msgstr "" -#: ../../include/text.php:1096 -msgid "ping" +#: ../../include/conversation.php:1400 +msgid "Disable comments" msgstr "" -#: ../../include/text.php:1096 -msgid "pinged" +#: ../../include/conversation.php:1401 +msgid "Toggle comments" msgstr "" -#: ../../include/text.php:1097 -msgid "prod" +#: ../../include/conversation.php:1409 +msgid "Categories (optional, comma-separated list)" msgstr "" -#: ../../include/text.php:1097 -msgid "prodded" +#: ../../include/conversation.php:1432 +msgid "Other networks and post services" msgstr "" -#: ../../include/text.php:1098 -msgid "slap" +#: ../../include/conversation.php:1438 +msgid "Set publish date" msgstr "" -#: ../../include/text.php:1098 -msgid "slapped" +#: ../../include/conversation.php:1692 +msgid "Discover" msgstr "" -#: ../../include/text.php:1099 -msgid "finger" +#: ../../include/conversation.php:1695 +msgid "Imported public streams" msgstr "" -#: ../../include/text.php:1099 -msgid "fingered" +#: ../../include/conversation.php:1700 +msgid "Commented Order" msgstr "" -#: ../../include/text.php:1100 -msgid "rebuff" +#: ../../include/conversation.php:1703 +msgid "Sort by Comment Date" msgstr "" -#: ../../include/text.php:1100 -msgid "rebuffed" +#: ../../include/conversation.php:1707 +msgid "Posted Order" msgstr "" -#: ../../include/text.php:1112 -msgid "happy" +#: ../../include/conversation.php:1710 +msgid "Sort by Post Date" msgstr "" -#: ../../include/text.php:1113 -msgid "sad" +#: ../../include/conversation.php:1718 +msgid "Posts that mention or involve you" msgstr "" -#: ../../include/text.php:1114 -msgid "mellow" +#: ../../include/conversation.php:1727 +msgid "Activity Stream - by date" msgstr "" -#: ../../include/text.php:1115 -msgid "tired" +#: ../../include/conversation.php:1733 +msgid "Starred" msgstr "" -#: ../../include/text.php:1116 -msgid "perky" +#: ../../include/conversation.php:1736 +msgid "Favourite Posts" msgstr "" -#: ../../include/text.php:1117 -msgid "angry" +#: ../../include/conversation.php:1743 +msgid "Spam" msgstr "" -#: ../../include/text.php:1118 -msgid "stupefied" +#: ../../include/conversation.php:1746 +msgid "Posts flagged as SPAM" msgstr "" -#: ../../include/text.php:1119 -msgid "puzzled" +#: ../../include/conversation.php:1818 +msgid "Status Messages and Posts" msgstr "" -#: ../../include/text.php:1120 -msgid "interested" +#: ../../include/conversation.php:1830 +msgid "Profile Details" msgstr "" -#: ../../include/text.php:1121 -msgid "bitter" +#: ../../include/conversation.php:1839 ../../include/photos.php:515 +msgid "Photo Albums" msgstr "" -#: ../../include/text.php:1122 -msgid "cheerful" +#: ../../include/conversation.php:1846 +msgid "Files and Storage" msgstr "" -#: ../../include/text.php:1123 -msgid "alive" +#: ../../include/conversation.php:1879 +msgid "Bookmarks" msgstr "" -#: ../../include/text.php:1124 -msgid "annoyed" +#: ../../include/conversation.php:1882 +msgid "Saved Bookmarks" msgstr "" -#: ../../include/text.php:1125 -msgid "anxious" +#: ../../include/conversation.php:1892 +msgid "View Webpages" msgstr "" -#: ../../include/text.php:1126 -msgid "cranky" -msgstr "" +#: ../../include/conversation.php:1958 +msgctxt "noun" +msgid "Attending" +msgid_plural "Attending" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1127 -msgid "disturbed" -msgstr "" +#: ../../include/conversation.php:1961 +msgctxt "noun" +msgid "Not Attending" +msgid_plural "Not Attending" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1128 -msgid "frustrated" -msgstr "" +#: ../../include/conversation.php:1964 +msgctxt "noun" +msgid "Undecided" +msgid_plural "Undecided" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1129 -msgid "depressed" -msgstr "" +#: ../../include/conversation.php:1967 +msgctxt "noun" +msgid "Agree" +msgid_plural "Agrees" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1130 -msgid "motivated" -msgstr "" +#: ../../include/conversation.php:1970 +msgctxt "noun" +msgid "Disagree" +msgid_plural "Disagrees" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1131 -msgid "relaxed" -msgstr "" +#: ../../include/conversation.php:1973 +msgctxt "noun" +msgid "Abstain" +msgid_plural "Abstains" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1132 -msgid "surprised" +#: ../../include/group.php:26 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." msgstr "" -#: ../../include/text.php:1323 -msgid "May" +#: ../../include/group.php:268 +msgid "Add new connections to this privacy group" msgstr "" -#: ../../include/text.php:1400 ../../include/text.php:1404 -msgid "Unknown Attachment" +#: ../../include/group.php:309 +msgid "edit" msgstr "" -#: ../../include/text.php:1406 -msgid "unknown" +#: ../../include/group.php:331 ../../include/features.php:292 +msgid "Privacy Groups" msgstr "" -#: ../../include/text.php:1442 -msgid "remove category" +#: ../../include/group.php:332 +msgid "Edit group" msgstr "" -#: ../../include/text.php:1519 -msgid "remove from file" +#: ../../include/group.php:333 +msgid "Add privacy group" msgstr "" -#: ../../include/text.php:1794 -msgid "Page layout" +#: ../../include/group.php:334 +msgid "Channels not in any privacy group" msgstr "" -#: ../../include/text.php:1794 -msgid "You can create your own with the layouts tool" +#: ../../include/items.php:843 ../../include/items.php:890 +msgid "(Unknown)" msgstr "" -#: ../../include/text.php:1836 -msgid "Page content type" +#: ../../include/items.php:1091 +msgid "Visible to anybody on the internet." msgstr "" -#: ../../include/text.php:1969 -msgid "activity" +#: ../../include/items.php:1093 +msgid "Visible to you only." msgstr "" -#: ../../include/text.php:2283 -msgid "Design Tools" +#: ../../include/items.php:1095 +msgid "Visible to anybody in this network." msgstr "" -#: ../../include/text.php:2289 -msgid "Pages" +#: ../../include/items.php:1097 +msgid "Visible to anybody authenticated." msgstr "" -#: ../../include/text.php:2311 -msgid "Import website..." +#: ../../include/items.php:1099 +#, php-format +msgid "Visible to anybody on %s." msgstr "" -#: ../../include/text.php:2312 -msgid "Select folder to import" +#: ../../include/items.php:1101 +msgid "Visible to all connections." msgstr "" -#: ../../include/text.php:2313 -msgid "Import from a zipped folder:" +#: ../../include/items.php:1103 +msgid "Visible to approved connections." msgstr "" -#: ../../include/text.php:2314 -msgid "Import from cloud files:" +#: ../../include/items.php:1105 +msgid "Visible to specific connections." msgstr "" -#: ../../include/text.php:2315 -msgid "/cloud/channel/path/to/folder" +#: ../../include/items.php:3917 +msgid "Privacy group is empty." msgstr "" -#: ../../include/text.php:2316 -msgid "Enter path to website files" +#: ../../include/items.php:3924 +#, php-format +msgid "Privacy group: %s" msgstr "" -#: ../../include/text.php:2317 -msgid "Select folder" +#: ../../include/items.php:3936 +msgid "Connection not found." msgstr "" -#: ../../include/text.php:2318 -msgid "Export website..." +#: ../../include/items.php:4285 +msgid "profile photo" msgstr "" -#: ../../include/text.php:2319 -msgid "Export to a zip file" +#: ../../include/items.php:4481 +#, php-format +msgid "[Edited %s]" msgstr "" -#: ../../include/text.php:2320 -msgid "website.zip" +#: ../../include/items.php:4481 +msgctxt "edit_activity" +msgid "Post" msgstr "" -#: ../../include/text.php:2321 -msgid "Enter a name for the zip file." +#: ../../include/items.php:4481 +msgctxt "edit_activity" +msgid "Comment" msgstr "" -#: ../../include/text.php:2322 -msgid "Export to cloud files" +#: ../../include/markdown.php:445 +msgid "Attachments:" msgstr "" -#: ../../include/text.php:2323 -msgid "/path/to/export/folder" +#: ../../include/markdown.php:542 +msgid "$Projectname event notification:" msgstr "" -#: ../../include/text.php:2324 -msgid "Enter a path to a cloud files destination." +#: ../../include/security.php:117 +msgid "guest:" msgstr "" -#: ../../include/text.php:2325 -msgid "Specify folder" +#: ../../include/security.php:532 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." msgstr "" #: ../../include/nav.php:88 @@ -12794,7 +12463,7 @@ msgstr "" msgid "Click to authenticate to your home hub" msgstr "" -#: ../../include/nav.php:99 ../../include/nav.php:140 ../../boot.php:1731 +#: ../../include/nav.php:99 ../../include/nav.php:140 ../../boot.php:1748 msgid "Logout" msgstr "" @@ -12918,10 +12587,6 @@ msgstr "" msgid "Site Setup and Configuration" msgstr "" -#: ../../include/nav.php:288 -msgid "Documentation" -msgstr "" - #: ../../include/nav.php:297 msgid "@name, #tag, ?doc, content" msgstr "" @@ -12930,235 +12595,437 @@ msgstr "" msgid "Please wait..." msgstr "" -#: ../../include/auth.php:148 -msgid "Logged out." +#: ../../include/nav.php:300 +msgid "Add Apps" msgstr "" -#: ../../include/auth.php:275 -msgid "Failed authentication" +#: ../../include/attach.php:250 ../../include/attach.php:338 +msgid "Item was not found." msgstr "" -#: ../../include/follow.php:26 -msgid "Channel is blocked on this site." +#: ../../include/attach.php:499 +msgid "No source file." msgstr "" -#: ../../include/follow.php:31 -msgid "Channel location missing." +#: ../../include/attach.php:521 +msgid "Cannot locate file to replace" msgstr "" -#: ../../include/follow.php:73 -msgid "Response from remote channel was incomplete." +#: ../../include/attach.php:539 +msgid "Cannot locate file to revise/update" msgstr "" -#: ../../include/follow.php:90 -msgid "Channel was deleted and no longer exists." +#: ../../include/attach.php:670 +#, php-format +msgid "File exceeds size limit of %d" msgstr "" -#: ../../include/follow.php:140 ../../include/follow.php:175 -msgid "Protocol disabled." +#: ../../include/attach.php:684 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." msgstr "" -#: ../../include/follow.php:163 -msgid "Channel discovery failed." +#: ../../include/attach.php:854 +msgid "File upload failed. Possible system limit or action terminated." msgstr "" -#: ../../include/follow.php:202 -msgid "Cannot connect to yourself." +#: ../../include/attach.php:867 +msgid "Stored file could not be verified. Upload failed." msgstr "" -#: ../../include/activities.php:41 -msgid " and " +#: ../../include/attach.php:922 ../../include/attach.php:938 +msgid "Path not available." msgstr "" -#: ../../include/activities.php:49 -msgid "public profile" +#: ../../include/attach.php:984 ../../include/attach.php:1142 +msgid "Empty pathname" msgstr "" -#: ../../include/activities.php:58 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" +#: ../../include/attach.php:1010 +msgid "duplicate filename or path" msgstr "" -#: ../../include/activities.php:59 -#, php-format -msgid "Visit %1$s's %2$s" +#: ../../include/attach.php:1032 +msgid "Path not found." msgstr "" -#: ../../include/activities.php:62 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." +#: ../../include/attach.php:1096 +msgid "mkdir failed." msgstr "" -#: ../../include/bbcode.php:134 ../../include/bbcode.php:1040 -#: ../../include/bbcode.php:1043 ../../include/bbcode.php:1048 -#: ../../include/bbcode.php:1051 ../../include/bbcode.php:1054 -#: ../../include/bbcode.php:1057 ../../include/bbcode.php:1062 -#: ../../include/bbcode.php:1065 ../../include/bbcode.php:1070 -#: ../../include/bbcode.php:1073 ../../include/bbcode.php:1076 -#: ../../include/bbcode.php:1079 -msgid "Image/photo" +#: ../../include/attach.php:1100 +msgid "database storage failed." msgstr "" -#: ../../include/bbcode.php:173 ../../include/bbcode.php:1090 -msgid "Encrypted content" +#: ../../include/attach.php:1148 +msgid "Empty path" msgstr "" -#: ../../include/bbcode.php:189 -#, php-format -msgid "Install %s element: " +#: ../../include/text.php:461 +msgid "prev" msgstr "" -#: ../../include/bbcode.php:193 -#, php-format -msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." +#: ../../include/text.php:463 +msgid "first" msgstr "" -#: ../../include/bbcode.php:272 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" +#: ../../include/text.php:492 +msgid "last" msgstr "" -#: ../../include/bbcode.php:349 ../../include/bbcode.php:357 -msgid "Click to open/close" +#: ../../include/text.php:495 +msgid "next" msgstr "" -#: ../../include/bbcode.php:357 -msgid "spoiler" +#: ../../include/text.php:506 +msgid "older" msgstr "" -#: ../../include/bbcode.php:1028 -msgid "$1 wrote:" +#: ../../include/text.php:508 +msgid "newer" msgstr "" -#: ../../include/bookmarks.php:34 +#: ../../include/text.php:928 +msgid "No connections" +msgstr "" + +#: ../../include/text.php:953 #, php-format -msgid "%1$s's bookmarks" +msgid "View all %s connections" msgstr "" -#: ../../include/group.php:26 -msgid "" -"A deleted group with this name was revived. Existing item permissions " -"<strong>may</strong> apply to this group and any future members. If this is " -"not what you intended, please create another group with a different name." +#: ../../include/text.php:1098 ../../include/text.php:1103 +msgid "poke" msgstr "" -#: ../../include/group.php:248 -msgid "Add new connections to this privacy group" +#: ../../include/text.php:1104 +msgid "ping" msgstr "" -#: ../../include/group.php:289 -msgid "edit" +#: ../../include/text.php:1104 +msgid "pinged" msgstr "" -#: ../../include/group.php:311 ../../include/features.php:292 -msgid "Privacy Groups" +#: ../../include/text.php:1105 +msgid "prod" msgstr "" -#: ../../include/group.php:312 -msgid "Edit group" +#: ../../include/text.php:1105 +msgid "prodded" msgstr "" -#: ../../include/group.php:313 -msgid "Add privacy group" +#: ../../include/text.php:1106 +msgid "slap" msgstr "" -#: ../../include/group.php:314 -msgid "Channels not in any privacy group" +#: ../../include/text.php:1106 +msgid "slapped" msgstr "" -#: ../../include/event.php:863 -msgid "This event has been added to your calendar." +#: ../../include/text.php:1107 +msgid "finger" msgstr "" -#: ../../include/event.php:1063 -msgid "Not specified" +#: ../../include/text.php:1107 +msgid "fingered" msgstr "" -#: ../../include/event.php:1064 -msgid "Needs Action" +#: ../../include/text.php:1108 +msgid "rebuff" msgstr "" -#: ../../include/event.php:1065 -msgid "Completed" +#: ../../include/text.php:1108 +msgid "rebuffed" msgstr "" -#: ../../include/event.php:1066 -msgid "In Process" +#: ../../include/text.php:1120 +msgid "happy" msgstr "" -#: ../../include/event.php:1067 -msgid "Cancelled" +#: ../../include/text.php:1121 +msgid "sad" msgstr "" -#: ../../include/items.php:841 ../../include/items.php:888 -msgid "(Unknown)" +#: ../../include/text.php:1122 +msgid "mellow" msgstr "" -#: ../../include/items.php:1089 -msgid "Visible to anybody on the internet." +#: ../../include/text.php:1123 +msgid "tired" msgstr "" -#: ../../include/items.php:1091 -msgid "Visible to you only." +#: ../../include/text.php:1124 +msgid "perky" msgstr "" -#: ../../include/items.php:1093 -msgid "Visible to anybody in this network." +#: ../../include/text.php:1125 +msgid "angry" msgstr "" -#: ../../include/items.php:1095 -msgid "Visible to anybody authenticated." +#: ../../include/text.php:1126 +msgid "stupefied" msgstr "" -#: ../../include/items.php:1097 -#, php-format -msgid "Visible to anybody on %s." +#: ../../include/text.php:1127 +msgid "puzzled" msgstr "" -#: ../../include/items.php:1099 -msgid "Visible to all connections." +#: ../../include/text.php:1128 +msgid "interested" msgstr "" -#: ../../include/items.php:1101 -msgid "Visible to approved connections." +#: ../../include/text.php:1129 +msgid "bitter" msgstr "" -#: ../../include/items.php:1103 -msgid "Visible to specific connections." +#: ../../include/text.php:1130 +msgid "cheerful" msgstr "" -#: ../../include/items.php:3915 -msgid "Privacy group is empty." +#: ../../include/text.php:1131 +msgid "alive" msgstr "" -#: ../../include/items.php:3922 -#, php-format -msgid "Privacy group: %s" +#: ../../include/text.php:1132 +msgid "annoyed" msgstr "" -#: ../../include/items.php:3934 -msgid "Connection not found." +#: ../../include/text.php:1133 +msgid "anxious" msgstr "" -#: ../../include/items.php:4283 -msgid "profile photo" +#: ../../include/text.php:1134 +msgid "cranky" msgstr "" -#: ../../include/items.php:4479 -#, php-format -msgid "[Edited %s]" +#: ../../include/text.php:1135 +msgid "disturbed" msgstr "" -#: ../../include/items.php:4479 -msgctxt "edit_activity" -msgid "Post" +#: ../../include/text.php:1136 +msgid "frustrated" msgstr "" -#: ../../include/items.php:4479 -msgctxt "edit_activity" -msgid "Comment" +#: ../../include/text.php:1137 +msgid "depressed" +msgstr "" + +#: ../../include/text.php:1138 +msgid "motivated" +msgstr "" + +#: ../../include/text.php:1139 +msgid "relaxed" +msgstr "" + +#: ../../include/text.php:1140 +msgid "surprised" +msgstr "" + +#: ../../include/text.php:1331 +msgid "May" +msgstr "" + +#: ../../include/text.php:1408 ../../include/text.php:1412 +msgid "Unknown Attachment" +msgstr "" + +#: ../../include/text.php:1414 +msgid "unknown" +msgstr "" + +#: ../../include/text.php:1450 +msgid "remove category" +msgstr "" + +#: ../../include/text.php:1527 +msgid "remove from file" +msgstr "" + +#: ../../include/text.php:1796 +msgid "Page layout" +msgstr "" + +#: ../../include/text.php:1796 +msgid "You can create your own with the layouts tool" +msgstr "" + +#: ../../include/text.php:1838 +msgid "Page content type" +msgstr "" + +#: ../../include/text.php:1971 +msgid "activity" +msgstr "" + +#: ../../include/text.php:2285 +msgid "Design Tools" +msgstr "" + +#: ../../include/text.php:2291 +msgid "Pages" +msgstr "" + +#: ../../include/text.php:2313 +msgid "Import website..." +msgstr "" + +#: ../../include/text.php:2314 +msgid "Select folder to import" +msgstr "" + +#: ../../include/text.php:2315 +msgid "Import from a zipped folder:" +msgstr "" + +#: ../../include/text.php:2316 +msgid "Import from cloud files:" +msgstr "" + +#: ../../include/text.php:2317 +msgid "/cloud/channel/path/to/folder" +msgstr "" + +#: ../../include/text.php:2318 +msgid "Enter path to website files" +msgstr "" + +#: ../../include/text.php:2319 +msgid "Select folder" +msgstr "" + +#: ../../include/text.php:2320 +msgid "Export website..." +msgstr "" + +#: ../../include/text.php:2321 +msgid "Export to a zip file" +msgstr "" + +#: ../../include/text.php:2322 +msgid "website.zip" +msgstr "" + +#: ../../include/text.php:2323 +msgid "Enter a name for the zip file." +msgstr "" + +#: ../../include/text.php:2324 +msgid "Export to cloud files" +msgstr "" + +#: ../../include/text.php:2325 +msgid "/path/to/export/folder" +msgstr "" + +#: ../../include/text.php:2326 +msgid "Enter a path to a cloud files destination." +msgstr "" + +#: ../../include/text.php:2327 +msgid "Specify folder" +msgstr "" + +#: ../../include/auth.php:148 +msgid "Logged out." +msgstr "" + +#: ../../include/auth.php:275 +msgid "Failed authentication" +msgstr "" + +#: ../../include/follow.php:26 +msgid "Channel is blocked on this site." +msgstr "" + +#: ../../include/follow.php:31 +msgid "Channel location missing." +msgstr "" + +#: ../../include/follow.php:73 +msgid "Response from remote channel was incomplete." +msgstr "" + +#: ../../include/follow.php:90 +msgid "Channel was deleted and no longer exists." +msgstr "" + +#: ../../include/follow.php:140 ../../include/follow.php:175 +msgid "Protocol disabled." +msgstr "" + +#: ../../include/follow.php:163 +msgid "Channel discovery failed." +msgstr "" + +#: ../../include/follow.php:202 +msgid "Cannot connect to yourself." +msgstr "" + +#: ../../include/import.php:30 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "" + +#: ../../include/import.php:90 +msgid "Channel clone failed. Import failed." +msgstr "" + +#: ../../include/import.php:100 +msgid "Cloned channel not found. Import failed." +msgstr "" + +#: ../../include/import.php:1373 +msgid "Unable to import element \"" +msgstr "" + +#: ../../include/message.php:32 +msgid "Unable to determine sender." +msgstr "" + +#: ../../include/message.php:69 +msgid "No recipient provided." +msgstr "" + +#: ../../include/message.php:74 +msgid "[no subject]" +msgstr "" + +#: ../../include/message.php:225 +msgid "Stored post could not be verified." +msgstr "" + +#: ../../include/oembed.php:308 +msgid " by " +msgstr "" + +#: ../../include/oembed.php:309 +msgid " on " +msgstr "" + +#: ../../include/oembed.php:338 +msgid "Embedded content" +msgstr "" + +#: ../../include/oembed.php:347 +msgid "Embedding disabled" +msgstr "" + +#: ../../include/zot.php:649 +msgid "Invalid data packet" +msgstr "" + +#: ../../include/zot.php:665 +msgid "Unable to verify channel signature" +msgstr "" + +#: ../../include/zot.php:2316 +#, php-format +msgid "Unable to verify site signature for %s" +msgstr "" + +#: ../../include/zot.php:3722 +msgid "invalid target signature" msgstr "" #: ../../include/permissions.php:35 @@ -13213,6 +13080,29 @@ msgstr "" msgid "Extremely advanced. Leave this alone unless you know what you are doing" msgstr "" +#: ../../include/activities.php:41 +msgid " and " +msgstr "" + +#: ../../include/activities.php:49 +msgid "public profile" +msgstr "" + +#: ../../include/activities.php:58 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "" + +#: ../../include/activities.php:59 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "" + +#: ../../include/activities.php:62 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "" + #: ../../include/features.php:58 msgid "General Features" msgstr "" @@ -13285,10 +13175,6 @@ msgstr "" msgid "Provide chatrooms and chat services with access control." msgstr "" -#: ../../include/features.php:153 -msgid "Permission Groups" -msgstr "" - #: ../../include/features.php:154 msgid "Provide alternate connection permission roles." msgstr "" @@ -13518,12 +13404,182 @@ msgid "" "channel" msgstr "" -#: ../../include/help.php:31 -msgid "Help:" +#: ../../include/photos.php:115 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" msgstr "" -#: ../../include/help.php:63 -msgid "Not Found" +#: ../../include/photos.php:122 +msgid "Image file is empty." +msgstr "" + +#: ../../include/photos.php:260 +msgid "Photo storage failed." +msgstr "" + +#: ../../include/photos.php:300 +msgid "a new photo" +msgstr "" + +#: ../../include/photos.php:304 +#, php-format +msgctxt "photo_upload" +msgid "%1$s posted %2$s to %3$s" +msgstr "" + +#: ../../include/photos.php:519 +msgid "Upload New Photos" +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." +msgstr "" + +#: ../../include/channel.php:212 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "" + +#: ../../include/channel.php:272 +msgid "Unable to retrieve created identity" +msgstr "" + +#: ../../include/channel.php:344 +msgid "Default Profile" +msgstr "" + +#: ../../include/channel.php:1045 +msgid "Create New Profile" +msgstr "" + +#: ../../include/channel.php:1065 +msgid "Visible to everybody" +msgstr "" + +#: ../../include/channel.php:1138 ../../include/channel.php:1257 +msgid "Gender:" +msgstr "" + +#: ../../include/channel.php:1140 ../../include/channel.php:1312 +msgid "Homepage:" +msgstr "" + +#: ../../include/channel.php:1141 +msgid "Online Now" +msgstr "" + +#: ../../include/channel.php:1262 +msgid "Like this channel" +msgstr "" + +#: ../../include/channel.php:1286 +msgid "j F, Y" +msgstr "" + +#: ../../include/channel.php:1287 +msgid "j F" +msgstr "" + +#: ../../include/channel.php:1294 +msgid "Birthday:" +msgstr "" + +#: ../../include/channel.php:1307 +#, php-format +msgid "for %1$d %2$s" +msgstr "" + +#: ../../include/channel.php:1310 +msgid "Sexual Preference:" +msgstr "" + +#: ../../include/channel.php:1316 +msgid "Tags:" +msgstr "" + +#: ../../include/channel.php:1318 +msgid "Political Views:" +msgstr "" + +#: ../../include/channel.php:1320 +msgid "Religion:" +msgstr "" + +#: ../../include/channel.php:1324 +msgid "Hobbies/Interests:" +msgstr "" + +#: ../../include/channel.php:1326 +msgid "Likes:" +msgstr "" + +#: ../../include/channel.php:1328 +msgid "Dislikes:" +msgstr "" + +#: ../../include/channel.php:1330 +msgid "Contact information and Social Networks:" +msgstr "" + +#: ../../include/channel.php:1332 +msgid "My other channels:" +msgstr "" + +#: ../../include/channel.php:1334 +msgid "Musical interests:" +msgstr "" + +#: ../../include/channel.php:1336 +msgid "Books, literature:" +msgstr "" + +#: ../../include/channel.php:1338 +msgid "Television:" +msgstr "" + +#: ../../include/channel.php:1340 +msgid "Film/dance/culture/entertainment:" +msgstr "" + +#: ../../include/channel.php:1342 +msgid "Love/Romance:" +msgstr "" + +#: ../../include/channel.php:1344 +msgid "Work/employment:" +msgstr "" + +#: ../../include/channel.php:1346 +msgid "School/education:" +msgstr "" + +#: ../../include/channel.php:1369 +msgid "Like this thing" +msgstr "" + +#: ../../include/channel.php:2103 +#, php-format +msgid "User '%s' deleted" msgstr "" #: ../../util/nconfig.php:34 @@ -13662,54 +13718,54 @@ msgstr "" msgid "Set size of followup author photos" msgstr "" -#: ../../boot.php:1505 +#: ../../boot.php:1522 #, php-format msgid "Update %s failed. See error logs." msgstr "" -#: ../../boot.php:1508 +#: ../../boot.php:1525 #, php-format msgid "Update Error at %s" msgstr "" -#: ../../boot.php:1712 +#: ../../boot.php:1729 msgid "Create an account to access services and applications" msgstr "" -#: ../../boot.php:1734 +#: ../../boot.php:1751 msgid "Login/Email" msgstr "" -#: ../../boot.php:1735 +#: ../../boot.php:1752 msgid "Password" msgstr "" -#: ../../boot.php:1736 +#: ../../boot.php:1753 msgid "Remember me" msgstr "" -#: ../../boot.php:1739 +#: ../../boot.php:1756 msgid "Forgot your password?" msgstr "" -#: ../../boot.php:2300 +#: ../../boot.php:2320 msgid "toggle mobile" msgstr "" -#: ../../boot.php:2455 +#: ../../boot.php:2475 msgid "Website SSL certificate is not valid. Please correct." msgstr "" -#: ../../boot.php:2458 +#: ../../boot.php:2478 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "" -#: ../../boot.php:2577 +#: ../../boot.php:2597 msgid "Cron/Scheduled tasks not running." msgstr "" -#: ../../boot.php:2581 +#: ../../boot.php:2601 #, php-format msgid "[hubzilla] Cron tasks not running on %s" msgstr "" diff --git a/util/pconfig b/util/pconfig index 1847a5a81..36d894fb5 100755 --- a/util/pconfig +++ b/util/pconfig @@ -73,8 +73,10 @@ if($argc == 4) { if($argc == 3) { load_pconfig($argv[1],$argv[2]); - foreach(App::$config[$argv[1]][$argv[2]] as $k => $x) { - echo "pconfig[{$argv[1]}][{$argv[2]}][{$k}] = " . $x . "\n"; + if(App::$config[$argv[1]][$argv[2]]) { + foreach(App::$config[$argv[1]][$argv[2]] as $k => $x) { + echo "pconfig[{$argv[1]}][{$argv[2]}][{$k}] = " . $x . "\n"; + } } } diff --git a/vendor/autoload.php b/vendor/autoload.php index 063a1b7e1..8b4926c3d 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -2,6 +2,6 @@ // autoload.php @generated by Composer -require_once __DIR__ . '/composer' . '/autoload_real.php'; +require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d::getLoader(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index ac67d302a..4626994fd 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -55,6 +55,7 @@ class ClassLoader private $classMap = array(); private $classMapAuthoritative = false; private $missingClasses = array(); + private $apcuPrefix; public function getPrefixes() { @@ -272,6 +273,26 @@ class ClassLoader } /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** * Registers this instance as an autoloader. * * @param bool $prepend Whether to prepend the autoloader or not @@ -313,11 +334,6 @@ class ClassLoader */ public function findFile($class) { - // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731 - if ('\\' == $class[0]) { - $class = substr($class, 1); - } - // class map lookup if (isset($this->classMap[$class])) { return $this->classMap[$class]; @@ -325,6 +341,12 @@ class ClassLoader if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { return false; } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } $file = $this->findFileWithExtension($class, '.php'); @@ -333,6 +355,10 @@ class ClassLoader $file = $this->findFileWithExtension($class, '.hh'); } + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + if (false === $file) { // Remember that this class does not exist. $this->missingClasses[$class] = true; diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 54b09f68b..2adb2fe53 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -7,6 +7,12 @@ $baseDir = dirname($vendorDir); return array( 'Hubzilla\\Import\\Import' => $baseDir . '/include/Import/Importer.php', + 'Markdownify\\Converter' => $vendorDir . '/pixel418/markdownify/src/Converter.php', + 'Markdownify\\ConverterExtra' => $vendorDir . '/pixel418/markdownify/src/ConverterExtra.php', + 'Markdownify\\Parser' => $vendorDir . '/pixel418/markdownify/src/Parser.php', + 'Michelf\\Markdown' => $vendorDir . '/michelf/php-markdown/Michelf/Markdown.php', + 'Michelf\\MarkdownExtra' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownExtra.php', + 'Michelf\\MarkdownInterface' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownInterface.php', 'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php', 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php', 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php', @@ -15,6 +21,8 @@ return array( 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php', 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php', 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php', + 'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', 'Sabre\\CalDAV\\Backend\\AbstractBackend' => $vendorDir . '/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php', 'Sabre\\CalDAV\\Backend\\BackendInterface' => $vendorDir . '/sabre/dav/lib/CalDAV/Backend/BackendInterface.php', 'Sabre\\CalDAV\\Backend\\NotificationSupport' => $vendorDir . '/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php', @@ -353,10 +361,14 @@ return array( 'Sabre\\Xml\\Writer' => $vendorDir . '/sabre/xml/lib/Writer.php', 'Sabre\\Xml\\XmlDeserializable' => $vendorDir . '/sabre/xml/lib/XmlDeserializable.php', 'Sabre\\Xml\\XmlSerializable' => $vendorDir . '/sabre/xml/lib/XmlSerializable.php', + 'Test\\Markdownify\\ConverterExtraTest' => $vendorDir . '/pixel418/markdownify/test/ConverterExtraTest.php', + 'Test\\Markdownify\\ConverterTest' => $vendorDir . '/pixel418/markdownify/test/ConverterTest.php', + 'Test\\Markdownify\\ConverterTestCase' => $vendorDir . '/pixel418/markdownify/test/ConverterTestCase.php', 'Zotlabs\\Access\\AccessList' => $baseDir . '/Zotlabs/Access/AccessList.php', 'Zotlabs\\Access\\PermissionLimits' => $baseDir . '/Zotlabs/Access/PermissionLimits.php', 'Zotlabs\\Access\\PermissionRoles' => $baseDir . '/Zotlabs/Access/PermissionRoles.php', 'Zotlabs\\Access\\Permissions' => $baseDir . '/Zotlabs/Access/Permissions.php', + 'Zotlabs\\Daemon\\Addon' => $baseDir . '/Zotlabs/Daemon/Addon.php', 'Zotlabs\\Daemon\\Checksites' => $baseDir . '/Zotlabs/Daemon/Checksites.php', 'Zotlabs\\Daemon\\Cli_suggest' => $baseDir . '/Zotlabs/Daemon/Cli_suggest.php', 'Zotlabs\\Daemon\\Cron' => $baseDir . '/Zotlabs/Daemon/Cron.php', @@ -391,7 +403,10 @@ return array( 'Zotlabs\\Lib\\Enotify' => $baseDir . '/Zotlabs/Lib/Enotify.php', 'Zotlabs\\Lib\\ExtendedZip' => $baseDir . '/Zotlabs/Lib/ExtendedZip.php', 'Zotlabs\\Lib\\IConfig' => $baseDir . '/Zotlabs/Lib/IConfig.php', + 'Zotlabs\\Lib\\NativeWiki' => $baseDir . '/Zotlabs/Lib/NativeWiki.php', + 'Zotlabs\\Lib\\NativeWikiPage' => $baseDir . '/Zotlabs/Lib/NativeWikiPage.php', 'Zotlabs\\Lib\\PConfig' => $baseDir . '/Zotlabs/Lib/PConfig.php', + 'Zotlabs\\Lib\\Permcat' => $baseDir . '/Zotlabs/Lib/Permcat.php', 'Zotlabs\\Lib\\PermissionDescription' => $baseDir . '/Zotlabs/Lib/PermissionDescription.php', 'Zotlabs\\Lib\\ProtoDriver' => $baseDir . '/Zotlabs/Lib/ProtoDriver.php', 'Zotlabs\\Lib\\SuperCurl' => $baseDir . '/Zotlabs/Lib/SuperCurl.php', @@ -478,7 +493,6 @@ return array( 'Zotlabs\\Module\\Magic' => $baseDir . '/Zotlabs/Module/Magic.php', 'Zotlabs\\Module\\Mail' => $baseDir . '/Zotlabs/Module/Mail.php', 'Zotlabs\\Module\\Manage' => $baseDir . '/Zotlabs/Module/Manage.php', - 'Zotlabs\\Module\\Match' => $baseDir . '/Zotlabs/Module/Match.php', 'Zotlabs\\Module\\Menu' => $baseDir . '/Zotlabs/Module/Menu.php', 'Zotlabs\\Module\\Message' => $baseDir . '/Zotlabs/Module/Message.php', 'Zotlabs\\Module\\Mitem' => $baseDir . '/Zotlabs/Module/Mitem.php', @@ -496,6 +510,7 @@ return array( 'Zotlabs\\Module\\Page' => $baseDir . '/Zotlabs/Module/Page.php', 'Zotlabs\\Module\\Pconfig' => $baseDir . '/Zotlabs/Module/Pconfig.php', 'Zotlabs\\Module\\Pdledit' => $baseDir . '/Zotlabs/Module/Pdledit.php', + 'Zotlabs\\Module\\Permcat' => $baseDir . '/Zotlabs/Module/Permcat.php', 'Zotlabs\\Module\\Photo' => $baseDir . '/Zotlabs/Module/Photo.php', 'Zotlabs\\Module\\Photos' => $baseDir . '/Zotlabs/Module/Photos.php', 'Zotlabs\\Module\\Ping' => $baseDir . '/Zotlabs/Module/Ping.php', @@ -525,7 +540,6 @@ return array( 'Zotlabs\\Module\\Removeme' => $baseDir . '/Zotlabs/Module/Removeme.php', 'Zotlabs\\Module\\Rmagic' => $baseDir . '/Zotlabs/Module/Rmagic.php', 'Zotlabs\\Module\\Rpost' => $baseDir . '/Zotlabs/Module/Rpost.php', - 'Zotlabs\\Module\\Rsd_xml' => $baseDir . '/Zotlabs/Module/Rsd_xml.php', 'Zotlabs\\Module\\Search' => $baseDir . '/Zotlabs/Module/Search.php', 'Zotlabs\\Module\\Search_ac' => $baseDir . '/Zotlabs/Module/Search_ac.php', 'Zotlabs\\Module\\Service_limits' => $baseDir . '/Zotlabs/Module/Service_limits.php', @@ -536,6 +550,7 @@ return array( 'Zotlabs\\Module\\Settings\\Featured' => $baseDir . '/Zotlabs/Module/Settings/Featured.php', 'Zotlabs\\Module\\Settings\\Features' => $baseDir . '/Zotlabs/Module/Settings/Features.php', 'Zotlabs\\Module\\Settings\\Oauth' => $baseDir . '/Zotlabs/Module/Settings/Oauth.php', + 'Zotlabs\\Module\\Settings\\Permcats' => $baseDir . '/Zotlabs/Module/Settings/Permcats.php', 'Zotlabs\\Module\\Settings\\Tokens' => $baseDir . '/Zotlabs/Module/Settings/Tokens.php', 'Zotlabs\\Module\\Setup' => $baseDir . '/Zotlabs/Module/Setup.php', 'Zotlabs\\Module\\Share' => $baseDir . '/Zotlabs/Module/Share.php', @@ -596,6 +611,7 @@ return array( 'Zotlabs\\Text\\Tagadelic' => $baseDir . '/Zotlabs/Text/Tagadelic.php', 'Zotlabs\\Web\\CheckJS' => $baseDir . '/Zotlabs/Web/CheckJS.php', 'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php', + 'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php', 'Zotlabs\\Web\\HttpMeta' => $baseDir . '/Zotlabs/Web/HttpMeta.php', 'Zotlabs\\Web\\Router' => $baseDir . '/Zotlabs/Web/Router.php', 'Zotlabs\\Web\\Session' => $baseDir . '/Zotlabs/Web/Session.php', diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php index b7fc0125d..01914946c 100644 --- a/vendor/composer/autoload_namespaces.php +++ b/vendor/composer/autoload_namespaces.php @@ -6,4 +6,5 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( + 'Michelf' => array($vendorDir . '/michelf/php-markdown'), ); diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index e8ea2ed78..00a183cc1 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir); return array( 'Zotlabs\\' => array($baseDir . '/Zotlabs'), + 'Test\\Markdownify\\' => array($vendorDir . '/pixel418/markdownify/test'), 'Sabre\\Xml\\' => array($vendorDir . '/sabre/xml/lib'), 'Sabre\\VObject\\' => array($vendorDir . '/sabre/vobject/lib'), 'Sabre\\Uri\\' => array($vendorDir . '/sabre/uri/lib'), @@ -17,5 +18,6 @@ return array( 'Sabre\\CardDAV\\' => array($vendorDir . '/sabre/dav/lib/CardDAV'), 'Sabre\\CalDAV\\' => array($vendorDir . '/sabre/dav/lib/CalDAV'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), + 'Markdownify\\' => array($vendorDir . '/pixel418/markdownify/src'), 'Hubzilla\\' => array($baseDir . '/include'), ); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 24b45085d..bcae78e29 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -23,7 +23,7 @@ class ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d self::$loader = $loader = new \Composer\Autoload\ClassLoader(); spl_autoload_unregister(array('ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d', 'loadClassLoader')); - $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION'); + $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 7f2551665..a7c84b7f1 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -21,6 +21,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d array ( 'Zotlabs\\' => 8, ), + 'T' => + array ( + 'Test\\Markdownify\\' => 17, + ), 'S' => array ( 'Sabre\\Xml\\' => 10, @@ -37,6 +41,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d array ( 'Psr\\Log\\' => 8, ), + 'M' => + array ( + 'Markdownify\\' => 12, + ), 'H' => array ( 'Hubzilla\\' => 9, @@ -48,6 +56,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d array ( 0 => __DIR__ . '/../..' . '/Zotlabs', ), + 'Test\\Markdownify\\' => + array ( + 0 => __DIR__ . '/..' . '/pixel418/markdownify/test', + ), 'Sabre\\Xml\\' => array ( 0 => __DIR__ . '/..' . '/sabre/xml/lib', @@ -88,14 +100,34 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d array ( 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', ), + 'Markdownify\\' => + array ( + 0 => __DIR__ . '/..' . '/pixel418/markdownify/src', + ), 'Hubzilla\\' => array ( 0 => __DIR__ . '/../..' . '/include', ), ); + public static $prefixesPsr0 = array ( + 'M' => + array ( + 'Michelf' => + array ( + 0 => __DIR__ . '/..' . '/michelf/php-markdown', + ), + ), + ); + public static $classMap = array ( 'Hubzilla\\Import\\Import' => __DIR__ . '/../..' . '/include/Import/Importer.php', + 'Markdownify\\Converter' => __DIR__ . '/..' . '/pixel418/markdownify/src/Converter.php', + 'Markdownify\\ConverterExtra' => __DIR__ . '/..' . '/pixel418/markdownify/src/ConverterExtra.php', + 'Markdownify\\Parser' => __DIR__ . '/..' . '/pixel418/markdownify/src/Parser.php', + 'Michelf\\Markdown' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/Markdown.php', + 'Michelf\\MarkdownExtra' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/MarkdownExtra.php', + 'Michelf\\MarkdownInterface' => __DIR__ . '/..' . '/michelf/php-markdown/Michelf/MarkdownInterface.php', 'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php', 'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php', 'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php', @@ -104,6 +136,8 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php', 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php', 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php', + 'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', 'Sabre\\CalDAV\\Backend\\AbstractBackend' => __DIR__ . '/..' . '/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php', 'Sabre\\CalDAV\\Backend\\BackendInterface' => __DIR__ . '/..' . '/sabre/dav/lib/CalDAV/Backend/BackendInterface.php', 'Sabre\\CalDAV\\Backend\\NotificationSupport' => __DIR__ . '/..' . '/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php', @@ -442,10 +476,14 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Sabre\\Xml\\Writer' => __DIR__ . '/..' . '/sabre/xml/lib/Writer.php', 'Sabre\\Xml\\XmlDeserializable' => __DIR__ . '/..' . '/sabre/xml/lib/XmlDeserializable.php', 'Sabre\\Xml\\XmlSerializable' => __DIR__ . '/..' . '/sabre/xml/lib/XmlSerializable.php', + 'Test\\Markdownify\\ConverterExtraTest' => __DIR__ . '/..' . '/pixel418/markdownify/test/ConverterExtraTest.php', + 'Test\\Markdownify\\ConverterTest' => __DIR__ . '/..' . '/pixel418/markdownify/test/ConverterTest.php', + 'Test\\Markdownify\\ConverterTestCase' => __DIR__ . '/..' . '/pixel418/markdownify/test/ConverterTestCase.php', 'Zotlabs\\Access\\AccessList' => __DIR__ . '/../..' . '/Zotlabs/Access/AccessList.php', 'Zotlabs\\Access\\PermissionLimits' => __DIR__ . '/../..' . '/Zotlabs/Access/PermissionLimits.php', 'Zotlabs\\Access\\PermissionRoles' => __DIR__ . '/../..' . '/Zotlabs/Access/PermissionRoles.php', 'Zotlabs\\Access\\Permissions' => __DIR__ . '/../..' . '/Zotlabs/Access/Permissions.php', + 'Zotlabs\\Daemon\\Addon' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Addon.php', 'Zotlabs\\Daemon\\Checksites' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Checksites.php', 'Zotlabs\\Daemon\\Cli_suggest' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Cli_suggest.php', 'Zotlabs\\Daemon\\Cron' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Cron.php', @@ -480,7 +518,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Lib\\Enotify' => __DIR__ . '/../..' . '/Zotlabs/Lib/Enotify.php', 'Zotlabs\\Lib\\ExtendedZip' => __DIR__ . '/../..' . '/Zotlabs/Lib/ExtendedZip.php', 'Zotlabs\\Lib\\IConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/IConfig.php', + 'Zotlabs\\Lib\\NativeWiki' => __DIR__ . '/../..' . '/Zotlabs/Lib/NativeWiki.php', + 'Zotlabs\\Lib\\NativeWikiPage' => __DIR__ . '/../..' . '/Zotlabs/Lib/NativeWikiPage.php', 'Zotlabs\\Lib\\PConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/PConfig.php', + 'Zotlabs\\Lib\\Permcat' => __DIR__ . '/../..' . '/Zotlabs/Lib/Permcat.php', 'Zotlabs\\Lib\\PermissionDescription' => __DIR__ . '/../..' . '/Zotlabs/Lib/PermissionDescription.php', 'Zotlabs\\Lib\\ProtoDriver' => __DIR__ . '/../..' . '/Zotlabs/Lib/ProtoDriver.php', 'Zotlabs\\Lib\\SuperCurl' => __DIR__ . '/../..' . '/Zotlabs/Lib/SuperCurl.php', @@ -539,7 +580,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Events' => __DIR__ . '/../..' . '/Zotlabs/Module/Events.php', 'Zotlabs\\Module\\Fbrowser' => __DIR__ . '/../..' . '/Zotlabs/Module/Fbrowser.php', 'Zotlabs\\Module\\Feed' => __DIR__ . '/../..' . '/Zotlabs/Module/Feed.php', - 'Zotlabs\\Module\\Ffsapi' => __DIR__ . '/../..' . '/Zotlabs/Module/Ffsapi.php', 'Zotlabs\\Module\\Fhublocs' => __DIR__ . '/../..' . '/Zotlabs/Module/Fhublocs.php', 'Zotlabs\\Module\\File_upload' => __DIR__ . '/../..' . '/Zotlabs/Module/File_upload.php', 'Zotlabs\\Module\\Filer' => __DIR__ . '/../..' . '/Zotlabs/Module/Filer.php', @@ -568,7 +608,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Magic' => __DIR__ . '/../..' . '/Zotlabs/Module/Magic.php', 'Zotlabs\\Module\\Mail' => __DIR__ . '/../..' . '/Zotlabs/Module/Mail.php', 'Zotlabs\\Module\\Manage' => __DIR__ . '/../..' . '/Zotlabs/Module/Manage.php', - 'Zotlabs\\Module\\Match' => __DIR__ . '/../..' . '/Zotlabs/Module/Match.php', 'Zotlabs\\Module\\Menu' => __DIR__ . '/../..' . '/Zotlabs/Module/Menu.php', 'Zotlabs\\Module\\Message' => __DIR__ . '/../..' . '/Zotlabs/Module/Message.php', 'Zotlabs\\Module\\Mitem' => __DIR__ . '/../..' . '/Zotlabs/Module/Mitem.php', @@ -583,10 +622,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Oep' => __DIR__ . '/../..' . '/Zotlabs/Module/Oep.php', 'Zotlabs\\Module\\Oexchange' => __DIR__ . '/../..' . '/Zotlabs/Module/Oexchange.php', 'Zotlabs\\Module\\Online' => __DIR__ . '/../..' . '/Zotlabs/Module/Online.php', - 'Zotlabs\\Module\\Opensearch' => __DIR__ . '/../..' . '/Zotlabs/Module/Opensearch.php', 'Zotlabs\\Module\\Page' => __DIR__ . '/../..' . '/Zotlabs/Module/Page.php', 'Zotlabs\\Module\\Pconfig' => __DIR__ . '/../..' . '/Zotlabs/Module/Pconfig.php', 'Zotlabs\\Module\\Pdledit' => __DIR__ . '/../..' . '/Zotlabs/Module/Pdledit.php', + 'Zotlabs\\Module\\Permcat' => __DIR__ . '/../..' . '/Zotlabs/Module/Permcat.php', 'Zotlabs\\Module\\Photo' => __DIR__ . '/../..' . '/Zotlabs/Module/Photo.php', 'Zotlabs\\Module\\Photos' => __DIR__ . '/../..' . '/Zotlabs/Module/Photos.php', 'Zotlabs\\Module\\Ping' => __DIR__ . '/../..' . '/Zotlabs/Module/Ping.php', @@ -616,7 +655,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Removeme' => __DIR__ . '/../..' . '/Zotlabs/Module/Removeme.php', 'Zotlabs\\Module\\Rmagic' => __DIR__ . '/../..' . '/Zotlabs/Module/Rmagic.php', 'Zotlabs\\Module\\Rpost' => __DIR__ . '/../..' . '/Zotlabs/Module/Rpost.php', - 'Zotlabs\\Module\\Rsd_xml' => __DIR__ . '/../..' . '/Zotlabs/Module/Rsd_xml.php', 'Zotlabs\\Module\\Search' => __DIR__ . '/../..' . '/Zotlabs/Module/Search.php', 'Zotlabs\\Module\\Search_ac' => __DIR__ . '/../..' . '/Zotlabs/Module/Search_ac.php', 'Zotlabs\\Module\\Service_limits' => __DIR__ . '/../..' . '/Zotlabs/Module/Service_limits.php', @@ -627,6 +665,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Settings\\Featured' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Featured.php', 'Zotlabs\\Module\\Settings\\Features' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Features.php', 'Zotlabs\\Module\\Settings\\Oauth' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Oauth.php', + 'Zotlabs\\Module\\Settings\\Permcats' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Permcats.php', 'Zotlabs\\Module\\Settings\\Tokens' => __DIR__ . '/../..' . '/Zotlabs/Module/Settings/Tokens.php', 'Zotlabs\\Module\\Setup' => __DIR__ . '/../..' . '/Zotlabs/Module/Setup.php', 'Zotlabs\\Module\\Share' => __DIR__ . '/../..' . '/Zotlabs/Module/Share.php', @@ -687,6 +726,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Text\\Tagadelic' => __DIR__ . '/../..' . '/Zotlabs/Text/Tagadelic.php', 'Zotlabs\\Web\\CheckJS' => __DIR__ . '/../..' . '/Zotlabs/Web/CheckJS.php', 'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php', + 'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php', 'Zotlabs\\Web\\HttpMeta' => __DIR__ . '/../..' . '/Zotlabs/Web/HttpMeta.php', 'Zotlabs\\Web\\Router' => __DIR__ . '/../..' . '/Zotlabs/Web/Router.php', 'Zotlabs\\Web\\Session' => __DIR__ . '/../..' . '/Zotlabs/Web/Session.php', @@ -707,6 +747,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d return \Closure::bind(function () use ($loader) { $loader->prefixLengthsPsr4 = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$prefixLengthsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$prefixesPsr0; $loader->classMap = ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::$classMap; }, null, ClassLoader::class); diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 88acfc40c..0fb88e5a1 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -21,7 +21,7 @@ "phpunit/phpunit": "*", "sabre/cs": "~0.0.1" }, - "time": "2016-03-08 02:29:27", + "time": "2016-03-08T02:29:27+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -79,7 +79,7 @@ "suggest": { "hoa/bench": "If you would like to run the benchmark scripts" }, - "time": "2016-07-15 19:52:17", + "time": "2016-07-15T19:52:17+00:00", "bin": [ "bin/vobject", "bin/generate_vcards" @@ -173,7 +173,7 @@ "phpunit/phpunit": "*", "sabre/cs": "~0.0.4" }, - "time": "2015-11-05 20:14:39", + "time": "2015-11-05T20:14:39+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -238,7 +238,7 @@ "suggest": { "ext-curl": " to make http requests with the Client class" }, - "time": "2016-01-06 23:00:08", + "time": "2016-01-06T23:00:08+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -310,7 +310,7 @@ "ext-curl": "*", "ext-pdo": "*" }, - "time": "2016-06-28 02:44:05", + "time": "2016-06-28T02:44:05+00:00", "bin": [ "bin/sabredav", "bin/naturalselection" @@ -379,7 +379,7 @@ "phpunit/phpunit": "*", "sabre/cs": "~1.0.0" }, - "time": "2016-10-09 22:57:52", + "time": "2016-10-09T22:57:52+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -435,7 +435,7 @@ "require": { "php": ">=5.3.0" }, - "time": "2016-10-10 12:19:37", + "time": "2016-10-10T12:19:37+00:00", "type": "library", "extra": { "branch-alias": { @@ -465,5 +465,116 @@ "psr", "psr-3" ] + }, + { + "name": "michelf/php-markdown", + "version": "1.7.0", + "version_normalized": "1.7.0.0", + "source": { + "type": "git", + "url": "https://github.com/michelf/php-markdown.git", + "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220", + "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2016-10-29T18:58:20+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-lib": "1.4.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Michelf": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" + } + ], + "description": "PHP Markdown", + "homepage": "https://michelf.ca/projects/php-markdown/", + "keywords": [ + "markdown" + ] + }, + { + "name": "pixel418/markdownify", + "version": "v2.2.1", + "version_normalized": "2.2.1.0", + "source": { + "type": "git", + "url": "https://github.com/Elephant418/Markdownify.git", + "reference": "0160677f04c784550dd10fd72fdf3994967db848" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Elephant418/Markdownify/zipball/0160677f04c784550dd10fd72fdf3994967db848", + "reference": "0160677f04c784550dd10fd72fdf3994967db848", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "time": "2016-09-21T13:01:43+00:00", + "type": "lib", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Markdownify\\": "src", + "Test\\Markdownify\\": "test" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Peter Kruithof", + "email": "pkruithof@gmail.com", + "homepage": "http://pkruithof.tumblr.com/" + }, + { + "name": "Milian Wolff", + "email": "mail@milianw.de", + "homepage": "http://milianw.de" + }, + { + "name": "Thomas Zilliox", + "email": "hello@tzi.fr", + "homepage": "http://tzi.fr" + } + ], + "description": "The HTML to Markdown converter for PHP ", + "homepage": "https://github.com/elephant418/Markdownify", + "keywords": [ + "markdown", + "markdownify" + ] } ] diff --git a/vendor/michelf/php-markdown/License.md b/vendor/michelf/php-markdown/License.md new file mode 100644 index 000000000..c16197b69 --- /dev/null +++ b/vendor/michelf/php-markdown/License.md @@ -0,0 +1,36 @@ +PHP Markdown Lib +Copyright (c) 2004-2016 Michel Fortin +<https://michelf.ca/> +All rights reserved. + +Based on Markdown +Copyright (c) 2003-2006 John Gruber +<https://daringfireball.net/> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +* Neither the name "Markdown" nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +This software is provided by the copyright holders and contributors "as +is" and any express or implied warranties, including, but not limited +to, the implied warranties of merchantability and fitness for a +particular purpose are disclaimed. In no event shall the copyright owner +or contributors be liable for any direct, indirect, incidental, special, +exemplary, or consequential damages (including, but not limited to, +procurement of substitute goods or services; loss of use, data, or +profits; or business interruption) however caused and on any theory of +liability, whether in contract, strict liability, or tort (including +negligence or otherwise) arising in any way out of the use of this +software, even if advised of the possibility of such damage. diff --git a/vendor/michelf/php-markdown/Michelf/Markdown.inc.php b/vendor/michelf/php-markdown/Michelf/Markdown.inc.php new file mode 100644 index 000000000..e2bd3808e --- /dev/null +++ b/vendor/michelf/php-markdown/Michelf/Markdown.inc.php @@ -0,0 +1,10 @@ +<?php + +// Use this file if you cannot use class autoloading. It will include all the +// files needed for the Markdown parser. +// +// Take a look at the PSR-0-compatible class autoloading implementation +// in the Readme.php file if you want a simple autoloader setup. + +require_once dirname(__FILE__) . '/MarkdownInterface.php'; +require_once dirname(__FILE__) . '/Markdown.php'; diff --git a/vendor/michelf/php-markdown/Michelf/Markdown.php b/vendor/michelf/php-markdown/Michelf/Markdown.php new file mode 100644 index 000000000..c3eaf4464 --- /dev/null +++ b/vendor/michelf/php-markdown/Michelf/Markdown.php @@ -0,0 +1,1896 @@ +<?php +/** + * Markdown - A text-to-HTML conversion tool for web writers + * + * @package php-markdown + * @author Michel Fortin <michel.fortin@michelf.com> + * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/> + * @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/> + */ + +namespace Michelf; + +/** + * Markdown Parser Class + */ +class Markdown implements MarkdownInterface { + /** + * Define the package version + * @var string + */ + const MARKDOWNLIB_VERSION = "1.7.0"; + + /** + * Simple function interface - Initialize the parser and return the result + * of its transform method. This will work fine for derived classes too. + * + * @api + * + * @param string $text + * @return string + */ + public static function defaultTransform($text) { + // Take parser class on which this function was called. + $parser_class = \get_called_class(); + + // Try to take parser from the static parser list + static $parser_list; + $parser =& $parser_list[$parser_class]; + + // Create the parser it not already set + if (!$parser) { + $parser = new $parser_class; + } + + // Transform text using parser. + return $parser->transform($text); + } + + /** + * Configuration variables + */ + + /** + * Change to ">" for HTML output. + * @var string + */ + public $empty_element_suffix = " />"; + + /** + * The width of indentation of the output markup + * @var int + */ + public $tab_width = 4; + + /** + * Change to `true` to disallow markup or entities. + * @var boolean + */ + public $no_markup = false; + public $no_entities = false; + + + /** + * Change to `true` to enable line breaks on \n without two trailling spaces + * @var boolean + */ + public $hard_wrap = false; + + /** + * Predefined URLs and titles for reference links and images. + * @var array + */ + public $predef_urls = array(); + public $predef_titles = array(); + + /** + * Optional filter function for URLs + * @var callable + */ + public $url_filter_func = null; + + /** + * Optional header id="" generation callback function. + * @var callable + */ + public $header_id_func = null; + + /** + * Optional function for converting code block content to HTML + * @var callable + */ + public $code_block_content_func = null; + + /** + * Optional function for converting code span content to HTML. + * @var callable + */ + public $code_span_content_func = null; + + /** + * Class attribute to toggle "enhanced ordered list" behaviour + * setting this to true will allow ordered lists to start from the index + * number that is defined first. + * + * For example: + * 2. List item two + * 3. List item three + * + * Becomes: + * <ol start="2"> + * <li>List item two</li> + * <li>List item three</li> + * </ol> + * + * @var bool + */ + public $enhanced_ordered_list = false; + + /** + * Parser implementation + */ + + /** + * Regex to match balanced [brackets]. + * Needed to insert a maximum bracked depth while converting to PHP. + * @var int + */ + protected $nested_brackets_depth = 6; + protected $nested_brackets_re; + + protected $nested_url_parenthesis_depth = 4; + protected $nested_url_parenthesis_re; + + /** + * Table of hash values for escaped characters: + * @var string + */ + protected $escape_chars = '\`*_{}[]()>#+-.!'; + protected $escape_chars_re; + + /** + * Constructor function. Initialize appropriate member variables. + * @return void + */ + public function __construct() { + $this->_initDetab(); + $this->prepareItalicsAndBold(); + + $this->nested_brackets_re = + str_repeat('(?>[^\[\]]+|\[', $this->nested_brackets_depth). + str_repeat('\])*', $this->nested_brackets_depth); + + $this->nested_url_parenthesis_re = + str_repeat('(?>[^()\s]+|\(', $this->nested_url_parenthesis_depth). + str_repeat('(?>\)))*', $this->nested_url_parenthesis_depth); + + $this->escape_chars_re = '['.preg_quote($this->escape_chars).']'; + + // Sort document, block, and span gamut in ascendent priority order. + asort($this->document_gamut); + asort($this->block_gamut); + asort($this->span_gamut); + } + + + /** + * Internal hashes used during transformation. + * @var array + */ + protected $urls = array(); + protected $titles = array(); + protected $html_hashes = array(); + + /** + * Status flag to avoid invalid nesting. + * @var boolean + */ + protected $in_anchor = false; + + /** + * Called before the transformation process starts to setup parser states. + * @return void + */ + protected function setup() { + // Clear global hashes. + $this->urls = $this->predef_urls; + $this->titles = $this->predef_titles; + $this->html_hashes = array(); + $this->in_anchor = false; + } + + /** + * Called after the transformation process to clear any variable which may + * be taking up memory unnecessarly. + * @return void + */ + protected function teardown() { + $this->urls = array(); + $this->titles = array(); + $this->html_hashes = array(); + } + + /** + * Main function. Performs some preprocessing on the input text and pass + * it through the document gamut. + * + * @api + * + * @param string $text + * @return string + */ + public function transform($text) { + $this->setup(); + + # Remove UTF-8 BOM and marker character in input, if present. + $text = preg_replace('{^\xEF\xBB\xBF|\x1A}', '', $text); + + # Standardize line endings: + # DOS to Unix and Mac to Unix + $text = preg_replace('{\r\n?}', "\n", $text); + + # Make sure $text ends with a couple of newlines: + $text .= "\n\n"; + + # Convert all tabs to spaces. + $text = $this->detab($text); + + # Turn block-level HTML blocks into hash entries + $text = $this->hashHTMLBlocks($text); + + # Strip any lines consisting only of spaces and tabs. + # This makes subsequent regexen easier to write, because we can + # match consecutive blank lines with /\n+/ instead of something + # contorted like /[ ]*\n+/ . + $text = preg_replace('/^[ ]+$/m', '', $text); + + # Run document gamut methods. + foreach ($this->document_gamut as $method => $priority) { + $text = $this->$method($text); + } + + $this->teardown(); + + return $text . "\n"; + } + + /** + * Define the document gamut + * @var array + */ + protected $document_gamut = array( + // Strip link definitions, store in hashes. + "stripLinkDefinitions" => 20, + "runBasicBlockGamut" => 30, + ); + + /** + * Strips link definitions from text, stores the URLs and titles in + * hash references + * @param string $text + * @return string + */ + protected function stripLinkDefinitions($text) { + + $less_than_tab = $this->tab_width - 1; + + // Link defs are in the form: ^[id]: url "optional title" + $text = preg_replace_callback('{ + ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1 + [ ]* + \n? # maybe *one* newline + [ ]* + (?: + <(.+?)> # url = $2 + | + (\S+?) # url = $3 + ) + [ ]* + \n? # maybe one newline + [ ]* + (?: + (?<=\s) # lookbehind for whitespace + ["(] + (.*?) # title = $4 + [")] + [ ]* + )? # title is optional + (?:\n+|\Z) + }xm', + array($this, '_stripLinkDefinitions_callback'), + $text + ); + return $text; + } + + /** + * The callback to strip link definitions + * @param array $matches + * @return string + */ + protected function _stripLinkDefinitions_callback($matches) { + $link_id = strtolower($matches[1]); + $url = $matches[2] == '' ? $matches[3] : $matches[2]; + $this->urls[$link_id] = $url; + $this->titles[$link_id] =& $matches[4]; + return ''; // String that will replace the block + } + + /** + * Hashify HTML blocks + * @param string $text + * @return string + */ + protected function hashHTMLBlocks($text) { + if ($this->no_markup) { + return $text; + } + + $less_than_tab = $this->tab_width - 1; + + /** + * Hashify HTML blocks: + * + * We only want to do this for block-level HTML tags, such as headers, + * lists, and tables. That's because we still want to wrap <p>s around + * "paragraphs" that are wrapped in non-block-level tags, such as + * anchors, phrase emphasis, and spans. The list of tags we're looking + * for is hard-coded: + * + * * List "a" is made of tags which can be both inline or block-level. + * These will be treated block-level when the start tag is alone on + * its line, otherwise they're not matched here and will be taken as + * inline later. + * * List "b" is made of tags which are always block-level; + */ + $block_tags_a_re = 'ins|del'; + $block_tags_b_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|'. + 'script|noscript|style|form|fieldset|iframe|math|svg|'. + 'article|section|nav|aside|hgroup|header|footer|'. + 'figure'; + + // Regular expression for the content of a block tag. + $nested_tags_level = 4; + $attr = ' + (?> # optional tag attributes + \s # starts with whitespace + (?> + [^>"/]+ # text outside quotes + | + /+(?!>) # slash not followed by ">" + | + "[^"]*" # text inside double quotes (tolerate ">") + | + \'[^\']*\' # text inside single quotes (tolerate ">") + )* + )? + '; + $content = + str_repeat(' + (?> + [^<]+ # content without tag + | + <\2 # nested opening tag + '.$attr.' # attributes + (?> + /> + | + >', $nested_tags_level). // end of opening tag + '.*?'. // last level nested tag content + str_repeat(' + </\2\s*> # closing nested tag + ) + | + <(?!/\2\s*> # other tags with a different name + ) + )*', + $nested_tags_level); + $content2 = str_replace('\2', '\3', $content); + + /** + * First, look for nested blocks, e.g.: + * <div> + * <div> + * tags for inner block must be indented. + * </div> + * </div> + * + * The outermost tags must start at the left margin for this to match, + * and the inner nested divs must be indented. + * We need to do this before the next, more liberal match, because the + * next match will start at the first `<div>` and stop at the + * first `</div>`. + */ + $text = preg_replace_callback('{(?> + (?> + (?<=\n) # Starting on its own line + | # or + \A\n? # the at beginning of the doc + ) + ( # save in $1 + + # Match from `\n<tag>` to `</tag>\n`, handling nested tags + # in between. + + [ ]{0,'.$less_than_tab.'} + <('.$block_tags_b_re.')# start tag = $2 + '.$attr.'> # attributes followed by > and \n + '.$content.' # content, support nesting + </\2> # the matching end tag + [ ]* # trailing spaces/tabs + (?=\n+|\Z) # followed by a newline or end of document + + | # Special version for tags of group a. + + [ ]{0,'.$less_than_tab.'} + <('.$block_tags_a_re.')# start tag = $3 + '.$attr.'>[ ]*\n # attributes followed by > + '.$content2.' # content, support nesting + </\3> # the matching end tag + [ ]* # trailing spaces/tabs + (?=\n+|\Z) # followed by a newline or end of document + + | # Special case just for <hr />. It was easier to make a special + # case than to make the other regex more complicated. + + [ ]{0,'.$less_than_tab.'} + <(hr) # start tag = $2 + '.$attr.' # attributes + /?> # the matching end tag + [ ]* + (?=\n{2,}|\Z) # followed by a blank line or end of document + + | # Special case for standalone HTML comments: + + [ ]{0,'.$less_than_tab.'} + (?s: + <!-- .*? --> + ) + [ ]* + (?=\n{2,}|\Z) # followed by a blank line or end of document + + | # PHP and ASP-style processor instructions (<? and <%) + + [ ]{0,'.$less_than_tab.'} + (?s: + <([?%]) # $2 + .*? + \2> + ) + [ ]* + (?=\n{2,}|\Z) # followed by a blank line or end of document + + ) + )}Sxmi', + array($this, '_hashHTMLBlocks_callback'), + $text + ); + + return $text; + } + + /** + * The callback for hashing HTML blocks + * @param string $matches + * @return string + */ + protected function _hashHTMLBlocks_callback($matches) { + $text = $matches[1]; + $key = $this->hashBlock($text); + return "\n\n$key\n\n"; + } + + /** + * Called whenever a tag must be hashed when a function insert an atomic + * element in the text stream. Passing $text to through this function gives + * a unique text-token which will be reverted back when calling unhash. + * + * The $boundary argument specify what character should be used to surround + * the token. By convension, "B" is used for block elements that needs not + * to be wrapped into paragraph tags at the end, ":" is used for elements + * that are word separators and "X" is used in the general case. + * + * @param string $text + * @param string $boundary + * @return string + */ + protected function hashPart($text, $boundary = 'X') { + // Swap back any tag hash found in $text so we do not have to `unhash` + // multiple times at the end. + $text = $this->unhash($text); + + // Then hash the block. + static $i = 0; + $key = "$boundary\x1A" . ++$i . $boundary; + $this->html_hashes[$key] = $text; + return $key; // String that will replace the tag. + } + + /** + * Shortcut function for hashPart with block-level boundaries. + * @param string $text + * @return string + */ + protected function hashBlock($text) { + return $this->hashPart($text, 'B'); + } + + /** + * Define the block gamut - these are all the transformations that form + * block-level tags like paragraphs, headers, and list items. + * @var array + */ + protected $block_gamut = array( + "doHeaders" => 10, + "doHorizontalRules" => 20, + "doLists" => 40, + "doCodeBlocks" => 50, + "doBlockQuotes" => 60, + ); + + /** + * Run block gamut tranformations. + * + * We need to escape raw HTML in Markdown source before doing anything + * else. This need to be done for each block, and not only at the + * begining in the Markdown function since hashed blocks can be part of + * list items and could have been indented. Indented blocks would have + * been seen as a code block in a previous pass of hashHTMLBlocks. + * + * @param string $text + * @return string + */ + protected function runBlockGamut($text) { + $text = $this->hashHTMLBlocks($text); + return $this->runBasicBlockGamut($text); + } + + /** + * Run block gamut tranformations, without hashing HTML blocks. This is + * useful when HTML blocks are known to be already hashed, like in the first + * whole-document pass. + * + * @param string $text + * @return string + */ + protected function runBasicBlockGamut($text) { + + foreach ($this->block_gamut as $method => $priority) { + $text = $this->$method($text); + } + + // Finally form paragraph and restore hashed blocks. + $text = $this->formParagraphs($text); + + return $text; + } + + /** + * Convert horizontal rules + * @param string $text + * @return string + */ + protected function doHorizontalRules($text) { + return preg_replace( + '{ + ^[ ]{0,3} # Leading space + ([-*_]) # $1: First marker + (?> # Repeated marker group + [ ]{0,2} # Zero, one, or two spaces. + \1 # Marker character + ){2,} # Group repeated at least twice + [ ]* # Tailing spaces + $ # End of line. + }mx', + "\n".$this->hashBlock("<hr$this->empty_element_suffix")."\n", + $text + ); + } + + /** + * These are all the transformations that occur *within* block-level + * tags like paragraphs, headers, and list items. + * @var array + */ + protected $span_gamut = array( + // Process character escapes, code spans, and inline HTML + // in one shot. + "parseSpan" => -30, + // Process anchor and image tags. Images must come first, + // because ![foo][f] looks like an anchor. + "doImages" => 10, + "doAnchors" => 20, + // Make links out of things like `<https://example.com/>` + // Must come after doAnchors, because you can use < and > + // delimiters in inline links like [this](<url>). + "doAutoLinks" => 30, + "encodeAmpsAndAngles" => 40, + "doItalicsAndBold" => 50, + "doHardBreaks" => 60, + ); + + /** + * Run span gamut transformations + * @param string $text + * @return string + */ + protected function runSpanGamut($text) { + foreach ($this->span_gamut as $method => $priority) { + $text = $this->$method($text); + } + + return $text; + } + + /** + * Do hard breaks + * @param string $text + * @return string + */ + protected function doHardBreaks($text) { + if ($this->hard_wrap) { + return preg_replace_callback('/ *\n/', + array($this, '_doHardBreaks_callback'), $text); + } else { + return preg_replace_callback('/ {2,}\n/', + array($this, '_doHardBreaks_callback'), $text); + } + } + + /** + * Trigger part hashing for the hard break (callback method) + * @param array $matches + * @return string + */ + protected function _doHardBreaks_callback($matches) { + return $this->hashPart("<br$this->empty_element_suffix\n"); + } + + /** + * Turn Markdown link shortcuts into XHTML <a> tags. + * @param string $text + * @return string + */ + protected function doAnchors($text) { + if ($this->in_anchor) { + return $text; + } + $this->in_anchor = true; + + // First, handle reference-style links: [link text] [id] + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + \[ + ('.$this->nested_brackets_re.') # link text = $2 + \] + + [ ]? # one optional space + (?:\n[ ]*)? # one optional newline followed by spaces + + \[ + (.*?) # id = $3 + \] + ) + }xs', + array($this, '_doAnchors_reference_callback'), $text); + + // Next, inline-style links: [link text](url "optional title") + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + \[ + ('.$this->nested_brackets_re.') # link text = $2 + \] + \( # literal paren + [ \n]* + (?: + <(.+?)> # href = $3 + | + ('.$this->nested_url_parenthesis_re.') # href = $4 + ) + [ \n]* + ( # $5 + ([\'"]) # quote char = $6 + (.*?) # Title = $7 + \6 # matching quote + [ \n]* # ignore any spaces/tabs between closing quote and ) + )? # title is optional + \) + ) + }xs', + array($this, '_doAnchors_inline_callback'), $text); + + // Last, handle reference-style shortcuts: [link text] + // These must come last in case you've also got [link text][1] + // or [link text](/foo) + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + \[ + ([^\[\]]+) # link text = $2; can\'t contain [ or ] + \] + ) + }xs', + array($this, '_doAnchors_reference_callback'), $text); + + $this->in_anchor = false; + return $text; + } + + /** + * Callback method to parse referenced anchors + * @param string $matches + * @return string + */ + protected function _doAnchors_reference_callback($matches) { + $whole_match = $matches[1]; + $link_text = $matches[2]; + $link_id =& $matches[3]; + + if ($link_id == "") { + // for shortcut links like [this][] or [this]. + $link_id = $link_text; + } + + // lower-case and turn embedded newlines into spaces + $link_id = strtolower($link_id); + $link_id = preg_replace('{[ ]?\n}', ' ', $link_id); + + if (isset($this->urls[$link_id])) { + $url = $this->urls[$link_id]; + $url = $this->encodeURLAttribute($url); + + $result = "<a href=\"$url\""; + if ( isset( $this->titles[$link_id] ) ) { + $title = $this->titles[$link_id]; + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; + } + + $link_text = $this->runSpanGamut($link_text); + $result .= ">$link_text</a>"; + $result = $this->hashPart($result); + } else { + $result = $whole_match; + } + return $result; + } + + /** + * Callback method to parse inline anchors + * @param string $matches + * @return string + */ + protected function _doAnchors_inline_callback($matches) { + $whole_match = $matches[1]; + $link_text = $this->runSpanGamut($matches[2]); + $url = $matches[3] == '' ? $matches[4] : $matches[3]; + $title =& $matches[7]; + + // If the URL was of the form <s p a c e s> it got caught by the HTML + // tag parser and hashed. Need to reverse the process before using + // the URL. + $unhashed = $this->unhash($url); + if ($unhashed != $url) + $url = preg_replace('/^<(.*)>$/', '\1', $unhashed); + + $url = $this->encodeURLAttribute($url); + + $result = "<a href=\"$url\""; + if (isset($title)) { + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; + } + + $link_text = $this->runSpanGamut($link_text); + $result .= ">$link_text</a>"; + + return $this->hashPart($result); + } + + /** + * Turn Markdown image shortcuts into <img> tags. + * @param string $text + * @return string + */ + protected function doImages($text) { + // First, handle reference-style labeled images: ![alt text][id] + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + !\[ + ('.$this->nested_brackets_re.') # alt text = $2 + \] + + [ ]? # one optional space + (?:\n[ ]*)? # one optional newline followed by spaces + + \[ + (.*?) # id = $3 + \] + + ) + }xs', + array($this, '_doImages_reference_callback'), $text); + + // Next, handle inline images: ![alt text](url "optional title") + // Don't forget: encode * and _ + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + !\[ + ('.$this->nested_brackets_re.') # alt text = $2 + \] + \s? # One optional whitespace character + \( # literal paren + [ \n]* + (?: + <(\S*)> # src url = $3 + | + ('.$this->nested_url_parenthesis_re.') # src url = $4 + ) + [ \n]* + ( # $5 + ([\'"]) # quote char = $6 + (.*?) # title = $7 + \6 # matching quote + [ \n]* + )? # title is optional + \) + ) + }xs', + array($this, '_doImages_inline_callback'), $text); + + return $text; + } + + /** + * Callback to parse references image tags + * @param array $matches + * @return string + */ + protected function _doImages_reference_callback($matches) { + $whole_match = $matches[1]; + $alt_text = $matches[2]; + $link_id = strtolower($matches[3]); + + if ($link_id == "") { + $link_id = strtolower($alt_text); // for shortcut links like ![this][]. + } + + $alt_text = $this->encodeAttribute($alt_text); + if (isset($this->urls[$link_id])) { + $url = $this->encodeURLAttribute($this->urls[$link_id]); + $result = "<img src=\"$url\" alt=\"$alt_text\""; + if (isset($this->titles[$link_id])) { + $title = $this->titles[$link_id]; + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; + } + $result .= $this->empty_element_suffix; + $result = $this->hashPart($result); + } else { + // If there's no such link ID, leave intact: + $result = $whole_match; + } + + return $result; + } + + /** + * Callback to parse inline image tags + * @param array $matches + * @return string + */ + protected function _doImages_inline_callback($matches) { + $whole_match = $matches[1]; + $alt_text = $matches[2]; + $url = $matches[3] == '' ? $matches[4] : $matches[3]; + $title =& $matches[7]; + + $alt_text = $this->encodeAttribute($alt_text); + $url = $this->encodeURLAttribute($url); + $result = "<img src=\"$url\" alt=\"$alt_text\""; + if (isset($title)) { + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; // $title already quoted + } + $result .= $this->empty_element_suffix; + + return $this->hashPart($result); + } + + /** + * Parse Markdown heading elements to HTML + * @param string $text + * @return string + */ + protected function doHeaders($text) { + /** + * Setext-style headers: + * Header 1 + * ======== + * + * Header 2 + * -------- + */ + $text = preg_replace_callback('{ ^(.+?)[ ]*\n(=+|-+)[ ]*\n+ }mx', + array($this, '_doHeaders_callback_setext'), $text); + + /** + * atx-style headers: + * # Header 1 + * ## Header 2 + * ## Header 2 with closing hashes ## + * ... + * ###### Header 6 + */ + $text = preg_replace_callback('{ + ^(\#{1,6}) # $1 = string of #\'s + [ ]* + (.+?) # $2 = Header text + [ ]* + \#* # optional closing #\'s (not counted) + \n+ + }xm', + array($this, '_doHeaders_callback_atx'), $text); + + return $text; + } + + /** + * Setext header parsing callback + * @param array $matches + * @return string + */ + protected function _doHeaders_callback_setext($matches) { + // Terrible hack to check we haven't found an empty list item. + if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1])) { + return $matches[0]; + } + + $level = $matches[2]{0} == '=' ? 1 : 2; + + // ID attribute generation + $idAtt = $this->_generateIdFromHeaderValue($matches[1]); + + $block = "<h$level$idAtt>".$this->runSpanGamut($matches[1])."</h$level>"; + return "\n" . $this->hashBlock($block) . "\n\n"; + } + + /** + * ATX header parsing callback + * @param array $matches + * @return string + */ + protected function _doHeaders_callback_atx($matches) { + // ID attribute generation + $idAtt = $this->_generateIdFromHeaderValue($matches[2]); + + $level = strlen($matches[1]); + $block = "<h$level$idAtt>".$this->runSpanGamut($matches[2])."</h$level>"; + return "\n" . $this->hashBlock($block) . "\n\n"; + } + + /** + * If a header_id_func property is set, we can use it to automatically + * generate an id attribute. + * + * This method returns a string in the form id="foo", or an empty string + * otherwise. + * @param string $headerValue + * @return string + */ + protected function _generateIdFromHeaderValue($headerValue) { + if (!is_callable($this->header_id_func)) { + return ""; + } + + $idValue = call_user_func($this->header_id_func, $headerValue); + if (!$idValue) { + return ""; + } + + return ' id="' . $this->encodeAttribute($idValue) . '"'; + } + + /** + * Form HTML ordered (numbered) and unordered (bulleted) lists. + * @param string $text + * @return string + */ + protected function doLists($text) { + $less_than_tab = $this->tab_width - 1; + + // Re-usable patterns to match list item bullets and number markers: + $marker_ul_re = '[*+-]'; + $marker_ol_re = '\d+[\.]'; + + $markers_relist = array( + $marker_ul_re => $marker_ol_re, + $marker_ol_re => $marker_ul_re, + ); + + foreach ($markers_relist as $marker_re => $other_marker_re) { + // Re-usable pattern to match any entirel ul or ol list: + $whole_list_re = ' + ( # $1 = whole list + ( # $2 + ([ ]{0,'.$less_than_tab.'}) # $3 = number of spaces + ('.$marker_re.') # $4 = first list item marker + [ ]+ + ) + (?s:.+?) + ( # $5 + \z + | + \n{2,} + (?=\S) + (?! # Negative lookahead for another list item marker + [ ]* + '.$marker_re.'[ ]+ + ) + | + (?= # Lookahead for another kind of list + \n + \3 # Must have the same indentation + '.$other_marker_re.'[ ]+ + ) + ) + ) + '; // mx + + // We use a different prefix before nested lists than top-level lists. + //See extended comment in _ProcessListItems(). + + if ($this->list_level) { + $text = preg_replace_callback('{ + ^ + '.$whole_list_re.' + }mx', + array($this, '_doLists_callback'), $text); + } else { + $text = preg_replace_callback('{ + (?:(?<=\n)\n|\A\n?) # Must eat the newline + '.$whole_list_re.' + }mx', + array($this, '_doLists_callback'), $text); + } + } + + return $text; + } + + /** + * List parsing callback + * @param array $matches + * @return string + */ + protected function _doLists_callback($matches) { + // Re-usable patterns to match list item bullets and number markers: + $marker_ul_re = '[*+-]'; + $marker_ol_re = '\d+[\.]'; + $marker_any_re = "(?:$marker_ul_re|$marker_ol_re)"; + $marker_ol_start_re = '[0-9]+'; + + $list = $matches[1]; + $list_type = preg_match("/$marker_ul_re/", $matches[4]) ? "ul" : "ol"; + + $marker_any_re = ( $list_type == "ul" ? $marker_ul_re : $marker_ol_re ); + + $list .= "\n"; + $result = $this->processListItems($list, $marker_any_re); + + $ol_start = 1; + if ($this->enhanced_ordered_list) { + // Get the start number for ordered list. + if ($list_type == 'ol') { + $ol_start_array = array(); + $ol_start_check = preg_match("/$marker_ol_start_re/", $matches[4], $ol_start_array); + if ($ol_start_check){ + $ol_start = $ol_start_array[0]; + } + } + } + + if ($ol_start > 1 && $list_type == 'ol'){ + $result = $this->hashBlock("<$list_type start=\"$ol_start\">\n" . $result . "</$list_type>"); + } else { + $result = $this->hashBlock("<$list_type>\n" . $result . "</$list_type>"); + } + return "\n". $result ."\n\n"; + } + + /** + * Nesting tracker for list levels + * @var integer + */ + protected $list_level = 0; + + /** + * Process the contents of a single ordered or unordered list, splitting it + * into individual list items. + * @param string $list_str + * @param string $marker_any_re + * @return string + */ + protected function processListItems($list_str, $marker_any_re) { + /** + * The $this->list_level global keeps track of when we're inside a list. + * Each time we enter a list, we increment it; when we leave a list, + * we decrement. If it's zero, we're not in a list anymore. + * + * We do this because when we're not inside a list, we want to treat + * something like this: + * + * I recommend upgrading to version + * 8. Oops, now this line is treated + * as a sub-list. + * + * As a single paragraph, despite the fact that the second line starts + * with a digit-period-space sequence. + * + * Whereas when we're inside a list (or sub-list), that line will be + * treated as the start of a sub-list. What a kludge, huh? This is + * an aspect of Markdown's syntax that's hard to parse perfectly + * without resorting to mind-reading. Perhaps the solution is to + * change the syntax rules such that sub-lists must start with a + * starting cardinal number; e.g. "1." or "a.". + */ + $this->list_level++; + + // Trim trailing blank lines: + $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str); + + $list_str = preg_replace_callback('{ + (\n)? # leading line = $1 + (^[ ]*) # leading whitespace = $2 + ('.$marker_any_re.' # list marker and space = $3 + (?:[ ]+|(?=\n)) # space only required if item is not empty + ) + ((?s:.*?)) # list item text = $4 + (?:(\n+(?=\n))|\n) # tailing blank line = $5 + (?= \n* (\z | \2 ('.$marker_any_re.') (?:[ ]+|(?=\n)))) + }xm', + array($this, '_processListItems_callback'), $list_str); + + $this->list_level--; + return $list_str; + } + + /** + * List item parsing callback + * @param array $matches + * @return string + */ + protected function _processListItems_callback($matches) { + $item = $matches[4]; + $leading_line =& $matches[1]; + $leading_space =& $matches[2]; + $marker_space = $matches[3]; + $tailing_blank_line =& $matches[5]; + + if ($leading_line || $tailing_blank_line || + preg_match('/\n{2,}/', $item)) + { + // Replace marker with the appropriate whitespace indentation + $item = $leading_space . str_repeat(' ', strlen($marker_space)) . $item; + $item = $this->runBlockGamut($this->outdent($item)."\n"); + } else { + // Recursion for sub-lists: + $item = $this->doLists($this->outdent($item)); + $item = $this->formParagraphs($item, false); + } + + return "<li>" . $item . "</li>\n"; + } + + /** + * Process Markdown `<pre><code>` blocks. + * @param string $text + * @return string + */ + protected function doCodeBlocks($text) { + $text = preg_replace_callback('{ + (?:\n\n|\A\n?) + ( # $1 = the code block -- one or more lines, starting with a space/tab + (?> + [ ]{'.$this->tab_width.'} # Lines must start with a tab or a tab-width of spaces + .*\n+ + )+ + ) + ((?=^[ ]{0,'.$this->tab_width.'}\S)|\Z) # Lookahead for non-space at line-start, or end of doc + }xm', + array($this, '_doCodeBlocks_callback'), $text); + + return $text; + } + + /** + * Code block parsing callback + * @param array $matches + * @return string + */ + protected function _doCodeBlocks_callback($matches) { + $codeblock = $matches[1]; + + $codeblock = $this->outdent($codeblock); + if ($this->code_block_content_func) { + $codeblock = call_user_func($this->code_block_content_func, $codeblock, ""); + } else { + $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES); + } + + # trim leading newlines and trailing newlines + $codeblock = preg_replace('/\A\n+|\n+\z/', '', $codeblock); + + $codeblock = "<pre><code>$codeblock\n</code></pre>"; + return "\n\n" . $this->hashBlock($codeblock) . "\n\n"; + } + + /** + * Create a code span markup for $code. Called from handleSpanToken. + * @param string $code + * @return string + */ + protected function makeCodeSpan($code) { + if ($this->code_span_content_func) { + $code = call_user_func($this->code_span_content_func, $code); + } else { + $code = htmlspecialchars(trim($code), ENT_NOQUOTES); + } + return $this->hashPart("<code>$code</code>"); + } + + /** + * Define the emphasis operators with their regex matches + * @var array + */ + protected $em_relist = array( + '' => '(?:(?<!\*)\*(?!\*)|(?<!_)_(?!_))(?![\.,:;]?\s)', + '*' => '(?<![\s*])\*(?!\*)', + '_' => '(?<![\s_])_(?!_)', + ); + + /** + * Define the strong operators with their regex matches + * @var array + */ + protected $strong_relist = array( + '' => '(?:(?<!\*)\*\*(?!\*)|(?<!_)__(?!_))(?![\.,:;]?\s)', + '**' => '(?<![\s*])\*\*(?!\*)', + '__' => '(?<![\s_])__(?!_)', + ); + + /** + * Define the emphasis + strong operators with their regex matches + * @var array + */ + protected $em_strong_relist = array( + '' => '(?:(?<!\*)\*\*\*(?!\*)|(?<!_)___(?!_))(?![\.,:;]?\s)', + '***' => '(?<![\s*])\*\*\*(?!\*)', + '___' => '(?<![\s_])___(?!_)', + ); + + /** + * Container for prepared regular expressions + * @var array + */ + protected $em_strong_prepared_relist; + + /** + * Prepare regular expressions for searching emphasis tokens in any + * context. + * @return void + */ + protected function prepareItalicsAndBold() { + foreach ($this->em_relist as $em => $em_re) { + foreach ($this->strong_relist as $strong => $strong_re) { + // Construct list of allowed token expressions. + $token_relist = array(); + if (isset($this->em_strong_relist["$em$strong"])) { + $token_relist[] = $this->em_strong_relist["$em$strong"]; + } + $token_relist[] = $em_re; + $token_relist[] = $strong_re; + + // Construct master expression from list. + $token_re = '{(' . implode('|', $token_relist) . ')}'; + $this->em_strong_prepared_relist["$em$strong"] = $token_re; + } + } + } + + /** + * Convert Markdown italics (emphasis) and bold (strong) to HTML + * @param string $text + * @return string + */ + protected function doItalicsAndBold($text) { + $token_stack = array(''); + $text_stack = array(''); + $em = ''; + $strong = ''; + $tree_char_em = false; + + while (1) { + // Get prepared regular expression for seraching emphasis tokens + // in current context. + $token_re = $this->em_strong_prepared_relist["$em$strong"]; + + // Each loop iteration search for the next emphasis token. + // Each token is then passed to handleSpanToken. + $parts = preg_split($token_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE); + $text_stack[0] .= $parts[0]; + $token =& $parts[1]; + $text =& $parts[2]; + + if (empty($token)) { + // Reached end of text span: empty stack without emitting. + // any more emphasis. + while ($token_stack[0]) { + $text_stack[1] .= array_shift($token_stack); + $text_stack[0] .= array_shift($text_stack); + } + break; + } + + $token_len = strlen($token); + if ($tree_char_em) { + // Reached closing marker while inside a three-char emphasis. + if ($token_len == 3) { + // Three-char closing marker, close em and strong. + array_shift($token_stack); + $span = array_shift($text_stack); + $span = $this->runSpanGamut($span); + $span = "<strong><em>$span</em></strong>"; + $text_stack[0] .= $this->hashPart($span); + $em = ''; + $strong = ''; + } else { + // Other closing marker: close one em or strong and + // change current token state to match the other + $token_stack[0] = str_repeat($token{0}, 3-$token_len); + $tag = $token_len == 2 ? "strong" : "em"; + $span = $text_stack[0]; + $span = $this->runSpanGamut($span); + $span = "<$tag>$span</$tag>"; + $text_stack[0] = $this->hashPart($span); + $$tag = ''; // $$tag stands for $em or $strong + } + $tree_char_em = false; + } else if ($token_len == 3) { + if ($em) { + // Reached closing marker for both em and strong. + // Closing strong marker: + for ($i = 0; $i < 2; ++$i) { + $shifted_token = array_shift($token_stack); + $tag = strlen($shifted_token) == 2 ? "strong" : "em"; + $span = array_shift($text_stack); + $span = $this->runSpanGamut($span); + $span = "<$tag>$span</$tag>"; + $text_stack[0] .= $this->hashPart($span); + $$tag = ''; // $$tag stands for $em or $strong + } + } else { + // Reached opening three-char emphasis marker. Push on token + // stack; will be handled by the special condition above. + $em = $token{0}; + $strong = "$em$em"; + array_unshift($token_stack, $token); + array_unshift($text_stack, ''); + $tree_char_em = true; + } + } else if ($token_len == 2) { + if ($strong) { + // Unwind any dangling emphasis marker: + if (strlen($token_stack[0]) == 1) { + $text_stack[1] .= array_shift($token_stack); + $text_stack[0] .= array_shift($text_stack); + } + // Closing strong marker: + array_shift($token_stack); + $span = array_shift($text_stack); + $span = $this->runSpanGamut($span); + $span = "<strong>$span</strong>"; + $text_stack[0] .= $this->hashPart($span); + $strong = ''; + } else { + array_unshift($token_stack, $token); + array_unshift($text_stack, ''); + $strong = $token; + } + } else { + // Here $token_len == 1 + if ($em) { + if (strlen($token_stack[0]) == 1) { + // Closing emphasis marker: + array_shift($token_stack); + $span = array_shift($text_stack); + $span = $this->runSpanGamut($span); + $span = "<em>$span</em>"; + $text_stack[0] .= $this->hashPart($span); + $em = ''; + } else { + $text_stack[0] .= $token; + } + } else { + array_unshift($token_stack, $token); + array_unshift($text_stack, ''); + $em = $token; + } + } + } + return $text_stack[0]; + } + + /** + * Parse Markdown blockquotes to HTML + * @param string $text + * @return string + */ + protected function doBlockQuotes($text) { + $text = preg_replace_callback('/ + ( # Wrap whole match in $1 + (?> + ^[ ]*>[ ]? # ">" at the start of a line + .+\n # rest of the first line + (.+\n)* # subsequent consecutive lines + \n* # blanks + )+ + ) + /xm', + array($this, '_doBlockQuotes_callback'), $text); + + return $text; + } + + /** + * Blockquote parsing callback + * @param array $matches + * @return string + */ + protected function _doBlockQuotes_callback($matches) { + $bq = $matches[1]; + // trim one level of quoting - trim whitespace-only lines + $bq = preg_replace('/^[ ]*>[ ]?|^[ ]+$/m', '', $bq); + $bq = $this->runBlockGamut($bq); // recurse + + $bq = preg_replace('/^/m', " ", $bq); + // These leading spaces cause problem with <pre> content, + // so we need to fix that: + $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx', + array($this, '_doBlockQuotes_callback2'), $bq); + + return "\n" . $this->hashBlock("<blockquote>\n$bq\n</blockquote>") . "\n\n"; + } + + /** + * Blockquote parsing callback + * @param array $matches + * @return string + */ + protected function _doBlockQuotes_callback2($matches) { + $pre = $matches[1]; + $pre = preg_replace('/^ /m', '', $pre); + return $pre; + } + + /** + * Parse paragraphs + * + * @param string $text String to process in paragraphs + * @param boolean $wrap_in_p Whether paragraphs should be wrapped in <p> tags + * @return string + */ + protected function formParagraphs($text, $wrap_in_p = true) { + // Strip leading and trailing lines: + $text = preg_replace('/\A\n+|\n+\z/', '', $text); + + $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY); + + // Wrap <p> tags and unhashify HTML blocks + foreach ($grafs as $key => $value) { + if (!preg_match('/^B\x1A[0-9]+B$/', $value)) { + // Is a paragraph. + $value = $this->runSpanGamut($value); + if ($wrap_in_p) { + $value = preg_replace('/^([ ]*)/', "<p>", $value); + $value .= "</p>"; + } + $grafs[$key] = $this->unhash($value); + } else { + // Is a block. + // Modify elements of @grafs in-place... + $graf = $value; + $block = $this->html_hashes[$graf]; + $graf = $block; +// if (preg_match('{ +// \A +// ( # $1 = <div> tag +// <div \s+ +// [^>]* +// \b +// markdown\s*=\s* ([\'"]) # $2 = attr quote char +// 1 +// \2 +// [^>]* +// > +// ) +// ( # $3 = contents +// .* +// ) +// (</div>) # $4 = closing tag +// \z +// }xs', $block, $matches)) +// { +// list(, $div_open, , $div_content, $div_close) = $matches; +// +// // We can't call Markdown(), because that resets the hash; +// // that initialization code should be pulled into its own sub, though. +// $div_content = $this->hashHTMLBlocks($div_content); +// +// // Run document gamut methods on the content. +// foreach ($this->document_gamut as $method => $priority) { +// $div_content = $this->$method($div_content); +// } +// +// $div_open = preg_replace( +// '{\smarkdown\s*=\s*([\'"]).+?\1}', '', $div_open); +// +// $graf = $div_open . "\n" . $div_content . "\n" . $div_close; +// } + $grafs[$key] = $graf; + } + } + + return implode("\n\n", $grafs); + } + + /** + * Encode text for a double-quoted HTML attribute. This function + * is *not* suitable for attributes enclosed in single quotes. + * @param string $text + * @return string + */ + protected function encodeAttribute($text) { + $text = $this->encodeAmpsAndAngles($text); + $text = str_replace('"', '"', $text); + return $text; + } + + /** + * Encode text for a double-quoted HTML attribute containing a URL, + * applying the URL filter if set. Also generates the textual + * representation for the URL (removing mailto: or tel:) storing it in $text. + * This function is *not* suitable for attributes enclosed in single quotes. + * + * @param string $url + * @param string &$text Passed by reference + * @return string URL + */ + protected function encodeURLAttribute($url, &$text = null) { + if ($this->url_filter_func) { + $url = call_user_func($this->url_filter_func, $url); + } + + if (preg_match('{^mailto:}i', $url)) { + $url = $this->encodeEntityObfuscatedAttribute($url, $text, 7); + } else if (preg_match('{^tel:}i', $url)) { + $url = $this->encodeAttribute($url); + $text = substr($url, 4); + } else { + $url = $this->encodeAttribute($url); + $text = $url; + } + + return $url; + } + + /** + * Smart processing for ampersands and angle brackets that need to + * be encoded. Valid character entities are left alone unless the + * no-entities mode is set. + * @param string $text + * @return string + */ + protected function encodeAmpsAndAngles($text) { + if ($this->no_entities) { + $text = str_replace('&', '&', $text); + } else { + // Ampersand-encoding based entirely on Nat Irons's Amputator + // MT plugin: <http://bumppo.net/projects/amputator/> + $text = preg_replace('/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/', + '&', $text); + } + // Encode remaining <'s + $text = str_replace('<', '<', $text); + + return $text; + } + + /** + * Parse Markdown automatic links to anchor HTML tags + * @param string $text + * @return string + */ + protected function doAutoLinks($text) { + $text = preg_replace_callback('{<((https?|ftp|dict|tel):[^\'">\s]+)>}i', + array($this, '_doAutoLinks_url_callback'), $text); + + // Email addresses: <address@domain.foo> + $text = preg_replace_callback('{ + < + (?:mailto:)? + ( + (?: + [-!#$%&\'*+/=?^_`.{|}~\w\x80-\xFF]+ + | + ".*?" + ) + \@ + (?: + [-a-z0-9\x80-\xFF]+(\.[-a-z0-9\x80-\xFF]+)*\.[a-z]+ + | + \[[\d.a-fA-F:]+\] # IPv4 & IPv6 + ) + ) + > + }xi', + array($this, '_doAutoLinks_email_callback'), $text); + + return $text; + } + + /** + * Parse URL callback + * @param array $matches + * @return string + */ + protected function _doAutoLinks_url_callback($matches) { + $url = $this->encodeURLAttribute($matches[1], $text); + $link = "<a href=\"$url\">$text</a>"; + return $this->hashPart($link); + } + + /** + * Parse email address callback + * @param array $matches + * @return string + */ + protected function _doAutoLinks_email_callback($matches) { + $addr = $matches[1]; + $url = $this->encodeURLAttribute("mailto:$addr", $text); + $link = "<a href=\"$url\">$text</a>"; + return $this->hashPart($link); + } + + /** + * Input: some text to obfuscate, e.g. "mailto:foo@example.com" + * + * Output: the same text but with most characters encoded as either a + * decimal or hex entity, in the hopes of foiling most address + * harvesting spam bots. E.g.: + * + * mailto:foo + * @example.co + * m + * + * Note: the additional output $tail is assigned the same value as the + * ouput, minus the number of characters specified by $head_length. + * + * Based by a filter by Matthew Wickline, posted to BBEdit-Talk. + * With some optimizations by Milian Wolff. Forced encoding of HTML + * attribute special characters by Allan Odgaard. + * + * @param string $text + * @param string &$tail + * @param integer $head_length + * @return string + */ + protected function encodeEntityObfuscatedAttribute($text, &$tail = null, $head_length = 0) { + if ($text == "") { + return $tail = ""; + } + + $chars = preg_split('/(?<!^)(?!$)/', $text); + $seed = (int)abs(crc32($text) / strlen($text)); // Deterministic seed. + + foreach ($chars as $key => $char) { + $ord = ord($char); + // Ignore non-ascii chars. + if ($ord < 128) { + $r = ($seed * (1 + $key)) % 100; // Pseudo-random function. + // roughly 10% raw, 45% hex, 45% dec + // '@' *must* be encoded. I insist. + // '"' and '>' have to be encoded inside the attribute + if ($r > 90 && strpos('@"&>', $char) === false) { + /* do nothing */ + } else if ($r < 45) { + $chars[$key] = '&#x'.dechex($ord).';'; + } else { + $chars[$key] = '&#'.$ord.';'; + } + } + } + + $text = implode('', $chars); + $tail = $head_length ? implode('', array_slice($chars, $head_length)) : $text; + + return $text; + } + + /** + * Take the string $str and parse it into tokens, hashing embeded HTML, + * escaped characters and handling code spans. + * @param string $str + * @return string + */ + protected function parseSpan($str) { + $output = ''; + + $span_re = '{ + ( + \\\\'.$this->escape_chars_re.' + | + (?<![`\\\\]) + `+ # code span marker + '.( $this->no_markup ? '' : ' + | + <!-- .*? --> # comment + | + <\?.*?\?> | <%.*?%> # processing instruction + | + <[!$]?[-a-zA-Z0-9:_]+ # regular tags + (?> + \s + (?>[^"\'>]+|"[^"]*"|\'[^\']*\')* + )? + > + | + <[-a-zA-Z0-9:_]+\s*/> # xml-style empty tag + | + </[-a-zA-Z0-9:_]+\s*> # closing tag + ').' + ) + }xs'; + + while (1) { + // Each loop iteration seach for either the next tag, the next + // openning code span marker, or the next escaped character. + // Each token is then passed to handleSpanToken. + $parts = preg_split($span_re, $str, 2, PREG_SPLIT_DELIM_CAPTURE); + + // Create token from text preceding tag. + if ($parts[0] != "") { + $output .= $parts[0]; + } + + // Check if we reach the end. + if (isset($parts[1])) { + $output .= $this->handleSpanToken($parts[1], $parts[2]); + $str = $parts[2]; + } else { + break; + } + } + + return $output; + } + + /** + * Handle $token provided by parseSpan by determining its nature and + * returning the corresponding value that should replace it. + * @param string $token + * @param string &$str + * @return string + */ + protected function handleSpanToken($token, &$str) { + switch ($token{0}) { + case "\\": + return $this->hashPart("&#". ord($token{1}). ";"); + case "`": + // Search for end marker in remaining text. + if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm', + $str, $matches)) + { + $str = $matches[2]; + $codespan = $this->makeCodeSpan($matches[1]); + return $this->hashPart($codespan); + } + return $token; // Return as text since no ending marker found. + default: + return $this->hashPart($token); + } + } + + /** + * Remove one level of line-leading tabs or spaces + * @param string $text + * @return string + */ + protected function outdent($text) { + return preg_replace('/^(\t|[ ]{1,' . $this->tab_width . '})/m', '', $text); + } + + + /** + * String length function for detab. `_initDetab` will create a function to + * handle UTF-8 if the default function does not exist. + * @var string + */ + protected $utf8_strlen = 'mb_strlen'; + + /** + * Replace tabs with the appropriate amount of spaces. + * + * For each line we separate the line in blocks delemited by tab characters. + * Then we reconstruct every line by adding the appropriate number of space + * between each blocks. + * + * @param string $text + * @return string + */ + protected function detab($text) { + $text = preg_replace_callback('/^.*\t.*$/m', + array($this, '_detab_callback'), $text); + + return $text; + } + + /** + * Replace tabs callback + * @param string $matches + * @return string + */ + protected function _detab_callback($matches) { + $line = $matches[0]; + $strlen = $this->utf8_strlen; // strlen function for UTF-8. + + // Split in blocks. + $blocks = explode("\t", $line); + // Add each blocks to the line. + $line = $blocks[0]; + unset($blocks[0]); // Do not add first block twice. + foreach ($blocks as $block) { + // Calculate amount of space, insert spaces, insert block. + $amount = $this->tab_width - + $strlen($line, 'UTF-8') % $this->tab_width; + $line .= str_repeat(" ", $amount) . $block; + } + return $line; + } + + /** + * Check for the availability of the function in the `utf8_strlen` property + * (initially `mb_strlen`). If the function is not available, create a + * function that will loosely count the number of UTF-8 characters with a + * regular expression. + * @return void + */ + protected function _initDetab() { + + if (function_exists($this->utf8_strlen)) { + return; + } + + $this->utf8_strlen = create_function('$text', 'return preg_match_all( + "/[\\\\x00-\\\\xBF]|[\\\\xC0-\\\\xFF][\\\\x80-\\\\xBF]*/", + $text, $m);'); + } + + /** + * Swap back in all the tags hashed by _HashHTMLBlocks. + * @param string $text + * @return string + */ + protected function unhash($text) { + return preg_replace_callback('/(.)\x1A[0-9]+\1/', + array($this, '_unhash_callback'), $text); + } + + /** + * Unhashing callback + * @param array $matches + * @return string + */ + protected function _unhash_callback($matches) { + return $this->html_hashes[$matches[0]]; + } +} diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php new file mode 100644 index 000000000..d09bd7a48 --- /dev/null +++ b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php @@ -0,0 +1,11 @@ +<?php + +// Use this file if you cannot use class autoloading. It will include all the +// files needed for the MarkdownExtra parser. +// +// Take a look at the PSR-0-compatible class autoloading implementation +// in the Readme.php file if you want a simple autoloader setup. + +require_once dirname(__FILE__) . '/MarkdownInterface.php'; +require_once dirname(__FILE__) . '/Markdown.php'; +require_once dirname(__FILE__) . '/MarkdownExtra.php'; diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php new file mode 100644 index 000000000..ac6b1b4f2 --- /dev/null +++ b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php @@ -0,0 +1,1785 @@ +<?php +/** + * Markdown Extra - A text-to-HTML conversion tool for web writers + * + * @package php-markdown + * @author Michel Fortin <michel.fortin@michelf.com> + * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/> + * @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/> + */ + +namespace Michelf; + +/** + * Markdown Extra Parser Class + */ +class MarkdownExtra extends \Michelf\Markdown { + /** + * Configuration variables + */ + + /** + * Prefix for footnote ids. + * @var string + */ + public $fn_id_prefix = ""; + + /** + * Optional title attribute for footnote links and backlinks. + * @var string + */ + public $fn_link_title = ""; + public $fn_backlink_title = ""; + + /** + * Optional class attribute for footnote links and backlinks. + * @var string + */ + public $fn_link_class = "footnote-ref"; + public $fn_backlink_class = "footnote-backref"; + + /** + * Content to be displayed within footnote backlinks. The default is '↩'; + * the U+FE0E on the end is a Unicode variant selector used to prevent iOS + * from displaying the arrow character as an emoji. + * @var string + */ + public $fn_backlink_html = '↩︎'; + + /** + * Class name for table cell alignment (%% replaced left/center/right) + * For instance: 'go-%%' becomes 'go-left' or 'go-right' or 'go-center' + * If empty, the align attribute is used instead of a class name. + * @var string + */ + public $table_align_class_tmpl = ''; + + /** + * Optional class prefix for fenced code block. + * @var string + */ + public $code_class_prefix = ""; + + /** + * Class attribute for code blocks goes on the `code` tag; + * setting this to true will put attributes on the `pre` tag instead. + * @var boolean + */ + public $code_attr_on_pre = false; + + /** + * Predefined abbreviations. + * @var array + */ + public $predef_abbr = array(); + + /** + * Parser implementation + */ + + /** + * Constructor function. Initialize the parser object. + * @return void + */ + public function __construct() { + // Add extra escapable characters before parent constructor + // initialize the table. + $this->escape_chars .= ':|'; + + // Insert extra document, block, and span transformations. + // Parent constructor will do the sorting. + $this->document_gamut += array( + "doFencedCodeBlocks" => 5, + "stripFootnotes" => 15, + "stripAbbreviations" => 25, + "appendFootnotes" => 50, + ); + $this->block_gamut += array( + "doFencedCodeBlocks" => 5, + "doTables" => 15, + "doDefLists" => 45, + ); + $this->span_gamut += array( + "doFootnotes" => 5, + "doAbbreviations" => 70, + ); + + $this->enhanced_ordered_list = true; + parent::__construct(); + } + + + /** + * Extra variables used during extra transformations. + * @var array + */ + protected $footnotes = array(); + protected $footnotes_ordered = array(); + protected $footnotes_ref_count = array(); + protected $footnotes_numbers = array(); + protected $abbr_desciptions = array(); + /** @var @string */ + protected $abbr_word_re = ''; + + /** + * Give the current footnote number. + * @var integer + */ + protected $footnote_counter = 1; + + /** + * Setting up Extra-specific variables. + */ + protected function setup() { + parent::setup(); + + $this->footnotes = array(); + $this->footnotes_ordered = array(); + $this->footnotes_ref_count = array(); + $this->footnotes_numbers = array(); + $this->abbr_desciptions = array(); + $this->abbr_word_re = ''; + $this->footnote_counter = 1; + + foreach ($this->predef_abbr as $abbr_word => $abbr_desc) { + if ($this->abbr_word_re) + $this->abbr_word_re .= '|'; + $this->abbr_word_re .= preg_quote($abbr_word); + $this->abbr_desciptions[$abbr_word] = trim($abbr_desc); + } + } + + /** + * Clearing Extra-specific variables. + */ + protected function teardown() { + $this->footnotes = array(); + $this->footnotes_ordered = array(); + $this->footnotes_ref_count = array(); + $this->footnotes_numbers = array(); + $this->abbr_desciptions = array(); + $this->abbr_word_re = ''; + + parent::teardown(); + } + + + /** + * Extra attribute parser + */ + + /** + * Expression to use to catch attributes (includes the braces) + * @var string + */ + protected $id_class_attr_catch_re = '\{((?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,})[ ]*\}'; + + /** + * Expression to use when parsing in a context when no capture is desired + * @var string + */ + protected $id_class_attr_nocatch_re = '\{(?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,}[ ]*\}'; + + /** + * Parse attributes caught by the $this->id_class_attr_catch_re expression + * and return the HTML-formatted list of attributes. + * + * Currently supported attributes are .class and #id. + * + * In addition, this method also supports supplying a default Id value, + * which will be used to populate the id attribute in case it was not + * overridden. + * @param string $tag_name + * @param string $attr + * @param mixed $defaultIdValue + * @param array $classes + * @return string + */ + protected function doExtraAttributes($tag_name, $attr, $defaultIdValue = null, $classes = array()) { + if (empty($attr) && !$defaultIdValue && empty($classes)) return ""; + + // Split on components + preg_match_all('/[#.a-z][-_:a-zA-Z0-9=]+/', $attr, $matches); + $elements = $matches[0]; + + // Handle classes and IDs (only first ID taken into account) + $attributes = array(); + $id = false; + foreach ($elements as $element) { + if ($element{0} == '.') { + $classes[] = substr($element, 1); + } else if ($element{0} == '#') { + if ($id === false) $id = substr($element, 1); + } else if (strpos($element, '=') > 0) { + $parts = explode('=', $element, 2); + $attributes[] = $parts[0] . '="' . $parts[1] . '"'; + } + } + + if (!$id) $id = $defaultIdValue; + + // Compose attributes as string + $attr_str = ""; + if (!empty($id)) { + $attr_str .= ' id="'.$this->encodeAttribute($id) .'"'; + } + if (!empty($classes)) { + $attr_str .= ' class="'. implode(" ", $classes) . '"'; + } + if (!$this->no_markup && !empty($attributes)) { + $attr_str .= ' '.implode(" ", $attributes); + } + return $attr_str; + } + + /** + * Strips link definitions from text, stores the URLs and titles in + * hash references. + * @param string $text + * @return string + */ + protected function stripLinkDefinitions($text) { + $less_than_tab = $this->tab_width - 1; + + // Link defs are in the form: ^[id]: url "optional title" + $text = preg_replace_callback('{ + ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1 + [ ]* + \n? # maybe *one* newline + [ ]* + (?: + <(.+?)> # url = $2 + | + (\S+?) # url = $3 + ) + [ ]* + \n? # maybe one newline + [ ]* + (?: + (?<=\s) # lookbehind for whitespace + ["(] + (.*?) # title = $4 + [")] + [ ]* + )? # title is optional + (?:[ ]* '.$this->id_class_attr_catch_re.' )? # $5 = extra id & class attr + (?:\n+|\Z) + }xm', + array($this, '_stripLinkDefinitions_callback'), + $text); + return $text; + } + + /** + * Strip link definition callback + * @param array $matches + * @return string + */ + protected function _stripLinkDefinitions_callback($matches) { + $link_id = strtolower($matches[1]); + $url = $matches[2] == '' ? $matches[3] : $matches[2]; + $this->urls[$link_id] = $url; + $this->titles[$link_id] =& $matches[4]; + $this->ref_attr[$link_id] = $this->doExtraAttributes("", $dummy =& $matches[5]); + return ''; // String that will replace the block + } + + + /** + * HTML block parser + */ + + /** + * Tags that are always treated as block tags + * @var string + */ + protected $block_tags_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend|article|section|nav|aside|hgroup|header|footer|figcaption|figure'; + + /** + * Tags treated as block tags only if the opening tag is alone on its line + * @var string + */ + protected $context_block_tags_re = 'script|noscript|style|ins|del|iframe|object|source|track|param|math|svg|canvas|audio|video'; + + /** + * Tags where markdown="1" default to span mode: + * @var string + */ + protected $contain_span_tags_re = 'p|h[1-6]|li|dd|dt|td|th|legend|address'; + + /** + * Tags which must not have their contents modified, no matter where + * they appear + * @var string + */ + protected $clean_tags_re = 'script|style|math|svg'; + + /** + * Tags that do not need to be closed. + * @var string + */ + protected $auto_close_tags_re = 'hr|img|param|source|track'; + + /** + * Hashify HTML Blocks and "clean tags". + * + * We only want to do this for block-level HTML tags, such as headers, + * lists, and tables. That's because we still want to wrap <p>s around + * "paragraphs" that are wrapped in non-block-level tags, such as anchors, + * phrase emphasis, and spans. The list of tags we're looking for is + * hard-coded. + * + * This works by calling _HashHTMLBlocks_InMarkdown, which then calls + * _HashHTMLBlocks_InHTML when it encounter block tags. When the markdown="1" + * attribute is found within a tag, _HashHTMLBlocks_InHTML calls back + * _HashHTMLBlocks_InMarkdown to handle the Markdown syntax within the tag. + * These two functions are calling each other. It's recursive! + * @param string $text + * @return string + */ + protected function hashHTMLBlocks($text) { + if ($this->no_markup) { + return $text; + } + + // Call the HTML-in-Markdown hasher. + list($text, ) = $this->_hashHTMLBlocks_inMarkdown($text); + + return $text; + } + + /** + * Parse markdown text, calling _HashHTMLBlocks_InHTML for block tags. + * + * * $indent is the number of space to be ignored when checking for code + * blocks. This is important because if we don't take the indent into + * account, something like this (which looks right) won't work as expected: + * + * <div> + * <div markdown="1"> + * Hello World. <-- Is this a Markdown code block or text? + * </div> <-- Is this a Markdown code block or a real tag? + * <div> + * + * If you don't like this, just don't indent the tag on which + * you apply the markdown="1" attribute. + * + * * If $enclosing_tag_re is not empty, stops at the first unmatched closing + * tag with that name. Nested tags supported. + * + * * If $span is true, text inside must treated as span. So any double + * newline will be replaced by a single newline so that it does not create + * paragraphs. + * + * Returns an array of that form: ( processed text , remaining text ) + * + * @param string $text + * @param integer $indent + * @param string $enclosing_tag_re + * @param boolean $span + * @return array + */ + protected function _hashHTMLBlocks_inMarkdown($text, $indent = 0, + $enclosing_tag_re = '', $span = false) + { + + if ($text === '') return array('', ''); + + // Regex to check for the presense of newlines around a block tag. + $newline_before_re = '/(?:^\n?|\n\n)*$/'; + $newline_after_re = + '{ + ^ # Start of text following the tag. + (?>[ ]*<!--.*?-->)? # Optional comment. + [ ]*\n # Must be followed by newline. + }xs'; + + // Regex to match any tag. + $block_tag_re = + '{ + ( # $2: Capture whole tag. + </? # Any opening or closing tag. + (?> # Tag name. + ' . $this->block_tags_re . ' | + ' . $this->context_block_tags_re . ' | + ' . $this->clean_tags_re . ' | + (?!\s)'.$enclosing_tag_re . ' + ) + (?: + (?=[\s"\'/a-zA-Z0-9]) # Allowed characters after tag name. + (?> + ".*?" | # Double quotes (can contain `>`) + \'.*?\' | # Single quotes (can contain `>`) + .+? # Anything but quotes and `>`. + )*? + )? + > # End of tag. + | + <!-- .*? --> # HTML Comment + | + <\?.*?\?> | <%.*?%> # Processing instruction + | + <!\[CDATA\[.*?\]\]> # CData Block + ' . ( !$span ? ' # If not in span. + | + # Indented code block + (?: ^[ ]*\n | ^ | \n[ ]*\n ) + [ ]{' . ($indent + 4) . '}[^\n]* \n + (?> + (?: [ ]{' . ($indent + 4) . '}[^\n]* | [ ]* ) \n + )* + | + # Fenced code block marker + (?<= ^ | \n ) + [ ]{0,' . ($indent + 3) . '}(?:~{3,}|`{3,}) + [ ]* + (?: \.?[-_:a-zA-Z0-9]+ )? # standalone class name + [ ]* + (?: ' . $this->id_class_attr_nocatch_re . ' )? # extra attributes + [ ]* + (?= \n ) + ' : '' ) . ' # End (if not is span). + | + # Code span marker + # Note, this regex needs to go after backtick fenced + # code blocks but it should also be kept outside of the + # "if not in span" condition adding backticks to the parser + `+ + ) + }xs'; + + + $depth = 0; // Current depth inside the tag tree. + $parsed = ""; // Parsed text that will be returned. + + // Loop through every tag until we find the closing tag of the parent + // or loop until reaching the end of text if no parent tag specified. + do { + // Split the text using the first $tag_match pattern found. + // Text before pattern will be first in the array, text after + // pattern will be at the end, and between will be any catches made + // by the pattern. + $parts = preg_split($block_tag_re, $text, 2, + PREG_SPLIT_DELIM_CAPTURE); + + // If in Markdown span mode, add a empty-string span-level hash + // after each newline to prevent triggering any block element. + if ($span) { + $void = $this->hashPart("", ':'); + $newline = "\n$void"; + $parts[0] = $void . str_replace("\n", $newline, $parts[0]) . $void; + } + + $parsed .= $parts[0]; // Text before current tag. + + // If end of $text has been reached. Stop loop. + if (count($parts) < 3) { + $text = ""; + break; + } + + $tag = $parts[1]; // Tag to handle. + $text = $parts[2]; // Remaining text after current tag. + $tag_re = preg_quote($tag); // For use in a regular expression. + + // Check for: Fenced code block marker. + // Note: need to recheck the whole tag to disambiguate backtick + // fences from code spans + if (preg_match('{^\n?([ ]{0,' . ($indent + 3) . '})(~{3,}|`{3,})[ ]*(?:\.?[-_:a-zA-Z0-9]+)?[ ]*(?:' . $this->id_class_attr_nocatch_re . ')?[ ]*\n?$}', $tag, $capture)) { + // Fenced code block marker: find matching end marker. + $fence_indent = strlen($capture[1]); // use captured indent in re + $fence_re = $capture[2]; // use captured fence in re + if (preg_match('{^(?>.*\n)*?[ ]{' . ($fence_indent) . '}' . $fence_re . '[ ]*(?:\n|$)}', $text, + $matches)) + { + // End marker found: pass text unchanged until marker. + $parsed .= $tag . $matches[0]; + $text = substr($text, strlen($matches[0])); + } + else { + // No end marker: just skip it. + $parsed .= $tag; + } + } + // Check for: Indented code block. + else if ($tag{0} == "\n" || $tag{0} == " ") { + // Indented code block: pass it unchanged, will be handled + // later. + $parsed .= $tag; + } + // Check for: Code span marker + // Note: need to check this after backtick fenced code blocks + else if ($tag{0} == "`") { + // Find corresponding end marker. + $tag_re = preg_quote($tag); + if (preg_match('{^(?>.+?|\n(?!\n))*?(?<!`)' . $tag_re . '(?!`)}', + $text, $matches)) + { + // End marker found: pass text unchanged until marker. + $parsed .= $tag . $matches[0]; + $text = substr($text, strlen($matches[0])); + } + else { + // Unmatched marker: just skip it. + $parsed .= $tag; + } + } + // Check for: Opening Block level tag or + // Opening Context Block tag (like ins and del) + // used as a block tag (tag is alone on it's line). + else if (preg_match('{^<(?:' . $this->block_tags_re . ')\b}', $tag) || + ( preg_match('{^<(?:' . $this->context_block_tags_re . ')\b}', $tag) && + preg_match($newline_before_re, $parsed) && + preg_match($newline_after_re, $text) ) + ) + { + // Need to parse tag and following text using the HTML parser. + list($block_text, $text) = + $this->_hashHTMLBlocks_inHTML($tag . $text, "hashBlock", true); + + // Make sure it stays outside of any paragraph by adding newlines. + $parsed .= "\n\n$block_text\n\n"; + } + // Check for: Clean tag (like script, math) + // HTML Comments, processing instructions. + else if (preg_match('{^<(?:' . $this->clean_tags_re . ')\b}', $tag) || + $tag{1} == '!' || $tag{1} == '?') + { + // Need to parse tag and following text using the HTML parser. + // (don't check for markdown attribute) + list($block_text, $text) = + $this->_hashHTMLBlocks_inHTML($tag . $text, "hashClean", false); + + $parsed .= $block_text; + } + // Check for: Tag with same name as enclosing tag. + else if ($enclosing_tag_re !== '' && + // Same name as enclosing tag. + preg_match('{^</?(?:' . $enclosing_tag_re . ')\b}', $tag)) + { + // Increase/decrease nested tag count. + if ($tag{1} == '/') $depth--; + else if ($tag{strlen($tag)-2} != '/') $depth++; + + if ($depth < 0) { + // Going out of parent element. Clean up and break so we + // return to the calling function. + $text = $tag . $text; + break; + } + + $parsed .= $tag; + } + else { + $parsed .= $tag; + } + } while ($depth >= 0); + + return array($parsed, $text); + } + + /** + * Parse HTML, calling _HashHTMLBlocks_InMarkdown for block tags. + * + * * Calls $hash_method to convert any blocks. + * * Stops when the first opening tag closes. + * * $md_attr indicate if the use of the `markdown="1"` attribute is allowed. + * (it is not inside clean tags) + * + * Returns an array of that form: ( processed text , remaining text ) + * @param string $text + * @param string $hash_method + * @param string $md_attr + * @return array + */ + protected function _hashHTMLBlocks_inHTML($text, $hash_method, $md_attr) { + if ($text === '') return array('', ''); + + // Regex to match `markdown` attribute inside of a tag. + $markdown_attr_re = ' + { + \s* # Eat whitespace before the `markdown` attribute + markdown + \s*=\s* + (?> + (["\']) # $1: quote delimiter + (.*?) # $2: attribute value + \1 # matching delimiter + | + ([^\s>]*) # $3: unquoted attribute value + ) + () # $4: make $3 always defined (avoid warnings) + }xs'; + + // Regex to match any tag. + $tag_re = '{ + ( # $2: Capture whole tag. + </? # Any opening or closing tag. + [\w:$]+ # Tag name. + (?: + (?=[\s"\'/a-zA-Z0-9]) # Allowed characters after tag name. + (?> + ".*?" | # Double quotes (can contain `>`) + \'.*?\' | # Single quotes (can contain `>`) + .+? # Anything but quotes and `>`. + )*? + )? + > # End of tag. + | + <!-- .*? --> # HTML Comment + | + <\?.*?\?> | <%.*?%> # Processing instruction + | + <!\[CDATA\[.*?\]\]> # CData Block + ) + }xs'; + + $original_text = $text; // Save original text in case of faliure. + + $depth = 0; // Current depth inside the tag tree. + $block_text = ""; // Temporary text holder for current text. + $parsed = ""; // Parsed text that will be returned. + + // Get the name of the starting tag. + // (This pattern makes $base_tag_name_re safe without quoting.) + if (preg_match('/^<([\w:$]*)\b/', $text, $matches)) + $base_tag_name_re = $matches[1]; + + // Loop through every tag until we find the corresponding closing tag. + do { + // Split the text using the first $tag_match pattern found. + // Text before pattern will be first in the array, text after + // pattern will be at the end, and between will be any catches made + // by the pattern. + $parts = preg_split($tag_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE); + + if (count($parts) < 3) { + // End of $text reached with unbalenced tag(s). + // In that case, we return original text unchanged and pass the + // first character as filtered to prevent an infinite loop in the + // parent function. + return array($original_text{0}, substr($original_text, 1)); + } + + $block_text .= $parts[0]; // Text before current tag. + $tag = $parts[1]; // Tag to handle. + $text = $parts[2]; // Remaining text after current tag. + + // Check for: Auto-close tag (like <hr/>) + // Comments and Processing Instructions. + if (preg_match('{^</?(?:' . $this->auto_close_tags_re . ')\b}', $tag) || + $tag{1} == '!' || $tag{1} == '?') + { + // Just add the tag to the block as if it was text. + $block_text .= $tag; + } + else { + // Increase/decrease nested tag count. Only do so if + // the tag's name match base tag's. + if (preg_match('{^</?' . $base_tag_name_re . '\b}', $tag)) { + if ($tag{1} == '/') $depth--; + else if ($tag{strlen($tag)-2} != '/') $depth++; + } + + // Check for `markdown="1"` attribute and handle it. + if ($md_attr && + preg_match($markdown_attr_re, $tag, $attr_m) && + preg_match('/^1|block|span$/', $attr_m[2] . $attr_m[3])) + { + // Remove `markdown` attribute from opening tag. + $tag = preg_replace($markdown_attr_re, '', $tag); + + // Check if text inside this tag must be parsed in span mode. + $this->mode = $attr_m[2] . $attr_m[3]; + $span_mode = $this->mode == 'span' || $this->mode != 'block' && + preg_match('{^<(?:' . $this->contain_span_tags_re . ')\b}', $tag); + + // Calculate indent before tag. + if (preg_match('/(?:^|\n)( *?)(?! ).*?$/', $block_text, $matches)) { + $strlen = $this->utf8_strlen; + $indent = $strlen($matches[1], 'UTF-8'); + } else { + $indent = 0; + } + + // End preceding block with this tag. + $block_text .= $tag; + $parsed .= $this->$hash_method($block_text); + + // Get enclosing tag name for the ParseMarkdown function. + // (This pattern makes $tag_name_re safe without quoting.) + preg_match('/^<([\w:$]*)\b/', $tag, $matches); + $tag_name_re = $matches[1]; + + // Parse the content using the HTML-in-Markdown parser. + list ($block_text, $text) + = $this->_hashHTMLBlocks_inMarkdown($text, $indent, + $tag_name_re, $span_mode); + + // Outdent markdown text. + if ($indent > 0) { + $block_text = preg_replace("/^[ ]{1,$indent}/m", "", + $block_text); + } + + // Append tag content to parsed text. + if (!$span_mode) $parsed .= "\n\n$block_text\n\n"; + else $parsed .= "$block_text"; + + // Start over with a new block. + $block_text = ""; + } + else $block_text .= $tag; + } + + } while ($depth > 0); + + // Hash last block text that wasn't processed inside the loop. + $parsed .= $this->$hash_method($block_text); + + return array($parsed, $text); + } + + /** + * Called whenever a tag must be hashed when a function inserts a "clean" tag + * in $text, it passes through this function and is automaticaly escaped, + * blocking invalid nested overlap. + * @param string $text + * @return string + */ + protected function hashClean($text) { + return $this->hashPart($text, 'C'); + } + + /** + * Turn Markdown link shortcuts into XHTML <a> tags. + * @param string $text + * @return string + */ + protected function doAnchors($text) { + if ($this->in_anchor) { + return $text; + } + $this->in_anchor = true; + + // First, handle reference-style links: [link text] [id] + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + \[ + (' . $this->nested_brackets_re . ') # link text = $2 + \] + + [ ]? # one optional space + (?:\n[ ]*)? # one optional newline followed by spaces + + \[ + (.*?) # id = $3 + \] + ) + }xs', + array($this, '_doAnchors_reference_callback'), $text); + + // Next, inline-style links: [link text](url "optional title") + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + \[ + (' . $this->nested_brackets_re . ') # link text = $2 + \] + \( # literal paren + [ \n]* + (?: + <(.+?)> # href = $3 + | + (' . $this->nested_url_parenthesis_re . ') # href = $4 + ) + [ \n]* + ( # $5 + ([\'"]) # quote char = $6 + (.*?) # Title = $7 + \6 # matching quote + [ \n]* # ignore any spaces/tabs between closing quote and ) + )? # title is optional + \) + (?:[ ]? ' . $this->id_class_attr_catch_re . ' )? # $8 = id/class attributes + ) + }xs', + array($this, '_doAnchors_inline_callback'), $text); + + // Last, handle reference-style shortcuts: [link text] + // These must come last in case you've also got [link text][1] + // or [link text](/foo) + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + \[ + ([^\[\]]+) # link text = $2; can\'t contain [ or ] + \] + ) + }xs', + array($this, '_doAnchors_reference_callback'), $text); + + $this->in_anchor = false; + return $text; + } + + /** + * Callback for reference anchors + * @param array $matches + * @return string + */ + protected function _doAnchors_reference_callback($matches) { + $whole_match = $matches[1]; + $link_text = $matches[2]; + $link_id =& $matches[3]; + + if ($link_id == "") { + // for shortcut links like [this][] or [this]. + $link_id = $link_text; + } + + // lower-case and turn embedded newlines into spaces + $link_id = strtolower($link_id); + $link_id = preg_replace('{[ ]?\n}', ' ', $link_id); + + if (isset($this->urls[$link_id])) { + $url = $this->urls[$link_id]; + $url = $this->encodeURLAttribute($url); + + $result = "<a href=\"$url\""; + if ( isset( $this->titles[$link_id] ) ) { + $title = $this->titles[$link_id]; + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; + } + if (isset($this->ref_attr[$link_id])) + $result .= $this->ref_attr[$link_id]; + + $link_text = $this->runSpanGamut($link_text); + $result .= ">$link_text</a>"; + $result = $this->hashPart($result); + } + else { + $result = $whole_match; + } + return $result; + } + + /** + * Callback for inline anchors + * @param array $matches + * @return string + */ + protected function _doAnchors_inline_callback($matches) { + $whole_match = $matches[1]; + $link_text = $this->runSpanGamut($matches[2]); + $url = $matches[3] == '' ? $matches[4] : $matches[3]; + $title =& $matches[7]; + $attr = $this->doExtraAttributes("a", $dummy =& $matches[8]); + + // if the URL was of the form <s p a c e s> it got caught by the HTML + // tag parser and hashed. Need to reverse the process before using the URL. + $unhashed = $this->unhash($url); + if ($unhashed != $url) + $url = preg_replace('/^<(.*)>$/', '\1', $unhashed); + + $url = $this->encodeURLAttribute($url); + + $result = "<a href=\"$url\""; + if (isset($title)) { + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; + } + $result .= $attr; + + $link_text = $this->runSpanGamut($link_text); + $result .= ">$link_text</a>"; + + return $this->hashPart($result); + } + + /** + * Turn Markdown image shortcuts into <img> tags. + * @param string $text + * @return string + */ + protected function doImages($text) { + // First, handle reference-style labeled images: ![alt text][id] + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + !\[ + (' . $this->nested_brackets_re . ') # alt text = $2 + \] + + [ ]? # one optional space + (?:\n[ ]*)? # one optional newline followed by spaces + + \[ + (.*?) # id = $3 + \] + + ) + }xs', + array($this, '_doImages_reference_callback'), $text); + + // Next, handle inline images: ![alt text](url "optional title") + // Don't forget: encode * and _ + $text = preg_replace_callback('{ + ( # wrap whole match in $1 + !\[ + (' . $this->nested_brackets_re . ') # alt text = $2 + \] + \s? # One optional whitespace character + \( # literal paren + [ \n]* + (?: + <(\S*)> # src url = $3 + | + (' . $this->nested_url_parenthesis_re . ') # src url = $4 + ) + [ \n]* + ( # $5 + ([\'"]) # quote char = $6 + (.*?) # title = $7 + \6 # matching quote + [ \n]* + )? # title is optional + \) + (?:[ ]? ' . $this->id_class_attr_catch_re . ' )? # $8 = id/class attributes + ) + }xs', + array($this, '_doImages_inline_callback'), $text); + + return $text; + } + + /** + * Callback for referenced images + * @param array $matches + * @return string + */ + protected function _doImages_reference_callback($matches) { + $whole_match = $matches[1]; + $alt_text = $matches[2]; + $link_id = strtolower($matches[3]); + + if ($link_id == "") { + $link_id = strtolower($alt_text); // for shortcut links like ![this][]. + } + + $alt_text = $this->encodeAttribute($alt_text); + if (isset($this->urls[$link_id])) { + $url = $this->encodeURLAttribute($this->urls[$link_id]); + $result = "<img src=\"$url\" alt=\"$alt_text\""; + if (isset($this->titles[$link_id])) { + $title = $this->titles[$link_id]; + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; + } + if (isset($this->ref_attr[$link_id])) + $result .= $this->ref_attr[$link_id]; + $result .= $this->empty_element_suffix; + $result = $this->hashPart($result); + } + else { + // If there's no such link ID, leave intact: + $result = $whole_match; + } + + return $result; + } + + /** + * Callback for inline images + * @param array $matches + * @return string + */ + protected function _doImages_inline_callback($matches) { + $whole_match = $matches[1]; + $alt_text = $matches[2]; + $url = $matches[3] == '' ? $matches[4] : $matches[3]; + $title =& $matches[7]; + $attr = $this->doExtraAttributes("img", $dummy =& $matches[8]); + + $alt_text = $this->encodeAttribute($alt_text); + $url = $this->encodeURLAttribute($url); + $result = "<img src=\"$url\" alt=\"$alt_text\""; + if (isset($title)) { + $title = $this->encodeAttribute($title); + $result .= " title=\"$title\""; // $title already quoted + } + $result .= $attr; + $result .= $this->empty_element_suffix; + + return $this->hashPart($result); + } + + /** + * Process markdown headers. Redefined to add ID and class attribute support. + * @param string $text + * @return string + */ + protected function doHeaders($text) { + // Setext-style headers: + // Header 1 {#header1} + // ======== + // + // Header 2 {#header2 .class1 .class2} + // -------- + // + $text = preg_replace_callback( + '{ + (^.+?) # $1: Header text + (?:[ ]+ ' . $this->id_class_attr_catch_re . ' )? # $3 = id/class attributes + [ ]*\n(=+|-+)[ ]*\n+ # $3: Header footer + }mx', + array($this, '_doHeaders_callback_setext'), $text); + + // atx-style headers: + // # Header 1 {#header1} + // ## Header 2 {#header2} + // ## Header 2 with closing hashes ## {#header3.class1.class2} + // ... + // ###### Header 6 {.class2} + // + $text = preg_replace_callback('{ + ^(\#{1,6}) # $1 = string of #\'s + [ ]* + (.+?) # $2 = Header text + [ ]* + \#* # optional closing #\'s (not counted) + (?:[ ]+ ' . $this->id_class_attr_catch_re . ' )? # $3 = id/class attributes + [ ]* + \n+ + }xm', + array($this, '_doHeaders_callback_atx'), $text); + + return $text; + } + + /** + * Callback for setext headers + * @param array $matches + * @return string + */ + protected function _doHeaders_callback_setext($matches) { + if ($matches[3] == '-' && preg_match('{^- }', $matches[1])) { + return $matches[0]; + } + + $level = $matches[3]{0} == '=' ? 1 : 2; + + $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[1]) : null; + + $attr = $this->doExtraAttributes("h$level", $dummy =& $matches[2], $defaultId); + $block = "<h$level$attr>" . $this->runSpanGamut($matches[1]) . "</h$level>"; + return "\n" . $this->hashBlock($block) . "\n\n"; + } + + /** + * Callback for atx headers + * @param array $matches + * @return string + */ + protected function _doHeaders_callback_atx($matches) { + $level = strlen($matches[1]); + + $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[2]) : null; + $attr = $this->doExtraAttributes("h$level", $dummy =& $matches[3], $defaultId); + $block = "<h$level$attr>" . $this->runSpanGamut($matches[2]) . "</h$level>"; + return "\n" . $this->hashBlock($block) . "\n\n"; + } + + /** + * Form HTML tables. + * @param string $text + * @return string + */ + protected function doTables($text) { + $less_than_tab = $this->tab_width - 1; + // Find tables with leading pipe. + // + // | Header 1 | Header 2 + // | -------- | -------- + // | Cell 1 | Cell 2 + // | Cell 3 | Cell 4 + $text = preg_replace_callback(' + { + ^ # Start of a line + [ ]{0,' . $less_than_tab . '} # Allowed whitespace. + [|] # Optional leading pipe (present) + (.+) \n # $1: Header row (at least one pipe) + + [ ]{0,' . $less_than_tab . '} # Allowed whitespace. + [|] ([ ]*[-:]+[-| :]*) \n # $2: Header underline + + ( # $3: Cells + (?> + [ ]* # Allowed whitespace. + [|] .* \n # Row content. + )* + ) + (?=\n|\Z) # Stop at final double newline. + }xm', + array($this, '_doTable_leadingPipe_callback'), $text); + + // Find tables without leading pipe. + // + // Header 1 | Header 2 + // -------- | -------- + // Cell 1 | Cell 2 + // Cell 3 | Cell 4 + $text = preg_replace_callback(' + { + ^ # Start of a line + [ ]{0,' . $less_than_tab . '} # Allowed whitespace. + (\S.*[|].*) \n # $1: Header row (at least one pipe) + + [ ]{0,' . $less_than_tab . '} # Allowed whitespace. + ([-:]+[ ]*[|][-| :]*) \n # $2: Header underline + + ( # $3: Cells + (?> + .* [|] .* \n # Row content + )* + ) + (?=\n|\Z) # Stop at final double newline. + }xm', + array($this, '_DoTable_callback'), $text); + + return $text; + } + + /** + * Callback for removing the leading pipe for each row + * @param array $matches + * @return string + */ + protected function _doTable_leadingPipe_callback($matches) { + $head = $matches[1]; + $underline = $matches[2]; + $content = $matches[3]; + + $content = preg_replace('/^ *[|]/m', '', $content); + + return $this->_doTable_callback(array($matches[0], $head, $underline, $content)); + } + + /** + * Make the align attribute in a table + * @param string $alignname + * @return string + */ + protected function _doTable_makeAlignAttr($alignname) + { + if (empty($this->table_align_class_tmpl)) { + return " align=\"$alignname\""; + } + + $classname = str_replace('%%', $alignname, $this->table_align_class_tmpl); + return " class=\"$classname\""; + } + + /** + * Calback for processing tables + * @param array $matches + * @return string + */ + protected function _doTable_callback($matches) { + $head = $matches[1]; + $underline = $matches[2]; + $content = $matches[3]; + + // Remove any tailing pipes for each line. + $head = preg_replace('/[|] *$/m', '', $head); + $underline = preg_replace('/[|] *$/m', '', $underline); + $content = preg_replace('/[|] *$/m', '', $content); + + // Reading alignement from header underline. + $separators = preg_split('/ *[|] */', $underline); + foreach ($separators as $n => $s) { + if (preg_match('/^ *-+: *$/', $s)) + $attr[$n] = $this->_doTable_makeAlignAttr('right'); + else if (preg_match('/^ *:-+: *$/', $s)) + $attr[$n] = $this->_doTable_makeAlignAttr('center'); + else if (preg_match('/^ *:-+ *$/', $s)) + $attr[$n] = $this->_doTable_makeAlignAttr('left'); + else + $attr[$n] = ''; + } + + // Parsing span elements, including code spans, character escapes, + // and inline HTML tags, so that pipes inside those gets ignored. + $head = $this->parseSpan($head); + $headers = preg_split('/ *[|] */', $head); + $col_count = count($headers); + $attr = array_pad($attr, $col_count, ''); + + // Write column headers. + $text = "<table>\n"; + $text .= "<thead>\n"; + $text .= "<tr>\n"; + foreach ($headers as $n => $header) + $text .= " <th$attr[$n]>" . $this->runSpanGamut(trim($header)) . "</th>\n"; + $text .= "</tr>\n"; + $text .= "</thead>\n"; + + // Split content by row. + $rows = explode("\n", trim($content, "\n")); + + $text .= "<tbody>\n"; + foreach ($rows as $row) { + // Parsing span elements, including code spans, character escapes, + // and inline HTML tags, so that pipes inside those gets ignored. + $row = $this->parseSpan($row); + + // Split row by cell. + $row_cells = preg_split('/ *[|] */', $row, $col_count); + $row_cells = array_pad($row_cells, $col_count, ''); + + $text .= "<tr>\n"; + foreach ($row_cells as $n => $cell) + $text .= " <td$attr[$n]>" . $this->runSpanGamut(trim($cell)) . "</td>\n"; + $text .= "</tr>\n"; + } + $text .= "</tbody>\n"; + $text .= "</table>"; + + return $this->hashBlock($text) . "\n"; + } + + /** + * Form HTML definition lists. + * @param string $text + * @return string + */ + protected function doDefLists($text) { + $less_than_tab = $this->tab_width - 1; + + // Re-usable pattern to match any entire dl list: + $whole_list_re = '(?> + ( # $1 = whole list + ( # $2 + [ ]{0,' . $less_than_tab . '} + ((?>.*\S.*\n)+) # $3 = defined term + \n? + [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition + ) + (?s:.+?) + ( # $4 + \z + | + \n{2,} + (?=\S) + (?! # Negative lookahead for another term + [ ]{0,' . $less_than_tab . '} + (?: \S.*\n )+? # defined term + \n? + [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition + ) + (?! # Negative lookahead for another definition + [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition + ) + ) + ) + )'; // mx + + $text = preg_replace_callback('{ + (?>\A\n?|(?<=\n\n)) + ' . $whole_list_re . ' + }mx', + array($this, '_doDefLists_callback'), $text); + + return $text; + } + + /** + * Callback for processing definition lists + * @param array $matches + * @return string + */ + protected function _doDefLists_callback($matches) { + // Re-usable patterns to match list item bullets and number markers: + $list = $matches[1]; + + // Turn double returns into triple returns, so that we can make a + // paragraph for the last item in a list, if necessary: + $result = trim($this->processDefListItems($list)); + $result = "<dl>\n" . $result . "\n</dl>"; + return $this->hashBlock($result) . "\n\n"; + } + + /** + * Process the contents of a single definition list, splitting it + * into individual term and definition list items. + * @param string $list_str + * @return string + */ + protected function processDefListItems($list_str) { + + $less_than_tab = $this->tab_width - 1; + + // Trim trailing blank lines: + $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str); + + // Process definition terms. + $list_str = preg_replace_callback('{ + (?>\A\n?|\n\n+) # leading line + ( # definition terms = $1 + [ ]{0,' . $less_than_tab . '} # leading whitespace + (?!\:[ ]|[ ]) # negative lookahead for a definition + # mark (colon) or more whitespace. + (?> \S.* \n)+? # actual term (not whitespace). + ) + (?=\n?[ ]{0,3}:[ ]) # lookahead for following line feed + # with a definition mark. + }xm', + array($this, '_processDefListItems_callback_dt'), $list_str); + + // Process actual definitions. + $list_str = preg_replace_callback('{ + \n(\n+)? # leading line = $1 + ( # marker space = $2 + [ ]{0,' . $less_than_tab . '} # whitespace before colon + \:[ ]+ # definition mark (colon) + ) + ((?s:.+?)) # definition text = $3 + (?= \n+ # stop at next definition mark, + (?: # next term or end of text + [ ]{0,' . $less_than_tab . '} \:[ ] | + <dt> | \z + ) + ) + }xm', + array($this, '_processDefListItems_callback_dd'), $list_str); + + return $list_str; + } + + /** + * Callback for <dt> elements in definition lists + * @param array $matches + * @return string + */ + protected function _processDefListItems_callback_dt($matches) { + $terms = explode("\n", trim($matches[1])); + $text = ''; + foreach ($terms as $term) { + $term = $this->runSpanGamut(trim($term)); + $text .= "\n<dt>" . $term . "</dt>"; + } + return $text . "\n"; + } + + /** + * Callback for <dd> elements in definition lists + * @param array $matches + * @return string + */ + protected function _processDefListItems_callback_dd($matches) { + $leading_line = $matches[1]; + $marker_space = $matches[2]; + $def = $matches[3]; + + if ($leading_line || preg_match('/\n{2,}/', $def)) { + // Replace marker with the appropriate whitespace indentation + $def = str_repeat(' ', strlen($marker_space)) . $def; + $def = $this->runBlockGamut($this->outdent($def . "\n\n")); + $def = "\n". $def ."\n"; + } + else { + $def = rtrim($def); + $def = $this->runSpanGamut($this->outdent($def)); + } + + return "\n<dd>" . $def . "</dd>\n"; + } + + /** + * Adding the fenced code block syntax to regular Markdown: + * + * ~~~ + * Code block + * ~~~ + * + * @param string $text + * @return string + */ + protected function doFencedCodeBlocks($text) { + + $less_than_tab = $this->tab_width; + + $text = preg_replace_callback('{ + (?:\n|\A) + # 1: Opening marker + ( + (?:~{3,}|`{3,}) # 3 or more tildes/backticks. + ) + [ ]* + (?: + \.?([-_:a-zA-Z0-9]+) # 2: standalone class name + )? + [ ]* + (?: + ' . $this->id_class_attr_catch_re . ' # 3: Extra attributes + )? + [ ]* \n # Whitespace and newline following marker. + + # 4: Content + ( + (?> + (?!\1 [ ]* \n) # Not a closing marker. + .*\n+ + )+ + ) + + # Closing marker. + \1 [ ]* (?= \n ) + }xm', + array($this, '_doFencedCodeBlocks_callback'), $text); + + return $text; + } + + /** + * Callback to process fenced code blocks + * @param array $matches + * @return string + */ + protected function _doFencedCodeBlocks_callback($matches) { + $classname =& $matches[2]; + $attrs =& $matches[3]; + $codeblock = $matches[4]; + + if ($this->code_block_content_func) { + $codeblock = call_user_func($this->code_block_content_func, $codeblock, $classname); + } else { + $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES); + } + + $codeblock = preg_replace_callback('/^\n+/', + array($this, '_doFencedCodeBlocks_newlines'), $codeblock); + + $classes = array(); + if ($classname != "") { + if ($classname{0} == '.') + $classname = substr($classname, 1); + $classes[] = $this->code_class_prefix . $classname; + } + $attr_str = $this->doExtraAttributes($this->code_attr_on_pre ? "pre" : "code", $attrs, null, $classes); + $pre_attr_str = $this->code_attr_on_pre ? $attr_str : ''; + $code_attr_str = $this->code_attr_on_pre ? '' : $attr_str; + $codeblock = "<pre$pre_attr_str><code$code_attr_str>$codeblock</code></pre>"; + + return "\n\n".$this->hashBlock($codeblock)."\n\n"; + } + + /** + * Replace new lines in fenced code blocks + * @param array $matches + * @return string + */ + protected function _doFencedCodeBlocks_newlines($matches) { + return str_repeat("<br$this->empty_element_suffix", + strlen($matches[0])); + } + + /** + * Redefining emphasis markers so that emphasis by underscore does not + * work in the middle of a word. + * @var array + */ + protected $em_relist = array( + '' => '(?:(?<!\*)\*(?!\*)|(?<![a-zA-Z0-9_])_(?!_))(?![\.,:;]?\s)', + '*' => '(?<![\s*])\*(?!\*)', + '_' => '(?<![\s_])_(?![a-zA-Z0-9_])', + ); + protected $strong_relist = array( + '' => '(?:(?<!\*)\*\*(?!\*)|(?<![a-zA-Z0-9_])__(?!_))(?![\.,:;]?\s)', + '**' => '(?<![\s*])\*\*(?!\*)', + '__' => '(?<![\s_])__(?![a-zA-Z0-9_])', + ); + protected $em_strong_relist = array( + '' => '(?:(?<!\*)\*\*\*(?!\*)|(?<![a-zA-Z0-9_])___(?!_))(?![\.,:;]?\s)', + '***' => '(?<![\s*])\*\*\*(?!\*)', + '___' => '(?<![\s_])___(?![a-zA-Z0-9_])', + ); + + /** + * Parse text into paragraphs + * @param string $text String to process in paragraphs + * @param boolean $wrap_in_p Whether paragraphs should be wrapped in <p> tags + * @return string HTML output + */ + protected function formParagraphs($text, $wrap_in_p = true) { + // Strip leading and trailing lines: + $text = preg_replace('/\A\n+|\n+\z/', '', $text); + + $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY); + + // Wrap <p> tags and unhashify HTML blocks + foreach ($grafs as $key => $value) { + $value = trim($this->runSpanGamut($value)); + + // Check if this should be enclosed in a paragraph. + // Clean tag hashes & block tag hashes are left alone. + $is_p = $wrap_in_p && !preg_match('/^B\x1A[0-9]+B|^C\x1A[0-9]+C$/', $value); + + if ($is_p) { + $value = "<p>$value</p>"; + } + $grafs[$key] = $value; + } + + // Join grafs in one text, then unhash HTML tags. + $text = implode("\n\n", $grafs); + + // Finish by removing any tag hashes still present in $text. + $text = $this->unhash($text); + + return $text; + } + + + /** + * Footnotes - Strips link definitions from text, stores the URLs and + * titles in hash references. + * @param string $text + * @return string + */ + protected function stripFootnotes($text) { + $less_than_tab = $this->tab_width - 1; + + // Link defs are in the form: [^id]: url "optional title" + $text = preg_replace_callback('{ + ^[ ]{0,' . $less_than_tab . '}\[\^(.+?)\][ ]?: # note_id = $1 + [ ]* + \n? # maybe *one* newline + ( # text = $2 (no blank lines allowed) + (?: + .+ # actual text + | + \n # newlines but + (?!\[.+?\][ ]?:\s)# negative lookahead for footnote or link definition marker. + (?!\n+[ ]{0,3}\S)# ensure line is not blank and followed + # by non-indented content + )* + ) + }xm', + array($this, '_stripFootnotes_callback'), + $text); + return $text; + } + + /** + * Callback for stripping footnotes + * @param array $matches + * @return string + */ + protected function _stripFootnotes_callback($matches) { + $note_id = $this->fn_id_prefix . $matches[1]; + $this->footnotes[$note_id] = $this->outdent($matches[2]); + return ''; // String that will replace the block + } + + /** + * Replace footnote references in $text [^id] with a special text-token + * which will be replaced by the actual footnote marker in appendFootnotes. + * @param string $text + * @return string + */ + protected function doFootnotes($text) { + if (!$this->in_anchor) { + $text = preg_replace('{\[\^(.+?)\]}', "F\x1Afn:\\1\x1A:", $text); + } + return $text; + } + + /** + * Append footnote list to text + * @param string $text + * @return string + */ + protected function appendFootnotes($text) { + $text = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}', + array($this, '_appendFootnotes_callback'), $text); + + if (!empty($this->footnotes_ordered)) { + $text .= "\n\n"; + $text .= "<div class=\"footnotes\">\n"; + $text .= "<hr" . $this->empty_element_suffix . "\n"; + $text .= "<ol>\n\n"; + + $attr = ""; + if ($this->fn_backlink_class != "") { + $class = $this->fn_backlink_class; + $class = $this->encodeAttribute($class); + $attr .= " class=\"$class\""; + } + if ($this->fn_backlink_title != "") { + $title = $this->fn_backlink_title; + $title = $this->encodeAttribute($title); + $attr .= " title=\"$title\""; + } + $backlink_text = $this->fn_backlink_html; + $num = 0; + + while (!empty($this->footnotes_ordered)) { + $footnote = reset($this->footnotes_ordered); + $note_id = key($this->footnotes_ordered); + unset($this->footnotes_ordered[$note_id]); + $ref_count = $this->footnotes_ref_count[$note_id]; + unset($this->footnotes_ref_count[$note_id]); + unset($this->footnotes[$note_id]); + + $footnote .= "\n"; // Need to append newline before parsing. + $footnote = $this->runBlockGamut("$footnote\n"); + $footnote = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}', + array($this, '_appendFootnotes_callback'), $footnote); + + $attr = str_replace("%%", ++$num, $attr); + $note_id = $this->encodeAttribute($note_id); + + // Prepare backlink, multiple backlinks if multiple references + $backlink = "<a href=\"#fnref:$note_id\"$attr>$backlink_text</a>"; + for ($ref_num = 2; $ref_num <= $ref_count; ++$ref_num) { + $backlink .= " <a href=\"#fnref$ref_num:$note_id\"$attr>$backlink_text</a>"; + } + // Add backlink to last paragraph; create new paragraph if needed. + if (preg_match('{</p>$}', $footnote)) { + $footnote = substr($footnote, 0, -4) . " $backlink</p>"; + } else { + $footnote .= "\n\n<p>$backlink</p>"; + } + + $text .= "<li id=\"fn:$note_id\">\n"; + $text .= $footnote . "\n"; + $text .= "</li>\n\n"; + } + + $text .= "</ol>\n"; + $text .= "</div>"; + } + return $text; + } + + /** + * Callback for appending footnotes + * @param array $matches + * @return string + */ + protected function _appendFootnotes_callback($matches) { + $node_id = $this->fn_id_prefix . $matches[1]; + + // Create footnote marker only if it has a corresponding footnote *and* + // the footnote hasn't been used by another marker. + if (isset($this->footnotes[$node_id])) { + $num =& $this->footnotes_numbers[$node_id]; + if (!isset($num)) { + // Transfer footnote content to the ordered list and give it its + // number + $this->footnotes_ordered[$node_id] = $this->footnotes[$node_id]; + $this->footnotes_ref_count[$node_id] = 1; + $num = $this->footnote_counter++; + $ref_count_mark = ''; + } else { + $ref_count_mark = $this->footnotes_ref_count[$node_id] += 1; + } + + $attr = ""; + if ($this->fn_link_class != "") { + $class = $this->fn_link_class; + $class = $this->encodeAttribute($class); + $attr .= " class=\"$class\""; + } + if ($this->fn_link_title != "") { + $title = $this->fn_link_title; + $title = $this->encodeAttribute($title); + $attr .= " title=\"$title\""; + } + + $attr = str_replace("%%", $num, $attr); + $node_id = $this->encodeAttribute($node_id); + + return + "<sup id=\"fnref$ref_count_mark:$node_id\">". + "<a href=\"#fn:$node_id\"$attr>$num</a>". + "</sup>"; + } + + return "[^" . $matches[1] . "]"; + } + + + /** + * Abbreviations - strips abbreviations from text, stores titles in hash + * references. + * @param string $text + * @return string + */ + protected function stripAbbreviations($text) { + $less_than_tab = $this->tab_width - 1; + + // Link defs are in the form: [id]*: url "optional title" + $text = preg_replace_callback('{ + ^[ ]{0,' . $less_than_tab . '}\*\[(.+?)\][ ]?: # abbr_id = $1 + (.*) # text = $2 (no blank lines allowed) + }xm', + array($this, '_stripAbbreviations_callback'), + $text); + return $text; + } + + /** + * Callback for stripping abbreviations + * @param array $matches + * @return string + */ + protected function _stripAbbreviations_callback($matches) { + $abbr_word = $matches[1]; + $abbr_desc = $matches[2]; + if ($this->abbr_word_re) { + $this->abbr_word_re .= '|'; + } + $this->abbr_word_re .= preg_quote($abbr_word); + $this->abbr_desciptions[$abbr_word] = trim($abbr_desc); + return ''; // String that will replace the block + } + + /** + * Find defined abbreviations in text and wrap them in <abbr> elements. + * @param string $text + * @return string + */ + protected function doAbbreviations($text) { + if ($this->abbr_word_re) { + // cannot use the /x modifier because abbr_word_re may + // contain significant spaces: + $text = preg_replace_callback('{' . + '(?<![\w\x1A])' . + '(?:' . $this->abbr_word_re . ')' . + '(?![\w\x1A])' . + '}', + array($this, '_doAbbreviations_callback'), $text); + } + return $text; + } + + /** + * Callback for processing abbreviations + * @param array $matches + * @return string + */ + protected function _doAbbreviations_callback($matches) { + $abbr = $matches[0]; + if (isset($this->abbr_desciptions[$abbr])) { + $desc = $this->abbr_desciptions[$abbr]; + if (empty($desc)) { + return $this->hashPart("<abbr>$abbr</abbr>"); + } else { + $desc = $this->encodeAttribute($desc); + return $this->hashPart("<abbr title=\"$desc\">$abbr</abbr>"); + } + } else { + return $matches[0]; + } + } +} diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php new file mode 100644 index 000000000..c4e9ac7f6 --- /dev/null +++ b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php @@ -0,0 +1,9 @@ +<?php + +// Use this file if you cannot use class autoloading. It will include all the +// files needed for the MarkdownInterface interface. +// +// Take a look at the PSR-0-compatible class autoloading implementation +// in the Readme.php file if you want a simple autoloader setup. + +require_once dirname(__FILE__) . '/MarkdownInterface.php'; diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php new file mode 100644 index 000000000..8512e3753 --- /dev/null +++ b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php @@ -0,0 +1,38 @@ +<?php +/** + * Markdown - A text-to-HTML conversion tool for web writers + * + * @package php-markdown + * @author Michel Fortin <michel.fortin@michelf.com> + * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/> + * @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/> + */ + +namespace Michelf; + +/** + * Markdown Parser Interface + */ +interface MarkdownInterface { + /** + * Initialize the parser and return the result of its transform method. + * This will work fine for derived classes too. + * + * @api + * + * @param string $text + * @return string + */ + public static function defaultTransform($text); + + /** + * Main function. Performs some preprocessing on the input text + * and pass it through the document gamut. + * + * @api + * + * @param string $text + * @return string + */ + public function transform($text); +} diff --git a/vendor/michelf/php-markdown/Readme.md b/vendor/michelf/php-markdown/Readme.md new file mode 100644 index 000000000..044407106 --- /dev/null +++ b/vendor/michelf/php-markdown/Readme.md @@ -0,0 +1,384 @@ +PHP Markdown +============ + +PHP Markdown Lib 1.7.0 - 29 Oct 2016 + +by Michel Fortin +<https://michelf.ca/> + +based on Markdown by John Gruber +<https://daringfireball.net/> + + +Introduction +------------ + +This is a library package that includes the PHP Markdown parser and its +sibling PHP Markdown Extra with additional features. + +Markdown is a text-to-HTML conversion tool for web writers. Markdown +allows you to write using an easy-to-read, easy-to-write plain text +format, then convert it to structurally valid XHTML (or HTML). + +"Markdown" is actually two things: a plain text markup syntax, and a +software tool, originally written in Perl, that converts the plain text +markup to HTML. PHP Markdown is a port to PHP of the original Markdown +program by John Gruber. + +* [Full documentation of the Markdown syntax](<https://daringfireball.net/projects/markdown/>) + — Daring Fireball (John Gruber) +* [Markdown Extra syntax additions](<https://michelf.ca/projects/php-markdown/extra/>) + — Michel Fortin + + +Requirement +----------- + +This library package requires PHP 5.3 or later. + +Note: The older plugin/library hybrid package for PHP Markdown and +PHP Markdown Extra is still maintained and will work with PHP 4.0.5 and later. + +Before PHP 5.3.7, pcre.backtrack_limit defaults to 100 000, which is too small +in many situations. You might need to set it to higher values. Later PHP +releases defaults to 1 000 000, which is usually fine. + + +Usage +----- + +This library package is meant to be used with class autoloading. For autoloading +to work, your project needs have setup a PSR-0-compatible autoloader. See the +included Readme.php file for a minimal autoloader setup. (If you cannot use +autoloading, see below.) + +With class autoloading in place, putting the 'Michelf' folder in your +include path should be enough for this to work: + + use \Michelf\Markdown; + $my_html = Markdown::defaultTransform($my_text); + +Markdown Extra syntax is also available the same way: + + use \Michelf\MarkdownExtra; + $my_html = MarkdownExtra::defaultTransform($my_text); + +If you wish to use PHP Markdown with another text filter function +built to parse HTML, you should filter the text *after* the `transform` +function call. This is an example with [PHP SmartyPants][psp]: + + use \Michelf\Markdown, \Michelf\SmartyPants; + $my_html = Markdown::defaultTransform($my_text); + $my_html = SmartyPants::defaultTransform($my_html); + +All these examples are using the static `defaultTransform` static function +found inside the parser class. If you want to customize the parser +configuration, you can also instantiate it directly and change some +configuration variables: + + use \Michelf\MarkdownExtra; + $parser = new MarkdownExtra; + $parser->fn_id_prefix = "post22-"; + $my_html = $parser->transform($my_text); + +To learn more, see the full list of [configuration variables]. + + [configuration variables]: https://michelf.ca/projects/php-markdown/configuration/ + + +### Usage without an autoloader + +If you cannot use class autoloading, you can still use `include` or `require` +to access the parser. To load the `\Michelf\Markdown` parser, do it this way: + + require_once 'Michelf/Markdown.inc.php'; + +Or, if you need the `\Michelf\MarkdownExtra` parser: + + require_once 'Michelf/MarkdownExtra.inc.php'; + +While the plain `.php` files depend on autoloading to work correctly, using the +`.inc.php` files instead will eagerly load the dependencies that would be +loaded on demand if you were using autoloading. + + +Public API and Versioning Policy +--------------------------------- + +Version numbers are of the form *major*.*minor*.*patch*. + +The public API of PHP Markdown consist of the two parser classes `Markdown` +and `MarkdownExtra`, their constructors, the `transform` and `defaultTransform` +functions and their configuration variables. The public API is stable for +a given major version number. It might get additions when the minor version +number increments. + +**Protected members are not considered public API.** This is unconventional +and deserves an explanation. Incrementing the major version number every time +the underlying implementation of something changes is going to give +nonessential version numbers for the vast majority of people who just use the +parser. Protected members are meant to create parser subclasses that behave in +different ways. Very few people create parser subclasses. I don't want to +discourage it by making everything private, but at the same time I can't +guarantee any stable hook between versions if you use protected members. + +**Syntax changes** will increment the minor number for new features, and the +patch number for small corrections. A *new feature* is something that needs a +change in the syntax documentation. Note that since PHP Markdown Lib includes +two parsers, a syntax change for either of them will increment the minor +number. Also note that there is nothing perfectly backward-compatible with the +Markdown syntax: all inputs are always valid, so new features always replace +something that was previously legal, although generally nonsensical to do. + + +Bugs +---- + +To file bug reports please send email to: +<michel.fortin@michelf.ca> + +Please include with your report: (1) the example input; (2) the output you +expected; (3) the output PHP Markdown actually produced. + +If you have a problem where Markdown gives you an empty result, first check +that the backtrack limit is not too low by running `php --info | grep pcre`. +See Installation and Requirement above for details. + + +Development and Testing +----------------------- + +Pull requests for fixing bugs are welcome. Proposed new features are +going to be meticulously reviewed -- taking into account backward compatibility, +potential side effects, and future extensibility -- before deciding on +acceptance or rejection. + +If you make a pull request that includes changes to the parser please add +tests for what is being changed to [MDTest][] and make a pull request there +too. + + [MDTest]: https://github.com/michelf/mdtest/ + + +Donations +--------- + +If you wish to make a donation that will help me devote more time to +PHP Markdown, please visit [michelf.ca/donate] or send Bitcoin to +[1HiuX34czvVPPdhXbUAsAu7pZcesniDCGH]. + + [michelf.ca/donate]: https://michelf.ca/donate/#!Thanks%20for%20PHP%20Markdown + [1HiuX34czvVPPdhXbUAsAu7pZcesniDCGH]: bitcoin:1HiuX34czvVPPdhXbUAsAu7pZcesniDCGH + + +Version History +--------------- + +PHP Markdown Lib 1.7.0 (29 Oct 2016) + +* Added a `hard_wrap` configuration variable to make all newline characters + in the text become `<br>` tags in the HTML output. By default, according + to the standard Markdown syntax these newlines are ignored unless they a + preceded by two spaces. Thanks to Jonathan Cohlmeyer for the implementation. + +* Improved the parsing of list items to fix problematic cases that came to + light with the addition of `hard_wrap`. This should have no effect on the + output except span-level list items that ended with two spaces (and thus + ended with a line break). + +* Added a `code_span_content_func` configuration variable which takes a + function that will convert the content of the code span to HTML. This can + be useful to implement syntax highlighting. Although contrary to its + code block equivalent, there is no syntax for specifying a language. + Credits to styxit for the implementation. + +* Fixed a Markdwon Extra issue where two-space-at-end-of-line hard breaks + wouldn't work inside of HTML block elements such as `<p markdown="1">` + where the element expects only span-level content. + +* In the parser code, switched to PHPDoc comment format. Thanks to + Robbie Averill for the help. + + +PHP Markdown Lib 1.6.0 (23 Dec 2015) + +Note: this version was incorrectly released as 1.5.1 on Dec 22, a number +that contradicted the versioning policy. + +* For fenced code blocks in Markdown Extra, can now set a class name for the + code block's language before the special attribute block. Previously, this + class name was only allowed in the absence of the special attribute block. + +* Added a `code_block_content_func` configuration variable which takes a + function that will convert the content of the code block to HTML. This is + most useful for syntax highlighting. For fenced code blocks in Markdown + Extra, the function has access to the language class name (the one outside + of the special attribute block). Credits to Mario Konrad for providing the + implementation. + +* The curled arrow character for the backlink in footnotes is now followed + by a Unicode variant selector to prevent it from being displayed in emoji + form on iOS. + + Note that in older browsers the variant selector is often interpreted as a + separate character, making it visible after the arrow. So there is now a + also a `fn_backlink_html` configuration variable that can be used to set + the link text to something else. Credits to Dana for providing the + implementation. + +* Fixed an issue in MarkdownExtra where long header lines followed by a + special attribute block would hit the backtrack limit an cause an empty + string to be returned. + + +PHP Markdown Lib 1.5.0 (1 Mar 2015) + +* Added the ability start ordered lists with a number different from 1 and + and have that reflected in the HTML output. This can be enabled with + the `enhanced_ordered_lists` configuration variable for the Markdown + parser; it is enabled by default for Markdown Extra. + Credits to Matt Gorle for providing the implementation. + +* Added the ability to insert custom HTML attributes with simple values + everywhere an extra attribute block is allowed (links, images, headers). + The value must be unquoted, cannot contains spaces and is limited to + alphanumeric ASCII characters. + Credits to Peter Droogmans for providing the implementation. + +* Added a `header_id_func` configuration variable which takes a function + that can generate an `id` attribute value from the header text. + Credits to Evert Pot for providing the implementation. + +* Added a `url_filter_func` configuration variable which takes a function + that can rewrite any link or image URL to something different. + + +PHP Markdown Lib 1.4.1 (4 May 2014) + +* The HTML block parser will now treat `<figure>` as a block-level element + (as it should) and no longer wrap it in `<p>` or parse it's content with + the as Markdown syntax (although with Extra you can use `markdown="1"` + if you wish to use the Markdown syntax inside it). + +* The content of `<style>` elements will now be left alone, its content + won't be interpreted as Markdown. + +* Corrected an bug where some inline links with spaces in them would not + work even when surounded with angle brackets: + + [link](<s p a c e s>) + +* Fixed an issue where email addresses with quotes in them would not always + have the quotes escaped in the link attribute, causing broken links (and + invalid HTML). + +* Fixed the case were a link definition following a footnote definition would + be swallowed by the footnote unless it was separated by a blank line. + + +PHP Markdown Lib 1.4.0 (29 Nov 2013) + +* Added support for the `tel:` URL scheme in automatic links. + + <tel:+1-111-111-1111> + + It gets converted to this (note the `tel:` prefix becomes invisible): + + <a href="tel:+1-111-111-1111">+1-111-111-1111</a> + +* Added backtick fenced code blocks to MarkdownExtra, originally from + Github-Flavored Markdown. + +* Added an interface called MarkdownInterface implemented by both + the Markdown and MarkdownExtra parsers. You can use the interface if + you want to create a mockup parser object for unit testing. + +* For those of you who cannot use class autoloading, you can now + include `Michelf/Markdown.inc.php` or `Michelf/MarkdownExtra.inc.php` (note + the `.inc.php` extension) to automatically include other files required + by the parser. + + +PHP Markdown Lib 1.3 (11 Apr 2013) + +This is the first release of PHP Markdown Lib. This package requires PHP +version 5.3 or later and is designed to work with PSR-0 autoloading and, +optionally with Composer. Here is a list of the changes since +PHP Markdown Extra 1.2.6: + +* Plugin interface for WordPress and other systems is no longer present in + the Lib package. The classic package is still available if you need it: + <https://michelf.ca/projects/php-markdown/classic/> + +* Added `public` and `protected` protection attributes, plus a section about + what is "public API" and what isn't in the Readme file. + +* Changed HTML output for footnotes: now instead of adding `rel` and `rev` + attributes, footnotes links have the class name `footnote-ref` and + backlinks `footnote-backref`. + +* Fixed some regular expressions to make PCRE not shout warnings about POSIX + collation classes (dependent on your version of PCRE). + +* Added optional class and id attributes to images and links using the same + syntax as for headers: + + [link](url){#id .class} + ![img](url){#id .class} + + It work too for reference-style links and images. In this case you need + to put those attributes at the reference definition: + + [link][linkref] or [linkref] + ![img][linkref] + + [linkref]: url "optional title" {#id .class} + +* Fixed a PHP notice message triggered when some table column separator + markers are missing on the separator line below column headers. + +* Fixed a small mistake that could cause the parser to retain an invalid + state related to parsing links across multiple runs. This was never + observed (that I know of), but it's still worth fixing. + + +Copyright and License +--------------------- + +PHP Markdown Lib +Copyright (c) 2004-2016 Michel Fortin +<https://michelf.ca/> +All rights reserved. + +Based on Markdown +Copyright (c) 2003-2005 John Gruber +<https://daringfireball.net/> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the + distribution. + +* Neither the name "Markdown" nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +This software is provided by the copyright holders and contributors "as +is" and any express or implied warranties, including, but not limited +to, the implied warranties of merchantability and fitness for a +particular purpose are disclaimed. In no event shall the copyright owner +or contributors be liable for any direct, indirect, incidental, special, +exemplary, or consequential damages (including, but not limited to, +procurement of substitute goods or services; loss of use, data, or +profits; or business interruption) however caused and on any theory of +liability, whether in contract, strict liability, or tort (including +negligence or otherwise) arising in any way out of the use of this +software, even if advised of the possibility of such damage. diff --git a/vendor/michelf/php-markdown/Readme.php b/vendor/michelf/php-markdown/Readme.php new file mode 100644 index 000000000..89449dea4 --- /dev/null +++ b/vendor/michelf/php-markdown/Readme.php @@ -0,0 +1,31 @@ +<?php + +// This file passes the content of the Readme.md file in the same directory +// through the Markdown filter. You can adapt this sample code in any way +// you like. + +// Install PSR-0-compatible class autoloader +spl_autoload_register(function($class){ + require preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php'; +}); + +// Get Markdown class +use \Michelf\Markdown; + +// Read file and pass content through the Markdown parser +$text = file_get_contents('Readme.md'); +$html = Markdown::defaultTransform($text); + +?> +<!DOCTYPE html> +<html> + <head> + <title>PHP Markdown Lib - Readme</title> + </head> + <body> + <?php + // Put HTML content in the document + echo $html; + ?> + </body> +</html> diff --git a/vendor/michelf/php-markdown/composer.json b/vendor/michelf/php-markdown/composer.json new file mode 100644 index 000000000..36a4f744a --- /dev/null +++ b/vendor/michelf/php-markdown/composer.json @@ -0,0 +1,31 @@ +{ + "name": "michelf/php-markdown", + "type": "library", + "description": "PHP Markdown", + "homepage": "https://michelf.ca/projects/php-markdown/", + "keywords": ["markdown"], + "license": "BSD-3-Clause", + "authors": [ + { + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" + } + ], + "require": { + "php": ">=5.3.0" + }, + "autoload": { + "psr-0": { "Michelf": "" } + }, + "extra": { + "branch-alias": { + "dev-lib": "1.4.x-dev" + } + } +} diff --git a/vendor/pixel418/markdownify/CHANGELOG.md b/vendor/pixel418/markdownify/CHANGELOG.md new file mode 100644 index 000000000..a0900fdf5 --- /dev/null +++ b/vendor/pixel418/markdownify/CHANGELOG.md @@ -0,0 +1,76 @@ +CHANGELOG +============== + + +21/09/2016 v2.2.1 +-------------- + + * Fix: Moving trailing whitespace from inline elements outside of the element + * Feature: Use PSR-4 + * Feature: PHP 7.0 support in continuous integration + * Doc: Update of the README + + +07/09/2016 v2.2.0 +-------------- + + * Fix: Reset state between each parsing + + +19/02/2016 v2.1.11 +-------------- + + * Fix: Empty table cell conversion + + +10/02/2016 v2.1.10 +-------------- + + * Fix: Handle nested table. + + +01/04/2015 v2.1.9 +-------------- + + * Fix: Handle HTML breaks & spaces in a less destructive way. + + +26/03/2015 v2.1.8 +-------------- + + * Fix: Use alternative italic character + * Fix: Handle HTML breaks inside another tag + * Fix: Handle HTML spaces around tags + + +07/11/2014 v2.1.7 +-------------- + + * Change composer name to "elephant418/markdownify" + + +14/07/2014 v2.1.6 +-------------- + + * Fix: Simulate a paragraph for inline text preceding block element + * Fix: Nested lists + * Fix: setKeepHTML method + * Feature: PHP 5.5 & 5.6 support in continuous integration + + +16/03/2014 v2.1.5 +-------------- + +Add display settings + + * Test: Add tests for footnotes after every paragraph or not + * Feature: Allow to display link reference in paragraph, without footnotes + + +27/02/2014 v2.1.4 +-------------- + +Improve how ConverterExtra handle id & class attributes: + + * Feature: Allow id & class attributes on links + * Feature: Allow class attributes on headings
\ No newline at end of file diff --git a/library/markdownify/LICENSE_LGPL.txt b/vendor/pixel418/markdownify/LICENSE index 5ab7695ab..5ab7695ab 100644 --- a/library/markdownify/LICENSE_LGPL.txt +++ b/vendor/pixel418/markdownify/LICENSE diff --git a/vendor/pixel418/markdownify/README.md b/vendor/pixel418/markdownify/README.md new file mode 100644 index 000000000..8855b0d05 --- /dev/null +++ b/vendor/pixel418/markdownify/README.md @@ -0,0 +1,63 @@ +# Markdownify + +[![Build Status](https://travis-ci.org/Elephant418/Markdownify.png?branch=master)](https://travis-ci.org/Elephant418/Markdownify?branch=master) +[![Total Downloads](https://poser.pugx.org/pixel418/markdownify/downloads)](https://packagist.org/packages/pixel418/markdownify) +[![License LGPL](https://poser.pugx.org/pixel418/markdownify/license)](https://opensource.org/licenses/lgpl-2.1.php) + +The HTML to Markdown converter for PHP + +[Code example](#code-example) | [How to Install](#how-to-install) | [How to Contribute](#how-to-contribute) | [Author & Community](#author--community) + + + +Code example +-------- + +### Markdown + +```php +$converter = new Markdownify\Converter; +$converter->parseString('<h1>Heading</h1>'); +// Returns: # Heading +``` + +### Markdown Extra [as defined by @michelf](http://michelf.ca/projects/php-markdown/extra/) + +```php +$converter = new Markdownify\ConverterExtra; +$converter->parseString('<h1 id="md">Heading</h1>'); +// Returns: # Heading {#md} +``` + + + +How to Install +-------- + +This library package requires `PHP 5.3` or later.<br> +Install [Composer](http://getcomposer.org/doc/01-basic-usage.md#installation) and run the following command to get the latest version: + +```sh +composer require pixel418/markdownify +``` + + + +How to Contribute +-------- + +1. Fork the Markdownify repository +2. Create a new branch for each feature or improvement +3. Send a pull request from each feature branch to the **v2.x** branch + +If you don't know much about pull request, you can read [the Github article](https://help.github.com/articles/using-pull-requests) + + + +Author & Community +-------- + +Markdownify is under [LGPL License](http://opensource.org/licenses/LGPL-2.1)<br> +It was created by [Milian Wolff](http://milianw.de)<br> +It was converted to a Symfony Bundle by [Peter Kruithof](https://github.com/pkruithof)<br> +It is maintained by [Thomas ZILLIOX](http://tzi.fr) diff --git a/vendor/pixel418/markdownify/composer.json b/vendor/pixel418/markdownify/composer.json new file mode 100644 index 000000000..71d9f3565 --- /dev/null +++ b/vendor/pixel418/markdownify/composer.json @@ -0,0 +1,38 @@ +{ + "name": "pixel418/markdownify", + "type": "lib", + "description": "The HTML to Markdown converter for PHP ", + "keywords": ["markdown", "markdownify"], + "license": "LGPL", + "homepage": "https://github.com/elephant418/Markdownify", + "authors": [ + { + "name": "Milian Wolff", + "email": "mail@milianw.de", + "homepage": "http://milianw.de" + + }, + { + "name": "Peter Kruithof", + "email": "pkruithof@gmail.com", + "homepage": "http://pkruithof.tumblr.com/" + }, + { + "name": "Thomas Zilliox", + "email": "hello@tzi.fr", + "homepage": "http://tzi.fr" + } + ], + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "autoload": { + "psr-4": { + "Markdownify\\": "src", + "Test\\Markdownify\\": "test" + } + } +} diff --git a/vendor/pixel418/markdownify/src/Converter.php b/vendor/pixel418/markdownify/src/Converter.php new file mode 100644 index 000000000..77c62dc7e --- /dev/null +++ b/vendor/pixel418/markdownify/src/Converter.php @@ -0,0 +1,1400 @@ +<?php + +/* This file is part of the Markdownify project, which is under LGPL license */ + +namespace Markdownify; + +/** + * default configuration + */ +define('MDFY_BODYWIDTH', false); +define('MDFY_KEEPHTML', true); + +/** + * HTML to Markdown converter class + */ +class Converter +{ + /** + * html parser object + * + * @var parseHTML + */ + protected $parser; + + /** + * markdown output + * + * @var string + */ + protected $output; + + /** + * stack with tags which where not converted to html + * + * @var array<string> + */ + protected $notConverted = array(); + + /** + * skip conversion to markdown + * + * @var bool + */ + protected $skipConversion = false; + + /* options */ + + /** + * keep html tags which cannot be converted to markdown + * + * @var bool + */ + protected $keepHTML = false; + + /** + * wrap output, set to 0 to skip wrapping + * + * @var int + */ + protected $bodyWidth = 0; + + /** + * minimum body width + * + * @var int + */ + protected $minBodyWidth = 25; + + /** + * position where the link reference will be displayed + * + * + * @var int + */ + protected $linkPosition; + const LINK_AFTER_CONTENT = 0; + const LINK_AFTER_PARAGRAPH = 1; + const LINK_IN_PARAGRAPH = 2; + + /** + * stores current buffers + * + * @var array<string> + */ + protected $buffer = array(); + + /** + * stores current buffers + * + * @var array<string> + */ + protected $footnotes = array(); + + /** + * tags with elements which can be handled by markdown + * + * @var array<string> + */ + protected $isMarkdownable = array( + 'p' => array(), + 'ul' => array(), + 'ol' => array(), + 'li' => array(), + 'br' => array(), + 'blockquote' => array(), + 'code' => array(), + 'pre' => array(), + 'a' => array( + 'href' => 'required', + 'title' => 'optional', + ), + 'strong' => array(), + 'b' => array(), + 'em' => array(), + 'i' => array(), + 'img' => array( + 'src' => 'required', + 'alt' => 'optional', + 'title' => 'optional', + ), + 'h1' => array(), + 'h2' => array(), + 'h3' => array(), + 'h4' => array(), + 'h5' => array(), + 'h6' => array(), + 'hr' => array(), + ); + + /** + * html tags to be ignored (contents will be parsed) + * + * @var array<string> + */ + protected $ignore = array( + 'html', + 'body', + ); + + /** + * html tags to be dropped (contents will not be parsed!) + * + * @var array<string> + */ + protected $drop = array( + 'script', + 'head', + 'style', + 'form', + 'area', + 'object', + 'param', + 'iframe', + ); + + /** + * html block tags that allow inline & block children + * + * @var array<string> + */ + protected $allowMixedChildren = array( + 'li' + ); + + /** + * Markdown indents which could be wrapped + * @note: use strings in regex format + * + * @var array<string> + */ + protected $wrappableIndents = array( + '\* ', // ul + '\d. ', // ol + '\d\d. ', // ol + '> ', // blockquote + '', // p + ); + + /** + * list of chars which have to be escaped in normal text + * @note: use strings in regex format + * + * @var array + * + * TODO: what's with block chars / sequences at the beginning of a block? + */ + protected $escapeInText = array( + '\*\*([^*]+)\*\*' => '\*\*$1\*\*', // strong + '\*([^*]+)\*' => '\*$1\*', // em + '__(?! |_)(.+)(?!<_| )__' => '\_\_$1\_\_', // strong + '_(?! |_)(.+)(?!<_| )_' => '\_$1\_', // em + '([-*_])([ ]{0,2}\1){2,}' => '\\\\$0', // hr + '`' => '\`', // code + '\[(.+)\](\s*\()' => '\[$1\]$2', // links: [text] (url) => [text\] (url) + '\[(.+)\](\s*)\[(.*)\]' => '\[$1\]$2\[$3\]', // links: [text][id] => [text\][id\] + '^#(#{0,5}) ' => '\#$1 ', // header + ); + + /** + * wether last processed node was a block tag or not + * + * @var bool + */ + protected $lastWasBlockTag = false; + + /** + * name of last closed tag + * + * @var string + */ + protected $lastClosedTag = ''; + + /** + * number of line breaks before next inline output + */ + protected $lineBreaks = 0; + + /** + * node stack, e.g. for <a> and <abbr> tags + * + * @var array<array> + */ + protected $stack = array(); + + /** + * current indentation + * + * @var string + */ + protected $indent = ''; + + /** + * constructor, set options, setup parser + * + * @param int $linkPosition define the position of links + * @param int $bodyWidth whether or not to wrap the output to the given width + * defaults to false + * @param bool $keepHTML whether to keep non markdownable HTML or to discard it + * defaults to true (HTML will be kept) + * @return void + */ + public function __construct($linkPosition = self::LINK_AFTER_CONTENT, $bodyWidth = MDFY_BODYWIDTH, $keepHTML = MDFY_KEEPHTML) + { + $this->linkPosition = $linkPosition; + $this->keepHTML = $keepHTML; + + if ($bodyWidth > $this->minBodyWidth) { + $this->bodyWidth = intval($bodyWidth); + } else { + $this->bodyWidth = false; + } + + $this->parser = new Parser; + $this->parser->noTagsInCode = true; + + // we don't have to do this every time + $search = array(); + $replace = array(); + foreach ($this->escapeInText as $s => $r) { + array_push($search, '@(?<!\\\)' . $s . '@U'); + array_push($replace, $r); + } + $this->escapeInText = array( + 'search' => $search, + 'replace' => $replace + ); + } + + /** + * parse a HTML string + * + * @param string $html + * @return string markdown formatted + */ + public function parseString($html) + { + $this->resetState(); + + $this->parser->html = $html; + $this->parse(); + + return $this->output; + } + + /** + * set the position where the link reference will be displayed + * + * @param int $linkPosition + * @return void + */ + public function setLinkPosition($linkPosition) + { + $this->linkPosition = $linkPosition; + } + + /** + * set keep HTML tags which cannot be converted to markdown + * + * @param bool $linkPosition + * @return void + */ + public function setKeepHTML($keepHTML) + { + $this->keepHTML = $keepHTML; + } + + /** + * iterate through the nodes and decide what we + * shall do with the current node + * + * @param void + * @return void + */ + protected function parse() + { + $this->output = ''; + // drop tags + $this->parser->html = preg_replace('#<(' . implode('|', $this->drop) . ')[^>]*>.*</\\1>#sU', '', $this->parser->html); + while ($this->parser->nextNode()) { + switch ($this->parser->nodeType) { + case 'doctype': + break; + case 'pi': + case 'comment': + if ($this->keepHTML) { + $this->flushLinebreaks(); + $this->out($this->parser->node); + $this->setLineBreaks(2); + } + // else drop + break; + case 'text': + $this->handleText(); + break; + case 'tag': + if (in_array($this->parser->tagName, $this->ignore)) { + break; + } + // If the previous tag was not a block element, we simulate a paragraph tag + if ($this->parser->isBlockElement && $this->parser->isNextToInlineContext && !in_array($this->parent(), $this->allowMixedChildren)) { + $this->setLineBreaks(2); + } + if ($this->parser->isStartTag) { + $this->flushLinebreaks(); + } + if ($this->skipConversion) { + $this->isMarkdownable(); // update notConverted + $this->handleTagToText(); + continue; + } + + // block elements + if (!$this->parser->keepWhitespace && $this->parser->isBlockElement) { + $this->fixBlockElementSpacing(); + } + + // inline elements + if (!$this->parser->keepWhitespace && $this->parser->isInlineContext) { + $this->fixInlineElementSpacing(); + } + + if ($this->isMarkdownable()) { + if ($this->parser->isBlockElement && $this->parser->isStartTag && !$this->lastWasBlockTag && !empty($this->output)) { + if (!empty($this->buffer)) { + $str =& $this->buffer[count($this->buffer) - 1]; + } else { + $str =& $this->output; + } + if (substr($str, -strlen($this->indent) - 1) != "\n" . $this->indent) { + $str .= "\n" . $this->indent; + } + } + $func = 'handleTag_' . $this->parser->tagName; + $this->$func(); + if ($this->linkPosition == self::LINK_AFTER_PARAGRAPH && $this->parser->isBlockElement && !$this->parser->isStartTag && empty($this->parser->openTags)) { + $this->flushFootnotes(); + } + if (!$this->parser->isStartTag) { + $this->lastClosedTag = $this->parser->tagName; + } + } else { + $this->handleTagToText(); + $this->lastClosedTag = ''; + } + break; + default: + trigger_error('invalid node type', E_USER_ERROR); + break; + } + $this->lastWasBlockTag = $this->parser->nodeType == 'tag' && $this->parser->isStartTag && $this->parser->isBlockElement; + } + if (!empty($this->buffer)) { + // trigger_error('buffer was not flushed, this is a bug. please report!', E_USER_WARNING); + while (!empty($this->buffer)) { + $this->out($this->unbuffer()); + } + } + // cleanup + $this->output = rtrim(str_replace('&', '&', str_replace('<', '<', str_replace('>', '>', $this->output)))); + // end parsing, flush stacked tags + $this->flushFootnotes(); + $this->stack = array(); + } + + /** + * check if current tag can be converted to Markdown + * + * @param void + * @return bool + */ + protected function isMarkdownable() + { + if (!isset($this->isMarkdownable[$this->parser->tagName])) { + // simply not markdownable + + return false; + } + if ($this->parser->isStartTag) { + $return = true; + if ($this->keepHTML) { + $diff = array_diff(array_keys($this->parser->tagAttributes), array_keys($this->isMarkdownable[$this->parser->tagName])); + if (!empty($diff)) { + // non markdownable attributes given + $return = false; + } + } + if ($return) { + foreach ($this->isMarkdownable[$this->parser->tagName] as $attr => $type) { + if ($type == 'required' && !isset($this->parser->tagAttributes[$attr])) { + // required markdown attribute not given + $return = false; + break; + } + } + } + if (!$return) { + array_push($this->notConverted, $this->parser->tagName . '::' . implode('/', $this->parser->openTags)); + } + + return $return; + } else { + if (!empty($this->notConverted) && end($this->notConverted) === $this->parser->tagName . '::' . implode('/', $this->parser->openTags)) { + array_pop($this->notConverted); + + return false; + } + + return true; + } + } + + /** + * output footnotes + * + * @param void + * @return void + */ + protected function flushFootnotes() + { + $out = false; + foreach ($this->footnotes as $k => $tag) { + if (!isset($tag['unstacked'])) { + if (!$out) { + $out = true; + $this->out("\n\n", true); + } else { + $this->out("\n", true); + } + $this->out(' [' . $tag['linkID'] . ']: ' . $this->getLinkReference($tag), true); + $tag['unstacked'] = true; + $this->footnotes[$k] = $tag; + } + } + } + + /** + * return formated link reference + * + * @param array $tag + * @return string link reference + */ + protected function getLinkReference($tag) + { + return $tag['href'] . (isset($tag['title']) ? ' "' . $tag['title'] . '"' : ''); + } + + /** + * flush enqued linebreaks + * + * @param void + * @return void + */ + protected function flushLinebreaks() + { + if ($this->lineBreaks && !empty($this->output)) { + $this->out(str_repeat("\n" . $this->indent, $this->lineBreaks), true); + } + $this->lineBreaks = 0; + } + + /** + * handle non Markdownable tags + * + * @param void + * @return void + */ + protected function handleTagToText() + { + if (!$this->keepHTML) { + if (!$this->parser->isStartTag && $this->parser->isBlockElement) { + $this->setLineBreaks(2); + } + } else { + // dont convert to markdown inside this tag + /** TODO: markdown extra **/ + if (!$this->parser->isEmptyTag) { + if ($this->parser->isStartTag) { + if (!$this->skipConversion) { + $this->skipConversion = $this->parser->tagName . '::' . implode('/', $this->parser->openTags); + } + } else { + if ($this->skipConversion == $this->parser->tagName . '::' . implode('/', $this->parser->openTags)) { + $this->skipConversion = false; + } + } + } + + if ($this->parser->isBlockElement) { + if ($this->parser->isStartTag) { + // looks like ins or del are block elements now + if (in_array($this->parent(), array('ins', 'del'))) { + $this->out("\n", true); + $this->indent(' '); + } + // don't indent inside <pre> tags + if ($this->parser->tagName == 'pre') { + $this->out($this->parser->node); + static $indent; + $indent = $this->indent; + $this->indent = ''; + } else { + $this->out($this->parser->node . "\n" . $this->indent); + if (!$this->parser->isEmptyTag) { + $this->indent(' '); + } else { + $this->setLineBreaks(1); + } + $this->parser->html = ltrim($this->parser->html); + } + } else { + if (!$this->parser->keepWhitespace) { + $this->output = rtrim($this->output); + } + if ($this->parser->tagName != 'pre') { + $this->indent(' '); + $this->out("\n" . $this->indent . $this->parser->node); + } else { + // reset indentation + $this->out($this->parser->node); + static $indent; + $this->indent = $indent; + } + + if (in_array($this->parent(), array('ins', 'del'))) { + // ins or del was block element + $this->out("\n"); + $this->indent(' '); + } + if ($this->parser->tagName == 'li') { + $this->setLineBreaks(1); + } else { + $this->setLineBreaks(2); + } + } + } else { + $this->out($this->parser->node); + } + if (in_array($this->parser->tagName, array('code', 'pre'))) { + if ($this->parser->isStartTag) { + $this->buffer(); + } else { + // add stuff so cleanup just reverses this + $this->out(str_replace('<', '&lt;', str_replace('>', '&gt;', $this->unbuffer()))); + } + } + } + } + + /** + * handle plain text + * + * @param void + * @return void + */ + protected function handleText() + { + if ($this->hasParent('pre') && strpos($this->parser->node, "\n") !== false) { + $this->parser->node = str_replace("\n", "\n" . $this->indent, $this->parser->node); + } + if (!$this->hasParent('code') && !$this->hasParent('pre')) { + // entity decode + $this->parser->node = $this->decode($this->parser->node); + if (!$this->skipConversion) { + // escape some chars in normal Text + $this->parser->node = preg_replace($this->escapeInText['search'], $this->escapeInText['replace'], $this->parser->node); + } + } else { + $this->parser->node = str_replace(array('"', '&apos'), array('"', '\''), $this->parser->node); + } + $this->out($this->parser->node); + $this->lastClosedTag = ''; + } + + /** + * handle <em> and <i> tags + * + * @param void + * @return void + */ + protected function handleTag_em() + { + $this->out('_', true); + } + + protected function handleTag_i() + { + $this->handleTag_em(); + } + + /** + * handle <strong> and <b> tags + * + * @param void + * @return void + */ + protected function handleTag_strong() + { + $this->out('**', true); + } + + protected function handleTag_b() + { + $this->handleTag_strong(); + } + + /** + * handle <h1> tags + * + * @param void + * @return void + */ + protected function handleTag_h1() + { + $this->handleHeader(1); + } + + /** + * handle <h2> tags + * + * @param void + * @return void + */ + protected function handleTag_h2() + { + $this->handleHeader(2); + } + + /** + * handle <h3> tags + * + * @param void + * @return void + */ + protected function handleTag_h3() + { + $this->handleHeader(3); + } + + /** + * handle <h4> tags + * + * @param void + * @return void + */ + protected function handleTag_h4() + { + $this->handleHeader(4); + } + + /** + * handle <h5> tags + * + * @param void + * @return void + */ + protected function handleTag_h5() + { + $this->handleHeader(5); + } + + /** + * handle <h6> tags + * + * @param void + * @return void + */ + protected function handleTag_h6() + { + $this->handleHeader(6); + } + + /** + * handle header tags (<h1> - <h6>) + * + * @param int $level 1-6 + * @return void + */ + protected function handleHeader($level) + { + if ($this->parser->isStartTag) { + $this->out(str_repeat('#', $level) . ' ', true); + } else { + $this->setLineBreaks(2); + } + } + + /** + * handle <p> tags + * + * @param void + * @return void + */ + protected function handleTag_p() + { + if (!$this->parser->isStartTag) { + $this->setLineBreaks(2); + } + } + + /** + * handle <a> tags + * + * @param void + * @return void + */ + protected function handleTag_a() + { + if ($this->parser->isStartTag) { + $this->buffer(); + $this->handleTag_a_parser(); + $this->stack(); + } else { + $tag = $this->unstack(); + $buffer = $this->unbuffer(); + $this->handleTag_a_converter($tag, $buffer); + $this->out($this->handleTag_a_converter($tag, $buffer), true); + } + } + + /** + * handle <a> tags parsing + * + * @param void + * @return void + */ + protected function handleTag_a_parser() + { + if (isset($this->parser->tagAttributes['title'])) { + $this->parser->tagAttributes['title'] = $this->decode($this->parser->tagAttributes['title']); + } else { + $this->parser->tagAttributes['title'] = null; + } + $this->parser->tagAttributes['href'] = $this->decode(trim($this->parser->tagAttributes['href'])); + } + + /** + * handle <a> tags conversion + * + * @param array $tag + * @param string $buffer + * @return string The markdownified link + */ + protected function handleTag_a_converter($tag, $buffer) + { + if (empty($tag['href']) && empty($tag['title'])) { + // empty links... testcase mania, who would possibly do anything like that?! + return '[' . $buffer . ']()'; + } + + if ($buffer == $tag['href'] && empty($tag['title'])) { + // <http://example.com> + return '<' . $buffer . '>'; + } + + $bufferDecoded = $this->decode(trim($buffer)); + if (substr($tag['href'], 0, 7) == 'mailto:' && 'mailto:' . $bufferDecoded == $tag['href']) { + if (is_null($tag['title'])) { + // <mail@example.com> + return '<' . $bufferDecoded . '>'; + } + // [mail@example.com][1] + // ... + // [1]: mailto:mail@example.com Title + $tag['href'] = 'mailto:' . $bufferDecoded; + } + + if ($this->linkPosition == self::LINK_IN_PARAGRAPH) { + return '[' . $buffer . '](' . $this->getLinkReference($tag) . ')'; + } + + // [This link][id] + foreach ($this->footnotes as $tag2) { + if ($tag2['href'] == $tag['href'] && $tag2['title'] === $tag['title']) { + $tag['linkID'] = $tag2['linkID']; + break; + } + } + if (!isset($tag['linkID'])) { + $tag['linkID'] = count($this->footnotes) + 1; + array_push($this->footnotes, $tag); + } + + return '[' . $buffer . '][' . $tag['linkID'] . ']'; + } + + /** + * handle <img /> tags + * + * @param void + * @return void + */ + protected function handleTag_img() + { + if (!$this->parser->isStartTag) { + return; // just to be sure this is really an empty tag... + } + + if (isset($this->parser->tagAttributes['title'])) { + $this->parser->tagAttributes['title'] = $this->decode($this->parser->tagAttributes['title']); + } else { + $this->parser->tagAttributes['title'] = null; + } + if (isset($this->parser->tagAttributes['alt'])) { + $this->parser->tagAttributes['alt'] = $this->decode($this->parser->tagAttributes['alt']); + } else { + $this->parser->tagAttributes['alt'] = null; + } + + if (empty($this->parser->tagAttributes['src'])) { + // support for "empty" images... dunno if this is really needed + // but there are some test cases which do that... + if (!empty($this->parser->tagAttributes['title'])) { + $this->parser->tagAttributes['title'] = ' ' . $this->parser->tagAttributes['title'] . ' '; + } + $this->out('![' . $this->parser->tagAttributes['alt'] . '](' . $this->parser->tagAttributes['title'] . ')', true); + + return; + } else { + $this->parser->tagAttributes['src'] = $this->decode($this->parser->tagAttributes['src']); + } + + $out = '![' . $this->parser->tagAttributes['alt'] . ']'; + if ($this->linkPosition == self::LINK_IN_PARAGRAPH) { + $out .= '(' . $this->parser->tagAttributes['src']; + if ($this->parser->tagAttributes['title']) { + $out .= ' "' . $this->parser->tagAttributes['title'] . '"'; + } + $out .= ')'; + $this->out($out, true); + return; + } + + // ![This image][id] + $link_id = false; + if (!empty($this->footnotes)) { + foreach ($this->footnotes as $tag) { + if ($tag['href'] == $this->parser->tagAttributes['src'] + && $tag['title'] === $this->parser->tagAttributes['title'] + ) { + $link_id = $tag['linkID']; + break; + } + } + } + if (!$link_id) { + $link_id = count($this->footnotes) + 1; + $tag = array( + 'href' => $this->parser->tagAttributes['src'], + 'linkID' => $link_id, + 'title' => $this->parser->tagAttributes['title'] + ); + array_push($this->footnotes, $tag); + } + $out .= '[' . $link_id . ']'; + + $this->out($out, true); + } + + /** + * handle <code> tags + * + * @param void + * @return void + */ + protected function handleTag_code() + { + if ($this->hasParent('pre')) { + // ignore code blocks inside <pre> + + return; + } + if ($this->parser->isStartTag) { + $this->buffer(); + } else { + $buffer = $this->unbuffer(); + // use as many backticks as needed + preg_match_all('#`+#', $buffer, $matches); + if (!empty($matches[0])) { + rsort($matches[0]); + + $ticks = '`'; + while (true) { + if (!in_array($ticks, $matches[0])) { + break; + } + $ticks .= '`'; + } + } else { + $ticks = '`'; + } + if ($buffer[0] == '`' || substr($buffer, -1) == '`') { + $buffer = ' ' . $buffer . ' '; + } + $this->out($ticks . $buffer . $ticks, true); + } + } + + /** + * handle <pre> tags + * + * @param void + * @return void + */ + protected function handleTag_pre() + { + if ($this->keepHTML && $this->parser->isStartTag) { + // check if a simple <code> follows + if (!preg_match('#^\s*<code\s*>#Us', $this->parser->html)) { + // this is no standard markdown code block + $this->handleTagToText(); + + return; + } + } + $this->indent(' '); + if (!$this->parser->isStartTag) { + $this->setLineBreaks(2); + } else { + $this->parser->html = ltrim($this->parser->html); + } + } + + /** + * handle <blockquote> tags + * + * @param void + * @return void + */ + protected function handleTag_blockquote() + { + $this->indent('> '); + } + + /** + * handle <ul> tags + * + * @param void + * @return void + */ + protected function handleTag_ul() + { + if ($this->parser->isStartTag) { + $this->stack(); + if (!$this->keepHTML && $this->lastClosedTag == $this->parser->tagName) { + $this->out("\n" . $this->indent . '<!-- -->' . "\n" . $this->indent . "\n" . $this->indent); + } + } else { + $this->unstack(); + if ($this->parent() != 'li' || preg_match('#^\s*(</li\s*>\s*<li\s*>\s*)?<(p|blockquote)\s*>#sU', $this->parser->html)) { + // dont make Markdown add unneeded paragraphs + $this->setLineBreaks(2); + } + } + } + + /** + * handle <ul> tags + * + * @param void + * @return void + */ + protected function handleTag_ol() + { + // same as above + $this->parser->tagAttributes['num'] = 0; + $this->handleTag_ul(); + } + + /** + * handle <li> tags + * + * @param void + * @return void + */ + protected function handleTag_li() + { + if ($this->parent() == 'ol') { + $parent =& $this->getStacked('ol'); + if ($this->parser->isStartTag) { + $parent['num']++; + $this->out(str_repeat(' ', 3 - strlen($parent['num'])) . $parent['num'] . '. ', true); + } + } else { + if ($this->parser->isStartTag) { + $this->out(' * ', true); + } + } + $this->indent(' ', false); + if (!$this->parser->isStartTag) { + $this->setLineBreaks(1); + } + } + + /** + * handle <hr /> tags + * + * @param void + * @return void + */ + protected function handleTag_hr() + { + if (!$this->parser->isStartTag) { + return; // just to be sure this really is an empty tag + } + $this->out('* * *', true); + $this->setLineBreaks(2); + } + + /** + * handle <br /> tags + * + * @param void + * @return void + */ + protected function handleTag_br() + { + $this->out(" \n" . $this->indent, true); + $this->parser->html = ltrim($this->parser->html); + } + + /** + * add current node to the stack + * this only stores the attributes + * + * @param void + * @return void + */ + protected function stack() + { + if (!isset($this->stack[$this->parser->tagName])) { + $this->stack[$this->parser->tagName] = array(); + } + array_push($this->stack[$this->parser->tagName], $this->parser->tagAttributes); + } + + /** + * remove current tag from stack + * + * @param void + * @return array + */ + protected function unstack() + { + if (!isset($this->stack[$this->parser->tagName]) || !is_array($this->stack[$this->parser->tagName])) { + trigger_error('Trying to unstack from empty stack. This must not happen.', E_USER_ERROR); + } + + return array_pop($this->stack[$this->parser->tagName]); + } + + /** + * get last stacked element of type $tagName + * + * @param string $tagName + * @return array + */ + protected function &getStacked($tagName) + { + // no end() so it can be referenced + return $this->stack[$tagName][count($this->stack[$tagName]) - 1]; + } + + /** + * set number of line breaks before next start tag + * + * @param int $number + * @return void + */ + protected function setLineBreaks($number) + { + if ($this->lineBreaks < $number) { + $this->lineBreaks = $number; + } + } + + /** + * buffer next parser output until unbuffer() is called + * + * @param void + * @return void + */ + protected function buffer() + { + array_push($this->buffer, ''); + } + + /** + * end current buffer and return buffered output + * + * @param void + * @return string + */ + protected function unbuffer() + { + return array_pop($this->buffer); + } + + /** + * append string to the correct var, either + * directly to $this->output or to the current + * buffers + * + * @param string $put + * @param boolean $nowrap + * @return void + */ + protected function out($put, $nowrap = false) + { + if (empty($put)) { + return; + } + if (!empty($this->buffer)) { + $this->buffer[count($this->buffer) - 1] .= $put; + } else { + if ($this->bodyWidth && !$this->parser->keepWhitespace) { // wrap lines + // get last line + $pos = strrpos($this->output, "\n"); + if ($pos === false) { + $line = $this->output; + } else { + $line = substr($this->output, $pos); + } + + if ($nowrap) { + if ($put[0] != "\n" && $this->strlen($line) + $this->strlen($put) > $this->bodyWidth) { + $this->output .= "\n" . $this->indent . $put; + } else { + $this->output .= $put; + } + + return; + } else { + $put .= "\n"; // make sure we get all lines in the while below + $lineLen = $this->strlen($line); + while ($pos = strpos($put, "\n")) { + $putLine = substr($put, 0, $pos + 1); + $put = substr($put, $pos + 1); + $putLen = $this->strlen($putLine); + if ($lineLen + $putLen < $this->bodyWidth) { + $this->output .= $putLine; + $lineLen = $putLen; + } else { + $split = preg_split('#^(.{0,' . ($this->bodyWidth - $lineLen) . '})\b#', $putLine, 2, PREG_SPLIT_OFFSET_CAPTURE | PREG_SPLIT_DELIM_CAPTURE); + $this->output .= rtrim($split[1][0]) . "\n" . $this->indent . $this->wordwrap(ltrim($split[2][0]), $this->bodyWidth, "\n" . $this->indent, false); + } + } + $this->output = substr($this->output, 0, -1); + + return; + } + } else { + $this->output .= $put; + } + } + } + + /** + * indent next output (start tag) or unindent (end tag) + * + * @param string $str indentation + * @param bool $output add indendation to output + * @return void + */ + protected function indent($str, $output = true) + { + if ($this->parser->isStartTag) { + $this->indent .= $str; + if ($output) { + $this->out($str, true); + } + } else { + $this->indent = substr($this->indent, 0, -strlen($str)); + } + } + + /** + * decode email addresses + * + * @author derernst@gmx.ch <http://www.php.net/manual/en/function.html-entity-decode.php#68536> + * @author Milian Wolff <http://milianw.de> + */ + protected function decode($text, $quote_style = ENT_QUOTES) + { + return htmlspecialchars_decode($text, $quote_style); + } + + /** + * callback for decode() which converts a hexadecimal entity to UTF-8 + * + * @param array $matches + * @return string UTF-8 encoded + */ + protected function _decode_hex($matches) + { + return $this->unichr(hexdec($matches[1])); + } + + /** + * callback for decode() which converts a numerical entity to UTF-8 + * + * @param array $matches + * @return string UTF-8 encoded + */ + protected function _decode_numeric($matches) + { + return $this->unichr($matches[1]); + } + + /** + * UTF-8 chr() which supports numeric entities + * + * @author grey - greywyvern - com <http://www.php.net/manual/en/function.chr.php#55978> + * @param array $matches + * @return string UTF-8 encoded + */ + protected function unichr($dec) + { + if ($dec < 128) { + $utf = chr($dec); + } elseif ($dec < 2048) { + $utf = chr(192 + (($dec - ($dec % 64)) / 64)); + $utf .= chr(128 + ($dec % 64)); + } else { + $utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); + $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); + $utf .= chr(128 + ($dec % 64)); + } + + return $utf; + } + + /** + * UTF-8 strlen() + * + * @param string $str + * @return int + * + * @author dtorop 932 at hotmail dot com <http://www.php.net/manual/en/function.strlen.php#37975> + * @author Milian Wolff <http://milianw.de> + */ + protected function strlen($str) + { + if (function_exists('mb_strlen')) { + return mb_strlen($str, 'UTF-8'); + } else { + return preg_match_all('/[\x00-\x7F\xC0-\xFD]/', $str, $var_empty); + } + } + + /** + * wordwrap for utf8 encoded strings + * + * @param string $str + * @param integer $len + * @param string $what + * @return string + */ + protected function wordwrap($str, $width, $break, $cut = false) + { + if (!$cut) { + $regexp = '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){1,' . $width . '}\b#'; + } else { + $regexp = '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){' . $width . '}#'; + } + $return = ''; + while (preg_match($regexp, $str, $matches)) { + $string = $matches[0]; + $str = ltrim(substr($str, strlen($string))); + if (!$cut && isset($str[0]) && in_array($str[0], array('.', '!', ';', ':', '?', ','))) { + $string .= $str[0]; + $str = ltrim(substr($str, 1)); + } + $return .= $string . $break; + } + + return $return . ltrim($str); + } + + /** + * check if current node has a $tagName as parent (somewhere, not only the direct parent) + * + * @param string $tagName + * @return bool + */ + protected function hasParent($tagName) + { + return in_array($tagName, $this->parser->openTags); + } + + /** + * get tagName of direct parent tag + * + * @param void + * @return string $tagName + */ + protected function parent() + { + return end($this->parser->openTags); + } + + /** + * Trims whitespace in block-level elements, on the left side. + */ + protected function fixBlockElementSpacing() + { + if ($this->parser->isStartTag) { + $this->parser->html = ltrim($this->parser->html); + } + } + + /** + * Moves leading/trailing whitespace from inline elements outside of the + * element. This is to fix cases like `<strong> Text</strong>`, which if + * converted to `** strong**` would be incorrect Markdown. + * + * Examples: + * + * * leading: `<strong> Text</strong>` becomes ` <strong>Text</strong>` + * * trailing: `<strong>Text </strong>` becomes `<strong>Text</strong> ` + */ + protected function fixInlineElementSpacing() + { + if ($this->parser->isStartTag) { + // move spaces after the start element to before the element + if (preg_match('~^(\s+)~', $this->parser->html, $matches)) { + $this->out($matches[1]); + $this->parser->html = ltrim($this->parser->html, " \t\0\x0B"); + } + } else { + if (!empty($this->buffer)) { + $str =& $this->buffer[count($this->buffer) - 1]; + } else { + $str =& $this->output; + } + + // move spaces before the end element to after the element + if (preg_match('~(\s+)$~', $str, $matches)) { + $str = rtrim($str, " \t\0\x0B"); + $this->parser->html = $matches[1] . $this->parser->html; + } + } + } + + /** + * Resetting the state forces the instance to behave as a fresh instance. + * Ideal for running within a loop where you want to maintain a single instance. + */ + protected function resetState() + { + $this->notConverted = array(); + $this->skipConversion = false; + $this->buffer = array(); + $this->indent = ''; + $this->stack = array(); + $this->lineBreaks = 0; + $this->lastClosedTag = ''; + $this->lastWasBlockTag = false; + $this->footnotes = array(); + } +} diff --git a/vendor/pixel418/markdownify/src/ConverterExtra.php b/vendor/pixel418/markdownify/src/ConverterExtra.php new file mode 100644 index 000000000..733955448 --- /dev/null +++ b/vendor/pixel418/markdownify/src/ConverterExtra.php @@ -0,0 +1,573 @@ +<?php + +/* This file is part of the Markdownify project, which is under LGPL license */ + +namespace Markdownify; + +class ConverterExtra extends Converter +{ + + /** + * table data, including rows with content and the maximum width of each col + * + * @var array + */ + protected $table = array(); + + /** + * current col + * + * @var int + */ + protected $col = -1; + + /** + * current row + * + * @var int + */ + protected $row = 0; + + /** + * constructor, see Markdownify::Markdownify() for more information + */ + public function __construct($linksAfterEachParagraph = self::LINK_AFTER_CONTENT, $bodyWidth = MDFY_BODYWIDTH, $keepHTML = MDFY_KEEPHTML) + { + parent::__construct($linksAfterEachParagraph, $bodyWidth, $keepHTML); + + // new markdownable tags & attributes + // header ids: # foo {bar} + $this->isMarkdownable['h1']['id'] = 'optional'; + $this->isMarkdownable['h1']['class'] = 'optional'; + $this->isMarkdownable['h2']['id'] = 'optional'; + $this->isMarkdownable['h2']['class'] = 'optional'; + $this->isMarkdownable['h3']['id'] = 'optional'; + $this->isMarkdownable['h3']['class'] = 'optional'; + $this->isMarkdownable['h4']['id'] = 'optional'; + $this->isMarkdownable['h4']['class'] = 'optional'; + $this->isMarkdownable['h5']['id'] = 'optional'; + $this->isMarkdownable['h5']['class'] = 'optional'; + $this->isMarkdownable['h6']['id'] = 'optional'; + $this->isMarkdownable['h6']['class'] = 'optional'; + // tables + $this->isMarkdownable['table'] = array(); + $this->isMarkdownable['th'] = array( + 'align' => 'optional', + ); + $this->isMarkdownable['td'] = array( + 'align' => 'optional', + ); + $this->isMarkdownable['tr'] = array(); + array_push($this->ignore, 'thead'); + array_push($this->ignore, 'tbody'); + array_push($this->ignore, 'tfoot'); + // definition lists + $this->isMarkdownable['dl'] = array(); + $this->isMarkdownable['dd'] = array(); + $this->isMarkdownable['dt'] = array(); + // link class + $this->isMarkdownable['a']['id'] = 'optional'; + $this->isMarkdownable['a']['class'] = 'optional'; + // footnotes + $this->isMarkdownable['fnref'] = array( + 'target' => 'required', + ); + $this->isMarkdownable['footnotes'] = array(); + $this->isMarkdownable['fn'] = array( + 'name' => 'required', + ); + $this->parser->blockElements['fnref'] = false; + $this->parser->blockElements['fn'] = true; + $this->parser->blockElements['footnotes'] = true; + // abbr + $this->isMarkdownable['abbr'] = array( + 'title' => 'required', + ); + // build RegEx lookahead to decide wether table can pe parsed or not + $inlineTags = array_keys($this->parser->blockElements, false); + $colContents = '(?:[^<]|<(?:' . implode('|', $inlineTags) . '|[^a-z]))*'; + $this->tableLookaheadHeader = '{ + ^\s*(?:<thead\s*>)?\s* # open optional thead + <tr\s*>\s*(?: # start required row with headers + <th(?:\s+align=("|\')(?:left|center|right)\1)?\s*> # header with optional align + \s*' . $colContents . '\s* # contents + </th>\s* # close header + )+</tr> # close row with headers + \s*(?:</thead>)? # close optional thead + }sxi'; + $this->tdSubstitute = '\s*' . $colContents . '\s* # contents + </td>\s*'; + $this->tableLookaheadBody = '{ + \s*(?:<tbody\s*>)?\s* # open optional tbody + (?:<tr\s*>\s* # start row + %s # cols to be substituted + </tr>)+ # close row + \s*(?:</tbody>)? # close optional tbody + \s*</table> # close table + }sxi'; + } + + /** + * handle header tags (<h1> - <h6>) + * + * @param int $level 1-6 + * @return void + */ + protected function handleHeader($level) + { + if ($this->parser->isStartTag) { + $this->parser->tagAttributes['cssSelector'] = $this->getCurrentCssSelector(); + $this->stack(); + } else { + $tag = $this->unstack(); + if (!empty($tag['cssSelector'])) { + // {#id.class} + $this->out(' {' . $tag['cssSelector'] . '}'); + } + } + parent::handleHeader($level); + } + + /** + * handle <a> tags parsing + * + * @param void + * @return void + */ + protected function handleTag_a_parser() + { + parent::handleTag_a_parser(); + $this->parser->tagAttributes['cssSelector'] = $this->getCurrentCssSelector(); + } + + /** + * handle <a> tags conversion + * + * @param array $tag + * @param string $buffer + * @return string The markdownified link + */ + protected function handleTag_a_converter($tag, $buffer) + { + $output = parent::handleTag_a_converter($tag, $buffer); + if (!empty($tag['cssSelector'])) { + // [This link][id]{#id.class} + $output .= '{' . $tag['cssSelector'] . '}'; + } + + return $output; + } + + /** + * handle <abbr> tags + * + * @param void + * @return void + */ + protected function handleTag_abbr() + { + if ($this->parser->isStartTag) { + $this->stack(); + $this->buffer(); + } else { + $tag = $this->unstack(); + $tag['text'] = $this->unbuffer(); + $add = true; + foreach ($this->stack['abbr'] as $stacked) { + if ($stacked['text'] == $tag['text']) { + /** TODO: differing abbr definitions, i.e. different titles for same text **/ + $add = false; + break; + } + } + $this->out($tag['text']); + if ($add) { + array_push($this->stack['abbr'], $tag); + } + } + } + + /** + * flush stacked abbr tags + * + * @param void + * @return void + */ + protected function flushStacked_abbr() + { + $out = array(); + foreach ($this->stack['abbr'] as $k => $tag) { + if (!isset($tag['unstacked'])) { + array_push($out, ' *[' . $tag['text'] . ']: ' . $tag['title']); + $tag['unstacked'] = true; + $this->stack['abbr'][$k] = $tag; + } + } + if (!empty($out)) { + $this->out("\n\n" . implode("\n", $out)); + } + } + + /** + * handle <table> tags + * + * @param void + * @return void + */ + protected function handleTag_table() + { + if ($this->parser->isStartTag) { + // check if upcoming table can be converted + if ($this->keepHTML) { + if (preg_match($this->tableLookaheadHeader, $this->parser->html, $matches)) { + // header seems good, now check body + // get align & number of cols + preg_match_all('#<th(?:\s+align=("|\')(left|right|center)\1)?\s*>#si', $matches[0], $cols); + $regEx = ''; + $i = 1; + $aligns = array(); + foreach ($cols[2] as $align) { + $align = strtolower($align); + array_push($aligns, $align); + if (empty($align)) { + $align = 'left'; // default value + } + $td = '\s+align=("|\')' . $align . '\\' . $i; + $i++; + if ($align == 'left') { + // look for empty align or left + $td = '(?:' . $td . ')?'; + } + $td = '<td' . $td . '\s*>'; + $regEx .= $td . $this->tdSubstitute; + } + $regEx = sprintf($this->tableLookaheadBody, $regEx); + if (preg_match($regEx, $this->parser->html, $matches, null, strlen($matches[0]))) { + // this is a markdownable table tag! + $this->table = array( + 'rows' => array(), + 'col_widths' => array(), + 'aligns' => $aligns, + ); + $this->row = 0; + } else { + // non markdownable table + $this->handleTagToText(); + } + } else { + // non markdownable table + $this->handleTagToText(); + } + } else { + $this->table = array( + 'rows' => array(), + 'col_widths' => array(), + 'aligns' => array(), + ); + $this->row = 0; + } + } else { + // finally build the table in Markdown Extra syntax + $separator = array(); + if (!isset($this->table['aligns'])) { + $this->table['aligns'] = array(); + } + // seperator with correct align identifiers + foreach ($this->table['aligns'] as $col => $align) { + if (!$this->keepHTML && !isset($this->table['col_widths'][$col])) { + break; + } + $left = ' '; + $right = ' '; + switch ($align) { + case 'left': + $left = ':'; + break; + case 'center': + $right = ':'; + $left = ':'; + case 'right': + $right = ':'; + break; + } + array_push($separator, $left . str_repeat('-', $this->table['col_widths'][$col]) . $right); + } + $separator = '|' . implode('|', $separator) . '|'; + + $rows = array(); + // add padding + array_walk_recursive($this->table['rows'], array(&$this, 'alignTdContent')); + $header = array_shift($this->table['rows']); + array_push($rows, '| ' . implode(' | ', $header) . ' |'); + array_push($rows, $separator); + foreach ($this->table['rows'] as $row) { + array_push($rows, '| ' . implode(' | ', $row) . ' |'); + } + $this->out(implode("\n" . $this->indent, $rows)); + $this->table = array(); + $this->setLineBreaks(2); + } + } + + /** + * properly pad content so it is aligned as whished + * should be used with array_walk_recursive on $this->table['rows'] + * + * @param string &$content + * @param int $col + * @return void + */ + protected function alignTdContent(&$content, $col) + { + if (!isset($this->table['aligns'][$col])) { + $this->table['aligns'][$col] = 'left'; + } + switch ($this->table['aligns'][$col]) { + default: + case 'left': + $content .= str_repeat(' ', $this->table['col_widths'][$col] - $this->strlen($content)); + break; + case 'right': + $content = str_repeat(' ', $this->table['col_widths'][$col] - $this->strlen($content)) . $content; + break; + case 'center': + $paddingNeeded = $this->table['col_widths'][$col] - $this->strlen($content); + $left = floor($paddingNeeded / 2); + $right = $paddingNeeded - $left; + $content = str_repeat(' ', $left) . $content . str_repeat(' ', $right); + break; + } + } + + /** + * handle <tr> tags + * + * @param void + * @return void + */ + protected function handleTag_tr() + { + if ($this->parser->isStartTag) { + $this->col = -1; + } else { + $this->row++; + } + } + + /** + * handle <td> tags + * + * @param void + * @return void + */ + protected function handleTag_td() + { + if ($this->parser->isStartTag) { + $this->col++; + if (!isset($this->table['col_widths'][$this->col])) { + $this->table['col_widths'][$this->col] = 0; + } + $this->buffer(); + } else { + $buffer = trim($this->unbuffer()); + if (!isset($this->table['col_widths'][$this->col])) { + $this->table['col_widths'][$this->col] = 0; + } + $this->table['col_widths'][$this->col] = max($this->table['col_widths'][$this->col], $this->strlen($buffer)); + $this->table['rows'][$this->row][$this->col] = $buffer; + } + } + + /** + * handle <th> tags + * + * @param void + * @return void + */ + protected function handleTag_th() + { + if (!$this->keepHTML && !isset($this->table['rows'][1]) && !isset($this->table['aligns'][$this->col + 1])) { + if (isset($this->parser->tagAttributes['align'])) { + $this->table['aligns'][$this->col + 1] = $this->parser->tagAttributes['align']; + } else { + $this->table['aligns'][$this->col + 1] = ''; + } + } + $this->handleTag_td(); + } + + /** + * handle <dl> tags + * + * @param void + * @return void + */ + protected function handleTag_dl() + { + if (!$this->parser->isStartTag) { + $this->setLineBreaks(2); + } + } + + /** + * handle <dt> tags + * + * @param void + * @return void + **/ + protected function handleTag_dt() + { + if (!$this->parser->isStartTag) { + $this->setLineBreaks(1); + } + } + + /** + * handle <dd> tags + * + * @param void + * @return void + */ + protected function handleTag_dd() + { + if ($this->parser->isStartTag) { + if (substr(ltrim($this->parser->html), 0, 3) == '<p>') { + // next comes a paragraph, so we'll need an extra line + $this->out("\n" . $this->indent); + } elseif (substr($this->output, -2) == "\n\n") { + $this->output = substr($this->output, 0, -1); + } + $this->out(': '); + $this->indent(' ', false); + } else { + // lookahead for next dt + if (substr(ltrim($this->parser->html), 0, 4) == '<dt>') { + $this->setLineBreaks(2); + } else { + $this->setLineBreaks(1); + } + $this->indent(' '); + } + } + + /** + * handle <fnref /> tags (custom footnote references, see markdownify_extra::parseString()) + * + * @param void + * @return void + */ + protected function handleTag_fnref() + { + $this->out('[^' . $this->parser->tagAttributes['target'] . ']'); + } + + /** + * handle <fn> tags (custom footnotes, see markdownify_extra::parseString() + * and markdownify_extra::_makeFootnotes()) + * + * @param void + * @return void + */ + protected function handleTag_fn() + { + if ($this->parser->isStartTag) { + $this->out('[^' . $this->parser->tagAttributes['name'] . ']:'); + $this->setLineBreaks(1); + } else { + $this->setLineBreaks(2); + } + $this->indent(' '); + } + + /** + * handle <footnotes> tag (custom footnotes, see markdownify_extra::parseString() + * and markdownify_extra::_makeFootnotes()) + * + * @param void + * @return void + */ + protected function handleTag_footnotes() + { + if (!$this->parser->isStartTag) { + $this->setLineBreaks(2); + } + } + + /** + * parse a HTML string, clean up footnotes prior + * + * @param string $HTML input + * @return string Markdown formatted output + */ + public function parseString($html) + { + /** TODO: custom markdown-extra options, e.g. titles & classes **/ + // <sup id="fnref:..."><a href"#fn..." rel="footnote">...</a></sup> + // => <fnref target="..." /> + $html = preg_replace('@<sup id="fnref:([^"]+)">\s*<a href="#fn:\1" rel="footnote">\s*\d+\s*</a>\s*</sup>@Us', '<fnref target="$1" />', $html); + // <div class="footnotes"> + // <hr /> + // <ol> + // + // <li id="fn:...">...</li> + // ... + // + // </ol> + // </div> + // => + // <footnotes> + // <fn name="...">...</fn> + // ... + // </footnotes> + $html = preg_replace_callback('#<div class="footnotes">\s*<hr />\s*<ol>\s*(.+)\s*</ol>\s*</div>#Us', array(&$this, '_makeFootnotes'), $html); + + return parent::parseString($html); + } + + /** + * replace HTML representation of footnotes with something more easily parsable + * + * @note this is a callback to be used in parseString() + * + * @param array $matches + * @return string + */ + protected function _makeFootnotes($matches) + { + // <li id="fn:1"> + // ... + // <a href="#fnref:block" rev="footnote">↩</a></p> + // </li> + // => <fn name="1">...</fn> + // remove footnote link + $fns = preg_replace('@\s*( \s*)?<a href="#fnref:[^"]+" rev="footnote"[^>]*>↩</a>\s*@s', '', $matches[1]); + // remove empty paragraph + $fns = preg_replace('@<p>\s*</p>@s', '', $fns); + // <li id="fn:1">...</li> -> <footnote nr="1">...</footnote> + $fns = str_replace('<li id="fn:', '<fn name="', $fns); + + $fns = '<footnotes>' . $fns . '</footnotes>'; + + return preg_replace('#</li>\s*(?=(?:<fn|</footnotes>))#s', '</fn>$1', $fns); + } + + /** + * handle <a> tags parsing + * + * @param void + * @return void + */ + protected function getCurrentCssSelector() + { + $cssSelector = ''; + if (isset($this->parser->tagAttributes['id'])) { + $cssSelector .= '#' . $this->decode($this->parser->tagAttributes['id']); + } + if (isset($this->parser->tagAttributes['class'])) { + $classes = explode(' ', $this->decode($this->parser->tagAttributes['class'])); + $classes = array_filter($classes); + $cssSelector .= '.' . join('.', $classes); + } + return $cssSelector; + } +} diff --git a/vendor/pixel418/markdownify/src/Parser.php b/vendor/pixel418/markdownify/src/Parser.php new file mode 100644 index 000000000..90fcdf9f8 --- /dev/null +++ b/vendor/pixel418/markdownify/src/Parser.php @@ -0,0 +1,564 @@ +<?php + +/* This file is part of the Markdownify project, which is under LGPL license */ + +namespace Markdownify; + +class Parser +{ + public static $skipWhitespace = true; + public static $a_ord; + public static $z_ord; + public static $special_ords; + + /** + * tags which are always empty (<br /> etc.) + * + * @var array<string> + */ + public $emptyTags = array( + 'br', + 'hr', + 'input', + 'img', + 'area', + 'link', + 'meta', + 'param', + ); + + /** + * tags with preformatted text + * whitespaces wont be touched in them + * + * @var array<string> + */ + public $preformattedTags = array( + 'script', + 'style', + 'pre', + 'code', + ); + + /** + * supress HTML tags inside preformatted tags (see above) + * + * @var bool + */ + public $noTagsInCode = false; + + /** + * html to be parsed + * + * @var string + */ + public $html = ''; + + /** + * node type: + * + * - tag (see isStartTag) + * - text (includes cdata) + * - comment + * - doctype + * - pi (processing instruction) + * + * @var string + */ + public $nodeType = ''; + + /** + * current node content, i.e. either a + * simple string (text node), or something like + * <tag attrib="value"...> + * + * @var string + */ + public $node = ''; + + /** + * wether current node is an opening tag (<a>) or not (</a>) + * set to NULL if current node is not a tag + * NOTE: empty tags (<br />) set this to true as well! + * + * @var bool | null + */ + public $isStartTag = null; + + /** + * wether current node is an empty tag (<br />) or not (<a></a>) + * + * @var bool | null + */ + public $isEmptyTag = null; + + /** + * tag name + * + * @var string | null + */ + public $tagName = ''; + + /** + * attributes of current tag + * + * @var array (attribName=>value) | null + */ + public $tagAttributes = null; + + /** + * whether or not the actual context is a inline context + * + * @var bool | null + */ + public $isInlineContext = null; + + /** + * whether the current tag is a block element + * + * @var bool | null + */ + public $isBlockElement = null; + + /** + * whether the previous tag (browser) is a block element + * + * @var bool | null + */ + public $isNextToInlineContext = null; + + /** + * keep whitespace + * + * @var int + */ + public $keepWhitespace = 0; + + /** + * list of open tags + * count this to get current depth + * + * @var array + */ + public $openTags = array(); + + /** + * list of block elements + * + * @var array + * TODO: what shall we do with <del> and <ins> ?! + */ + public $blockElements = array( + // tag name => <bool> is block + // block elements + 'address' => true, + 'blockquote' => true, + 'center' => true, + 'del' => true, + 'dir' => true, + 'div' => true, + 'dl' => true, + 'fieldset' => true, + 'form' => true, + 'h1' => true, + 'h2' => true, + 'h3' => true, + 'h4' => true, + 'h5' => true, + 'h6' => true, + 'hr' => true, + 'ins' => true, + 'isindex' => true, + 'menu' => true, + 'noframes' => true, + 'noscript' => true, + 'ol' => true, + 'p' => true, + 'pre' => true, + 'table' => true, + 'ul' => true, + // set table elements and list items to block as well + 'thead' => true, + 'tbody' => true, + 'tfoot' => true, + 'td' => true, + 'tr' => true, + 'th' => true, + 'li' => true, + 'dd' => true, + 'dt' => true, + // header items and html / body as well + 'html' => true, + 'body' => true, + 'head' => true, + 'meta' => true, + 'link' => true, + 'style' => true, + 'title' => true, + // unfancy media tags, when indented should be rendered as block + 'map' => true, + 'object' => true, + 'param' => true, + 'embed' => true, + 'area' => true, + // inline elements + 'a' => false, + 'abbr' => false, + 'acronym' => false, + 'applet' => false, + 'b' => false, + 'basefont' => false, + 'bdo' => false, + 'big' => false, + 'br' => false, + 'button' => false, + 'cite' => false, + 'code' => false, + 'del' => false, + 'dfn' => false, + 'em' => false, + 'font' => false, + 'i' => false, + 'img' => false, + 'ins' => false, + 'input' => false, + 'iframe' => false, + 'kbd' => false, + 'label' => false, + 'q' => false, + 'samp' => false, + 'script' => false, + 'select' => false, + 'small' => false, + 'span' => false, + 'strong' => false, + 'sub' => false, + 'sup' => false, + 'textarea' => false, + 'tt' => false, + 'var' => false, + ); + + /** + * get next node, set $this->html prior! + * + * @param void + * @return bool + */ + public function nextNode() + { + if (empty($this->html)) { + // we are done with parsing the html string + + return false; + } + + if ($this->isStartTag && !$this->isEmptyTag) { + array_push($this->openTags, $this->tagName); + if (in_array($this->tagName, $this->preformattedTags)) { + // dont truncate whitespaces for <code> or <pre> contents + $this->keepWhitespace++; + } + } + + if ($this->html[0] == '<') { + $token = substr($this->html, 0, 9); + if (substr($token, 0, 2) == '<?') { + // xml prolog or other pi's + /** TODO **/ + // trigger_error('this might need some work', E_USER_NOTICE); + $pos = strpos($this->html, '>'); + $this->setNode('pi', $pos + 1); + + return true; + } + if (substr($token, 0, 4) == '<!--') { + // comment + $pos = strpos($this->html, '-->'); + if ($pos === false) { + // could not find a closing -->, use next gt instead + // this is firefox' behaviour + $pos = strpos($this->html, '>') + 1; + } else { + $pos += 3; + } + $this->setNode('comment', $pos); + + static::$skipWhitespace = true; + + return true; + } + if ($token == '<!DOCTYPE') { + // doctype + $this->setNode('doctype', strpos($this->html, '>') + 1); + + static::$skipWhitespace = true; + + return true; + } + if ($token == '<![CDATA[') { + // cdata, use text node + + // remove leading <![CDATA[ + $this->html = substr($this->html, 9); + + $this->setNode('text', strpos($this->html, ']]>') + 3); + + // remove trailing ]]> and trim + $this->node = substr($this->node, 0, -3); + $this->handleWhitespaces(); + + static::$skipWhitespace = true; + + return true; + } + if ($this->parseTag()) { + // seems to be a tag + // handle whitespaces + if ($this->isBlockElement) { + static::$skipWhitespace = true; + } else { + static::$skipWhitespace = false; + } + + return true; + } + } + if ($this->keepWhitespace) { + static::$skipWhitespace = false; + } + // when we get here it seems to be a text node + $pos = strpos($this->html, '<'); + if ($pos === false) { + $pos = strlen($this->html); + } + $this->setNode('text', $pos); + $this->handleWhitespaces(); + if (static::$skipWhitespace && $this->node == ' ') { + return $this->nextNode(); + } + $this->isInlineContext = true; + static::$skipWhitespace = false; + + return true; + } + + /** + * parse tag, set tag name and attributes, see if it's a closing tag and so forth... + * + * @param void + * @return bool + */ + protected function parseTag() + { + if (!isset(static::$a_ord)) { + static::$a_ord = ord('a'); + static::$z_ord = ord('z'); + static::$special_ords = array( + ord(':'), // for xml:lang + ord('-'), // for http-equiv + ); + } + + $tagName = ''; + + $pos = 1; + $isStartTag = $this->html[$pos] != '/'; + if (!$isStartTag) { + $pos++; + } + // get tagName + while (isset($this->html[$pos])) { + $pos_ord = ord(strtolower($this->html[$pos])); + if (($pos_ord >= static::$a_ord && $pos_ord <= static::$z_ord) || (!empty($tagName) && is_numeric($this->html[$pos]))) { + $tagName .= $this->html[$pos]; + $pos++; + } else { + $pos--; + break; + } + } + + $tagName = strtolower($tagName); + if (empty($tagName) || !isset($this->blockElements[$tagName])) { + // something went wrong => invalid tag + $this->invalidTag(); + + return false; + } + if ($this->noTagsInCode && end($this->openTags) == 'code' && !($tagName == 'code' && !$isStartTag)) { + // we supress all HTML tags inside code tags + $this->invalidTag(); + + return false; + } + + // get tag attributes + /** TODO: in html 4 attributes do not need to be quoted **/ + $isEmptyTag = false; + $attributes = array(); + $currAttrib = ''; + while (isset($this->html[$pos + 1])) { + $pos++; + // close tag + if ($this->html[$pos] == '>' || $this->html[$pos] . $this->html[$pos + 1] == '/>') { + if ($this->html[$pos] == '/') { + $isEmptyTag = true; + $pos++; + } + break; + } + + $pos_ord = ord(strtolower($this->html[$pos])); + if (($pos_ord >= static::$a_ord && $pos_ord <= static::$z_ord) || in_array($pos_ord, static::$special_ords)) { + // attribute name + $currAttrib .= $this->html[$pos]; + } elseif (in_array($this->html[$pos], array(' ', "\t", "\n"))) { + // drop whitespace + } elseif (in_array($this->html[$pos] . $this->html[$pos + 1], array('="', "='"))) { + // get attribute value + $pos++; + $await = $this->html[$pos]; // single or double quote + $pos++; + $value = ''; + while (isset($this->html[$pos]) && $this->html[$pos] != $await) { + $value .= $this->html[$pos]; + $pos++; + } + $attributes[$currAttrib] = $value; + $currAttrib = ''; + } else { + $this->invalidTag(); + + return false; + } + } + if ($this->html[$pos] != '>') { + $this->invalidTag(); + + return false; + } + + if (!empty($currAttrib)) { + // html 4 allows something like <option selected> instead of <option selected="selected"> + $attributes[$currAttrib] = $currAttrib; + } + if (!$isStartTag) { + if (!empty($attributes) || $tagName != end($this->openTags)) { + // end tags must not contain any attributes + // or maybe we did not expect a different tag to be closed + $this->invalidTag(); + + return false; + } + array_pop($this->openTags); + if (in_array($tagName, $this->preformattedTags)) { + $this->keepWhitespace--; + } + } + $pos++; + $this->node = substr($this->html, 0, $pos); + $this->html = substr($this->html, $pos); + $this->tagName = $tagName; + $this->tagAttributes = $attributes; + $this->isStartTag = $isStartTag; + $this->isEmptyTag = $isEmptyTag || in_array($tagName, $this->emptyTags); + if ($this->isEmptyTag) { + // might be not well formed + $this->node = preg_replace('# */? *>$#', ' />', $this->node); + } + $this->nodeType = 'tag'; + $this->isBlockElement = $this->blockElements[$tagName]; + $this->isNextToInlineContext = $isStartTag && $this->isInlineContext; + $this->isInlineContext = !$this->isBlockElement; + return true; + } + + /** + * handle invalid tags + * + * @param void + * @return void + */ + protected function invalidTag() + { + $this->html = substr_replace($this->html, '<', 0, 1); + } + + /** + * update all vars and make $this->html shorter + * + * @param string $type see description for $this->nodeType + * @param int $pos to which position shall we cut? + * @return void + */ + protected function setNode($type, $pos) + { + if ($this->nodeType == 'tag') { + // set tag specific vars to null + // $type == tag should not be called here + // see this::parseTag() for more + $this->tagName = null; + $this->tagAttributes = null; + $this->isStartTag = null; + $this->isEmptyTag = null; + $this->isBlockElement = null; + + } + $this->nodeType = $type; + $this->node = substr($this->html, 0, $pos); + $this->html = substr($this->html, $pos); + } + + /** + * check if $this->html begins with $str + * + * @param string $str + * @return bool + */ + protected function match($str) + { + return substr($this->html, 0, strlen($str)) == $str; + } + + /** + * truncate whitespaces + * + * @param void + * @return void + */ + protected function handleWhitespaces() + { + if ($this->keepWhitespace) { + // <pre> or <code> before... + + return; + } + // truncate multiple whitespaces to a single one + $this->node = preg_replace('#\s+#s', ' ', $this->node); + } + + /** + * normalize self::node + * + * @param void + * @return void + */ + protected function normalizeNode() + { + $this->node = '<'; + if (!$this->isStartTag) { + $this->node .= '/' . $this->tagName . '>'; + + return; + } + $this->node .= $this->tagName; + foreach ($this->tagAttributes as $name => $value) { + $this->node .= ' ' . $name . '="' . str_replace('"', '"', $value) . '"'; + } + if ($this->isEmptyTag) { + $this->node .= ' /'; + } + $this->node .= '>'; + } +} diff --git a/view/de/hmessages.po b/view/de/hmessages.po index fbdb33166..62f7fe602 100644 --- a/view/de/hmessages.po +++ b/view/de/hmessages.po @@ -8,13 +8,13 @@ # Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2013 # do.t <tobias@tonstrom.de>, 2014 # Einer von Vielen <tom@jfellow.net>, 2013 -# Ettore Atalan <atalanttore@googlemail.com>, 2015-2016 +# Ettore Atalan <atalanttore@googlemail.com>, 2015-2017 # Frank Dieckmann <frank@lumina-verte.org>, 2013 # Harald Klimach <harald@klimachs.de>, 2016 # JooBee <d13@raclan.de>, 2014 # Kai <kai@proppower.de>, 2015 # Oliver <post@toktan.org>, 2015-2016 -# Phellmes <forum@suschka.de>, 2014,2016 +# Phellmes <forum@suschka.de>, 2014,2016-2017 # sasiflo <transiflex@sasiflo.de>, 2014 # Steff <steff@digitalesecho.de>, 2015-2016 # Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2016 @@ -25,8 +25,8 @@ msgid "" msgstr "" "Project-Id-Version: Redmatrix\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-12-09 00:05-0800\n" -"PO-Revision-Date: 2016-12-10 12:27+0000\n" +"POT-Creation-Date: 2017-02-17 00:05-0800\n" +"PO-Revision-Date: 2017-02-22 13:47+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,90 +35,90 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../Zotlabs/Access/PermissionRoles.php:227 +#: ../../Zotlabs/Access/PermissionRoles.php:248 #: ../../include/permissions.php:945 msgid "Social Networking" msgstr "Soziales Netzwerk" -#: ../../Zotlabs/Access/PermissionRoles.php:228 +#: ../../Zotlabs/Access/PermissionRoles.php:249 #: ../../include/permissions.php:945 msgid "Social - Mostly Public" msgstr "Soziales Netzwerk - Weitgehend öffentlich" -#: ../../Zotlabs/Access/PermissionRoles.php:229 +#: ../../Zotlabs/Access/PermissionRoles.php:250 #: ../../include/permissions.php:945 msgid "Social - Restricted" msgstr "Soziales Netzwerk - Beschränkt" -#: ../../Zotlabs/Access/PermissionRoles.php:230 +#: ../../Zotlabs/Access/PermissionRoles.php:251 #: ../../include/permissions.php:945 msgid "Social - Private" msgstr "Soziales Netzwerk - Privat" -#: ../../Zotlabs/Access/PermissionRoles.php:233 +#: ../../Zotlabs/Access/PermissionRoles.php:254 #: ../../include/permissions.php:946 msgid "Community Forum" msgstr "Forum" -#: ../../Zotlabs/Access/PermissionRoles.php:234 +#: ../../Zotlabs/Access/PermissionRoles.php:255 #: ../../include/permissions.php:946 msgid "Forum - Mostly Public" msgstr "Forum - Weitgehend öffentlich" -#: ../../Zotlabs/Access/PermissionRoles.php:235 +#: ../../Zotlabs/Access/PermissionRoles.php:256 #: ../../include/permissions.php:946 msgid "Forum - Restricted" msgstr "Forum - Beschränkt" -#: ../../Zotlabs/Access/PermissionRoles.php:236 +#: ../../Zotlabs/Access/PermissionRoles.php:257 #: ../../include/permissions.php:946 msgid "Forum - Private" msgstr "Forum - Privat" -#: ../../Zotlabs/Access/PermissionRoles.php:239 +#: ../../Zotlabs/Access/PermissionRoles.php:260 #: ../../include/permissions.php:947 msgid "Feed Republish" msgstr "Teilen von Feeds" -#: ../../Zotlabs/Access/PermissionRoles.php:240 +#: ../../Zotlabs/Access/PermissionRoles.php:261 #: ../../include/permissions.php:947 msgid "Feed - Mostly Public" msgstr "Feeds - Weitgehend öffentlich" -#: ../../Zotlabs/Access/PermissionRoles.php:241 +#: ../../Zotlabs/Access/PermissionRoles.php:262 #: ../../include/permissions.php:947 msgid "Feed - Restricted" msgstr "Feeds - Beschränkt" -#: ../../Zotlabs/Access/PermissionRoles.php:244 +#: ../../Zotlabs/Access/PermissionRoles.php:265 #: ../../include/permissions.php:948 msgid "Special Purpose" msgstr "Für besondere Zwecke" -#: ../../Zotlabs/Access/PermissionRoles.php:245 +#: ../../Zotlabs/Access/PermissionRoles.php:266 #: ../../include/permissions.php:948 msgid "Special - Celebrity/Soapbox" msgstr "Speziell - Mitteilungs-Kanal (keine Kommentare)" -#: ../../Zotlabs/Access/PermissionRoles.php:246 +#: ../../Zotlabs/Access/PermissionRoles.php:267 #: ../../include/permissions.php:948 msgid "Special - Group Repository" msgstr "Speziell - Gruppenarchiv" -#: ../../Zotlabs/Access/PermissionRoles.php:249 -#: ../../Zotlabs/Module/Register.php:213 +#: ../../Zotlabs/Access/PermissionRoles.php:270 +#: ../../Zotlabs/Module/Register.php:213 ../../Zotlabs/Module/Connedit.php:879 #: ../../Zotlabs/Module/New_channel.php:132 -#: ../../Zotlabs/Module/Settings/Channel.php:445 -#: ../../extend/addon/addon/cdav/cdav.php:277 -#: ../../extend/addon/addon/cdav/cdav.php:284 +#: ../../Zotlabs/Module/Settings/Channel.php:463 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1148 -#: ../../include/selectors.php:49 ../../include/selectors.php:66 -#: ../../include/selectors.php:104 ../../include/selectors.php:140 -#: ../../include/permissions.php:949 +#: ../../extend/addon/addon/cdav/cdav.php:277 +#: ../../extend/addon/addon/cdav/cdav.php:284 ../../include/selectors.php:49 +#: ../../include/selectors.php:66 ../../include/selectors.php:104 +#: ../../include/selectors.php:140 ../../include/connections.php:901 +#: ../../include/connections.php:908 ../../include/permissions.php:949 msgid "Other" msgstr "Andere" -#: ../../Zotlabs/Access/PermissionRoles.php:250 +#: ../../Zotlabs/Access/PermissionRoles.php:271 #: ../../include/permissions.php:949 msgid "Custom/Expert Mode" msgstr "Benutzerdefiniert/Expertenmodus" @@ -152,38 +152,46 @@ msgid "Can view my channel webpages" msgstr "Kann die Webseiten meines Kanals sehen" #: ../../Zotlabs/Access/Permissions.php:53 +msgid "Can view my wiki pages" +msgstr "Kann meine Wiki-Seiten sehen" + +#: ../../Zotlabs/Access/Permissions.php:54 msgid "Can create/edit my channel webpages" msgstr "Kann Webseiten in meinem Kanal erstellen/ändern" -#: ../../Zotlabs/Access/Permissions.php:54 +#: ../../Zotlabs/Access/Permissions.php:55 +msgid "Can write to my wiki pages" +msgstr "Kann meine Wiki-Seiten bearbeiten" + +#: ../../Zotlabs/Access/Permissions.php:56 msgid "Can post on my channel (wall) page" msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen" -#: ../../Zotlabs/Access/Permissions.php:55 ../../include/permissions.php:44 +#: ../../Zotlabs/Access/Permissions.php:57 ../../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:56 ../../include/permissions.php:45 +#: ../../Zotlabs/Access/Permissions.php:58 ../../include/permissions.php:45 msgid "Can send me private mail messages" msgstr "Kann mir private Nachrichten schicken" -#: ../../Zotlabs/Access/Permissions.php:57 +#: ../../Zotlabs/Access/Permissions.php:59 msgid "Can like/dislike profiles and profile things" msgstr "Kann Profile und Profilsachen mögen/nicht mögen" -#: ../../Zotlabs/Access/Permissions.php:58 +#: ../../Zotlabs/Access/Permissions.php:60 msgid "Can forward to all my channel connections via @+ mentions in posts" msgstr "Kann an alle meine Verbindungen via @-Erwähnungen Nachrichten weiterleiten" -#: ../../Zotlabs/Access/Permissions.php:59 +#: ../../Zotlabs/Access/Permissions.php:61 msgid "Can chat with me" msgstr "Kann mit mir chatten" -#: ../../Zotlabs/Access/Permissions.php:60 ../../include/permissions.php:53 +#: ../../Zotlabs/Access/Permissions.php:62 ../../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" -#: ../../Zotlabs/Access/Permissions.php:61 +#: ../../Zotlabs/Access/Permissions.php:63 msgid "Can administer my channel" msgstr "Kann meinen Kanal administrieren" @@ -191,7 +199,7 @@ msgstr "Kann meinen Kanal administrieren" msgid "parent" msgstr "Ãœbergeordnetes Verzeichnis" -#: ../../Zotlabs/Storage/Browser.php:130 ../../include/text.php:2682 +#: ../../Zotlabs/Storage/Browser.php:130 ../../include/text.php:2695 msgid "Collection" msgstr "Sammlung" @@ -215,20 +223,19 @@ msgstr "Posteingang für überwachte Kalender" msgid "Schedule Outbox" msgstr "Postausgang für überwachte Kalender" -#: ../../Zotlabs/Storage/Browser.php:163 ../../Zotlabs/Module/Photos.php:789 -#: ../../Zotlabs/Module/Photos.php:1249 -#: ../../Zotlabs/Module/Embedphotos.php:145 ../../Zotlabs/Lib/Apps.php:490 -#: ../../Zotlabs/Lib/Apps.php:565 +#: ../../Zotlabs/Storage/Browser.php:163 ../../Zotlabs/Module/Photos.php:784 +#: ../../Zotlabs/Module/Photos.php:1244 +#: ../../Zotlabs/Module/Embedphotos.php:145 ../../Zotlabs/Lib/Apps.php:559 +#: ../../Zotlabs/Lib/Apps.php:637 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:745 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:746 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:753 -#: ../../include/widgets.php:1754 ../../include/conversation.php:1047 +#: ../../include/conversation.php:1177 ../../include/widgets.php:1714 msgid "Unknown" msgstr "Unbekannt" #: ../../Zotlabs/Storage/Browser.php:224 ../../Zotlabs/Module/Fbrowser.php:85 -#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:96 -#: ../../include/conversation.php:1699 +#: ../../Zotlabs/Lib/Apps.php:224 ../../include/conversation.php:1843 msgid "Files" msgstr "Dateien" @@ -241,44 +248,48 @@ msgid "Shared" msgstr "Geteilt" #: ../../Zotlabs/Storage/Browser.php:228 ../../Zotlabs/Storage/Browser.php:321 -#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:147 +#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/Connedit.php:882 +#: ../../Zotlabs/Module/New_channel.php:147 #: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184 -#: ../../Zotlabs/Module/Webpages.php:239 +#: ../../Zotlabs/Module/Webpages.php:243 #: ../../extend/addon/addon/cdav/include/widgets.php:127 #: ../../extend/addon/addon/cdav/include/widgets.php:164 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1151 -#: ../../include/widgets.php:969 msgid "Create" msgstr "Erstelle" #: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:323 +#: ../../Zotlabs/Module/Photos.php:811 ../../Zotlabs/Module/Photos.php:1368 #: ../../Zotlabs/Module/Cover_photo.php:357 -#: ../../Zotlabs/Module/Photos.php:816 ../../Zotlabs/Module/Photos.php:1370 -#: ../../Zotlabs/Module/Profile_photo.php:410 +#: ../../Zotlabs/Module/Profile_photo.php:412 #: ../../Zotlabs/Module/Embedphotos.php:157 #: ../../extend/addon/addon/cdav/include/widgets.php:132 #: ../../extend/addon/addon/cdav/include/widgets.php:168 -#: ../../include/widgets.php:1767 +#: ../../include/widgets.php:1727 msgid "Upload" msgstr "Hochladen" #: ../../Zotlabs/Storage/Browser.php:233 #: ../../Zotlabs/Module/Admin/Channels.php:159 -#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Wiki.php:151 +#: ../../Zotlabs/Module/Connedit.php:867 +#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Wiki.php:170 #: ../../Zotlabs/Module/Settings/Oauth.php:89 #: ../../Zotlabs/Module/Settings/Oauth.php:115 #: ../../Zotlabs/Module/Chat.php:250 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1136 -#: ../../extend/addon/addon/rendezvous/rendezvous.php:132 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:172 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:156 +#: ../../include/widgets.php:990 msgid "Name" msgstr "Name" -#: ../../Zotlabs/Storage/Browser.php:234 ../../Zotlabs/Module/Wiki.php:152 +#: ../../Zotlabs/Storage/Browser.php:234 ../../Zotlabs/Module/Wiki.php:171 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:157 msgid "Type" msgstr "Typ" #: ../../Zotlabs/Storage/Browser.php:235 -#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1390 +#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1408 msgid "Size" msgstr "Größe" @@ -287,43 +298,46 @@ msgstr "Größe" msgid "Last Modified" msgstr "Zuletzt geändert" -#: ../../Zotlabs/Storage/Browser.php:238 -#: ../../Zotlabs/Module/Connections.php:290 -#: ../../Zotlabs/Module/Connections.php:310 +#: ../../Zotlabs/Storage/Browser.php:238 ../../Zotlabs/Module/Editpost.php:85 +#: ../../Zotlabs/Module/Editblock.php:109 +#: ../../Zotlabs/Module/Connections.php:300 +#: ../../Zotlabs/Module/Connections.php:320 #: ../../Zotlabs/Module/Admin/Profs.php:154 #: ../../Zotlabs/Module/Editlayout.php:114 #: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112 -#: ../../Zotlabs/Module/Editblock.php:109 ../../Zotlabs/Module/Editpost.php:84 #: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Layouts.php:192 -#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Wiki.php:144 -#: ../../Zotlabs/Module/Wiki.php:252 +#: ../../Zotlabs/Module/Webpages.php:244 ../../Zotlabs/Module/Wiki.php:163 +#: ../../Zotlabs/Module/Wiki.php:273 #: ../../Zotlabs/Module/Settings/Oauth.php:149 -#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Lib/Apps.php:341 -#: ../../Zotlabs/Lib/ThreadItem.php:106 +#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Lib/ThreadItem.php:106 +#: ../../Zotlabs/Lib/Apps.php:357 #: ../../extend/addon/addon/cdav/include/widgets.php:125 #: ../../extend/addon/addon/cdav/include/widgets.php:161 -#: ../../include/channel.php:961 ../../include/channel.php:965 -#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39 -#: ../../include/menu.php:113 ../../include/widgets.php:965 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:149 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:251 +#: ../../include/menu.php:113 ../../include/channel.php:1044 +#: ../../include/channel.php:1048 ../../include/page_widgets.php:9 +#: ../../include/page_widgets.php:39 msgid "Edit" msgstr "Bearbeiten" -#: ../../Zotlabs/Storage/Browser.php:239 ../../Zotlabs/Module/Connedit.php:635 -#: ../../Zotlabs/Module/Connections.php:263 +#: ../../Zotlabs/Storage/Browser.php:239 ../../Zotlabs/Module/Photos.php:1174 +#: ../../Zotlabs/Module/Editblock.php:134 +#: ../../Zotlabs/Module/Connections.php:271 #: ../../Zotlabs/Module/Admin/Profs.php:155 #: ../../Zotlabs/Module/Admin/Accounts.php:173 #: ../../Zotlabs/Module/Admin/Channels.php:149 #: ../../Zotlabs/Module/Editlayout.php:137 #: ../../Zotlabs/Module/Editwebpage.php:170 -#: ../../Zotlabs/Module/Editblock.php:134 ../../Zotlabs/Module/Group.php:177 -#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Blocks.php:162 -#: ../../Zotlabs/Module/Webpages.php:242 +#: ../../Zotlabs/Module/Connedit.php:626 ../../Zotlabs/Module/Connedit.php:884 +#: ../../Zotlabs/Module/Group.php:177 ../../Zotlabs/Module/Blocks.php:162 +#: ../../Zotlabs/Module/Webpages.php:246 #: ../../Zotlabs/Module/Settings/Oauth.php:150 -#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Lib/Apps.php:342 -#: ../../Zotlabs/Lib/ThreadItem.php:126 +#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Lib/ThreadItem.php:126 +#: ../../Zotlabs/Lib/Apps.php:358 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:864 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1153 -#: ../../include/conversation.php:676 +#: ../../include/conversation.php:656 msgid "Delete" msgstr "Löschen" @@ -353,12 +367,24 @@ msgstr "Datei hochladen" msgid "Drop files here to immediately upload" msgstr "Dateien zum sofortigen Hochladen hier fallen lassen" -#: ../../Zotlabs/Web/Router.php:67 ../../Zotlabs/Web/WebServer.php:128 +#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Like.php:283 +#: ../../Zotlabs/Module/Group.php:72 ../../Zotlabs/Module/Dreport.php:10 +#: ../../Zotlabs/Module/Dreport.php:68 +#: ../../Zotlabs/Module/Import_items.php:114 +#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62 +#: ../../extend/addon/addon/frphotos/frphotos.php:81 +#: ../../extend/addon/addon/redfiles/redfiles.php:109 +#: ../../extend/addon/addon/redphotos/redphotos.php:119 +#: ../../include/items.php:327 +msgid "Permission denied" +msgstr "Keine Berechtigung" + +#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:67 #: ../../Zotlabs/Module/Achievements.php:34 -#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Connedit.php:397 -#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Bookmarks.php:61 -#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Page.php:35 -#: ../../Zotlabs/Module/Page.php:91 ../../Zotlabs/Module/Manage.php:10 +#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Photos.php:73 +#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Authtest.php:16 +#: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Editblock.php:67 +#: ../../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 @@ -367,83 +393,69 @@ msgstr "Dateien zum sofortigen Hochladen hier fallen lassen" #: ../../Zotlabs/Module/Editwebpage.php:68 #: ../../Zotlabs/Module/Editwebpage.php:89 #: ../../Zotlabs/Module/Editwebpage.php:104 -#: ../../Zotlabs/Module/Editwebpage.php:126 -#: ../../Zotlabs/Module/Channel.php:107 ../../Zotlabs/Module/Channel.php:237 -#: ../../Zotlabs/Module/Channel.php:277 ../../Zotlabs/Module/Network.php:15 -#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Appman.php:75 +#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Like.php:181 +#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Menu.php:78 +#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Connedit.php:388 #: ../../Zotlabs/Module/Filestorage.php:23 #: ../../Zotlabs/Module/Filestorage.php:78 #: ../../Zotlabs/Module/Filestorage.php:93 -#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Item.php:220 -#: ../../Zotlabs/Module/Item.php:230 ../../Zotlabs/Module/Item.php:1098 -#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Mail.php:135 +#: ../../Zotlabs/Module/Filestorage.php:120 +#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Group.php:13 #: ../../Zotlabs/Module/Block.php:26 ../../Zotlabs/Module/Block.php:76 -#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:94 -#: ../../Zotlabs/Module/Editblock.php:67 ../../Zotlabs/Module/Group.php:13 -#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Message.php:18 -#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Photos.php:73 -#: ../../Zotlabs/Module/Setup.php:212 ../../Zotlabs/Module/Editpost.php:17 -#: ../../Zotlabs/Module/New_channel.php:77 -#: ../../Zotlabs/Module/New_channel.php:104 +#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Mitem.php:115 +#: ../../Zotlabs/Module/Appman.php:81 ../../Zotlabs/Module/Mood.php:116 +#: ../../Zotlabs/Module/Profiles.php:198 ../../Zotlabs/Module/Profiles.php:636 +#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Invite.php:17 +#: ../../Zotlabs/Module/Invite.php:94 ../../Zotlabs/Module/New_channel.php:77 +#: ../../Zotlabs/Module/New_channel.php:104 ../../Zotlabs/Module/Setup.php:212 #: ../../Zotlabs/Module/Notifications.php:11 ../../Zotlabs/Module/Poke.php:137 -#: ../../Zotlabs/Module/Profiles.php:197 ../../Zotlabs/Module/Profiles.php:595 -#: ../../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/Rate.php:113 -#: ../../Zotlabs/Module/Like.php:181 -#: ../../Zotlabs/Module/Profile_photo.php:273 -#: ../../Zotlabs/Module/Profile_photo.php:286 -#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Api.php:24 -#: ../../Zotlabs/Module/Regmod.php:21 ../../Zotlabs/Module/Pdledit.php:29 +#: ../../Zotlabs/Module/Item.php:220 ../../Zotlabs/Module/Item.php:230 +#: ../../Zotlabs/Module/Item.php:1067 ../../Zotlabs/Module/Profile.php:70 +#: ../../Zotlabs/Module/Profile.php:87 ../../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/Rate.php:113 +#: ../../Zotlabs/Module/Profile_photo.php:274 +#: ../../Zotlabs/Module/Profile_photo.php:287 +#: ../../Zotlabs/Module/Events.php:271 ../../Zotlabs/Module/Common.php:39 +#: ../../Zotlabs/Module/Channel.php:107 ../../Zotlabs/Module/Channel.php:237 +#: ../../Zotlabs/Module/Channel.php:277 ../../Zotlabs/Module/Regmod.php:21 +#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Message.php:18 #: ../../Zotlabs/Module/Service_limits.php:11 #: ../../Zotlabs/Module/Webpages.php:116 -#: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Wiki.php:189 -#: ../../Zotlabs/Module/Wiki.php:302 ../../Zotlabs/Module/Sources.php:74 +#: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Wiki.php:49 +#: ../../Zotlabs/Module/Wiki.php:214 ../../Zotlabs/Module/Wiki.php:313 +#: ../../Zotlabs/Module/Wiki.php:318 ../../Zotlabs/Module/Sources.php:74 #: ../../Zotlabs/Module/Suggest.php:30 ../../Zotlabs/Module/Thing.php:274 #: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:335 +#: ../../Zotlabs/Module/Mail.php:164 #: ../../Zotlabs/Module/Viewconnections.php:28 #: ../../Zotlabs/Module/Viewconnections.php:33 #: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100 -#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Events.php:267 -#: ../../Zotlabs/Lib/Chatroom.php:137 +#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137 #: ../../extend/addon/addon/friendica/dfrn_confirm.php:55 #: ../../extend/addon/addon/keepout/keepout.php:36 #: ../../extend/addon/addon/pumpio/pumpio.php:40 #: ../../extend/addon/addon/openid/Mod_Id.php:53 #: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:58 -#: ../../include/items.php:3422 ../../include/attach.php:142 -#: ../../include/attach.php:189 ../../include/attach.php:253 -#: ../../include/attach.php:267 ../../include/attach.php:274 -#: ../../include/attach.php:341 ../../include/attach.php:355 -#: ../../include/attach.php:362 ../../include/attach.php:439 -#: ../../include/attach.php:906 ../../include/attach.php:977 -#: ../../include/attach.php:1135 ../../include/photos.php:27 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:194 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:291 +#: ../../include/attach.php:144 ../../include/attach.php:191 +#: ../../include/attach.php:255 ../../include/attach.php:269 +#: ../../include/attach.php:276 ../../include/attach.php:343 +#: ../../include/attach.php:357 ../../include/attach.php:364 +#: ../../include/attach.php:441 ../../include/attach.php:908 +#: ../../include/attach.php:979 ../../include/attach.php:1137 +#: ../../include/photos.php:27 ../../include/items.php:3445 msgid "Permission denied." msgstr "Berechtigung verweigert." -#: ../../Zotlabs/Web/Router.php:148 ../../include/help.php:63 -msgid "Not Found" -msgstr "Nicht gefunden" - -#: ../../Zotlabs/Web/Router.php:151 ../../Zotlabs/Module/Page.php:94 -#: ../../Zotlabs/Module/Display.php:120 ../../Zotlabs/Module/Block.php:79 -#: ../../include/help.php:66 +#: ../../Zotlabs/Web/Router.php:152 ../../Zotlabs/Module/Display.php:124 +#: ../../Zotlabs/Module/Page.php:94 ../../Zotlabs/Module/Block.php:79 +#: ../../Zotlabs/Lib/NativeWikiPage.php:502 ../../include/help.php:66 msgid "Page not found." msgstr "Seite nicht gefunden." -#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Dreport.php:10 -#: ../../Zotlabs/Module/Dreport.php:68 -#: ../../Zotlabs/Module/Import_items.php:114 ../../Zotlabs/Module/Group.php:72 -#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Like.php:283 -#: ../../Zotlabs/Module/Subthread.php:62 -#: ../../extend/addon/addon/frphotos/frphotos.php:81 -#: ../../extend/addon/addon/redfiles/redfiles.php:109 -#: ../../extend/addon/addon/redphotos/redphotos.php:119 -#: ../../include/items.php:327 -msgid "Permission denied" -msgstr "Keine Berechtigung" - #: ../../Zotlabs/Zot/Auth.php:138 msgid "" "Remote authentication blocked. You are logged into this site locally. Please" @@ -452,19 +464,19 @@ msgstr "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angeme #: ../../Zotlabs/Zot/Auth.php:250 #: ../../extend/addon/addon/openid/Mod_Openid.php:76 -#: ../../extend/addon/addon/openid/Mod_Openid.php:183 +#: ../../extend/addon/addon/openid/Mod_Openid.php:178 #, php-format msgid "Welcome %s. Remote authentication successful." msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich." #: ../../Zotlabs/Module/Achievements.php:15 -#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editlayout.php:31 +#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31 +#: ../../Zotlabs/Module/Editlayout.php:31 #: ../../Zotlabs/Module/Editwebpage.php:32 -#: ../../Zotlabs/Module/Filestorage.php:59 -#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Hcard.php:12 +#: ../../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/Webpages.php:33 -#: ../../include/channel.php:862 +#: ../../include/channel.php:945 msgid "Requested profile is not available." msgstr "Das angefragte Profil ist nicht verfügbar." @@ -472,13 +484,21 @@ msgstr "Das angefragte Profil ist nicht verfügbar." msgid "Some blurb about what to do when you're new here" msgstr "Ein Hinweis, was man tun kann, wenn man neu hier ist" -#: ../../Zotlabs/Module/Chatsvc.php:117 -msgid "Away" -msgstr "Abwesend" +#: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Photos.php:508 +#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Ratings.php:83 +#: ../../Zotlabs/Module/Directory.php:64 +#: ../../Zotlabs/Module/Viewconnections.php:23 +#: ../../extend/addon/addon/friendica/dfrn_request.php:794 +msgid "Public access denied." +msgstr "Öffentlichen Zugriff verweigert." -#: ../../Zotlabs/Module/Chatsvc.php:122 -msgid "Online" -msgstr "Online" +#: ../../Zotlabs/Module/Display.php:38 ../../Zotlabs/Module/Admin.php:60 +#: ../../Zotlabs/Module/Admin/Themes.php:69 +#: ../../Zotlabs/Module/Admin/Plugins.php:254 +#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Thing.php:89 +#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3366 +msgid "Item not found." +msgstr "Element nicht gefunden." #: ../../Zotlabs/Module/Register.php:49 msgid "Maximum daily site registrations exceeded. Please try again tomorrow." @@ -610,8 +630,8 @@ msgstr "Registrierung" 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:150 -#: ../../boot.php:1701 +#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:162 +#: ../../boot.php:1713 msgid "Register" msgstr "Registrieren" @@ -626,60 +646,82 @@ msgstr "Diese Seite verlangt möglicherweise eine Emailbestätigung nach dem Abs msgid "Fetching URL returns error: %1$s" msgstr "Abrufen der URL gab einen Fehler zurück: %1$s" -#: ../../Zotlabs/Module/Match.php:26 -msgid "Profile Match" -msgstr "Profil-Ãœbereinstimmungen" +#: ../../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/Photos.php:97 ../../Zotlabs/Module/Photos.php:729 +#: ../../Zotlabs/Module/Profile_photo.php:115 +#: ../../Zotlabs/Module/Profile_photo.php:220 +#: ../../include/photo/photo_driver.php:730 +msgid "Profile Photos" +msgstr "Profilfotos" -#: ../../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/Photos.php:103 ../../Zotlabs/Module/Photos.php:129 +msgid "Album not found." +msgstr "Album nicht gefunden." -#: ../../Zotlabs/Module/Match.php:67 -msgid "is interested in:" -msgstr "interessiert sich für:" +#: ../../Zotlabs/Module/Photos.php:112 +msgid "Delete Album" +msgstr "Album löschen" -#: ../../Zotlabs/Module/Match.php:68 ../../Zotlabs/Module/Directory.php:328 -#: ../../Zotlabs/Module/Suggest.php:56 ../../include/channel.php:1036 -#: ../../include/connections.php:78 ../../include/widgets.php:147 -#: ../../include/widgets.php:184 ../../include/conversation.php:971 -msgid "Connect" -msgstr "Verbinden" +#: ../../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 "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/Match.php:74 -msgid "No matches" -msgstr "Keine Ãœbereinstimmungen" +#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1054 +msgid "Delete Photo" +msgstr "Foto löschen" -#: ../../Zotlabs/Module/Connedit.php:82 -msgid "Could not access contact record." -msgstr "Konnte nicht auf den Kontakteintrag zugreifen." +#: ../../Zotlabs/Module/Photos.php:519 +msgid "No photos selected" +msgstr "Keine Fotos ausgewählt" -#: ../../Zotlabs/Module/Connedit.php:106 -msgid "Could not locate selected profile." -msgstr "Gewähltes Profil nicht gefunden." +#: ../../Zotlabs/Module/Photos.php:568 +msgid "Access to this item is restricted." +msgstr "Der Zugriff auf dieses Foto ist eingeschränkt." -#: ../../Zotlabs/Module/Connedit.php:258 -msgid "Connection updated." -msgstr "Verbindung aktualisiert." +#: ../../Zotlabs/Module/Photos.php:607 +#, php-format +msgid "%1$.2f MB of %2$.2f MB photo storage used." +msgstr "%1$.2f MB von %2$.2f MB Foto-Speicher belegt." -#: ../../Zotlabs/Module/Connedit.php:260 -msgid "Failed to update connection record." -msgstr "Konnte den Verbindungseintrag nicht aktualisieren." +#: ../../Zotlabs/Module/Photos.php:610 +#, php-format +msgid "%1$.2f MB photo storage used." +msgstr "%1$.2f MB Foto-Speicher belegt." -#: ../../Zotlabs/Module/Connedit.php:310 -msgid "is now connected to" -msgstr "ist jetzt verbunden mit" +#: ../../Zotlabs/Module/Photos.php:646 +msgid "Upload Photos" +msgstr "Fotos hochladen" -#: ../../Zotlabs/Module/Connedit.php:411 ../../Zotlabs/Module/Connedit.php:716 -#: ../../Zotlabs/Module/Admin/Site.php:218 ../../Zotlabs/Module/Menu.php:100 -#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Filestorage.php:160 +#: ../../Zotlabs/Module/Photos.php:650 +msgid "Enter an album name" +msgstr "Namen für ein neues Album eingeben" + +#: ../../Zotlabs/Module/Photos.php:651 +msgid "or select an existing album (doubleclick)" +msgstr "oder ein bereits vorhandenes auswählen (Doppelklick)" + +#: ../../Zotlabs/Module/Photos.php:652 +msgid "Create a status post for this upload" +msgstr "Einen Statusbeitrag für diesen Upload erzeugen" + +#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Admin/Site.php:218 +#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 +#: ../../Zotlabs/Module/Connedit.php:402 ../../Zotlabs/Module/Connedit.php:740 +#: ../../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/Photos.php:653 -#: ../../Zotlabs/Module/Profiles.php:641 ../../Zotlabs/Module/Api.php:97 -#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Wiki.php:159 -#: ../../Zotlabs/Module/Settings/Channel.php:289 +#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Profiles.php:682 +#: ../../Zotlabs/Module/Api.php:97 ../../Zotlabs/Module/Events.php:470 +#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Removeme.php:63 +#: ../../Zotlabs/Module/Wiki.php:178 +#: ../../Zotlabs/Module/Settings/Channel.php:294 #: ../../Zotlabs/Module/Settings/Display.php:103 -#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464 #: ../../extend/addon/addon/dwpost/dwpost.php:73 #: ../../extend/addon/addon/dwpost/dwpost.php:85 #: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 @@ -724,24 +766,26 @@ msgstr "ist jetzt verbunden mit" #: ../../extend/addon/addon/wppost/wppost.php:105 #: ../../extend/addon/addon/wppost/wppost.php:109 #: ../../extend/addon/addon/xmpp/xmpp.php:53 -#: ../../extend/addon/addon/cdav/cdav.php:234 ../../include/dir_fns.php:143 -#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145 -#: ../../include/widgets.php:978 ../../view/theme/redbasic/php/config.php:111 -#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1723 +#: ../../extend/addon/addon/cdav/cdav.php:234 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +#: ../../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:1736 msgid "No" msgstr "Nein" -#: ../../Zotlabs/Module/Connedit.php:411 -#: ../../Zotlabs/Module/Admin/Site.php:220 ../../Zotlabs/Module/Menu.php:100 -#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Filestorage.php:160 +#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Admin/Site.php:220 +#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 +#: ../../Zotlabs/Module/Connedit.php:402 +#: ../../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/Photos.php:653 -#: ../../Zotlabs/Module/Profiles.php:641 ../../Zotlabs/Module/Api.php:96 -#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Wiki.php:159 -#: ../../Zotlabs/Module/Settings/Channel.php:289 +#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Profiles.php:682 +#: ../../Zotlabs/Module/Api.php:96 ../../Zotlabs/Module/Events.php:470 +#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Removeme.php:63 +#: ../../Zotlabs/Module/Wiki.php:178 +#: ../../Zotlabs/Module/Settings/Channel.php:294 #: ../../Zotlabs/Module/Settings/Display.php:103 -#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464 #: ../../extend/addon/addon/dwpost/dwpost.php:73 #: ../../extend/addon/addon/dwpost/dwpost.php:85 #: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 @@ -786,308 +830,72 @@ msgstr "Nein" #: ../../extend/addon/addon/wppost/wppost.php:105 #: ../../extend/addon/addon/wppost/wppost.php:109 #: ../../extend/addon/addon/xmpp/xmpp.php:53 -#: ../../extend/addon/addon/cdav/cdav.php:234 ../../include/dir_fns.php:143 -#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145 -#: ../../include/widgets.php:978 ../../view/theme/redbasic/php/config.php:111 -#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1723 +#: ../../extend/addon/addon/cdav/cdav.php:234 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +#: ../../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:1736 msgid "Yes" msgstr "Ja" -#: ../../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:542 -msgid "Connection has been removed." -msgstr "Verbindung wurde gelöscht." - -#: ../../Zotlabs/Module/Connedit.php:582 ../../Zotlabs/Lib/Apps.php:221 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:56 -#: ../../include/nav.php:89 ../../include/conversation.php:969 -msgid "View Profile" -msgstr "Profil ansehen" - -#: ../../Zotlabs/Module/Connedit.php:585 -#, php-format -msgid "View %s's profile" -msgstr "%ss Profil ansehen" - -#: ../../Zotlabs/Module/Connedit.php:589 -msgid "Refresh Permissions" -msgstr "Zugriffsrechte neu laden" - -#: ../../Zotlabs/Module/Connedit.php:592 -msgid "Fetch updated permissions" -msgstr "Aktualisierte Zugriffsrechte abfragen" - -#: ../../Zotlabs/Module/Connedit.php:596 -msgid "Recent Activity" -msgstr "Kürzliche Aktivitäten" - -#: ../../Zotlabs/Module/Connedit.php:599 -msgid "View recent posts and comments" -msgstr "Betrachte die neuesten Beiträge und Kommentare" - -#: ../../Zotlabs/Module/Connedit.php:603 -#: ../../Zotlabs/Module/Admin/Accounts.php:175 -msgid "Unblock" -msgstr "Freigeben" - -#: ../../Zotlabs/Module/Connedit.php:603 -#: ../../Zotlabs/Module/Admin/Accounts.php:174 -msgid "Block" -msgstr "Blockieren" - -#: ../../Zotlabs/Module/Connedit.php:606 -msgid "Block (or Unblock) all communications with this connection" -msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen" - -#: ../../Zotlabs/Module/Connedit.php:607 -msgid "This connection is blocked!" -msgstr "Die Verbindung ist geblockt!" - -#: ../../Zotlabs/Module/Connedit.php:611 -msgid "Unignore" -msgstr "Nicht ignorieren" - -#: ../../Zotlabs/Module/Connedit.php:611 -#: ../../Zotlabs/Module/Connections.php:277 -msgid "Ignore" -msgstr "Ignorieren" - -#: ../../Zotlabs/Module/Connedit.php:614 -msgid "Ignore (or Unignore) all inbound communications from this connection" -msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen" - -#: ../../Zotlabs/Module/Connedit.php:615 -msgid "This connection is ignored!" -msgstr "Die Verbindung wird ignoriert!" - -#: ../../Zotlabs/Module/Connedit.php:619 -msgid "Unarchive" -msgstr "Aus Archiv zurückholen" - -#: ../../Zotlabs/Module/Connedit.php:619 -msgid "Archive" -msgstr "Archivieren" - -#: ../../Zotlabs/Module/Connedit.php:622 -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:623 -msgid "This connection is archived!" -msgstr "Die Verbindung ist archiviert!" - -#: ../../Zotlabs/Module/Connedit.php:627 -msgid "Unhide" -msgstr "Wieder sichtbar machen" - -#: ../../Zotlabs/Module/Connedit.php:627 -msgid "Hide" -msgstr "Verstecken" - -#: ../../Zotlabs/Module/Connedit.php:630 -msgid "Hide or Unhide this connection from your other connections" -msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen" - -#: ../../Zotlabs/Module/Connedit.php:631 -msgid "This connection is hidden!" -msgstr "Die Verbindung ist versteckt!" - -#: ../../Zotlabs/Module/Connedit.php:638 -msgid "Delete this connection" -msgstr "Verbindung löschen" - -#: ../../Zotlabs/Module/Connedit.php:655 ../../include/widgets.php:529 -msgid "Me" -msgstr "Ich" - -#: ../../Zotlabs/Module/Connedit.php:656 ../../include/widgets.php:530 -msgid "Family" -msgstr "Familie" - -#: ../../Zotlabs/Module/Connedit.php:657 -#: ../../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/Connedit.php:658 ../../include/widgets.php:532 -msgid "Acquaintances" -msgstr "Bekannte" - -#: ../../Zotlabs/Module/Connedit.php:659 -#: ../../Zotlabs/Module/Connections.php:92 -#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:533 -msgid "All" -msgstr "Alle" - -#: ../../Zotlabs/Module/Connedit.php:716 -msgid "Approve this connection" -msgstr "Verbindung genehmigen" - -#: ../../Zotlabs/Module/Connedit.php:716 -msgid "Accept connection to allow communication" -msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen" - -#: ../../Zotlabs/Module/Connedit.php:721 -msgid "Set Affinity" -msgstr "Beziehung festlegen" - -#: ../../Zotlabs/Module/Connedit.php:724 -msgid "Set Profile" -msgstr "Profil festlegen" - -#: ../../Zotlabs/Module/Connedit.php:727 -msgid "Set Affinity & Profile" -msgstr "Beziehung und Profile festlegen" - -#: ../../Zotlabs/Module/Connedit.php:776 -msgid "none" -msgstr "Keine" - -#: ../../Zotlabs/Module/Connedit.php:780 ../../include/widgets.php:656 -msgid "Connection Default Permissions" -msgstr "Standardzugriffsrechte für neue Verbindungen:" - -#: ../../Zotlabs/Module/Connedit.php:780 ../../include/items.php:3909 -#, php-format -msgid "Connection: %s" -msgstr "Verbindung: %s" - -#: ../../Zotlabs/Module/Connedit.php:781 -msgid "Apply these permissions automatically" -msgstr "Diese Berechtigungen automatisch anwenden" - -#: ../../Zotlabs/Module/Connedit.php:781 -msgid "Connection requests will be approved without your interaction" -msgstr "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist." - -#: ../../Zotlabs/Module/Connedit.php:784 -msgid "This connection's primary address is" -msgstr "Die Hauptadresse der Verbindung ist" - -#: ../../Zotlabs/Module/Connedit.php:785 -msgid "Available locations:" -msgstr "Verfügbare Klone:" - -#: ../../Zotlabs/Module/Connedit.php:789 -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:790 -msgid "Connection Tools" -msgstr "Verbindungswerkzeuge" - -#: ../../Zotlabs/Module/Connedit.php:792 -msgid "Slide to adjust your degree of friendship" -msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen" - -#: ../../Zotlabs/Module/Connedit.php:793 ../../Zotlabs/Module/Rate.php:155 -#: ../../include/js_strings.php:20 -msgid "Rating" -msgstr "Bewertung" - -#: ../../Zotlabs/Module/Connedit.php:794 -msgid "Slide to adjust your rating" -msgstr "Verschieben, um Deine Bewertung einzustellen" - -#: ../../Zotlabs/Module/Connedit.php:795 ../../Zotlabs/Module/Connedit.php:800 -msgid "Optionally explain your rating" -msgstr "Optional kannst Du Deine Bewertung begründen" - -#: ../../Zotlabs/Module/Connedit.php:797 -msgid "Custom Filter" -msgstr "Benutzerdefinierter Filter" - -#: ../../Zotlabs/Module/Connedit.php:798 -msgid "Only import posts with this text" -msgstr "Nur Beiträge mit diesem Text importieren" - -#: ../../Zotlabs/Module/Connedit.php:798 ../../Zotlabs/Module/Connedit.php:799 -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:799 -msgid "Do not import posts with this text" -msgstr "Beiträge mit diesem Text nicht importieren" - -#: ../../Zotlabs/Module/Connedit.php:801 -msgid "This information is public!" -msgstr "Diese Information ist öffentlich!" +#: ../../Zotlabs/Module/Photos.php:653 +msgid "Caption (optional):" +msgstr "Beschriftung (optional):" -#: ../../Zotlabs/Module/Connedit.php:806 -msgid "Connection Pending Approval" -msgstr "Verbindung wartet auf Bestätigung" +#: ../../Zotlabs/Module/Photos.php:654 +msgid "Description (optional):" +msgstr "Beschreibung (optional):" -#: ../../Zotlabs/Module/Connedit.php:809 -#: ../../Zotlabs/Module/Settings/Tokens.php:163 -msgid "inherited" -msgstr "geerbt" +#: ../../Zotlabs/Module/Photos.php:657 ../../Zotlabs/Module/Photos.php:1042 +#: ../../Zotlabs/Module/Connedit.php:637 +#: ../../Zotlabs/Module/Filestorage.php:152 ../../Zotlabs/Module/Thing.php:313 +#: ../../Zotlabs/Module/Thing.php:363 ../../Zotlabs/Module/Chat.php:234 +#: ../../include/acl_selectors.php:218 +msgid "Permissions" +msgstr "Berechtigungen" -#: ../../Zotlabs/Module/Connedit.php:810 ../../Zotlabs/Module/Locs.php:121 +#: ../../Zotlabs/Module/Photos.php:667 ../../Zotlabs/Module/Photos.php:1053 +#: ../../Zotlabs/Module/Photos.php:1093 ../../Zotlabs/Module/Photos.php:1211 #: ../../Zotlabs/Module/Connect.php:98 #: ../../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/Themes.php:156 #: ../../Zotlabs/Module/Admin/Account_edit.php:74 #: ../../Zotlabs/Module/Admin/Accounts.php:166 #: ../../Zotlabs/Module/Admin/Channels.php:147 -#: ../../Zotlabs/Module/Admin/Site.php:260 ../../Zotlabs/Module/Appman.php:126 -#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Mail.php:384 -#: ../../Zotlabs/Module/Import_items.php:122 -#: ../../Zotlabs/Module/Invite.php:149 ../../Zotlabs/Module/Group.php:85 -#: ../../Zotlabs/Module/Mitem.php:243 ../../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/Admin/Site.php:260 +#: ../../Zotlabs/Module/Admin/Plugins.php:433 +#: ../../Zotlabs/Module/Locs.php:121 ../../Zotlabs/Module/Connedit.php:847 +#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Cal.php:342 +#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Import_items.php:122 +#: ../../Zotlabs/Module/Import.php:507 ../../Zotlabs/Module/Mitem.php:243 +#: ../../Zotlabs/Module/Appman.php:133 ../../Zotlabs/Module/Mood.php:139 +#: ../../Zotlabs/Module/Profiles.php:722 ../../Zotlabs/Module/Invite.php:149 #: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:357 -#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Profiles.php:681 -#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Rate.php:166 -#: ../../Zotlabs/Module/Pdledit.php:74 ../../Zotlabs/Module/Cal.php:342 -#: ../../Zotlabs/Module/Wiki.php:148 ../../Zotlabs/Module/Sources.php:114 -#: ../../Zotlabs/Module/Sources.php:149 +#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107 +#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Events.php:493 +#: ../../Zotlabs/Module/Pdledit.php:74 ../../Zotlabs/Module/Wiki.php:167 +#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149 #: ../../Zotlabs/Module/Settings/Features.php:47 #: ../../Zotlabs/Module/Settings/Oauth.php:87 -#: ../../Zotlabs/Module/Settings/Tokens.php:167 #: ../../Zotlabs/Module/Settings/Account.php:118 -#: ../../Zotlabs/Module/Settings/Channel.php:455 +#: ../../Zotlabs/Module/Settings/Tokens.php:168 +#: ../../Zotlabs/Module/Settings/Featured.php:50 +#: ../../Zotlabs/Module/Settings/Channel.php:476 #: ../../Zotlabs/Module/Settings/Display.php:196 +#: ../../Zotlabs/Module/Settings/Permcats.php:112 #: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370 -#: ../../Zotlabs/Module/Import.php:543 ../../Zotlabs/Module/Chat.php:196 +#: ../../Zotlabs/Module/Mail.php:413 ../../Zotlabs/Module/Chat.php:196 #: ../../Zotlabs/Module/Chat.php:241 ../../Zotlabs/Module/Xchan.php:15 -#: ../../Zotlabs/Module/Events.php:484 ../../Zotlabs/Lib/ThreadItem.php:729 +#: ../../Zotlabs/Lib/ThreadItem.php:731 #: ../../extend/addon/addon/chords/Mod_Chords.php:60 -#: ../../extend/addon/addon/diaspora/diaspora.php:710 +#: ../../extend/addon/addon/diaspora/diaspora.php:714 #: ../../extend/addon/addon/dwpost/dwpost.php:89 #: ../../extend/addon/addon/flattrwidget/flattrwidget.php:124 #: ../../extend/addon/addon/friendica/friendica.php:128 #: ../../extend/addon/addon/frphotos/frphotos.php:96 -#: ../../extend/addon/addon/gnusoc/gnusoc.php:129 #: ../../extend/addon/addon/hubwall/hubwall.php:95 #: ../../extend/addon/addon/ijpost/ijpost.php:89 #: ../../extend/addon/addon/irc/irc.php:53 @@ -1099,7 +907,7 @@ msgstr "geerbt" #: ../../extend/addon/addon/nofed/nofed.php:80 #: ../../extend/addon/addon/nsabait/nsabait.php:161 #: ../../extend/addon/addon/nsfw/nsfw.php:92 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:52 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:53 #: ../../extend/addon/addon/openstreetmap/openstreetmap.php:168 #: ../../extend/addon/addon/pageheader/pageheader.php:48 #: ../../extend/addon/addon/piwik/piwik.php:95 @@ -1117,7 +925,7 @@ msgstr "geerbt" #: ../../extend/addon/addon/statusnet/statusnet.php:380 #: ../../extend/addon/addon/statusnet/statusnet.php:432 #: ../../extend/addon/addon/statusnet/statusnet.php:899 -#: ../../extend/addon/addon/superblock/superblock.php:114 +#: ../../extend/addon/addon/superblock/superblock.php:118 #: ../../extend/addon/addon/twitter/twitter.php:217 #: ../../extend/addon/addon/twitter/twitter.php:259 #: ../../extend/addon/addon/visage/visage.php:170 @@ -1126,205 +934,331 @@ msgstr "geerbt" #: ../../extend/addon/addon/cdav/cdav.php:246 #: ../../extend/addon/addon/likebanner/likebanner.php:57 #: ../../extend/addon/addon/mailtest/mailtest.php:100 -#: ../../include/js_strings.php:22 ../../include/widgets.php:796 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:153 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:133 +#: ../../include/widgets.php:815 ../../include/js_strings.php:22 #: ../../view/theme/redbasic/php/config.php:106 msgid "Submit" msgstr "Absenden" -#: ../../Zotlabs/Module/Connedit.php:811 -#, 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/Photos.php:685 +msgid "Album name could not be decoded" +msgstr "Albumname konnte nicht dekodiert werden" -#: ../../Zotlabs/Module/Connedit.php:813 -#: ../../Zotlabs/Module/Settings/Tokens.php:160 -msgid "Their Settings" -msgstr "Deren Einstellungen" +#: ../../Zotlabs/Module/Photos.php:729 +msgid "Contact Photos" +msgstr "Kontakt-Bilder" -#: ../../Zotlabs/Module/Connedit.php:814 -#: ../../Zotlabs/Module/Settings/Tokens.php:161 -msgid "My Settings" -msgstr "Meine Einstellungen" +#: ../../Zotlabs/Module/Photos.php:752 +msgid "Show Newest First" +msgstr "Neueste zuerst anzeigen" -#: ../../Zotlabs/Module/Connedit.php:816 -#: ../../Zotlabs/Module/Settings/Tokens.php:165 -msgid "Individual Permissions" -msgstr "Individuelle Zugriffsrechte" +#: ../../Zotlabs/Module/Photos.php:754 +msgid "Show Oldest First" +msgstr "Älteste zuerst anzeigen" -#: ../../Zotlabs/Module/Connedit.php:817 -#: ../../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 "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/Photos.php:778 ../../Zotlabs/Module/Photos.php:1335 +#: ../../Zotlabs/Module/Embedphotos.php:139 ../../include/widgets.php:1708 +msgid "View Photo" +msgstr "Foto ansehen" -#: ../../Zotlabs/Module/Connedit.php:818 -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/Photos.php:809 +#: ../../Zotlabs/Module/Embedphotos.php:155 ../../include/widgets.php:1725 +msgid "Edit Album" +msgstr "Album bearbeiten" -#: ../../Zotlabs/Module/Connedit.php:819 -msgid "Last update:" -msgstr "Letzte Aktualisierung:" +#: ../../Zotlabs/Module/Photos.php:856 +msgid "Permission denied. Access to this item may be restricted." +msgstr "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden." -#: ../../Zotlabs/Module/Dreport.php:45 -msgid "Invalid message" -msgstr "Ungültige Beitrags-ID (mid)" +#: ../../Zotlabs/Module/Photos.php:858 +msgid "Photo not available" +msgstr "Foto nicht verfügbar" -#: ../../Zotlabs/Module/Dreport.php:78 -msgid "no results" -msgstr "keine Ergebnisse" +#: ../../Zotlabs/Module/Photos.php:916 +msgid "Use as profile photo" +msgstr "Als Profilfoto verwenden" -#: ../../Zotlabs/Module/Dreport.php:93 -msgid "channel sync processed" -msgstr "Kanal-Sync verarbeitet" +#: ../../Zotlabs/Module/Photos.php:917 +msgid "Use as cover photo" +msgstr "Als Titelbild verwenden" -#: ../../Zotlabs/Module/Dreport.php:97 -msgid "queued" -msgstr "zur Warteschlange hinzugefügt" +#: ../../Zotlabs/Module/Photos.php:924 +msgid "Private Photo" +msgstr "Privates Foto" -#: ../../Zotlabs/Module/Dreport.php:101 -msgid "posted" -msgstr "zugestellt" +#: ../../Zotlabs/Module/Photos.php:935 ../../Zotlabs/Module/Cal.php:336 +#: ../../Zotlabs/Module/Cal.php:343 ../../Zotlabs/Module/Events.php:689 +#: ../../Zotlabs/Module/Events.php:698 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:846 +msgid "Previous" +msgstr "Voriges" -#: ../../Zotlabs/Module/Dreport.php:105 -msgid "accepted for delivery" -msgstr "für Zustellung akzeptiert" +#: ../../Zotlabs/Module/Photos.php:939 +msgid "View Full Size" +msgstr "In voller Größe anzeigen" -#: ../../Zotlabs/Module/Dreport.php:109 -msgid "updated" -msgstr "aktualisiert" +#: ../../Zotlabs/Module/Photos.php:944 ../../Zotlabs/Module/Cal.php:337 +#: ../../Zotlabs/Module/Cal.php:344 ../../Zotlabs/Module/Setup.php:264 +#: ../../Zotlabs/Module/Events.php:690 ../../Zotlabs/Module/Events.php:699 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:847 +msgid "Next" +msgstr "Nächste" -#: ../../Zotlabs/Module/Dreport.php:112 -msgid "update ignored" -msgstr "Aktualisierung ignoriert" +#: ../../Zotlabs/Module/Photos.php:984 +#: ../../Zotlabs/Module/Admin/Plugins.php:450 +#: ../../Zotlabs/Module/Tagrm.php:137 +#: ../../extend/addon/addon/superblock/superblock.php:114 +msgid "Remove" +msgstr "Entfernen" -#: ../../Zotlabs/Module/Dreport.php:115 -msgid "permission denied" -msgstr "Zugriff verweigert" +#: ../../Zotlabs/Module/Photos.php:1028 +msgid "Edit photo" +msgstr "Foto bearbeiten" -#: ../../Zotlabs/Module/Dreport.php:119 -msgid "recipient not found" -msgstr "Empfänger nicht gefunden." +#: ../../Zotlabs/Module/Photos.php:1030 +msgid "Rotate CW (right)" +msgstr "Drehen im UZS (rechts)" -#: ../../Zotlabs/Module/Dreport.php:122 -msgid "mail recalled" -msgstr "Mail widerrufen" +#: ../../Zotlabs/Module/Photos.php:1031 +msgid "Rotate CCW (left)" +msgstr "Drehen gegen UZS (links)" -#: ../../Zotlabs/Module/Dreport.php:125 -msgid "duplicate mail received" -msgstr "Doppelte Mail erhalten" +#: ../../Zotlabs/Module/Photos.php:1034 +msgid "Move photo to album" +msgstr "Foto in Album verschieben" -#: ../../Zotlabs/Module/Dreport.php:128 -msgid "mail delivered" -msgstr "Mail zugestellt" +#: ../../Zotlabs/Module/Photos.php:1035 +msgid "Enter a new album name" +msgstr "Gib einen Namen für ein neues Album ein" -#: ../../Zotlabs/Module/Dreport.php:148 -#, php-format -msgid "Delivery report for %1$s" -msgstr "Zustellungsbericht für %1$s" +#: ../../Zotlabs/Module/Photos.php:1036 +msgid "or select an existing one (doubleclick)" +msgstr "oder wähle ein bereits vorhandenes aus (Doppelklick)" -#: ../../Zotlabs/Module/Dreport.php:151 -msgid "Options" -msgstr "Optionen" +#: ../../Zotlabs/Module/Photos.php:1039 +msgid "Caption" +msgstr "Bildunterschrift" -#: ../../Zotlabs/Module/Dreport.php:152 -msgid "Redeliver" -msgstr "Erneut zustellen" +#: ../../Zotlabs/Module/Photos.php:1041 +msgid "Add a Tag" +msgstr "Schlagwort hinzufügen" -#: ../../Zotlabs/Module/Bookmarks.php:53 -msgid "Bookmark added" -msgstr "Lesezeichen hinzugefügt" +#: ../../Zotlabs/Module/Photos.php:1049 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" +msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com" -#: ../../Zotlabs/Module/Bookmarks.php:75 -msgid "My Bookmarks" -msgstr "Meine Lesezeichen" +#: ../../Zotlabs/Module/Photos.php:1052 +msgid "Flag as adult in album view" +msgstr "In der Albumansicht als nicht jugendfrei markieren" -#: ../../Zotlabs/Module/Bookmarks.php:86 -msgid "My Connections Bookmarks" -msgstr "Lesezeichen meiner Kontakte" +#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:268 +msgid "I like this (toggle)" +msgstr "Mir gefällt das (Umschalter)" + +#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Lib/ThreadItem.php:269 +msgid "I don't like this (toggle)" +msgstr "Mir gefällt das nicht (Umschalter)" + +#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Module/Blocks.php:161 +#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:245 +#: ../../extend/addon/addon/cdav/include/widgets.php:123 +#: ../../include/conversation.php:1378 +msgid "Share" +msgstr "Teilen" + +#: ../../Zotlabs/Module/Photos.php:1074 ../../Zotlabs/Lib/ThreadItem.php:411 +#: ../../include/conversation.php:738 +msgid "Please wait" +msgstr "Bitte warten" + +#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208 +#: ../../Zotlabs/Lib/ThreadItem.php:728 +msgid "This is you" +msgstr "Das bist Du" + +#: ../../Zotlabs/Module/Photos.php:1092 ../../Zotlabs/Module/Photos.php:1210 +#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/js_strings.php:6 +msgid "Comment" +msgstr "Kommentar" + +#: ../../Zotlabs/Module/Photos.php:1094 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Lib/ThreadItem.php:740 +#: ../../include/conversation.php:1347 ../../include/page_widgets.php:43 +msgid "Preview" +msgstr "Vorschau" + +#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 +msgctxt "title" +msgid "Likes" +msgstr "Gefällt mir" + +#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 +msgctxt "title" +msgid "Dislikes" +msgstr "Gefällt mir nicht" + +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Agree" +msgstr "Zustimmungen" + +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Disagree" +msgstr "Ablehnungen" + +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Abstain" +msgstr "Enthaltungen" + +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Attending" +msgstr "Zusagen" + +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Not attending" +msgstr "Absagen" + +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Might attend" +msgstr "Vielleicht" + +#: ../../Zotlabs/Module/Photos.php:1127 ../../Zotlabs/Module/Photos.php:1139 +#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198 +#: ../../include/conversation.php:1928 +msgid "View all" +msgstr "Alles anzeigen" + +#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Lib/ThreadItem.php:190 +#: ../../include/taxonomy.php:403 ../../include/conversation.php:1952 +#: ../../include/channel.php:1273 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "Gefällt mir" +msgstr[1] "Gefällt mir" + +#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:195 +#: ../../include/conversation.php:1955 +msgctxt "noun" +msgid "Dislike" +msgid_plural "Dislikes" +msgstr[0] "Gefällt nicht" +msgstr[1] "Gefällt nicht" + +#: ../../Zotlabs/Module/Photos.php:1236 +msgid "Photo Tools" +msgstr "Fotowerkzeuge" + +#: ../../Zotlabs/Module/Photos.php:1245 +msgid "In This Photo:" +msgstr "Auf diesem Foto:" + +#: ../../Zotlabs/Module/Photos.php:1250 +msgid "Map" +msgstr "Karte" + +#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:400 +msgctxt "noun" +msgid "Likes" +msgstr "Gefällt mir" + +#: ../../Zotlabs/Module/Photos.php:1259 ../../Zotlabs/Lib/ThreadItem.php:401 +msgctxt "noun" +msgid "Dislikes" +msgstr "Gefällt nicht" + +#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:406 +#: ../../include/acl_selectors.php:220 +msgid "Close" +msgstr "Schließen" -#: ../../Zotlabs/Module/Acl.php:313 +#: ../../Zotlabs/Module/Photos.php:1341 +msgid "View Album" +msgstr "Album ansehen" + +#: ../../Zotlabs/Module/Photos.php:1352 ../../Zotlabs/Module/Photos.php:1365 +#: ../../Zotlabs/Module/Photos.php:1366 +msgid "Recent Photos" +msgstr "Neueste Fotos" + +#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editblock.php:79 +#: ../../Zotlabs/Module/Editblock.php:95 +#: ../../Zotlabs/Module/Editlayout.php:79 +#: ../../Zotlabs/Module/Editwebpage.php:80 +msgid "Item not found" +msgstr "Element nicht gefunden" + +#: ../../Zotlabs/Module/Editpost.php:35 +msgid "Item is not editable" +msgstr "Element kann nicht bearbeitet werden." + +#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:138 +msgid "Edit post" +msgstr "Bearbeite Beitrag" + +#: ../../Zotlabs/Module/Acl.php:117 ../../Zotlabs/Module/Lockview.php:117 +#: ../../Zotlabs/Module/Lockview.php:153 ../../include/acl_selectors.php:183 +msgctxt "acl" +msgid "Profile" +msgstr "Profil" + +#: ../../Zotlabs/Module/Acl.php:344 msgid "network" msgstr "Netzwerk" -#: ../../Zotlabs/Module/Acl.php:323 +#: ../../Zotlabs/Module/Acl.php:354 msgid "RSS" msgstr "RSS" -#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54 -msgid "Location not found." -msgstr "Klon nicht gefunden." - -#: ../../Zotlabs/Module/Locs.php:62 -msgid "Location lookup failed." -msgstr "Nachschlagen des Kanal-Ortes fehlgeschlagen" - -#: ../../Zotlabs/Module/Locs.php:66 -msgid "" -"Please select another location to become primary before removing the primary" -" location." -msgstr "Bitte mache einen anderen Kanal-Ort zum primären Ort, bevor Du den primären Ort löschst." +#: ../../Zotlabs/Module/Help.php:23 +msgid "Documentation Search" +msgstr "Suche in der Dokumentation" -#: ../../Zotlabs/Module/Locs.php:95 -msgid "Syncing locations" -msgstr "Synchronisiere Klone" +#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1827 +msgid "About" +msgstr "Ãœber" -#: ../../Zotlabs/Module/Locs.php:105 -msgid "No locations found." -msgstr "Keine Klon-Adressen gefunden." +#: ../../Zotlabs/Module/Help.php:81 ../../Zotlabs/Module/Group.php:197 +msgid "Members" +msgstr "Mitglieder" -#: ../../Zotlabs/Module/Locs.php:116 -msgid "Manage Channel Locations" -msgstr "Klon-Adressen verwalten" +#: ../../Zotlabs/Module/Help.php:82 +msgid "Administrators" +msgstr "Administratoren" -#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Pubsites.php:51 -#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:692 -#: ../../Zotlabs/Module/Events.php:468 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:839 -#: ../../include/js_strings.php:25 -msgid "Location" -msgstr "Ort" +#: ../../Zotlabs/Module/Help.php:83 +msgid "Developers" +msgstr "Entwickler" -#: ../../Zotlabs/Module/Locs.php:118 -#: ../../Zotlabs/Module/Admin/Channels.php:160 -#: ../../Zotlabs/Module/Profiles.php:464 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1143 -msgid "Address" -msgstr "Adresse" +#: ../../Zotlabs/Module/Help.php:84 +msgid "Tutorials" +msgstr "Tutorials" -#: ../../Zotlabs/Module/Locs.php:119 -msgid "Primary" -msgstr "Primär" - -#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113 -msgid "Drop" -msgstr "Löschen" +#: ../../Zotlabs/Module/Help.php:93 +msgid "$Projectname Documentation" +msgstr "$Projectname-Dokumentation" -#: ../../Zotlabs/Module/Locs.php:122 -msgid "Sync Now" -msgstr "Jetzt synchronisieren" +#: ../../Zotlabs/Module/Help.php:94 +msgid "Contents" +msgstr "Inhalt" -#: ../../Zotlabs/Module/Locs.php:123 -msgid "Please wait several minutes between consecutive operations." -msgstr "Bitte warte mehrere Minuten zwischen dem Ausführen zweier Operationen!" +#: ../../Zotlabs/Module/Bookmarks.php:53 +msgid "Bookmark added" +msgstr "Lesezeichen hinzugefügt" -#: ../../Zotlabs/Module/Locs.php:124 -msgid "" -"When possible, drop a location by logging into that website/hub and removing" -" your channel." -msgstr "Wenn möglich, lösche einen Klon, indem Du Dich auf dem jeweiligen Hub einloggst und den Kanal dort löschst." +#: ../../Zotlabs/Module/Bookmarks.php:75 +msgid "My Bookmarks" +msgstr "Meine Lesezeichen" -#: ../../Zotlabs/Module/Locs.php:125 -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/Bookmarks.php:86 +msgid "My Connections Bookmarks" +msgstr "Lesezeichen meiner Kontakte" #: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109 msgid "Continue" @@ -1369,12 +1303,112 @@ msgstr "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)" msgid "Restricted or Premium Channel" msgstr "Eingeschränkter oder Premium-Kanal" +#: ../../Zotlabs/Module/Admin.php:94 +msgid "# Accounts" +msgstr "Anzahl der Konten" + +#: ../../Zotlabs/Module/Admin.php:95 +msgid "# blocked accounts" +msgstr "Anzahl der blockierten Konten" + +#: ../../Zotlabs/Module/Admin.php:96 +msgid "# expired accounts" +msgstr "Anzahl der abgelaufenen Konten" + +#: ../../Zotlabs/Module/Admin.php:97 +msgid "# expiring accounts" +msgstr "Anzahl der ablaufenden Konten" + +#: ../../Zotlabs/Module/Admin.php:108 +msgid "# Channels" +msgstr "Anzahl der Kanäle" + +#: ../../Zotlabs/Module/Admin.php:109 +msgid "# primary" +msgstr "Anzahl der primären Kanäle" + +#: ../../Zotlabs/Module/Admin.php:110 +msgid "# clones" +msgstr "Anzahl der Klone" + +#: ../../Zotlabs/Module/Admin.php:116 +msgid "Message queues" +msgstr "Nachrichten-Warteschlangen" + +#: ../../Zotlabs/Module/Admin.php:133 +msgid "Your software should be updated" +msgstr "Die installierte Software sollte aktualisiert werden" + +#: ../../Zotlabs/Module/Admin.php:137 ../../Zotlabs/Module/Admin/Logs.php:82 +#: ../../Zotlabs/Module/Admin/Security.php:86 +#: ../../Zotlabs/Module/Admin/Themes.php:120 +#: ../../Zotlabs/Module/Admin/Themes.php:154 +#: ../../Zotlabs/Module/Admin/Accounts.php:164 +#: ../../Zotlabs/Module/Admin/Channels.php:145 +#: ../../Zotlabs/Module/Admin/Site.php:258 +#: ../../Zotlabs/Module/Admin/Plugins.php:336 +#: ../../Zotlabs/Module/Admin/Plugins.php:431 +msgid "Administration" +msgstr "Administration" + +#: ../../Zotlabs/Module/Admin.php:138 +msgid "Summary" +msgstr "Zusammenfassung" + +#: ../../Zotlabs/Module/Admin.php:141 +msgid "Registered accounts" +msgstr "Registrierte Konten" + +#: ../../Zotlabs/Module/Admin.php:142 +msgid "Pending registrations" +msgstr "Ausstehende Registrierungen" + +#: ../../Zotlabs/Module/Admin.php:143 +msgid "Registered channels" +msgstr "Registrierte Kanäle" + +#: ../../Zotlabs/Module/Admin.php:144 +msgid "Active plugins" +msgstr "Aktive Plug-Ins" + +#: ../../Zotlabs/Module/Admin.php:145 +msgid "Version" +msgstr "Version" + +#: ../../Zotlabs/Module/Admin.php:146 +msgid "Repository version (master)" +msgstr "Repository-Version (master)" + +#: ../../Zotlabs/Module/Admin.php:147 +msgid "Repository version (dev)" +msgstr "Repository-Version (dev)" + +#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97 +#: ../../Zotlabs/Module/Blocks.php:155 +msgid "Block Name" +msgstr "Block-Name" + +#: ../../Zotlabs/Module/Editblock.php:111 +#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Mail.php:287 +#: ../../Zotlabs/Module/Mail.php:412 ../../Zotlabs/Module/Chat.php:207 +#: ../../include/conversation.php:1295 +msgid "Insert web link" +msgstr "Link einfügen" + +#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1406 +msgid "Title (optional)" +msgstr "Titel (optional)" + +#: ../../Zotlabs/Module/Editblock.php:133 +msgid "Edit Block" +msgstr "Block bearbeiten" + #: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31 msgid "Invalid item." msgstr "Ungültiges Element." -#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Chanview.php:96 -#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Cal.php:62 +#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Cal.php:62 +#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Chanview.php:96 #: ../../Zotlabs/Module/Wall_upload.php:31 msgid "Channel not found." msgstr "Kanal nicht gefunden." @@ -1399,91 +1433,67 @@ msgstr "– auswählen –" #: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin/Profs.php:74 #: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32 -#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:987 -#: ../../include/text.php:999 ../../include/widgets.php:201 +#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:202 +#: ../../include/text.php:1005 ../../include/text.php:1017 msgid "Save" msgstr "Speichern" -#: ../../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:143 ../../Zotlabs/Module/Profiles.php:772 -#: ../../Zotlabs/Module/Wiki.php:147 ../../Zotlabs/Module/Chat.php:255 -msgid "Create New" -msgstr "Neu anlegen" - -#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214 -#: ../../include/nav.php:209 -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/Ping.php:254 +msgid "sent you a private message" +msgstr "hat Dir eine private Nachricht geschickt" -#: ../../Zotlabs/Module/Manage.php:169 -msgid "Make Default" -msgstr "Zum Standard machen" +#: ../../Zotlabs/Module/Ping.php:302 +msgid "added your channel" +msgstr "hat deinen Kanal hinzugefügt" -#: ../../Zotlabs/Module/Manage.php:172 -#, php-format -msgid "%d new messages" -msgstr "%d neue Nachrichten" +#: ../../Zotlabs/Module/Ping.php:312 +msgid "g A l F d" +msgstr "l, d. F, G:i \\U\\h\\r" -#: ../../Zotlabs/Module/Manage.php:173 -#, php-format -msgid "%d new introductions" -msgstr "%d neue Vorstellungen" +#: ../../Zotlabs/Module/Ping.php:330 +msgid "[today]" +msgstr "[Heute]" -#: ../../Zotlabs/Module/Manage.php:175 -msgid "Delegated Channel" -msgstr "Delegierte Kanäle" +#: ../../Zotlabs/Module/Ping.php:339 +msgid "posted an event" +msgstr "hat einen Termin veröffentlicht" #: ../../Zotlabs/Module/Connections.php:56 #: ../../Zotlabs/Module/Connections.php:161 -#: ../../Zotlabs/Module/Connections.php:242 +#: ../../Zotlabs/Module/Connections.php:250 msgid "Blocked" msgstr "Blockiert" #: ../../Zotlabs/Module/Connections.php:61 #: ../../Zotlabs/Module/Connections.php:168 -#: ../../Zotlabs/Module/Connections.php:241 +#: ../../Zotlabs/Module/Connections.php:249 msgid "Ignored" msgstr "Ignoriert" #: ../../Zotlabs/Module/Connections.php:66 #: ../../Zotlabs/Module/Connections.php:182 -#: ../../Zotlabs/Module/Connections.php:240 +#: ../../Zotlabs/Module/Connections.php:248 msgid "Hidden" msgstr "Versteckt" #: ../../Zotlabs/Module/Connections.php:71 #: ../../Zotlabs/Module/Connections.php:175 -#: ../../Zotlabs/Module/Connections.php:239 +#: ../../Zotlabs/Module/Connections.php:247 msgid "Archived" msgstr "Archiviert" #: ../../Zotlabs/Module/Connections.php:76 #: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116 -#: ../../include/conversation.php:1594 +#: ../../include/conversation.php:1724 msgid "New" msgstr "Neu" +#: ../../Zotlabs/Module/Connections.php:92 +#: ../../Zotlabs/Module/Connections.php:107 +#: ../../Zotlabs/Module/Connedit.php:674 ../../include/widgets.php:544 +msgid "All" +msgstr "Alle" + #: ../../Zotlabs/Module/Connections.php:138 msgid "New Connections" msgstr "Neue Verbindungen" @@ -1493,7 +1503,7 @@ msgid "Show pending (new) connections" msgstr "Ausstehende (neue) Verbindungsanfragen anzeigen" #: ../../Zotlabs/Module/Connections.php:145 -#: ../../Zotlabs/Module/Profperm.php:144 +#: ../../Zotlabs/Module/Profperm.php:140 msgid "All Connections" msgstr "Alle Verbindungen" @@ -1517,79 +1527,88 @@ msgstr "Nur archivierte Verbindungen anzeigen" msgid "Only show hidden connections" msgstr "Nur versteckte Verbindungen anzeigen" -#: ../../Zotlabs/Module/Connections.php:238 +#: ../../Zotlabs/Module/Connections.php:246 msgid "Pending approval" msgstr "Wartet auf Genehmigung" -#: ../../Zotlabs/Module/Connections.php:254 +#: ../../Zotlabs/Module/Connections.php:262 #, php-format msgid "%1$s [%2$s]" msgstr "%1$s [%2$s]" -#: ../../Zotlabs/Module/Connections.php:255 +#: ../../Zotlabs/Module/Connections.php:263 msgid "Edit connection" msgstr "Verbindung bearbeiten" -#: ../../Zotlabs/Module/Connections.php:256 +#: ../../Zotlabs/Module/Connections.php:264 msgid "Delete connection" msgstr "Verbindung löschen" -#: ../../Zotlabs/Module/Connections.php:265 +#: ../../Zotlabs/Module/Connections.php:273 msgid "Channel address" msgstr "Kanaladresse" -#: ../../Zotlabs/Module/Connections.php:267 +#: ../../Zotlabs/Module/Connections.php:275 msgid "Network" msgstr "Netzwerk" -#: ../../Zotlabs/Module/Connections.php:270 +#: ../../Zotlabs/Module/Connections.php:278 +msgid "Call" +msgstr "Anruf" + +#: ../../Zotlabs/Module/Connections.php:280 msgid "Status" msgstr "Status" -#: ../../Zotlabs/Module/Connections.php:272 +#: ../../Zotlabs/Module/Connections.php:282 msgid "Connected" msgstr "Verbunden" -#: ../../Zotlabs/Module/Connections.php:274 +#: ../../Zotlabs/Module/Connections.php:284 msgid "Approve connection" msgstr "Verbindung genehmigen" -#: ../../Zotlabs/Module/Connections.php:275 +#: ../../Zotlabs/Module/Connections.php:285 #: ../../Zotlabs/Module/Admin/Accounts.php:171 msgid "Approve" msgstr "Genehmigen" -#: ../../Zotlabs/Module/Connections.php:276 +#: ../../Zotlabs/Module/Connections.php:286 msgid "Ignore connection" msgstr "Verbindung ignorieren" -#: ../../Zotlabs/Module/Connections.php:278 +#: ../../Zotlabs/Module/Connections.php:287 +#: ../../Zotlabs/Module/Connedit.php:602 +msgid "Ignore" +msgstr "Ignorieren" + +#: ../../Zotlabs/Module/Connections.php:288 msgid "Recent activity" msgstr "Kürzliche Aktivitäten" -#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209 -#: ../../include/nav.php:189 ../../include/text.php:916 +#: ../../Zotlabs/Module/Connections.php:312 ../../Zotlabs/Lib/Apps.php:216 +#: ../../include/text.php:934 ../../include/nav.php:203 msgid "Connections" msgstr "Verbindungen" -#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44 -#: ../../Zotlabs/Lib/Apps.php:230 ../../include/nav.php:168 -#: ../../include/text.php:986 ../../include/text.php:998 -#: ../../include/widgets.php:315 ../../include/acl_selectors.php:203 +#: ../../Zotlabs/Module/Connections.php:316 ../../Zotlabs/Module/Search.php:44 +#: ../../Zotlabs/Lib/Apps.php:237 ../../include/acl_selectors.php:213 +#: ../../include/widgets.php:316 ../../include/text.php:1004 +#: ../../include/text.php:1016 ../../include/nav.php:180 msgid "Search" msgstr "Suche" -#: ../../Zotlabs/Module/Connections.php:307 +#: ../../Zotlabs/Module/Connections.php:317 msgid "Search your connections" msgstr "Verbindungen durchsuchen" -#: ../../Zotlabs/Module/Connections.php:308 +#: ../../Zotlabs/Module/Connections.php:318 msgid "Connections search" msgstr "Verbindung suchen" -#: ../../Zotlabs/Module/Connections.php:309 -#: ../../Zotlabs/Module/Directory.php:391 -#: ../../Zotlabs/Module/Directory.php:396 ../../include/contact_widgets.php:23 +#: ../../Zotlabs/Module/Connections.php:319 +#: ../../Zotlabs/Module/Directory.php:392 +#: ../../Zotlabs/Module/Directory.php:397 ../../include/contact_widgets.php:23 msgid "Find" msgstr "Finde" @@ -1609,61 +1628,61 @@ msgid "Image resize failed." msgstr "Bild-Anpassung fehlgeschlagen." #: ../../Zotlabs/Module/Cover_photo.php:168 -#: ../../Zotlabs/Module/Profile_photo.php:196 ../../include/photos.php:149 +#: ../../Zotlabs/Module/Profile_photo.php:197 ../../include/photos.php:149 msgid "Unable to process image" msgstr "Kann Bild nicht verarbeiten" #: ../../Zotlabs/Module/Cover_photo.php:192 -#: ../../Zotlabs/Module/Profile_photo.php:231 +#: ../../Zotlabs/Module/Profile_photo.php:232 msgid "Image upload failed." msgstr "Hochladen des Bilds fehlgeschlagen." #: ../../Zotlabs/Module/Cover_photo.php:210 -#: ../../Zotlabs/Module/Profile_photo.php:250 +#: ../../Zotlabs/Module/Profile_photo.php:251 msgid "Unable to process image." msgstr "Kann Bild nicht verarbeiten." -#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4253 +#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4276 msgid "female" msgstr "weiblich" -#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4254 +#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4277 #, 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:4255 +#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4278 msgid "male" msgstr "männlich" -#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4256 +#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4279 #, 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:4258 +#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4281 #, 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:1677 +#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1764 msgid "cover photo" msgstr "Cover Foto" #: ../../Zotlabs/Module/Cover_photo.php:303 #: ../../Zotlabs/Module/Cover_photo.php:318 -#: ../../Zotlabs/Module/Profile_photo.php:311 -#: ../../Zotlabs/Module/Profile_photo.php:352 +#: ../../Zotlabs/Module/Profile_photo.php:312 +#: ../../Zotlabs/Module/Profile_photo.php:354 msgid "Photo not available." msgstr "Foto nicht verfügbar." #: ../../Zotlabs/Module/Cover_photo.php:354 -#: ../../Zotlabs/Module/Profile_photo.php:407 +#: ../../Zotlabs/Module/Profile_photo.php:409 msgid "Upload File:" msgstr "Datei hochladen:" #: ../../Zotlabs/Module/Cover_photo.php:355 -#: ../../Zotlabs/Module/Profile_photo.php:408 +#: ../../Zotlabs/Module/Profile_photo.php:410 msgid "Select a profile:" msgstr "Wähle ein Profil:" @@ -1672,33 +1691,33 @@ msgid "Upload Cover Photo" msgstr "Cover Foto hochladen" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:416 -#: ../../Zotlabs/Module/Settings/Channel.php:399 +#: ../../Zotlabs/Module/Profile_photo.php:418 +#: ../../Zotlabs/Module/Settings/Channel.php:404 msgid "or" msgstr "oder" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:416 +#: ../../Zotlabs/Module/Profile_photo.php:418 msgid "skip this step" msgstr "diesen Schritt überspringen" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:416 +#: ../../Zotlabs/Module/Profile_photo.php:418 msgid "select a photo from your photo albums" msgstr "ein Foto aus meinen Fotoalben" #: ../../Zotlabs/Module/Cover_photo.php:377 -#: ../../Zotlabs/Module/Profile_photo.php:435 +#: ../../Zotlabs/Module/Profile_photo.php:437 msgid "Crop Image" msgstr "Bild zuschneiden" #: ../../Zotlabs/Module/Cover_photo.php:378 -#: ../../Zotlabs/Module/Profile_photo.php:436 +#: ../../Zotlabs/Module/Profile_photo.php:438 msgid "Please adjust the image cropping for optimum viewing." msgstr "Bitte schneide das Bild für eine optimale Anzeige passend zu." #: ../../Zotlabs/Module/Cover_photo.php:380 -#: ../../Zotlabs/Module/Profile_photo.php:438 +#: ../../Zotlabs/Module/Profile_photo.php:440 msgid "Done Editing" msgstr "Bearbeitung fertigstellen" @@ -1727,20 +1746,8 @@ msgstr "Zusätzliche Funktionen verwalten" msgid "Log settings updated." msgstr "Protokoll-Einstellungen aktualisiert." -#: ../../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/Themes.php:120 -#: ../../Zotlabs/Module/Admin/Themes.php:154 -#: ../../Zotlabs/Module/Admin/Accounts.php:164 -#: ../../Zotlabs/Module/Admin/Channels.php:145 -#: ../../Zotlabs/Module/Admin/Site.php:258 ../../Zotlabs/Module/Admin.php:137 -msgid "Administration" -msgstr "Administration" - -#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1658 -#: ../../include/widgets.php:1668 +#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1618 +#: ../../include/widgets.php:1628 msgid "Logs" msgstr "Protokolle" @@ -1766,156 +1773,6 @@ msgstr "Muss für den Web-Server schreibbar sein. Relativ zum Hubzilla-Stammverz msgid "Log level" msgstr "Protokollstufe" -#: ../../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:60 ../../Zotlabs/Module/Thing.php:89 -#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3343 -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:1636 -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:211 ../../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:242 ../../Zotlabs/Module/Wiki.php:277 -#: ../../Zotlabs/Module/Settings/Oauth.php:88 -#: ../../Zotlabs/Module/Settings/Oauth.php:114 -#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 -#: ../../extend/addon/addon/friendica/dfrn_request.php:879 -#: ../../extend/addon/addon/js_upload/js_upload.php:46 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:866 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1154 -#: ../../include/conversation.php:1264 ../../include/conversation.php:1313 -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 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1152 -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/Photos.php:989 ../../Zotlabs/Module/Tagrm.php:137 -#: ../../extend/addon/addon/superblock/superblock.php:110 -msgid "Remove" -msgstr "Entfernen" - #: ../../Zotlabs/Module/Admin/Profs.php:69 msgid "New Profile Field" msgstr "Neues Profilfeld" @@ -1963,7 +1820,7 @@ msgstr "Feld-Definition nicht gefunden" msgid "Edit Profile Field" msgstr "Profilfeld bearbeiten" -#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1639 +#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1599 msgid "Profile Fields" msgstr "Profil Felder" @@ -1991,34 +1848,6 @@ msgstr "Benutzerdefinierte Felder" 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 "" "By default, unfiltered HTML is allowed in embedded media. This is inherently" @@ -2043,7 +1872,7 @@ msgid "" "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/Security.php:87 ../../include/widgets.php:1634 +#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1594 msgid "Security" msgstr "Sicherheit" @@ -2089,7 +1918,7 @@ msgstr "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deine #: ../../Zotlabs/Module/Admin/Security.php:94 msgid "Allow communications only from these sites" -msgstr "Kommunikation nur von diesen Seiten erlauben" +msgstr "Kommunikation nur von diesen Servern/Domains erlauben" #: ../../Zotlabs/Module/Admin/Security.php:94 msgid "" @@ -2099,7 +1928,7 @@ msgstr "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend #: ../../Zotlabs/Module/Admin/Security.php:95 msgid "Block communications from these sites" -msgstr "Kommunikation von diesen Seiten blockieren" +msgstr "Kommunikation von diesen Servern/Domains blockieren" #: ../../Zotlabs/Module/Admin/Security.php:96 msgid "Allow communications only from these channels" @@ -2129,7 +1958,7 @@ msgstr "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt #: ../../Zotlabs/Module/Admin/Security.php:100 msgid "Block embedded HTML from these domains" -msgstr "Eingebettete HTML Inhalte von diesen Seiten blockieren" +msgstr "Eingebettete HTML Inhalte von diesen Servern/Domains blockieren" #: ../../Zotlabs/Module/Admin/Themes.php:18 msgid "Theme settings updated." @@ -2139,15 +1968,46 @@ msgstr "Theme-Einstellungen aktualisiert." msgid "No themes found." msgstr "Keine Theme gefunden." +#: ../../Zotlabs/Module/Admin/Themes.php:93 +#: ../../Zotlabs/Module/Admin/Plugins.php:305 +msgid "Disable" +msgstr "Deaktivieren" + +#: ../../Zotlabs/Module/Admin/Themes.php:95 +#: ../../Zotlabs/Module/Admin/Plugins.php:308 +msgid "Enable" +msgstr "Aktivieren" + #: ../../Zotlabs/Module/Admin/Themes.php:114 msgid "Screenshot" msgstr "Bildschirmfoto" #: ../../Zotlabs/Module/Admin/Themes.php:121 -#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1637 +#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1597 msgid "Themes" msgstr "Themes" +#: ../../Zotlabs/Module/Admin/Themes.php:122 +#: ../../Zotlabs/Module/Admin/Plugins.php:338 +msgid "Toggle" +msgstr "Umschalten" + +#: ../../Zotlabs/Module/Admin/Themes.php:123 +#: ../../Zotlabs/Module/Admin/Plugins.php:339 ../../Zotlabs/Lib/Apps.php:223 +#: ../../include/widgets.php:699 ../../include/nav.php:225 +msgid "Settings" +msgstr "Einstellungen" + +#: ../../Zotlabs/Module/Admin/Themes.php:132 +#: ../../Zotlabs/Module/Admin/Plugins.php:346 +msgid "Author: " +msgstr "Autor: " + +#: ../../Zotlabs/Module/Admin/Themes.php:133 +#: ../../Zotlabs/Module/Admin/Plugins.php:347 +msgid "Maintainer: " +msgstr "Betreuer:" + #: ../../Zotlabs/Module/Admin/Themes.php:160 msgid "[Experimental]" msgstr "[Experimentell]" @@ -2227,7 +2087,7 @@ msgid "Account '%s' unblocked" msgstr "Konto '%s' freigegeben" #: ../../Zotlabs/Module/Admin/Accounts.php:165 -#: ../../Zotlabs/Module/Admin/Accounts.php:178 ../../include/widgets.php:1632 +#: ../../Zotlabs/Module/Admin/Accounts.php:178 ../../include/widgets.php:1592 msgid "Accounts" msgstr "Konten" @@ -2246,12 +2106,13 @@ msgstr "Antragsdatum" #: ../../Zotlabs/Module/Admin/Accounts.php:169 #: ../../Zotlabs/Module/Admin/Accounts.php:181 +#: ../../Zotlabs/Module/Connedit.php:871 #: ../../extend/addon/addon/redred/redred.php:107 #: ../../extend/addon/addon/rtof/rtof.php:93 #: ../../extend/addon/addon/cdav/Mod_Cdav.php:1140 #: ../../extend/addon/addon/openid/MysqlProvider.php:56 #: ../../extend/addon/addon/openid/MysqlProvider.php:57 -#: ../../include/network.php:2237 +#: ../../include/network.php:2247 msgid "Email" msgstr "E-Mail" @@ -2263,11 +2124,21 @@ msgstr "Keine Registrierungen." msgid "Deny" msgstr "Verweigern" +#: ../../Zotlabs/Module/Admin/Accounts.php:174 +#: ../../Zotlabs/Module/Connedit.php:594 +msgid "Block" +msgstr "Blockieren" + +#: ../../Zotlabs/Module/Admin/Accounts.php:175 +#: ../../Zotlabs/Module/Connedit.php:594 +msgid "Unblock" +msgstr "Freigeben" + #: ../../Zotlabs/Module/Admin/Accounts.php:180 msgid "ID" msgstr "ID" -#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/group.php:267 +#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/group.php:287 msgid "All Channels" msgstr "Alle Kanäle" @@ -2349,7 +2220,7 @@ msgstr "Code für Kanal '%s' freigegeben" msgid "Channel '%s' code disallowed" msgstr "Code für Kanal '%s' gesperrt" -#: ../../Zotlabs/Module/Admin/Channels.php:146 ../../include/widgets.php:1633 +#: ../../Zotlabs/Module/Admin/Channels.php:146 ../../include/widgets.php:1593 msgid "Channels" msgstr "Kanäle" @@ -2370,7 +2241,7 @@ msgid "Disallow Code" msgstr "Code sperren" #: ../../Zotlabs/Module/Admin/Channels.php:154 -#: ../../include/conversation.php:1671 +#: ../../include/conversation.php:1815 msgid "Channel" msgstr "Kanal" @@ -2378,6 +2249,13 @@ msgstr "Kanal" msgid "UID" msgstr "UID" +#: ../../Zotlabs/Module/Admin/Channels.php:160 +#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Connedit.php:874 +#: ../../Zotlabs/Module/Profiles.php:503 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1143 +msgid "Address" +msgstr "Adresse" + #: ../../Zotlabs/Module/Admin/Channels.php:162 msgid "" "Selected channels will be deleted!\\n\\nEverything that was posted in these " @@ -2434,7 +2312,7 @@ msgstr "Versuche, diesen Updateschritt automatisch auszuführen" msgid "Site settings updated." msgstr "Site-Einstellungen aktualisiert." -#: ../../Zotlabs/Module/Admin/Site.php:159 ../../include/text.php:2918 +#: ../../Zotlabs/Module/Admin/Site.php:159 ../../include/text.php:2931 msgid "Default" msgstr "Standard" @@ -2507,7 +2385,7 @@ msgstr "Experte - Ich kann Computercode schreiben" msgid "Wizard - I probably know more than you do" msgstr "Zauberer - ich kann wahrscheinlich mehr als Du" -#: ../../Zotlabs/Module/Admin/Site.php:259 ../../include/widgets.php:1631 +#: ../../Zotlabs/Module/Admin/Site.php:259 ../../include/widgets.php:1591 msgid "Site" msgstr "Seite" @@ -2801,61 +2679,152 @@ msgstr "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) In msgid "0 for no expiration of imported content" msgstr "0 = keine Löschung importierter Inhalte" -#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1454 -msgid "Public Hubs" -msgstr "Öffentliche Hubs" +#: ../../Zotlabs/Module/Admin/Plugins.php:284 +#, php-format +msgid "Plugin %s disabled." +msgstr "Plug-In %s deaktiviert." -#: ../../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 "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/Admin/Plugins.php:289 +#, php-format +msgid "Plugin %s enabled." +msgstr "Plug-In %s aktiviert." -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Hub URL" -msgstr "Hub-URL" +#: ../../Zotlabs/Module/Admin/Plugins.php:337 +#: ../../Zotlabs/Module/Admin/Plugins.php:432 ../../include/widgets.php:1596 +msgid "Plugins" +msgstr "Plug-Ins" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Access Type" -msgstr "Zugriffstyp" +#: ../../Zotlabs/Module/Admin/Plugins.php:348 +msgid "Minimum project version: " +msgstr "Minimale Version des Projekts:" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Registration Policy" -msgstr "Registrierungsrichtlinien" +#: ../../Zotlabs/Module/Admin/Plugins.php:349 +msgid "Maximum project version: " +msgstr "Maximale Version des Projekts:" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Stats" -msgstr "Statistiken" +#: ../../Zotlabs/Module/Admin/Plugins.php:350 +msgid "Minimum PHP version: " +msgstr "Minimale PHP Version:" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Software" -msgstr "Software" +#: ../../Zotlabs/Module/Admin/Plugins.php:351 +msgid "Compatible Server Roles: " +msgstr "Kompatible Serverrollen: " -#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97 -#: ../../include/conversation.php:974 -msgid "Ratings" -msgstr "Bewertungen" +#: ../../Zotlabs/Module/Admin/Plugins.php:352 +msgid "Requires: " +msgstr "Benötigt:" -#: ../../Zotlabs/Module/Pubsites.php:48 -msgid "Rate" -msgstr "Bewerten" +#: ../../Zotlabs/Module/Admin/Plugins.php:353 +#: ../../Zotlabs/Module/Admin/Plugins.php:437 +msgid "Disabled - version incompatibility" +msgstr "Abgeschaltet - Versionsinkompatibilität" -#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166 -#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Webpages.php:246 -#: ../../Zotlabs/Module/Wiki.php:146 ../../Zotlabs/Module/Events.php:685 -#: ../../include/page_widgets.php:42 ../../include/widgets.php:967 -msgid "View" -msgstr "Ansicht" +#: ../../Zotlabs/Module/Admin/Plugins.php:406 +msgid "Enter the public git repository URL of the plugin repo." +msgstr "Gib die öffentliche Git-Repository-URL des Plugin-Repository an." -#: ../../Zotlabs/Module/Editlayout.php:79 -#: ../../Zotlabs/Module/Editwebpage.php:80 -#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95 -#: ../../Zotlabs/Module/Editpost.php:24 -msgid "Item not found" -msgstr "Element nicht gefunden" +#: ../../Zotlabs/Module/Admin/Plugins.php:407 +msgid "Plugin repo git URL" +msgstr "Plugin-Repository Git URL" + +#: ../../Zotlabs/Module/Admin/Plugins.php:408 +msgid "Custom repo name" +msgstr "Benutzerdefinierter Repository-Name" + +#: ../../Zotlabs/Module/Admin/Plugins.php:408 +msgid "(optional)" +msgstr "(optional)" + +#: ../../Zotlabs/Module/Admin/Plugins.php:409 +msgid "Download Plugin Repo" +msgstr "Plugin-Repository herunterladen" + +#: ../../Zotlabs/Module/Admin/Plugins.php:416 +msgid "Install new repo" +msgstr "Neues Repository installieren" + +#: ../../Zotlabs/Module/Admin/Plugins.php:417 ../../Zotlabs/Lib/Apps.php:348 +msgid "Install" +msgstr "Installieren" + +#: ../../Zotlabs/Module/Admin/Plugins.php:418 +#: ../../Zotlabs/Module/Connedit.php:885 ../../Zotlabs/Module/Fbrowser.php:66 +#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Wiki.php:263 +#: ../../Zotlabs/Module/Wiki.php:288 +#: ../../Zotlabs/Module/Settings/Oauth.php:88 +#: ../../Zotlabs/Module/Settings/Oauth.php:114 +#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 +#: ../../extend/addon/addon/friendica/dfrn_request.php:879 +#: ../../extend/addon/addon/js_upload/js_upload.php:46 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:866 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1154 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:243 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:266 +#: ../../include/conversation.php:1394 ../../include/conversation.php:1443 +msgid "Cancel" +msgstr "Abbrechen" + +#: ../../Zotlabs/Module/Admin/Plugins.php:440 +msgid "Manage Repos" +msgstr "Repositorien verwalten" + +#: ../../Zotlabs/Module/Admin/Plugins.php:441 +msgid "Installed Plugin Repositories" +msgstr "Installierte Plugin-Repositorien" + +#: ../../Zotlabs/Module/Admin/Plugins.php:442 +msgid "Install a New Plugin Repository" +msgstr "Ein neues Plugin-Repository installieren" + +#: ../../Zotlabs/Module/Admin/Plugins.php:448 +#: ../../Zotlabs/Module/Connedit.php:883 +#: ../../Zotlabs/Module/Settings/Oauth.php:42 +#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:348 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1152 +msgid "Update" +msgstr "Aktualisieren" + +#: ../../Zotlabs/Module/Admin/Plugins.php:449 +msgid "Switch branch" +msgstr "Zweig/Branch wechseln" + +#: ../../Zotlabs/Module/Admin/Queue.php:35 +msgid "Queue Statistics" +msgstr "Warteschlangenstatistiken" + +#: ../../Zotlabs/Module/Admin/Queue.php:36 +msgid "Total Entries" +msgstr "Einträge insgesamt" + +#: ../../Zotlabs/Module/Admin/Queue.php:37 +msgid "Priority" +msgstr "Priorität" + +#: ../../Zotlabs/Module/Admin/Queue.php:38 +msgid "Destination URL" +msgstr "Ziel-URL" + +#: ../../Zotlabs/Module/Admin/Queue.php:39 +msgid "Mark hub permanently offline" +msgstr "Hub als permanent offline markieren" + +#: ../../Zotlabs/Module/Admin/Queue.php:40 +msgid "Empty queue for this hub" +msgstr "Warteschlange für diesen Hub leeren" + +#: ../../Zotlabs/Module/Admin/Queue.php:41 +msgid "Last known contact" +msgstr "Letzter Kontakt" + +#: ../../Zotlabs/Module/Search.php:223 +#, php-format +msgid "Items tagged with: %s" +msgstr "Beiträge mit Schlagwort: %s" + +#: ../../Zotlabs/Module/Search.php:225 +#, php-format +msgid "Search results for: %s" +msgstr "Suchergebnisse für: %s" #: ../../Zotlabs/Module/Editlayout.php:127 #: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188 @@ -2875,38 +2844,122 @@ msgstr "Layout bearbeiten" msgid "Page link" msgstr "Seiten-Link" -#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Mail.php:258 -#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Module/Editblock.php:111 -#: ../../Zotlabs/Module/Chat.php:207 ../../include/conversation.php:1165 -msgid "Insert web link" -msgstr "Link einfügen" - #: ../../Zotlabs/Module/Editwebpage.php:169 msgid "Edit Webpage" msgstr "Webseite bearbeiten" -#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222 -#: ../../include/nav.php:95 ../../include/conversation.php:1692 -msgid "Photos" -msgstr "Fotos" +#: ../../Zotlabs/Module/Like.php:19 +msgid "Like/Dislike" +msgstr "Mögen/Nicht mögen" -#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Wiki.php:20 -#: ../../Zotlabs/Module/Chat.php:25 -#: ../../extend/addon/addon/chess/chess.php:400 -msgid "You must be logged in to see this page." -msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können." +#: ../../Zotlabs/Module/Like.php:24 +msgid "This action is restricted to members." +msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden." -#: ../../Zotlabs/Module/Channel.php:44 -msgid "Posts and comments" -msgstr "Beiträge und Kommentare" +#: ../../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/Channel.php:45 -msgid "Only posts" -msgstr "Nur Beiträge" +#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131 +#: ../../Zotlabs/Module/Like.php:169 +msgid "Invalid request." +msgstr "Ungültige Anfrage." -#: ../../Zotlabs/Module/Channel.php:104 -msgid "Insufficient permissions. Request redirected to profile page." -msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet." +#: ../../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 +#: ../../extend/addon/addon/diaspora/inbound.php:1794 +#: ../../extend/addon/addon/redphotos/redphotohelper.php:74 +#: ../../include/conversation.php:120 ../../include/text.php:1953 +msgid "photo" +msgstr "Foto" + +#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87 +#: ../../extend/addon/addon/diaspora/inbound.php:1794 +#: ../../include/conversation.php:148 ../../include/text.php:1959 +msgid "status" +msgstr "Status" + +#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:260 +#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123 +#: ../../include/text.php:1956 ../../include/event.php:1000 +msgid "event" +msgstr "Termin" + +#: ../../Zotlabs/Module/Like.php:419 +#: ../../extend/addon/addon/diaspora/inbound.php:1823 +#: ../../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/Network.php:96 msgid "No such group" @@ -2972,18 +3025,22 @@ msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden" msgid "Submit and proceed" msgstr "Absenden und fortfahren" -#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2271 +#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2284 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/Blocks.php:157 -#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:251 +#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:255 #: ../../include/page_widgets.php:47 msgid "Created" msgstr "Erstellt" #: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158 -#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:252 +#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:256 #: ../../include/page_widgets.php:48 msgid "Edited" msgstr "Geändert" @@ -3045,98 +3102,545 @@ msgstr "Erlaube Lesezeichen" msgid "Not found." msgstr "Nicht gefunden." -#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53 -msgid "App installed." -msgstr "App installiert." +#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54 +msgid "Location not found." +msgstr "Klon nicht gefunden." -#: ../../Zotlabs/Module/Appman.php:46 -msgid "Malformed app." -msgstr "Fehlerhafte App." +#: ../../Zotlabs/Module/Locs.php:62 +msgid "Location lookup failed." +msgstr "Nachschlagen des Kanal-Ortes fehlgeschlagen" -#: ../../Zotlabs/Module/Appman.php:104 -msgid "Embed code" -msgstr "Code einbetten" +#: ../../Zotlabs/Module/Locs.php:66 +msgid "" +"Please select another location to become primary before removing the primary" +" location." +msgstr "Bitte mache einen anderen Kanal-Ort zum primären Ort, bevor Du den primären Ort löschst." -#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107 -msgid "Edit App" -msgstr "App bearbeiten" +#: ../../Zotlabs/Module/Locs.php:95 +msgid "Syncing locations" +msgstr "Synchronisiere Klone" -#: ../../Zotlabs/Module/Appman.php:110 -msgid "Create App" -msgstr "App erstellen" +#: ../../Zotlabs/Module/Locs.php:105 +msgid "No locations found." +msgstr "Keine Klon-Adressen gefunden." -#: ../../Zotlabs/Module/Appman.php:115 -msgid "Name of app" -msgstr "Name der App" +#: ../../Zotlabs/Module/Locs.php:116 +msgid "Manage Channel Locations" +msgstr "Klon-Adressen verwalten" -#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116 -#: ../../Zotlabs/Module/Profiles.php:703 ../../Zotlabs/Module/Profiles.php:707 -#: ../../Zotlabs/Module/Events.php:453 ../../Zotlabs/Module/Events.php:458 -#: ../../include/datetime.php:259 -msgid "Required" -msgstr "Benötigt" +#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Pubsites.php:51 +#: ../../Zotlabs/Module/Profiles.php:510 ../../Zotlabs/Module/Profiles.php:733 +#: ../../Zotlabs/Module/Events.php:475 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:839 +#: ../../include/js_strings.php:25 +msgid "Location" +msgstr "Ort" -#: ../../Zotlabs/Module/Appman.php:116 -msgid "Location (URL) of app" -msgstr "Ort (URL) der App" +#: ../../Zotlabs/Module/Locs.php:119 +msgid "Primary" +msgstr "Primär" -#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Rbmark.php:101 -#: ../../Zotlabs/Module/Events.php:466 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:838 -#: ../../extend/addon/addon/rendezvous/rendezvous.php:133 -msgid "Description" -msgstr "Beschreibung" +#: ../../Zotlabs/Module/Locs.php:122 +msgid "Sync Now" +msgstr "Jetzt synchronisieren" -#: ../../Zotlabs/Module/Appman.php:118 -msgid "Photo icon URL" -msgstr "URL zum Icon" +#: ../../Zotlabs/Module/Locs.php:123 +msgid "Please wait several minutes between consecutive operations." +msgstr "Bitte warte mehrere Minuten zwischen dem Ausführen zweier Operationen!" -#: ../../Zotlabs/Module/Appman.php:118 -msgid "80 x 80 pixels - optional" -msgstr "80 x 80 Pixel – optional" +#: ../../Zotlabs/Module/Locs.php:124 +msgid "" +"When possible, drop a location by logging into that website/hub and removing" +" your channel." +msgstr "Wenn möglich, lösche einen Klon, indem Du Dich auf dem jeweiligen Hub einloggst und den Kanal dort löschst." -#: ../../Zotlabs/Module/Appman.php:119 -msgid "Categories (optional, comma separated list)" -msgstr "Kategorien (optional, kommagetrennte Liste)" +#: ../../Zotlabs/Module/Locs.php:125 +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/Appman.php:120 -msgid "Version ID" -msgstr "Versions-ID" +#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1415 +msgid "Public Hubs" +msgstr "Öffentliche Hubs" -#: ../../Zotlabs/Module/Appman.php:121 -msgid "Price of app" -msgstr "Preis der App" +#: ../../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 "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/Appman.php:122 -msgid "Location (URL) to purchase app" -msgstr "Ort (URL), um die App zu kaufen" +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Hub URL" +msgstr "Hub-URL" -#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:107 -msgid "Edit post" -msgstr "Bearbeite Beitrag" +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Access Type" +msgstr "Zugriffstyp" -#: ../../Zotlabs/Module/Help.php:23 -msgid "Documentation Search" -msgstr "Suche in der Dokumentation" +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Registration Policy" +msgstr "Registrierungsrichtlinien" -#: ../../Zotlabs/Module/Help.php:82 -msgid "$Projectname Documentation" -msgstr "$Projectname-Dokumentation" +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Stats" +msgstr "Statistiken" -#: ../../Zotlabs/Module/Ffsapi.php:12 -msgid "Share content from Firefox to $Projectname" -msgstr "Inhalte von Firefox nach $Projectname teilen" +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Software" +msgstr "Software" -#: ../../Zotlabs/Module/Ffsapi.php:15 -msgid "Activate the Firefox $Projectname provider" -msgstr "Aktiviert den $Projectname-Provider für firefox" +#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97 +#: ../../include/conversation.php:941 ../../include/conversation.php:1099 +msgid "Ratings" +msgstr "Bewertungen" -#: ../../Zotlabs/Module/Apps.php:46 ../../include/nav.php:166 -#: ../../include/widgets.php:102 -msgid "Apps" -msgstr "Apps" +#: ../../Zotlabs/Module/Pubsites.php:48 +msgid "Rate" +msgstr "Bewerten" + +#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166 +#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Events.php:694 +#: ../../Zotlabs/Module/Webpages.php:250 ../../Zotlabs/Module/Wiki.php:165 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:151 +#: ../../include/page_widgets.php:42 +msgid "View" +msgstr "Ansicht" + +#: ../../Zotlabs/Module/Connedit.php:82 +msgid "Could not access contact record." +msgstr "Konnte nicht auf den Kontakteintrag zugreifen." + +#: ../../Zotlabs/Module/Connedit.php:112 +msgid "Could not locate selected profile." +msgstr "Gewähltes Profil nicht gefunden." + +#: ../../Zotlabs/Module/Connedit.php:249 +msgid "Connection updated." +msgstr "Verbindung aktualisiert." + +#: ../../Zotlabs/Module/Connedit.php:251 +msgid "Failed to update connection record." +msgstr "Konnte den Verbindungseintrag nicht aktualisieren." + +#: ../../Zotlabs/Module/Connedit.php:301 +msgid "is now connected to" +msgstr "ist jetzt verbunden mit" + +#: ../../Zotlabs/Module/Connedit.php:434 +msgid "Could not access address book record." +msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen." + +#: ../../Zotlabs/Module/Connedit.php:454 +msgid "Refresh failed - channel is currently unavailable." +msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar." + +#: ../../Zotlabs/Module/Connedit.php:469 ../../Zotlabs/Module/Connedit.php:478 +#: ../../Zotlabs/Module/Connedit.php:487 ../../Zotlabs/Module/Connedit.php:496 +#: ../../Zotlabs/Module/Connedit.php:509 +msgid "Unable to set address book parameters." +msgstr "Konnte die Adressbuch-Parameter nicht setzen." + +#: ../../Zotlabs/Module/Connedit.php:533 +msgid "Connection has been removed." +msgstr "Verbindung wurde gelöscht." + +#: ../../Zotlabs/Module/Connedit.php:573 ../../Zotlabs/Lib/Apps.php:228 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:57 +#: ../../include/conversation.php:936 ../../include/conversation.php:1049 +#: ../../include/nav.php:103 +msgid "View Profile" +msgstr "Profil ansehen" + +#: ../../Zotlabs/Module/Connedit.php:576 +#, php-format +msgid "View %s's profile" +msgstr "%ss Profil ansehen" + +#: ../../Zotlabs/Module/Connedit.php:580 +msgid "Refresh Permissions" +msgstr "Zugriffsrechte neu laden" + +#: ../../Zotlabs/Module/Connedit.php:583 +msgid "Fetch updated permissions" +msgstr "Aktualisierte Zugriffsrechte abfragen" + +#: ../../Zotlabs/Module/Connedit.php:587 +msgid "Recent Activity" +msgstr "Kürzliche Aktivitäten" + +#: ../../Zotlabs/Module/Connedit.php:590 +msgid "View recent posts and comments" +msgstr "Betrachte die neuesten Beiträge und Kommentare" + +#: ../../Zotlabs/Module/Connedit.php:597 +msgid "Block (or Unblock) all communications with this connection" +msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen" + +#: ../../Zotlabs/Module/Connedit.php:598 +msgid "This connection is blocked!" +msgstr "Die Verbindung ist geblockt!" + +#: ../../Zotlabs/Module/Connedit.php:602 +msgid "Unignore" +msgstr "Nicht ignorieren" + +#: ../../Zotlabs/Module/Connedit.php:605 +msgid "Ignore (or Unignore) all inbound communications from this connection" +msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen" + +#: ../../Zotlabs/Module/Connedit.php:606 +msgid "This connection is ignored!" +msgstr "Die Verbindung wird ignoriert!" + +#: ../../Zotlabs/Module/Connedit.php:610 +msgid "Unarchive" +msgstr "Aus Archiv zurückholen" + +#: ../../Zotlabs/Module/Connedit.php:610 +msgid "Archive" +msgstr "Archivieren" + +#: ../../Zotlabs/Module/Connedit.php:613 +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:614 +msgid "This connection is archived!" +msgstr "Die Verbindung ist archiviert!" + +#: ../../Zotlabs/Module/Connedit.php:618 +msgid "Unhide" +msgstr "Wieder sichtbar machen" + +#: ../../Zotlabs/Module/Connedit.php:618 +msgid "Hide" +msgstr "Verstecken" + +#: ../../Zotlabs/Module/Connedit.php:621 +msgid "Hide or Unhide this connection from your other connections" +msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen" + +#: ../../Zotlabs/Module/Connedit.php:622 +msgid "This connection is hidden!" +msgstr "Die Verbindung ist versteckt!" + +#: ../../Zotlabs/Module/Connedit.php:629 +msgid "Delete this connection" +msgstr "Verbindung löschen" + +#: ../../Zotlabs/Module/Connedit.php:640 +msgid "Open Individual Permissions section by default" +msgstr "Öffne standardmäßig den Bereich für individuelle Berechtigungen" + +#: ../../Zotlabs/Module/Connedit.php:663 +msgid "Affinity" +msgstr "Beziehung" + +#: ../../Zotlabs/Module/Connedit.php:666 +msgid "Open Set Affinity section by default" +msgstr "Öffne standardmäßig den Bereich für Beziehungsgrad-Einstellungen" + +#: ../../Zotlabs/Module/Connedit.php:670 ../../include/widgets.php:540 +msgid "Me" +msgstr "Ich" + +#: ../../Zotlabs/Module/Connedit.php:671 ../../include/widgets.php:541 +msgid "Family" +msgstr "Familie" + +#: ../../Zotlabs/Module/Connedit.php:672 +#: ../../Zotlabs/Module/Settings/Channel.php:62 +#: ../../Zotlabs/Module/Settings/Channel.php:66 +#: ../../Zotlabs/Module/Settings/Channel.php:67 +#: ../../Zotlabs/Module/Settings/Channel.php:70 +#: ../../Zotlabs/Module/Settings/Channel.php:81 +#: ../../include/selectors.php:123 ../../include/widgets.php:542 +#: ../../include/channel.php:408 ../../include/channel.php:409 +#: ../../include/channel.php:416 +msgid "Friends" +msgstr "Freunde" + +#: ../../Zotlabs/Module/Connedit.php:673 ../../include/widgets.php:543 +msgid "Acquaintances" +msgstr "Bekannte" + +#: ../../Zotlabs/Module/Connedit.php:700 +msgid "Filter" +msgstr "Filter" + +#: ../../Zotlabs/Module/Connedit.php:703 +msgid "Open Custom Filter section by default" +msgstr "Öffne standardmäßig den Bereich für benutzerdefinierte Filter" + +#: ../../Zotlabs/Module/Connedit.php:740 +msgid "Approve this connection" +msgstr "Verbindung genehmigen" + +#: ../../Zotlabs/Module/Connedit.php:740 +msgid "Accept connection to allow communication" +msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen" + +#: ../../Zotlabs/Module/Connedit.php:745 +msgid "Set Affinity" +msgstr "Beziehung festlegen" + +#: ../../Zotlabs/Module/Connedit.php:748 +msgid "Set Profile" +msgstr "Profil festlegen" + +#: ../../Zotlabs/Module/Connedit.php:751 +msgid "Set Affinity & Profile" +msgstr "Beziehung und Profile festlegen" + +#: ../../Zotlabs/Module/Connedit.php:809 +msgid "none" +msgstr "Keine" + +#: ../../Zotlabs/Module/Connedit.php:812 ../../include/widgets.php:675 +msgid "Connection Default Permissions" +msgstr "Standardzugriffsrechte für neue Verbindungen:" + +#: ../../Zotlabs/Module/Connedit.php:812 ../../include/items.php:3932 +#, php-format +msgid "Connection: %s" +msgstr "Verbindung: %s" + +#: ../../Zotlabs/Module/Connedit.php:813 +msgid "Apply these permissions automatically" +msgstr "Diese Berechtigungen automatisch anwenden" + +#: ../../Zotlabs/Module/Connedit.php:813 +msgid "Connection requests will be approved without your interaction" +msgstr "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist." + +#: ../../Zotlabs/Module/Connedit.php:814 +msgid "Permission role" +msgstr "Berechtigungsrolle" + +#: ../../Zotlabs/Module/Connedit.php:815 +msgid "Add permission role" +msgstr "Berechtigungsrolle hinzufügen" + +#: ../../Zotlabs/Module/Connedit.php:821 +msgid "This connection's primary address is" +msgstr "Die Hauptadresse der Verbindung ist" + +#: ../../Zotlabs/Module/Connedit.php:822 +msgid "Available locations:" +msgstr "Verfügbare Klone:" + +#: ../../Zotlabs/Module/Connedit.php:826 +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:827 +msgid "Connection Tools" +msgstr "Verbindungswerkzeuge" + +#: ../../Zotlabs/Module/Connedit.php:829 +msgid "Slide to adjust your degree of friendship" +msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen" + +#: ../../Zotlabs/Module/Connedit.php:830 ../../Zotlabs/Module/Rate.php:155 +#: ../../include/js_strings.php:20 +msgid "Rating" +msgstr "Bewertung" + +#: ../../Zotlabs/Module/Connedit.php:831 +msgid "Slide to adjust your rating" +msgstr "Verschieben, um Deine Bewertung einzustellen" + +#: ../../Zotlabs/Module/Connedit.php:832 ../../Zotlabs/Module/Connedit.php:837 +msgid "Optionally explain your rating" +msgstr "Optional kannst Du Deine Bewertung begründen" + +#: ../../Zotlabs/Module/Connedit.php:834 +msgid "Custom Filter" +msgstr "Benutzerdefinierter Filter" + +#: ../../Zotlabs/Module/Connedit.php:835 +msgid "Only import posts with this text" +msgstr "Nur Beiträge mit diesem Text importieren" + +#: ../../Zotlabs/Module/Connedit.php:835 ../../Zotlabs/Module/Connedit.php:836 +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:836 +msgid "Do not import posts with this text" +msgstr "Beiträge mit diesem Text nicht importieren" + +#: ../../Zotlabs/Module/Connedit.php:838 +msgid "This information is public!" +msgstr "Diese Information ist öffentlich!" + +#: ../../Zotlabs/Module/Connedit.php:843 +msgid "Connection Pending Approval" +msgstr "Verbindung wartet auf Bestätigung" + +#: ../../Zotlabs/Module/Connedit.php:846 +#: ../../Zotlabs/Module/Settings/Tokens.php:163 +#: ../../Zotlabs/Module/Settings/Permcats.php:107 +msgid "inherited" +msgstr "geerbt" + +#: ../../Zotlabs/Module/Connedit.php:848 +#, 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/Connedit.php:850 +#: ../../Zotlabs/Module/Settings/Tokens.php:160 +msgid "Their Settings" +msgstr "Deren Einstellungen" + +#: ../../Zotlabs/Module/Connedit.php:851 +#: ../../Zotlabs/Module/Settings/Tokens.php:161 +#: ../../Zotlabs/Module/Settings/Permcats.php:105 +msgid "My Settings" +msgstr "Meine Einstellungen" + +#: ../../Zotlabs/Module/Connedit.php:853 +#: ../../Zotlabs/Module/Settings/Tokens.php:166 +#: ../../Zotlabs/Module/Settings/Permcats.php:110 +msgid "Individual Permissions" +msgstr "Individuelle Zugriffsrechte" + +#: ../../Zotlabs/Module/Connedit.php:854 +#: ../../Zotlabs/Module/Settings/Tokens.php:167 +#: ../../Zotlabs/Module/Settings/Permcats.php:111 +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." + +#: ../../Zotlabs/Module/Connedit.php:855 +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/Connedit.php:856 +msgid "Last update:" +msgstr "Letzte Aktualisierung:" + +#: ../../Zotlabs/Module/Connedit.php:865 +msgid "Details" +msgstr "Details" + +#: ../../Zotlabs/Module/Connedit.php:868 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1137 +msgid "Organisation" +msgstr "Organisation" + +#: ../../Zotlabs/Module/Connedit.php:869 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1138 +#: ../../include/page_widgets.php:46 +msgid "Title" +msgstr "Titel" + +#: ../../Zotlabs/Module/Connedit.php:870 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1139 +msgid "Phone" +msgstr "Telefon" + +#: ../../Zotlabs/Module/Connedit.php:872 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1141 +msgid "Instant messenger" +msgstr "Sofortnachrichtendienst" + +#: ../../Zotlabs/Module/Connedit.php:873 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1142 +msgid "Website" +msgstr "Webseite" + +#: ../../Zotlabs/Module/Connedit.php:875 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1144 +msgid "Note" +msgstr "Hinweis" + +#: ../../Zotlabs/Module/Connedit.php:876 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1145 +#: ../../extend/addon/addon/cdav/cdav.php:270 +#: ../../include/connections.php:894 +msgid "Mobile" +msgstr "Mobil" + +#: ../../Zotlabs/Module/Connedit.php:877 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1146 +#: ../../extend/addon/addon/cdav/cdav.php:271 +#: ../../include/connections.php:895 +msgid "Home" +msgstr "Home" + +#: ../../Zotlabs/Module/Connedit.php:878 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1147 +#: ../../extend/addon/addon/cdav/cdav.php:274 +#: ../../include/connections.php:898 +msgid "Work" +msgstr "Arbeit" + +#: ../../Zotlabs/Module/Connedit.php:880 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:368 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1149 +msgid "Add Contact" +msgstr "Kontakt hinzufügen" + +#: ../../Zotlabs/Module/Connedit.php:881 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1150 +msgid "Add Field" +msgstr "Feld hinzufügen" + +#: ../../Zotlabs/Module/Connedit.php:886 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1155 +msgid "P.O. Box" +msgstr "Postfach" + +#: ../../Zotlabs/Module/Connedit.php:887 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1156 +msgid "Additional" +msgstr "Zusätzlich" + +#: ../../Zotlabs/Module/Connedit.php:888 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1157 +msgid "Street" +msgstr "Straße" + +#: ../../Zotlabs/Module/Connedit.php:889 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1158 +msgid "Locality" +msgstr "Ortschaft" + +#: ../../Zotlabs/Module/Connedit.php:890 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1159 +msgid "Region" +msgstr "Region" + +#: ../../Zotlabs/Module/Connedit.php:891 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1160 +msgid "ZIP Code" +msgstr "Postleitzahl" + +#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Profiles.php:756 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1161 +msgid "Country" +msgstr "Land" #: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82 +#: ../../extend/addon/addon/opensearch/opensearch.php:42 msgid "$Projectname" msgstr "$Projectname" @@ -3157,13 +3661,6 @@ msgstr "Datei nicht gefunden." msgid "Edit file permissions" msgstr "Dateiberechtigungen bearbeiten" -#: ../../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:208 -msgid "Permissions" -msgstr "Berechtigungen" - #: ../../Zotlabs/Module/Filestorage.php:159 msgid "Set/edit permissions" msgstr "Berechtigungen setzen/ändern" @@ -3196,273 +3693,164 @@ msgstr "URL zu dieser Datei anzeigen" msgid "Notify your contacts about this file" msgstr "Meine Kontakte über diese Datei benachrichtigen" -#: ../../Zotlabs/Module/Directory.php:64 ../../Zotlabs/Module/Display.php:17 -#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Photos.php:509 -#: ../../Zotlabs/Module/Search.php:17 -#: ../../Zotlabs/Module/Viewconnections.php:23 -#: ../../extend/addon/addon/friendica/dfrn_request.php:794 -msgid "Public access denied." -msgstr "Öffentlichen Zugriff verweigert." - -#: ../../Zotlabs/Module/Directory.php:245 -#, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "%d Bewertung" -msgstr[1] "%d Bewertungen" - -#: ../../Zotlabs/Module/Directory.php:256 -msgid "Gender: " -msgstr "Geschlecht:" - -#: ../../Zotlabs/Module/Directory.php:258 -msgid "Status: " -msgstr "Status:" - -#: ../../Zotlabs/Module/Directory.php:260 -msgid "Homepage: " -msgstr "Webseite:" - -#: ../../Zotlabs/Module/Directory.php:309 ../../include/channel.php:1215 -msgid "Age:" -msgstr "Alter:" - -#: ../../Zotlabs/Module/Directory.php:314 ../../include/channel.php:1051 -#: ../../include/event.php:52 ../../include/event.php:84 -#: ../../include/bb2diaspora.php:520 -msgid "Location:" -msgstr "Ort:" - -#: ../../Zotlabs/Module/Directory.php:320 -msgid "Description:" -msgstr "Beschreibung:" - -#: ../../Zotlabs/Module/Directory.php:325 ../../include/channel.php:1231 -msgid "Hometown:" -msgstr "Heimatstadt:" - -#: ../../Zotlabs/Module/Directory.php:327 ../../include/channel.php:1239 -msgid "About:" -msgstr "Ãœber:" - -#: ../../Zotlabs/Module/Directory.php:329 -msgid "Public Forum:" -msgstr "Öffentliches Forum:" - -#: ../../Zotlabs/Module/Directory.php:332 -msgid "Keywords: " -msgstr "Schlüsselwörter:" - -#: ../../Zotlabs/Module/Directory.php:335 -msgid "Don't suggest" -msgstr "Nicht vorschlagen" - -#: ../../Zotlabs/Module/Directory.php:337 -msgid "Common connections:" -msgstr "Gemeinsame Verbindungen:" - -#: ../../Zotlabs/Module/Directory.php:386 -msgid "Global Directory" -msgstr "Globales Verzeichnis" - -#: ../../Zotlabs/Module/Directory.php:386 -msgid "Local Directory" -msgstr "Lokales Verzeichnis" - -#: ../../Zotlabs/Module/Directory.php:392 -msgid "Finding:" -msgstr "Ergebnisse:" - -#: ../../Zotlabs/Module/Directory.php:395 ../../Zotlabs/Module/Suggest.php:64 -#: ../../include/contact_widgets.php:24 -msgid "Channel Suggestions" -msgstr "Kanal-Vorschläge" - -#: ../../Zotlabs/Module/Directory.php:397 -msgid "next page" -msgstr "nächste Seite" - -#: ../../Zotlabs/Module/Directory.php:397 -msgid "previous page" -msgstr "vorherige Seite" - -#: ../../Zotlabs/Module/Directory.php:398 -msgid "Sort options" -msgstr "Sortieroptionen" - -#: ../../Zotlabs/Module/Directory.php:399 -msgid "Alphabetic" -msgstr "alphabetisch" - -#: ../../Zotlabs/Module/Directory.php:400 -msgid "Reverse Alphabetic" -msgstr "Entgegengesetzt alphabetisch" - -#: ../../Zotlabs/Module/Directory.php:401 -msgid "Newest to Oldest" -msgstr "Neueste zuerst" - -#: ../../Zotlabs/Module/Directory.php:402 -msgid "Oldest to Newest" -msgstr "Älteste zuerst" +#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:229 +#: ../../include/conversation.php:1836 +msgid "Photos" +msgstr "Fotos" -#: ../../Zotlabs/Module/Directory.php:419 -msgid "No entries (some entries may be hidden)." -msgstr "Keine Einträge gefunden (einige könnten versteckt sein)." +#: ../../Zotlabs/Module/Apps.php:45 ../../include/widgets.php:102 +#: ../../include/nav.php:178 +msgid "Apps" +msgstr "Apps" -#: ../../Zotlabs/Module/Item.php:184 -msgid "Unable to locate original post." -msgstr "Originalbeitrag nicht gefunden." +#: ../../Zotlabs/Module/Cal.php:69 +msgid "Permissions denied." +msgstr "Berechtigung verweigert." -#: ../../Zotlabs/Module/Item.php:447 -msgid "Empty post discarded." -msgstr "Leeren Beitrag verworfen." +#: ../../Zotlabs/Module/Cal.php:263 ../../Zotlabs/Module/Events.php:605 +msgid "l, F j" +msgstr "l, j. F" -#: ../../Zotlabs/Module/Item.php:489 -msgid "Executable content type not permitted to this channel." -msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben." +#: ../../Zotlabs/Module/Cal.php:312 ../../Zotlabs/Module/Events.php:660 +#: ../../include/text.php:1761 +msgid "Link to Source" +msgstr "Link zur Quelle" -#: ../../Zotlabs/Module/Item.php:871 -msgid "Duplicate post suppressed." -msgstr "Doppelter Beitrag unterdrückt." +#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:688 +msgid "Edit Event" +msgstr "Termin bearbeiten" -#: ../../Zotlabs/Module/Item.php:1013 -msgid "System error. Post not saved." -msgstr "Systemfehler. Beitrag nicht gespeichert." +#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:688 +msgid "Create Event" +msgstr "Termin anlegen" -#: ../../Zotlabs/Module/Item.php:1137 -msgid "Unable to obtain post information from database." -msgstr "Beitragsinformationen können nicht aus der Datenbank abgerufen werden." +#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:691 +#: ../../include/channel.php:1370 +msgid "Export" +msgstr "Exportieren" -#: ../../Zotlabs/Module/Item.php:1144 -#, 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/Cal.php:341 ../../include/text.php:2307 +msgid "Import" +msgstr "Import" -#: ../../Zotlabs/Module/Item.php:1151 -#, 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/Cal.php:345 ../../Zotlabs/Module/Events.php:700 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:848 +msgid "Today" +msgstr "Heute" -#: ../../Zotlabs/Module/Chanview.php:134 -msgid "toggle full screen mode" -msgstr "auf Vollbildmodus umschalten" +#: ../../Zotlabs/Module/Group.php:24 +msgid "Privacy group created." +msgstr "Gruppe wurde erstellt." -#: ../../Zotlabs/Module/Follow.php:31 -msgid "Channel added." -msgstr "Kanal hinzugefügt." +#: ../../Zotlabs/Module/Group.php:30 +msgid "Could not create privacy group." +msgstr "Gruppe konnte nicht erstellt werden." -#: ../../Zotlabs/Module/Mail.php:38 -msgid "Unable to lookup recipient." -msgstr "Konnte den Empfänger nicht finden." +#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141 +#: ../../include/items.php:3899 +msgid "Privacy group not found." +msgstr "Gruppe nicht gefunden." -#: ../../Zotlabs/Module/Mail.php:45 -msgid "Unable to communicate with requested channel." -msgstr "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen." +#: ../../Zotlabs/Module/Group.php:58 +msgid "Privacy group updated." +msgstr "Gruppe wurde aktualisiert." -#: ../../Zotlabs/Module/Mail.php:52 -msgid "Cannot verify requested channel." -msgstr "Verifizierung des angeforderten Kanals fehlgeschlagen." +#: ../../Zotlabs/Module/Group.php:90 +msgid "Create a group of channels." +msgstr "Erstelle eine Gruppe für Kanäle." -#: ../../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/Group.php:91 ../../Zotlabs/Module/Group.php:184 +msgid "Privacy group name: " +msgstr "Gruppenname:" -#: ../../Zotlabs/Module/Mail.php:149 -msgid "Messages" -msgstr "Nachrichten" +#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187 +msgid "Members are visible to other channels" +msgstr "Mitglieder sind sichtbar für andere Kanäle" -#: ../../Zotlabs/Module/Mail.php:184 -msgid "Message recalled." -msgstr "Nachricht widerrufen." +#: ../../Zotlabs/Module/Group.php:111 +msgid "Privacy group removed." +msgstr "Gruppe wurde entfernt." -#: ../../Zotlabs/Module/Mail.php:197 -msgid "Conversation removed." -msgstr "Unterhaltung gelöscht." +#: ../../Zotlabs/Module/Group.php:113 +msgid "Unable to remove privacy group." +msgstr "Gruppe konnte nicht entfernt werden." -#: ../../Zotlabs/Module/Mail.php:211 ../../Zotlabs/Module/Mail.php:320 -#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1200 -msgid "Please enter a link URL:" -msgstr "Gib eine URL ein:" +#: ../../Zotlabs/Module/Group.php:183 +msgid "Privacy group editor" +msgstr "Gruppeneditor" -#: ../../Zotlabs/Module/Mail.php:212 ../../Zotlabs/Module/Mail.php:321 -msgid "Expires YYYY-MM-DD HH:MM" -msgstr "Verfällt YYYY-MM-DD HH;MM" +#: ../../Zotlabs/Module/Group.php:199 +msgid "All Connected Channels" +msgstr "Alle verbundenen Kanäle" -#: ../../Zotlabs/Module/Mail.php:240 -msgid "Requested channel is not in this network" -msgstr "Angeforderter Kanal ist nicht in diesem Netzwerk." +#: ../../Zotlabs/Module/Group.php:231 +msgid "Click on a channel to add or remove." +msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus." -#: ../../Zotlabs/Module/Mail.php:248 -msgid "Send Private Message" -msgstr "Private Nachricht senden" +#: ../../Zotlabs/Module/Dreport.php:45 +msgid "Invalid message" +msgstr "Ungültige Beitrags-ID (mid)" -#: ../../Zotlabs/Module/Mail.php:249 ../../Zotlabs/Module/Mail.php:374 -msgid "To:" -msgstr "An:" +#: ../../Zotlabs/Module/Dreport.php:78 +msgid "no results" +msgstr "keine Ergebnisse" -#: ../../Zotlabs/Module/Mail.php:252 ../../Zotlabs/Module/Mail.php:376 -msgid "Subject:" -msgstr "Betreff:" +#: ../../Zotlabs/Module/Dreport.php:93 +msgid "channel sync processed" +msgstr "Kanal-Sync verarbeitet" -#: ../../Zotlabs/Module/Mail.php:255 ../../Zotlabs/Module/Invite.php:138 -msgid "Your message:" -msgstr "Deine Nachricht:" +#: ../../Zotlabs/Module/Dreport.php:97 +msgid "queued" +msgstr "zur Warteschlange hinzugefügt" -#: ../../Zotlabs/Module/Mail.php:257 ../../Zotlabs/Module/Mail.php:382 -#: ../../include/conversation.php:1260 -msgid "Attach file" -msgstr "Datei anhängen" +#: ../../Zotlabs/Module/Dreport.php:101 +msgid "posted" +msgstr "zugestellt" -#: ../../Zotlabs/Module/Mail.php:259 -msgid "Send" -msgstr "Absenden" +#: ../../Zotlabs/Module/Dreport.php:105 +msgid "accepted for delivery" +msgstr "für Zustellung akzeptiert" -#: ../../Zotlabs/Module/Mail.php:262 ../../Zotlabs/Module/Mail.php:387 -#: ../../include/conversation.php:1305 -msgid "Set expiration date" -msgstr "Verfallsdatum" +#: ../../Zotlabs/Module/Dreport.php:109 +msgid "updated" +msgstr "aktualisiert" -#: ../../Zotlabs/Module/Mail.php:264 ../../Zotlabs/Module/Mail.php:389 -#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:741 -#: ../../include/conversation.php:1310 -msgid "Encrypt text" -msgstr "Text verschlüsseln" +#: ../../Zotlabs/Module/Dreport.php:112 +msgid "update ignored" +msgstr "Aktualisierung ignoriert" -#: ../../Zotlabs/Module/Mail.php:346 -msgid "Delete message" -msgstr "Nachricht löschen" +#: ../../Zotlabs/Module/Dreport.php:115 +msgid "permission denied" +msgstr "Zugriff verweigert" -#: ../../Zotlabs/Module/Mail.php:347 -msgid "Delivery report" -msgstr "Zustellungsbericht" +#: ../../Zotlabs/Module/Dreport.php:119 +msgid "recipient not found" +msgstr "Empfänger nicht gefunden." -#: ../../Zotlabs/Module/Mail.php:348 -msgid "Recall message" -msgstr "Nachricht widerrufen" +#: ../../Zotlabs/Module/Dreport.php:122 +msgid "mail recalled" +msgstr "Mail widerrufen" -#: ../../Zotlabs/Module/Mail.php:350 -msgid "Message has been recalled." -msgstr "Die Nachricht wurde widerrufen." +#: ../../Zotlabs/Module/Dreport.php:125 +msgid "duplicate mail received" +msgstr "Doppelte Mail erhalten" -#: ../../Zotlabs/Module/Mail.php:367 -msgid "Delete Conversation" -msgstr "Unterhaltung löschen" +#: ../../Zotlabs/Module/Dreport.php:128 +msgid "mail delivered" +msgstr "Mail zugestellt" -#: ../../Zotlabs/Module/Mail.php:369 -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/Dreport.php:148 +#, php-format +msgid "Delivery report for %1$s" +msgstr "Zustellungsbericht für %1$s" -#: ../../Zotlabs/Module/Mail.php:373 -msgid "Send Reply" -msgstr "Antwort senden" +#: ../../Zotlabs/Module/Dreport.php:151 +msgid "Options" +msgstr "Optionen" -#: ../../Zotlabs/Module/Mail.php:378 -#, php-format -msgid "Your message for %s (%s):" -msgstr "Deine Nachricht für %s (%s):" +#: ../../Zotlabs/Module/Dreport.php:152 +msgid "Redeliver" +msgstr "Erneut zustellen" #: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:203 msgid "webpage" @@ -3490,22 +3878,21 @@ msgstr "Element für %s installiert" msgid "%s element installation failed" msgstr "Installation des Elements %s fehlgeschlagen" -#: ../../Zotlabs/Module/Import_items.php:42 ../../Zotlabs/Module/Import.php:71 +#: ../../Zotlabs/Module/Import_items.php:42 ../../Zotlabs/Module/Import.php:57 msgid "Nothing to import." msgstr "Nichts zu importieren." -#: ../../Zotlabs/Module/Import_items.php:66 ../../Zotlabs/Module/Import.php:83 -#: ../../Zotlabs/Module/Import.php:98 +#: ../../Zotlabs/Module/Import_items.php:66 ../../Zotlabs/Module/Import.php:69 +#: ../../Zotlabs/Module/Import.php:84 msgid "Unable to download data from old server" msgstr "Daten können vom alten Server nicht heruntergeladen werden" -#: ../../Zotlabs/Module/Import_items.php:72 -#: ../../Zotlabs/Module/Import.php:105 +#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:91 msgid "Imported file is empty." msgstr "Die importierte Datei ist leer." #: ../../Zotlabs/Module/Import_items.php:88 -#: ../../Zotlabs/Module/Import.php:127 +#: ../../Zotlabs/Module/Import.php:111 #, php-format msgid "Warning: Database versions differ by %1$d updates." msgstr "Achtung: Datenbankversionen unterscheiden sich um %1$d Aktualisierungen." @@ -3524,161 +3911,139 @@ msgid "" 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:532 +#: ../../Zotlabs/Module/Import.php:495 msgid "File to Upload" msgstr "Hochzuladende Datei:" -#: ../../Zotlabs/Module/Invite.php:29 -msgid "Total invitation limit exceeded." -msgstr "Einladungslimit überschritten." - -#: ../../Zotlabs/Module/Invite.php:53 -#, php-format -msgid "%s : Not a valid email address." -msgstr "%s : Keine gültige Email Adresse." - -#: ../../Zotlabs/Module/Invite.php:67 -msgid "Please join us on $Projectname" -msgstr "Schließe Dich uns auf $Projectname an!" - -#: ../../Zotlabs/Module/Invite.php:77 -msgid "Invitation limit exceeded. Please contact your site administrator." -msgstr "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines $Projectname-Servers." - -#: ../../Zotlabs/Module/Invite.php:82 -#, php-format -msgid "%s : Message delivery failed." -msgstr "%s : Nachricht konnte nicht zugestellt werden." - -#: ../../Zotlabs/Module/Invite.php:86 +#: ../../Zotlabs/Module/Manage.php:136 +#: ../../Zotlabs/Module/New_channel.php:121 #, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "%d Nachricht gesendet." -msgstr[1] "%d Nachrichten gesendet." - -#: ../../Zotlabs/Module/Invite.php:105 -msgid "You have no more invitations available" -msgstr "Du hast keine weiteren verfügbare Einladungen" - -#: ../../Zotlabs/Module/Invite.php:136 -msgid "Send invitations" -msgstr "Einladungen senden" - -#: ../../Zotlabs/Module/Invite.php:137 -msgid "Enter email addresses, one per line:" -msgstr "Email-Adressen eintragen, eine pro Zeile:" +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/Invite.php:139 -msgid "Please join my community on $Projectname." -msgstr "Schließe Dich uns auf $Projectname an!" +#: ../../Zotlabs/Module/Manage.php:143 +msgid "Create a new channel" +msgstr "Neuen Kanal anlegen" -#: ../../Zotlabs/Module/Invite.php:141 -msgid "You will need to supply this invitation code:" -msgstr "Bitte verwende bei der Registrierung den folgenden Einladungscode:" +#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:813 +#: ../../Zotlabs/Module/Wiki.php:166 ../../Zotlabs/Module/Chat.php:255 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:152 +msgid "Create New" +msgstr "Neu anlegen" -#: ../../Zotlabs/Module/Invite.php:142 -msgid "" -"1. Register at any $Projectname location (they are all inter-connected)" -msgstr "1. Registriere Dich auf einem beliebigen $Projectname-Hub (sie sind alle miteinander verbunden)" +#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:221 +#: ../../include/nav.php:223 +msgid "Channel Manager" +msgstr "Kanal-Manager" -#: ../../Zotlabs/Module/Invite.php:144 -msgid "2. Enter my $Projectname network address into the site searchbar." -msgstr "2. Gib meine $Projectname-Adresse im Suchfeld ein." +#: ../../Zotlabs/Module/Manage.php:165 +msgid "Current Channel" +msgstr "Aktueller Kanal" -#: ../../Zotlabs/Module/Invite.php:145 -msgid "or visit" -msgstr "oder besuche" +#: ../../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/Invite.php:147 -msgid "3. Click [Connect]" -msgstr "3. Klicke auf [Verbinden]" +#: ../../Zotlabs/Module/Manage.php:168 +msgid "Default Channel" +msgstr "Standard Kanal" -#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97 -#: ../../Zotlabs/Module/Blocks.php:155 -msgid "Block Name" -msgstr "Block-Name" +#: ../../Zotlabs/Module/Manage.php:169 +msgid "Make Default" +msgstr "Zum Standard machen" -#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1276 -msgid "Title (optional)" -msgstr "Titel (optional)" +#: ../../Zotlabs/Module/Manage.php:172 +#, php-format +msgid "%d new messages" +msgstr "%d neue Nachrichten" -#: ../../Zotlabs/Module/Editblock.php:133 -msgid "Edit Block" -msgstr "Block bearbeiten" +#: ../../Zotlabs/Module/Manage.php:173 +#, php-format +msgid "%d new introductions" +msgstr "%d neue Vorstellungen" -#: ../../Zotlabs/Module/Group.php:24 -msgid "Privacy group created." -msgstr "Gruppe wurde erstellt." +#: ../../Zotlabs/Module/Manage.php:175 +msgid "Delegated Channel" +msgstr "Delegierte Kanäle" -#: ../../Zotlabs/Module/Group.php:30 -msgid "Could not create privacy group." -msgstr "Gruppe konnte nicht erstellt werden." +#: ../../Zotlabs/Module/Import.php:134 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "Dein Vertrag erlaubt nur %d Kanäle." -#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141 -#: ../../include/items.php:3876 -msgid "Privacy group not found." -msgstr "Gruppe nicht gefunden." +#: ../../Zotlabs/Module/Import.php:149 +msgid "No channel. Import failed." +msgstr "Kein Kanal. Import fehlgeschlagen." -#: ../../Zotlabs/Module/Group.php:58 -msgid "Privacy group updated." -msgstr "Gruppe wurde aktualisiert." +#: ../../Zotlabs/Module/Import.php:467 +#: ../../extend/addon/addon/diaspora/import_diaspora.php:142 +msgid "Import completed." +msgstr "Import abgeschlossen." -#: ../../Zotlabs/Module/Group.php:90 -msgid "Create a group of channels." -msgstr "Erstelle eine Gruppe für Kanäle." +#: ../../Zotlabs/Module/Import.php:488 +msgid "You must be logged in to use this feature." +msgstr "Du musst angemeldet sein um diese Funktion zu nutzen." -#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184 -msgid "Privacy group name: " -msgstr "Gruppenname:" +#: ../../Zotlabs/Module/Import.php:493 +msgid "Import Channel" +msgstr "Kanal importieren" -#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187 -msgid "Members are visible to other channels" -msgstr "Mitglieder sind sichtbar für andere Kanäle" +#: ../../Zotlabs/Module/Import.php:494 +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/Group.php:111 -msgid "Privacy group removed." -msgstr "Gruppe wurde entfernt." +#: ../../Zotlabs/Module/Import.php:496 +msgid "Or provide the old server/hub details" +msgstr "Oder gib die Details Deines bisherigen $Projectname-Hubs ein" -#: ../../Zotlabs/Module/Group.php:113 -msgid "Unable to remove privacy group." -msgstr "Gruppe konnte nicht entfernt werden." +#: ../../Zotlabs/Module/Import.php:497 +msgid "Your old identity address (xyz@example.com)" +msgstr "Bisherige Kanal-Adresse (xyz@example.com)" -#: ../../Zotlabs/Module/Group.php:183 -msgid "Privacy group editor" -msgstr "Gruppeneditor" +#: ../../Zotlabs/Module/Import.php:498 +msgid "Your old login email address" +msgstr "Deine alte Login-E-Mail-Adresse" -#: ../../Zotlabs/Module/Group.php:197 -msgid "Members" -msgstr "Mitglieder" +#: ../../Zotlabs/Module/Import.php:499 +msgid "Your old login password" +msgstr "Dein altes Passwort" -#: ../../Zotlabs/Module/Group.php:199 -msgid "All Connected Channels" -msgstr "Alle verbundenen Kanäle" +#: ../../Zotlabs/Module/Import.php:500 +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/Group.php:231 -msgid "Click on a channel to add or remove." -msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus." +#: ../../Zotlabs/Module/Import.php:501 +msgid "Make this hub my primary location" +msgstr "Dieser $Pojectname-Hub ist mein primärer Hub." -#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 -msgid "Invalid profile identifier." -msgstr "Ungültiger Profil-Identifikator" +#: ../../Zotlabs/Module/Import.php:502 +msgid "Move this channel (disable all previous locations)" +msgstr "Verschiebe diesen Kanal (deaktiviere alle vorherigen Adressen/Klone)" -#: ../../Zotlabs/Module/Profperm.php:115 -msgid "Profile Visibility Editor" -msgstr "Profil-Sichtbarkeits-Editor" +#: ../../Zotlabs/Module/Import.php:503 +msgid "Import a few months of posts if possible (limited by available memory" +msgstr "Importiere die Beiträge einiger Monate, sofern möglich (beschränkt durch verfügbaren Speicher)" -#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1282 -msgid "Profile" -msgstr "Profil" +#: ../../Zotlabs/Module/Import.php:504 +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/Profperm.php:119 -msgid "Click on a contact to add or remove." -msgstr "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen." +#: ../../Zotlabs/Module/Lockview.php:75 +msgid "Remote privacy information not available." +msgstr "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar." -#: ../../Zotlabs/Module/Profperm.php:128 -msgid "Visible To" -msgstr "Sichtbar für" +#: ../../Zotlabs/Module/Lockview.php:96 +msgid "Visible to:" +msgstr "Sichtbar für:" #: ../../Zotlabs/Module/Magic.php:71 msgid "Hub not found." @@ -3701,7 +4066,7 @@ msgid "Menu Item Permissions" msgstr "Zugriffsrechte des Menü-Elements" #: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231 -#: ../../Zotlabs/Module/Settings/Channel.php:489 +#: ../../Zotlabs/Module/Settings/Channel.php:510 msgid "(click to open/close)" msgstr "(zum öffnen/schließen anklicken)" @@ -3801,6 +4166,72 @@ msgstr "Bearbeite Menü-Bestandteil" msgid "Link text" msgstr "Link Text" +#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:54 +msgid "App installed." +msgstr "App installiert." + +#: ../../Zotlabs/Module/Appman.php:47 +msgid "Malformed app." +msgstr "Fehlerhafte App." + +#: ../../Zotlabs/Module/Appman.php:110 +msgid "Embed code" +msgstr "Code einbetten" + +#: ../../Zotlabs/Module/Appman.php:116 +msgid "Edit App" +msgstr "App bearbeiten" + +#: ../../Zotlabs/Module/Appman.php:116 +msgid "Create App" +msgstr "App erstellen" + +#: ../../Zotlabs/Module/Appman.php:121 +msgid "Name of app" +msgstr "Name der App" + +#: ../../Zotlabs/Module/Appman.php:121 ../../Zotlabs/Module/Appman.php:122 +#: ../../Zotlabs/Module/Profiles.php:744 ../../Zotlabs/Module/Profiles.php:748 +#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465 +#: ../../include/datetime.php:259 +msgid "Required" +msgstr "Benötigt" + +#: ../../Zotlabs/Module/Appman.php:122 +msgid "Location (URL) of app" +msgstr "Ort (URL) der App" + +#: ../../Zotlabs/Module/Appman.php:123 ../../Zotlabs/Module/Events.php:473 +#: ../../Zotlabs/Module/Rbmark.php:101 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:838 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:173 +msgid "Description" +msgstr "Beschreibung" + +#: ../../Zotlabs/Module/Appman.php:124 +msgid "Photo icon URL" +msgstr "URL zum Icon" + +#: ../../Zotlabs/Module/Appman.php:124 +msgid "80 x 80 pixels - optional" +msgstr "80 x 80 Pixel – optional" + +#: ../../Zotlabs/Module/Appman.php:125 +msgid "Categories (optional, comma separated list)" +msgstr "Kategorien (optional, kommagetrennte Liste)" + +#: ../../Zotlabs/Module/Appman.php:126 +msgid "Version ID" +msgstr "Versions-ID" + +#: ../../Zotlabs/Module/Appman.php:127 +msgid "Price of app" +msgstr "Preis der App" + +#: ../../Zotlabs/Module/Appman.php:128 +msgid "Location (URL) to purchase app" +msgstr "Ort (URL), um die App zu kaufen" + #: ../../Zotlabs/Module/Ratings.php:70 msgid "No ratings" msgstr "Keine Bewertungen" @@ -3827,7 +4258,7 @@ msgctxt "mood" msgid "%1$s is %2$s" msgstr "%1$s ist %2$s" -#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227 +#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:234 msgid "Mood" msgstr "Laune" @@ -3836,326 +4267,431 @@ msgid "Set your current mood and tell your friends" msgstr "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden" #: ../../Zotlabs/Module/Notify.php:57 -#: ../../Zotlabs/Module/Notifications.php:35 +#: ../../Zotlabs/Module/Notifications.php:38 msgid "No more system notifications." msgstr "Keine System-Benachrichtigungen mehr." #: ../../Zotlabs/Module/Notify.php:61 -#: ../../Zotlabs/Module/Notifications.php:39 +#: ../../Zotlabs/Module/Notifications.php:42 msgid "System Notifications" msgstr "System-Benachrichtigungen" -#: ../../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/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:184 +#: ../../Zotlabs/Module/Profiles.php:241 ../../Zotlabs/Module/Profiles.php:660 +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:62 +msgid "Profile not found." +msgstr "Profil nicht gefunden." -#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:734 -#: ../../Zotlabs/Module/Profile_photo.php:115 -#: ../../Zotlabs/Module/Profile_photo.php:219 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:225 -#: ../../include/photo/photo_driver.php:728 -msgid "Profile Photos" -msgstr "Profilfotos" +#: ../../Zotlabs/Module/Profiles.php:44 +msgid "Profile deleted." +msgstr "Profil gelöscht." -#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129 -msgid "Album not found." -msgstr "Album nicht gefunden." +#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:105 +msgid "Profile-" +msgstr "Profil-" -#: ../../Zotlabs/Module/Photos.php:112 -msgid "Delete Album" -msgstr "Album löschen" +#: ../../Zotlabs/Module/Profiles.php:90 ../../Zotlabs/Module/Profiles.php:127 +msgid "New profile created." +msgstr "Neues Profil erstellt." -#: ../../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 "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/Profiles.php:111 +msgid "Profile unavailable to clone." +msgstr "Profil kann nicht geklont werden." -#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1059 -msgid "Delete Photo" -msgstr "Foto löschen" +#: ../../Zotlabs/Module/Profiles.php:146 +msgid "Profile unavailable to export." +msgstr "Dieses Profil kann nicht exportiert werden." -#: ../../Zotlabs/Module/Photos.php:520 -msgid "No photos selected" -msgstr "Keine Fotos ausgewählt" +#: ../../Zotlabs/Module/Profiles.php:252 +msgid "Profile Name is required." +msgstr "Profil-Name erforderlich." -#: ../../Zotlabs/Module/Photos.php:569 -msgid "Access to this item is restricted." -msgstr "Der Zugriff auf dieses Foto ist eingeschränkt." +#: ../../Zotlabs/Module/Profiles.php:460 +msgid "Marital Status" +msgstr "Familienstand" -#: ../../Zotlabs/Module/Photos.php:608 -#, php-format -msgid "%1$.2f MB of %2$.2f MB photo storage used." -msgstr "%1$.2f MB von %2$.2f MB Foto-Speicher belegt." +#: ../../Zotlabs/Module/Profiles.php:464 +msgid "Romantic Partner" +msgstr "Romantische Partner" -#: ../../Zotlabs/Module/Photos.php:611 -#, php-format -msgid "%1$.2f MB photo storage used." -msgstr "%1$.2f MB Foto-Speicher belegt." +#: ../../Zotlabs/Module/Profiles.php:468 ../../Zotlabs/Module/Profiles.php:771 +msgid "Likes" +msgstr "Gefällt" -#: ../../Zotlabs/Module/Photos.php:647 -msgid "Upload Photos" -msgstr "Fotos hochladen" +#: ../../Zotlabs/Module/Profiles.php:472 ../../Zotlabs/Module/Profiles.php:772 +msgid "Dislikes" +msgstr "Gefällt nicht" -#: ../../Zotlabs/Module/Photos.php:651 -msgid "Enter an album name" -msgstr "Namen für ein neues Album eingeben" +#: ../../Zotlabs/Module/Profiles.php:476 ../../Zotlabs/Module/Profiles.php:779 +msgid "Work/Employment" +msgstr "Arbeit/Anstellung" -#: ../../Zotlabs/Module/Photos.php:652 -msgid "or select an existing album (doubleclick)" -msgstr "oder ein bereits vorhandenes auswählen (Doppelklick)" +#: ../../Zotlabs/Module/Profiles.php:479 +msgid "Religion" +msgstr "Religion" -#: ../../Zotlabs/Module/Photos.php:653 -msgid "Create a status post for this upload" -msgstr "Einen Statusbeitrag für diesen Upload erzeugen" +#: ../../Zotlabs/Module/Profiles.php:483 +msgid "Political Views" +msgstr "Politische Ansichten" -#: ../../Zotlabs/Module/Photos.php:654 -msgid "Caption (optional):" -msgstr "Beschriftung (optional):" +#: ../../Zotlabs/Module/Profiles.php:487 +#: ../../extend/addon/addon/openid/MysqlProvider.php:74 +msgid "Gender" +msgstr "Geschlecht" -#: ../../Zotlabs/Module/Photos.php:655 -msgid "Description (optional):" -msgstr "Beschreibung (optional):" +#: ../../Zotlabs/Module/Profiles.php:491 +msgid "Sexual Preference" +msgstr "Sexuelle Orientierung" -#: ../../Zotlabs/Module/Photos.php:686 -msgid "Album name could not be decoded" -msgstr "Albumname konnte nicht dekodiert werden" +#: ../../Zotlabs/Module/Profiles.php:495 +msgid "Homepage" +msgstr "Webseite" -#: ../../Zotlabs/Module/Photos.php:734 -msgid "Contact Photos" -msgstr "Kontakt-Bilder" +#: ../../Zotlabs/Module/Profiles.php:499 +msgid "Interests" +msgstr "Hobbys/Interessen" -#: ../../Zotlabs/Module/Photos.php:757 -msgid "Show Newest First" -msgstr "Neueste zuerst anzeigen" +#: ../../Zotlabs/Module/Profiles.php:595 +msgid "Profile updated." +msgstr "Profil aktualisiert." -#: ../../Zotlabs/Module/Photos.php:759 -msgid "Show Oldest First" -msgstr "Älteste zuerst anzeigen" +#: ../../Zotlabs/Module/Profiles.php:679 +msgid "Hide your connections list from viewers of this profile" +msgstr "Deine Verbindungen vor Betrachtern dieses Profils verbergen" -#: ../../Zotlabs/Module/Photos.php:783 ../../Zotlabs/Module/Photos.php:1337 -#: ../../Zotlabs/Module/Embedphotos.php:139 ../../include/widgets.php:1748 -msgid "View Photo" -msgstr "Foto ansehen" +#: ../../Zotlabs/Module/Profiles.php:721 +msgid "Edit Profile Details" +msgstr "Bearbeite Profil-Details" -#: ../../Zotlabs/Module/Photos.php:814 -#: ../../Zotlabs/Module/Embedphotos.php:155 ../../include/widgets.php:1765 -msgid "Edit Album" -msgstr "Album bearbeiten" +#: ../../Zotlabs/Module/Profiles.php:723 +msgid "View this profile" +msgstr "Dieses Profil ansehen" -#: ../../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/Profiles.php:724 ../../Zotlabs/Module/Profiles.php:806 +#: ../../include/channel.php:1066 +msgid "Edit visibility" +msgstr "Sichtbarkeit bearbeiten" -#: ../../Zotlabs/Module/Photos.php:863 -msgid "Photo not available" -msgstr "Foto nicht verfügbar" +#: ../../Zotlabs/Module/Profiles.php:725 +msgid "Profile Tools" +msgstr "Profilwerkzeuge" -#: ../../Zotlabs/Module/Photos.php:921 -msgid "Use as profile photo" -msgstr "Als Profilfoto verwenden" +#: ../../Zotlabs/Module/Profiles.php:726 +msgid "Change cover photo" +msgstr "Titelbild ändern" -#: ../../Zotlabs/Module/Photos.php:922 -msgid "Use as cover photo" -msgstr "Als Titelbild verwenden" +#: ../../Zotlabs/Module/Profiles.php:727 ../../include/channel.php:1037 +msgid "Change profile photo" +msgstr "Profilfoto ändern" -#: ../../Zotlabs/Module/Photos.php:929 -msgid "Private Photo" -msgstr "Privates Foto" +#: ../../Zotlabs/Module/Profiles.php:728 +msgid "Create a new profile using these settings" +msgstr "Neues Profil anlegen und diese Einstellungen übernehmen" -#: ../../Zotlabs/Module/Photos.php:940 ../../Zotlabs/Module/Cal.php:336 -#: ../../Zotlabs/Module/Cal.php:343 ../../Zotlabs/Module/Events.php:680 -#: ../../Zotlabs/Module/Events.php:689 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:846 -msgid "Previous" -msgstr "Voriges" +#: ../../Zotlabs/Module/Profiles.php:729 +msgid "Clone this profile" +msgstr "Dieses Profil klonen" -#: ../../Zotlabs/Module/Photos.php:944 -msgid "View Full Size" -msgstr "In voller Größe anzeigen" +#: ../../Zotlabs/Module/Profiles.php:730 +msgid "Delete this profile" +msgstr "Dieses Profil löschen" -#: ../../Zotlabs/Module/Photos.php:949 ../../Zotlabs/Module/Setup.php:264 -#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Cal.php:344 -#: ../../Zotlabs/Module/Events.php:681 ../../Zotlabs/Module/Events.php:690 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:847 -msgid "Next" -msgstr "Nächste" +#: ../../Zotlabs/Module/Profiles.php:731 +msgid "Add profile things" +msgstr "Sachen zum Profil hinzufügen" -#: ../../Zotlabs/Module/Photos.php:1033 -msgid "Edit photo" -msgstr "Foto bearbeiten" +#: ../../Zotlabs/Module/Profiles.php:732 ../../include/conversation.php:1715 +#: ../../include/widgets.php:105 +msgid "Personal" +msgstr "Persönlich" -#: ../../Zotlabs/Module/Photos.php:1035 -msgid "Rotate CW (right)" -msgstr "Drehen im UZS (rechts)" +#: ../../Zotlabs/Module/Profiles.php:734 +msgid "Relation" +msgstr "Beziehung" -#: ../../Zotlabs/Module/Photos.php:1036 -msgid "Rotate CCW (left)" -msgstr "Drehen gegen UZS (links)" +#: ../../Zotlabs/Module/Profiles.php:735 ../../include/datetime.php:55 +msgid "Miscellaneous" +msgstr "Verschiedenes" -#: ../../Zotlabs/Module/Photos.php:1039 -msgid "Move photo to album" -msgstr "Foto in Album verschieben" +#: ../../Zotlabs/Module/Profiles.php:737 +msgid "Import profile from file" +msgstr "Profil aus einer Datei importieren" -#: ../../Zotlabs/Module/Photos.php:1040 -msgid "Enter a new album name" -msgstr "Gib einen Namen für ein neues Album ein" +#: ../../Zotlabs/Module/Profiles.php:738 +msgid "Export profile to file" +msgstr "Profil in eine Datei exportieren" -#: ../../Zotlabs/Module/Photos.php:1041 -msgid "or select an existing one (doubleclick)" -msgstr "oder wähle ein bereits vorhandenes aus (Doppelklick)" +#: ../../Zotlabs/Module/Profiles.php:739 +msgid "Your gender" +msgstr "Dein Geschlecht" -#: ../../Zotlabs/Module/Photos.php:1044 -msgid "Caption" -msgstr "Bildunterschrift" +#: ../../Zotlabs/Module/Profiles.php:740 +msgid "Marital status" +msgstr "Familienstand" -#: ../../Zotlabs/Module/Photos.php:1046 -msgid "Add a Tag" -msgstr "Schlagwort hinzufügen" +#: ../../Zotlabs/Module/Profiles.php:741 +msgid "Sexual preference" +msgstr "Sexuelle Orientierung" -#: ../../Zotlabs/Module/Photos.php:1054 -msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" -msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com" +#: ../../Zotlabs/Module/Profiles.php:744 +msgid "Profile name" +msgstr "Profilname" -#: ../../Zotlabs/Module/Photos.php:1057 -msgid "Flag as adult in album view" -msgstr "In der Albumansicht als nicht jugendfrei markieren" +#: ../../Zotlabs/Module/Profiles.php:746 +msgid "This is your default profile." +msgstr "Das ist Dein Standardprofil." -#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:268 -msgid "I like this (toggle)" -msgstr "Mir gefällt das (Umschalter)" +#: ../../Zotlabs/Module/Profiles.php:748 +msgid "Your full name" +msgstr "Dein voller Name" -#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:269 -msgid "I don't like this (toggle)" -msgstr "Mir gefällt das nicht (Umschalter)" +#: ../../Zotlabs/Module/Profiles.php:749 +msgid "Title/Description" +msgstr "Titel/Beschreibung" -#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Blocks.php:161 -#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:241 -#: ../../extend/addon/addon/cdav/include/widgets.php:123 -#: ../../include/conversation.php:1248 -msgid "Share" -msgstr "Teilen" +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Street address" +msgstr "Straße und Hausnummer" -#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:409 -#: ../../include/conversation.php:757 -msgid "Please wait" -msgstr "Bitte warten" +#: ../../Zotlabs/Module/Profiles.php:753 +msgid "Locality/City" +msgstr "Wohnort" -#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213 -#: ../../Zotlabs/Lib/ThreadItem.php:726 -msgid "This is you" -msgstr "Das bist Du" +#: ../../Zotlabs/Module/Profiles.php:754 +msgid "Region/State" +msgstr "Region/Bundesstaat" -#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215 -#: ../../Zotlabs/Lib/ThreadItem.php:728 ../../include/js_strings.php:6 -msgid "Comment" -msgstr "Kommentar" +#: ../../Zotlabs/Module/Profiles.php:755 +msgid "Postal/Zip code" +msgstr "Postleitzahl" -#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Module/Webpages.php:247 -#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Lib/ThreadItem.php:738 -#: ../../include/page_widgets.php:43 ../../include/conversation.php:1217 -msgid "Preview" -msgstr "Vorschau" +#: ../../Zotlabs/Module/Profiles.php:761 +msgid "Who (if applicable)" +msgstr "Wer (falls anwendbar)" -#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:593 -msgctxt "title" -msgid "Likes" -msgstr "Gefällt mir" +#: ../../Zotlabs/Module/Profiles.php:761 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com" -#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:593 -msgctxt "title" -msgid "Dislikes" -msgstr "Gefällt mir nicht" +#: ../../Zotlabs/Module/Profiles.php:762 +msgid "Since (date)" +msgstr "Seit (Datum)" -#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:594 -msgctxt "title" -msgid "Agree" -msgstr "Zustimmungen" +#: ../../Zotlabs/Module/Profiles.php:765 +msgid "Tell us about yourself" +msgstr "Erzähle uns ein wenig von Dir" -#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:594 -msgctxt "title" -msgid "Disagree" -msgstr "Ablehnungen" +#: ../../Zotlabs/Module/Profiles.php:766 +#: ../../extend/addon/addon/openid/MysqlProvider.php:68 +msgid "Homepage URL" +msgstr "Homepage-URL" -#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:594 -msgctxt "title" -msgid "Abstain" -msgstr "Enthaltungen" +#: ../../Zotlabs/Module/Profiles.php:767 +msgid "Hometown" +msgstr "Heimatort" -#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:595 -msgctxt "title" -msgid "Attending" -msgstr "Zusagen" +#: ../../Zotlabs/Module/Profiles.php:768 +msgid "Political views" +msgstr "Politische Ansichten" -#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:595 -msgctxt "title" -msgid "Not attending" -msgstr "Absagen" +#: ../../Zotlabs/Module/Profiles.php:769 +msgid "Religious views" +msgstr "Religiöse Ansichten" -#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:595 -msgctxt "title" -msgid "Might attend" -msgstr "Vielleicht" +#: ../../Zotlabs/Module/Profiles.php:770 +msgid "Keywords used in directory listings" +msgstr "Schlüsselwörter, die in Verzeichnis-Auflistungen verwendet werden" -#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144 -#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198 -#: ../../include/conversation.php:1783 -msgid "View all" -msgstr "Alles anzeigen" +#: ../../Zotlabs/Module/Profiles.php:770 +msgid "Example: fishing photography software" +msgstr "Beispiel: Angeln Fotografie Software" -#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:190 -#: ../../include/channel.php:1190 ../../include/taxonomy.php:403 -#: ../../include/conversation.php:1807 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "Gefällt mir" -msgstr[1] "Gefällt mir" +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Musical interests" +msgstr "Musikalische Interessen" -#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:195 -#: ../../include/conversation.php:1810 -msgctxt "noun" -msgid "Dislike" -msgid_plural "Dislikes" -msgstr[0] "Gefällt nicht" -msgstr[1] "Gefällt nicht" +#: ../../Zotlabs/Module/Profiles.php:774 +msgid "Books, literature" +msgstr "Bücher, Literatur" -#: ../../Zotlabs/Module/Photos.php:1241 -msgid "Photo Tools" -msgstr "Fotowerkzeuge" +#: ../../Zotlabs/Module/Profiles.php:775 +msgid "Television" +msgstr "Fernsehen" -#: ../../Zotlabs/Module/Photos.php:1250 -msgid "In This Photo:" -msgstr "Auf diesem Foto:" +#: ../../Zotlabs/Module/Profiles.php:776 +msgid "Film/Dance/Culture/Entertainment" +msgstr "Film/Tanz/Kultur/Unterhaltung" -#: ../../Zotlabs/Module/Photos.php:1255 -msgid "Map" -msgstr "Karte" +#: ../../Zotlabs/Module/Profiles.php:777 +msgid "Hobbies/Interests" +msgstr "Hobbys/Interessen" -#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:398 -msgctxt "noun" -msgid "Likes" -msgstr "Gefällt mir" +#: ../../Zotlabs/Module/Profiles.php:778 +msgid "Love/Romance" +msgstr "Liebe/Romantik" -#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:399 -msgctxt "noun" -msgid "Dislikes" -msgstr "Gefällt nicht" +#: ../../Zotlabs/Module/Profiles.php:780 +msgid "School/Education" +msgstr "Schule/Ausbildung" -#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:404 -#: ../../include/acl_selectors.php:210 -msgid "Close" -msgstr "Schließen" +#: ../../Zotlabs/Module/Profiles.php:781 +msgid "Contact information and social networks" +msgstr "Kontaktinformation und soziale Netzwerke" -#: ../../Zotlabs/Module/Photos.php:1343 -msgid "View Album" -msgstr "Album ansehen" +#: ../../Zotlabs/Module/Profiles.php:782 +msgid "My other channels" +msgstr "Meine anderen Kanäle" -#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367 -#: ../../Zotlabs/Module/Photos.php:1368 -msgid "Recent Photos" -msgstr "Neueste Fotos" +#: ../../Zotlabs/Module/Profiles.php:802 ../../include/channel.php:1062 +msgid "Profile Image" +msgstr "Profilfoto:" + +#: ../../Zotlabs/Module/Profiles.php:812 ../../include/channel.php:1044 +#: ../../include/nav.php:105 +msgid "Edit Profiles" +msgstr "Profile bearbeiten" + +#: ../../Zotlabs/Module/Api.php:72 ../../Zotlabs/Module/Api.php:93 +msgid "Authorize application connection" +msgstr "Zugriff für die Anwendung autorisieren" + +#: ../../Zotlabs/Module/Api.php:73 +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/Api.php:83 +msgid "Please login to continue." +msgstr "Zum Weitermachen, bitte einloggen." + +#: ../../Zotlabs/Module/Api.php:95 +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?" + +#: ../../Zotlabs/Module/Invite.php:29 +msgid "Total invitation limit exceeded." +msgstr "Einladungslimit überschritten." + +#: ../../Zotlabs/Module/Invite.php:53 +#, php-format +msgid "%s : Not a valid email address." +msgstr "%s : Keine gültige Email Adresse." + +#: ../../Zotlabs/Module/Invite.php:67 +msgid "Please join us on $Projectname" +msgstr "Schließe Dich uns auf $Projectname an!" + +#: ../../Zotlabs/Module/Invite.php:77 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines $Projectname-Servers." + +#: ../../Zotlabs/Module/Invite.php:82 +#, php-format +msgid "%s : Message delivery failed." +msgstr "%s : Nachricht konnte nicht zugestellt werden." + +#: ../../Zotlabs/Module/Invite.php:86 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "%d Nachricht gesendet." +msgstr[1] "%d Nachrichten gesendet." + +#: ../../Zotlabs/Module/Invite.php:105 +msgid "You have no more invitations available" +msgstr "Du hast keine weiteren verfügbare Einladungen" + +#: ../../Zotlabs/Module/Invite.php:136 +msgid "Send invitations" +msgstr "Einladungen senden" + +#: ../../Zotlabs/Module/Invite.php:137 +msgid "Enter email addresses, one per line:" +msgstr "Email-Adressen eintragen, eine pro Zeile:" + +#: ../../Zotlabs/Module/Invite.php:138 ../../Zotlabs/Module/Mail.php:284 +msgid "Your message:" +msgstr "Deine Nachricht:" + +#: ../../Zotlabs/Module/Invite.php:139 +msgid "Please join my community on $Projectname." +msgstr "Schließe Dich uns auf $Projectname an!" + +#: ../../Zotlabs/Module/Invite.php:141 +msgid "You will need to supply this invitation code:" +msgstr "Bitte verwende bei der Registrierung den folgenden Einladungscode:" + +#: ../../Zotlabs/Module/Invite.php:142 +msgid "" +"1. Register at any $Projectname location (they are all inter-connected)" +msgstr "1. Registriere Dich auf einem beliebigen $Projectname-Hub (sie sind alle miteinander verbunden)" + +#: ../../Zotlabs/Module/Invite.php:144 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "2. Gib meine $Projectname-Adresse im Suchfeld ein." + +#: ../../Zotlabs/Module/Invite.php:145 +msgid "or visit" +msgstr "oder besuche" + +#: ../../Zotlabs/Module/Invite.php:147 +msgid "3. Click [Connect]" +msgstr "3. Klicke auf [Verbinden]" + +#: ../../Zotlabs/Module/Siteinfo.php:20 +msgid "About this site" +msgstr "Ãœber diese Seite" + +#: ../../Zotlabs/Module/Siteinfo.php:21 +msgid "Site Name" +msgstr "Seitenname" + +#: ../../Zotlabs/Module/Siteinfo.php:25 ../../include/network.php:1972 +msgid "Administrator" +msgstr "Administrator" + +#: ../../Zotlabs/Module/Siteinfo.php:28 +msgid "Software and Project information" +msgstr "Software und Projektinformationen" + +#: ../../Zotlabs/Module/Siteinfo.php:29 +msgid "This site is powered by $Projectname" +msgstr "Diese Website wird bereitgestellt durch $Projectname" + +#: ../../Zotlabs/Module/Siteinfo.php:30 +msgid "" +"Federated and decentralised networking and identity services provided by Zot" +msgstr "Verbundene, dezentrale Netzwerk- und Identitätsdienste, ermöglicht mittels Zot" + +#: ../../Zotlabs/Module/Siteinfo.php:32 +#, php-format +msgid "Version %s" +msgstr "Version %s" + +#: ../../Zotlabs/Module/Siteinfo.php:33 +msgid "Project homepage" +msgstr "Projekt-Website" + +#: ../../Zotlabs/Module/Siteinfo.php:34 +msgid "Developer homepage" +msgstr "Entwickler-Website" + +#: ../../Zotlabs/Module/New_channel.php:140 +msgid "Create Channel" +msgstr "Einen neuen Kanal anlegen" + +#: ../../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/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/Setup.php:176 msgid "$Projectname Server - Setup" @@ -4186,7 +4722,7 @@ msgid "" msgstr "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren." #: ../../Zotlabs/Module/Setup.php:201 ../../Zotlabs/Module/Setup.php:263 -#: ../../Zotlabs/Module/Setup.php:745 +#: ../../Zotlabs/Module/Setup.php:750 msgid "Please see the file \"install/INSTALL.txt\"." msgstr "Lies die Datei \"install/INSTALL.txt\"." @@ -4361,193 +4897,193 @@ msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/e msgid "Generate encryption keys" msgstr "Verschlüsselungsschlüssel erzeugen" -#: ../../Zotlabs/Module/Setup.php:500 +#: ../../Zotlabs/Module/Setup.php:505 msgid "libCurl PHP module" msgstr "libCurl-PHP-Modul" -#: ../../Zotlabs/Module/Setup.php:501 +#: ../../Zotlabs/Module/Setup.php:506 msgid "GD graphics PHP module" msgstr "GD-Grafik-PHP-Modul" -#: ../../Zotlabs/Module/Setup.php:502 +#: ../../Zotlabs/Module/Setup.php:507 msgid "OpenSSL PHP module" msgstr "OpenSSL-PHP-Modul" -#: ../../Zotlabs/Module/Setup.php:503 +#: ../../Zotlabs/Module/Setup.php:508 msgid "PDO database PHP module" msgstr "PDO-Datenbank-PHP-Modul" -#: ../../Zotlabs/Module/Setup.php:504 +#: ../../Zotlabs/Module/Setup.php:509 msgid "mb_string PHP module" msgstr "mb_string-PHP-Modul" -#: ../../Zotlabs/Module/Setup.php:505 +#: ../../Zotlabs/Module/Setup.php:510 msgid "xml PHP module" msgstr "xml-PHP-Modul" -#: ../../Zotlabs/Module/Setup.php:509 ../../Zotlabs/Module/Setup.php:511 +#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:516 msgid "Apache mod_rewrite module" msgstr "Apache-mod_rewrite-Modul" -#: ../../Zotlabs/Module/Setup.php:509 +#: ../../Zotlabs/Module/Setup.php:514 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/Setup.php:515 ../../Zotlabs/Module/Setup.php:518 +#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 msgid "exec" msgstr "exec" -#: ../../Zotlabs/Module/Setup.php:515 +#: ../../Zotlabs/Module/Setup.php:520 msgid "" "Error: exec is required but is either not installed or has been disabled in " "php.ini" msgstr "Fehler: exec ist erforderlich, aber entweder nicht installiert oder wurde in der php.ini deaktiviert" -#: ../../Zotlabs/Module/Setup.php:521 ../../Zotlabs/Module/Setup.php:524 +#: ../../Zotlabs/Module/Setup.php:526 ../../Zotlabs/Module/Setup.php:529 msgid "shell_exec" msgstr "shell_exec" -#: ../../Zotlabs/Module/Setup.php:521 +#: ../../Zotlabs/Module/Setup.php:526 msgid "" "Error: shell_exec is required but is either not installed or has been " "disabled in php.ini" msgstr "Fehler: shell_exec ist erforderlich, aber entweder nicht installiert oder wurde in der php.ini deaktiviert" -#: ../../Zotlabs/Module/Setup.php:529 +#: ../../Zotlabs/Module/Setup.php:534 msgid "Error: libCURL PHP module required but not installed." msgstr "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert." -#: ../../Zotlabs/Module/Setup.php:533 +#: ../../Zotlabs/Module/Setup.php:538 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." -#: ../../Zotlabs/Module/Setup.php:537 +#: ../../Zotlabs/Module/Setup.php:542 msgid "Error: openssl PHP module required but not installed." msgstr "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert." -#: ../../Zotlabs/Module/Setup.php:541 +#: ../../Zotlabs/Module/Setup.php:546 msgid "Error: PDO database PHP module required but not installed." msgstr "Fehler: PDO-Datenbank-PHP-Modul ist erforderlich, aber nicht installiert." -#: ../../Zotlabs/Module/Setup.php:545 +#: ../../Zotlabs/Module/Setup.php:550 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/Setup.php:549 +#: ../../Zotlabs/Module/Setup.php:554 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/Setup.php:567 +#: ../../Zotlabs/Module/Setup.php:572 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." -#: ../../Zotlabs/Module/Setup.php:568 +#: ../../Zotlabs/Module/Setup.php:573 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." -#: ../../Zotlabs/Module/Setup.php:569 +#: ../../Zotlabs/Module/Setup.php:574 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." -#: ../../Zotlabs/Module/Setup.php:570 +#: ../../Zotlabs/Module/Setup.php:575 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." -#: ../../Zotlabs/Module/Setup.php:573 +#: ../../Zotlabs/Module/Setup.php:578 msgid ".htconfig.php is writable" msgstr ".htconfig.php ist beschreibbar" -#: ../../Zotlabs/Module/Setup.php:587 +#: ../../Zotlabs/Module/Setup.php:592 msgid "" "This software uses the Smarty3 template engine to render its web views. " "Smarty3 compiles templates to PHP to speed up rendering." msgstr "Diese Software verwendet die Smarty3 Template Engine, um Vorlagen für die Webdarstellung zu verarbeiten. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen." -#: ../../Zotlabs/Module/Setup.php:588 +#: ../../Zotlabs/Module/Setup.php:593 #, 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 "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Hubzilla-Stammverzeichnisses." -#: ../../Zotlabs/Module/Setup.php:589 ../../Zotlabs/Module/Setup.php:610 +#: ../../Zotlabs/Module/Setup.php:594 ../../Zotlabs/Module/Setup.php:615 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." -#: ../../Zotlabs/Module/Setup.php:590 +#: ../../Zotlabs/Module/Setup.php:595 #, 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 "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/Setup.php:593 +#: ../../Zotlabs/Module/Setup.php:598 #, php-format msgid "%s is writable" msgstr "%s ist beschreibbar" -#: ../../Zotlabs/Module/Setup.php:609 +#: ../../Zotlabs/Module/Setup.php:614 msgid "" "This software uses the store directory to save uploaded files. The web " "server needs to have write access to the store directory under the top level" " web folder" msgstr "Diese Software benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Webserver benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Web-Stammverzeichnisses." -#: ../../Zotlabs/Module/Setup.php:613 +#: ../../Zotlabs/Module/Setup.php:618 msgid "store is writable" msgstr "store ist schreibbar" -#: ../../Zotlabs/Module/Setup.php:646 +#: ../../Zotlabs/Module/Setup.php:651 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." -#: ../../Zotlabs/Module/Setup.php:647 +#: ../../Zotlabs/Module/Setup.php:652 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." -#: ../../Zotlabs/Module/Setup.php:648 +#: ../../Zotlabs/Module/Setup.php:653 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." -#: ../../Zotlabs/Module/Setup.php:649 +#: ../../Zotlabs/Module/Setup.php:654 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)." -#: ../../Zotlabs/Module/Setup.php:650 +#: ../../Zotlabs/Module/Setup.php:655 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." -#: ../../Zotlabs/Module/Setup.php:651 +#: ../../Zotlabs/Module/Setup.php:656 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." -#: ../../Zotlabs/Module/Setup.php:653 +#: ../../Zotlabs/Module/Setup.php:658 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. " @@ -4555,73 +5091,49 @@ msgid "" "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/Setup.php:655 +#: ../../Zotlabs/Module/Setup.php:660 msgid "SSL certificate validation" msgstr "SSL Zertifikatverifizierung" -#: ../../Zotlabs/Module/Setup.php:661 +#: ../../Zotlabs/Module/Setup.php:666 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:" -#: ../../Zotlabs/Module/Setup.php:664 +#: ../../Zotlabs/Module/Setup.php:669 msgid "Url rewrite is working" msgstr "Url rewrite funktioniert" -#: ../../Zotlabs/Module/Setup.php:678 +#: ../../Zotlabs/Module/Setup.php:683 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." -#: ../../Zotlabs/Module/Setup.php:702 +#: ../../Zotlabs/Module/Setup.php:707 #: ../../extend/addon/addon/cdav/cdav.php:41 -#: ../../extend/addon/addon/rendezvous/rendezvous.php:352 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:401 msgid "Errors encountered creating database tables." msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten." -#: ../../Zotlabs/Module/Setup.php:743 +#: ../../Zotlabs/Module/Setup.php:748 msgid "<h1>What next</h1>" msgstr "<h1>Was als Nächstes</h1>" -#: ../../Zotlabs/Module/Setup.php:744 +#: ../../Zotlabs/Module/Setup.php:749 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." -#: ../../Zotlabs/Module/Editpost.php:35 -msgid "Item is not editable" -msgstr "Element kann nicht bearbeitet werden." - -#: ../../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/New_channel.php:140 -msgid "Create Channel" -msgstr "Einen neuen Kanal anlegen" - -#: ../../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/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/Notifications.php:40 ../../include/nav.php:194 +#: ../../Zotlabs/Module/Notifications.php:43 ../../include/nav.php:208 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:975 +#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:235 +#: ../../include/conversation.php:942 ../../include/conversation.php:1109 msgid "Poke" msgstr "Anstupsen" @@ -4649,293 +5161,47 @@ msgstr "Wähle, was Du mit dem/r Empfänger/in tun willst" msgid "Make this post private" msgstr "Diesen Beitrag privat machen" -#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:183 -#: ../../Zotlabs/Module/Profiles.php:240 ../../Zotlabs/Module/Profiles.php:619 -#: ../../extend/addon/addon/friendica/dfrn_confirm.php:62 -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:126 -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:145 -msgid "Profile unavailable to export." -msgstr "Dieses Profil kann nicht exportiert werden." - -#: ../../Zotlabs/Module/Profiles.php:250 -msgid "Profile Name is required." -msgstr "Profil-Name erforderlich." - -#: ../../Zotlabs/Module/Profiles.php:421 -msgid "Marital Status" -msgstr "Familienstand" - -#: ../../Zotlabs/Module/Profiles.php:425 -msgid "Romantic Partner" -msgstr "Romantische Partner" - -#: ../../Zotlabs/Module/Profiles.php:429 ../../Zotlabs/Module/Profiles.php:730 -msgid "Likes" -msgstr "Gefällt" - -#: ../../Zotlabs/Module/Profiles.php:433 ../../Zotlabs/Module/Profiles.php:731 -msgid "Dislikes" -msgstr "Gefällt nicht" - -#: ../../Zotlabs/Module/Profiles.php:437 ../../Zotlabs/Module/Profiles.php:738 -msgid "Work/Employment" -msgstr "Arbeit/Anstellung" - -#: ../../Zotlabs/Module/Profiles.php:440 -msgid "Religion" -msgstr "Religion" - -#: ../../Zotlabs/Module/Profiles.php:444 -msgid "Political Views" -msgstr "Politische Ansichten" - -#: ../../Zotlabs/Module/Profiles.php:448 -#: ../../extend/addon/addon/openid/MysqlProvider.php:74 -msgid "Gender" -msgstr "Geschlecht" - -#: ../../Zotlabs/Module/Profiles.php:452 -msgid "Sexual Preference" -msgstr "Sexuelle Orientierung" - -#: ../../Zotlabs/Module/Profiles.php:456 -msgid "Homepage" -msgstr "Webseite" - -#: ../../Zotlabs/Module/Profiles.php:460 -msgid "Interests" -msgstr "Hobbys/Interessen" - -#: ../../Zotlabs/Module/Profiles.php:554 -msgid "Profile updated." -msgstr "Profil aktualisiert." - -#: ../../Zotlabs/Module/Profiles.php:638 -msgid "Hide your connections list from viewers of this profile" -msgstr "Deine Verbindungen vor Betrachtern dieses Profils verbergen" - -#: ../../Zotlabs/Module/Profiles.php:680 -msgid "Edit Profile Details" -msgstr "Bearbeite Profil-Details" - -#: ../../Zotlabs/Module/Profiles.php:682 -msgid "View this profile" -msgstr "Dieses Profil ansehen" - -#: ../../Zotlabs/Module/Profiles.php:683 ../../Zotlabs/Module/Profiles.php:765 -#: ../../include/channel.php:983 -msgid "Edit visibility" -msgstr "Sichtbarkeit bearbeiten" - -#: ../../Zotlabs/Module/Profiles.php:684 -msgid "Profile Tools" -msgstr "Profilwerkzeuge" - -#: ../../Zotlabs/Module/Profiles.php:685 -msgid "Change cover photo" -msgstr "Titelbild ändern" - -#: ../../Zotlabs/Module/Profiles.php:686 ../../include/channel.php:954 -msgid "Change profile photo" -msgstr "Profilfoto ändern" - -#: ../../Zotlabs/Module/Profiles.php:687 -msgid "Create a new profile using these settings" -msgstr "Neues Profil anlegen und diese Einstellungen übernehmen" - -#: ../../Zotlabs/Module/Profiles.php:688 -msgid "Clone this profile" -msgstr "Dieses Profil klonen" - -#: ../../Zotlabs/Module/Profiles.php:689 -msgid "Delete this profile" -msgstr "Dieses Profil löschen" - -#: ../../Zotlabs/Module/Profiles.php:690 -msgid "Add profile things" -msgstr "Sachen zum Profil hinzufügen" - -#: ../../Zotlabs/Module/Profiles.php:691 ../../include/widgets.php:105 -#: ../../include/conversation.php:1585 -msgid "Personal" -msgstr "Persönlich" - -#: ../../Zotlabs/Module/Profiles.php:693 -msgid "Relation" -msgstr "Beziehung" - -#: ../../Zotlabs/Module/Profiles.php:694 ../../include/datetime.php:55 -msgid "Miscellaneous" -msgstr "Verschiedenes" - -#: ../../Zotlabs/Module/Profiles.php:696 -msgid "Import profile from file" -msgstr "Profil aus einer Datei importieren" - -#: ../../Zotlabs/Module/Profiles.php:697 -msgid "Export profile to file" -msgstr "Profil in eine Datei exportieren" - -#: ../../Zotlabs/Module/Profiles.php:698 -msgid "Your gender" -msgstr "Dein Geschlecht" - -#: ../../Zotlabs/Module/Profiles.php:699 -msgid "Marital status" -msgstr "Familienstand" - -#: ../../Zotlabs/Module/Profiles.php:700 -msgid "Sexual preference" -msgstr "Sexuelle Orientierung" - -#: ../../Zotlabs/Module/Profiles.php:703 -msgid "Profile name" -msgstr "Profilname" - -#: ../../Zotlabs/Module/Profiles.php:705 -msgid "This is your default profile." -msgstr "Das ist Dein Standardprofil." - -#: ../../Zotlabs/Module/Profiles.php:707 -msgid "Your full name" -msgstr "Dein voller Name" - -#: ../../Zotlabs/Module/Profiles.php:708 -msgid "Title/Description" -msgstr "Titel/Beschreibung" - -#: ../../Zotlabs/Module/Profiles.php:711 -msgid "Street address" -msgstr "Straße und Hausnummer" - -#: ../../Zotlabs/Module/Profiles.php:712 -msgid "Locality/City" -msgstr "Wohnort" - -#: ../../Zotlabs/Module/Profiles.php:713 -msgid "Region/State" -msgstr "Region/Bundesstaat" - -#: ../../Zotlabs/Module/Profiles.php:714 -msgid "Postal/Zip code" -msgstr "Postleitzahl" - -#: ../../Zotlabs/Module/Profiles.php:715 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1161 -msgid "Country" -msgstr "Land" - -#: ../../Zotlabs/Module/Profiles.php:720 -msgid "Who (if applicable)" -msgstr "Wer (falls anwendbar)" - -#: ../../Zotlabs/Module/Profiles.php:720 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" -msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com" - -#: ../../Zotlabs/Module/Profiles.php:721 -msgid "Since (date)" -msgstr "Seit (Datum)" - -#: ../../Zotlabs/Module/Profiles.php:724 -msgid "Tell us about yourself" -msgstr "Erzähle uns ein wenig von Dir" - -#: ../../Zotlabs/Module/Profiles.php:725 -#: ../../extend/addon/addon/openid/MysqlProvider.php:68 -msgid "Homepage URL" -msgstr "Homepage-URL" - -#: ../../Zotlabs/Module/Profiles.php:726 -msgid "Hometown" -msgstr "Heimatort" - -#: ../../Zotlabs/Module/Profiles.php:727 -msgid "Political views" -msgstr "Politische Ansichten" - -#: ../../Zotlabs/Module/Profiles.php:728 -msgid "Religious views" -msgstr "Religiöse Ansichten" - -#: ../../Zotlabs/Module/Profiles.php:729 -msgid "Keywords used in directory listings" -msgstr "Schlüsselwörter, die in Verzeichnis-Auflistungen verwendet werden" - -#: ../../Zotlabs/Module/Profiles.php:729 -msgid "Example: fishing photography software" -msgstr "Beispiel: Angeln Fotografie Software" - -#: ../../Zotlabs/Module/Profiles.php:732 -msgid "Musical interests" -msgstr "Musikalische Interessen" - -#: ../../Zotlabs/Module/Profiles.php:733 -msgid "Books, literature" -msgstr "Bücher, Literatur" - -#: ../../Zotlabs/Module/Profiles.php:734 -msgid "Television" -msgstr "Fernsehen" - -#: ../../Zotlabs/Module/Profiles.php:735 -msgid "Film/Dance/Culture/Entertainment" -msgstr "Film/Tanz/Kultur/Unterhaltung" +#: ../../Zotlabs/Module/Oexchange.php:27 +msgid "Unable to find your hub." +msgstr "Konnte Deinen Server nicht finden." -#: ../../Zotlabs/Module/Profiles.php:736 -msgid "Hobbies/Interests" -msgstr "Hobbys/Interessen" +#: ../../Zotlabs/Module/Oexchange.php:41 +msgid "Post successful." +msgstr "Veröffentlichung erfolgreich." -#: ../../Zotlabs/Module/Profiles.php:737 -msgid "Love/Romance" -msgstr "Liebe/Romantik" +#: ../../Zotlabs/Module/Item.php:184 +msgid "Unable to locate original post." +msgstr "Originalbeitrag nicht gefunden." -#: ../../Zotlabs/Module/Profiles.php:739 -msgid "School/Education" -msgstr "Schule/Ausbildung" +#: ../../Zotlabs/Module/Item.php:450 +msgid "Empty post discarded." +msgstr "Leeren Beitrag verworfen." -#: ../../Zotlabs/Module/Profiles.php:740 -msgid "Contact information and social networks" -msgstr "Kontaktinformation und soziale Netzwerke" +#: ../../Zotlabs/Module/Item.php:492 +msgid "Executable content type not permitted to this channel." +msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben." -#: ../../Zotlabs/Module/Profiles.php:741 -msgid "My other channels" -msgstr "Meine anderen Kanäle" +#: ../../Zotlabs/Module/Item.php:842 +msgid "Duplicate post suppressed." +msgstr "Doppelter Beitrag unterdrückt." -#: ../../Zotlabs/Module/Profiles.php:761 ../../include/channel.php:979 -msgid "Profile Image" -msgstr "Profilfoto:" +#: ../../Zotlabs/Module/Item.php:984 +msgid "System error. Post not saved." +msgstr "Systemfehler. Beitrag nicht gespeichert." -#: ../../Zotlabs/Module/Profiles.php:771 ../../include/channel.php:961 -#: ../../include/nav.php:91 -msgid "Edit Profiles" -msgstr "Profile bearbeiten" +#: ../../Zotlabs/Module/Item.php:1114 +msgid "Unable to obtain post information from database." +msgstr "Beitragsinformationen können nicht aus der Datenbank abgerufen werden." -#: ../../Zotlabs/Module/Oexchange.php:27 -msgid "Unable to find your hub." -msgstr "Konnte Deinen Server nicht finden." +#: ../../Zotlabs/Module/Item.php:1121 +#, 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/Oexchange.php:41 -msgid "Post successful." -msgstr "Veröffentlichung erfolgreich." +#: ../../Zotlabs/Module/Item.php:1128 +#, 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/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59 msgid "This setting requires special processing and editing has been blocked." @@ -4952,7 +5218,11 @@ 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/Blocks.php:154 ../../include/text.php:2270 +#: ../../Zotlabs/Module/Profile.php:78 +msgid "vcard" +msgstr "VCard" + +#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2283 msgid "Blocks" msgstr "Blöcke" @@ -4960,12 +5230,12 @@ msgstr "Blöcke" msgid "Block Title" msgstr "Titel des Blocks" -#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2272 +#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2285 msgid "Layouts" msgstr "Layouts" -#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225 -#: ../../include/nav.php:162 ../../include/help.php:53 +#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:232 +#: ../../include/nav.php:174 ../../include/help.php:53 #: ../../include/help.php:59 msgid "Help" msgstr "Hilfe" @@ -4999,141 +5269,158 @@ msgstr "Bewertung (öffentlich sichtbar)" msgid "Optionally explain your rating (this information is public)" msgstr "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)" -#: ../../Zotlabs/Module/Like.php:19 -msgid "Like/Dislike" -msgstr "Mögen/Nicht mögen" +#: ../../Zotlabs/Module/Profile_photo.php:190 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:295 +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/Like.php:24 -msgid "This action is restricted to members." -msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden." +#: ../../Zotlabs/Module/Profile_photo.php:411 +msgid "Use Photo for Profile" +msgstr "Foto für Profil verwenden" -#: ../../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/Profile_photo.php:411 +msgid "Upload Profile Photo" +msgstr "Lade neues Profilfoto hoch" -#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131 -#: ../../Zotlabs/Module/Like.php:169 -msgid "Invalid request." -msgstr "Ungültige Anfrage." +#: ../../Zotlabs/Module/Profile_photo.php:412 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:182 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:194 +msgid "Use" +msgstr "Verwenden" -#: ../../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:110 +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:112 ../../Zotlabs/Module/Events.php:121 +#: ../../Zotlabs/Module/Events.php:143 +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 -#: ../../extend/addon/addon/diaspora/inbound.php:1792 -#: ../../extend/addon/addon/redphotos/redphotohelper.php:74 -#: ../../include/text.php:1940 ../../include/conversation.php:120 -msgid "photo" -msgstr "Foto" +#: ../../Zotlabs/Module/Events.php:119 +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 -#: ../../extend/addon/addon/diaspora/inbound.php:1792 -#: ../../include/text.php:1946 ../../include/conversation.php:148 -msgid "status" -msgstr "Status" +#: ../../Zotlabs/Module/Events.php:141 ../../Zotlabs/Module/Events.php:265 +msgid "Event not found." +msgstr "Termin nicht gefunden." -#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Tagger.php:51 -#: ../../Zotlabs/Module/Events.php:256 ../../include/text.php:1943 -#: ../../include/event.php:961 ../../include/conversation.php:123 -msgid "event" -msgstr "Termin" +#: ../../Zotlabs/Module/Events.php:460 +msgid "Edit event title" +msgstr "Termintitel bearbeiten" -#: ../../Zotlabs/Module/Like.php:419 -#: ../../extend/addon/addon/diaspora/inbound.php:1821 -#: ../../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:460 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:835 +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:462 +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:463 +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:463 +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:466 +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:466 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:836 +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:467 ../../Zotlabs/Module/Events.php:470 +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:469 +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:469 +msgid "Finish date and time" +msgstr "Enddatum und -zeit" -#: ../../Zotlabs/Module/Like.php:539 -msgid "Thank you." -msgstr "Vielen Dank." +#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Events.php:472 +msgid "Adjust for viewer timezone" +msgstr "An die Zeitzone des Betrachters anpassen" -#: ../../Zotlabs/Module/Profile_photo.php:186 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:293 +#: ../../Zotlabs/Module/Events.php:471 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." +"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/Profile_photo.php:409 -msgid "Use Photo for Profile" -msgstr "Foto für Profil verwenden" +#: ../../Zotlabs/Module/Events.php:473 +msgid "Edit Description" +msgstr "Beschreibung bearbeiten" -#: ../../Zotlabs/Module/Profile_photo.php:409 -msgid "Upload Profile Photo" -msgstr "Lade neues Profilfoto hoch" +#: ../../Zotlabs/Module/Events.php:475 +msgid "Edit Location" +msgstr "Ort bearbeiten" -#: ../../Zotlabs/Module/Profile_photo.php:410 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:181 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:193 -msgid "Use" -msgstr "Verwenden" +#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1410 +msgid "Permission settings" +msgstr "Berechtigungs-Einstellungen" -#: ../../Zotlabs/Module/Search.php:223 -#, php-format -msgid "Items tagged with: %s" -msgstr "Beiträge mit Schlagwort: %s" +#: ../../Zotlabs/Module/Events.php:489 +msgid "Timezone:" +msgstr "Zeitzone:" -#: ../../Zotlabs/Module/Search.php:225 -#, php-format -msgid "Search results for: %s" -msgstr "Suchergebnisse für: %s" +#: ../../Zotlabs/Module/Events.php:494 +msgid "Advanced Options" +msgstr "Weitere Optionen" + +#: ../../Zotlabs/Module/Events.php:633 +msgid "Edit event" +msgstr "Termin bearbeiten" + +#: ../../Zotlabs/Module/Events.php:635 +msgid "Delete event" +msgstr "Termin löschen" + +#: ../../Zotlabs/Module/Events.php:669 +msgid "calendar" +msgstr "Kalender" + +#: ../../Zotlabs/Module/Events.php:695 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:849 +msgid "Month" +msgstr "Monat" + +#: ../../Zotlabs/Module/Events.php:696 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:850 +msgid "Week" +msgstr "Woche" + +#: ../../Zotlabs/Module/Events.php:697 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:851 +msgid "Day" +msgstr "Tag" + +#: ../../Zotlabs/Module/Events.php:731 +msgid "Event removed" +msgstr "Termin gelöscht" + +#: ../../Zotlabs/Module/Events.php:734 +msgid "Failed to remove event" +msgstr "Termin konnte nicht gelöscht werden" #: ../../Zotlabs/Module/Common.php:14 msgid "No channel." @@ -5147,81 +5434,47 @@ msgstr "Gemeinsame Verbindungen" msgid "No connections in common." msgstr "Keine gemeinsamen Verbindungen." -#: ../../Zotlabs/Module/Api.php:72 ../../Zotlabs/Module/Api.php:93 -msgid "Authorize application connection" -msgstr "Zugriff für die Anwendung autorisieren" - -#: ../../Zotlabs/Module/Api.php:73 -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/Api.php:83 -msgid "Please login to continue." -msgstr "Zum Weitermachen, bitte einloggen." - -#: ../../Zotlabs/Module/Api.php:95 -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?" - -#: ../../Zotlabs/Module/Ping.php:254 -msgid "sent you a private message" -msgstr "hat Dir eine private Nachricht geschickt" - -#: ../../Zotlabs/Module/Ping.php:302 -msgid "added your channel" -msgstr "hat deinen Kanal hinzugefügt" - -#: ../../Zotlabs/Module/Ping.php:312 -msgid "g A l F d" -msgstr "l, d. F, G:i \\U\\h\\r" - -#: ../../Zotlabs/Module/Ping.php:330 -msgid "[today]" -msgstr "[Heute]" - -#: ../../Zotlabs/Module/Ping.php:339 -msgid "posted an event" -msgstr "hat einen Termin veröffentlicht" +#: ../../Zotlabs/Module/Chanview.php:134 +msgid "toggle full screen mode" +msgstr "auf Vollbildmodus umschalten" -#: ../../Zotlabs/Module/Siteinfo.php:20 -msgid "About this site" -msgstr "Ãœber diese Seite" +#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 +msgid "Invalid profile identifier." +msgstr "Ungültiger Profil-Identifikator" -#: ../../Zotlabs/Module/Siteinfo.php:21 -msgid "Site Name" -msgstr "Seitenname" +#: ../../Zotlabs/Module/Profperm.php:111 +msgid "Profile Visibility Editor" +msgstr "Profil-Sichtbarkeits-Editor" -#: ../../Zotlabs/Module/Siteinfo.php:25 ../../include/network.php:1962 -msgid "Administrator" -msgstr "Administrator" +#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1367 +msgid "Profile" +msgstr "Profil" -#: ../../Zotlabs/Module/Siteinfo.php:28 -msgid "Software and Project information" -msgstr "Software und Projektinformationen" +#: ../../Zotlabs/Module/Profperm.php:115 +msgid "Click on a contact to add or remove." +msgstr "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen." -#: ../../Zotlabs/Module/Siteinfo.php:29 -msgid "This site is powered by $Projectname" -msgstr "Diese Website wird bereitgestellt durch $Projectname" +#: ../../Zotlabs/Module/Profperm.php:124 +msgid "Visible To" +msgstr "Sichtbar für" -#: ../../Zotlabs/Module/Siteinfo.php:30 -msgid "" -"Federated and decentralised networking and identity services provided by Zot" -msgstr "Verbundene, dezentrale Netzwerk- und Identitätsdienste, ermöglicht mittels Zot" +#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25 +#: ../../extend/addon/addon/chess/chess.php:400 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:26 +msgid "You must be logged in to see this page." +msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können." -#: ../../Zotlabs/Module/Siteinfo.php:32 -#, php-format -msgid "Version %s" -msgstr "Version %s" +#: ../../Zotlabs/Module/Channel.php:44 +msgid "Posts and comments" +msgstr "Beiträge und Kommentare" -#: ../../Zotlabs/Module/Siteinfo.php:33 -msgid "Project homepage" -msgstr "Projekt-Website" +#: ../../Zotlabs/Module/Channel.php:45 +msgid "Only posts" +msgstr "Nur Beiträge" -#: ../../Zotlabs/Module/Siteinfo.php:34 -msgid "Developer homepage" -msgstr "Entwickler-Website" +#: ../../Zotlabs/Module/Channel.php:104 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet." #: ../../Zotlabs/Module/Lostpass.php:19 msgid "No valid account found." @@ -5247,7 +5500,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:91 ../../boot.php:1727 +#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1740 msgid "Password Reset" msgstr "Zurücksetzen des Kennworts" @@ -5312,23 +5565,23 @@ msgstr "URL des Lesezeichens" msgid "Or enter new bookmark folder name" msgstr "Oder gib einen neuen Namen für den Lesezeichenordner ein" -#: ../../Zotlabs/Module/Dirsearch.php:33 -msgid "This directory server requires an access token" -msgstr "Dieser Verzeichnisserver benötigt einen Zugriffstoken" +#: ../../Zotlabs/Module/Follow.php:31 +msgid "Channel added." +msgstr "Kanal hinzugefügt." #: ../../Zotlabs/Module/Rmagic.php:35 msgid "Authentication failed." msgstr "Authentifizierung fehlgeschlagen." -#: ../../Zotlabs/Module/Rmagic.php:75 +#: ../../Zotlabs/Module/Rmagic.php:75 ../../include/channel.php:1991 msgid "Remote Authentication" msgstr "Entfernte Authentifizierung" -#: ../../Zotlabs/Module/Rmagic.php:76 +#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:1992 msgid "Enter your channel address (e.g. channel@example.com)" msgstr "Deine Kanal-Adresse (z. B. channel@example.com)" -#: ../../Zotlabs/Module/Rmagic.php:77 +#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:1993 msgid "Authenticate" msgstr "Authentifizieren" @@ -5408,22 +5661,22 @@ msgstr "Modulname:" msgid "Layout Help" msgstr "Layout-Hilfe" -#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56 +#: ../../Zotlabs/Module/Uexport.php:57 ../../Zotlabs/Module/Uexport.php:58 msgid "Export Channel" msgstr "Kanal exportieren" -#: ../../Zotlabs/Module/Uexport.php:57 +#: ../../Zotlabs/Module/Uexport.php:59 msgid "" "Export your basic channel information to a file. This acts as a backup of " "your connections, permissions, profile and basic data, which can be used to " "import your data to a new server hub, but does not contain your content." msgstr "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." -#: ../../Zotlabs/Module/Uexport.php:58 +#: ../../Zotlabs/Module/Uexport.php:60 msgid "Export Content" msgstr "Kanal und Inhalte exportieren" -#: ../../Zotlabs/Module/Uexport.php:59 +#: ../../Zotlabs/Module/Uexport.php:61 msgid "" "Export your channel information and recent content to a JSON backup that can" " be restored or imported to another server hub. This backs up all of your " @@ -5432,11 +5685,11 @@ msgid "" " this download to begin." msgstr "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." -#: ../../Zotlabs/Module/Uexport.php:60 +#: ../../Zotlabs/Module/Uexport.php:63 msgid "Export your posts from a given year." msgstr "Exportiert die Beiträge des angegebenen Jahres." -#: ../../Zotlabs/Module/Uexport.php:62 +#: ../../Zotlabs/Module/Uexport.php:65 msgid "" "You may also export your posts and conversations for a particular year or " "month. Adjust the date in your browser location bar to select other dates. " @@ -5444,21 +5697,21 @@ msgid "" "please try again selecting a more limited date range." msgstr "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." -#: ../../Zotlabs/Module/Uexport.php:63 +#: ../../Zotlabs/Module/Uexport.php:66 #, php-format msgid "" "To select all posts for a given year, such as this year, visit <a " "href=\"%1$s\">%2$s</a>" msgstr "Um alle Beiträge eines bestimmten Jahres, zum Beispiel dieses Jahres, auszuwählen, klicke <a href=\"%1$s\">%2$s</a>." -#: ../../Zotlabs/Module/Uexport.php:64 +#: ../../Zotlabs/Module/Uexport.php:67 #, php-format msgid "" "To select all posts for a given month, such as January of this year, visit " "<a href=\"%1$s\">%2$s</a>" msgstr "Um alle Beiträge eines bestimmten Monats auszuwählen, zum Beispiel vom Januar diesen Jahres, klicke <a href=\"%1$s\">%2$s</a>." -#: ../../Zotlabs/Module/Uexport.php:65 +#: ../../Zotlabs/Module/Uexport.php:68 #, php-format msgid "" "These content files may be imported or restored by visiting <a " @@ -5466,115 +5719,126 @@ 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/Cal.php:69 -msgid "Permissions denied." -msgstr "Berechtigung verweigert." +#: ../../Zotlabs/Module/Directory.php:246 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "%d Bewertung" +msgstr[1] "%d Bewertungen" -#: ../../Zotlabs/Module/Cal.php:263 ../../Zotlabs/Module/Events.php:596 -msgid "l, F j" -msgstr "l, j. F" +#: ../../Zotlabs/Module/Directory.php:257 +msgid "Gender: " +msgstr "Geschlecht:" -#: ../../Zotlabs/Module/Cal.php:312 ../../Zotlabs/Module/Events.php:651 -#: ../../include/text.php:1748 -msgid "Link to Source" -msgstr "Link zur Quelle" +#: ../../Zotlabs/Module/Directory.php:259 +msgid "Status: " +msgstr "Status:" -#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:679 -msgid "Edit Event" -msgstr "Termin bearbeiten" +#: ../../Zotlabs/Module/Directory.php:261 +msgid "Homepage: " +msgstr "Webseite:" -#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:679 -msgid "Create Event" -msgstr "Termin anlegen" +#: ../../Zotlabs/Module/Directory.php:310 ../../include/channel.php:1298 +msgid "Age:" +msgstr "Alter:" -#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:682 -msgid "Export" -msgstr "Exportieren" +#: ../../Zotlabs/Module/Directory.php:315 ../../include/markdown.php:561 +#: ../../include/channel.php:1134 ../../include/event.php:52 +#: ../../include/event.php:84 +msgid "Location:" +msgstr "Ort:" -#: ../../Zotlabs/Module/Cal.php:341 ../../include/text.php:2294 -msgid "Import" -msgstr "Import" +#: ../../Zotlabs/Module/Directory.php:321 +msgid "Description:" +msgstr "Beschreibung:" -#: ../../Zotlabs/Module/Cal.php:345 ../../Zotlabs/Module/Events.php:691 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:848 -msgid "Today" -msgstr "Heute" +#: ../../Zotlabs/Module/Directory.php:326 ../../include/channel.php:1314 +msgid "Hometown:" +msgstr "Heimatstadt:" -#: ../../Zotlabs/Module/Admin.php:94 -msgid "# Accounts" -msgstr "Anzahl der Konten" +#: ../../Zotlabs/Module/Directory.php:328 ../../include/channel.php:1322 +msgid "About:" +msgstr "Ãœber:" -#: ../../Zotlabs/Module/Admin.php:95 -msgid "# blocked accounts" -msgstr "Anzahl der blockierten Konten" +#: ../../Zotlabs/Module/Directory.php:329 ../../Zotlabs/Module/Suggest.php:56 +#: ../../include/connections.php:110 ../../include/conversation.php:938 +#: ../../include/conversation.php:1069 ../../include/widgets.php:148 +#: ../../include/widgets.php:185 ../../include/channel.php:1119 +msgid "Connect" +msgstr "Verbinden" -#: ../../Zotlabs/Module/Admin.php:96 -msgid "# expired accounts" -msgstr "Anzahl der abgelaufenen Konten" +#: ../../Zotlabs/Module/Directory.php:330 +msgid "Public Forum:" +msgstr "Öffentliches Forum:" -#: ../../Zotlabs/Module/Admin.php:97 -msgid "# expiring accounts" -msgstr "Anzahl der ablaufenden Konten" +#: ../../Zotlabs/Module/Directory.php:333 +msgid "Keywords: " +msgstr "Schlüsselwörter:" -#: ../../Zotlabs/Module/Admin.php:108 -msgid "# Channels" -msgstr "Anzahl der Kanäle" +#: ../../Zotlabs/Module/Directory.php:336 +msgid "Don't suggest" +msgstr "Nicht vorschlagen" -#: ../../Zotlabs/Module/Admin.php:109 -msgid "# primary" -msgstr "Anzahl der primären Kanäle" +#: ../../Zotlabs/Module/Directory.php:338 +msgid "Common connections:" +msgstr "Gemeinsame Verbindungen:" -#: ../../Zotlabs/Module/Admin.php:110 -msgid "# clones" -msgstr "Anzahl der Klone" +#: ../../Zotlabs/Module/Directory.php:387 +msgid "Global Directory" +msgstr "Globales Verzeichnis" -#: ../../Zotlabs/Module/Admin.php:116 -msgid "Message queues" -msgstr "Nachrichten-Warteschlangen" +#: ../../Zotlabs/Module/Directory.php:387 +msgid "Local Directory" +msgstr "Lokales Verzeichnis" -#: ../../Zotlabs/Module/Admin.php:133 -msgid "Your software should be updated" -msgstr "Die installierte Software sollte aktualisiert werden" +#: ../../Zotlabs/Module/Directory.php:393 +msgid "Finding:" +msgstr "Ergebnisse:" -#: ../../Zotlabs/Module/Admin.php:138 -msgid "Summary" -msgstr "Zusammenfassung" +#: ../../Zotlabs/Module/Directory.php:396 ../../Zotlabs/Module/Suggest.php:64 +#: ../../include/contact_widgets.php:24 +msgid "Channel Suggestions" +msgstr "Kanal-Vorschläge" -#: ../../Zotlabs/Module/Admin.php:141 -msgid "Registered accounts" -msgstr "Registrierte Konten" +#: ../../Zotlabs/Module/Directory.php:398 +msgid "next page" +msgstr "nächste Seite" -#: ../../Zotlabs/Module/Admin.php:142 -msgid "Pending registrations" -msgstr "Ausstehende Registrierungen" +#: ../../Zotlabs/Module/Directory.php:398 +msgid "previous page" +msgstr "vorherige Seite" -#: ../../Zotlabs/Module/Admin.php:143 -msgid "Registered channels" -msgstr "Registrierte Kanäle" +#: ../../Zotlabs/Module/Directory.php:399 +msgid "Sort options" +msgstr "Sortieroptionen" -#: ../../Zotlabs/Module/Admin.php:144 -msgid "Active plugins" -msgstr "Aktive Plug-Ins" +#: ../../Zotlabs/Module/Directory.php:400 +msgid "Alphabetic" +msgstr "alphabetisch" -#: ../../Zotlabs/Module/Admin.php:145 -msgid "Version" -msgstr "Version" +#: ../../Zotlabs/Module/Directory.php:401 +msgid "Reverse Alphabetic" +msgstr "Entgegengesetzt alphabetisch" -#: ../../Zotlabs/Module/Admin.php:146 -msgid "Repository version (master)" -msgstr "Repository-Version (master)" +#: ../../Zotlabs/Module/Directory.php:402 +msgid "Newest to Oldest" +msgstr "Neueste zuerst" -#: ../../Zotlabs/Module/Admin.php:147 -msgid "Repository version (dev)" -msgstr "Repository-Version (dev)" +#: ../../Zotlabs/Module/Directory.php:403 +msgid "Oldest to Newest" +msgstr "Älteste zuerst" -#: ../../Zotlabs/Module/Lockview.php:75 -msgid "Remote privacy information not available." -msgstr "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar." +#: ../../Zotlabs/Module/Directory.php:420 +msgid "No entries (some entries may be hidden)." +msgstr "Keine Einträge gefunden (einige könnten versteckt sein)." -#: ../../Zotlabs/Module/Lockview.php:96 -msgid "Visible to:" -msgstr "Sichtbar für:" +#: ../../Zotlabs/Module/Chatsvc.php:131 +msgid "Away" +msgstr "Abwesend" + +#: ../../Zotlabs/Module/Chatsvc.php:136 +msgid "Online" +msgstr "Online" #: ../../Zotlabs/Module/Service_limits.php:23 msgid "No service class restrictions found." @@ -5596,40 +5860,40 @@ msgstr "Webseitenelemente exportieren" msgid "Export selected" msgstr "Exportieren ausgewählt" -#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:218 -#: ../../include/nav.php:109 ../../include/conversation.php:1745 +#: ../../Zotlabs/Module/Webpages.php:241 ../../Zotlabs/Lib/Apps.php:225 +#: ../../include/conversation.php:1889 msgid "Webpages" msgstr "Webseiten" -#: ../../Zotlabs/Module/Webpages.php:248 ../../include/page_widgets.php:44 +#: ../../Zotlabs/Module/Webpages.php:252 ../../include/page_widgets.php:44 msgid "Actions" msgstr "Aktionen" -#: ../../Zotlabs/Module/Webpages.php:249 ../../include/page_widgets.php:45 +#: ../../Zotlabs/Module/Webpages.php:253 ../../include/page_widgets.php:45 msgid "Page Link" msgstr "Seiten-Link" -#: ../../Zotlabs/Module/Webpages.php:250 +#: ../../Zotlabs/Module/Webpages.php:254 msgid "Page Title" msgstr "Seitentitel" -#: ../../Zotlabs/Module/Webpages.php:280 +#: ../../Zotlabs/Module/Webpages.php:284 msgid "Invalid file type." msgstr "Ungültiger Dateityp." -#: ../../Zotlabs/Module/Webpages.php:292 +#: ../../Zotlabs/Module/Webpages.php:296 msgid "Error opening zip file" msgstr "Fehler beim Öffnen der ZIP-Datei" -#: ../../Zotlabs/Module/Webpages.php:303 +#: ../../Zotlabs/Module/Webpages.php:307 msgid "Invalid folder path." msgstr "Ungültiger Ordnerpfad." -#: ../../Zotlabs/Module/Webpages.php:330 +#: ../../Zotlabs/Module/Webpages.php:334 msgid "No webpage elements detected." msgstr "Keine Webseitenelemente erkannt." -#: ../../Zotlabs/Module/Webpages.php:405 +#: ../../Zotlabs/Module/Webpages.php:409 msgid "Import complete." msgstr "Import abgeschlossen." @@ -5658,7 +5922,7 @@ msgid "" 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:547 +#: ../../Zotlabs/Module/Settings/Channel.php:575 msgid "Remove Channel" msgstr "Kanal löschen" @@ -5678,132 +5942,182 @@ msgstr "Alle Dateien löschen" msgid "Remove this file" msgstr "Diese Datei löschen" -#: ../../Zotlabs/Module/Wiki.php:34 +#: ../../Zotlabs/Module/Wiki.php:29 +msgid "Profile Unavailable." +msgstr "Profil nicht verfügbar." + +#: ../../Zotlabs/Module/Wiki.php:43 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:40 msgid "Not found" msgstr "Nicht gefunden" -#: ../../Zotlabs/Module/Wiki.php:55 +#: ../../Zotlabs/Module/Wiki.php:67 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:60 msgid "Invalid channel" msgstr "Ungültiger Kanal" -#: ../../Zotlabs/Module/Wiki.php:100 -msgid "Error retrieving wiki" -msgstr "Fehler beim Abrufen des Wiki" - -#: ../../Zotlabs/Module/Wiki.php:107 -msgid "Error creating zip file export folder" -msgstr "Fehler bei der Erzeugung des Zip-Datei Export-Verzeichnisses " - -#: ../../Zotlabs/Module/Wiki.php:125 -msgid "Error downloading wiki: " -msgstr "Fehler beim Herunterladen des Wiki:" - -#: ../../Zotlabs/Module/Wiki.php:139 ../../include/nav.php:111 -#: ../../include/conversation.php:1755 +#: ../../Zotlabs/Module/Wiki.php:158 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:144 +#: ../../include/conversation.php:1900 msgid "Wikis" msgstr "Wikis" -#: ../../Zotlabs/Module/Wiki.php:145 ../../include/widgets.php:966 +#: ../../Zotlabs/Module/Wiki.php:164 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:150 msgid "Download" msgstr "Herunterladen" -#: ../../Zotlabs/Module/Wiki.php:149 ../../include/widgets.php:970 +#: ../../Zotlabs/Module/Wiki.php:168 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:154 msgid "Wiki name" msgstr "Name des Wiki" -#: ../../Zotlabs/Module/Wiki.php:150 +#: ../../Zotlabs/Module/Wiki.php:169 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:155 msgid "Content type" msgstr "Inhaltstyp" -#: ../../Zotlabs/Module/Wiki.php:159 +#: ../../Zotlabs/Module/Wiki.php:178 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 msgid "Create a status post for this wiki" msgstr "Erzeuge einen Statusbeitrag für dieses Wiki" -#: ../../Zotlabs/Module/Wiki.php:178 +#: ../../Zotlabs/Module/Wiki.php:203 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:183 msgid "Wiki not found" msgstr "Wiki nicht gefunden" -#: ../../Zotlabs/Module/Wiki.php:203 +#: ../../Zotlabs/Module/Wiki.php:227 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:208 msgid "Rename page" msgstr "Seite umbenennen" -#: ../../Zotlabs/Module/Wiki.php:207 +#: ../../Zotlabs/Module/Wiki.php:231 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:212 msgid "Error retrieving page content" msgstr "Fehler beim Abrufen des Seiteninhalts" -#: ../../Zotlabs/Module/Wiki.php:240 +#: ../../Zotlabs/Module/Wiki.php:261 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:241 msgid "Revision Comparison" msgstr "Revisionsvergleich" -#: ../../Zotlabs/Module/Wiki.php:241 +#: ../../Zotlabs/Module/Wiki.php:262 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:242 msgid "Revert" msgstr "Rückgängig machen" -#: ../../Zotlabs/Module/Wiki.php:250 -msgid "Choose an available wiki from the list on the left." -msgstr "Wähle ein vorhandenes Wiki aus der Liste auf der linken Seite aus." +#: ../../Zotlabs/Module/Wiki.php:266 +msgid "Short description of your changes (optional)" +msgstr "Kurze Beschreibung Ihrer Änderungen (optional)" -#: ../../Zotlabs/Module/Wiki.php:252 +#: ../../Zotlabs/Module/Wiki.php:273 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:251 msgid "Source" msgstr "Quelle" -#: ../../Zotlabs/Module/Wiki.php:269 +#: ../../Zotlabs/Module/Wiki.php:281 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:259 msgid "New page name" msgstr "Neuer Seitenname" -#: ../../Zotlabs/Module/Wiki.php:275 ../../include/conversation.php:1169 +#: ../../Zotlabs/Module/Wiki.php:286 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:264 +#: ../../include/conversation.php:1299 msgid "Embed image from photo albums" msgstr "Bild aus Fotoalben einbetten" -#: ../../Zotlabs/Module/Wiki.php:276 ../../include/conversation.php:1263 +#: ../../Zotlabs/Module/Wiki.php:287 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:265 +#: ../../include/conversation.php:1393 msgid "Embed an image from your albums" msgstr "Betten Sie ein Bild aus Ihren Alben ein" -#: ../../Zotlabs/Module/Wiki.php:278 ../../include/conversation.php:1265 -#: ../../include/conversation.php:1312 +#: ../../Zotlabs/Module/Wiki.php:289 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:267 +#: ../../include/conversation.php:1395 ../../include/conversation.php:1442 msgid "OK" msgstr "Ok" -#: ../../Zotlabs/Module/Wiki.php:279 ../../include/conversation.php:1205 +#: ../../Zotlabs/Module/Wiki.php:290 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:268 +#: ../../include/conversation.php:1335 msgid "Choose images to embed" msgstr "Wählen Sie Bilder zum Einbetten aus" -#: ../../Zotlabs/Module/Wiki.php:280 ../../include/conversation.php:1206 +#: ../../Zotlabs/Module/Wiki.php:291 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:269 +#: ../../include/conversation.php:1336 msgid "Choose an album" msgstr "Wählen Sie ein Album aus" -#: ../../Zotlabs/Module/Wiki.php:281 ../../include/conversation.php:1207 -msgid "Choose a different album..." -msgstr "Wählen Sie ein anderes Album aus..." +#: ../../Zotlabs/Module/Wiki.php:292 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:270 +msgid "Choose a different album" +msgstr "Wählen Sie ein anderes Album aus" -#: ../../Zotlabs/Module/Wiki.php:282 ../../include/conversation.php:1208 +#: ../../Zotlabs/Module/Wiki.php:293 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:271 +#: ../../include/conversation.php:1338 msgid "Error getting album list" msgstr "Fehler beim Holen der Albenliste" -#: ../../Zotlabs/Module/Wiki.php:283 ../../include/conversation.php:1209 +#: ../../Zotlabs/Module/Wiki.php:294 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:272 +#: ../../include/conversation.php:1339 msgid "Error getting photo link" msgstr "Fehler beim Holen des Fotolinks" -#: ../../Zotlabs/Module/Wiki.php:284 ../../include/conversation.php:1210 +#: ../../Zotlabs/Module/Wiki.php:295 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:273 +#: ../../include/conversation.php:1340 msgid "Error getting album" msgstr "Fehler beim Holen des Albums" -#: ../../Zotlabs/Module/Wiki.php:348 +#: ../../Zotlabs/Module/Wiki.php:364 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:337 msgid "Error creating wiki. Invalid name." msgstr "Fehler beim Erstellen des Wiki. Ungültiger Name." -#: ../../Zotlabs/Module/Wiki.php:359 +#: ../../Zotlabs/Module/Wiki.php:376 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:348 msgid "Wiki created, but error creating Home page." msgstr "Das Wiki wurde erzeugt, aber es gab einen Fehler bei der Erstellung der Startseite" -#: ../../Zotlabs/Module/Wiki.php:364 +#: ../../Zotlabs/Module/Wiki.php:383 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:353 msgid "Error creating wiki" msgstr "Fehler beim Erstellen des Wiki" -#: ../../Zotlabs/Module/Wiki.php:410 +#: ../../Zotlabs/Module/Wiki.php:395 +msgid "Wiki delete permission denied." +msgstr "Wiki-Löschberechtigung verweigert." + +#: ../../Zotlabs/Module/Wiki.php:405 +msgid "Error deleting wiki" +msgstr "Fehler beim Löschen des Wiki" + +#: ../../Zotlabs/Module/Wiki.php:431 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:400 msgid "New page created" msgstr "Neue Seite erstellt" +#: ../../Zotlabs/Module/Wiki.php:546 +msgid "Cannot delete Home" +msgstr "Kann die Startseite nicht löschen" + +#: ../../Zotlabs/Module/Wiki.php:610 +msgid "Current Revision" +msgstr "Aktuelle Revision" + +#: ../../Zotlabs/Module/Wiki.php:610 +msgid "Selected Revision" +msgstr "Ausgewählte Revision" + +#: ../../Zotlabs/Module/Wiki.php:660 +msgid "You must be authenticated." +msgstr "Sie müssen authenzifiziert sein." + #: ../../Zotlabs/Module/Sources.php:37 msgid "Failed to create source. No channel selected." msgstr "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt." @@ -5820,8 +6134,8 @@ msgstr "Quelle aktualisiert." msgid "*" msgstr "*" -#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:195 -#: ../../include/widgets.php:672 +#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:691 +#: ../../include/features.php:213 msgid "Channel Sources" msgstr "Kanal-Quellen" @@ -5898,7 +6212,7 @@ msgid "" "hours." msgstr "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal." -#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149 +#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:150 msgid "Ignore/Hide" msgstr "Ignorieren/Verstecken" @@ -5906,12 +6220,12 @@ msgstr "Ignorieren/Verstecken" msgid "post" msgstr "Beitrag" -#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948 -#: ../../include/conversation.php:150 +#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150 +#: ../../include/text.php:1961 msgid "comment" msgstr "Kommentar" -#: ../../Zotlabs/Module/Tagger.php:100 +#: ../../Zotlabs/Module/Tagger.php:95 #, php-format msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "%1$s hat %2$ss %3$s mit %4$s verschlagwortet" @@ -5993,49 +6307,6 @@ msgstr "Kein Name" 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/Module/Settings/Account.php:20 msgid "Not valid email." msgstr "Keine gültige E-Mail Adresse." @@ -6101,7 +6372,7 @@ 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:119 -#: ../../Zotlabs/Module/Settings/Channel.php:462 +#: ../../Zotlabs/Module/Settings/Channel.php:483 msgid "Email Address:" msgstr "Email Adresse:" @@ -6109,7 +6380,74 @@ msgstr "Email Adresse:" msgid "Remove this account including all its channels" msgstr "Dieses Konto inklusive all seiner Kanäle löschen" -#: ../../Zotlabs/Module/Settings/Channel.php:246 +#: ../../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:658 +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/Module/Settings/Featured.php:20 +msgid "Affinity Slider settings updated." +msgstr "Die Beziehungsgrad-Schieberegler-Einstellungen wurden aktualisiert." + +#: ../../Zotlabs/Module/Settings/Featured.php:34 +msgid "No feature settings configured" +msgstr "Keine Funktions-Einstellungen konfiguriert" + +#: ../../Zotlabs/Module/Settings/Featured.php:41 +msgid "Default maximum affinity level" +msgstr "Voreinstellung für maximalen Beziehungsgrad" + +#: ../../Zotlabs/Module/Settings/Featured.php:46 +msgid "Default minimum affinity level" +msgstr "Voreinstellung für minimalen Beziehungsgrad" + +#: ../../Zotlabs/Module/Settings/Featured.php:50 +msgid "Affinity Slider Settings" +msgstr "Beziehungsgrad-Schieberegler-Einstellungen" + +#: ../../Zotlabs/Module/Settings/Featured.php:60 +msgid "Feature/Addon Settings" +msgstr "Funktions-/Addon-Einstellungen" + +#: ../../Zotlabs/Module/Settings/Channel.php:251 #: ../../extend/addon/addon/logrot/logrot.php:54 #: ../../extend/addon/addon/msgfooter/msgfooter.php:54 #: ../../extend/addon/addon/openstreetmap/openstreetmap.php:184 @@ -6120,361 +6458,369 @@ msgstr "Dieses Konto inklusive all seiner Kanäle löschen" msgid "Settings updated." msgstr "Einstellungen aktualisiert." -#: ../../Zotlabs/Module/Settings/Channel.php:307 +#: ../../Zotlabs/Module/Settings/Channel.php:312 msgid "Nobody except yourself" msgstr "Niemand außer Dir selbst" -#: ../../Zotlabs/Module/Settings/Channel.php:308 +#: ../../Zotlabs/Module/Settings/Channel.php:313 msgid "Only those you specifically allow" msgstr "Nur die, denen Du es explizit erlaubst" -#: ../../Zotlabs/Module/Settings/Channel.php:309 +#: ../../Zotlabs/Module/Settings/Channel.php:314 msgid "Approved connections" msgstr "Angenommene Verbindungen" -#: ../../Zotlabs/Module/Settings/Channel.php:310 +#: ../../Zotlabs/Module/Settings/Channel.php:315 msgid "Any connections" msgstr "Beliebige Verbindungen" -#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Settings/Channel.php:316 msgid "Anybody on this website" msgstr "Jeder auf dieser Website" -#: ../../Zotlabs/Module/Settings/Channel.php:312 +#: ../../Zotlabs/Module/Settings/Channel.php:317 msgid "Anybody in this network" msgstr "Alle $Projectname-Mitglieder" -#: ../../Zotlabs/Module/Settings/Channel.php:313 +#: ../../Zotlabs/Module/Settings/Channel.php:318 msgid "Anybody authenticated" msgstr "Jeder authentifizierte" -#: ../../Zotlabs/Module/Settings/Channel.php:314 +#: ../../Zotlabs/Module/Settings/Channel.php:319 msgid "Anybody on the internet" msgstr "Jeder im Internet" -#: ../../Zotlabs/Module/Settings/Channel.php:390 +#: ../../Zotlabs/Module/Settings/Channel.php:395 msgid "Publish your default profile in the network directory" msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen" -#: ../../Zotlabs/Module/Settings/Channel.php:395 +#: ../../Zotlabs/Module/Settings/Channel.php:400 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 +#: ../../Zotlabs/Module/Settings/Channel.php:409 msgid "Your channel address is" msgstr "Deine Kanal-Adresse lautet" -#: ../../Zotlabs/Module/Settings/Channel.php:407 +#: ../../Zotlabs/Module/Settings/Channel.php:412 msgid "Your files/photos are accessible via WebDAV at" msgstr "Deine Dateien/Fotos sind via WebDAV verfügbar auf" -#: ../../Zotlabs/Module/Settings/Channel.php:453 +#: ../../Zotlabs/Module/Settings/Channel.php:474 msgid "Channel Settings" msgstr "Kanal-Einstellungen" -#: ../../Zotlabs/Module/Settings/Channel.php:460 +#: ../../Zotlabs/Module/Settings/Channel.php:481 msgid "Basic Settings" msgstr "Grundeinstellungen" -#: ../../Zotlabs/Module/Settings/Channel.php:461 -#: ../../include/channel.php:1172 +#: ../../Zotlabs/Module/Settings/Channel.php:482 +#: ../../include/channel.php:1255 msgid "Full Name:" msgstr "Voller Name:" -#: ../../Zotlabs/Module/Settings/Channel.php:463 +#: ../../Zotlabs/Module/Settings/Channel.php:484 msgid "Your Timezone:" msgstr "Ihre Zeitzone:" -#: ../../Zotlabs/Module/Settings/Channel.php:464 +#: ../../Zotlabs/Module/Settings/Channel.php:485 msgid "Default Post Location:" msgstr "Standardstandort:" -#: ../../Zotlabs/Module/Settings/Channel.php:464 +#: ../../Zotlabs/Module/Settings/Channel.php:485 msgid "Geographical location to display on your posts" msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll" -#: ../../Zotlabs/Module/Settings/Channel.php:465 +#: ../../Zotlabs/Module/Settings/Channel.php:486 msgid "Use Browser Location:" msgstr "Standort des Browsers verwenden:" -#: ../../Zotlabs/Module/Settings/Channel.php:467 +#: ../../Zotlabs/Module/Settings/Channel.php:488 msgid "Adult Content" msgstr "Nicht jugendfreie Inhalte" -#: ../../Zotlabs/Module/Settings/Channel.php:467 +#: ../../Zotlabs/Module/Settings/Channel.php:488 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:469 +#: ../../Zotlabs/Module/Settings/Channel.php:490 msgid "Security and Privacy Settings" msgstr "Sicherheits- und Datenschutz-Einstellungen" -#: ../../Zotlabs/Module/Settings/Channel.php:472 +#: ../../Zotlabs/Module/Settings/Channel.php:493 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:474 +#: ../../Zotlabs/Module/Settings/Channel.php:495 msgid "Hide my online presence" msgstr "Meine Online-Präsenz verbergen" -#: ../../Zotlabs/Module/Settings/Channel.php:474 +#: ../../Zotlabs/Module/Settings/Channel.php:495 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:476 +#: ../../Zotlabs/Module/Settings/Channel.php:497 msgid "Simple Privacy Settings:" msgstr "Einfache Privatsphäre-Einstellungen" -#: ../../Zotlabs/Module/Settings/Channel.php:477 +#: ../../Zotlabs/Module/Settings/Channel.php:498 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:478 +#: ../../Zotlabs/Module/Settings/Channel.php:499 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:479 +#: ../../Zotlabs/Module/Settings/Channel.php:500 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:480 +#: ../../Zotlabs/Module/Settings/Channel.php:501 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "Blockiert – <em>Alle standardmäßig blockiert</em>" -#: ../../Zotlabs/Module/Settings/Channel.php:482 +#: ../../Zotlabs/Module/Settings/Channel.php:503 msgid "Allow others to tag your posts" msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten" -#: ../../Zotlabs/Module/Settings/Channel.php:482 +#: ../../Zotlabs/Module/Settings/Channel.php:503 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:484 +#: ../../Zotlabs/Module/Settings/Channel.php:505 msgid "Channel Permission Limits" msgstr "Kanal-Berechtigungslimits" -#: ../../Zotlabs/Module/Settings/Channel.php:486 +#: ../../Zotlabs/Module/Settings/Channel.php:507 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:486 +#: ../../Zotlabs/Module/Settings/Channel.php:507 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:486 +#: ../../Zotlabs/Module/Settings/Channel.php:507 #, php-format msgid "This website expires after %d days." msgstr "Diese Webseite läuft nach %d Tagen ab." -#: ../../Zotlabs/Module/Settings/Channel.php:486 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "This website does not expire imported content." msgstr "Diese Webseite lässt importierte Inhalte nicht verfallen." -#: ../../Zotlabs/Module/Settings/Channel.php:486 +#: ../../Zotlabs/Module/Settings/Channel.php:507 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:487 +#: ../../Zotlabs/Module/Settings/Channel.php:508 msgid "Maximum Friend Requests/Day:" msgstr "Maximale Kontaktanfragen pro Tag:" -#: ../../Zotlabs/Module/Settings/Channel.php:487 +#: ../../Zotlabs/Module/Settings/Channel.php:508 msgid "May reduce spam activity" msgstr "Kann die Spam-Aktivität verringern" -#: ../../Zotlabs/Module/Settings/Channel.php:488 +#: ../../Zotlabs/Module/Settings/Channel.php:509 msgid "Default Access Control List (ACL)" msgstr "Standard-Zugriffsberechtigungsliste (ACL)" -#: ../../Zotlabs/Module/Settings/Channel.php:490 +#: ../../Zotlabs/Module/Settings/Channel.php:511 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:497 +#: ../../Zotlabs/Module/Settings/Channel.php:518 msgid "Channel permissions category:" msgstr "Zugriffsrechte-Kategorie des Kanals:" -#: ../../Zotlabs/Module/Settings/Channel.php:503 +#: ../../Zotlabs/Module/Settings/Channel.php:519 +msgid "Default Permissions Group" +msgstr "Standard-Berechtigungsgruppe" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 msgid "Maximum private messages per day from unknown people:" msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:" -#: ../../Zotlabs/Module/Settings/Channel.php:503 +#: ../../Zotlabs/Module/Settings/Channel.php:525 msgid "Useful to reduce spamming" msgstr "Nützlich, um Spam zu verringern" -#: ../../Zotlabs/Module/Settings/Channel.php:506 +#: ../../Zotlabs/Module/Settings/Channel.php:528 msgid "Notification Settings" msgstr "Benachrichtigungs-Einstellungen" -#: ../../Zotlabs/Module/Settings/Channel.php:507 +#: ../../Zotlabs/Module/Settings/Channel.php:529 msgid "By default post a status message when:" msgstr "Sende standardmäßig Status-Nachrichten, wenn:" -#: ../../Zotlabs/Module/Settings/Channel.php:508 +#: ../../Zotlabs/Module/Settings/Channel.php:530 msgid "accepting a friend request" msgstr "Du eine Verbindungsanfrage annimmst" -#: ../../Zotlabs/Module/Settings/Channel.php:509 +#: ../../Zotlabs/Module/Settings/Channel.php:531 msgid "joining a forum/community" msgstr "Du einem Forum beitrittst" -#: ../../Zotlabs/Module/Settings/Channel.php:510 +#: ../../Zotlabs/Module/Settings/Channel.php:532 msgid "making an <em>interesting</em> profile change" msgstr "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst" -#: ../../Zotlabs/Module/Settings/Channel.php:511 +#: ../../Zotlabs/Module/Settings/Channel.php:533 msgid "Send a notification email when:" msgstr "Eine E-Mail-Benachrichtigung senden, wenn:" -#: ../../Zotlabs/Module/Settings/Channel.php:512 +#: ../../Zotlabs/Module/Settings/Channel.php:534 msgid "You receive a connection request" msgstr "Du eine Verbindungsanfrage erhältst" -#: ../../Zotlabs/Module/Settings/Channel.php:513 +#: ../../Zotlabs/Module/Settings/Channel.php:535 msgid "Your connections are confirmed" msgstr "Eine Verbindung bestätigt wurde" -#: ../../Zotlabs/Module/Settings/Channel.php:514 +#: ../../Zotlabs/Module/Settings/Channel.php:536 msgid "Someone writes on your profile wall" msgstr "Jemand auf Deine Pinnwand schreibt" -#: ../../Zotlabs/Module/Settings/Channel.php:515 +#: ../../Zotlabs/Module/Settings/Channel.php:537 msgid "Someone writes a followup comment" msgstr "Jemand einen Beitrag kommentiert" -#: ../../Zotlabs/Module/Settings/Channel.php:516 +#: ../../Zotlabs/Module/Settings/Channel.php:538 msgid "You receive a private message" msgstr "Du eine private Nachricht erhältst" -#: ../../Zotlabs/Module/Settings/Channel.php:517 +#: ../../Zotlabs/Module/Settings/Channel.php:539 msgid "You receive a friend suggestion" msgstr "Du einen Kontaktvorschlag erhältst" -#: ../../Zotlabs/Module/Settings/Channel.php:518 +#: ../../Zotlabs/Module/Settings/Channel.php:540 msgid "You are tagged in a post" msgstr "Du in einem Beitrag erwähnt wurdest" -#: ../../Zotlabs/Module/Settings/Channel.php:519 +#: ../../Zotlabs/Module/Settings/Channel.php:541 msgid "You are poked/prodded/etc. in a post" msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest" -#: ../../Zotlabs/Module/Settings/Channel.php:522 +#: ../../Zotlabs/Module/Settings/Channel.php:543 +msgid "Someone likes your post/comment" +msgstr "Jemand mag Ihren Beitrag/Kommentar" + +#: ../../Zotlabs/Module/Settings/Channel.php:546 msgid "Show visual notifications including:" msgstr "Visuelle Benachrichtigungen anzeigen für:" -#: ../../Zotlabs/Module/Settings/Channel.php:524 +#: ../../Zotlabs/Module/Settings/Channel.php:548 msgid "Unseen grid activity" msgstr "Ungesehene Netzwerk-Aktivität" -#: ../../Zotlabs/Module/Settings/Channel.php:525 +#: ../../Zotlabs/Module/Settings/Channel.php:549 msgid "Unseen channel activity" msgstr "Ungesehene Kanal-Aktivität" -#: ../../Zotlabs/Module/Settings/Channel.php:526 +#: ../../Zotlabs/Module/Settings/Channel.php:550 msgid "Unseen private messages" msgstr "Ungelesene persönliche Nachrichten" -#: ../../Zotlabs/Module/Settings/Channel.php:526 -#: ../../Zotlabs/Module/Settings/Channel.php:531 -#: ../../Zotlabs/Module/Settings/Channel.php:532 -#: ../../Zotlabs/Module/Settings/Channel.php:533 +#: ../../Zotlabs/Module/Settings/Channel.php:550 +#: ../../Zotlabs/Module/Settings/Channel.php:555 +#: ../../Zotlabs/Module/Settings/Channel.php:556 +#: ../../Zotlabs/Module/Settings/Channel.php:557 #: ../../extend/addon/addon/jappixmini/jappixmini.php:343 msgid "Recommended" msgstr "Empfohlen" -#: ../../Zotlabs/Module/Settings/Channel.php:527 +#: ../../Zotlabs/Module/Settings/Channel.php:551 msgid "Upcoming events" msgstr "Baldige Termine" -#: ../../Zotlabs/Module/Settings/Channel.php:528 +#: ../../Zotlabs/Module/Settings/Channel.php:552 msgid "Events today" msgstr "Heutige Termine" -#: ../../Zotlabs/Module/Settings/Channel.php:529 +#: ../../Zotlabs/Module/Settings/Channel.php:553 msgid "Upcoming birthdays" msgstr "Baldige Geburtstage" -#: ../../Zotlabs/Module/Settings/Channel.php:529 +#: ../../Zotlabs/Module/Settings/Channel.php:553 msgid "Not available in all themes" msgstr "Nicht in allen Themes verfügbar" -#: ../../Zotlabs/Module/Settings/Channel.php:530 +#: ../../Zotlabs/Module/Settings/Channel.php:554 msgid "System (personal) notifications" msgstr "System – (persönliche) Benachrichtigungen" -#: ../../Zotlabs/Module/Settings/Channel.php:531 +#: ../../Zotlabs/Module/Settings/Channel.php:555 msgid "System info messages" msgstr "System – Info-Nachrichten" -#: ../../Zotlabs/Module/Settings/Channel.php:532 +#: ../../Zotlabs/Module/Settings/Channel.php:556 msgid "System critical alerts" msgstr "System – kritische Warnungen" -#: ../../Zotlabs/Module/Settings/Channel.php:533 +#: ../../Zotlabs/Module/Settings/Channel.php:557 msgid "New connections" msgstr "Neue Verbindungen" -#: ../../Zotlabs/Module/Settings/Channel.php:534 +#: ../../Zotlabs/Module/Settings/Channel.php:558 msgid "System Registrations" msgstr "System – Registrierungen" -#: ../../Zotlabs/Module/Settings/Channel.php:535 +#: ../../Zotlabs/Module/Settings/Channel.php:559 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:537 +#: ../../Zotlabs/Module/Settings/Channel.php:561 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:537 +#: ../../Zotlabs/Module/Settings/Channel.php:561 msgid "Must be greater than 0" msgstr "Muss größer als 0 sein" -#: ../../Zotlabs/Module/Settings/Channel.php:539 +#: ../../Zotlabs/Module/Settings/Channel.php:567 msgid "Advanced Account/Page Type Settings" msgstr "Erweiterte Account- und Seitenart-Einstellungen" -#: ../../Zotlabs/Module/Settings/Channel.php:540 +#: ../../Zotlabs/Module/Settings/Channel.php:568 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:542 +#: ../../Zotlabs/Module/Settings/Channel.php:570 msgid "Miscellaneous Settings" msgstr "Sonstige Einstellungen" -#: ../../Zotlabs/Module/Settings/Channel.php:543 +#: ../../Zotlabs/Module/Settings/Channel.php:571 msgid "Default photo upload folder" msgstr "Voreingestellter Ordner für hochgeladene Fotos" -#: ../../Zotlabs/Module/Settings/Channel.php:543 -#: ../../Zotlabs/Module/Settings/Channel.php:544 +#: ../../Zotlabs/Module/Settings/Channel.php:571 +#: ../../Zotlabs/Module/Settings/Channel.php:572 msgid "%Y - current year, %m - current month" msgstr "%Y - aktuelles Jahr, %m - aktueller Monat" -#: ../../Zotlabs/Module/Settings/Channel.php:544 +#: ../../Zotlabs/Module/Settings/Channel.php:572 msgid "Default file upload folder" msgstr "Voreingestellter Ordner für hochgeladene Dateien" -#: ../../Zotlabs/Module/Settings/Channel.php:546 +#: ../../Zotlabs/Module/Settings/Channel.php:574 msgid "Personal menu to display in your channel pages" msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals" -#: ../../Zotlabs/Module/Settings/Channel.php:548 +#: ../../Zotlabs/Module/Settings/Channel.php:576 msgid "Remove this channel." msgstr "Diesen Kanal löschen" -#: ../../Zotlabs/Module/Settings/Channel.php:549 +#: ../../Zotlabs/Module/Settings/Channel.php:577 msgid "Firefox Share $Projectname provider" msgstr "$Projectname-Provider für Firefox Share" -#: ../../Zotlabs/Module/Settings/Channel.php:550 +#: ../../Zotlabs/Module/Settings/Channel.php:578 msgid "Start calendar week on monday" msgstr "Montag als erster Tag der Kalenderwoche" @@ -6554,8 +6900,8 @@ msgid "Manual conversation updates" msgstr "Manuelle Konversationsaktualisierung" #: ../../Zotlabs/Module/Settings/Display.php:209 -msgid "Default is automatic, which may increase screen jumping" -msgstr "Voreinstellung ist Automatisch, was aber das Springen der Seitenanzeige erhöhen kann." +msgid "Default is on, turning this off may increase screen jumping" +msgstr "Voreinstellung ist An, dies abzuschalten kann das unerwartete Springen der Seitenanzeige erhöhen." #: ../../Zotlabs/Module/Settings/Display.php:210 msgid "Link post titles to source" @@ -6591,13 +6937,23 @@ msgstr "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick verg 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/Permcats.php:37 +msgid "Permission category saved." +msgstr "Berechtigungsrolle gespeichert." -#: ../../Zotlabs/Module/Settings/Featured.php:31 -msgid "Feature/Addon Settings" -msgstr "Funktions-/Addon-Einstellungen" +#: ../../Zotlabs/Module/Settings/Permcats.php:63 +msgid "" +"Use this form to create permission rules for various classes of people or " +"connections." +msgstr "Verwende dieses Formular, um Berechtigungsrollen für verschiedene Gruppen von Personen oder Verbindungen zu erstellen." + +#: ../../Zotlabs/Module/Settings/Permcats.php:96 +msgid "Permission Categories" +msgstr "Berechtigungsrollen" + +#: ../../Zotlabs/Module/Settings/Permcats.php:104 +msgid "Permission Name" +msgstr "Name der Berechtigungsrolle" #: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98 msgid "Tag removed" @@ -6668,78 +7024,113 @@ msgstr "URL eines Fotos der Sache (optional)" msgid "Add Thing to your Profile" msgstr "Die Sache Deinem Profil hinzufügen" -#: ../../Zotlabs/Module/Import.php:33 -#, php-format -msgid "Your service plan only allows %d channels." -msgstr "Dein Vertrag erlaubt nur %d Kanäle." +#: ../../Zotlabs/Module/Mail.php:65 +msgid "Unable to lookup recipient." +msgstr "Konnte den Empfänger nicht finden." -#: ../../Zotlabs/Module/Import.php:157 ../../include/import.php:100 -msgid "Cloned channel not found. Import failed." -msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen." +#: ../../Zotlabs/Module/Mail.php:72 +msgid "Unable to communicate with requested channel." +msgstr "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen." -#: ../../Zotlabs/Module/Import.php:167 -msgid "No channel. Import failed." -msgstr "Kein Kanal. Import fehlgeschlagen." +#: ../../Zotlabs/Module/Mail.php:79 +msgid "Cannot verify requested channel." +msgstr "Verifizierung des angeforderten Kanals fehlgeschlagen." -#: ../../Zotlabs/Module/Import.php:503 -#: ../../include/Import/import_diaspora.php:142 -msgid "Import completed." -msgstr "Import abgeschlossen." +#: ../../Zotlabs/Module/Mail.php:97 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen." -#: ../../Zotlabs/Module/Import.php:525 -msgid "You must be logged in to use this feature." -msgstr "Du musst angemeldet sein um diese Funktion zu nutzen." +#: ../../Zotlabs/Module/Mail.php:178 +msgid "Messages" +msgstr "Nachrichten" -#: ../../Zotlabs/Module/Import.php:530 -msgid "Import Channel" -msgstr "Kanal importieren" +#: ../../Zotlabs/Module/Mail.php:213 +msgid "Message recalled." +msgstr "Nachricht widerrufen." -#: ../../Zotlabs/Module/Import.php:531 -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/Mail.php:226 +msgid "Conversation removed." +msgstr "Unterhaltung gelöscht." -#: ../../Zotlabs/Module/Import.php:533 -msgid "Or provide the old server/hub details" -msgstr "Oder gib die Details Deines bisherigen $Projectname-Hubs ein" +#: ../../Zotlabs/Module/Mail.php:240 ../../Zotlabs/Module/Mail.php:349 +#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1330 +msgid "Please enter a link URL:" +msgstr "Gib eine URL ein:" -#: ../../Zotlabs/Module/Import.php:534 -msgid "Your old identity address (xyz@example.com)" -msgstr "Bisherige Kanal-Adresse (xyz@example.com)" +#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Mail.php:350 +msgid "Expires YYYY-MM-DD HH:MM" +msgstr "Verfällt YYYY-MM-DD HH;MM" -#: ../../Zotlabs/Module/Import.php:535 -msgid "Your old login email address" -msgstr "Deine alte Login-E-Mail-Adresse" +#: ../../Zotlabs/Module/Mail.php:269 +msgid "Requested channel is not in this network" +msgstr "Angeforderter Kanal ist nicht in diesem Netzwerk." -#: ../../Zotlabs/Module/Import.php:536 -msgid "Your old login password" -msgstr "Dein altes Passwort" +#: ../../Zotlabs/Module/Mail.php:277 +msgid "Send Private Message" +msgstr "Private Nachricht senden" -#: ../../Zotlabs/Module/Import.php:537 -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/Mail.php:278 ../../Zotlabs/Module/Mail.php:403 +msgid "To:" +msgstr "An:" -#: ../../Zotlabs/Module/Import.php:538 -msgid "Make this hub my primary location" -msgstr "Dieser $Pojectname-Hub ist mein primärer Hub." +#: ../../Zotlabs/Module/Mail.php:281 ../../Zotlabs/Module/Mail.php:405 +msgid "Subject:" +msgstr "Betreff:" -#: ../../Zotlabs/Module/Import.php:539 -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/Mail.php:286 ../../Zotlabs/Module/Mail.php:411 +#: ../../include/conversation.php:1390 +msgid "Attach file" +msgstr "Datei anhängen" + +#: ../../Zotlabs/Module/Mail.php:288 +msgid "Send" +msgstr "Absenden" -#: ../../Zotlabs/Module/Import.php:540 +#: ../../Zotlabs/Module/Mail.php:291 ../../Zotlabs/Module/Mail.php:416 +#: ../../include/conversation.php:1435 +msgid "Set expiration date" +msgstr "Verfallsdatum" + +#: ../../Zotlabs/Module/Mail.php:293 ../../Zotlabs/Module/Mail.php:418 +#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:743 +#: ../../include/conversation.php:1440 +msgid "Encrypt text" +msgstr "Text verschlüsseln" + +#: ../../Zotlabs/Module/Mail.php:375 +msgid "Delete message" +msgstr "Nachricht löschen" + +#: ../../Zotlabs/Module/Mail.php:376 +msgid "Delivery report" +msgstr "Zustellungsbericht" + +#: ../../Zotlabs/Module/Mail.php:377 +msgid "Recall message" +msgstr "Nachricht widerrufen" + +#: ../../Zotlabs/Module/Mail.php:379 +msgid "Message has been recalled." +msgstr "Die Nachricht wurde widerrufen." + +#: ../../Zotlabs/Module/Mail.php:396 +msgid "Delete Conversation" +msgstr "Unterhaltung löschen" + +#: ../../Zotlabs/Module/Mail.php:398 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." +"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/Mail.php:402 +msgid "Send Reply" +msgstr "Antwort senden" + +#: ../../Zotlabs/Module/Mail.php:407 +#, php-format +msgid "Your message for %s (%s):" +msgstr "Deine Nachricht für %s (%s):" #: ../../Zotlabs/Module/Viewconnections.php:65 msgid "No connections." @@ -6819,257 +7210,248 @@ msgstr "Xchan-Suche" msgid "Lookup xchan beginning with (or webbie): " msgstr "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:" -#: ../../Zotlabs/Module/Events.php:25 -msgid "Calendar entries imported." -msgstr "Kalendereinträge wurden importiert." - -#: ../../Zotlabs/Module/Events.php:27 -msgid "No calendar entries found." -msgstr "Keine Kalendereinträge gefunden." - -#: ../../Zotlabs/Module/Events.php:106 -msgid "Event can not end before it has started." -msgstr "Termin-Ende liegt vor dem Beginn." - -#: ../../Zotlabs/Module/Events.php:108 ../../Zotlabs/Module/Events.php:117 -#: ../../Zotlabs/Module/Events.php:139 -msgid "Unable to generate preview." -msgstr "Vorschau konnte nicht erzeugt werden." - -#: ../../Zotlabs/Module/Events.php:115 -msgid "Event title and start time are required." -msgstr "Titel und Startzeit des Termins sind erforderlich." - -#: ../../Zotlabs/Module/Events.php:137 ../../Zotlabs/Module/Events.php:261 -msgid "Event not found." -msgstr "Termin nicht gefunden." - -#: ../../Zotlabs/Module/Events.php:453 -msgid "Edit event title" -msgstr "Termintitel bearbeiten" - -#: ../../Zotlabs/Module/Events.php:453 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:835 -msgid "Event title" -msgstr "Termintitel" - -#: ../../Zotlabs/Module/Events.php:455 -msgid "Categories (comma-separated list)" -msgstr "Kategorien (Kommagetrennte Liste)" - -#: ../../Zotlabs/Module/Events.php:456 -msgid "Edit Category" -msgstr "Kategorie bearbeiten" +#: ../../Zotlabs/Lib/Chatroom.php:27 +msgid "Missing room name" +msgstr "Der Chatraum hat keinen Namen" -#: ../../Zotlabs/Module/Events.php:456 -msgid "Category" -msgstr "Kategorie" +#: ../../Zotlabs/Lib/Chatroom.php:36 +msgid "Duplicate room name" +msgstr "Name des Chatraums bereits vergeben" -#: ../../Zotlabs/Module/Events.php:459 -msgid "Edit start date and time" -msgstr "Startdatum und -zeit bearbeiten" +#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94 +msgid "Invalid room specifier." +msgstr "Ungültiger Raumbezeichner." -#: ../../Zotlabs/Module/Events.php:459 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:836 -msgid "Start date and time" -msgstr "Startdatum und -zeit" +#: ../../Zotlabs/Lib/Chatroom.php:126 +msgid "Room not found." +msgstr "Chatraum konnte nicht gefunden werden." -#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:463 -msgid "Finish date and time are not known or not relevant" -msgstr "Enddatum und -zeit sind unbekannt oder irrelevant" +#: ../../Zotlabs/Lib/Chatroom.php:147 +msgid "Room is full" +msgstr "Der Chatraum ist voll" -#: ../../Zotlabs/Module/Events.php:462 -msgid "Edit finish date and time" -msgstr "Enddatum und -zeit bearbeiten" +#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1924 +msgid "$Projectname Notification" +msgstr "$Projectname-Benachrichtigung" -#: ../../Zotlabs/Module/Events.php:462 -msgid "Finish date and time" -msgstr "Enddatum und -zeit" +#: ../../Zotlabs/Lib/Enotify.php:61 ../../extend/addon/addon/diaspora/p.php:46 +#: ../../extend/addon/addon/diaspora/util.php:218 +#: ../../extend/addon/addon/diaspora/util.php:231 +#: ../../include/network.php:1925 +msgid "$projectname" +msgstr "$projectname" -#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Events.php:465 -msgid "Adjust for viewer timezone" -msgstr "An die Zeitzone des Betrachters anpassen" +#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1927 +msgid "Thank You," +msgstr "Danke." -#: ../../Zotlabs/Module/Events.php:464 -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/Lib/Enotify.php:65 ../../include/network.php:1929 +#, php-format +msgid "%s Administrator" +msgstr "der Administrator von %s" -#: ../../Zotlabs/Module/Events.php:466 -msgid "Edit Description" -msgstr "Beschreibung bearbeiten" +#: ../../Zotlabs/Lib/Enotify.php:116 +#, php-format +msgid "%s <!item_type!>" +msgstr "%s <!item_type!>" -#: ../../Zotlabs/Module/Events.php:468 -msgid "Edit Location" -msgstr "Ort bearbeiten" +#: ../../Zotlabs/Lib/Enotify.php:120 +#, php-format +msgid "[$Projectname:Notify] New mail received at %s" +msgstr "[$Projectname:Benachrichtigung] Neue Mail empfangen auf %s" -#: ../../Zotlabs/Module/Events.php:472 ../../include/conversation.php:1280 -msgid "Permission settings" -msgstr "Berechtigungs-Einstellungen" +#: ../../Zotlabs/Lib/Enotify.php:122 +#, php-format +msgid "%1$s, %2$s sent you a new private message at %3$s." +msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet." -#: ../../Zotlabs/Module/Events.php:485 -msgid "Advanced Options" -msgstr "Weitere Optionen" +#: ../../Zotlabs/Lib/Enotify.php:123 +#, php-format +msgid "%1$s sent you %2$s." +msgstr "%1$s hat Dir %2$s geschickt." -#: ../../Zotlabs/Module/Events.php:624 -msgid "Edit event" -msgstr "Termin bearbeiten" +#: ../../Zotlabs/Lib/Enotify.php:123 +msgid "a private message" +msgstr "eine private Nachricht" -#: ../../Zotlabs/Module/Events.php:626 -msgid "Delete event" -msgstr "Termin löschen" +#: ../../Zotlabs/Lib/Enotify.php:124 +#, php-format +msgid "Please visit %s to view and/or reply to your private messages." +msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten." -#: ../../Zotlabs/Module/Events.php:660 -msgid "calendar" -msgstr "Kalender" +#: ../../Zotlabs/Lib/Enotify.php:183 +#, php-format +msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]" +msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert" -#: ../../Zotlabs/Module/Events.php:686 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:849 -msgid "Month" -msgstr "Monat" +#: ../../Zotlabs/Lib/Enotify.php:191 +#, php-format +msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]" +msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert" -#: ../../Zotlabs/Module/Events.php:687 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:850 -msgid "Week" -msgstr "Woche" +#: ../../Zotlabs/Lib/Enotify.php:200 +#, php-format +msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]" +msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert" -#: ../../Zotlabs/Module/Events.php:688 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:851 -msgid "Day" -msgstr "Tag" +#: ../../Zotlabs/Lib/Enotify.php:211 +#, php-format +msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s" +msgstr "[$Projectname:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s" -#: ../../Zotlabs/Module/Events.php:722 -msgid "Event removed" -msgstr "Termin gelöscht" +#: ../../Zotlabs/Lib/Enotify.php:212 +#, php-format +msgid "%1$s, %2$s commented on an item/conversation you have been following." +msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst." -#: ../../Zotlabs/Module/Events.php:725 -msgid "Failed to remove event" -msgstr "Termin konnte nicht gelöscht werden" +#: ../../Zotlabs/Lib/Enotify.php:215 ../../Zotlabs/Lib/Enotify.php:292 +#: ../../Zotlabs/Lib/Enotify.php:309 ../../Zotlabs/Lib/Enotify.php:335 +#: ../../Zotlabs/Lib/Enotify.php:353 ../../Zotlabs/Lib/Enotify.php:367 +#, php-format +msgid "Please visit %s to view and/or reply to the conversation." +msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren." -#: ../../Zotlabs/Lib/Chatroom.php:27 -msgid "Missing room name" -msgstr "Der Chatraum hat keinen Namen" +#: ../../Zotlabs/Lib/Enotify.php:273 +#, php-format +msgid "%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]" +msgstr "" -#: ../../Zotlabs/Lib/Chatroom.php:36 -msgid "Duplicate room name" -msgstr "Name des Chatraums bereits vergeben" +#: ../../Zotlabs/Lib/Enotify.php:288 +#, php-format +msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s" +msgstr "[$Projectname:Benachrichtigung] Gefällt mir in Unterhaltung #%1$d von %2$s erhalten" -#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94 -msgid "Invalid room specifier." -msgstr "Ungültiger Raumbezeichner." +#: ../../Zotlabs/Lib/Enotify.php:289 +#, php-format +msgid "%1$s, %2$s liked an item/conversation you created." +msgstr "%1$s, %2$s gefällt ein Beitrag oder eine Unterhaltung von Dir" -#: ../../Zotlabs/Lib/Chatroom.php:126 -msgid "Room not found." -msgstr "Chatraum konnte nicht gefunden werden." +#: ../../Zotlabs/Lib/Enotify.php:300 +#, php-format +msgid "[$Projectname:Notify] %s posted to your profile wall" +msgstr "[$Projectname:Benachrichtigung] %s schrieb auf Deine Pinnwand" -#: ../../Zotlabs/Lib/Chatroom.php:147 -msgid "Room is full" -msgstr "Der Chatraum ist voll" +#: ../../Zotlabs/Lib/Enotify.php:302 +#, php-format +msgid "%1$s, %2$s posted to your profile wall at %3$s" +msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben" -#: ../../Zotlabs/Lib/Apps.php:205 -msgid "Site Admin" -msgstr "Hub-Administration" +#: ../../Zotlabs/Lib/Enotify.php:304 +#, php-format +msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]" +msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben" -#: ../../Zotlabs/Lib/Apps.php:206 -#: ../../extend/addon/addon/buglink/buglink.php:16 -msgid "Report Bug" -msgstr "Fehler melden" +#: ../../Zotlabs/Lib/Enotify.php:328 +#, php-format +msgid "[$Projectname:Notify] %s tagged you" +msgstr "[$Projectname:Benachrichtigung] %s hat Dich erwähnt" -#: ../../Zotlabs/Lib/Apps.php:207 -msgid "View Bookmarks" -msgstr "Lesezeichen ansehen" +#: ../../Zotlabs/Lib/Enotify.php:329 +#, php-format +msgid "%1$s, %2$s tagged you at %3$s" +msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt" -#: ../../Zotlabs/Lib/Apps.php:208 -msgid "My Chatrooms" -msgstr "Meine Chaträume" +#: ../../Zotlabs/Lib/Enotify.php:330 +#, php-format +msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]." +msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]." -#: ../../Zotlabs/Lib/Apps.php:210 -msgid "Firefox Share" -msgstr "Teilen-Knopf für Firefox" +#: ../../Zotlabs/Lib/Enotify.php:342 +#, php-format +msgid "[$Projectname:Notify] %1$s poked you" +msgstr "[$Projectname:Benachrichtigung] %1$s hat Dich angestupst" -#: ../../Zotlabs/Lib/Apps.php:211 -msgid "Remote Diagnostics" -msgstr "Ferndiagnose" +#: ../../Zotlabs/Lib/Enotify.php:343 +#, php-format +msgid "%1$s, %2$s poked you at %3$s" +msgstr "%1$s, %2$s hat Dich auf %3$s angestupst" -#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:319 -msgid "Suggest Channels" -msgstr "Kanäle vorschlagen" +#: ../../Zotlabs/Lib/Enotify.php:344 +#, php-format +msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]." +msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]." -#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:115 -#: ../../boot.php:1719 -msgid "Login" -msgstr "Anmelden" +#: ../../Zotlabs/Lib/Enotify.php:360 +#, php-format +msgid "[$Projectname:Notify] %s tagged your post" +msgstr "[$Projectname:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet" -#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:182 -msgid "Grid" -msgstr "Grid" +#: ../../Zotlabs/Lib/Enotify.php:361 +#, php-format +msgid "%1$s, %2$s tagged your post at %3$s" +msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet" -#: ../../Zotlabs/Lib/Apps.php:219 ../../include/features.php:99 -#: ../../include/conversation.php:1758 -msgid "Wiki" -msgstr "Wiki" +#: ../../Zotlabs/Lib/Enotify.php:362 +#, php-format +msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]" +msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet" -#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:185 -msgid "Channel Home" -msgstr "Mein Kanal" +#: ../../Zotlabs/Lib/Enotify.php:374 +msgid "[$Projectname:Notify] Introduction received" +msgstr "[$Projectname:Benachrichtigung] Verbindungsanfrage erhalten" -#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:204 -#: ../../include/conversation.php:1709 ../../include/conversation.php:1712 -msgid "Events" -msgstr "Termine" +#: ../../Zotlabs/Lib/Enotify.php:375 +#, php-format +msgid "%1$s, you've received an new connection request from '%2$s' at %3$s" +msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten" -#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:170 -msgid "Directory" -msgstr "Verzeichnis" +#: ../../Zotlabs/Lib/Enotify.php:376 +#, php-format +msgid "" +"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s." +msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten." -#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:196 -msgid "Mail" -msgstr "Mail" +#: ../../Zotlabs/Lib/Enotify.php:380 ../../Zotlabs/Lib/Enotify.php:399 +#, php-format +msgid "You may visit their profile at %s" +msgstr "Du kannst Dir das Profil unter %s ansehen" -#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:99 -msgid "Chat" -msgstr "Chat" +#: ../../Zotlabs/Lib/Enotify.php:382 +#, php-format +msgid "Please visit %s to approve or reject the connection request." +msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen." -#: ../../Zotlabs/Lib/Apps.php:231 -msgid "Probe" -msgstr "Testen" +#: ../../Zotlabs/Lib/Enotify.php:389 +msgid "[$Projectname:Notify] Friend suggestion received" +msgstr "[$Projectname:Benachrichtigung] Freundschaftsvorschlag erhalten" -#: ../../Zotlabs/Lib/Apps.php:232 -msgid "Suggest" -msgstr "Empfehlen" +#: ../../Zotlabs/Lib/Enotify.php:390 +#, php-format +msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s" +msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten" -#: ../../Zotlabs/Lib/Apps.php:233 -msgid "Random Channel" -msgstr "Zufälliger Kanal" +#: ../../Zotlabs/Lib/Enotify.php:391 +#, php-format +msgid "" +"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from " +"%4$s." +msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten." -#: ../../Zotlabs/Lib/Apps.php:234 -msgid "Invite" -msgstr "Einladen" +#: ../../Zotlabs/Lib/Enotify.php:397 +msgid "Name:" +msgstr "Name:" -#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1635 -msgid "Features" -msgstr "Funktionen" +#: ../../Zotlabs/Lib/Enotify.php:398 +msgid "Photo:" +msgstr "Foto:" -#: ../../Zotlabs/Lib/Apps.php:236 -#: ../../extend/addon/addon/openid/MysqlProvider.php:69 -msgid "Language" -msgstr "Sprache" +#: ../../Zotlabs/Lib/Enotify.php:401 +#, php-format +msgid "Please visit %s to approve or reject the suggestion." +msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen." -#: ../../Zotlabs/Lib/Apps.php:237 -msgid "Post" -msgstr "Beitrag schreiben" +#: ../../Zotlabs/Lib/Enotify.php:619 +msgid "[$Projectname:Notify]" +msgstr "[$Projectname:Benachrichtigung]" -#: ../../Zotlabs/Lib/Apps.php:238 -#: ../../extend/addon/addon/openid/MysqlProvider.php:58 -#: ../../extend/addon/addon/openid/MysqlProvider.php:59 -#: ../../extend/addon/addon/openid/MysqlProvider.php:60 -msgid "Profile Photo" -msgstr "Profilfoto" +#: ../../Zotlabs/Lib/Enotify.php:779 +msgid "created a new post" +msgstr "Neuer Beitrag wurde erzeugt" -#: ../../Zotlabs/Lib/Apps.php:339 -msgid "Purchase" -msgstr "Kaufen" +#: ../../Zotlabs/Lib/Enotify.php:780 +#, php-format +msgid "commented on %s's post" +msgstr "hat %s's Beitrag kommentiert" #: ../../Zotlabs/Lib/PermissionDescription.php:34 #: ../../include/acl_selectors.php:128 @@ -7077,7 +7459,7 @@ msgid "Visible to your default audience" msgstr "Standard-Sichtbarkeit gemäß Kanaleinstellungen" #: ../../Zotlabs/Lib/PermissionDescription.php:107 -#: ../../include/acl_selectors.php:191 +#: ../../include/acl_selectors.php:201 msgid "Only me" msgstr "Nur ich" @@ -7134,11 +7516,11 @@ msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und F 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:683 +#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:663 msgid "Private Message" msgstr "Private Nachricht" -#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:675 +#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:655 msgid "Select" msgstr "Auswählen" @@ -7186,11 +7568,11 @@ msgstr "Markierungsstatus (Stern) umschalten" msgid "starred" msgstr "markiert" -#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:690 +#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:670 msgid "Message signature validated" msgstr "Signatur überprüft" -#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:691 +#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:671 msgid "Message signature incorrect" msgstr "Signatur nicht korrekt" @@ -7246,294 +7628,281 @@ msgstr "Wall-to-Wall" msgid "via Wall-To-Wall:" msgstr "via Wall-To-Wall:" -#: ../../Zotlabs/Lib/ThreadItem.php:348 ../../include/conversation.php:736 +#: ../../Zotlabs/Lib/ThreadItem.php:350 ../../include/conversation.php:717 #, php-format msgid "from %s" msgstr "via %s" -#: ../../Zotlabs/Lib/ThreadItem.php:351 ../../include/conversation.php:739 +#: ../../Zotlabs/Lib/ThreadItem.php:353 ../../include/conversation.php:720 #, php-format msgid "last edited: %s" msgstr "zuletzt bearbeitet: %s" -#: ../../Zotlabs/Lib/ThreadItem.php:352 ../../include/conversation.php:740 +#: ../../Zotlabs/Lib/ThreadItem.php:354 ../../include/conversation.php:721 #, php-format msgid "Expires: %s" msgstr "Verfällt: %s" -#: ../../Zotlabs/Lib/ThreadItem.php:358 +#: ../../Zotlabs/Lib/ThreadItem.php:360 msgid "Attend" msgstr "Zusagen" -#: ../../Zotlabs/Lib/ThreadItem.php:359 +#: ../../Zotlabs/Lib/ThreadItem.php:361 msgid "Attendance Options" msgstr "Zusageoptionen" -#: ../../Zotlabs/Lib/ThreadItem.php:360 +#: ../../Zotlabs/Lib/ThreadItem.php:362 msgid "Vote" msgstr "Abstimmen" -#: ../../Zotlabs/Lib/ThreadItem.php:361 +#: ../../Zotlabs/Lib/ThreadItem.php:363 msgid "Voting Options" msgstr "Abstimmungsoptionen" -#: ../../Zotlabs/Lib/ThreadItem.php:381 +#: ../../Zotlabs/Lib/ThreadItem.php:383 #: ../../extend/addon/addon/bookmarker/bookmarker.php:38 msgid "Save Bookmarks" msgstr "Favoriten speichern" -#: ../../Zotlabs/Lib/ThreadItem.php:382 +#: ../../Zotlabs/Lib/ThreadItem.php:384 msgid "Add to Calendar" msgstr "Zum Kalender hinzufügen" -#: ../../Zotlabs/Lib/ThreadItem.php:391 +#: ../../Zotlabs/Lib/ThreadItem.php:393 msgid "Mark all seen" msgstr "Alle als gelesen markieren" -#: ../../Zotlabs/Lib/ThreadItem.php:440 ../../include/js_strings.php:7 +#: ../../Zotlabs/Lib/ThreadItem.php:442 ../../include/js_strings.php:7 #, php-format msgid "%s show all" msgstr "%s mehr anzeigen" -#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/conversation.php:1255 +#: ../../Zotlabs/Lib/ThreadItem.php:732 ../../include/conversation.php:1385 msgid "Bold" msgstr "Fett" -#: ../../Zotlabs/Lib/ThreadItem.php:731 ../../include/conversation.php:1256 +#: ../../Zotlabs/Lib/ThreadItem.php:733 ../../include/conversation.php:1386 msgid "Italic" msgstr "Kursiv" -#: ../../Zotlabs/Lib/ThreadItem.php:732 ../../include/conversation.php:1257 +#: ../../Zotlabs/Lib/ThreadItem.php:734 ../../include/conversation.php:1387 msgid "Underline" msgstr "Unterstrichen" -#: ../../Zotlabs/Lib/ThreadItem.php:733 ../../include/conversation.php:1258 +#: ../../Zotlabs/Lib/ThreadItem.php:735 ../../include/conversation.php:1388 msgid "Quote" msgstr "Zitat" -#: ../../Zotlabs/Lib/ThreadItem.php:734 ../../include/conversation.php:1259 +#: ../../Zotlabs/Lib/ThreadItem.php:736 ../../include/conversation.php:1389 msgid "Code" msgstr "Code" -#: ../../Zotlabs/Lib/ThreadItem.php:735 +#: ../../Zotlabs/Lib/ThreadItem.php:737 msgid "Image" msgstr "Bild" -#: ../../Zotlabs/Lib/ThreadItem.php:736 +#: ../../Zotlabs/Lib/ThreadItem.php:738 msgid "Insert Link" msgstr "Link einfügen" -#: ../../Zotlabs/Lib/ThreadItem.php:737 +#: ../../Zotlabs/Lib/ThreadItem.php:739 msgid "Video" msgstr "Video" -#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1914 -msgid "$Projectname Notification" -msgstr "$Projectname-Benachrichtigung" - -#: ../../Zotlabs/Lib/Enotify.php:61 ../../extend/addon/addon/diaspora/p.php:46 -#: ../../extend/addon/addon/diaspora/util.php:218 -#: ../../extend/addon/addon/diaspora/util.php:231 -#: ../../include/network.php:1915 -msgid "$projectname" -msgstr "$projectname" - -#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1917 -msgid "Thank You," -msgstr "Danke." - -#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1919 -#, php-format -msgid "%s Administrator" -msgstr "der Administrator von %s" - -#: ../../Zotlabs/Lib/Enotify.php:116 -#, php-format -msgid "%s <!item_type!>" -msgstr "%s <!item_type!>" - -#: ../../Zotlabs/Lib/Enotify.php:120 -#, php-format -msgid "[$Projectname:Notify] New mail received at %s" -msgstr "[$Projectname:Benachrichtigung] Neue Mail empfangen auf %s" - -#: ../../Zotlabs/Lib/Enotify.php:122 -#, php-format -msgid "%1$s, %2$s sent you a new private message at %3$s." -msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet." - -#: ../../Zotlabs/Lib/Enotify.php:123 -#, php-format -msgid "%1$s sent you %2$s." -msgstr "%1$s hat Dir %2$s geschickt." - -#: ../../Zotlabs/Lib/Enotify.php:123 -msgid "a private message" -msgstr "eine private Nachricht" - -#: ../../Zotlabs/Lib/Enotify.php:124 -#, php-format -msgid "Please visit %s to view and/or reply to your private messages." -msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten." - -#: ../../Zotlabs/Lib/Enotify.php:183 -#, php-format -msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]" -msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert" - -#: ../../Zotlabs/Lib/Enotify.php:191 -#, php-format -msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]" -msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert" - -#: ../../Zotlabs/Lib/Enotify.php:200 -#, php-format -msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]" -msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert" - -#: ../../Zotlabs/Lib/Enotify.php:211 -#, php-format -msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s" -msgstr "[$Projectname:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s" +#: ../../Zotlabs/Lib/Apps.php:212 +msgid "Site Admin" +msgstr "Hub-Administration" -#: ../../Zotlabs/Lib/Enotify.php:212 -#, php-format -msgid "%1$s, %2$s commented on an item/conversation you have been following." -msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst." +#: ../../Zotlabs/Lib/Apps.php:213 +#: ../../extend/addon/addon/buglink/buglink.php:16 +msgid "Report Bug" +msgstr "Fehler melden" -#: ../../Zotlabs/Lib/Enotify.php:215 ../../Zotlabs/Lib/Enotify.php:230 -#: ../../Zotlabs/Lib/Enotify.php:256 ../../Zotlabs/Lib/Enotify.php:274 -#: ../../Zotlabs/Lib/Enotify.php:288 -#, php-format -msgid "Please visit %s to view and/or reply to the conversation." -msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren." +#: ../../Zotlabs/Lib/Apps.php:214 +msgid "View Bookmarks" +msgstr "Lesezeichen ansehen" -#: ../../Zotlabs/Lib/Enotify.php:221 -#, php-format -msgid "[$Projectname:Notify] %s posted to your profile wall" -msgstr "[$Projectname:Benachrichtigung] %s schrieb auf Deine Pinnwand" +#: ../../Zotlabs/Lib/Apps.php:215 +msgid "My Chatrooms" +msgstr "Meine Chaträume" -#: ../../Zotlabs/Lib/Enotify.php:223 -#, php-format -msgid "%1$s, %2$s posted to your profile wall at %3$s" -msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben" +#: ../../Zotlabs/Lib/Apps.php:217 +msgid "Firefox Share" +msgstr "Teilen-Knopf für Firefox" -#: ../../Zotlabs/Lib/Enotify.php:225 -#, php-format -msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]" -msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben" +#: ../../Zotlabs/Lib/Apps.php:218 +msgid "Remote Diagnostics" +msgstr "Ferndiagnose" -#: ../../Zotlabs/Lib/Enotify.php:249 -#, php-format -msgid "[$Projectname:Notify] %s tagged you" -msgstr "[$Projectname:Benachrichtigung] %s hat Dich erwähnt" +#: ../../Zotlabs/Lib/Apps.php:219 ../../include/features.php:337 +msgid "Suggest Channels" +msgstr "Kanäle vorschlagen" -#: ../../Zotlabs/Lib/Enotify.php:250 -#, php-format -msgid "%1$s, %2$s tagged you at %3$s" -msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt" +#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:130 +#: ../../boot.php:1732 +msgid "Login" +msgstr "Anmelden" -#: ../../Zotlabs/Lib/Enotify.php:251 -#, php-format -msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]." -msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]." +#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:194 +msgid "Grid" +msgstr "Grid" -#: ../../Zotlabs/Lib/Enotify.php:263 -#, php-format -msgid "[$Projectname:Notify] %1$s poked you" -msgstr "[$Projectname:Benachrichtigung] %1$s hat Dich angestupst" +#: ../../Zotlabs/Lib/Apps.php:226 ../../include/conversation.php:1903 +#: ../../include/features.php:99 +msgid "Wiki" +msgstr "Wiki" -#: ../../Zotlabs/Lib/Enotify.php:264 -#, php-format -msgid "%1$s, %2$s poked you at %3$s" -msgstr "%1$s, %2$s hat Dich auf %3$s angestupst" +#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:198 +msgid "Channel Home" +msgstr "Mein Kanal" -#: ../../Zotlabs/Lib/Enotify.php:265 -#, php-format -msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]." -msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]." +#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1853 +#: ../../include/conversation.php:1856 ../../include/nav.php:218 +msgid "Events" +msgstr "Termine" -#: ../../Zotlabs/Lib/Enotify.php:281 -#, php-format -msgid "[$Projectname:Notify] %s tagged your post" -msgstr "[$Projectname:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet" +#: ../../Zotlabs/Lib/Apps.php:231 ../../include/nav.php:182 +msgid "Directory" +msgstr "Verzeichnis" -#: ../../Zotlabs/Lib/Enotify.php:282 -#, php-format -msgid "%1$s, %2$s tagged your post at %3$s" -msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet" +#: ../../Zotlabs/Lib/Apps.php:233 ../../include/nav.php:210 +msgid "Mail" +msgstr "Mail" -#: ../../Zotlabs/Lib/Enotify.php:283 -#, php-format -msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]" -msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet" +#: ../../Zotlabs/Lib/Apps.php:236 +msgid "Chat" +msgstr "Chat" -#: ../../Zotlabs/Lib/Enotify.php:295 -msgid "[$Projectname:Notify] Introduction received" -msgstr "[$Projectname:Benachrichtigung] Verbindungsanfrage erhalten" +#: ../../Zotlabs/Lib/Apps.php:238 +msgid "Probe" +msgstr "Testen" -#: ../../Zotlabs/Lib/Enotify.php:296 -#, php-format -msgid "%1$s, you've received an new connection request from '%2$s' at %3$s" -msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten" +#: ../../Zotlabs/Lib/Apps.php:239 +msgid "Suggest" +msgstr "Empfehlen" -#: ../../Zotlabs/Lib/Enotify.php:297 -#, php-format -msgid "" -"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s." -msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten." +#: ../../Zotlabs/Lib/Apps.php:240 +msgid "Random Channel" +msgstr "Zufälliger Kanal" -#: ../../Zotlabs/Lib/Enotify.php:301 ../../Zotlabs/Lib/Enotify.php:320 -#, php-format -msgid "You may visit their profile at %s" -msgstr "Du kannst Dir das Profil unter %s ansehen" +#: ../../Zotlabs/Lib/Apps.php:241 +msgid "Invite" +msgstr "Einladen" -#: ../../Zotlabs/Lib/Enotify.php:303 -#, php-format -msgid "Please visit %s to approve or reject the connection request." -msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen." +#: ../../Zotlabs/Lib/Apps.php:242 ../../include/widgets.php:1595 +msgid "Features" +msgstr "Funktionen" -#: ../../Zotlabs/Lib/Enotify.php:310 -msgid "[$Projectname:Notify] Friend suggestion received" -msgstr "[$Projectname:Benachrichtigung] Freundschaftsvorschlag erhalten" +#: ../../Zotlabs/Lib/Apps.php:243 +#: ../../extend/addon/addon/openid/MysqlProvider.php:69 +msgid "Language" +msgstr "Sprache" -#: ../../Zotlabs/Lib/Enotify.php:311 -#, php-format -msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s" -msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten" +#: ../../Zotlabs/Lib/Apps.php:244 +msgid "Post" +msgstr "Beitrag schreiben" -#: ../../Zotlabs/Lib/Enotify.php:312 -#, php-format -msgid "" -"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from " -"%4$s." -msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten." +#: ../../Zotlabs/Lib/Apps.php:245 +#: ../../extend/addon/addon/openid/MysqlProvider.php:58 +#: ../../extend/addon/addon/openid/MysqlProvider.php:59 +#: ../../extend/addon/addon/openid/MysqlProvider.php:60 +msgid "Profile Photo" +msgstr "Profilfoto" -#: ../../Zotlabs/Lib/Enotify.php:318 -msgid "Name:" -msgstr "Name:" +#: ../../Zotlabs/Lib/Apps.php:355 +msgid "Purchase" +msgstr "Kaufen" -#: ../../Zotlabs/Lib/Enotify.php:319 -msgid "Photo:" -msgstr "Foto:" +#: ../../Zotlabs/Lib/Apps.php:359 +msgid "Undelete" +msgstr "Wieder hergestellt" -#: ../../Zotlabs/Lib/Enotify.php:322 -#, php-format -msgid "Please visit %s to approve or reject the suggestion." -msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen." +#: ../../Zotlabs/Lib/NativeWiki.php:126 +msgid "Wiki files deleted successfully" +msgstr "Wiki-Dateien erfolgreich gelöscht" -#: ../../Zotlabs/Lib/Enotify.php:540 -msgid "[$Projectname:Notify]" -msgstr "[$Projectname:Benachrichtigung]" +#: ../../Zotlabs/Lib/Permcat.php:58 +msgctxt "permcat" +msgid "default" +msgstr "Standard" -#: ../../Zotlabs/Lib/Enotify.php:700 -msgid "created a new post" -msgstr "Neuer Beitrag wurde erzeugt" +#: ../../Zotlabs/Lib/Permcat.php:96 +msgctxt "permcat" +msgid "follower" +msgstr "Abonnent" + +#: ../../Zotlabs/Lib/Permcat.php:100 +msgctxt "permcat" +msgid "contributor" +msgstr "Beitragender" + +#: ../../Zotlabs/Lib/Permcat.php:104 +msgctxt "permcat" +msgid "publisher" +msgstr "Autor" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:31 +#: ../../Zotlabs/Lib/NativeWikiPage.php:62 +msgid "(No Title)" +msgstr "(Kein Titel)" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:76 +msgid "Wiki page create failed." +msgstr "Anlegen der Wiki-Seite fehlgeschlagen." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:89 +msgid "Wiki not found." +msgstr "Wiki nicht gefunden." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:100 +msgid "Destination name already exists" +msgstr "Zielname bereits vorhanden" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:126 +#: ../../Zotlabs/Lib/NativeWikiPage.php:345 +msgid "Page not found" +msgstr "Seite nicht gefunden" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:156 +msgid "Error reading page content" +msgstr "Fehler beim Lesen des Seiteninhalts" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:338 +#: ../../Zotlabs/Lib/NativeWikiPage.php:383 +#: ../../Zotlabs/Lib/NativeWikiPage.php:450 +#: ../../Zotlabs/Lib/NativeWikiPage.php:491 +msgid "Error reading wiki" +msgstr "Fehler beim Lesen des Wiki" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:371 +msgid "Page update failed." +msgstr "Seitenaktualisierung fehlgeschlagen." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:405 +msgid "Nothing deleted" +msgstr "Nichts gelöscht" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:471 +msgid "Compare: object not found." +msgstr "Vergleichen: Objekt nicht gefunden." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:477 +msgid "Page updated" +msgstr "Seite aktualisiert" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:480 +msgid "Untitled" +msgstr "Ohne Titel" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:486 +msgid "Wiki resource_id required for git commit" +msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:701 -#, php-format -msgid "commented on %s's post" -msgstr "hat %s's Beitrag kommentiert" +#: ../../Zotlabs/Lib/NativeWikiPage.php:557 +#: ../../extend/addon/addon/gitwiki/gitwiki_backend.php:579 +#: ../../include/bbcode.php:610 ../../include/bbcode.php:756 +msgid "Different viewers will see this text differently" +msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen" #: ../../extend/addon/addon/adultphotoflag/adultphotoflag.php:24 msgid "Flag Adult Photos" @@ -7591,27 +7960,36 @@ msgstr "Linkshänder-Besaitung anzeigen" msgid "Quick Reference" msgstr "Schnellreferenz" -#: ../../extend/addon/addon/diaspora/diaspora.php:671 +#: ../../extend/addon/addon/diaspora/import_diaspora.php:16 +msgid "No username found in import file." +msgstr "Kein Benutzername in der Importdatei gefunden." + +#: ../../extend/addon/addon/diaspora/import_diaspora.php:41 +#: ../../include/import.php:51 +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." + +#: ../../extend/addon/addon/diaspora/diaspora.php:677 msgid "Diaspora Protocol Settings updated." msgstr "Diaspora-Protokolleinstellungen aktualisiert." -#: ../../extend/addon/addon/diaspora/diaspora.php:692 +#: ../../extend/addon/addon/diaspora/diaspora.php:696 msgid "Enable the Diaspora protocol for this channel" msgstr "Diaspora-Protokoll für diesen Kanal aktivieren" -#: ../../extend/addon/addon/diaspora/diaspora.php:696 +#: ../../extend/addon/addon/diaspora/diaspora.php:700 msgid "Allow any Diaspora member to comment on your public posts" msgstr "Jedem Diaspora-Mitglied erlauben, Deine öffentlichen Beiträge zu kommentieren" -#: ../../extend/addon/addon/diaspora/diaspora.php:700 +#: ../../extend/addon/addon/diaspora/diaspora.php:704 msgid "Prevent your hashtags from being redirected to other sites" msgstr "Verhindern, dass Deine hashtags zu anderen Seiten umgeleitet werden" -#: ../../extend/addon/addon/diaspora/diaspora.php:705 +#: ../../extend/addon/addon/diaspora/diaspora.php:709 msgid "Followed hashtags (comma separated, do not include the #)" msgstr "Verfolgte Hashtags (Komma separierte Liste, ohne die #)" -#: ../../extend/addon/addon/diaspora/diaspora.php:710 +#: ../../extend/addon/addon/diaspora/diaspora.php:714 msgid "Diaspora Protocol Settings" msgstr "Diaspora-Protokolleinstellungen" @@ -7941,7 +8319,7 @@ msgstr "Die Vorstellung wurde bereits akzeptiert." #: ../../extend/addon/addon/friendica/dfrn_request.php:123 #: ../../extend/addon/addon/friendica/dfrn_request.php:528 msgid "Profile location is not valid or does not contain profile information." -msgstr "" +msgstr "Die angegebenen Profil Lokalität ist nicht gültig oder enthält keine Profil-Informationen." #: ../../extend/addon/addon/friendica/dfrn_request.php:128 #: ../../extend/addon/addon/friendica/dfrn_request.php:533 @@ -7951,15 +8329,15 @@ msgstr "" #: ../../extend/addon/addon/friendica/dfrn_request.php:130 #: ../../extend/addon/addon/friendica/dfrn_request.php:535 msgid "Warning: profile location has no profile photo." -msgstr "" +msgstr "Warnung: Beim angegebenen Profil liegt kein Profil-Bild bei." #: ../../extend/addon/addon/friendica/dfrn_request.php:133 #: ../../extend/addon/addon/friendica/dfrn_request.php:538 #, php-format msgid "%d required parameter was not found at the given location" msgid_plural "%d required parameters were not found at the given location" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Konnte %d benötigten Parameter an der angegebenen Stelle nicht finden." +msgstr[1] "Konnte %d benötigte Parameter an der angegebenen Stelle nicht finden." #: ../../extend/addon/addon/friendica/dfrn_request.php:180 msgid "Introduction complete." @@ -8000,7 +8378,7 @@ msgstr "Dieser Account wurde nicht für E-Mail konfiguriert. Anfrage gescheitert #: ../../extend/addon/addon/friendica/dfrn_request.php:473 msgid "Unable to resolve your name at the provided location." -msgstr "" +msgstr "Konnte deinen Namen nicht bei der angegebenen Stelle ermitteln." #: ../../extend/addon/addon/friendica/dfrn_request.php:486 msgid "You have already introduced yourself here." @@ -8094,7 +8472,7 @@ msgid "Add a personal note:" msgstr "Eine persönliche Nachricht hinterlassen:" #: ../../extend/addon/addon/friendica/dfrn_request.php:871 -#: ../../include/network.php:2232 ../../include/network.php:2233 +#: ../../include/network.php:2242 ../../include/network.php:2243 msgid "Friendica" msgstr "Friendica" @@ -8103,7 +8481,7 @@ msgid "StatusNet/Federated Social Web" msgstr "StatusNet/Föderierte Soziale Netzwerke" #: ../../extend/addon/addon/friendica/dfrn_request.php:873 -#: ../../include/network.php:2238 +#: ../../include/network.php:2248 msgid "Diaspora" msgstr "Diaspora" @@ -8123,7 +8501,7 @@ msgid "Submit Request" msgstr "Anfrage absenden" #: ../../extend/addon/addon/friendica/friendica.php:113 -#: ../../extend/addon/addon/gnusoc/gnusoc.php:114 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:118 msgid "GNU-Social Protocol Settings updated." msgstr "GNU Social Protokoll Einstellungen aktualisiert" @@ -8132,17 +8510,17 @@ msgid "Enable the (experimental) GNU-Social protocol for this channel" msgstr "GNU Social Protokoll (experimentell) für diesen Kanal aktualisieren" #: ../../extend/addon/addon/friendica/friendica.php:128 -#: ../../extend/addon/addon/gnusoc/gnusoc.php:129 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:133 msgid "GNU-Social Protocol Settings" msgstr "GNU Social Protokoll Einstellungen" #: ../../extend/addon/addon/friendica/friendica.php:185 -#: ../../extend/addon/addon/gnusoc/gnusoc.php:319 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:323 msgid "Follow" msgstr "Folgen" #: ../../extend/addon/addon/friendica/friendica.php:188 -#: ../../extend/addon/addon/gnusoc/gnusoc.php:322 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:326 #, php-format msgid "%1$s is now following %2$s" msgstr "%1$s folgt nun %2$s" @@ -8167,10 +8545,6 @@ msgstr "Friendica-Anmeldebenutzername" msgid "Friendica Login Password" msgstr "Friendica-Anmeldepasswort" -#: ../../extend/addon/addon/gnusoc/gnusoc.php:125 -msgid "Enable the GNU-Social protocol for this channel" -msgstr "GNU Social Protokoll für diesen Kanal aktualisieren" - #: ../../extend/addon/addon/hubwall/hubwall.php:19 msgid "Send email to all members" msgstr "E-Mail an alle Mitglieder senden" @@ -8237,7 +8611,7 @@ msgstr "InsaneJournal-Einstellungen gespeichert." #: ../../extend/addon/addon/irc/irc.php:45 msgid "Channels to auto connect" -msgstr "" +msgstr "Kanäle zur automatischen Verbindung" #: ../../extend/addon/addon/irc/irc.php:45 #: ../../extend/addon/addon/irc/irc.php:49 @@ -8262,7 +8636,7 @@ msgid "IRC Chatroom" msgstr "IRC-Chatraum" #: ../../extend/addon/addon/jappixmini/jappixmini.php:305 -#: ../../include/channel.php:1056 ../../include/channel.php:1218 +#: ../../include/channel.php:1139 ../../include/channel.php:1301 msgid "Status:" msgstr "Status:" @@ -8312,11 +8686,6 @@ msgstr "Interne Liste der Jabber Adressen von Kontakten löschen" msgid "Configuration Help" msgstr "Konfigurationshilfe" -#: ../../extend/addon/addon/jappixmini/jappixmini.php:368 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1149 -msgid "Add Contact" -msgstr "Kontakt hinzufügen" - #: ../../extend/addon/addon/jappixmini/jappixmini.php:371 msgid "Jappix Mini Settings" msgstr "Jappix Mini Einstellungen" @@ -8579,11 +8948,11 @@ msgstr "ermordet" #: ../../extend/addon/addon/morepokes/morepokes.php:24 msgid "worship" -msgstr "" +msgstr "Anbetung" #: ../../extend/addon/addon/morepokes/morepokes.php:24 msgid "worshipped" -msgstr "" +msgstr "angebetet" #: ../../extend/addon/addon/morepokes/morepokes.php:25 msgid "kiss" @@ -8724,7 +9093,7 @@ msgstr "Nsabait-Einstellungen aktualisiert." #: ../../extend/addon/addon/nsabait/nsabait.php:157 msgid "Enable NSAbait Plugin" -msgstr "" +msgstr "Aktiviere das NSAbait Plugin" #: ../../extend/addon/addon/nsabait/nsabait.php:161 msgid "NSAbait Settings" @@ -8746,10 +9115,10 @@ msgstr "Inhaltsfilter aktivieren" #: ../../extend/addon/addon/nsfw/nsfw.php:88 msgid "Comma separated list of keywords to hide" -msgstr "" +msgstr "Kommaseparierte Liste von Schlüsselworten die verborgen werden sollen." #: ../../extend/addon/addon/nsfw/nsfw.php:88 -msgid "Use /expression/ to provide regular expressions" +msgid "Word, /regular-expression/, lang=xx, lang!=xx" msgstr "" #: ../../extend/addon/addon/nsfw/nsfw.php:92 @@ -8770,109 +9139,109 @@ msgstr "Möglicherweise nicht jugendfreie Inhalte" #: ../../extend/addon/addon/nsfw/nsfw.php:211 #, php-format -msgid "%s - click to open/close" -msgstr "%s - zum öffnen/schließen anklicken" +msgid "%s - view" +msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:49 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:127 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:50 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:128 msgid "System defaults:" msgstr "Systemstandardeinstellungen:" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:53 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:54 msgid "Preferred Clipart IDs" msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:53 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:54 msgid "List of preferred clipart ids. These will be shown first." msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:54 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:55 msgid "Default Search Term" -msgstr "" +msgstr "Standard-Suchbegriff" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:54 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:55 msgid "The default search term. These will be shown second." msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:55 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:56 msgid "Return After" msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:55 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:56 msgid "Page to load after image selection." msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:57 -#: ../../include/channel.php:965 ../../include/nav.php:93 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:58 +#: ../../include/channel.php:1048 ../../include/nav.php:107 msgid "Edit Profile" msgstr "Profile bearbeiten" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:58 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:59 msgid "Profile List" msgstr "Profilliste" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:60 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:61 msgid "Order of Preferred" msgstr "Bevorzugte Reihenfolge" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:60 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:61 msgid "Sort order of preferred clipart ids." msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:61 -#: ../../extend/addon/addon/openclipatar/openclipatar.php:67 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:62 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:68 msgid "Newest first" msgstr "Neueste zuerst" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:64 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:65 msgid "As entered" msgstr "Wie eingegeben" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:66 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:67 msgid "Order of other" msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:66 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:67 msgid "Sort order of other clipart ids." msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:68 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:69 msgid "Most downloaded first" msgstr "Meist heruntergeladene zuerst" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:69 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:70 msgid "Most liked first" msgstr "Beliebteste zuerst" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:71 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:72 msgid "Preferred IDs Message" msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:71 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:72 msgid "Message to display above preferred results." msgstr "" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:77 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:78 msgid "Uploaded by: " msgstr "Hochgeladen von: " -#: ../../extend/addon/addon/openclipatar/openclipatar.php:77 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:78 msgid "Drawn by: " msgstr "Gezeichnet von: " -#: ../../extend/addon/addon/openclipatar/openclipatar.php:191 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:192 msgid "Or select from a free OpenClipart.org image:" -msgstr "" +msgstr "Oder wähle ein freies Bild von OpenClipart.org:" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:194 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:195 msgid "Search Term" msgstr "Suchbegriff" -#: ../../extend/addon/addon/openclipatar/openclipatar.php:216 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:232 msgid "Unknown error. Please try again later." msgstr "Unbekannter Fehler. Bitte versuchen Sie es später erneut." -#: ../../extend/addon/addon/openclipatar/openclipatar.php:303 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:305 msgid "Profile photo updated successfully." msgstr "Profilfoto erfolgreich aktualisiert." @@ -9055,7 +9424,7 @@ msgstr "QR-Generator" #: ../../extend/addon/addon/qrator/qrator.php:64 msgid "Enter some text" -msgstr "" +msgstr "Etwas Text eingeben" #: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 msgid "Enable Rainbowtag" @@ -9234,7 +9603,7 @@ msgstr "" #: ../../extend/addon/addon/skeleton/skeleton.php:59 msgid "Some setting" -msgstr "" +msgstr "Einige Einstellungen" #: ../../extend/addon/addon/skeleton/skeleton.php:61 msgid "A setting" @@ -9411,23 +9780,23 @@ msgstr "API-URL" msgid "Application name" msgstr "Anwendungsname" -#: ../../extend/addon/addon/superblock/superblock.php:106 +#: ../../extend/addon/addon/superblock/superblock.php:110 msgid "Currently blocked" msgstr "Derzeit blockiert" -#: ../../extend/addon/addon/superblock/superblock.php:108 +#: ../../extend/addon/addon/superblock/superblock.php:112 msgid "No channels currently blocked" msgstr "Momentan sind keine Kanäle blockiert" -#: ../../extend/addon/addon/superblock/superblock.php:114 +#: ../../extend/addon/addon/superblock/superblock.php:118 msgid "\"Superblock\" Settings" msgstr "\"Superblock\"-Einstellungen" -#: ../../extend/addon/addon/superblock/superblock.php:279 +#: ../../extend/addon/addon/superblock/superblock.php:322 msgid "Block Completely" msgstr "Vollständig blockieren" -#: ../../extend/addon/addon/superblock/superblock.php:326 +#: ../../extend/addon/addon/superblock/superblock.php:371 msgid "superblock settings updated" msgstr "Superblock Einstellungen aktualisiert" @@ -9489,7 +9858,7 @@ msgstr "Sie haben gewonnen!" #: ../../extend/addon/addon/tictac/tictac.php:200 #: ../../extend/addon/addon/tictac/tictac.php:225 msgid "\"Cat\" game!" -msgstr "" +msgstr "\"Katzen\"-Spiel!" #: ../../extend/addon/addon/tictac/tictac.php:223 msgid "I won!" @@ -9664,7 +10033,7 @@ msgstr "Twitter-Einstellungen aktualisiert." msgid "" "No consumer key pair for Twitter found. Please contact your site " "administrator." -msgstr "" +msgstr "Es wurde kein Consumer-Schlüsselpaar für Twitter gefunden. Bitte kontaktiere deinen Seiten-Administrator." #: ../../extend/addon/addon/twitter/twitter.php:205 msgid "" @@ -9751,7 +10120,7 @@ msgstr "Bitte rufe die Visage Einstellungen auf %s auf" #: ../../extend/addon/addon/visage/visage.php:99 msgid "your feature settings page" -msgstr "" +msgstr "Die Funktions-Einstellungsseite" #: ../../extend/addon/addon/visage/visage.php:112 msgid "No entries." @@ -9928,71 +10297,6 @@ msgstr "Adressbuch importieren" msgid "Select an addressbook to import to" msgstr "Adressbuch zum Hineinimportieren auswählen" -#: ../../extend/addon/addon/cdav/cdav.php:36 -msgid "Errors encountered creating database table: " -msgstr "" - -#: ../../extend/addon/addon/cdav/cdav.php:197 -msgid "Default Calendar" -msgstr "Standardkalender" - -#: ../../extend/addon/addon/cdav/cdav.php:206 -msgid "Default Addressbook" -msgstr "Standardadressbuch" - -#: ../../extend/addon/addon/cdav/cdav.php:215 -msgid "CalDAV/CardDAV Settings saved." -msgstr "CalDAV/CardDAV-Einstellungen gespeichert." - -#: ../../extend/addon/addon/cdav/cdav.php:234 -msgid "Enable CalDAV/CardDAV Server for this channel" -msgstr "Aktiviere den CalDAV/CardDAV Server für diesen Kanal" - -#: ../../extend/addon/addon/cdav/cdav.php:237 -#, php-format -msgid "Your CalDAV resources are located at %s " -msgstr "Deine CalDAV Resourcen sind unter %s verfügbar" - -#: ../../extend/addon/addon/cdav/cdav.php:240 -#, php-format -msgid "Your CardDAV resources are located at %s " -msgstr "Deine CardDAV Ressourcen sind unter %s verfügbar" - -#: ../../extend/addon/addon/cdav/cdav.php:246 -msgid "CalDAV/CardDAV Settings" -msgstr "CalDAV/CardDAV-Einstellungen" - -#: ../../extend/addon/addon/cdav/cdav.php:270 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1145 -msgid "Mobile" -msgstr "Mobil" - -#: ../../extend/addon/addon/cdav/cdav.php:271 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1146 ../../include/nav.php:88 -msgid "Home" -msgstr "Home" - -#: ../../extend/addon/addon/cdav/cdav.php:272 -msgid "Home, Voice" -msgstr "Zuhause, Sprache" - -#: ../../extend/addon/addon/cdav/cdav.php:273 -msgid "Home, Fax" -msgstr "Zuhause, Fax" - -#: ../../extend/addon/addon/cdav/cdav.php:274 -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1147 -msgid "Work" -msgstr "Arbeit" - -#: ../../extend/addon/addon/cdav/cdav.php:275 -msgid "Work, Voice" -msgstr "Arbeit, Sprache" - -#: ../../extend/addon/addon/cdav/cdav.php:276 -msgid "Work, Fax" -msgstr "Arbeit, Fax" - #: ../../extend/addon/addon/cdav/Mod_Cdav.php:744 msgid "INVALID EVENT DISMISSED!" msgstr "UNGÃœLTIGEN TERMIN ABGELEHNT!" @@ -10065,58 +10369,59 @@ msgstr "Alles löschen" msgid "Sorry! Editing of recurrent events is not yet implemented." msgstr "Entschuldigung, aber das Bearbeiten von wiederkehrenden Veranstaltungen ist leider noch nicht implementiert." -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1137 -msgid "Organisation" -msgstr "Organisation" - -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1138 -#: ../../include/page_widgets.php:46 -msgid "Title" -msgstr "Titel" +#: ../../extend/addon/addon/cdav/cdav.php:36 +msgid "Errors encountered creating database table: " +msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten." -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1139 -msgid "Phone" -msgstr "Telefon" +#: ../../extend/addon/addon/cdav/cdav.php:197 +msgid "Default Calendar" +msgstr "Standardkalender" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1141 -msgid "Instant messenger" -msgstr "" +#: ../../extend/addon/addon/cdav/cdav.php:206 +msgid "Default Addressbook" +msgstr "Standardadressbuch" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1142 -msgid "Website" -msgstr "Webseite" +#: ../../extend/addon/addon/cdav/cdav.php:215 +msgid "CalDAV/CardDAV Settings saved." +msgstr "CalDAV/CardDAV-Einstellungen gespeichert." -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1144 -msgid "Note" -msgstr "Hinweis" +#: ../../extend/addon/addon/cdav/cdav.php:234 +msgid "Enable CalDAV/CardDAV Server for this channel" +msgstr "Aktiviere den CalDAV/CardDAV Server für diesen Kanal" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1150 -msgid "Add Field" -msgstr "Feld hinzufügen" +#: ../../extend/addon/addon/cdav/cdav.php:237 +#, php-format +msgid "Your CalDAV resources are located at %s " +msgstr "Deine CalDAV Resourcen sind unter %s verfügbar" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1155 -msgid "P.O. Box" -msgstr "" +#: ../../extend/addon/addon/cdav/cdav.php:240 +#, php-format +msgid "Your CardDAV resources are located at %s " +msgstr "Deine CardDAV Ressourcen sind unter %s verfügbar" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1156 -msgid "Additional" -msgstr "Zusätzlich" +#: ../../extend/addon/addon/cdav/cdav.php:246 +msgid "CalDAV/CardDAV Settings" +msgstr "CalDAV/CardDAV-Einstellungen" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1157 -msgid "Street" -msgstr "Straße" +#: ../../extend/addon/addon/cdav/cdav.php:272 +#: ../../include/connections.php:896 +msgid "Home, Voice" +msgstr "Zuhause, Sprache" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1158 -msgid "Locality" -msgstr "Ortschaft" +#: ../../extend/addon/addon/cdav/cdav.php:273 +#: ../../include/connections.php:897 +msgid "Home, Fax" +msgstr "Zuhause, Fax" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1159 -msgid "Region" -msgstr "Region" +#: ../../extend/addon/addon/cdav/cdav.php:275 +#: ../../include/connections.php:899 +msgid "Work, Voice" +msgstr "Arbeit, Sprache" -#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1160 -msgid "ZIP Code" -msgstr "Postleitzahl" +#: ../../extend/addon/addon/cdav/cdav.php:276 +#: ../../include/connections.php:900 +msgid "Work, Fax" +msgstr "Arbeit, Fax" #: ../../extend/addon/addon/chess/chess.php:276 #: ../../extend/addon/addon/chess/chess.php:430 @@ -10148,7 +10453,7 @@ msgstr "Sie müssen weiß oder schwarz auswählen." msgid "Error creating new game." msgstr "Fehler beim Erstellen eines neuen Spiels." -#: ../../extend/addon/addon/chess/chess.php:379 ../../include/channel.php:816 +#: ../../extend/addon/addon/chess/chess.php:379 ../../include/channel.php:899 msgid "Requested channel is not available." msgstr "Angeforderte Kanal nicht verfügbar." @@ -10190,15 +10495,6 @@ msgstr "Männlich" msgid "Female" msgstr "Weiblich" -#: ../../extend/addon/addon/openid/Mod_Openid.php:30 -msgid "OpenID protocol error. No ID returned." -msgstr "OpenID-Protokollfehler. Keine Kennung zurückgegeben." - -#: ../../extend/addon/addon/openid/Mod_Openid.php:193 -#: ../../include/auth.php:286 -msgid "Login failed." -msgstr "Login fehlgeschlagen." - #: ../../extend/addon/addon/openid/MysqlProvider.php:52 msgid "First Name" msgstr "Vorname" @@ -10265,6 +10561,15 @@ msgstr "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmel msgid "The error message was:" msgstr "Die Fehlermeldung war:" +#: ../../extend/addon/addon/openid/Mod_Openid.php:30 +msgid "OpenID protocol error. No ID returned." +msgstr "OpenID-Protokollfehler. Keine Kennung zurückgegeben." + +#: ../../extend/addon/addon/openid/Mod_Openid.php:188 +#: ../../include/auth.php:286 +msgid "Login failed." +msgstr "Login fehlgeschlagen." + #: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:44 #, php-format msgid "Reconnecting %d connections" @@ -10324,71 +10629,96 @@ msgid "" "from Mapbox instead of the default OpenStreetMap tile server." msgstr "Wenn Du ein Mapbox Zugangs-Token eingibst, werden die Kartendaten (Kacheln) damit von Mapbox geladen, anstatt von OpenStreetMap, welches die Voreinstellung ist." -#: ../../extend/addon/addon/rendezvous/rendezvous.php:122 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:162 msgid "Rendezvous" msgstr "Rendezvous" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:127 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:167 msgid "" "This identity has been deleted by another member due to inactivity. Please " "press the \"New identity\" button or refresh the page to register a new " "identity. You may use the same name." msgstr "Diese Identität wurde von einem anderen Mitglied aufgrund von Inaktivität gelöscht. Bitte klicke auf \"Neue Identität\" oder aktualisiere die Website im Browser, um eine neue Identität zu registrieren. Du kannst dabei den selben Namen verwenden." -#: ../../extend/addon/addon/rendezvous/rendezvous.php:128 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:168 msgid "Welcome to Rendezvous!" msgstr "Willkommen bei Rendezvous!" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:129 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:169 msgid "" "Enter your name to join this rendezvous. To begin sharing your location with" " the other members, tap the GPS control. When your location is discovered, a" " red dot will appear and others will be able to see you on the map." msgstr "Gib Deinen Namen ein, um diesem Rendezvous beizutreten. Um Deinen Standort mit anderen Mitgliedern zu teilen, klicke auf das GPS Symbol. Sobald Dein Standort ermittelt ist, erscheint ein roter Punkt, und die Anderen werden Dich auf der Karte sehen können." -#: ../../extend/addon/addon/rendezvous/rendezvous.php:131 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:171 msgid "Let's meet here" msgstr "Lasst uns hier treffen" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:134 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:174 msgid "New marker" msgstr "Neue Markierung" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:135 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:175 msgid "Edit marker" msgstr "Markierung bearbeiten" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:136 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:176 msgid "New identity" msgstr "Neue Identität" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:137 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:177 msgid "Delete marker" msgstr "Markierung löschen" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:138 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:178 msgid "Delete member" msgstr "Mitglied löschen" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:139 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:179 msgid "Edit proximity alert" msgstr "Annäherungsalarm bearbeiten" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:140 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:180 msgid "" "A proximity alert will be issued when this member is within a certain radius" " of you.<br><br>Enter a radius in meters (0 to disable):" msgstr "Ein Annäherungsalarm wird ausgelöst werden, sobald sich dieses Mitglied innerhalb eines bestimmten Radius von Dir aufhält.<br><br>Gib einen Radius in Metern ein (0 zum Abschalten der Funktion):" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:140 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:180 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:185 msgid "distance" msgstr "Entfernung" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:150 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:181 +msgid "Proximity alert distance (meters)" +msgstr "" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:182 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:184 +msgid "" +"A proximity alert will be issued when you are within a certain radius of the" +" marker location.<br><br>Enter a radius in meters (0 to disable):" +msgstr "Ein Annäherungsalarm wird ausgelöst werden, sobald Du Dich innerhalb eines bestimmten Radius der Markierung aufhält.<br><br>Gib einen Radius in Metern ein (0 zum Abschalten der Funktion):" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:183 +msgid "Marker proximity alert" +msgstr "Annäherungsalarm für Markierung" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:186 +msgid "Reminder note" +msgstr "Erinnerungshinweis" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:187 +msgid "" +"Enter a note to be displayed when you are within the specified proximity..." +msgstr "Gib eine Nachricht ein, die angezeigt werden soll, wenn Du Dich in der festgelegten Nähe befindest..." + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:199 msgid "Add new rendezvous" msgstr "Neues Rendezvous hinzufügen" -#: ../../extend/addon/addon/rendezvous/rendezvous.php:151 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:200 msgid "" "Create a new rendezvous and share the access link with those you wish to " "invite to the group. Those who open the link become members of the " @@ -10396,19 +10726,240 @@ msgid "" " share their own locations with the group." msgstr "Erstelle ein neues Rendezvous und teile den Zugriffslink mit allen, die Du in die Gruppe einladen möchtest. Die, die den Link öffnen, werden Mitglieder des Rendezvous. Sie können die Standorte der anderen Mitglieder sehen, Marker zur Karte hinzufügen oder ihre eigenen Standorte mit der Gruppe teilen." -#: ../../include/Import/import_diaspora.php:16 -msgid "No username found in import file." -msgstr "Kein Benutzername in der Importdatei gefunden." +#: ../../extend/addon/addon/firefox/firefox.php:23 +msgid "Install Firefox Sharing Tools" +msgstr "" -#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:51 -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." +#: ../../extend/addon/addon/firefox/firefox.php:34 +msgid "Share content from Firefox to $Projectname" +msgstr "Inhalte von Firefox nach $Projectname teilen" + +#: ../../extend/addon/addon/firefox/firefox.php:37 +msgid "Install Firefox Sharing Tools to this web browser" +msgstr "" + +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:105 +msgid "Error retrieving wiki" +msgstr "Fehler beim Abrufen des Wiki" + +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:112 +msgid "Error creating zip file export folder" +msgstr "Fehler bei der Erzeugung des Zip-Datei Export-Verzeichnisses " + +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:130 +msgid "Error downloading wiki: " +msgstr "Fehler beim Herunterladen des Wiki:" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:76 +#: ../../include/widgets.php:970 +msgid "Wiki Pages" +msgstr "Wikiseiten" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:81 +#: ../../include/widgets.php:976 +msgid "Add new page" +msgstr "Neue Seite hinzufügen" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:82 +#: ../../include/widgets.php:977 +msgid "Page name" +msgstr "Seitenname" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:95 +#: ../../include/widgets.php:927 +msgid "Wiki List" +msgstr "Wikiliste" + +#: ../../extend/addon/addon/gnusoc/gnusoc.php:129 +msgid "Enable the GNU-Social protocol for this channel" +msgstr "GNU Social Protokoll für diesen Kanal aktualisieren" + +#: ../../extend/addon/addon/opensearch/opensearch.php:26 ../../boot.php:1187 +#, php-format +msgctxt "opensearch" +msgid "Search %1$s (%2$s)" +msgstr "Suche %1$s (%2$s)" + +#: ../../extend/addon/addon/opensearch/opensearch.php:28 ../../boot.php:1187 +msgctxt "opensearch" +msgid "$Projectname" +msgstr "$Projectname" + +#: ../../extend/addon/addon/opensearch/opensearch.php:43 +msgid "Search $Projectname" +msgstr "" #: ../../include/dba/dba_driver.php:187 #, 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/language.php:367 ../../include/text.php:1783 +msgid "default" +msgstr "Standard" + +#: ../../include/language.php:380 +msgid "Select an alternate language" +msgstr "Wähle eine alternative Sprache" + +#: ../../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:263 +#, php-format +msgid "Registration confirmation for %s" +msgstr "Registrierungsbestätigung für %s" + +#: ../../include/account.php:330 +#, php-format +msgid "Registration request at %s" +msgstr "Registrierungsanfrage auf %s" + +#: ../../include/account.php:352 +msgid "your registration password" +msgstr "Dein Registrierungspasswort" + +#: ../../include/account.php:358 ../../include/account.php:420 +#, php-format +msgid "Registration details for %s" +msgstr "Registrierungsdetails für %s" + +#: ../../include/account.php:431 +msgid "Account approved." +msgstr "Nutzerkonto bestätigt." + +#: ../../include/account.php:471 +#, php-format +msgid "Registration revoked for %s" +msgstr "Registrierung für %s wurde widerrufen" + +#: ../../include/account.php:756 ../../include/account.php:758 +msgid "Click here to upgrade." +msgstr "Klicke hier, um das Upgrade durchzuführen." + +#: ../../include/account.php:764 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements." + +#: ../../include/account.php:769 +msgid "This action is not available under your subscription plan." +msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar." + +#: ../../include/acl_selectors.php:208 +msgid "Who can see this?" +msgstr "Wer kann das sehen?" + +#: ../../include/acl_selectors.php:209 +msgid "Custom selection" +msgstr "Benutzerdefinierte Auswahl" + +#: ../../include/acl_selectors.php:210 +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/acl_selectors.php:211 +msgid "Show" +msgstr "Anzeigen" + +#: ../../include/acl_selectors.php:212 +msgid "Don't show" +msgstr "Nicht anzeigen" + +#: ../../include/acl_selectors.php:245 +#, 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/taxonomy.php:188 ../../include/taxonomy.php:270 +#: ../../include/widgets.php:46 ../../include/widgets.php:469 +#: ../../include/contact_widgets.php:91 +msgid "Categories" +msgstr "Kategorien" + +#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249 +msgid "Tags" +msgstr "Schlagwörter" + +#: ../../include/taxonomy.php:293 +msgid "Keywords" +msgstr "Schlüsselwörter" + +#: ../../include/taxonomy.php:314 +msgid "have" +msgstr "habe" + +#: ../../include/taxonomy.php:314 +msgid "has" +msgstr "hat" + +#: ../../include/taxonomy.php:315 +msgid "want" +msgstr "will" + +#: ../../include/taxonomy.php:315 +msgid "wants" +msgstr "will" + +#: ../../include/taxonomy.php:316 +msgid "likes" +msgstr "gefällt" + +#: ../../include/taxonomy.php:317 +msgid "dislikes" +msgstr "missfällt" + +#: ../../include/markdown.php:444 +msgid "Attachments:" +msgstr "Anhänge:" + +#: ../../include/markdown.php:539 ../../include/event.php:22 +#: ../../include/event.php:69 +msgid "l F d, Y \\@ g:i A" +msgstr "l, d. F Y, H:i" + +#: ../../include/markdown.php:541 +msgid "$Projectname event notification:" +msgstr "$Projectname-Terminbenachrichtigung:" + +#: ../../include/markdown.php:545 ../../include/event.php:30 +#: ../../include/event.php:73 +msgid "Starts:" +msgstr "Beginnt:" + +#: ../../include/markdown.php:553 ../../include/event.php:40 +#: ../../include/event.php:77 +msgid "Finishes:" +msgstr "Endet:" + #: ../../include/datetime.php:147 msgid "Birthday" msgstr "Geburtstag" @@ -10421,7 +10972,7 @@ msgstr "Alter:" msgid "YYYY-MM-DD or MM-DD" msgstr "JJJJ-MM-TT oder MM-TT" -#: ../../include/datetime.php:286 ../../boot.php:2563 +#: ../../include/datetime.php:286 ../../boot.php:2578 msgid "never" msgstr "Nie" @@ -10494,90 +11045,6 @@ 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:263 -#, php-format -msgid "Registration confirmation for %s" -msgstr "Registrierungsbestätigung für %s" - -#: ../../include/account.php:330 -#, php-format -msgid "Registration request at %s" -msgstr "Registrierungsanfrage auf %s" - -#: ../../include/account.php:352 -msgid "your registration password" -msgstr "Dein Registrierungspasswort" - -#: ../../include/account.php:358 ../../include/account.php:420 -#, php-format -msgid "Registration details for %s" -msgstr "Registrierungsdetails für %s" - -#: ../../include/account.php:431 -msgid "Account approved." -msgstr "Nutzerkonto bestätigt." - -#: ../../include/account.php:471 -#, php-format -msgid "Registration revoked for %s" -msgstr "Registrierung für %s wurde widerrufen" - -#: ../../include/account.php:756 ../../include/account.php:758 -msgid "Click here to upgrade." -msgstr "Klicke hier, um das Upgrade durchzuführen." - -#: ../../include/account.php:764 -msgid "This action exceeds the limits set by your subscription plan." -msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements." - -#: ../../include/account.php:769 -msgid "This action is not available under your subscription plan." -msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar." - -#: ../../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:223 -msgid "Stored post could not be verified." -msgstr "Gespeicherter Beitrag konnten nicht überprüft werden." - #: ../../include/selectors.php:30 msgid "Frequently" msgstr "Häufig" @@ -10818,1026 +11285,735 @@ msgstr "Interessiert mich nicht" msgid "Ask me" msgstr "Frag mich mal" -#: ../../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:962 -msgid "Create New Profile" -msgstr "Neues Profil erstellen" - -#: ../../include/channel.php:982 -msgid "Visible to everybody" -msgstr "Für jeden sichtbar" - -#: ../../include/channel.php:1055 ../../include/channel.php:1174 -msgid "Gender:" -msgstr "Geschlecht:" - -#: ../../include/channel.php:1057 ../../include/channel.php:1229 -msgid "Homepage:" -msgstr "Homepage:" - -#: ../../include/channel.php:1058 -msgid "Online Now" -msgstr "gerade online" - -#: ../../include/channel.php:1179 -msgid "Like this channel" -msgstr "Dieser Kanal gefällt mir" - -#: ../../include/channel.php:1203 -msgid "j F, Y" -msgstr "j. F Y" - -#: ../../include/channel.php:1204 -msgid "j F" -msgstr "j. F" - -#: ../../include/channel.php:1211 -msgid "Birthday:" -msgstr "Geburtstag:" - -#: ../../include/channel.php:1224 -#, php-format -msgid "for %1$d %2$s" -msgstr "seit %1$d %2$s" - -#: ../../include/channel.php:1227 -msgid "Sexual Preference:" -msgstr "Sexuelle Orientierung:" - -#: ../../include/channel.php:1233 -msgid "Tags:" -msgstr "Schlagworte:" - -#: ../../include/channel.php:1235 -msgid "Political Views:" -msgstr "Politische Ansichten:" - -#: ../../include/channel.php:1237 -msgid "Religion:" -msgstr "Religion:" - -#: ../../include/channel.php:1241 -msgid "Hobbies/Interests:" -msgstr "Hobbys/Interessen:" - -#: ../../include/channel.php:1243 -msgid "Likes:" -msgstr "Gefällt:" - -#: ../../include/channel.php:1245 -msgid "Dislikes:" -msgstr "Gefällt nicht:" - -#: ../../include/channel.php:1247 -msgid "Contact information and Social Networks:" -msgstr "Kontaktinformation und soziale Netzwerke:" - -#: ../../include/channel.php:1249 -msgid "My other channels:" -msgstr "Meine anderen Kanäle:" - -#: ../../include/channel.php:1251 -msgid "Musical interests:" -msgstr "Musikalische Interessen:" - -#: ../../include/channel.php:1253 -msgid "Books, literature:" -msgstr "Bücher, Literatur:" - -#: ../../include/channel.php:1255 -msgid "Television:" -msgstr "Fernsehen:" - -#: ../../include/channel.php:1257 -msgid "Film/dance/culture/entertainment:" -msgstr "Film/Tanz/Kultur/Unterhaltung:" - -#: ../../include/channel.php:1259 -msgid "Love/Romance:" -msgstr "Liebe/Romantik:" - -#: ../../include/channel.php:1261 -msgid "Work/employment:" -msgstr "Arbeit/Anstellung:" - -#: ../../include/channel.php:1263 -msgid "School/education:" -msgstr "Schule/Ausbildung:" - -#: ../../include/channel.php:1284 -msgid "Like this thing" -msgstr "Gefällt mir" - -#: ../../include/connections.php:95 +#: ../../include/connections.php:127 msgid "New window" msgstr "Neues Fenster" -#: ../../include/connections.php:96 +#: ../../include/connections.php:128 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 +#: ../../include/connections.php:246 #, php-format msgid "User '%s' deleted" msgstr "Benutzer '%s' gelöscht" -#: ../../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/nav.php:85 ../../include/nav.php:118 ../../boot.php:1718 -msgid "Logout" -msgstr "Abmelden" - -#: ../../include/nav.php:85 ../../include/nav.php:118 -msgid "End this session" -msgstr "Beende diese Sitzung" - -#: ../../include/nav.php:88 -msgid "Your posts and conversations" -msgstr "Deine Beiträge und Unterhaltungen" - -#: ../../include/nav.php:89 -msgid "Your profile page" -msgstr "Deine Profilseite" - -#: ../../include/nav.php:91 -msgid "Manage/Edit profiles" -msgstr "Profile verwalten" - -#: ../../include/nav.php:93 -msgid "Edit your profile" -msgstr "Profil bearbeiten" +#: ../../include/conversation.php:204 +#, php-format +msgid "%1$s is now connected with %2$s" +msgstr "%1$s ist jetzt mit %2$s verbunden" -#: ../../include/nav.php:95 -msgid "Your photos" -msgstr "Deine Bilder" +#: ../../include/conversation.php:239 +#, php-format +msgid "%1$s poked %2$s" +msgstr "%1$s stupste %2$s an" -#: ../../include/nav.php:96 -msgid "Your files" -msgstr "Deine Dateien" +#: ../../include/conversation.php:243 ../../include/text.php:1092 +#: ../../include/text.php:1097 +msgid "poked" +msgstr "stupste" -#: ../../include/nav.php:99 -msgid "Your chatrooms" -msgstr "Deine Chaträume" +#: ../../include/conversation.php:690 +#, php-format +msgid "View %s's profile @ %s" +msgstr "%ss Profil auf %s ansehen" -#: ../../include/nav.php:105 ../../include/conversation.php:1735 -msgid "Bookmarks" -msgstr "Lesezeichen" +#: ../../include/conversation.php:710 +msgid "Categories:" +msgstr "Kategorien:" -#: ../../include/nav.php:105 -msgid "Your bookmarks" -msgstr "Deine Lesezeichen" +#: ../../include/conversation.php:711 +msgid "Filed under:" +msgstr "Gespeichert unter:" -#: ../../include/nav.php:109 -msgid "Your webpages" -msgstr "Deine Webseiten" +#: ../../include/conversation.php:736 +msgid "View in context" +msgstr "Im Zusammenhang anschauen" -#: ../../include/nav.php:111 -msgid "Your wikis" -msgstr "Ihre Wikis" +#: ../../include/conversation.php:832 +msgid "remove" +msgstr "lösche" -#: ../../include/nav.php:115 -msgid "Sign in" -msgstr "Anmelden" +#: ../../include/conversation.php:836 ../../include/nav.php:292 +msgid "Loading..." +msgstr "Lädt ..." -#: ../../include/nav.php:131 -msgid "Remote authentication" -msgstr "Ãœber Konto auf anderem Server einloggen" +#: ../../include/conversation.php:837 +msgid "Delete Selected Items" +msgstr "Lösche die ausgewählten Elemente" -#: ../../include/nav.php:131 -msgid "Click to authenticate to your home hub" -msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren" +#: ../../include/conversation.php:930 ../../include/conversation.php:972 +msgid "View Source" +msgstr "Quelle anzeigen" -#: ../../include/nav.php:143 -msgid "Get me home" -msgstr "Bringe mich nach Hause (eigener Kanal)" +#: ../../include/conversation.php:931 ../../include/conversation.php:982 +msgid "Follow Thread" +msgstr "Unterhaltung folgen" -#: ../../include/nav.php:145 -msgid "Log me out of this site" -msgstr "Logge mich von dieser Seite aus" +#: ../../include/conversation.php:932 ../../include/conversation.php:991 +msgid "Unfollow Thread" +msgstr "Unterhaltung nicht mehr folgen" -#: ../../include/nav.php:150 -msgid "Create an account" -msgstr "Erzeuge ein Konto" +#: ../../include/conversation.php:937 ../../include/conversation.php:1059 +msgid "Activity/Posts" +msgstr "Aktivitäten/Beiträge" -#: ../../include/nav.php:162 -msgid "Help and documentation" -msgstr "Hilfe und Dokumentation" +#: ../../include/conversation.php:939 ../../include/conversation.php:1079 +msgid "Edit Connection" +msgstr "Verbindung bearbeiten" -#: ../../include/nav.php:166 -msgid "Applications, utilities, links, games" -msgstr "Anwendungen (Apps), Zubehör, Links, Spiele" +#: ../../include/conversation.php:940 ../../include/conversation.php:1089 +msgid "Message" +msgstr "Nachricht" -#: ../../include/nav.php:168 -msgid "Search site @name, #tag, ?docs, content" -msgstr "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt" +#: ../../include/conversation.php:1223 +#, php-format +msgid "%s likes this." +msgstr "%s gefällt das." -#: ../../include/nav.php:170 -msgid "Channel Directory" -msgstr "Kanal-Verzeichnis" +#: ../../include/conversation.php:1223 +#, php-format +msgid "%s doesn't like this." +msgstr "%s gefällt das nicht." -#: ../../include/nav.php:182 -msgid "Your grid" -msgstr "Dein Grid" +#: ../../include/conversation.php:1227 +#, 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/nav.php:183 -msgid "Mark all grid notifications seen" -msgstr "Alle Grid-Benachrichtigungen als angesehen markieren" +#: ../../include/conversation.php:1229 +#, 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/nav.php:185 -msgid "Channel home" -msgstr "Mein Kanal" +#: ../../include/conversation.php:1235 +msgid "and" +msgstr "und" -#: ../../include/nav.php:186 -msgid "Mark all channel notifications seen" -msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen" +#: ../../include/conversation.php:1238 +#, php-format +msgid ", and %d other people" +msgid_plural ", and %d other people" +msgstr[0] "" +msgstr[1] ", und %d andere" -#: ../../include/nav.php:192 -msgid "Notices" -msgstr "Benachrichtigungen" +#: ../../include/conversation.php:1239 +#, php-format +msgid "%s like this." +msgstr "%s gefällt das." -#: ../../include/nav.php:192 -msgid "Notifications" -msgstr "Benachrichtigungen" +#: ../../include/conversation.php:1239 +#, php-format +msgid "%s don't like this." +msgstr "%s gefällt das nicht." -#: ../../include/nav.php:193 -msgid "See all notifications" -msgstr "Alle Benachrichtigungen ansehen" +#: ../../include/conversation.php:1282 +msgid "Set your location" +msgstr "Standort" -#: ../../include/nav.php:196 -msgid "Private mail" -msgstr "Persönliche Mail" +#: ../../include/conversation.php:1283 +msgid "Clear browser location" +msgstr "Browser-Standort löschen" -#: ../../include/nav.php:197 -msgid "See all private messages" -msgstr "Alle persönlichen Nachrichten ansehen" +#: ../../include/conversation.php:1331 +msgid "Tag term:" +msgstr "Schlagwort:" -#: ../../include/nav.php:198 -msgid "Mark all private messages seen" -msgstr "Markiere alle persönlichen Nachrichten als gesehen" +#: ../../include/conversation.php:1332 +msgid "Where are you right now?" +msgstr "Wo bist Du jetzt grade?" -#: ../../include/nav.php:199 ../../include/widgets.php:700 -msgid "Inbox" -msgstr "Eingang" +#: ../../include/conversation.php:1337 +msgid "Choose a different album..." +msgstr "Wählen Sie ein anderes Album aus..." -#: ../../include/nav.php:200 ../../include/widgets.php:705 -msgid "Outbox" -msgstr "Ausgang" +#: ../../include/conversation.php:1341 +msgid "Comments enabled" +msgstr "Kommentare aktiviert" -#: ../../include/nav.php:201 ../../include/widgets.php:710 -msgid "New Message" -msgstr "Neue Nachricht" +#: ../../include/conversation.php:1342 +msgid "Comments disabled" +msgstr "Kommentare deaktiviert" -#: ../../include/nav.php:204 -msgid "Event Calendar" -msgstr "Terminkalender" +#: ../../include/conversation.php:1380 +msgid "Page link name" +msgstr "Link zur Seite" -#: ../../include/nav.php:205 -msgid "See all events" -msgstr "Alle Termine ansehen" +#: ../../include/conversation.php:1383 +msgid "Post as" +msgstr "Veröffentlichen als" -#: ../../include/nav.php:206 -msgid "Mark all events seen" -msgstr "Markiere alle Termine als gesehen" +#: ../../include/conversation.php:1397 +msgid "Toggle voting" +msgstr "Umfragewerkzeug aktivieren" -#: ../../include/nav.php:209 -msgid "Manage Your Channels" -msgstr "Verwalte Deine Kanäle" +#: ../../include/conversation.php:1400 +msgid "Disable comments" +msgstr "Kommentare deaktivieren" -#: ../../include/nav.php:211 -msgid "Account/Channel Settings" -msgstr "Konto-/Kanal-Einstellungen" +#: ../../include/conversation.php:1401 +msgid "Toggle comments" +msgstr "Kommentare umschalten" -#: ../../include/nav.php:219 ../../include/widgets.php:1665 -msgid "Admin" -msgstr "Administration" +#: ../../include/conversation.php:1409 +msgid "Categories (optional, comma-separated list)" +msgstr "Kategorien (optional, kommagetrennte Liste)" -#: ../../include/nav.php:219 -msgid "Site Setup and Configuration" -msgstr "Seiten-Einrichtung und -Konfiguration" +#: ../../include/conversation.php:1432 +msgid "Other networks and post services" +msgstr "Andere Netzwerke und Platformen" -#: ../../include/nav.php:250 ../../include/conversation.php:869 -msgid "Loading..." -msgstr "Lädt ..." +#: ../../include/conversation.php:1438 +msgid "Set publish date" +msgstr "Veröffentlichungsdatum festlegen" -#: ../../include/nav.php:255 -msgid "@name, #tag, ?doc, content" -msgstr "@Name, #Schlagwort, ?Dokumentation, Inhalt" +#: ../../include/conversation.php:1692 +msgid "Discover" +msgstr "Entdecken" -#: ../../include/nav.php:256 -msgid "Please wait..." -msgstr "Bitte warten..." +#: ../../include/conversation.php:1695 +msgid "Imported public streams" +msgstr "Importierte öffentliche Beiträge" -#: ../../include/features.php:58 -msgid "General Features" -msgstr "Allgemeine Funktionen" +#: ../../include/conversation.php:1700 +msgid "Commented Order" +msgstr "Neueste Kommentare" -#: ../../include/features.php:63 -msgid "Multiple Profiles" -msgstr "Mehrfachprofile" +#: ../../include/conversation.php:1703 +msgid "Sort by Comment Date" +msgstr "Nach Kommentardatum sortiert" -#: ../../include/features.php:64 -msgid "Ability to create multiple profiles" -msgstr "Ermöglicht das Anlegen mehrerer Profile pro Kanal" +#: ../../include/conversation.php:1707 +msgid "Posted Order" +msgstr "Neueste Beiträge" -#: ../../include/features.php:72 -msgid "Advanced Profiles" -msgstr "Erweiterte Profile" +#: ../../include/conversation.php:1710 +msgid "Sort by Post Date" +msgstr "Nach Beitragsdatum sortiert" -#: ../../include/features.php:73 -msgid "Additional profile sections and selections" -msgstr "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung" +#: ../../include/conversation.php:1718 +msgid "Posts that mention or involve you" +msgstr "Beiträge mit Beteiligung Deinerseits" -#: ../../include/features.php:81 -msgid "Profile Import/Export" -msgstr "Profil-Import/Export" +#: ../../include/conversation.php:1727 +msgid "Activity Stream - by date" +msgstr "Activity Stream – nach Datum sortiert" -#: ../../include/features.php:82 -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/conversation.php:1733 +msgid "Starred" +msgstr "Markiert" -#: ../../include/features.php:90 -msgid "Web Pages" -msgstr "Webseiten" +#: ../../include/conversation.php:1736 +msgid "Favourite Posts" +msgstr "Markierte Beiträge" -#: ../../include/features.php:91 -msgid "Provide managed web pages on your channel" -msgstr "Ermöglicht das Erstellen von Webseiten in Deinem Kanal" +#: ../../include/conversation.php:1743 +msgid "Spam" +msgstr "Spam" -#: ../../include/features.php:100 -msgid "Provide a wiki for your channel" -msgstr "Stelle ein Wiki in Deinem Kanal zur Verfügung" +#: ../../include/conversation.php:1746 +msgid "Posts flagged as SPAM" +msgstr "Nachrichten, die als SPAM markiert wurden" -#: ../../include/features.php:117 -msgid "Private Notes" -msgstr "Private Notizen" +#: ../../include/conversation.php:1818 +msgid "Status Messages and Posts" +msgstr "Statusnachrichten und Beiträge" -#: ../../include/features.php:118 -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/conversation.php:1830 +msgid "Profile Details" +msgstr "Profil-Details" -#: ../../include/features.php:126 -msgid "Navigation Channel Select" -msgstr "Kanal-Auswahl in der Navigationsleiste" +#: ../../include/conversation.php:1839 ../../include/photos.php:515 +msgid "Photo Albums" +msgstr "Fotoalben" -#: ../../include/features.php:127 -msgid "Change channels directly from within the navigation dropdown menu" -msgstr "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü" +#: ../../include/conversation.php:1846 +msgid "Files and Storage" +msgstr "Dateien und Speicher" -#: ../../include/features.php:135 -msgid "Photo Location" -msgstr "Aufnahmeort" +#: ../../include/conversation.php:1866 ../../include/conversation.php:1869 +#: ../../include/widgets.php:902 +msgid "Chatrooms" +msgstr "Chaträume" -#: ../../include/features.php:136 -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/conversation.php:1879 +msgid "Bookmarks" +msgstr "Lesezeichen" -#: ../../include/features.php:144 -msgid "Access Controlled Chatrooms" -msgstr "Zugriffskontrollierte Chaträume" +#: ../../include/conversation.php:1882 +msgid "Saved Bookmarks" +msgstr "Gespeicherte Lesezeichen" -#: ../../include/features.php:145 -msgid "Provide chatrooms and chat services with access control." -msgstr "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an." +#: ../../include/conversation.php:1892 +msgid "View Webpages" +msgstr "Webseiten anzeigen" -#: ../../include/features.php:153 -msgid "Smart Birthdays" -msgstr "Smarte Geburtstage" +#: ../../include/conversation.php:1958 +msgctxt "noun" +msgid "Attending" +msgid_plural "Attending" +msgstr[0] "Zusage" +msgstr[1] "Zusagen" -#: ../../include/features.php:154 -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/conversation.php:1961 +msgctxt "noun" +msgid "Not Attending" +msgid_plural "Not Attending" +msgstr[0] "Absage" +msgstr[1] "Absagen" -#: ../../include/features.php:162 -msgid "Advanced Directory Search" -msgstr "Erweiterte Verzeichnissuche" +#: ../../include/conversation.php:1964 +msgctxt "noun" +msgid "Undecided" +msgid_plural "Undecided" +msgstr[0] " Unentschlossen" +msgstr[1] "Unentschlossene" -#: ../../include/features.php:163 -msgid "Allows creation of complex directory search queries" -msgstr "Ermöglicht die Erstellung komplexer Verzeichnis-Suchabfragen" +#: ../../include/conversation.php:1967 +msgctxt "noun" +msgid "Agree" +msgid_plural "Agrees" +msgstr[0] "Zustimmung" +msgstr[1] "Zustimmungen" -#: ../../include/features.php:171 -msgid "Advanced Theme and Layout Settings" -msgstr "Erweiterte Design- und Layout-Einstellungen" +#: ../../include/conversation.php:1970 +msgctxt "noun" +msgid "Disagree" +msgid_plural "Disagrees" +msgstr[0] "Ablehnung" +msgstr[1] "Ablehnungen" -#: ../../include/features.php:172 -msgid "Allows fine tuning of themes and page layouts" -msgstr "Erlaubt die Feineinstellung von Designs und Seitenlayouts" +#: ../../include/conversation.php:1973 +msgctxt "noun" +msgid "Abstain" +msgid_plural "Abstains" +msgstr[0] "Enthaltung" +msgstr[1] "Enthaltungen" -#: ../../include/features.php:182 -msgid "Post Composition Features" -msgstr "Nachbearbeitungsfunktionen" +#: ../../include/message.php:32 +msgid "Unable to determine sender." +msgstr "Kann Absender nicht bestimmen." -#: ../../include/features.php:186 -msgid "Large Photos" -msgstr "Große Fotos" +#: ../../include/message.php:69 +msgid "No recipient provided." +msgstr "Kein Empfänger angegeben" -#: ../../include/features.php:187 -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:74 +msgid "[no subject]" +msgstr "[no subject]" -#: ../../include/features.php:196 -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:225 +msgid "Stored post could not be verified." +msgstr "Gespeicherter Beitrag konnten nicht überprüft werden." -#: ../../include/features.php:204 -msgid "Even More Encryption" -msgstr "Noch mehr Verschlüsselung" +#: ../../include/security.php:117 +msgid "guest:" +msgstr "Gast:" -#: ../../include/features.php:205 +#: ../../include/security.php:532 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/features.php:213 -msgid "Enable Voting Tools" -msgstr "Umfragewerkzeuge aktivieren" - -#: ../../include/features.php:214 -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/features.php:222 -msgid "Disable Comments" -msgstr "Kommentare deaktivieren" - -#: ../../include/features.php:223 -msgid "Provide the option to disable comments for a post" -msgstr "Ermöglicht, die Kommentarfunktion für einzelne Beiträge abzuschalten" +"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/features.php:231 -msgid "Delayed Posting" -msgstr "Verzögertes Senden" +#: ../../include/widgets.php:103 +msgid "System" +msgstr "System" -#: ../../include/features.php:232 -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/widgets.php:106 +msgid "New App" +msgstr "Neue App" -#: ../../include/features.php:240 -msgid "Content Expiration" -msgstr "Verfall von Inhalten" +#: ../../include/widgets.php:107 +msgid "Edit Apps" +msgstr "Apps bearbeiten" -#: ../../include/features.php:241 -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/widgets.php:155 +msgid "Suggestions" +msgstr "Vorschläge" -#: ../../include/features.php:249 -msgid "Suppress Duplicate Posts/Comments" -msgstr "Doppelte Beiträge unterdrücken" +#: ../../include/widgets.php:156 +msgid "See more..." +msgstr "Mehr anzeigen …" -#: ../../include/features.php:250 -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/widgets.php:176 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen." -#: ../../include/features.php:261 -msgid "Network and Stream Filtering" -msgstr "Netzwerk- und Stream-Filter" +#: ../../include/widgets.php:182 +msgid "Add New Connection" +msgstr "Neue Verbindung hinzufügen" -#: ../../include/features.php:265 -msgid "Search by Date" -msgstr "Suche nach Datum" +#: ../../include/widgets.php:183 +msgid "Enter channel address" +msgstr "Adresse des Kanals eingeben" -#: ../../include/features.php:266 -msgid "Ability to select posts by date ranges" -msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen" +#: ../../include/widgets.php:184 +msgid "Examples: bob@example.com, https://example.com/barbara" +msgstr "Beispiele: bob@beispiel.com, http://beispiel.com/barbara" -#: ../../include/features.php:274 ../../include/group.php:311 -msgid "Privacy Groups" -msgstr "Gruppen" +#: ../../include/widgets.php:200 +msgid "Notes" +msgstr "Notizen" -#: ../../include/features.php:275 -msgid "Enable management and selection of privacy groups" -msgstr "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren" +#: ../../include/widgets.php:276 +msgid "Remove term" +msgstr "Eintrag löschen" -#: ../../include/features.php:283 ../../include/widgets.php:283 +#: ../../include/widgets.php:284 ../../include/features.php:301 msgid "Saved Searches" msgstr "Gespeicherte Suchanfragen" -#: ../../include/features.php:284 -msgid "Save search terms for re-use" -msgstr "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung" - -#: ../../include/features.php:292 -msgid "Network Personal Tab" -msgstr "Persönlicher Netzwerkreiter" - -#: ../../include/features.php:293 -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:301 -msgid "Network New Tab" -msgstr "Netzwerkreiter Neu" - -#: ../../include/features.php:302 -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:310 -msgid "Affinity Tool" -msgstr "Beziehungs-Tool" - -#: ../../include/features.php:311 -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:320 -msgid "Show friend and connection suggestions" -msgstr "Freund- und Verbindungsvorschläge anzeigen" - -#: ../../include/features.php:328 -msgid "Connection Filtering" -msgstr "Filter für Verbindungen" - -#: ../../include/features.php:329 -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:341 -msgid "Post/Comment Tools" -msgstr "Beitrag-/Kommentar-Tools" - -#: ../../include/features.php:345 -msgid "Community Tagging" -msgstr "Gemeinschaftliches Verschlagworten" - -#: ../../include/features.php:346 -msgid "Ability to tag existing posts" -msgstr "Ermöglicht das Verschlagworten existierender Beiträge" - -#: ../../include/features.php:354 -msgid "Post Categories" -msgstr "Beitrags-Kategorien" - -#: ../../include/features.php:355 -msgid "Add categories to your posts" -msgstr "Aktiviert Kategorien für Beiträge" - -#: ../../include/features.php:363 -msgid "Emoji Reactions" -msgstr "Emoji Reaktionen" - -#: ../../include/features.php:364 -msgid "Add emoji reaction ability to posts" -msgstr "Aktiviert Emoji-Reaktionen für Beiträge" +#: ../../include/widgets.php:285 ../../include/group.php:336 +msgid "add" +msgstr "hinzufügen" -#: ../../include/features.php:372 ../../include/contact_widgets.php:53 -#: ../../include/widgets.php:346 +#: ../../include/widgets.php:347 ../../include/contact_widgets.php:53 +#: ../../include/features.php:390 msgid "Saved Folders" msgstr "Gespeicherte Ordner" -#: ../../include/features.php:373 -msgid "Ability to file posts under folders" -msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln" - -#: ../../include/features.php:381 -msgid "Dislike Posts" -msgstr "Gefällt-mir-nicht-Beiträge" - -#: ../../include/features.php:382 -msgid "Ability to dislike posts/comments" -msgstr "Aktiviert die „Gefällt mir nicht“-Schaltfläche" - -#: ../../include/features.php:390 -msgid "Star Posts" -msgstr "Beiträge mit Sternchen versehen" - -#: ../../include/features.php:391 -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:399 -msgid "Tag Cloud" -msgstr "Schlagwort-Wolke" - -#: ../../include/features.php:400 -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:412 -msgid "Premium Channel" -msgstr "Premium-Kanal" - -#: ../../include/features.php:413 -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/text.php:460 -msgid "prev" -msgstr "vorherige" - -#: ../../include/text.php:462 -msgid "first" -msgstr "erste" - -#: ../../include/text.php:491 -msgid "last" -msgstr "letzte" - -#: ../../include/text.php:494 -msgid "next" -msgstr "nächste" - -#: ../../include/text.php:505 -msgid "older" -msgstr "älter" - -#: ../../include/text.php:507 -msgid "newer" -msgstr "neuer" - -#: ../../include/text.php:904 -msgid "No connections" -msgstr "Keine Verbindungen" +#: ../../include/widgets.php:350 ../../include/widgets.php:472 +#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94 +msgid "Everything" +msgstr "Alles" -#: ../../include/text.php:929 -#, php-format -msgid "View all %s connections" -msgstr "Alle Verbindungen von %s anzeigen" +#: ../../include/widgets.php:391 +msgid "Archives" +msgstr "Archive" -#: ../../include/text.php:1074 ../../include/text.php:1079 -msgid "poke" -msgstr "anstupsen" +#: ../../include/widgets.php:563 +msgid "Refresh" +msgstr "Aktualisieren" -#: ../../include/text.php:1074 ../../include/text.php:1079 -#: ../../include/conversation.php:243 -msgid "poked" -msgstr "stupste" +#: ../../include/widgets.php:603 +msgid "Account settings" +msgstr "Konto-Einstellungen" -#: ../../include/text.php:1080 -msgid "ping" -msgstr "anpingen" +#: ../../include/widgets.php:609 +msgid "Channel settings" +msgstr "Kanal-Einstellungen" -#: ../../include/text.php:1080 -msgid "pinged" -msgstr "pingte" +#: ../../include/widgets.php:618 +msgid "Additional features" +msgstr "Zusätzliche Funktionen" -#: ../../include/text.php:1081 -msgid "prod" -msgstr "knuffen" +#: ../../include/widgets.php:625 +msgid "Feature/Addon settings" +msgstr "Plugin-Einstellungen" -#: ../../include/text.php:1081 -msgid "prodded" -msgstr "knuffte" +#: ../../include/widgets.php:631 +msgid "Display settings" +msgstr "Anzeige-Einstellungen" -#: ../../include/text.php:1082 -msgid "slap" -msgstr "ohrfeigen" +#: ../../include/widgets.php:638 +msgid "Manage locations" +msgstr "Klon-Adressen verwalten" -#: ../../include/text.php:1082 -msgid "slapped" -msgstr "ohrfeigte" +#: ../../include/widgets.php:645 +msgid "Export channel" +msgstr "Kanal exportieren" -#: ../../include/text.php:1083 -msgid "finger" -msgstr "befummeln" +#: ../../include/widgets.php:651 +msgid "Connected apps" +msgstr "Verbundene Apps" -#: ../../include/text.php:1083 -msgid "fingered" -msgstr "befummelte" +#: ../../include/widgets.php:666 ../../include/features.php:153 +msgid "Permission Groups" +msgstr "Berechtigungsrollen" -#: ../../include/text.php:1084 -msgid "rebuff" -msgstr "eine Abfuhr erteilen" +#: ../../include/widgets.php:683 +msgid "Premium Channel Settings" +msgstr "Premium-Kanal-Einstellungen" -#: ../../include/text.php:1084 -msgid "rebuffed" -msgstr "zurückgewiesen" +#: ../../include/widgets.php:712 +msgid "Private Mail Menu" +msgstr "Private Nachrichten" -#: ../../include/text.php:1096 -msgid "happy" -msgstr "glücklich" +#: ../../include/widgets.php:714 +msgid "Combined View" +msgstr "Kombinierte Anzeige" -#: ../../include/text.php:1097 -msgid "sad" -msgstr "traurig" +#: ../../include/widgets.php:719 ../../include/nav.php:213 +msgid "Inbox" +msgstr "Eingang" -#: ../../include/text.php:1098 -msgid "mellow" -msgstr "sanft" +#: ../../include/widgets.php:724 ../../include/nav.php:214 +msgid "Outbox" +msgstr "Ausgang" -#: ../../include/text.php:1099 -msgid "tired" -msgstr "müde" +#: ../../include/widgets.php:729 ../../include/nav.php:215 +msgid "New Message" +msgstr "Neue Nachricht" -#: ../../include/text.php:1100 -msgid "perky" -msgstr "frech" +#: ../../include/widgets.php:746 ../../include/widgets.php:758 +msgid "Conversations" +msgstr "Konversationen" -#: ../../include/text.php:1101 -msgid "angry" -msgstr "sauer" +#: ../../include/widgets.php:750 +msgid "Received Messages" +msgstr "Erhaltene Nachrichten" -#: ../../include/text.php:1102 -msgid "stupefied" -msgstr "verblüfft" +#: ../../include/widgets.php:754 +msgid "Sent Messages" +msgstr "Gesendete Nachrichten" -#: ../../include/text.php:1103 -msgid "puzzled" -msgstr "verwirrt" +#: ../../include/widgets.php:768 +msgid "No messages." +msgstr "Keine Nachrichten." -#: ../../include/text.php:1104 -msgid "interested" -msgstr "interessiert" +#: ../../include/widgets.php:786 +msgid "Delete conversation" +msgstr "Unterhaltung löschen" -#: ../../include/text.php:1105 -msgid "bitter" -msgstr "verbittert" +#: ../../include/widgets.php:812 +msgid "Events Tools" +msgstr "Kalenderwerkzeuge" -#: ../../include/text.php:1106 -msgid "cheerful" -msgstr "fröhlich" +#: ../../include/widgets.php:813 +msgid "Export Calendar" +msgstr "Kalender exportieren" -#: ../../include/text.php:1107 -msgid "alive" -msgstr "lebendig" +#: ../../include/widgets.php:814 +msgid "Import Calendar" +msgstr "Kalender importieren" -#: ../../include/text.php:1108 -msgid "annoyed" -msgstr "verärgert" +#: ../../include/widgets.php:906 +msgid "Overview" +msgstr "Ãœbersicht" -#: ../../include/text.php:1109 -msgid "anxious" -msgstr "unruhig" +#: ../../include/widgets.php:913 +msgid "Chat Members" +msgstr "Chatmitglieder" -#: ../../include/text.php:1110 -msgid "cranky" -msgstr "schrullig" +#: ../../include/widgets.php:991 +msgctxt "wiki_history" +msgid "Message" +msgstr "Nachricht" -#: ../../include/text.php:1111 -msgid "disturbed" -msgstr "verstört" +#: ../../include/widgets.php:1013 +msgid "Bookmarked Chatrooms" +msgstr "Gespeicherte Chatrooms" -#: ../../include/text.php:1112 -msgid "frustrated" -msgstr "frustriert" +#: ../../include/widgets.php:1044 +msgid "Suggested Chatrooms" +msgstr "Chatraum-Vorschläge" -#: ../../include/text.php:1113 -msgid "depressed" -msgstr "deprimiert" +#: ../../include/widgets.php:1189 ../../include/widgets.php:1301 +msgid "photo/image" +msgstr "Foto/Bild" -#: ../../include/text.php:1114 -msgid "motivated" -msgstr "motiviert" +#: ../../include/widgets.php:1244 +msgid "Click to show more" +msgstr "Klick, um mehr anzuzeigen" -#: ../../include/text.php:1115 -msgid "relaxed" -msgstr "entspannt" +#: ../../include/widgets.php:1395 +msgid "Rating Tools" +msgstr "Bewertungswerkzeuge" -#: ../../include/text.php:1116 -msgid "surprised" -msgstr "überrascht" +#: ../../include/widgets.php:1399 ../../include/widgets.php:1401 +msgid "Rate Me" +msgstr "Bewerte mich" -#: ../../include/text.php:1303 ../../include/js_strings.php:70 -msgid "Monday" -msgstr "Montag" +#: ../../include/widgets.php:1404 +msgid "View Ratings" +msgstr "Bewertungen ansehen" -#: ../../include/text.php:1303 ../../include/js_strings.php:71 -msgid "Tuesday" -msgstr "Dienstag" +#: ../../include/widgets.php:1497 +msgid "Forums" +msgstr "Foren" -#: ../../include/text.php:1303 ../../include/js_strings.php:72 -msgid "Wednesday" -msgstr "Mittwoch" +#: ../../include/widgets.php:1526 +msgid "Tasks" +msgstr "Aufgaben" -#: ../../include/text.php:1303 ../../include/js_strings.php:73 -msgid "Thursday" -msgstr "Donnerstag" +#: ../../include/widgets.php:1592 ../../include/widgets.php:1630 +msgid "Member registrations waiting for confirmation" +msgstr "Nutzer-Anmeldungen, die auf Bestätigung warten" -#: ../../include/text.php:1303 ../../include/js_strings.php:74 -msgid "Friday" -msgstr "Freitag" +#: ../../include/widgets.php:1598 +msgid "Inspect queue" +msgstr "Warteschlange kontrollieren" -#: ../../include/text.php:1303 ../../include/js_strings.php:75 -msgid "Saturday" -msgstr "Samstag" +#: ../../include/widgets.php:1600 +msgid "DB updates" +msgstr "DB-Aktualisierungen" -#: ../../include/text.php:1303 ../../include/js_strings.php:69 -msgid "Sunday" -msgstr "Sonntag" +#: ../../include/widgets.php:1625 ../../include/nav.php:233 +msgid "Admin" +msgstr "Administration" -#: ../../include/text.php:1307 ../../include/js_strings.php:45 -msgid "January" -msgstr "Januar" +#: ../../include/widgets.php:1626 +msgid "Plugin Features" +msgstr "Plug-In Funktionen" -#: ../../include/text.php:1307 ../../include/js_strings.php:46 -msgid "February" -msgstr "Februar" +#: ../../include/zot.php:652 +msgid "Invalid data packet" +msgstr "Ungültiges Datenpaket" -#: ../../include/text.php:1307 ../../include/js_strings.php:47 -msgid "March" -msgstr "März" +#: ../../include/zot.php:668 +msgid "Unable to verify channel signature" +msgstr "Konnte die Signatur des Kanals nicht verifizieren" -#: ../../include/text.php:1307 ../../include/js_strings.php:48 -msgid "April" -msgstr "April" +#: ../../include/zot.php:2319 +#, php-format +msgid "Unable to verify site signature for %s" +msgstr "Kann die Signatur der Seite von %s nicht verifizieren" -#: ../../include/text.php:1307 -msgid "May" -msgstr "Mai" +#: ../../include/zot.php:3725 +msgid "invalid target signature" +msgstr "Ungültige Signatur des Ziels" -#: ../../include/text.php:1307 ../../include/js_strings.php:50 -msgid "June" -msgstr "Juni" +#: ../../include/channel.php:33 +msgid "Unable to obtain identity information from database" +msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen" -#: ../../include/text.php:1307 ../../include/js_strings.php:51 -msgid "July" -msgstr "Juli" +#: ../../include/channel.php:67 +msgid "Empty name" +msgstr "Namensfeld leer" -#: ../../include/text.php:1307 ../../include/js_strings.php:52 -msgid "August" -msgstr "August" +#: ../../include/channel.php:70 +msgid "Name too long" +msgstr "Name ist zu lang" -#: ../../include/text.php:1307 ../../include/js_strings.php:53 -msgid "September" -msgstr "September" +#: ../../include/channel.php:181 +msgid "No account identifier" +msgstr "Keine Account-Kennung" -#: ../../include/text.php:1307 ../../include/js_strings.php:54 -msgid "October" -msgstr "Oktober" +#: ../../include/channel.php:193 +msgid "Nickname is required." +msgstr "Spitzname ist erforderlich." -#: ../../include/text.php:1307 ../../include/js_strings.php:55 -msgid "November" -msgstr "November" +#: ../../include/channel.php:207 +msgid "Reserved nickname. Please choose another." +msgstr "Reservierter Kurzname. Bitte wähle einen anderen." -#: ../../include/text.php:1307 ../../include/js_strings.php:56 -msgid "December" -msgstr "Dezember" +#: ../../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/text.php:1384 ../../include/text.php:1388 -msgid "Unknown Attachment" -msgstr "Unbekannter Anhang" +#: ../../include/channel.php:272 +msgid "Unable to retrieve created identity" +msgstr "Kann die erstellte Identität nicht empfangen" -#: ../../include/text.php:1390 -msgid "unknown" -msgstr "unbekannt" +#: ../../include/channel.php:344 +msgid "Default Profile" +msgstr "Standard-Profil" -#: ../../include/text.php:1426 -msgid "remove category" -msgstr "Kategorie entfernen" +#: ../../include/channel.php:1045 +msgid "Create New Profile" +msgstr "Neues Profil erstellen" -#: ../../include/text.php:1503 -msgid "remove from file" -msgstr "aus der Datei entfernen" +#: ../../include/channel.php:1065 +msgid "Visible to everybody" +msgstr "Für jeden sichtbar" -#: ../../include/text.php:1770 ../../include/language.php:367 -msgid "default" -msgstr "Standard" +#: ../../include/channel.php:1138 ../../include/channel.php:1257 +msgid "Gender:" +msgstr "Geschlecht:" -#: ../../include/text.php:1778 -msgid "Page layout" -msgstr "Seiten-Layout" +#: ../../include/channel.php:1140 ../../include/channel.php:1312 +msgid "Homepage:" +msgstr "Homepage:" -#: ../../include/text.php:1778 -msgid "You can create your own with the layouts tool" -msgstr "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen" +#: ../../include/channel.php:1141 +msgid "Online Now" +msgstr "gerade online" -#: ../../include/text.php:1820 -msgid "Page content type" -msgstr "Art des Seiteninhalts" +#: ../../include/channel.php:1262 +msgid "Like this channel" +msgstr "Dieser Kanal gefällt mir" -#: ../../include/text.php:1953 -msgid "activity" -msgstr "Aktivität" +#: ../../include/channel.php:1286 +msgid "j F, Y" +msgstr "j. F Y" -#: ../../include/text.php:2267 -msgid "Design Tools" -msgstr "Gestaltungswerkzeuge" +#: ../../include/channel.php:1287 +msgid "j F" +msgstr "j. F" -#: ../../include/text.php:2273 -msgid "Pages" -msgstr "Seiten" +#: ../../include/channel.php:1294 +msgid "Birthday:" +msgstr "Geburtstag:" -#: ../../include/text.php:2295 -msgid "Import website..." -msgstr "Webseite importieren..." +#: ../../include/channel.php:1307 +#, php-format +msgid "for %1$d %2$s" +msgstr "seit %1$d %2$s" -#: ../../include/text.php:2296 -msgid "Select folder to import" -msgstr "Ordner zum Importieren auswählen" +#: ../../include/channel.php:1310 +msgid "Sexual Preference:" +msgstr "Sexuelle Orientierung:" -#: ../../include/text.php:2297 -msgid "Import from a zipped folder:" -msgstr "Aus einem gezippten Ordner importieren:" +#: ../../include/channel.php:1316 +msgid "Tags:" +msgstr "Schlagworte:" -#: ../../include/text.php:2298 -msgid "Import from cloud files:" -msgstr "Aus Cloud-Dateien importieren:" +#: ../../include/channel.php:1318 +msgid "Political Views:" +msgstr "Politische Ansichten:" -#: ../../include/text.php:2299 -msgid "/cloud/channel/path/to/folder" -msgstr "/Cloud/Kanal/Pfad/zum/Ordner" +#: ../../include/channel.php:1320 +msgid "Religion:" +msgstr "Religion:" -#: ../../include/text.php:2300 -msgid "Enter path to website files" -msgstr "Pfad zu Webseitendateien eingeben" +#: ../../include/channel.php:1324 +msgid "Hobbies/Interests:" +msgstr "Hobbys/Interessen:" -#: ../../include/text.php:2301 -msgid "Select folder" -msgstr "Ordner auswählen" +#: ../../include/channel.php:1326 +msgid "Likes:" +msgstr "Gefällt:" -#: ../../include/text.php:2302 -msgid "Export website..." -msgstr "Webseite exportieren..." +#: ../../include/channel.php:1328 +msgid "Dislikes:" +msgstr "Gefällt nicht:" -#: ../../include/text.php:2303 -msgid "Export to a zip file" -msgstr "In eine ZIP-Datei exportieren" +#: ../../include/channel.php:1330 +msgid "Contact information and Social Networks:" +msgstr "Kontaktinformation und soziale Netzwerke:" -#: ../../include/text.php:2304 -msgid "website.zip" -msgstr "website.zip" +#: ../../include/channel.php:1332 +msgid "My other channels:" +msgstr "Meine anderen Kanäle:" -#: ../../include/text.php:2305 -msgid "Enter a name for the zip file." -msgstr "Geben Sie einen für die ZIP-Datei ein." +#: ../../include/channel.php:1334 +msgid "Musical interests:" +msgstr "Musikalische Interessen:" -#: ../../include/text.php:2306 -msgid "Export to cloud files" -msgstr "In Cloud-Dateien exportieren" +#: ../../include/channel.php:1336 +msgid "Books, literature:" +msgstr "Bücher, Literatur:" -#: ../../include/text.php:2307 -msgid "/path/to/export/folder" -msgstr "/Pfad/zum/exportierenden/Ordner" +#: ../../include/channel.php:1338 +msgid "Television:" +msgstr "Fernsehen:" -#: ../../include/text.php:2308 -msgid "Enter a path to a cloud files destination." -msgstr "Gib den Pfad zu einem Datei-Speicherort in der Cloud ein." +#: ../../include/channel.php:1340 +msgid "Film/dance/culture/entertainment:" +msgstr "Film/Tanz/Kultur/Unterhaltung:" -#: ../../include/text.php:2309 -msgid "Specify folder" -msgstr "Ordner angeben" +#: ../../include/channel.php:1342 +msgid "Love/Romance:" +msgstr "Liebe/Romantik:" -#: ../../include/bookmarks.php:35 -#, php-format -msgid "%1$s's bookmarks" -msgstr "%1$ss Lesezeichen" +#: ../../include/channel.php:1344 +msgid "Work/employment:" +msgstr "Arbeit/Anstellung:" -#: ../../include/wiki.php:545 ../../include/bbcode.php:552 -#: ../../include/bbcode.php:683 -msgid "Different viewers will see this text differently" -msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen" +#: ../../include/channel.php:1346 +msgid "School/education:" +msgstr "Schule/Ausbildung:" -#: ../../include/help.php:31 -msgid "Help:" -msgstr "Hilfe:" +#: ../../include/channel.php:1369 +msgid "Like this thing" +msgstr "Gefällt mir" #: ../../include/page_widgets.php:7 msgid "New Page" @@ -11878,17 +12054,6 @@ msgstr "Lade Freunde ein" msgid "Advanced example: name=fred and country=iceland" msgstr "Fortgeschrittenes Beispiel: name=fred and country=iceland" -#: ../../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 "%d connection in common" @@ -12040,11 +12205,55 @@ msgstr " " msgid "timeago.numbers" msgstr "timeago.numbers" +#: ../../include/js_strings.php:45 ../../include/text.php:1325 +msgid "January" +msgstr "Januar" + +#: ../../include/js_strings.php:46 ../../include/text.php:1325 +msgid "February" +msgstr "Februar" + +#: ../../include/js_strings.php:47 ../../include/text.php:1325 +msgid "March" +msgstr "März" + +#: ../../include/js_strings.php:48 ../../include/text.php:1325 +msgid "April" +msgstr "April" + #: ../../include/js_strings.php:49 msgctxt "long" msgid "May" msgstr "Mai" +#: ../../include/js_strings.php:50 ../../include/text.php:1325 +msgid "June" +msgstr "Juni" + +#: ../../include/js_strings.php:51 ../../include/text.php:1325 +msgid "July" +msgstr "Juli" + +#: ../../include/js_strings.php:52 ../../include/text.php:1325 +msgid "August" +msgstr "August" + +#: ../../include/js_strings.php:53 ../../include/text.php:1325 +msgid "September" +msgstr "September" + +#: ../../include/js_strings.php:54 ../../include/text.php:1325 +msgid "October" +msgstr "Oktober" + +#: ../../include/js_strings.php:55 ../../include/text.php:1325 +msgid "November" +msgstr "November" + +#: ../../include/js_strings.php:56 ../../include/text.php:1325 +msgid "December" +msgstr "Dezember" + #: ../../include/js_strings.php:57 msgid "Jan" msgstr "Jan" @@ -12094,6 +12303,34 @@ msgstr "Nov" msgid "Dec" msgstr "Dez" +#: ../../include/js_strings.php:69 ../../include/text.php:1321 +msgid "Sunday" +msgstr "Sonntag" + +#: ../../include/js_strings.php:70 ../../include/text.php:1321 +msgid "Monday" +msgstr "Montag" + +#: ../../include/js_strings.php:71 ../../include/text.php:1321 +msgid "Tuesday" +msgstr "Dienstag" + +#: ../../include/js_strings.php:72 ../../include/text.php:1321 +msgid "Wednesday" +msgstr "Mittwoch" + +#: ../../include/js_strings.php:73 ../../include/text.php:1321 +msgid "Thursday" +msgstr "Donnerstag" + +#: ../../include/js_strings.php:74 ../../include/text.php:1321 +msgid "Friday" +msgstr "Freitag" + +#: ../../include/js_strings.php:75 ../../include/text.php:1321 +msgid "Saturday" +msgstr "Samstag" + #: ../../include/js_strings.php:76 msgid "Sun" msgstr "So" @@ -12147,683 +12384,823 @@ msgctxt "calendar" msgid "All day" msgstr "Ganztägig" -#: ../../include/network.php:729 +#: ../../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/attach.php:250 ../../include/attach.php:338 +msgid "Item was not found." +msgstr "Beitrag wurde nicht gefunden." + +#: ../../include/attach.php:499 +msgid "No source file." +msgstr "Keine Quelldatei." + +#: ../../include/attach.php:521 +msgid "Cannot locate file to replace" +msgstr "Kann Datei zum Ersetzen nicht finden" + +#: ../../include/attach.php:539 +msgid "Cannot locate file to revise/update" +msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden" + +#: ../../include/attach.php:670 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "Datei überschreitet das Größen-Limit von %d" + +#: ../../include/attach.php:684 +#, 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/attach.php:854 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess." + +#: ../../include/attach.php:867 +msgid "Stored file could not be verified. Upload failed." +msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen." + +#: ../../include/attach.php:922 ../../include/attach.php:938 +msgid "Path not available." +msgstr "Pfad nicht verfügbar." + +#: ../../include/attach.php:984 ../../include/attach.php:1142 +msgid "Empty pathname" +msgstr "Leere Pfadangabe" + +#: ../../include/attach.php:1010 +msgid "duplicate filename or path" +msgstr "doppelter Dateiname oder Pfad" + +#: ../../include/attach.php:1032 +msgid "Path not found." +msgstr "Pfad nicht gefunden." + +#: ../../include/attach.php:1096 +msgid "mkdir failed." +msgstr "mkdir fehlgeschlagen." + +#: ../../include/attach.php:1100 +msgid "database storage failed." +msgstr "Speichern in der Datenbank fehlgeschlagen." + +#: ../../include/attach.php:1148 +msgid "Empty path" +msgstr "Leere Pfadangabe" + +#: ../../include/network.php:733 msgid "view full size" msgstr "In Vollbildansicht anschauen" -#: ../../include/network.php:1978 +#: ../../include/network.php:1988 msgid "No Subject" msgstr "Kein Betreff" -#: ../../include/network.php:2234 +#: ../../include/network.php:2244 msgid "OStatus" msgstr "OStatus" -#: ../../include/network.php:2235 +#: ../../include/network.php:2245 msgid "GNU-Social" msgstr "GNU-Social" -#: ../../include/network.php:2236 +#: ../../include/network.php:2246 msgid "RSS/Atom" msgstr "RSS/Atom" -#: ../../include/network.php:2239 +#: ../../include/network.php:2249 msgid "Facebook" msgstr "Facebook" -#: ../../include/network.php:2240 +#: ../../include/network.php:2250 msgid "Zot" msgstr "Zot!" -#: ../../include/network.php:2241 +#: ../../include/network.php:2251 msgid "LinkedIn" msgstr "LinkedIn" -#: ../../include/network.php:2242 +#: ../../include/network.php:2252 msgid "XMPP/IM" msgstr "XMPP/IM" -#: ../../include/network.php:2243 +#: ../../include/network.php:2253 msgid "MySpace" msgstr "MySpace" -#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249 -msgid "Tags" -msgstr "Schlagwörter" +#: ../../include/oembed.php:308 +msgid " by " +msgstr "von" -#: ../../include/taxonomy.php:293 -msgid "Keywords" -msgstr "Schlüsselwörter" +#: ../../include/oembed.php:309 +msgid " on " +msgstr "am" -#: ../../include/taxonomy.php:314 -msgid "have" -msgstr "habe" +#: ../../include/oembed.php:338 +msgid "Embedded content" +msgstr "Eingebetteter Inhalt" -#: ../../include/taxonomy.php:314 -msgid "has" -msgstr "hat" +#: ../../include/oembed.php:347 +msgid "Embedding disabled" +msgstr "Einbetten deaktiviert" -#: ../../include/taxonomy.php:315 -msgid "want" -msgstr "will" +#: ../../include/photos.php:115 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" +msgstr "Bild überschreitet das Webseitenlimit von %lu Bytes" -#: ../../include/taxonomy.php:315 -msgid "wants" -msgstr "will" +#: ../../include/photos.php:122 +msgid "Image file is empty." +msgstr "Bilddatei ist leer." -#: ../../include/taxonomy.php:316 -msgid "likes" -msgstr "gefällt" +#: ../../include/photos.php:260 +msgid "Photo storage failed." +msgstr "Fotospeicherung fehlgeschlagen." -#: ../../include/taxonomy.php:317 -msgid "dislikes" -msgstr "missfällt" +#: ../../include/photos.php:300 +msgid "a new photo" +msgstr "ein neues Foto" -#: ../../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/photos.php:304 +#, php-format +msgctxt "photo_upload" +msgid "%1$s posted %2$s to %3$s" +msgstr "%1$s hat %2$s auf %3$s veröffentlicht" -#: ../../include/import.php:90 -msgid "Channel clone failed. Import failed." -msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen." +#: ../../include/photos.php:519 +msgid "Upload New Photos" +msgstr "Neue Fotos hochladen" -#: ../../include/import.php:1354 -msgid "Unable to import element \"" -msgstr "Element konnte nicht importiert werden." +#: ../../include/text.php:460 +msgid "prev" +msgstr "vorherige" -#: ../../include/security.php:117 -msgid "guest:" -msgstr "Gast:" +#: ../../include/text.php:462 +msgid "first" +msgstr "erste" -#: ../../include/security.php:535 -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/text.php:491 +msgid "last" +msgstr "letzte" -#: ../../include/zot.php:662 -msgid "Invalid data packet" -msgstr "Ungültiges Datenpaket" +#: ../../include/text.php:494 +msgid "next" +msgstr "nächste" -#: ../../include/zot.php:678 -msgid "Unable to verify channel signature" -msgstr "Konnte die Signatur des Kanals nicht verifizieren" +#: ../../include/text.php:505 +msgid "older" +msgstr "älter" + +#: ../../include/text.php:507 +msgid "newer" +msgstr "neuer" -#: ../../include/zot.php:2320 +#: ../../include/text.php:922 +msgid "No connections" +msgstr "Keine Verbindungen" + +#: ../../include/text.php:947 #, php-format -msgid "Unable to verify site signature for %s" -msgstr "Kann die Signatur der Seite von %s nicht verifizieren" +msgid "View all %s connections" +msgstr "Alle Verbindungen von %s anzeigen" -#: ../../include/zot.php:3718 -msgid "invalid target signature" -msgstr "Ungültige Signatur des Ziels" +#: ../../include/text.php:1092 ../../include/text.php:1097 +msgid "poke" +msgstr "anstupsen" -#: ../../include/items.php:837 ../../include/items.php:882 -msgid "(Unknown)" -msgstr "(Unbekannt)" +#: ../../include/text.php:1098 +msgid "ping" +msgstr "anpingen" -#: ../../include/items.php:1080 -msgid "Visible to anybody on the internet." -msgstr "Für jeden im Internet sichtbar." +#: ../../include/text.php:1098 +msgid "pinged" +msgstr "pingte" -#: ../../include/items.php:1082 -msgid "Visible to you only." -msgstr "Nur für Dich sichtbar." +#: ../../include/text.php:1099 +msgid "prod" +msgstr "knuffen" -#: ../../include/items.php:1084 -msgid "Visible to anybody in this network." -msgstr "Für jedes $Projectname-Mitglied sichtbar." +#: ../../include/text.php:1099 +msgid "prodded" +msgstr "knuffte" -#: ../../include/items.php:1086 -msgid "Visible to anybody authenticated." -msgstr "Für jeden sichtbar, der angemeldet ist." +#: ../../include/text.php:1100 +msgid "slap" +msgstr "ohrfeigen" -#: ../../include/items.php:1088 -#, php-format -msgid "Visible to anybody on %s." -msgstr "Für jeden auf %s sichtbar." +#: ../../include/text.php:1100 +msgid "slapped" +msgstr "ohrfeigte" -#: ../../include/items.php:1090 -msgid "Visible to all connections." -msgstr "Für alle Verbindungen sichtbar." +#: ../../include/text.php:1101 +msgid "finger" +msgstr "befummeln" -#: ../../include/items.php:1092 -msgid "Visible to approved connections." -msgstr "Nur für akzeptierte Verbindungen sichtbar." +#: ../../include/text.php:1101 +msgid "fingered" +msgstr "befummelte" -#: ../../include/items.php:1094 -msgid "Visible to specific connections." -msgstr "Sichtbar für bestimmte Verbindungen." +#: ../../include/text.php:1102 +msgid "rebuff" +msgstr "eine Abfuhr erteilen" -#: ../../include/items.php:3892 -msgid "Privacy group is empty." -msgstr "Gruppe ist leer." +#: ../../include/text.php:1102 +msgid "rebuffed" +msgstr "zurückgewiesen" -#: ../../include/items.php:3899 -#, php-format -msgid "Privacy group: %s" -msgstr "Gruppe: %s" +#: ../../include/text.php:1114 +msgid "happy" +msgstr "glücklich" -#: ../../include/items.php:3911 -msgid "Connection not found." -msgstr "Die Verbindung wurde nicht gefunden." +#: ../../include/text.php:1115 +msgid "sad" +msgstr "traurig" -#: ../../include/items.php:4260 -msgid "profile photo" -msgstr "Profilfoto" +#: ../../include/text.php:1116 +msgid "mellow" +msgstr "sanft" -#: ../../include/items.php:4456 -#, php-format -msgid "[Edited %s]" -msgstr "[%s wurde bearbeitet]" +#: ../../include/text.php:1117 +msgid "tired" +msgstr "müde" -#: ../../include/items.php:4456 -msgctxt "edit_activity" -msgid "Post" -msgstr "Beitrag" +#: ../../include/text.php:1118 +msgid "perky" +msgstr "frech" -#: ../../include/items.php:4456 -msgctxt "edit_activity" -msgid "Comment" -msgstr "Kommentar" +#: ../../include/text.php:1119 +msgid "angry" +msgstr "sauer" -#: ../../include/auth.php:148 -msgid "Logged out." -msgstr "Ausgeloggt." +#: ../../include/text.php:1120 +msgid "stupefied" +msgstr "verblüfft" -#: ../../include/auth.php:275 -msgid "Failed authentication" -msgstr "Authentifizierung fehlgeschlagen" +#: ../../include/text.php:1121 +msgid "puzzled" +msgstr "verwirrt" -#: ../../include/activities.php:41 -msgid " and " -msgstr "und" +#: ../../include/text.php:1122 +msgid "interested" +msgstr "interessiert" -#: ../../include/activities.php:49 -msgid "public profile" -msgstr "öffentliches Profil" +#: ../../include/text.php:1123 +msgid "bitter" +msgstr "verbittert" -#: ../../include/activities.php:58 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" -msgstr "%1$s hat %2$s auf “%3$s” geändert" +#: ../../include/text.php:1124 +msgid "cheerful" +msgstr "fröhlich" -#: ../../include/activities.php:59 -#, php-format -msgid "Visit %1$s's %2$s" -msgstr "Besuche %1$s's %2$s" +#: ../../include/text.php:1125 +msgid "alive" +msgstr "lebendig" -#: ../../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/text.php:1126 +msgid "annoyed" +msgstr "verärgert" -#: ../../include/attach.php:248 ../../include/attach.php:336 -msgid "Item was not found." -msgstr "Beitrag wurde nicht gefunden." +#: ../../include/text.php:1127 +msgid "anxious" +msgstr "unruhig" -#: ../../include/attach.php:497 -msgid "No source file." -msgstr "Keine Quelldatei." +#: ../../include/text.php:1128 +msgid "cranky" +msgstr "schrullig" -#: ../../include/attach.php:519 -msgid "Cannot locate file to replace" -msgstr "Kann Datei zum Ersetzen nicht finden" +#: ../../include/text.php:1129 +msgid "disturbed" +msgstr "verstört" -#: ../../include/attach.php:537 -msgid "Cannot locate file to revise/update" -msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden" +#: ../../include/text.php:1130 +msgid "frustrated" +msgstr "frustriert" -#: ../../include/attach.php:668 -#, php-format -msgid "File exceeds size limit of %d" -msgstr "Datei überschreitet das Größen-Limit von %d" +#: ../../include/text.php:1131 +msgid "depressed" +msgstr "deprimiert" -#: ../../include/attach.php:682 -#, 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/text.php:1132 +msgid "motivated" +msgstr "motiviert" -#: ../../include/attach.php:852 -msgid "File upload failed. Possible system limit or action terminated." -msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess." +#: ../../include/text.php:1133 +msgid "relaxed" +msgstr "entspannt" -#: ../../include/attach.php:865 -msgid "Stored file could not be verified. Upload failed." -msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen." +#: ../../include/text.php:1134 +msgid "surprised" +msgstr "überrascht" -#: ../../include/attach.php:920 ../../include/attach.php:936 -msgid "Path not available." -msgstr "Pfad nicht verfügbar." +#: ../../include/text.php:1325 +msgid "May" +msgstr "Mai" -#: ../../include/attach.php:982 ../../include/attach.php:1140 -msgid "Empty pathname" -msgstr "Leere Pfadangabe" +#: ../../include/text.php:1402 ../../include/text.php:1406 +msgid "Unknown Attachment" +msgstr "Unbekannter Anhang" -#: ../../include/attach.php:1008 -msgid "duplicate filename or path" -msgstr "doppelter Dateiname oder Pfad" +#: ../../include/text.php:1408 +msgid "unknown" +msgstr "unbekannt" -#: ../../include/attach.php:1030 -msgid "Path not found." -msgstr "Pfad nicht gefunden." +#: ../../include/text.php:1444 +msgid "remove category" +msgstr "Kategorie entfernen" -#: ../../include/attach.php:1094 -msgid "mkdir failed." -msgstr "mkdir fehlgeschlagen." +#: ../../include/text.php:1521 +msgid "remove from file" +msgstr "aus der Datei entfernen" -#: ../../include/attach.php:1098 -msgid "database storage failed." -msgstr "Speichern in der Datenbank fehlgeschlagen." +#: ../../include/text.php:1791 +msgid "Page layout" +msgstr "Seiten-Layout" -#: ../../include/attach.php:1146 -msgid "Empty path" -msgstr "Leere Pfadangabe" +#: ../../include/text.php:1791 +msgid "You can create your own with the layouts tool" +msgstr "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen" -#: ../../include/event.php:22 ../../include/event.php:69 -#: ../../include/bb2diaspora.php:498 -msgid "l F d, Y \\@ g:i A" -msgstr "l, d. F Y, H:i" +#: ../../include/text.php:1833 +msgid "Page content type" +msgstr "Art des Seiteninhalts" -#: ../../include/event.php:30 ../../include/event.php:73 -#: ../../include/bb2diaspora.php:504 -msgid "Starts:" -msgstr "Beginnt:" +#: ../../include/text.php:1966 +msgid "activity" +msgstr "Aktivität" -#: ../../include/event.php:40 ../../include/event.php:77 -#: ../../include/bb2diaspora.php:512 -msgid "Finishes:" -msgstr "Endet:" +#: ../../include/text.php:2280 +msgid "Design Tools" +msgstr "Gestaltungswerkzeuge" -#: ../../include/event.php:824 -msgid "This event has been added to your calendar." -msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt" +#: ../../include/text.php:2286 +msgid "Pages" +msgstr "Seiten" -#: ../../include/event.php:1024 -msgid "Not specified" -msgstr "Keine Angabe" +#: ../../include/text.php:2308 +msgid "Import website..." +msgstr "Webseite importieren..." -#: ../../include/event.php:1025 -msgid "Needs Action" -msgstr "Aktion erforderlich" +#: ../../include/text.php:2309 +msgid "Select folder to import" +msgstr "Ordner zum Importieren auswählen" -#: ../../include/event.php:1026 -msgid "Completed" -msgstr "Abgeschlossen" +#: ../../include/text.php:2310 +msgid "Import from a zipped folder:" +msgstr "Aus einem gezippten Ordner importieren:" -#: ../../include/event.php:1027 -msgid "In Process" -msgstr "In Bearbeitung" +#: ../../include/text.php:2311 +msgid "Import from cloud files:" +msgstr "Aus Cloud-Dateien importieren:" -#: ../../include/event.php:1028 -msgid "Cancelled" -msgstr "gestrichen" +#: ../../include/text.php:2312 +msgid "/cloud/channel/path/to/folder" +msgstr "/Cloud/Kanal/Pfad/zum/Ordner" -#: ../../include/follow.php:27 -msgid "Channel is blocked on this site." -msgstr "Der Kanal ist auf dieser Seite blockiert " +#: ../../include/text.php:2313 +msgid "Enter path to website files" +msgstr "Pfad zu Webseitendateien eingeben" -#: ../../include/follow.php:32 -msgid "Channel location missing." -msgstr "Adresse des Kanals fehlt." +#: ../../include/text.php:2314 +msgid "Select folder" +msgstr "Ordner auswählen" -#: ../../include/follow.php:80 -msgid "Response from remote channel was incomplete." -msgstr "Antwort des entfernten Kanals war unvollständig." +#: ../../include/text.php:2315 +msgid "Export website..." +msgstr "Webseite exportieren..." -#: ../../include/follow.php:97 -msgid "Channel was deleted and no longer exists." -msgstr "Kanal wurde gelöscht und existiert nicht mehr." +#: ../../include/text.php:2316 +msgid "Export to a zip file" +msgstr "In eine ZIP-Datei exportieren" -#: ../../include/follow.php:147 ../../include/follow.php:183 -msgid "Protocol disabled." -msgstr "Protokoll deaktiviert." +#: ../../include/text.php:2317 +msgid "website.zip" +msgstr "website.zip" -#: ../../include/follow.php:171 -msgid "Channel discovery failed." -msgstr "Kanalsuche fehlgeschlagen" +#: ../../include/text.php:2318 +msgid "Enter a name for the zip file." +msgstr "Geben Sie einen für die ZIP-Datei ein." -#: ../../include/follow.php:210 -msgid "Cannot connect to yourself." -msgstr "Du kannst Dich nicht mit Dir selbst verbinden." +#: ../../include/text.php:2319 +msgid "Export to cloud files" +msgstr "In Cloud-Dateien exportieren" -#: ../../include/group.php:26 -msgid "" -"A deleted group with this name was revived. Existing item permissions " -"<strong>may</strong> apply to this group and any future members. If this is " -"not what you intended, please create another group with a different name." -msgstr "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." +#: ../../include/text.php:2320 +msgid "/path/to/export/folder" +msgstr "/Pfad/zum/exportierenden/Ordner" -#: ../../include/group.php:248 -msgid "Add new connections to this privacy group" -msgstr "Neue Verbindung zu dieser Gruppe hinzufügen" +#: ../../include/text.php:2321 +msgid "Enter a path to a cloud files destination." +msgstr "Gib den Pfad zu einem Datei-Speicherort in der Cloud ein." -#: ../../include/group.php:289 -msgid "edit" -msgstr "Bearbeiten" +#: ../../include/text.php:2322 +msgid "Specify folder" +msgstr "Ordner angeben" -#: ../../include/group.php:312 -msgid "Edit group" -msgstr "Gruppe ändern" +#: ../../include/nav.php:88 +msgid "Remote authentication" +msgstr "Ãœber Konto auf anderem Server einloggen" -#: ../../include/group.php:313 -msgid "Add privacy group" -msgstr "Gruppe hinzufügen" +#: ../../include/nav.php:88 +msgid "Click to authenticate to your home hub" +msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren" -#: ../../include/group.php:314 -msgid "Channels not in any privacy group" -msgstr "Kanäle, die in keiner Gruppe sind" +#: ../../include/nav.php:99 ../../include/nav.php:140 ../../boot.php:1731 +msgid "Logout" +msgstr "Abmelden" -#: ../../include/group.php:316 ../../include/widgets.php:284 -msgid "add" -msgstr "hinzufügen" +#: ../../include/nav.php:99 ../../include/nav.php:140 +msgid "End this session" +msgstr "Beende diese Sitzung" -#: ../../include/language.php:380 -msgid "Select an alternate language" -msgstr "Wähle eine alternative Sprache" +#: ../../include/nav.php:103 +msgid "Your profile page" +msgstr "Deine Profilseite" -#: ../../include/photos.php:115 -#, php-format -msgid "Image exceeds website size limit of %lu bytes" -msgstr "Bild überschreitet das Webseitenlimit von %lu Bytes" +#: ../../include/nav.php:105 +msgid "Manage/Edit profiles" +msgstr "Profile verwalten" -#: ../../include/photos.php:122 -msgid "Image file is empty." -msgstr "Bilddatei ist leer." +#: ../../include/nav.php:107 +msgid "Edit your profile" +msgstr "Profil bearbeiten" -#: ../../include/photos.php:260 -msgid "Photo storage failed." -msgstr "Fotospeicherung fehlgeschlagen." +#: ../../include/nav.php:130 +msgid "Sign in" +msgstr "Anmelden" -#: ../../include/photos.php:300 -msgid "a new photo" -msgstr "ein neues Foto" +#: ../../include/nav.php:155 +msgid "Get me home" +msgstr "Bringe mich nach Hause (eigener Kanal)" -#: ../../include/photos.php:304 -#, php-format -msgctxt "photo_upload" -msgid "%1$s posted %2$s to %3$s" -msgstr "%1$s hat %2$s auf %3$s veröffentlicht" +#: ../../include/nav.php:157 +msgid "Log me out of this site" +msgstr "Logge mich von dieser Seite aus" -#: ../../include/photos.php:507 ../../include/conversation.php:1695 -msgid "Photo Albums" -msgstr "Fotoalben" +#: ../../include/nav.php:162 +msgid "Create an account" +msgstr "Erzeuge ein Konto" -#: ../../include/photos.php:511 -msgid "Upload New Photos" -msgstr "Neue Fotos hochladen" +#: ../../include/nav.php:174 +msgid "Help and documentation" +msgstr "Hilfe und Dokumentation" -#: ../../include/widgets.php:103 -msgid "System" -msgstr "System" +#: ../../include/nav.php:178 +msgid "Applications, utilities, links, games" +msgstr "Anwendungen (Apps), Zubehör, Links, Spiele" -#: ../../include/widgets.php:106 -msgid "New App" -msgstr "Neue App" +#: ../../include/nav.php:180 +msgid "Search site @name, #tag, ?docs, content" +msgstr "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt" -#: ../../include/widgets.php:154 -msgid "Suggestions" -msgstr "Vorschläge" +#: ../../include/nav.php:182 +msgid "Channel Directory" +msgstr "Kanal-Verzeichnis" -#: ../../include/widgets.php:155 -msgid "See more..." -msgstr "Mehr anzeigen …" +#: ../../include/nav.php:194 +msgid "Your grid" +msgstr "Dein Grid" -#: ../../include/widgets.php:175 -#, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." -msgstr "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen." +#: ../../include/nav.php:195 +msgid "View your network/grid" +msgstr "Zeige Dein Netzwerk/Grid an" -#: ../../include/widgets.php:181 -msgid "Add New Connection" -msgstr "Neue Verbindung hinzufügen" +#: ../../include/nav.php:196 +msgid "Mark all grid notifications seen" +msgstr "Alle Grid-Benachrichtigungen als angesehen markieren" -#: ../../include/widgets.php:182 -msgid "Enter channel address" -msgstr "Adresse des Kanals eingeben" +#: ../../include/nav.php:198 +msgid "Channel home" +msgstr "Mein Kanal" -#: ../../include/widgets.php:183 -msgid "Examples: bob@example.com, https://example.com/barbara" -msgstr "Beispiele: bob@beispiel.com, http://beispiel.com/barbara" +#: ../../include/nav.php:199 +msgid "View your channel home" +msgstr "Zeige Deine Kanalseite an" -#: ../../include/widgets.php:199 -msgid "Notes" -msgstr "Notizen" +#: ../../include/nav.php:200 +msgid "Mark all channel notifications seen" +msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen" -#: ../../include/widgets.php:275 -msgid "Remove term" -msgstr "Eintrag löschen" +#: ../../include/nav.php:206 +msgid "Notices" +msgstr "Benachrichtigungen" -#: ../../include/widgets.php:390 -msgid "Archives" -msgstr "Archive" +#: ../../include/nav.php:206 +msgid "Notifications" +msgstr "Benachrichtigungen" -#: ../../include/widgets.php:552 -msgid "Refresh" -msgstr "Aktualisieren" +#: ../../include/nav.php:207 +msgid "View all notifications" +msgstr "Alle Benachrichtigungen ansehen" -#: ../../include/widgets.php:592 -msgid "Account settings" -msgstr "Konto-Einstellungen" +#: ../../include/nav.php:210 +msgid "Private mail" +msgstr "Persönliche Mail" -#: ../../include/widgets.php:598 -msgid "Channel settings" -msgstr "Kanal-Einstellungen" +#: ../../include/nav.php:211 +msgid "View your private messages" +msgstr "Zeige Deine persönlichen Nachrichten an" -#: ../../include/widgets.php:607 -msgid "Additional features" -msgstr "Zusätzliche Funktionen" +#: ../../include/nav.php:212 +msgid "Mark all private messages seen" +msgstr "Markiere alle persönlichen Nachrichten als gesehen" -#: ../../include/widgets.php:614 -msgid "Feature/Addon settings" -msgstr "Plugin-Einstellungen" +#: ../../include/nav.php:218 +msgid "Event Calendar" +msgstr "Terminkalender" -#: ../../include/widgets.php:620 -msgid "Display settings" -msgstr "Anzeige-Einstellungen" +#: ../../include/nav.php:219 +msgid "View events" +msgstr "Termine ansehen" -#: ../../include/widgets.php:627 -msgid "Manage locations" -msgstr "Klon-Adressen verwalten" +#: ../../include/nav.php:220 +msgid "Mark all events seen" +msgstr "Markiere alle Termine als gesehen" -#: ../../include/widgets.php:634 -msgid "Export channel" -msgstr "Kanal exportieren" +#: ../../include/nav.php:223 +msgid "Manage Your Channels" +msgstr "Verwalte Deine Kanäle" -#: ../../include/widgets.php:640 -msgid "Connected apps" -msgstr "Verbundene Apps" +#: ../../include/nav.php:225 +msgid "Account/Channel Settings" +msgstr "Konto-/Kanal-Einstellungen" -#: ../../include/widgets.php:664 -msgid "Premium Channel Settings" -msgstr "Premium-Kanal-Einstellungen" +#: ../../include/nav.php:233 +msgid "Site Setup and Configuration" +msgstr "Seiten-Einrichtung und -Konfiguration" -#: ../../include/widgets.php:693 -msgid "Private Mail Menu" -msgstr "Private Nachrichten" +#: ../../include/nav.php:288 +msgid "Documentation" +msgstr "Dokumentation" -#: ../../include/widgets.php:695 -msgid "Combined View" -msgstr "Kombinierte Anzeige" +#: ../../include/nav.php:297 +msgid "@name, #tag, ?doc, content" +msgstr "@Name, #Schlagwort, ?Dokumentation, Inhalt" -#: ../../include/widgets.php:727 ../../include/widgets.php:739 -msgid "Conversations" -msgstr "Konversationen" +#: ../../include/nav.php:298 +msgid "Please wait..." +msgstr "Bitte warten..." -#: ../../include/widgets.php:731 -msgid "Received Messages" -msgstr "Erhaltene Nachrichten" +#: ../../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/widgets.php:735 -msgid "Sent Messages" -msgstr "Gesendete Nachrichten" +#: ../../include/import.php:90 +msgid "Channel clone failed. Import failed." +msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen." -#: ../../include/widgets.php:749 -msgid "No messages." -msgstr "Keine Nachrichten." +#: ../../include/import.php:100 +msgid "Cloned channel not found. Import failed." +msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen." -#: ../../include/widgets.php:767 -msgid "Delete conversation" -msgstr "Unterhaltung löschen" +#: ../../include/import.php:1373 +msgid "Unable to import element \"" +msgstr "Element konnte nicht importiert werden." -#: ../../include/widgets.php:793 -msgid "Events Tools" -msgstr "Kalenderwerkzeuge" +#: ../../include/auth.php:148 +msgid "Logged out." +msgstr "Ausgeloggt." -#: ../../include/widgets.php:794 -msgid "Export Calendar" -msgstr "Kalender exportieren" +#: ../../include/auth.php:275 +msgid "Failed authentication" +msgstr "Authentifizierung fehlgeschlagen" -#: ../../include/widgets.php:795 -msgid "Import Calendar" -msgstr "Kalender importieren" +#: ../../include/follow.php:26 +msgid "Channel is blocked on this site." +msgstr "Der Kanal ist auf dieser Seite blockiert " -#: ../../include/widgets.php:883 ../../include/conversation.php:1722 -#: ../../include/conversation.php:1725 -msgid "Chatrooms" -msgstr "Chaträume" +#: ../../include/follow.php:31 +msgid "Channel location missing." +msgstr "Adresse des Kanals fehlt." -#: ../../include/widgets.php:887 -msgid "Overview" -msgstr "Ãœbersicht" +#: ../../include/follow.php:73 +msgid "Response from remote channel was incomplete." +msgstr "Antwort des entfernten Kanals war unvollständig." -#: ../../include/widgets.php:894 -msgid "Chat Members" -msgstr "Chatmitglieder" +#: ../../include/follow.php:90 +msgid "Channel was deleted and no longer exists." +msgstr "Kanal wurde gelöscht und existiert nicht mehr." -#: ../../include/widgets.php:960 -msgid "Wiki List" -msgstr "Wikiliste" +#: ../../include/follow.php:140 ../../include/follow.php:175 +msgid "Protocol disabled." +msgstr "Protokoll deaktiviert." -#: ../../include/widgets.php:968 -msgid "Create new wiki" -msgstr "Neues Wiki erstellen" +#: ../../include/follow.php:163 +msgid "Channel discovery failed." +msgstr "Kanalsuche fehlgeschlagen" -#: ../../include/widgets.php:978 -msgid "Send notification" -msgstr "Benachrichtigung senden" +#: ../../include/follow.php:202 +msgid "Cannot connect to yourself." +msgstr "Du kannst Dich nicht mit Dir selbst verbinden." -#: ../../include/widgets.php:1014 -msgid "Wiki Pages" -msgstr "Wikiseiten" +#: ../../include/activities.php:41 +msgid " and " +msgstr "und" -#: ../../include/widgets.php:1019 -msgid "Add new page" -msgstr "Neue Seite hinzufügen" +#: ../../include/activities.php:49 +msgid "public profile" +msgstr "öffentliches Profil" -#: ../../include/widgets.php:1020 -msgid "Page name" -msgstr "Seitenname" +#: ../../include/activities.php:58 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "%1$s hat %2$s auf “%3$s” geändert" -#: ../../include/widgets.php:1052 -msgid "Bookmarked Chatrooms" -msgstr "Gespeicherte Chatrooms" +#: ../../include/activities.php:59 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "Besuche %1$s's %2$s" -#: ../../include/widgets.php:1083 -msgid "Suggested Chatrooms" -msgstr "Chatraum-Vorschläge" +#: ../../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/widgets.php:1228 ../../include/widgets.php:1340 -msgid "photo/image" -msgstr "Foto/Bild" +#: ../../include/bbcode.php:134 ../../include/bbcode.php:1040 +#: ../../include/bbcode.php:1043 ../../include/bbcode.php:1048 +#: ../../include/bbcode.php:1051 ../../include/bbcode.php:1054 +#: ../../include/bbcode.php:1057 ../../include/bbcode.php:1062 +#: ../../include/bbcode.php:1065 ../../include/bbcode.php:1070 +#: ../../include/bbcode.php:1073 ../../include/bbcode.php:1076 +#: ../../include/bbcode.php:1079 +msgid "Image/photo" +msgstr "Bild/Foto" -#: ../../include/widgets.php:1283 -msgid "Click to show more" -msgstr "Klick, um mehr anzuzeigen" +#: ../../include/bbcode.php:173 ../../include/bbcode.php:1090 +msgid "Encrypted content" +msgstr "Verschlüsselter Inhalt" -#: ../../include/widgets.php:1434 -msgid "Rating Tools" -msgstr "Bewertungswerkzeuge" +#: ../../include/bbcode.php:189 +#, php-format +msgid "Install %s element: " +msgstr "Element %s installieren: " -#: ../../include/widgets.php:1438 ../../include/widgets.php:1440 -msgid "Rate Me" -msgstr "Bewerte mich" +#: ../../include/bbcode.php:193 +#, 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." -#: ../../include/widgets.php:1443 -msgid "View Ratings" -msgstr "Bewertungen ansehen" +#: ../../include/bbcode.php:272 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" +msgstr "%1$s schrieb den folgenden %2$s %3$s" -#: ../../include/widgets.php:1536 -msgid "Forums" -msgstr "Foren" +#: ../../include/bbcode.php:349 ../../include/bbcode.php:357 +msgid "Click to open/close" +msgstr "Klicke zum Öffnen/Schließen" -#: ../../include/widgets.php:1565 -msgid "Tasks" -msgstr "Aufgaben" +#: ../../include/bbcode.php:357 +msgid "spoiler" +msgstr "Spoiler" -#: ../../include/widgets.php:1576 -msgid "Documentation" -msgstr "Dokumentation" +#: ../../include/bbcode.php:1028 +msgid "$1 wrote:" +msgstr "$1 schrieb:" -#: ../../include/widgets.php:1632 ../../include/widgets.php:1670 -msgid "Member registrations waiting for confirmation" -msgstr "Nutzer-Anmeldungen, die auf Bestätigung warten" +#: ../../include/bookmarks.php:34 +#, php-format +msgid "%1$s's bookmarks" +msgstr "%1$ss Lesezeichen" -#: ../../include/widgets.php:1638 -msgid "Inspect queue" -msgstr "Warteschlange kontrollieren" +#: ../../include/group.php:26 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." +msgstr "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." -#: ../../include/widgets.php:1640 -msgid "DB updates" -msgstr "DB-Aktualisierungen" +#: ../../include/group.php:268 +msgid "Add new connections to this privacy group" +msgstr "Neue Verbindung zu dieser Gruppe hinzufügen" -#: ../../include/widgets.php:1666 -msgid "Plugin Features" -msgstr "Plug-In Funktionen" +#: ../../include/group.php:309 +msgid "edit" +msgstr "Bearbeiten" -#: ../../include/acl_selectors.php:198 -msgid "Who can see this?" -msgstr "Wer kann das sehen?" +#: ../../include/group.php:331 ../../include/features.php:292 +msgid "Privacy Groups" +msgstr "Gruppen" -#: ../../include/acl_selectors.php:199 -msgid "Custom selection" -msgstr "Benutzerdefinierte Auswahl" +#: ../../include/group.php:332 +msgid "Edit group" +msgstr "Gruppe ändern" -#: ../../include/acl_selectors.php:200 -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/group.php:333 +msgid "Add privacy group" +msgstr "Gruppe hinzufügen" -#: ../../include/acl_selectors.php:201 -msgid "Show" -msgstr "Anzeigen" +#: ../../include/group.php:334 +msgid "Channels not in any privacy group" +msgstr "Kanäle, die in keiner Gruppe sind" -#: ../../include/acl_selectors.php:202 -msgid "Don't show" -msgstr "Nicht anzeigen" +#: ../../include/event.php:863 +msgid "This event has been added to your calendar." +msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt" + +#: ../../include/event.php:1063 +msgid "Not specified" +msgstr "Keine Angabe" -#: ../../include/acl_selectors.php:235 +#: ../../include/event.php:1064 +msgid "Needs Action" +msgstr "Aktion erforderlich" + +#: ../../include/event.php:1065 +msgid "Completed" +msgstr "Abgeschlossen" + +#: ../../include/event.php:1066 +msgid "In Process" +msgstr "In Bearbeitung" + +#: ../../include/event.php:1067 +msgid "Cancelled" +msgstr "gestrichen" + +#: ../../include/items.php:841 ../../include/items.php:888 +msgid "(Unknown)" +msgstr "(Unbekannt)" + +#: ../../include/items.php:1089 +msgid "Visible to anybody on the internet." +msgstr "Für jeden im Internet sichtbar." + +#: ../../include/items.php:1091 +msgid "Visible to you only." +msgstr "Nur für Dich sichtbar." + +#: ../../include/items.php:1093 +msgid "Visible to anybody in this network." +msgstr "Für jedes $Projectname-Mitglied sichtbar." + +#: ../../include/items.php:1095 +msgid "Visible to anybody authenticated." +msgstr "Für jeden sichtbar, der angemeldet ist." + +#: ../../include/items.php:1097 #, 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." +msgid "Visible to anybody on %s." +msgstr "Für jeden auf %s sichtbar." -#: ../../include/oembed.php:312 -msgid " by " -msgstr "von" +#: ../../include/items.php:1099 +msgid "Visible to all connections." +msgstr "Für alle Verbindungen sichtbar." -#: ../../include/oembed.php:313 -msgid " on " -msgstr "am" +#: ../../include/items.php:1101 +msgid "Visible to approved connections." +msgstr "Nur für akzeptierte Verbindungen sichtbar." -#: ../../include/oembed.php:342 -msgid "Embedded content" -msgstr "Eingebetteter Inhalt" +#: ../../include/items.php:1103 +msgid "Visible to specific connections." +msgstr "Sichtbar für bestimmte Verbindungen." -#: ../../include/oembed.php:351 -msgid "Embedding disabled" -msgstr "Einbetten deaktiviert" +#: ../../include/items.php:3915 +msgid "Privacy group is empty." +msgstr "Gruppe ist leer." -#: ../../include/bb2diaspora.php:403 -msgid "Attachments:" -msgstr "Anhänge:" +#: ../../include/items.php:3922 +#, php-format +msgid "Privacy group: %s" +msgstr "Gruppe: %s" -#: ../../include/bb2diaspora.php:500 -msgid "$Projectname event notification:" -msgstr "$Projectname-Terminbenachrichtigung:" +#: ../../include/items.php:3934 +msgid "Connection not found." +msgstr "Die Verbindung wurde nicht gefunden." + +#: ../../include/items.php:4283 +msgid "profile photo" +msgstr "Profilfoto" + +#: ../../include/items.php:4479 +#, php-format +msgid "[Edited %s]" +msgstr "[%s wurde bearbeitet]" + +#: ../../include/items.php:4479 +msgctxt "edit_activity" +msgid "Post" +msgstr "Beitrag" + +#: ../../include/items.php:4479 +msgctxt "edit_activity" +msgid "Comment" +msgstr "Kommentar" #: ../../include/permissions.php:35 msgid "Can view my normal stream and posts" @@ -12878,322 +13255,318 @@ 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/conversation.php:204 -#, php-format -msgid "%1$s is now connected with %2$s" -msgstr "%1$s ist jetzt mit %2$s verbunden" +#: ../../include/features.php:58 +msgid "General Features" +msgstr "Allgemeine Funktionen" -#: ../../include/conversation.php:239 -#, php-format -msgid "%1$s poked %2$s" -msgstr "%1$s stupste %2$s an" +#: ../../include/features.php:63 +msgid "Multiple Profiles" +msgstr "Mehrfachprofile" -#: ../../include/conversation.php:710 -#, php-format -msgid "View %s's profile @ %s" -msgstr "%ss Profil auf %s ansehen" +#: ../../include/features.php:64 +msgid "Ability to create multiple profiles" +msgstr "Ermöglicht das Anlegen mehrerer Profile pro Kanal" -#: ../../include/conversation.php:729 -msgid "Categories:" -msgstr "Kategorien:" +#: ../../include/features.php:72 +msgid "Advanced Profiles" +msgstr "Erweiterte Profile" -#: ../../include/conversation.php:730 -msgid "Filed under:" -msgstr "Gespeichert unter:" +#: ../../include/features.php:73 +msgid "Additional profile sections and selections" +msgstr "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung" -#: ../../include/conversation.php:755 -msgid "View in context" -msgstr "Im Zusammenhang anschauen" +#: ../../include/features.php:81 +msgid "Profile Import/Export" +msgstr "Profil-Import/Export" -#: ../../include/conversation.php:865 -msgid "remove" -msgstr "lösche" +#: ../../include/features.php:82 +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/conversation.php:870 -msgid "Delete Selected Items" -msgstr "Lösche die ausgewählten Elemente" +#: ../../include/features.php:90 +msgid "Web Pages" +msgstr "Webseiten" -#: ../../include/conversation.php:963 -msgid "View Source" -msgstr "Quelle anzeigen" +#: ../../include/features.php:91 +msgid "Provide managed web pages on your channel" +msgstr "Ermöglicht das Erstellen von Webseiten in Deinem Kanal" -#: ../../include/conversation.php:964 -msgid "Follow Thread" -msgstr "Unterhaltung folgen" +#: ../../include/features.php:100 +msgid "Provide a wiki for your channel" +msgstr "Stelle ein Wiki in Deinem Kanal zur Verfügung" -#: ../../include/conversation.php:965 -msgid "Unfollow Thread" -msgstr "Unterhaltung nicht mehr folgen" +#: ../../include/features.php:117 +msgid "Private Notes" +msgstr "Private Notizen" -#: ../../include/conversation.php:970 -msgid "Activity/Posts" -msgstr "Aktivitäten/Beiträge" +#: ../../include/features.php:118 +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/conversation.php:972 -msgid "Edit Connection" -msgstr "Verbindung bearbeiten" +#: ../../include/features.php:126 +msgid "Navigation Channel Select" +msgstr "Kanal-Auswahl in der Navigationsleiste" -#: ../../include/conversation.php:973 -msgid "Message" -msgstr "Nachricht" +#: ../../include/features.php:127 +msgid "Change channels directly from within the navigation dropdown menu" +msgstr "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü" -#: ../../include/conversation.php:1093 -#, php-format -msgid "%s likes this." -msgstr "%s gefällt das." +#: ../../include/features.php:135 +msgid "Photo Location" +msgstr "Aufnahmeort" -#: ../../include/conversation.php:1093 -#, php-format -msgid "%s doesn't like this." -msgstr "%s gefällt das nicht." +#: ../../include/features.php:136 +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/conversation.php:1097 -#, 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/features.php:144 +msgid "Access Controlled Chatrooms" +msgstr "Zugriffskontrollierte Chaträume" -#: ../../include/conversation.php:1099 -#, 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/features.php:145 +msgid "Provide chatrooms and chat services with access control." +msgstr "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an." -#: ../../include/conversation.php:1105 -msgid "and" -msgstr "und" +#: ../../include/features.php:154 +msgid "Provide alternate connection permission roles." +msgstr "Stelle benutzerdefinierte Berechtigungsrollen für Verbindungen zur Verfügung." -#: ../../include/conversation.php:1108 -#, php-format -msgid ", and %d other people" -msgid_plural ", and %d other people" -msgstr[0] "" -msgstr[1] ", und %d andere" +#: ../../include/features.php:162 +msgid "Smart Birthdays" +msgstr "Smarte Geburtstage" -#: ../../include/conversation.php:1109 -#, php-format -msgid "%s like this." -msgstr "%s gefällt das." +#: ../../include/features.php:163 +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/conversation.php:1109 -#, php-format -msgid "%s don't like this." -msgstr "%s gefällt das nicht." +#: ../../include/features.php:171 +msgid "Event Timezone Selection" +msgstr "Termin-Zeitzonenauswahl" -#: ../../include/conversation.php:1152 -msgid "Set your location" -msgstr "Standort" +#: ../../include/features.php:172 +msgid "Allow event creation in timezones other than your own." +msgstr "" -#: ../../include/conversation.php:1153 -msgid "Clear browser location" -msgstr "Browser-Standort löschen" +#: ../../include/features.php:180 +msgid "Advanced Directory Search" +msgstr "Erweiterte Verzeichnissuche" -#: ../../include/conversation.php:1201 -msgid "Tag term:" -msgstr "Schlagwort:" +#: ../../include/features.php:181 +msgid "Allows creation of complex directory search queries" +msgstr "Ermöglicht die Erstellung komplexer Verzeichnis-Suchabfragen" -#: ../../include/conversation.php:1202 -msgid "Where are you right now?" -msgstr "Wo bist Du jetzt grade?" +#: ../../include/features.php:189 +msgid "Advanced Theme and Layout Settings" +msgstr "Erweiterte Design- und Layout-Einstellungen" -#: ../../include/conversation.php:1211 -msgid "Comments enabled" -msgstr "Kommentare aktiviert" +#: ../../include/features.php:190 +msgid "Allows fine tuning of themes and page layouts" +msgstr "Erlaubt die Feineinstellung von Designs und Seitenlayouts" -#: ../../include/conversation.php:1212 -msgid "Comments disabled" -msgstr "Kommentare deaktiviert" +#: ../../include/features.php:200 +msgid "Post Composition Features" +msgstr "Nachbearbeitungsfunktionen" -#: ../../include/conversation.php:1250 -msgid "Page link name" -msgstr "Link zur Seite" +#: ../../include/features.php:204 +msgid "Large Photos" +msgstr "Große Fotos" -#: ../../include/conversation.php:1253 -msgid "Post as" -msgstr "Veröffentlichen als" +#: ../../include/features.php:205 +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/conversation.php:1267 -msgid "Toggle voting" -msgstr "Umfragewerkzeug aktivieren" +#: ../../include/features.php:214 +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/conversation.php:1270 -msgid "Disable comments" +#: ../../include/features.php:222 +msgid "Even More Encryption" +msgstr "Noch mehr Verschlüsselung" + +#: ../../include/features.php:223 +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/features.php:231 +msgid "Enable Voting Tools" +msgstr "Umfragewerkzeuge aktivieren" + +#: ../../include/features.php:232 +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/features.php:240 +msgid "Disable Comments" msgstr "Kommentare deaktivieren" -#: ../../include/conversation.php:1271 -msgid "Toggle comments" -msgstr "Kommentare umschalten" +#: ../../include/features.php:241 +msgid "Provide the option to disable comments for a post" +msgstr "Ermöglicht, die Kommentarfunktion für einzelne Beiträge abzuschalten" -#: ../../include/conversation.php:1279 -msgid "Categories (optional, comma-separated list)" -msgstr "Kategorien (optional, kommagetrennte Liste)" +#: ../../include/features.php:249 +msgid "Delayed Posting" +msgstr "Verzögertes Senden" -#: ../../include/conversation.php:1302 -msgid "Other networks and post services" -msgstr "Andere Netzwerke und Platformen" +#: ../../include/features.php:250 +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/conversation.php:1308 -msgid "Set publish date" -msgstr "Veröffentlichungsdatum festlegen" +#: ../../include/features.php:258 +msgid "Content Expiration" +msgstr "Verfall von Inhalten" -#: ../../include/conversation.php:1562 -msgid "Discover" -msgstr "Entdecken" +#: ../../include/features.php:259 +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/conversation.php:1565 -msgid "Imported public streams" -msgstr "Importierte öffentliche Beiträge" +#: ../../include/features.php:267 +msgid "Suppress Duplicate Posts/Comments" +msgstr "Doppelte Beiträge unterdrücken" -#: ../../include/conversation.php:1570 -msgid "Commented Order" -msgstr "Neueste Kommentare" +#: ../../include/features.php:268 +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/conversation.php:1573 -msgid "Sort by Comment Date" -msgstr "Nach Kommentardatum sortiert" +#: ../../include/features.php:279 +msgid "Network and Stream Filtering" +msgstr "Netzwerk- und Stream-Filter" -#: ../../include/conversation.php:1577 -msgid "Posted Order" -msgstr "Neueste Beiträge" +#: ../../include/features.php:283 +msgid "Search by Date" +msgstr "Suche nach Datum" -#: ../../include/conversation.php:1580 -msgid "Sort by Post Date" -msgstr "Nach Beitragsdatum sortiert" +#: ../../include/features.php:284 +msgid "Ability to select posts by date ranges" +msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen" -#: ../../include/conversation.php:1588 -msgid "Posts that mention or involve you" -msgstr "Beiträge mit Beteiligung Deinerseits" +#: ../../include/features.php:293 +msgid "Enable management and selection of privacy groups" +msgstr "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren" -#: ../../include/conversation.php:1597 -msgid "Activity Stream - by date" -msgstr "Activity Stream – nach Datum sortiert" +#: ../../include/features.php:302 +msgid "Save search terms for re-use" +msgstr "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung" -#: ../../include/conversation.php:1603 -msgid "Starred" -msgstr "Markiert" +#: ../../include/features.php:310 +msgid "Network Personal Tab" +msgstr "Persönlicher Netzwerkreiter" -#: ../../include/conversation.php:1606 -msgid "Favourite Posts" -msgstr "Markierte Beiträge" +#: ../../include/features.php:311 +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/conversation.php:1613 -msgid "Spam" -msgstr "Spam" +#: ../../include/features.php:319 +msgid "Network New Tab" +msgstr "Netzwerkreiter Neu" -#: ../../include/conversation.php:1616 -msgid "Posts flagged as SPAM" -msgstr "Nachrichten, die als SPAM markiert wurden" +#: ../../include/features.php:320 +msgid "Enable tab to display all new Network activity" +msgstr "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt" -#: ../../include/conversation.php:1674 -msgid "Status Messages and Posts" -msgstr "Statusnachrichten und Beiträge" +#: ../../include/features.php:328 +msgid "Affinity Tool" +msgstr "Beziehungs-Tool" -#: ../../include/conversation.php:1683 -msgid "About" -msgstr "Ãœber" +#: ../../include/features.php:329 +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/conversation.php:1686 -msgid "Profile Details" -msgstr "Profil-Details" +#: ../../include/features.php:338 +msgid "Show friend and connection suggestions" +msgstr "Freund- und Verbindungsvorschläge anzeigen" -#: ../../include/conversation.php:1702 -msgid "Files and Storage" -msgstr "Dateien und Speicher" +#: ../../include/features.php:346 +msgid "Connection Filtering" +msgstr "Filter für Verbindungen" -#: ../../include/conversation.php:1738 -msgid "Saved Bookmarks" -msgstr "Gespeicherte Lesezeichen" +#: ../../include/features.php:347 +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/conversation.php:1748 -msgid "Manage Webpages" -msgstr "Webseiten verwalten" +#: ../../include/features.php:359 +msgid "Post/Comment Tools" +msgstr "Beitrag-/Kommentar-Tools" -#: ../../include/conversation.php:1813 -msgctxt "noun" -msgid "Attending" -msgid_plural "Attending" -msgstr[0] "Zusage" -msgstr[1] "Zusagen" +#: ../../include/features.php:363 +msgid "Community Tagging" +msgstr "Gemeinschaftliches Verschlagworten" -#: ../../include/conversation.php:1816 -msgctxt "noun" -msgid "Not Attending" -msgid_plural "Not Attending" -msgstr[0] "Absage" -msgstr[1] "Absagen" +#: ../../include/features.php:364 +msgid "Ability to tag existing posts" +msgstr "Ermöglicht das Verschlagworten existierender Beiträge" -#: ../../include/conversation.php:1819 -msgctxt "noun" -msgid "Undecided" -msgid_plural "Undecided" -msgstr[0] " Unentschlossen" -msgstr[1] "Unentschlossene" +#: ../../include/features.php:372 +msgid "Post Categories" +msgstr "Beitrags-Kategorien" -#: ../../include/conversation.php:1822 -msgctxt "noun" -msgid "Agree" -msgid_plural "Agrees" -msgstr[0] "Zustimmung" -msgstr[1] "Zustimmungen" +#: ../../include/features.php:373 +msgid "Add categories to your posts" +msgstr "Aktiviert Kategorien für Beiträge" -#: ../../include/conversation.php:1825 -msgctxt "noun" -msgid "Disagree" -msgid_plural "Disagrees" -msgstr[0] "Ablehnung" -msgstr[1] "Ablehnungen" +#: ../../include/features.php:381 +msgid "Emoji Reactions" +msgstr "Emoji Reaktionen" -#: ../../include/conversation.php:1828 -msgctxt "noun" -msgid "Abstain" -msgid_plural "Abstains" -msgstr[0] "Enthaltung" -msgstr[1] "Enthaltungen" +#: ../../include/features.php:382 +msgid "Add emoji reaction ability to posts" +msgstr "Aktiviert Emoji-Reaktionen für Beiträge" -#: ../../include/bbcode.php:134 ../../include/bbcode.php:962 -#: ../../include/bbcode.php:965 ../../include/bbcode.php:970 -#: ../../include/bbcode.php:973 ../../include/bbcode.php:976 -#: ../../include/bbcode.php:979 ../../include/bbcode.php:984 -#: ../../include/bbcode.php:987 ../../include/bbcode.php:992 -#: ../../include/bbcode.php:995 ../../include/bbcode.php:998 -#: ../../include/bbcode.php:1001 -msgid "Image/photo" -msgstr "Bild/Foto" +#: ../../include/features.php:391 +msgid "Ability to file posts under folders" +msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln" -#: ../../include/bbcode.php:173 ../../include/bbcode.php:1012 -msgid "Encrypted content" -msgstr "Verschlüsselter Inhalt" +#: ../../include/features.php:399 +msgid "Dislike Posts" +msgstr "Gefällt-mir-nicht-Beiträge" -#: ../../include/bbcode.php:189 -#, php-format -msgid "Install %s element: " -msgstr "Element %s installieren: " +#: ../../include/features.php:400 +msgid "Ability to dislike posts/comments" +msgstr "Aktiviert die „Gefällt mir nicht“-Schaltfläche" -#: ../../include/bbcode.php:193 -#, 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." +#: ../../include/features.php:408 +msgid "Star Posts" +msgstr "Beiträge mit Sternchen versehen" -#: ../../include/bbcode.php:272 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" -msgstr "%1$s schrieb den folgenden %2$s %3$s" +#: ../../include/features.php:409 +msgid "Ability to mark special posts with a star indicator" +msgstr "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol" -#: ../../include/bbcode.php:349 ../../include/bbcode.php:357 -msgid "Click to open/close" -msgstr "Klicke zum Öffnen/Schließen" +#: ../../include/features.php:417 +msgid "Tag Cloud" +msgstr "Schlagwort-Wolke" -#: ../../include/bbcode.php:357 -msgid "spoiler" -msgstr "Spoiler" +#: ../../include/features.php:418 +msgid "Provide a personal tag cloud on your channel page" +msgstr "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite" -#: ../../include/bbcode.php:950 -msgid "$1 wrote:" -msgstr "$1 schrieb:" +#: ../../include/features.php:430 +msgid "Premium Channel" +msgstr "Premium-Kanal" + +#: ../../include/features.php:431 +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/help.php:31 +msgid "Help:" +msgstr "Hilfe:" + +#: ../../include/help.php:63 +msgid "Not Found" +msgstr "Nicht gefunden" + +#: ../../util/nconfig.php:34 +msgid "Source channel not found." +msgstr "Quellkanal nicht gefunden." #: ../../view/theme/redbasic/php/config.php:9 msgid "Focus (Hubzilla default)" @@ -13327,66 +13700,54 @@ msgstr "Größe der Avatare von Themenstartern" msgid "Set size of followup author photos" msgstr "Größe der Avatare von Kommentatoren" -#: ../../boot.php:1175 -#, php-format -msgctxt "opensearch" -msgid "Search %1$s (%2$s)" -msgstr "Suche %1$s (%2$s)" - -#: ../../boot.php:1175 -msgctxt "opensearch" -msgid "$Projectname" -msgstr "$Projectname" - -#: ../../boot.php:1493 +#: ../../boot.php:1505 #, php-format msgid "Update %s failed. See error logs." msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen." -#: ../../boot.php:1496 +#: ../../boot.php:1508 #, php-format msgid "Update Error at %s" msgstr "Aktualisierungsfehler auf %s" -#: ../../boot.php:1700 -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:1712 +msgid "Create an account to access services and applications" +msgstr "Erstelle ein Konto, um auf Dienste und Anwendungen zugreifen zu können." -#: ../../boot.php:1721 +#: ../../boot.php:1734 msgid "Login/Email" msgstr "Anmelden/E-Mail" -#: ../../boot.php:1722 +#: ../../boot.php:1735 msgid "Password" msgstr "Kennwort" -#: ../../boot.php:1723 +#: ../../boot.php:1736 msgid "Remember me" msgstr "Angaben speichern" -#: ../../boot.php:1726 +#: ../../boot.php:1739 msgid "Forgot your password?" msgstr "Passwort vergessen?" -#: ../../boot.php:2287 +#: ../../boot.php:2300 msgid "toggle mobile" msgstr "auf/von mobile Ansicht wechseln" -#: ../../boot.php:2442 +#: ../../boot.php:2455 msgid "Website SSL certificate is not valid. Please correct." msgstr "Das SSL-Zertifikat der Website ist nicht gültig. Bitte beheben." -#: ../../boot.php:2445 +#: ../../boot.php:2458 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "[hubzilla] Website-SSL-Fehler für %s" -#: ../../boot.php:2562 +#: ../../boot.php:2577 msgid "Cron/Scheduled tasks not running." msgstr "Cron-Aufgaben laufen nicht." -#: ../../boot.php:2566 +#: ../../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 5d2a987ae..c01d28f13 100644 --- a/view/de/hstrings.php +++ b/view/de/hstrings.php @@ -28,7 +28,9 @@ App::$strings["Can view my connections"] = "Kann meine Verbindungen sehen"; App::$strings["Can view my file storage and photos"] = "Kann meine Datei- und Bilderordner sehen"; App::$strings["Can upload/modify my file storage and photos"] = "Kann in meine Datei- und Bilderordner hochladen/ändern"; App::$strings["Can view my channel webpages"] = "Kann die Webseiten meines Kanals sehen"; +App::$strings["Can view my wiki pages"] = "Kann meine Wiki-Seiten sehen"; App::$strings["Can create/edit my channel webpages"] = "Kann Webseiten in meinem Kanal erstellen/ändern"; +App::$strings["Can write to my wiki pages"] = "Kann meine Wiki-Seiten bearbeiten"; App::$strings["Can post on my channel (wall) page"] = "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"; App::$strings["Can comment on or like my posts"] = "Darf meine Beiträge kommentieren und mögen/nicht mögen"; App::$strings["Can send me private mail messages"] = "Kann mir private Nachrichten schicken"; @@ -62,16 +64,15 @@ App::$strings["WARNING:"] = "WARNUNG:"; App::$strings["Create new folder"] = "Neuen Ordner anlegen"; App::$strings["Upload file"] = "Datei hochladen"; App::$strings["Drop files here to immediately upload"] = "Dateien zum sofortigen Hochladen hier fallen lassen"; +App::$strings["Permission denied"] = "Keine Berechtigung"; App::$strings["Permission denied."] = "Berechtigung verweigert."; -App::$strings["Not Found"] = "Nicht gefunden"; App::$strings["Page not found."] = "Seite nicht gefunden."; -App::$strings["Permission denied"] = "Keine Berechtigung"; App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut."; App::$strings["Welcome %s. Remote authentication successful."] = "Willkommen %s. Entfernte Authentifizierung erfolgreich."; App::$strings["Requested profile is not available."] = "Das angefragte Profil ist nicht verfügbar."; 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["Public access denied."] = "Öffentlichen Zugriff verweigert."; +App::$strings["Item not found."] = "Element nicht gefunden."; 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."; @@ -103,118 +104,100 @@ App::$strings["Membership on this site is by invitation only."] = "Mitgliedschaf 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 Absenden des Formulars. Wenn Du auf eine Login-Seite zurückgeleitet wirst, prüfe bitte Deinen Posteingang auf neue Mails mit entsprechenden Hinweisen."; App::$strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen Fehler zurück: %1\$s"; -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["Connect"] = "Verbinden"; -App::$strings["No matches"] = "Keine Ãœbereinstimmungen"; -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["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden."; +App::$strings["Profile Photos"] = "Profilfotos"; +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"; +App::$strings["Delete Photo"] = "Foto löschen"; +App::$strings["No photos selected"] = "Keine Fotos ausgewählt"; +App::$strings["Access to this item is restricted."] = "Der Zugriff auf dieses Foto ist eingeschränkt."; +App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB von %2$.2f MB Foto-Speicher belegt."; +App::$strings["%1$.2f MB photo storage used."] = "%1$.2f MB Foto-Speicher belegt."; +App::$strings["Upload Photos"] = "Fotos hochladen"; +App::$strings["Enter an album name"] = "Namen für ein neues Album eingeben"; +App::$strings["or select an existing album (doubleclick)"] = "oder ein bereits vorhandenes auswählen (Doppelklick)"; +App::$strings["Create a status post for this upload"] = "Einen Statusbeitrag für diesen Upload erzeugen"; App::$strings["No"] = "Nein"; App::$strings["Yes"] = "Ja"; -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"] = "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["All"] = "Alle"; -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["Caption (optional):"] = "Beschriftung (optional):"; +App::$strings["Description (optional):"] = "Beschreibung (optional):"; +App::$strings["Permissions"] = "Berechtigungen"; App::$strings["Submit"] = "Absenden"; -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["Invalid message"] = "Ungültige Beitrags-ID (mid)"; -App::$strings["no results"] = "keine Ergebnisse"; -App::$strings["channel sync processed"] = "Kanal-Sync verarbeitet"; -App::$strings["queued"] = "zur Warteschlange hinzugefügt"; -App::$strings["posted"] = "zugestellt"; -App::$strings["accepted for delivery"] = "für Zustellung akzeptiert"; -App::$strings["updated"] = "aktualisiert"; -App::$strings["update ignored"] = "Aktualisierung ignoriert"; -App::$strings["permission denied"] = "Zugriff verweigert"; -App::$strings["recipient not found"] = "Empfänger nicht gefunden."; -App::$strings["mail recalled"] = "Mail widerrufen"; -App::$strings["duplicate mail received"] = "Doppelte Mail erhalten"; -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["Album name could not be decoded"] = "Albumname konnte nicht dekodiert werden"; +App::$strings["Contact Photos"] = "Kontakt-Bilder"; +App::$strings["Show Newest First"] = "Neueste zuerst anzeigen"; +App::$strings["Show Oldest First"] = "Älteste zuerst anzeigen"; +App::$strings["View Photo"] = "Foto ansehen"; +App::$strings["Edit Album"] = "Album bearbeiten"; +App::$strings["Permission denied. Access to this item may be restricted."] = "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."; +App::$strings["Photo not available"] = "Foto nicht verfügbar"; +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["Previous"] = "Voriges"; +App::$strings["View Full Size"] = "In voller Größe anzeigen"; +App::$strings["Next"] = "Nächste"; +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"; +App::$strings["Add a Tag"] = "Schlagwort hinzufügen"; +App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Beispiele: @ben, @Karl_Prester, @lieschen@example.com"; +App::$strings["Flag as adult in album view"] = "In der Albumansicht als nicht jugendfrei markieren"; +App::$strings["I like this (toggle)"] = "Mir gefällt das (Umschalter)"; +App::$strings["I don't like this (toggle)"] = "Mir gefällt das nicht (Umschalter)"; +App::$strings["Share"] = "Teilen"; +App::$strings["Please wait"] = "Bitte warten"; +App::$strings["This is you"] = "Das bist Du"; +App::$strings["Comment"] = "Kommentar"; +App::$strings["Preview"] = "Vorschau"; +App::$strings["__ctx:title__ Likes"] = "Gefällt mir"; +App::$strings["__ctx:title__ Dislikes"] = "Gefällt mir nicht"; +App::$strings["__ctx:title__ Agree"] = "Zustimmungen"; +App::$strings["__ctx:title__ Disagree"] = "Ablehnungen"; +App::$strings["__ctx:title__ Abstain"] = "Enthaltungen"; +App::$strings["__ctx:title__ Attending"] = "Zusagen"; +App::$strings["__ctx:title__ Not attending"] = "Absagen"; +App::$strings["__ctx:title__ Might attend"] = "Vielleicht"; +App::$strings["View all"] = "Alles anzeigen"; +App::$strings["__ctx:noun__ Like"] = array( + 0 => "Gefällt mir", + 1 => "Gefällt mir", +); +App::$strings["__ctx:noun__ Dislike"] = array( + 0 => "Gefällt nicht", + 1 => "Gefällt nicht", +); +App::$strings["Photo Tools"] = "Fotowerkzeuge"; +App::$strings["In This Photo:"] = "Auf diesem Foto:"; +App::$strings["Map"] = "Karte"; +App::$strings["__ctx:noun__ Likes"] = "Gefällt mir"; +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["Item not found"] = "Element nicht gefunden"; +App::$strings["Item is not editable"] = "Element kann nicht bearbeitet werden."; +App::$strings["Edit post"] = "Bearbeite Beitrag"; +App::$strings["__ctx:acl__ Profile"] = "Profil"; +App::$strings["network"] = "Netzwerk"; +App::$strings["RSS"] = "RSS"; +App::$strings["Documentation Search"] = "Suche in der Dokumentation"; +App::$strings["About"] = "Ãœber"; +App::$strings["Members"] = "Mitglieder"; +App::$strings["Administrators"] = "Administratoren"; +App::$strings["Developers"] = "Entwickler"; +App::$strings["Tutorials"] = "Tutorials"; +App::$strings["\$Projectname Documentation"] = "\$Projectname-Dokumentation"; +App::$strings["Contents"] = "Inhalt"; App::$strings["Bookmark added"] = "Lesezeichen hinzugefügt"; App::$strings["My Bookmarks"] = "Meine Lesezeichen"; App::$strings["My Connections Bookmarks"] = "Lesezeichen meiner Kontakte"; -App::$strings["network"] = "Netzwerk"; -App::$strings["RSS"] = "RSS"; -App::$strings["Location not found."] = "Klon nicht gefunden."; -App::$strings["Location lookup failed."] = "Nachschlagen des Kanal-Ortes fehlgeschlagen"; -App::$strings["Please select another location to become primary before removing the primary location."] = "Bitte mache einen anderen Kanal-Ort zum primären Ort, bevor Du den primären Ort löschst."; -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["Address"] = "Adresse"; -App::$strings["Primary"] = "Primär"; -App::$strings["Drop"] = "Löschen"; -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["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"; @@ -224,28 +207,45 @@ App::$strings["Potential connections will then see the following text before pro 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["# 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["Block Name"] = "Block-Name"; +App::$strings["Insert web link"] = "Link einfügen"; +App::$strings["Title (optional)"] = "Titel (optional)"; +App::$strings["Edit Block"] = "Block bearbeiten"; 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 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["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["Blocked"] = "Blockiert"; App::$strings["Ignored"] = "Ignoriert"; App::$strings["Hidden"] = "Versteckt"; App::$strings["Archived"] = "Archiviert"; App::$strings["New"] = "Neu"; +App::$strings["All"] = "Alle"; App::$strings["New Connections"] = "Neue Verbindungen"; App::$strings["Show pending (new) connections"] = "Ausstehende (neue) Verbindungsanfragen anzeigen"; App::$strings["All Connections"] = "Alle Verbindungen"; @@ -260,11 +260,13 @@ App::$strings["Edit connection"] = "Verbindung bearbeiten"; App::$strings["Delete connection"] = "Verbindung löschen"; App::$strings["Channel address"] = "Kanaladresse"; App::$strings["Network"] = "Netzwerk"; +App::$strings["Call"] = "Anruf"; 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"; App::$strings["Connections"] = "Verbindungen"; App::$strings["Search"] = "Suche"; @@ -298,43 +300,12 @@ 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["Administration"] = "Administration"; 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"; @@ -352,13 +323,6 @@ App::$strings["(In addition to basic fields)"] = "(zusätzlich zu notwendige Fel 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 />"; @@ -372,20 +336,26 @@ 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["Allow communications only from these sites"] = "Kommunikation nur von diesen Servern/Domains 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["Block communications from these sites"] = "Kommunikation von diesen Servern/Domains 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["Block embedded HTML from these domains"] = "Eingebettete HTML Inhalte von diesen Servern/Domains blockieren"; App::$strings["Theme settings updated."] = "Theme-Einstellungen aktualisiert."; App::$strings["No themes found."] = "Keine Theme gefunden."; +App::$strings["Disable"] = "Deaktivieren"; +App::$strings["Enable"] = "Aktivieren"; App::$strings["Screenshot"] = "Bildschirmfoto"; App::$strings["Themes"] = "Themes"; +App::$strings["Toggle"] = "Umschalten"; +App::$strings["Settings"] = "Einstellungen"; +App::$strings["Author: "] = "Autor: "; +App::$strings["Maintainer: "] = "Betreuer:"; App::$strings["[Experimental]"] = "[Experimentell]"; App::$strings["[Unsupported]"] = "[Nicht unterstützt]"; App::$strings["Password changed for account %d."] = "Passwort für Konto %d geändert."; @@ -416,6 +386,8 @@ App::$strings["Request date"] = "Antragsdatum"; App::$strings["Email"] = "E-Mail"; App::$strings["No registrations."] = "Keine Registrierungen."; 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"; @@ -449,6 +421,7 @@ 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"; @@ -543,28 +516,65 @@ 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["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["View"] = "Ansicht"; -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["Plugins"] = "Plug-Ins"; +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["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["Items tagged with: %s"] = "Beiträge mit Schlagwort: %s"; +App::$strings["Search results for: %s"] = "Suchergebnisse für: %s"; App::$strings["Layout Name"] = "Layout-Name"; App::$strings["Layout Description (Optional)"] = "Layout-Beschreibung (optional)"; App::$strings["Edit Layout"] = "Layout bearbeiten"; App::$strings["Page link"] = "Seiten-Link"; -App::$strings["Insert web link"] = "Link einfügen"; App::$strings["Edit Webpage"] = "Webseite bearbeiten"; -App::$strings["Photos"] = "Fotos"; -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["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["No such group"] = "Gruppe nicht gefunden"; App::$strings["No such channel"] = "Kanal nicht gefunden"; App::$strings["forum"] = "Forum"; @@ -582,6 +592,7 @@ 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"; @@ -598,33 +609,124 @@ 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"; -App::$strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional"; -App::$strings["Categories (optional, comma separated list)"] = "Kategorien (optional, kommagetrennte Liste)"; -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["Edit post"] = "Bearbeite Beitrag"; -App::$strings["Documentation Search"] = "Suche in der Dokumentation"; -App::$strings["\$Projectname Documentation"] = "\$Projectname-Dokumentation"; -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["Apps"] = "Apps"; +App::$strings["Location not found."] = "Klon nicht gefunden."; +App::$strings["Location lookup failed."] = "Nachschlagen des Kanal-Ortes fehlgeschlagen"; +App::$strings["Please select another location to become primary before removing the primary location."] = "Bitte mache einen anderen Kanal-Ort zum primären Ort, bevor Du den primären Ort löschst."; +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["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["View"] = "Ansicht"; +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["Open Individual Permissions section by default"] = "Öffne standardmäßig den Bereich für individuelle Berechtigungen"; +App::$strings["Affinity"] = "Beziehung"; +App::$strings["Open Set Affinity section by default"] = "Öffne standardmäßig den Bereich für Beziehungsgrad-Einstellungen"; +App::$strings["Me"] = "Ich"; +App::$strings["Family"] = "Familie"; +App::$strings["Friends"] = "Freunde"; +App::$strings["Acquaintances"] = "Bekannte"; +App::$strings["Filter"] = "Filter"; +App::$strings["Open Custom Filter section by default"] = "Öffne standardmäßig den Bereich für benutzerdefinierte Filter"; +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["Permission role"] = "Berechtigungsrolle"; +App::$strings["Add permission role"] = "Berechtigungsrolle hinzufügen"; +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["Details"] = "Details"; +App::$strings["Organisation"] = "Organisation"; +App::$strings["Title"] = "Titel"; +App::$strings["Phone"] = "Telefon"; +App::$strings["Instant messenger"] = "Sofortnachrichtendienst"; +App::$strings["Website"] = "Webseite"; +App::$strings["Note"] = "Hinweis"; +App::$strings["Mobile"] = "Mobil"; +App::$strings["Home"] = "Home"; +App::$strings["Work"] = "Arbeit"; +App::$strings["Add Contact"] = "Kontakt hinzufügen"; +App::$strings["Add Field"] = "Feld hinzufügen"; +App::$strings["P.O. Box"] = "Postfach"; +App::$strings["Additional"] = "Zusätzlich"; +App::$strings["Street"] = "Straße"; +App::$strings["Locality"] = "Ortschaft"; +App::$strings["Region"] = "Region"; +App::$strings["ZIP Code"] = "Postleitzahl"; +App::$strings["Country"] = "Land"; App::$strings["\$Projectname"] = "\$Projectname"; App::$strings["Welcome to %s"] = "Willkommen auf %s"; App::$strings["Permission Denied."] = "Zugriff verweigert."; App::$strings["File not found."] = "Datei nicht gefunden."; App::$strings["Edit file permissions"] = "Dateiberechtigungen bearbeiten"; -App::$strings["Permissions"] = "Berechtigungen"; App::$strings["Set/edit permissions"] = "Berechtigungen setzen/ändern"; App::$strings["Include all files and sub folders"] = "Alle Dateien und Unterverzeichnisse einbinden"; App::$strings["Return to file list"] = "Zurück zur Dateiliste"; @@ -633,71 +735,44 @@ 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["Public access denied."] = "Öffentlichen Zugriff verweigert."; -App::$strings["%d rating"] = array( - 0 => "%d Bewertung", - 1 => "%d Bewertungen", -); -App::$strings["Gender: "] = "Geschlecht:"; -App::$strings["Status: "] = "Status:"; -App::$strings["Homepage: "] = "Webseite:"; -App::$strings["Age:"] = "Alter:"; -App::$strings["Location:"] = "Ort:"; -App::$strings["Description:"] = "Beschreibung:"; -App::$strings["Hometown:"] = "Heimatstadt:"; -App::$strings["About:"] = "Ãœber:"; -App::$strings["Public Forum:"] = "Öffentliches Forum:"; -App::$strings["Keywords: "] = "Schlüsselwörter:"; -App::$strings["Don't suggest"] = "Nicht vorschlagen"; -App::$strings["Common connections:"] = "Gemeinsame Verbindungen:"; -App::$strings["Global Directory"] = "Globales Verzeichnis"; -App::$strings["Local Directory"] = "Lokales Verzeichnis"; -App::$strings["Finding:"] = "Ergebnisse:"; -App::$strings["Channel Suggestions"] = "Kanal-Vorschläge"; -App::$strings["next page"] = "nächste Seite"; -App::$strings["previous page"] = "vorherige Seite"; -App::$strings["Sort options"] = "Sortieroptionen"; -App::$strings["Alphabetic"] = "alphabetisch"; -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["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["toggle full screen mode"] = "auf Vollbildmodus umschalten"; -App::$strings["Channel added."] = "Kanal hinzugefügt."; -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["Photos"] = "Fotos"; +App::$strings["Apps"] = "Apps"; +App::$strings["Permissions denied."] = "Berechtigung verweigert."; +App::$strings["l, F j"] = "l, j. F"; +App::$strings["Link to Source"] = "Link zur Quelle"; +App::$strings["Edit Event"] = "Termin bearbeiten"; +App::$strings["Create Event"] = "Termin anlegen"; +App::$strings["Export"] = "Exportieren"; +App::$strings["Import"] = "Import"; +App::$strings["Today"] = "Heute"; +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."; +App::$strings["Privacy group updated."] = "Gruppe wurde aktualisiert."; +App::$strings["Create a group of channels."] = "Erstelle eine Gruppe für Kanäle."; +App::$strings["Privacy group name: "] = "Gruppenname:"; +App::$strings["Members are visible to other channels"] = "Mitglieder sind sichtbar für andere Kanäle"; +App::$strings["Privacy group removed."] = "Gruppe wurde entfernt."; +App::$strings["Unable to remove privacy group."] = "Gruppe konnte nicht entfernt werden."; +App::$strings["Privacy group editor"] = "Gruppeneditor"; +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["Invalid message"] = "Ungültige Beitrags-ID (mid)"; +App::$strings["no results"] = "keine Ergebnisse"; +App::$strings["channel sync processed"] = "Kanal-Sync verarbeitet"; +App::$strings["queued"] = "zur Warteschlange hinzugefügt"; +App::$strings["posted"] = "zugestellt"; +App::$strings["accepted for delivery"] = "für Zustellung akzeptiert"; +App::$strings["updated"] = "aktualisiert"; +App::$strings["update ignored"] = "Aktualisierung ignoriert"; +App::$strings["permission denied"] = "Zugriff verweigert"; +App::$strings["recipient not found"] = "Empfänger nicht gefunden."; +App::$strings["mail recalled"] = "Mail widerrufen"; +App::$strings["duplicate mail received"] = "Doppelte Mail erhalten"; +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["webpage"] = "Webseite"; App::$strings["block"] = "Block"; App::$strings["layout"] = "Layout"; @@ -712,45 +787,34 @@ 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!"; -App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines \$Projectname-Servers."; -App::$strings["%s : Message delivery failed."] = "%s : Nachricht konnte nicht zugestellt werden."; -App::$strings["%d message sent."] = array( - 0 => "%d Nachricht gesendet.", - 1 => "%d Nachrichten gesendet.", -); -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["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)"; -App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Gib meine \$Projectname-Adresse im Suchfeld ein."; -App::$strings["or visit"] = "oder besuche"; -App::$strings["3. Click [Connect]"] = "3. Klicke auf [Verbinden]"; -App::$strings["Block Name"] = "Block-Name"; -App::$strings["Title (optional)"] = "Titel (optional)"; -App::$strings["Edit Block"] = "Block bearbeiten"; -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."; -App::$strings["Privacy group updated."] = "Gruppe wurde aktualisiert."; -App::$strings["Create a group of channels."] = "Erstelle eine Gruppe für Kanäle."; -App::$strings["Privacy group name: "] = "Gruppenname:"; -App::$strings["Members are visible to other channels"] = "Mitglieder sind sichtbar für andere Kanäle"; -App::$strings["Privacy group removed."] = "Gruppe wurde entfernt."; -App::$strings["Unable to remove privacy group."] = "Gruppe konnte nicht entfernt werden."; -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["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["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["Your service plan only allows %d channels."] = "Dein Vertrag erlaubt nur %d Kanäle."; +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["Move this channel (disable all previous locations)"] = "Verschiebe diesen Kanal (deaktiviere alle vorherigen Adressen/Klone)"; +App::$strings["Import a few months of posts if possible (limited by available memory"] = "Importiere die Beiträge einiger Monate, sofern möglich (beschränkt durch verfügbaren 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["Remote privacy information not available."] = "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar."; +App::$strings["Visible to:"] = "Sichtbar für:"; App::$strings["Hub not found."] = "Server nicht gefunden."; App::$strings["Unable to create element."] = "Element konnte nicht erstellt werden."; App::$strings["Unable to update menu element."] = "Kann Menü-Element nicht aktualisieren."; @@ -781,6 +845,21 @@ 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["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"; +App::$strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional"; +App::$strings["Categories (optional, comma separated list)"] = "Kategorien (optional, kommagetrennte Liste)"; +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["No ratings"] = "Keine Bewertungen"; App::$strings["Rating: "] = "Bewertung: "; App::$strings["Website: "] = "Webseite: "; @@ -791,78 +870,108 @@ 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["No more system notifications."] = "Keine System-Benachrichtigungen mehr."; App::$strings["System Notifications"] = "System-Benachrichtigungen"; -App::$strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden."; -App::$strings["Profile Photos"] = "Profilfotos"; -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"; -App::$strings["Delete Photo"] = "Foto löschen"; -App::$strings["No photos selected"] = "Keine Fotos ausgewählt"; -App::$strings["Access to this item is restricted."] = "Der Zugriff auf dieses Foto ist eingeschränkt."; -App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB von %2$.2f MB Foto-Speicher belegt."; -App::$strings["%1$.2f MB photo storage used."] = "%1$.2f MB Foto-Speicher belegt."; -App::$strings["Upload Photos"] = "Fotos hochladen"; -App::$strings["Enter an album name"] = "Namen für ein neues Album eingeben"; -App::$strings["or select an existing album (doubleclick)"] = "oder ein bereits vorhandenes auswählen (Doppelklick)"; -App::$strings["Create a status post for this upload"] = "Einen Statusbeitrag für diesen Upload erzeugen"; -App::$strings["Caption (optional):"] = "Beschriftung (optional):"; -App::$strings["Description (optional):"] = "Beschreibung (optional):"; -App::$strings["Album name could not be decoded"] = "Albumname konnte nicht dekodiert werden"; -App::$strings["Contact Photos"] = "Kontakt-Bilder"; -App::$strings["Show Newest First"] = "Neueste zuerst anzeigen"; -App::$strings["Show Oldest First"] = "Älteste zuerst anzeigen"; -App::$strings["View Photo"] = "Foto ansehen"; -App::$strings["Edit Album"] = "Album bearbeiten"; -App::$strings["Permission denied. Access to this item may be restricted."] = "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."; -App::$strings["Photo not available"] = "Foto nicht verfügbar"; -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["Previous"] = "Voriges"; -App::$strings["View Full Size"] = "In voller Größe anzeigen"; -App::$strings["Next"] = "Nächste"; -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"; -App::$strings["Add a Tag"] = "Schlagwort hinzufügen"; -App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Beispiele: @ben, @Karl_Prester, @lieschen@example.com"; -App::$strings["Flag as adult in album view"] = "In der Albumansicht als nicht jugendfrei markieren"; -App::$strings["I like this (toggle)"] = "Mir gefällt das (Umschalter)"; -App::$strings["I don't like this (toggle)"] = "Mir gefällt das nicht (Umschalter)"; -App::$strings["Share"] = "Teilen"; -App::$strings["Please wait"] = "Bitte warten"; -App::$strings["This is you"] = "Das bist Du"; -App::$strings["Comment"] = "Kommentar"; -App::$strings["Preview"] = "Vorschau"; -App::$strings["__ctx:title__ Likes"] = "Gefällt mir"; -App::$strings["__ctx:title__ Dislikes"] = "Gefällt mir nicht"; -App::$strings["__ctx:title__ Agree"] = "Zustimmungen"; -App::$strings["__ctx:title__ Disagree"] = "Ablehnungen"; -App::$strings["__ctx:title__ Abstain"] = "Enthaltungen"; -App::$strings["__ctx:title__ Attending"] = "Zusagen"; -App::$strings["__ctx:title__ Not attending"] = "Absagen"; -App::$strings["__ctx:title__ Might attend"] = "Vielleicht"; -App::$strings["View all"] = "Alles anzeigen"; -App::$strings["__ctx:noun__ Like"] = array( - 0 => "Gefällt mir", - 1 => "Gefällt mir", -); -App::$strings["__ctx:noun__ Dislike"] = array( - 0 => "Gefällt nicht", - 1 => "Gefällt nicht", +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["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["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["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!"; +App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines \$Projectname-Servers."; +App::$strings["%s : Message delivery failed."] = "%s : Nachricht konnte nicht zugestellt werden."; +App::$strings["%d message sent."] = array( + 0 => "%d Nachricht gesendet.", + 1 => "%d Nachrichten gesendet.", ); -App::$strings["Photo Tools"] = "Fotowerkzeuge"; -App::$strings["In This Photo:"] = "Auf diesem Foto:"; -App::$strings["Map"] = "Karte"; -App::$strings["__ctx:noun__ Likes"] = "Gefällt mir"; -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["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)"; +App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Gib meine \$Projectname-Adresse im Suchfeld ein."; +App::$strings["or visit"] = "oder besuche"; +App::$strings["3. Click [Connect]"] = "3. Klicke auf [Verbinden]"; +App::$strings["About this site"] = "Ãœber diese Seite"; +App::$strings["Site Name"] = "Seitenname"; +App::$strings["Administrator"] = "Administrator"; +App::$strings["Software and Project information"] = "Software und Projektinformationen"; +App::$strings["This site is powered by \$Projectname"] = "Diese Website wird bereitgestellt durch \$Projectname"; +App::$strings["Federated and decentralised networking and identity services provided by Zot"] = "Verbundene, dezentrale Netzwerk- und Identitätsdienste, ermöglicht mittels Zot"; +App::$strings["Version %s"] = "Version %s"; +App::$strings["Project homepage"] = "Projekt-Website"; +App::$strings["Developer homepage"] = "Entwickler-Website"; +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["\$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."; @@ -951,11 +1060,6 @@ App::$strings["The database configuration file \".htconfig.php\" could not be wr 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["Item is not editable"] = "Element kann nicht bearbeitet werden."; -App::$strings["This site is not a directory server"] = "Diese Webseite ist kein Verzeichnisserver"; -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["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen"; App::$strings["Poke"] = "Anstupsen"; App::$strings["Poke somebody"] = "Jemanden anstupsen"; @@ -964,79 +1068,20 @@ App::$strings["Poke, prod or do other things to somebody"] = "Jemanden anstupsen 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["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["Unable to find your hub."] = "Konnte Deinen Server nicht finden."; App::$strings["Post successful."] = "Veröffentlichung erfolgreich."; +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["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["vcard"] = "VCard"; App::$strings["Blocks"] = "Blöcke"; App::$strings["Block Title"] = "Titel des Blocks"; App::$strings["Layouts"] = "Layouts"; @@ -1048,54 +1093,54 @@ 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["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["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["Use Photo for Profile"] = "Foto für Profil verwenden"; App::$strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch"; App::$strings["Use"] = "Verwenden"; -App::$strings["Items tagged with: %s"] = "Beiträge mit Schlagwort: %s"; -App::$strings["Search results for: %s"] = "Suchergebnisse für: %s"; +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."; +App::$strings["Unable to generate preview."] = "Vorschau konnte nicht erzeugt werden."; +App::$strings["Event title and start time are required."] = "Titel und Startzeit des Termins sind erforderlich."; +App::$strings["Event not found."] = "Termin nicht gefunden."; +App::$strings["Edit event title"] = "Termintitel bearbeiten"; +App::$strings["Event title"] = "Termintitel"; +App::$strings["Categories (comma-separated list)"] = "Kategorien (Kommagetrennte Liste)"; +App::$strings["Edit Category"] = "Kategorie bearbeiten"; +App::$strings["Category"] = "Kategorie"; +App::$strings["Edit start date and time"] = "Startdatum und -zeit bearbeiten"; +App::$strings["Start date and time"] = "Startdatum und -zeit"; +App::$strings["Finish date and time are not known or not relevant"] = "Enddatum und -zeit sind unbekannt oder irrelevant"; +App::$strings["Edit finish date and time"] = "Enddatum und -zeit bearbeiten"; +App::$strings["Finish date and time"] = "Enddatum und -zeit"; +App::$strings["Adjust for viewer timezone"] = "An die Zeitzone des Betrachters anpassen"; +App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht sinnvoll für globale Feiertage / Ferien."; +App::$strings["Edit Description"] = "Beschreibung bearbeiten"; +App::$strings["Edit Location"] = "Ort bearbeiten"; +App::$strings["Permission settings"] = "Berechtigungs-Einstellungen"; +App::$strings["Timezone:"] = "Zeitzone:"; +App::$strings["Advanced Options"] = "Weitere Optionen"; +App::$strings["Edit event"] = "Termin bearbeiten"; +App::$strings["Delete event"] = "Termin löschen"; +App::$strings["calendar"] = "Kalender"; +App::$strings["Month"] = "Monat"; +App::$strings["Week"] = "Woche"; +App::$strings["Day"] = "Tag"; +App::$strings["Event removed"] = "Termin gelöscht"; +App::$strings["Failed to remove event"] = "Termin konnte nicht gelöscht werden"; App::$strings["No channel."] = "Kein Kanal."; App::$strings["Common connections"] = "Gemeinsame Verbindungen"; App::$strings["No connections in common."] = "Keine gemeinsamen Verbindungen."; -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["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["About this site"] = "Ãœber diese Seite"; -App::$strings["Site Name"] = "Seitenname"; -App::$strings["Administrator"] = "Administrator"; -App::$strings["Software and Project information"] = "Software und Projektinformationen"; -App::$strings["This site is powered by \$Projectname"] = "Diese Website wird bereitgestellt durch \$Projectname"; -App::$strings["Federated and decentralised networking and identity services provided by Zot"] = "Verbundene, dezentrale Netzwerk- und Identitätsdienste, ermöglicht mittels Zot"; -App::$strings["Version %s"] = "Version %s"; -App::$strings["Project homepage"] = "Projekt-Website"; -App::$strings["Developer homepage"] = "Entwickler-Website"; +App::$strings["toggle full screen mode"] = "auf Vollbildmodus umschalten"; +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["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 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)"; @@ -1116,7 +1161,7 @@ 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 directory server requires an access token"] = "Dieser Verzeichnisserver benötigt einen Zugriffstoken"; +App::$strings["Channel added."] = "Kanal hinzugefügt."; 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)"; @@ -1146,33 +1191,37 @@ 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>"] = "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["Permissions denied."] = "Berechtigung verweigert."; -App::$strings["l, F j"] = "l, j. F"; -App::$strings["Link to Source"] = "Link zur Quelle"; -App::$strings["Edit Event"] = "Termin bearbeiten"; -App::$strings["Create Event"] = "Termin anlegen"; -App::$strings["Export"] = "Exportieren"; -App::$strings["Import"] = "Import"; -App::$strings["Today"] = "Heute"; -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["Remote privacy information not available."] = "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar."; -App::$strings["Visible to:"] = "Sichtbar für:"; +App::$strings["%d rating"] = array( + 0 => "%d Bewertung", + 1 => "%d Bewertungen", +); +App::$strings["Gender: "] = "Geschlecht:"; +App::$strings["Status: "] = "Status:"; +App::$strings["Homepage: "] = "Webseite:"; +App::$strings["Age:"] = "Alter:"; +App::$strings["Location:"] = "Ort:"; +App::$strings["Description:"] = "Beschreibung:"; +App::$strings["Hometown:"] = "Heimatstadt:"; +App::$strings["About:"] = "Ãœber:"; +App::$strings["Connect"] = "Verbinden"; +App::$strings["Public Forum:"] = "Öffentliches Forum:"; +App::$strings["Keywords: "] = "Schlüsselwörter:"; +App::$strings["Don't suggest"] = "Nicht vorschlagen"; +App::$strings["Common connections:"] = "Gemeinsame Verbindungen:"; +App::$strings["Global Directory"] = "Globales Verzeichnis"; +App::$strings["Local Directory"] = "Lokales Verzeichnis"; +App::$strings["Finding:"] = "Ergebnisse:"; +App::$strings["Channel Suggestions"] = "Kanal-Vorschläge"; +App::$strings["next page"] = "nächste Seite"; +App::$strings["previous page"] = "vorherige Seite"; +App::$strings["Sort options"] = "Sortieroptionen"; +App::$strings["Alphabetic"] = "alphabetisch"; +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["Away"] = "Abwesend"; +App::$strings["Online"] = "Online"; App::$strings["No service class restrictions found."] = "Keine Dienstklassenbeschränkungen gefunden."; App::$strings["Import Webpage Elements"] = "Webseitenelemente importieren"; App::$strings["Import selected"] = "Import ausgewählt"; @@ -1197,11 +1246,9 @@ 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["Profile Unavailable."] = "Profil nicht verfügbar."; App::$strings["Not found"] = "Nicht gefunden"; App::$strings["Invalid channel"] = "Ungültiger Kanal"; -App::$strings["Error retrieving wiki"] = "Fehler beim Abrufen des Wiki"; -App::$strings["Error creating zip file export folder"] = "Fehler bei der Erzeugung des Zip-Datei Export-Verzeichnisses "; -App::$strings["Error downloading wiki: "] = "Fehler beim Herunterladen des Wiki:"; App::$strings["Wikis"] = "Wikis"; App::$strings["Download"] = "Herunterladen"; App::$strings["Wiki name"] = "Name des Wiki"; @@ -1212,7 +1259,7 @@ App::$strings["Rename page"] = "Seite umbenennen"; App::$strings["Error retrieving page content"] = "Fehler beim Abrufen des Seiteninhalts"; App::$strings["Revision Comparison"] = "Revisionsvergleich"; App::$strings["Revert"] = "Rückgängig machen"; -App::$strings["Choose an available wiki from the list on the left."] = "Wähle ein vorhandenes Wiki aus der Liste auf der linken Seite aus."; +App::$strings["Short description of your changes (optional)"] = "Kurze Beschreibung Ihrer Änderungen (optional)"; App::$strings["Source"] = "Quelle"; App::$strings["New page name"] = "Neuer Seitenname"; App::$strings["Embed image from photo albums"] = "Bild aus Fotoalben einbetten"; @@ -1220,14 +1267,20 @@ App::$strings["Embed an image from your albums"] = "Betten Sie ein Bild aus Ihre 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["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["Error creating wiki. Invalid name."] = "Fehler beim Erstellen des Wiki. Ungültiger Name."; App::$strings["Wiki created, but error creating Home page."] = "Das Wiki wurde erzeugt, aber es gab einen Fehler bei der Erstellung der Startseite"; App::$strings["Error creating wiki"] = "Fehler beim Erstellen des Wiki"; +App::$strings["Wiki delete permission denied."] = "Wiki-Löschberechtigung verweigert."; +App::$strings["Error deleting wiki"] = "Fehler beim Löschen des Wiki"; App::$strings["New page created"] = "Neue Seite erstellt"; +App::$strings["Cannot delete Home"] = "Kann die Startseite nicht löschen"; +App::$strings["Current Revision"] = "Aktuelle Revision"; +App::$strings["Selected Revision"] = "Ausgewählte Revision"; +App::$strings["You must be authenticated."] = "Sie müssen authenzifiziert sein."; 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."; @@ -1269,15 +1322,6 @@ 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["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."; @@ -1296,6 +1340,21 @@ App::$strings["Your technical skill level"] = "Deine technische Qualifikationsst 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 this account including all its channels"] = "Dieses Konto inklusive all seiner Kanäle löschen"; +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["Affinity Slider settings updated."] = "Die Beziehungsgrad-Schieberegler-Einstellungen wurden aktualisiert."; +App::$strings["No feature settings configured"] = "Keine Funktions-Einstellungen konfiguriert"; +App::$strings["Default maximum affinity level"] = "Voreinstellung für maximalen Beziehungsgrad"; +App::$strings["Default minimum affinity level"] = "Voreinstellung für minimalen Beziehungsgrad"; +App::$strings["Affinity Slider Settings"] = "Beziehungsgrad-Schieberegler-Einstellungen"; +App::$strings["Feature/Addon Settings"] = "Funktions-/Addon-Einstellungen"; 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"; @@ -1340,6 +1399,7 @@ App::$strings["May reduce spam activity"] = "Kann die Spam-Aktivität verringern 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["Default Permissions Group"] = "Standard-Berechtigungsgruppe"; App::$strings["Maximum private messages per day from unknown people:"] = "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"; App::$strings["Useful to reduce spamming"] = "Nützlich, um Spam zu verringern"; App::$strings["Notification Settings"] = "Benachrichtigungs-Einstellungen"; @@ -1356,6 +1416,7 @@ App::$strings["You receive a private message"] = "Du eine private Nachricht erhà App::$strings["You receive a friend suggestion"] = "Du einen Kontaktvorschlag erhältst"; App::$strings["You are tagged in a post"] = "Du in einem Beitrag erwähnt wurdest"; App::$strings["You are poked/prodded/etc. in a post"] = "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest"; +App::$strings["Someone likes your post/comment"] = "Jemand mag Ihren Beitrag/Kommentar"; App::$strings["Show visual notifications including:"] = "Visuelle Benachrichtigungen anzeigen für:"; App::$strings["Unseen grid activity"] = "Ungesehene Netzwerk-Aktivität"; App::$strings["Unseen channel activity"] = "Ungesehene Kanal-Aktivität"; @@ -1401,7 +1462,7 @@ App::$strings["Maximum number of conversations to load at any time:"] = "Maximal App::$strings["Maximum of 100 items"] = "Maximum: 100 Beiträge"; App::$strings["Show emoticons (smilies) as images"] = "Emoticons (Smilies) als Bilder anzeigen"; App::$strings["Manual conversation updates"] = "Manuelle Konversationsaktualisierung"; -App::$strings["Default is automatic, which may increase screen jumping"] = "Voreinstellung ist Automatisch, was aber das Springen der Seitenanzeige erhöhen kann."; +App::$strings["Default is on, turning this off may increase screen jumping"] = "Voreinstellung ist An, dies abzuschalten kann das unerwartete Springen der Seitenanzeige erhöhen."; 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"; @@ -1410,8 +1471,10 @@ App::$strings["Use blog/list mode on grid page"] = "Blog-/Listenmodus auf der Ne 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["Permission category saved."] = "Berechtigungsrolle gespeichert."; +App::$strings["Use this form to create permission rules for various classes of people or connections."] = "Verwende dieses Formular, um Berechtigungsrollen für verschiedene Gruppen von Personen oder Verbindungen zu erstellen."; +App::$strings["Permission Categories"] = "Berechtigungsrollen"; +App::$strings["Permission Name"] = "Name der Berechtigungsrolle"; 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:"; @@ -1429,21 +1492,31 @@ 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["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["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["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["No connections."] = "Keine Verbindungen."; App::$strings["Visit %s's profile [%s]"] = "%ss Profil [%s] besuchen"; App::$strings["View Connections"] = "Verbindungen anzeigen"; @@ -1463,65 +1536,56 @@ 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["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."; -App::$strings["Unable to generate preview."] = "Vorschau konnte nicht erzeugt werden."; -App::$strings["Event title and start time are required."] = "Titel und Startzeit des Termins sind erforderlich."; -App::$strings["Event not found."] = "Termin nicht gefunden."; -App::$strings["Edit event title"] = "Termintitel bearbeiten"; -App::$strings["Event title"] = "Termintitel"; -App::$strings["Categories (comma-separated list)"] = "Kategorien (Kommagetrennte Liste)"; -App::$strings["Edit Category"] = "Kategorie bearbeiten"; -App::$strings["Category"] = "Kategorie"; -App::$strings["Edit start date and time"] = "Startdatum und -zeit bearbeiten"; -App::$strings["Start date and time"] = "Startdatum und -zeit"; -App::$strings["Finish date and time are not known or not relevant"] = "Enddatum und -zeit sind unbekannt oder irrelevant"; -App::$strings["Edit finish date and time"] = "Enddatum und -zeit bearbeiten"; -App::$strings["Finish date and time"] = "Enddatum und -zeit"; -App::$strings["Adjust for viewer timezone"] = "An die Zeitzone des Betrachters anpassen"; -App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht sinnvoll für globale Feiertage / Ferien."; -App::$strings["Edit Description"] = "Beschreibung bearbeiten"; -App::$strings["Edit Location"] = "Ort bearbeiten"; -App::$strings["Permission settings"] = "Berechtigungs-Einstellungen"; -App::$strings["Advanced Options"] = "Weitere Optionen"; -App::$strings["Edit event"] = "Termin bearbeiten"; -App::$strings["Delete event"] = "Termin löschen"; -App::$strings["calendar"] = "Kalender"; -App::$strings["Month"] = "Monat"; -App::$strings["Week"] = "Woche"; -App::$strings["Day"] = "Tag"; -App::$strings["Event removed"] = "Termin gelöscht"; -App::$strings["Failed to remove event"] = "Termin konnte nicht gelöscht werden"; 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."; App::$strings["Room not found."] = "Chatraum konnte nicht gefunden werden."; App::$strings["Room is full"] = "Der Chatraum ist voll"; -App::$strings["Site Admin"] = "Hub-Administration"; -App::$strings["Report Bug"] = "Fehler melden"; -App::$strings["View Bookmarks"] = "Lesezeichen ansehen"; -App::$strings["My Chatrooms"] = "Meine Chaträume"; -App::$strings["Firefox Share"] = "Teilen-Knopf für Firefox"; -App::$strings["Remote Diagnostics"] = "Ferndiagnose"; -App::$strings["Suggest Channels"] = "Kanäle vorschlagen"; -App::$strings["Login"] = "Anmelden"; -App::$strings["Grid"] = "Grid"; -App::$strings["Wiki"] = "Wiki"; -App::$strings["Channel Home"] = "Mein Kanal"; -App::$strings["Events"] = "Termine"; -App::$strings["Directory"] = "Verzeichnis"; -App::$strings["Mail"] = "Mail"; -App::$strings["Chat"] = "Chat"; -App::$strings["Probe"] = "Testen"; -App::$strings["Suggest"] = "Empfehlen"; -App::$strings["Random Channel"] = "Zufälliger Kanal"; -App::$strings["Invite"] = "Einladen"; -App::$strings["Features"] = "Funktionen"; -App::$strings["Language"] = "Sprache"; -App::$strings["Post"] = "Beitrag schreiben"; -App::$strings["Profile Photo"] = "Profilfoto"; -App::$strings["Purchase"] = "Kaufen"; +App::$strings["\$Projectname Notification"] = "\$Projectname-Benachrichtigung"; +App::$strings["\$projectname"] = "\$projectname"; +App::$strings["Thank You,"] = "Danke."; +App::$strings["%s Administrator"] = "der Administrator von %s"; +App::$strings["%s <!item_type!>"] = "%s <!item_type!>"; +App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Benachrichtigung] Neue Mail empfangen auf %s"; +App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet."; +App::$strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt."; +App::$strings["a private message"] = "eine private Nachricht"; +App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."; +App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert"; +App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert"; +App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert"; +App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s"; +App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst."; +App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."; +App::$strings["%1\$s, %2\$s liked [zrl=%3\$s]your %4\$s[/zrl]"] = ""; +App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Benachrichtigung] Gefällt mir in Unterhaltung #%1\$d von %2\$s erhalten"; +App::$strings["%1\$s, %2\$s liked an item/conversation you created."] = "%1\$s, %2\$s gefällt ein Beitrag oder eine Unterhaltung von Dir"; +App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Benachrichtigung] %s schrieb auf Deine Pinnwand"; +App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben"; +App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben"; +App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Benachrichtigung] %s hat Dich erwähnt"; +App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt"; +App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl]."; +App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Benachrichtigung] %1\$s hat Dich angestupst"; +App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst"; +App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl]."; +App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"; +App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet"; +App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet"; +App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Benachrichtigung] Verbindungsanfrage erhalten"; +App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten"; +App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten."; +App::$strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen"; +App::$strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."; +App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Benachrichtigung] Freundschaftsvorschlag erhalten"; +App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten"; +App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten."; +App::$strings["Name:"] = "Name:"; +App::$strings["Photo:"] = "Foto:"; +App::$strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."; +App::$strings["[\$Projectname:Notify]"] = "[\$Projectname: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"; @@ -1585,48 +1649,50 @@ App::$strings["Code"] = "Code"; App::$strings["Image"] = "Bild"; App::$strings["Insert Link"] = "Link einfügen"; App::$strings["Video"] = "Video"; -App::$strings["\$Projectname Notification"] = "\$Projectname-Benachrichtigung"; -App::$strings["\$projectname"] = "\$projectname"; -App::$strings["Thank You,"] = "Danke."; -App::$strings["%s Administrator"] = "der Administrator von %s"; -App::$strings["%s <!item_type!>"] = "%s <!item_type!>"; -App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Benachrichtigung] Neue Mail empfangen auf %s"; -App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet."; -App::$strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt."; -App::$strings["a private message"] = "eine private Nachricht"; -App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."; -App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert"; -App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert"; -App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert"; -App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s"; -App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst."; -App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."; -App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Benachrichtigung] %s schrieb auf Deine Pinnwand"; -App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben"; -App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben"; -App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Benachrichtigung] %s hat Dich erwähnt"; -App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt"; -App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl]."; -App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Benachrichtigung] %1\$s hat Dich angestupst"; -App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst"; -App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl]."; -App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"; -App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet"; -App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet"; -App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Benachrichtigung] Verbindungsanfrage erhalten"; -App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten"; -App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten."; -App::$strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen"; -App::$strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."; -App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Benachrichtigung] Freundschaftsvorschlag erhalten"; -App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten"; -App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten."; -App::$strings["Name:"] = "Name:"; -App::$strings["Photo:"] = "Foto:"; -App::$strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."; -App::$strings["[\$Projectname:Notify]"] = "[\$Projectname: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["Site Admin"] = "Hub-Administration"; +App::$strings["Report Bug"] = "Fehler melden"; +App::$strings["View Bookmarks"] = "Lesezeichen ansehen"; +App::$strings["My Chatrooms"] = "Meine Chaträume"; +App::$strings["Firefox Share"] = "Teilen-Knopf für Firefox"; +App::$strings["Remote Diagnostics"] = "Ferndiagnose"; +App::$strings["Suggest Channels"] = "Kanäle vorschlagen"; +App::$strings["Login"] = "Anmelden"; +App::$strings["Grid"] = "Grid"; +App::$strings["Wiki"] = "Wiki"; +App::$strings["Channel Home"] = "Mein Kanal"; +App::$strings["Events"] = "Termine"; +App::$strings["Directory"] = "Verzeichnis"; +App::$strings["Mail"] = "Mail"; +App::$strings["Chat"] = "Chat"; +App::$strings["Probe"] = "Testen"; +App::$strings["Suggest"] = "Empfehlen"; +App::$strings["Random Channel"] = "Zufälliger Kanal"; +App::$strings["Invite"] = "Einladen"; +App::$strings["Features"] = "Funktionen"; +App::$strings["Language"] = "Sprache"; +App::$strings["Post"] = "Beitrag schreiben"; +App::$strings["Profile Photo"] = "Profilfoto"; +App::$strings["Purchase"] = "Kaufen"; +App::$strings["Undelete"] = "Wieder hergestellt"; +App::$strings["Wiki files deleted successfully"] = "Wiki-Dateien erfolgreich gelöscht"; +App::$strings["__ctx:permcat__ default"] = "Standard"; +App::$strings["__ctx:permcat__ follower"] = "Abonnent"; +App::$strings["__ctx:permcat__ contributor"] = "Beitragender"; +App::$strings["__ctx:permcat__ publisher"] = "Autor"; +App::$strings["(No Title)"] = "(Kein Titel)"; +App::$strings["Wiki page create failed."] = "Anlegen der Wiki-Seite fehlgeschlagen."; +App::$strings["Wiki not found."] = "Wiki nicht gefunden."; +App::$strings["Destination name already exists"] = "Zielname bereits vorhanden"; +App::$strings["Page not found"] = "Seite nicht gefunden"; +App::$strings["Error reading page content"] = "Fehler beim Lesen des Seiteninhalts"; +App::$strings["Error reading wiki"] = "Fehler beim Lesen des Wiki"; +App::$strings["Page update failed."] = "Seitenaktualisierung fehlgeschlagen."; +App::$strings["Nothing deleted"] = "Nichts gelöscht"; +App::$strings["Compare: object not found."] = "Vergleichen: Objekt nicht gefunden."; +App::$strings["Page updated"] = "Seite aktualisiert"; +App::$strings["Untitled"] = "Ohne Titel"; +App::$strings["Wiki resource_id required for git commit"] = ""; +App::$strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"; App::$strings["Flag Adult Photos"] = "Nicht jugendfreie Fotos markieren"; App::$strings["Provide photo edit option to hide inappropriate photos from default album view"] = "Stellt eine Option zum Verstecken von Fotos mit unangemessenen Inhalten in der Standard-Albumansicht bereit"; App::$strings["This is a fairly comprehensive and complete guitar chord dictionary which will list most of the available ways to play a certain chord, starting from the base of the fingerboard up to a few frets beyond the twelfth fret (beyond which everything repeats). A couple of non-standard tunings are provided for the benefit of slide players, etc."] = ""; @@ -1638,6 +1704,8 @@ App::$strings["Tuning"] = "Stimmen"; App::$strings["Chord name: example: Em7"] = "Beispiel Akkord Name: Em7"; App::$strings["Show for left handed stringing"] = "Linkshänder-Besaitung anzeigen"; App::$strings["Quick Reference"] = "Schnellreferenz"; +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["Diaspora Protocol Settings updated."] = "Diaspora-Protokolleinstellungen aktualisiert."; App::$strings["Enable the Diaspora protocol for this channel"] = "Diaspora-Protokoll für diesen Kanal aktivieren"; App::$strings["Allow any Diaspora member to comment on your public posts"] = "Jedem Diaspora-Mitglied erlauben, Deine öffentlichen Beiträge zu kommentieren"; @@ -1716,12 +1784,12 @@ App::$strings["[Name Withheld]"] = "[Name zurück gehalten]"; App::$strings["%1\$s has joined %2\$s"] = "%1\$s ist %2\$s beigetreten"; App::$strings["%1\$s welcomes %2\$s"] = "%1\$s heißt %2\$s willkommen"; App::$strings["This introduction has already been accepted."] = "Die Vorstellung wurde bereits akzeptiert."; -App::$strings["Profile location is not valid or does not contain profile information."] = ""; +App::$strings["Profile location is not valid or does not contain profile information."] = "Die angegebenen Profil Lokalität ist nicht gültig oder enthält keine Profil-Informationen."; App::$strings["Warning: profile location has no identifiable owner name."] = ""; -App::$strings["Warning: profile location has no profile photo."] = ""; +App::$strings["Warning: profile location has no profile photo."] = "Warnung: Beim angegebenen Profil liegt kein Profil-Bild bei."; App::$strings["%d required parameter was not found at the given location"] = array( - 0 => "", - 1 => "", + 0 => "Konnte %d benötigten Parameter an der angegebenen Stelle nicht finden.", + 1 => "Konnte %d benötigte Parameter an der angegebenen Stelle nicht finden.", ); App::$strings["Introduction complete."] = "Einführung abgeschlossen."; App::$strings["Unrecoverable protocol error."] = "Nicht behebbarer Protokollfehler."; @@ -1732,7 +1800,7 @@ App::$strings["Friends are advised to please try again in 24 hours."] = "Freunde App::$strings["Invalid locator"] = ""; App::$strings["Invalid email address."] = "Ungültige E-Mail-Adresse."; App::$strings["This account has not been configured for email. Request failed."] = "Dieser Account wurde nicht für E-Mail konfiguriert. Anfrage gescheitert."; -App::$strings["Unable to resolve your name at the provided location."] = ""; +App::$strings["Unable to resolve your name at the provided location."] = "Konnte deinen Namen nicht bei der angegebenen Stelle ermitteln."; App::$strings["You have already introduced yourself here."] = "Du hast dich hier bereits vorgestellt."; App::$strings["Apparently you are already friends with %s."] = "Anscheinend bist du bereits mit %s in Kontakt."; App::$strings["Invalid profile URL."] = "Ungültige Profil-URL."; @@ -1768,7 +1836,6 @@ App::$strings["This will import all your Friendica photo albums to this Red chan App::$strings["Friendica Server base URL"] = "BasisURL des Friendica Servers"; App::$strings["Friendica Login Username"] = "Friendica-Anmeldebenutzername"; App::$strings["Friendica Login Password"] = "Friendica-Anmeldepasswort"; -App::$strings["Enable the GNU-Social protocol for this channel"] = "GNU Social Protokoll für diesen Kanal aktualisieren"; App::$strings["Send email to all members"] = "E-Mail an alle Mitglieder senden"; App::$strings["$1%s Administrator"] = "$1%s Administrator"; App::$strings["No recipients found."] = "Keine Empfänger gefunden."; @@ -1784,7 +1851,7 @@ App::$strings["InsaneJournal password"] = "InsaneJournal-Passwort"; App::$strings["Post to InsaneJournal by default"] = "Standardmäßig bei InsaneJournal veröffentlichen"; App::$strings["InsaneJournal Post Settings"] = "InsaneJournal-Beitragseinstellungen"; App::$strings["Insane Journal Settings saved."] = "InsaneJournal-Einstellungen gespeichert."; -App::$strings["Channels to auto connect"] = ""; +App::$strings["Channels to auto connect"] = "Kanäle zur automatischen Verbindung"; App::$strings["Comma separated list"] = "Kommagetrennte Liste"; App::$strings["Popular Channels"] = "Beliebte Kanäle"; App::$strings["IRC Settings"] = "IRC-Einstellungen"; @@ -1802,7 +1869,6 @@ App::$strings["Hubzilla password"] = "Hubzilla-Passwort"; App::$strings["Approve subscription requests from Hubzilla contacts automatically"] = ""; App::$strings["Purge internal list of jabber addresses of contacts"] = "Interne Liste der Jabber Adressen von Kontakten löschen"; App::$strings["Configuration Help"] = "Konfigurationshilfe"; -App::$strings["Add Contact"] = "Kontakt hinzufügen"; App::$strings["Jappix Mini Settings"] = "Jappix Mini Einstellungen"; App::$strings["Upload a file"] = "Datei hochladen"; App::$strings["Drop files here to upload"] = "Dateien zum Hochladen hier fallen lassen"; @@ -1868,8 +1934,8 @@ App::$strings["hug"] = "umarmen"; App::$strings["hugged"] = "umarmt"; App::$strings["murder"] = "ermorden"; App::$strings["murdered"] = "ermordet"; -App::$strings["worship"] = ""; -App::$strings["worshipped"] = ""; +App::$strings["worship"] = "Anbetung"; +App::$strings["worshipped"] = "angebetet"; App::$strings["kiss"] = "küssen"; App::$strings["kissed"] = "geküsst"; App::$strings["tempt"] = "verlocken"; @@ -1904,21 +1970,21 @@ App::$strings["Allow Federation Toggle"] = ""; App::$strings["Federate posts by default"] = ""; App::$strings["NoFed Settings"] = "NoFed-Einstellungen"; App::$strings["Nsabait Settings updated."] = "Nsabait-Einstellungen aktualisiert."; -App::$strings["Enable NSAbait Plugin"] = ""; +App::$strings["Enable NSAbait Plugin"] = "Aktiviere das NSAbait Plugin"; App::$strings["NSAbait Settings"] = "NSAbait-Einstellungen"; App::$strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = ""; App::$strings["Enable Content filter"] = "Inhaltsfilter aktivieren"; -App::$strings["Comma separated list of keywords to hide"] = ""; -App::$strings["Use /expression/ to provide regular expressions"] = ""; +App::$strings["Comma separated list of keywords to hide"] = "Kommaseparierte Liste von Schlüsselworten die verborgen werden sollen."; +App::$strings["Word, /regular-expression/, lang=xx, lang!=xx"] = ""; App::$strings["Not Safe For Work Settings"] = "Not Safe For Work Einstellungen"; App::$strings["General Purpose Content Filter"] = "Allzweck-Inhaltsfilter"; App::$strings["NSFW Settings saved."] = "NSFW-Einstellungen gespeichert."; App::$strings["Possible adult content"] = "Möglicherweise nicht jugendfreie Inhalte"; -App::$strings["%s - click to open/close"] = "%s - zum öffnen/schließen anklicken"; +App::$strings["%s - view"] = ""; App::$strings["System defaults:"] = "Systemstandardeinstellungen:"; App::$strings["Preferred Clipart IDs"] = ""; App::$strings["List of preferred clipart ids. These will be shown first."] = ""; -App::$strings["Default Search Term"] = ""; +App::$strings["Default Search Term"] = "Standard-Suchbegriff"; App::$strings["The default search term. These will be shown second."] = ""; App::$strings["Return After"] = ""; App::$strings["Page to load after image selection."] = ""; @@ -1936,7 +2002,7 @@ App::$strings["Preferred IDs Message"] = ""; App::$strings["Message to display above preferred results."] = ""; App::$strings["Uploaded by: "] = "Hochgeladen von: "; App::$strings["Drawn by: "] = "Gezeichnet von: "; -App::$strings["Or select from a free OpenClipart.org image:"] = ""; +App::$strings["Or select from a free OpenClipart.org image:"] = "Oder wähle ein freies Bild von OpenClipart.org:"; App::$strings["Search Term"] = "Suchbegriff"; App::$strings["Unknown error. Please try again later."] = "Unbekannter Fehler. Bitte versuchen Sie es später erneut."; App::$strings["Profile photo updated successfully."] = "Profilfoto erfolgreich aktualisiert."; @@ -1981,7 +2047,7 @@ App::$strings["Pump.io Post Settings"] = "Pump.io-Beitragseinstellungen"; App::$strings["PumpIO Settings saved."] = "PumpIO-Einstellungen gespeichert."; App::$strings["QR code"] = "QR-Code"; App::$strings["QR Generator"] = "QR-Generator"; -App::$strings["Enter some text"] = ""; +App::$strings["Enter some text"] = "Etwas Text eingeben"; App::$strings["Enable Rainbowtag"] = "Rainbowtag aktivieren"; App::$strings["Rainbowtag Settings"] = "Rainbowtag-Einstellungen"; App::$strings["Rainbowtag Settings saved."] = "Rainbowtag-Einstellungen gespeichert."; @@ -2024,7 +2090,7 @@ App::$strings["Friendica password"] = "Friendica-Passwort"; App::$strings["Hubzilla to Friendica Post Settings"] = ""; App::$strings["Extended Identity Sharing"] = "Erweitertes Teilen von Identitäten"; App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = ""; -App::$strings["Some setting"] = ""; +App::$strings["Some setting"] = "Einige Einstellungen"; App::$strings["A setting"] = "Eine Einstellung"; App::$strings["Skeleton Settings"] = ""; App::$strings["Deactivate the feature"] = "Diese Funktion abschalten"; @@ -2079,7 +2145,7 @@ App::$strings["The handicap game disables the center position on the middle leve App::$strings["You go first..."] = "Du darfst anfangen..."; App::$strings["I'm going first this time..."] = "Diesmal werde ich anfangen..."; App::$strings["You won!"] = "Sie haben gewonnen!"; -App::$strings["\"Cat\" game!"] = ""; +App::$strings["\"Cat\" game!"] = "\"Katzen\"-Spiel!"; App::$strings["I won!"] = "Ich habe gewonnen!"; App::$strings["Edit your profile and change settings."] = "Bearbeite dein Profil und ändere die Einstellungen."; App::$strings["Click here to see activity from your connections."] = "Klicke hier, um die Aktivitäten Deiner Verbindungen zu sehen."; @@ -2118,7 +2184,7 @@ App::$strings["Danger! It seems someone tried to forge a message! This message i App::$strings["Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can pause it at any time and continue where you left off by reloading the page, or navigting to another page.</p><p>You can also advance by pressing the return key"] = "Willkommen zu Hubzilla! Möchtest Du eine Tour der Benutzeroberfläche angezeigt bekommen?</p><p>Du kannst zu jeder Zeit pausieren und fortsetzen, wo Du aufgehört hast, indem Du die Seite neu lädtst, oder zu einer anderen Seite springst.</p><p>Du kannst auc durch das Drücken der Enter-Taste weitergehen."; App::$strings["Post to Twitter"] = "Bei Twitter veröffentlichen"; App::$strings["Twitter settings updated."] = "Twitter-Einstellungen aktualisiert."; -App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = ""; +App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Es wurde kein Consumer-Schlüsselpaar für Twitter gefunden. Bitte kontaktiere deinen Seiten-Administrator."; App::$strings["At this Hubzilla instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = ""; App::$strings["Log in with Twitter"] = "Mit Twitter anmelden"; App::$strings["Copy the PIN from Twitter here"] = "PIN von Twitter hier her kopieren"; @@ -2136,7 +2202,7 @@ App::$strings["PHP post_max_size (must be larger than upload_max_filesize): "] = App::$strings["Recent Channel/Profile Viewers"] = "Kürzliche Kanal/Profil Besucher"; App::$strings["This plugin/addon has not been configured."] = "Dieses Plugin/Addon wurde noch nicht konfiguriert."; App::$strings["Please visit the Visage settings on %s"] = "Bitte rufe die Visage Einstellungen auf %s auf"; -App::$strings["your feature settings page"] = ""; +App::$strings["your feature settings page"] = "Die Funktions-Einstellungsseite"; App::$strings["No entries."] = "Keine Einträge."; App::$strings["Enable Visage Visitor Logging"] = "Aktiviere das Visage-Besucher Logging"; App::$strings["Visage Settings"] = "Visage-Einstellungen"; @@ -2180,21 +2246,6 @@ App::$strings["Addressbook Name"] = "Adressbuchname"; App::$strings["Addressbook Tools"] = "Adressbuchwerkzeuge"; App::$strings["Import addressbook"] = "Adressbuch importieren"; App::$strings["Select an addressbook to import to"] = "Adressbuch zum Hineinimportieren auswählen"; -App::$strings["Errors encountered creating database table: "] = ""; -App::$strings["Default Calendar"] = "Standardkalender"; -App::$strings["Default Addressbook"] = "Standardadressbuch"; -App::$strings["CalDAV/CardDAV Settings saved."] = "CalDAV/CardDAV-Einstellungen gespeichert."; -App::$strings["Enable CalDAV/CardDAV Server for this channel"] = "Aktiviere den CalDAV/CardDAV Server für diesen Kanal"; -App::$strings["Your CalDAV resources are located at %s "] = "Deine CalDAV Resourcen sind unter %s verfügbar"; -App::$strings["Your CardDAV resources are located at %s "] = "Deine CardDAV Ressourcen sind unter %s verfügbar"; -App::$strings["CalDAV/CardDAV Settings"] = "CalDAV/CardDAV-Einstellungen"; -App::$strings["Mobile"] = "Mobil"; -App::$strings["Home"] = "Home"; -App::$strings["Home, Voice"] = "Zuhause, Sprache"; -App::$strings["Home, Fax"] = "Zuhause, Fax"; -App::$strings["Work"] = "Arbeit"; -App::$strings["Work, Voice"] = "Arbeit, Sprache"; -App::$strings["Work, Fax"] = "Arbeit, Fax"; App::$strings["INVALID EVENT DISMISSED!"] = "UNGÃœLTIGEN TERMIN ABGELEHNT!"; App::$strings["Summary: "] = "Zusammenfassung:"; App::$strings["Date: "] = "Datum:"; @@ -2212,19 +2263,18 @@ App::$strings["Less"] = "Weniger"; App::$strings["Select calendar"] = "Kalender auswählen"; App::$strings["Delete all"] = "Alles löschen"; App::$strings["Sorry! Editing of recurrent events is not yet implemented."] = "Entschuldigung, aber das Bearbeiten von wiederkehrenden Veranstaltungen ist leider noch nicht implementiert."; -App::$strings["Organisation"] = "Organisation"; -App::$strings["Title"] = "Titel"; -App::$strings["Phone"] = "Telefon"; -App::$strings["Instant messenger"] = ""; -App::$strings["Website"] = "Webseite"; -App::$strings["Note"] = "Hinweis"; -App::$strings["Add Field"] = "Feld hinzufügen"; -App::$strings["P.O. Box"] = ""; -App::$strings["Additional"] = "Zusätzlich"; -App::$strings["Street"] = "Straße"; -App::$strings["Locality"] = "Ortschaft"; -App::$strings["Region"] = "Region"; -App::$strings["ZIP Code"] = "Postleitzahl"; +App::$strings["Errors encountered creating database table: "] = "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."; +App::$strings["Default Calendar"] = "Standardkalender"; +App::$strings["Default Addressbook"] = "Standardadressbuch"; +App::$strings["CalDAV/CardDAV Settings saved."] = "CalDAV/CardDAV-Einstellungen gespeichert."; +App::$strings["Enable CalDAV/CardDAV Server for this channel"] = "Aktiviere den CalDAV/CardDAV Server für diesen Kanal"; +App::$strings["Your CalDAV resources are located at %s "] = "Deine CalDAV Resourcen sind unter %s verfügbar"; +App::$strings["Your CardDAV resources are located at %s "] = "Deine CardDAV Ressourcen sind unter %s verfügbar"; +App::$strings["CalDAV/CardDAV Settings"] = "CalDAV/CardDAV-Einstellungen"; +App::$strings["Home, Voice"] = "Zuhause, Sprache"; +App::$strings["Home, Fax"] = "Zuhause, Fax"; +App::$strings["Work, Voice"] = "Arbeit, Sprache"; +App::$strings["Work, Fax"] = "Arbeit, Fax"; App::$strings["Invalid game."] = "Ungültiges Spiel."; App::$strings["You are not a player in this game."] = "Sie sind kein Spieler in diesem Spiel."; App::$strings["You must be a local channel to create a game."] = "Um ein Spiel zu eröffnen, musst du ein lokaler Kanal sein"; @@ -2242,8 +2292,6 @@ App::$strings["Like us on Hubzilla"] = "Like us on Hubzilla"; App::$strings["Embed:"] = "Einbetten"; App::$strings["Male"] = "Männlich"; App::$strings["Female"] = "Weiblich"; -App::$strings["OpenID protocol error. No ID returned."] = "OpenID-Protokollfehler. Keine Kennung zurückgegeben."; -App::$strings["Login failed."] = "Login fehlgeschlagen."; App::$strings["First Name"] = "Vorname"; App::$strings["Last Name"] = "Nachname"; App::$strings["Full Name"] = "Voller Name"; @@ -2260,6 +2308,8 @@ App::$strings["Birth Day"] = "Geburtstag"; App::$strings["Birthdate"] = "Geburtsdatum"; App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal."; App::$strings["The error message was:"] = "Die Fehlermeldung war:"; +App::$strings["OpenID protocol error. No ID returned."] = "OpenID-Protokollfehler. Keine Kennung zurückgegeben."; +App::$strings["Login failed."] = "Login fehlgeschlagen."; App::$strings["Reconnecting %d connections"] = "Erneuere %d Verbindungen"; App::$strings["Diaspora Reconnect"] = ""; App::$strings["Use this form to re-establish Diaspora connections which were initially made from a different hub."] = ""; @@ -2286,11 +2336,66 @@ App::$strings["Delete member"] = "Mitglied löschen"; App::$strings["Edit proximity alert"] = "Annäherungsalarm bearbeiten"; App::$strings["A proximity alert will be issued when this member is within a certain radius of you.<br><br>Enter a radius in meters (0 to disable):"] = "Ein Annäherungsalarm wird ausgelöst werden, sobald sich dieses Mitglied innerhalb eines bestimmten Radius von Dir aufhält.<br><br>Gib einen Radius in Metern ein (0 zum Abschalten der Funktion):"; App::$strings["distance"] = "Entfernung"; +App::$strings["Proximity alert distance (meters)"] = ""; +App::$strings["A proximity alert will be issued when you are within a certain radius of the marker location.<br><br>Enter a radius in meters (0 to disable):"] = "Ein Annäherungsalarm wird ausgelöst werden, sobald Du Dich innerhalb eines bestimmten Radius der Markierung aufhält.<br><br>Gib einen Radius in Metern ein (0 zum Abschalten der Funktion):"; +App::$strings["Marker proximity alert"] = "Annäherungsalarm für Markierung"; +App::$strings["Reminder note"] = "Erinnerungshinweis"; +App::$strings["Enter a note to be displayed when you are within the specified proximity..."] = "Gib eine Nachricht ein, die angezeigt werden soll, wenn Du Dich in der festgelegten Nähe befindest..."; App::$strings["Add new rendezvous"] = "Neues Rendezvous hinzufügen"; App::$strings["Create a new rendezvous and share the access link with those you wish to invite to the group. Those who open the link become members of the rendezvous. They can view other member locations, add markers to the map, or share their own locations with the group."] = "Erstelle ein neues Rendezvous und teile den Zugriffslink mit allen, die Du in die Gruppe einladen möchtest. Die, die den Link öffnen, werden Mitglieder des Rendezvous. Sie können die Standorte der anderen Mitglieder sehen, Marker zur Karte hinzufügen oder ihre eigenen Standorte mit der Gruppe teilen."; -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["Install Firefox Sharing Tools"] = ""; +App::$strings["Share content from Firefox to \$Projectname"] = "Inhalte von Firefox nach \$Projectname teilen"; +App::$strings["Install Firefox Sharing Tools to this web browser"] = ""; +App::$strings["Error retrieving wiki"] = "Fehler beim Abrufen des Wiki"; +App::$strings["Error creating zip file export folder"] = "Fehler bei der Erzeugung des Zip-Datei Export-Verzeichnisses "; +App::$strings["Error downloading wiki: "] = "Fehler beim Herunterladen des Wiki:"; +App::$strings["Wiki Pages"] = "Wikiseiten"; +App::$strings["Add new page"] = "Neue Seite hinzufügen"; +App::$strings["Page name"] = "Seitenname"; +App::$strings["Wiki List"] = "Wikiliste"; +App::$strings["Enable the GNU-Social protocol for this channel"] = "GNU Social Protokoll für diesen Kanal aktualisieren"; +App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Suche %1\$s (%2\$s)"; +App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname"; +App::$strings["Search \$Projectname"] = ""; App::$strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"; +App::$strings["default"] = "Standard"; +App::$strings["Select an alternate language"] = "Wähle eine alternative Sprache"; +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["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["Categories"] = "Kategorien"; +App::$strings["Tags"] = "Schlagwörter"; +App::$strings["Keywords"] = "Schlüsselwörter"; +App::$strings["have"] = "habe"; +App::$strings["has"] = "hat"; +App::$strings["want"] = "will"; +App::$strings["wants"] = "will"; +App::$strings["likes"] = "gefällt"; +App::$strings["dislikes"] = "missfällt"; +App::$strings["Attachments:"] = "Anhänge:"; +App::$strings["l F d, Y \\@ g:i A"] = "l, d. F Y, H:i"; +App::$strings["\$Projectname event notification:"] = "\$Projectname-Terminbenachrichtigung:"; +App::$strings["Starts:"] = "Beginnt:"; +App::$strings["Finishes:"] = "Endet:"; App::$strings["Birthday"] = "Geburtstag"; App::$strings["Age: "] = "Alter:"; App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-TT oder MM-TT"; @@ -2327,26 +2432,6 @@ 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["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["Frequently"] = "Häufig"; App::$strings["Hourly"] = "Stündlich"; App::$strings["Twice daily"] = "Zwei Mal am Tag"; @@ -2407,6 +2492,168 @@ 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["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["%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:"; +App::$strings["View in context"] = "Im Zusammenhang anschauen"; +App::$strings["remove"] = "lösche"; +App::$strings["Loading..."] = "Lädt ..."; +App::$strings["Delete Selected Items"] = "Lösche die ausgewählten Elemente"; +App::$strings["View Source"] = "Quelle anzeigen"; +App::$strings["Follow Thread"] = "Unterhaltung folgen"; +App::$strings["Unfollow Thread"] = "Unterhaltung nicht mehr folgen"; +App::$strings["Activity/Posts"] = "Aktivitäten/Beiträge"; +App::$strings["Edit Connection"] = "Verbindung bearbeiten"; +App::$strings["Message"] = "Nachricht"; +App::$strings["%s likes this."] = "%s gefällt das."; +App::$strings["%s doesn't like this."] = "%s gefällt das nicht."; +App::$strings["<span %1\$s>%2\$d people</span> like this."] = array( + 0 => "<span %1\$s>%2\$d Person</span> gefällt das.", + 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das.", +); +App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array( + 0 => "<span %1\$s>%2\$d Person</span> gefällt das nicht.", + 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das nicht.", +); +App::$strings["and"] = "und"; +App::$strings[", and %d other people"] = array( + 0 => "", + 1 => ", und %d andere", +); +App::$strings["%s like this."] = "%s gefällt das."; +App::$strings["%s don't like this."] = "%s gefällt das nicht."; +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["Choose a different album..."] = "Wählen Sie ein anderes Album aus..."; +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"; +App::$strings["Commented Order"] = "Neueste Kommentare"; +App::$strings["Sort by Comment Date"] = "Nach Kommentardatum sortiert"; +App::$strings["Posted Order"] = "Neueste Beiträge"; +App::$strings["Sort by Post Date"] = "Nach Beitragsdatum sortiert"; +App::$strings["Posts that mention or involve you"] = "Beiträge mit Beteiligung Deinerseits"; +App::$strings["Activity Stream - by date"] = "Activity Stream – nach Datum sortiert"; +App::$strings["Starred"] = "Markiert"; +App::$strings["Favourite Posts"] = "Markierte Beiträge"; +App::$strings["Spam"] = "Spam"; +App::$strings["Posts flagged as SPAM"] = "Nachrichten, die als SPAM markiert wurden"; +App::$strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge"; +App::$strings["Profile Details"] = "Profil-Details"; +App::$strings["Photo Albums"] = "Fotoalben"; +App::$strings["Files and Storage"] = "Dateien und Speicher"; +App::$strings["Chatrooms"] = "Chaträume"; +App::$strings["Bookmarks"] = "Lesezeichen"; +App::$strings["Saved Bookmarks"] = "Gespeicherte Lesezeichen"; +App::$strings["View Webpages"] = "Webseiten anzeigen"; +App::$strings["__ctx:noun__ Attending"] = array( + 0 => "Zusage", + 1 => "Zusagen", +); +App::$strings["__ctx:noun__ Not Attending"] = array( + 0 => "Absage", + 1 => "Absagen", +); +App::$strings["__ctx:noun__ Undecided"] = array( + 0 => " Unentschlossen", + 1 => "Unentschlossene", +); +App::$strings["__ctx:noun__ Agree"] = array( + 0 => "Zustimmung", + 1 => "Zustimmungen", +); +App::$strings["__ctx:noun__ Disagree"] = array( + 0 => "Ablehnung", + 1 => "Ablehnungen", +); +App::$strings["__ctx:noun__ Abstain"] = array( + 0 => "Enthaltung", + 1 => "Enthaltungen", +); +App::$strings["Unable to determine sender."] = "Kann Absender nicht bestimmen."; +App::$strings["No recipient provided."] = "Kein Empfänger angegeben"; +App::$strings["[no subject]"] = "[no subject]"; +App::$strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden."; +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["System"] = "System"; +App::$strings["New App"] = "Neue App"; +App::$strings["Edit Apps"] = "Apps bearbeiten"; +App::$strings["Suggestions"] = "Vorschläge"; +App::$strings["See more..."] = "Mehr anzeigen …"; +App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen."; +App::$strings["Add New Connection"] = "Neue Verbindung hinzufügen"; +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["Saved Searches"] = "Gespeicherte Suchanfragen"; +App::$strings["add"] = "hinzufügen"; +App::$strings["Saved Folders"] = "Gespeicherte Ordner"; +App::$strings["Everything"] = "Alles"; +App::$strings["Archives"] = "Archive"; +App::$strings["Refresh"] = "Aktualisieren"; +App::$strings["Account settings"] = "Konto-Einstellungen"; +App::$strings["Channel settings"] = "Kanal-Einstellungen"; +App::$strings["Additional features"] = "Zusätzliche Funktionen"; +App::$strings["Feature/Addon settings"] = "Plugin-Einstellungen"; +App::$strings["Display settings"] = "Anzeige-Einstellungen"; +App::$strings["Manage locations"] = "Klon-Adressen verwalten"; +App::$strings["Export channel"] = "Kanal exportieren"; +App::$strings["Connected apps"] = "Verbundene Apps"; +App::$strings["Permission Groups"] = "Berechtigungsrollen"; +App::$strings["Premium Channel Settings"] = "Premium-Kanal-Einstellungen"; +App::$strings["Private Mail Menu"] = "Private Nachrichten"; +App::$strings["Combined View"] = "Kombinierte Anzeige"; +App::$strings["Inbox"] = "Eingang"; +App::$strings["Outbox"] = "Ausgang"; +App::$strings["New Message"] = "Neue Nachricht"; +App::$strings["Conversations"] = "Konversationen"; +App::$strings["Received Messages"] = "Erhaltene Nachrichten"; +App::$strings["Sent Messages"] = "Gesendete Nachrichten"; +App::$strings["No messages."] = "Keine Nachrichten."; +App::$strings["Delete conversation"] = "Unterhaltung löschen"; +App::$strings["Events Tools"] = "Kalenderwerkzeuge"; +App::$strings["Export Calendar"] = "Kalender exportieren"; +App::$strings["Import Calendar"] = "Kalender importieren"; +App::$strings["Overview"] = "Ãœbersicht"; +App::$strings["Chat Members"] = "Chatmitglieder"; +App::$strings["__ctx:wiki_history__ Message"] = "Nachricht"; +App::$strings["Bookmarked Chatrooms"] = "Gespeicherte Chatrooms"; +App::$strings["Suggested Chatrooms"] = "Chatraum-Vorschläge"; +App::$strings["photo/image"] = "Foto/Bild"; +App::$strings["Click to show more"] = "Klick, um mehr anzuzeigen"; +App::$strings["Rating Tools"] = "Bewertungswerkzeuge"; +App::$strings["Rate Me"] = "Bewerte mich"; +App::$strings["View Ratings"] = "Bewertungen ansehen"; +App::$strings["Forums"] = "Foren"; +App::$strings["Tasks"] = "Aufgaben"; +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["Admin"] = "Administration"; +App::$strings["Plugin Features"] = "Plug-In Funktionen"; +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["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"; @@ -2443,221 +2690,6 @@ 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["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["Logout"] = "Abmelden"; -App::$strings["End this session"] = "Beende diese Sitzung"; -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 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 wikis"] = "Ihre Wikis"; -App::$strings["Sign in"] = "Anmelden"; -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["Get me home"] = "Bringe mich nach Hause (eigener Kanal)"; -App::$strings["Log me out of this site"] = "Logge mich von dieser Seite aus"; -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["General Features"] = "Allgemeine Funktionen"; -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["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["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["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["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["Show friend and connection suggestions"] = "Freund- und Verbindungsvorschläge anzeigen"; -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["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["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["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["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["%1\$s's bookmarks"] = "%1\$ss Lesezeichen"; -App::$strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"; -App::$strings["Help:"] = "Hilfe:"; App::$strings["New Page"] = "Neue Seite"; App::$strings["%d invitation available"] = array( 0 => "%d Einladung verfügbar", @@ -2670,8 +2702,6 @@ App::$strings["Examples: Robert Morgenstein, Fishing"] = "Beispiele: Robert Morg 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["Everything"] = "Alles"; -App::$strings["Categories"] = "Kategorien"; App::$strings["%d connection in common"] = array( 0 => "%d gemeinsame Verbindung", 1 => "%d gemeinsame Verbindungen", @@ -2710,7 +2740,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"; @@ -2723,6 +2764,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"; @@ -2735,6 +2783,25 @@ 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["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["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["view full size"] = "In Vollbildansicht anschauen"; App::$strings["No Subject"] = "Kein Betreff"; App::$strings["OStatus"] = "OStatus"; @@ -2745,23 +2812,158 @@ App::$strings["Zot"] = "Zot!"; App::$strings["LinkedIn"] = "LinkedIn"; App::$strings["XMPP/IM"] = "XMPP/IM"; App::$strings["MySpace"] = "MySpace"; -App::$strings["Tags"] = "Schlagwörter"; -App::$strings["Keywords"] = "Schlüsselwörter"; -App::$strings["have"] = "habe"; -App::$strings["has"] = "hat"; -App::$strings["want"] = "will"; -App::$strings["wants"] = "will"; -App::$strings["likes"] = "gefällt"; -App::$strings["dislikes"] = "missfällt"; +App::$strings[" by "] = "von"; +App::$strings[" on "] = "am"; +App::$strings["Embedded content"] = "Eingebetteter Inhalt"; +App::$strings["Embedding disabled"] = "Einbetten deaktiviert"; +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["Upload New Photos"] = "Neue Fotos hochladen"; +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["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["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["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["Logout"] = "Abmelden"; +App::$strings["End this session"] = "Beende diese Sitzung"; +App::$strings["Your profile page"] = "Deine Profilseite"; +App::$strings["Manage/Edit profiles"] = "Profile verwalten"; +App::$strings["Edit your profile"] = "Profil bearbeiten"; +App::$strings["Sign in"] = "Anmelden"; +App::$strings["Get me home"] = "Bringe mich nach Hause (eigener Kanal)"; +App::$strings["Log me out of this site"] = "Logge mich von dieser Seite aus"; +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["View your network/grid"] = "Zeige Dein Netzwerk/Grid an"; +App::$strings["Mark all grid notifications seen"] = "Alle Grid-Benachrichtigungen als angesehen markieren"; +App::$strings["Channel home"] = "Mein Kanal"; +App::$strings["View your channel home"] = "Zeige Deine Kanalseite an"; +App::$strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen"; +App::$strings["Notices"] = "Benachrichtigungen"; +App::$strings["Notifications"] = "Benachrichtigungen"; +App::$strings["View all notifications"] = "Alle Benachrichtigungen ansehen"; +App::$strings["Private mail"] = "Persönliche Mail"; +App::$strings["View your private messages"] = "Zeige Deine persönlichen Nachrichten an"; +App::$strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen"; +App::$strings["Event Calendar"] = "Terminkalender"; +App::$strings["View events"] = "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["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration"; +App::$strings["Documentation"] = "Dokumentation"; +App::$strings["@name, #tag, ?doc, content"] = "@Name, #Schlagwort, ?Dokumentation, Inhalt"; +App::$strings["Please wait..."] = "Bitte warten..."; 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["Cloned channel not found. Import failed."] = "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."; App::$strings["Unable to import element \""] = "Element konnte nicht importiert werden."; -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["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["Logged out."] = "Ausgeloggt."; +App::$strings["Failed authentication"] = "Authentifizierung fehlgeschlagen"; +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[" and "] = "und"; +App::$strings["public profile"] = "öffentliches Profil"; +App::$strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s hat %2\$s auf “%3\$s” 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["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["$1 wrote:"] = "$1 schrieb:"; +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["This event has been added to your calendar."] = "Dieser Termin wurde zu Deinem Kalender hinzugefügt"; +App::$strings["Not specified"] = "Keine Angabe"; +App::$strings["Needs Action"] = "Aktion erforderlich"; +App::$strings["Completed"] = "Abgeschlossen"; +App::$strings["In Process"] = "In Bearbeitung"; +App::$strings["Cancelled"] = "gestrichen"; 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."; @@ -2778,125 +2980,6 @@ App::$strings["profile photo"] = "Profilfoto"; App::$strings["[Edited %s]"] = "[%s wurde bearbeitet]"; App::$strings["__ctx:edit_activity__ Post"] = "Beitrag"; App::$strings["__ctx:edit_activity__ Comment"] = "Kommentar"; -App::$strings["Logged out."] = "Ausgeloggt."; -App::$strings["Failed authentication"] = "Authentifizierung fehlgeschlagen"; -App::$strings[" and "] = "und"; -App::$strings["public profile"] = "öffentliches Profil"; -App::$strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s hat %2\$s auf “%3\$s” 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["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["l F d, Y \\@ g:i A"] = "l, d. F Y, H:i"; -App::$strings["Starts:"] = "Beginnt:"; -App::$strings["Finishes:"] = "Endet:"; -App::$strings["This event has been added to your calendar."] = "Dieser Termin wurde zu Deinem Kalender hinzugefügt"; -App::$strings["Not specified"] = "Keine Angabe"; -App::$strings["Needs Action"] = "Aktion erforderlich"; -App::$strings["Completed"] = "Abgeschlossen"; -App::$strings["In Process"] = "In Bearbeitung"; -App::$strings["Cancelled"] = "gestrichen"; -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["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["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["Select an alternate language"] = "Wähle eine alternative Sprache"; -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["System"] = "System"; -App::$strings["New App"] = "Neue App"; -App::$strings["Suggestions"] = "Vorschläge"; -App::$strings["See more..."] = "Mehr anzeigen …"; -App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen."; -App::$strings["Add New Connection"] = "Neue Verbindung hinzufügen"; -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["Archives"] = "Archive"; -App::$strings["Refresh"] = "Aktualisieren"; -App::$strings["Account settings"] = "Konto-Einstellungen"; -App::$strings["Channel settings"] = "Kanal-Einstellungen"; -App::$strings["Additional features"] = "Zusätzliche Funktionen"; -App::$strings["Feature/Addon settings"] = "Plugin-Einstellungen"; -App::$strings["Display settings"] = "Anzeige-Einstellungen"; -App::$strings["Manage locations"] = "Klon-Adressen verwalten"; -App::$strings["Export channel"] = "Kanal exportieren"; -App::$strings["Connected apps"] = "Verbundene Apps"; -App::$strings["Premium Channel Settings"] = "Premium-Kanal-Einstellungen"; -App::$strings["Private Mail Menu"] = "Private Nachrichten"; -App::$strings["Combined View"] = "Kombinierte Anzeige"; -App::$strings["Conversations"] = "Konversationen"; -App::$strings["Received Messages"] = "Erhaltene Nachrichten"; -App::$strings["Sent Messages"] = "Gesendete Nachrichten"; -App::$strings["No messages."] = "Keine Nachrichten."; -App::$strings["Delete conversation"] = "Unterhaltung löschen"; -App::$strings["Events Tools"] = "Kalenderwerkzeuge"; -App::$strings["Export Calendar"] = "Kalender exportieren"; -App::$strings["Import Calendar"] = "Kalender importieren"; -App::$strings["Chatrooms"] = "Chaträume"; -App::$strings["Overview"] = "Ãœbersicht"; -App::$strings["Chat Members"] = "Chatmitglieder"; -App::$strings["Wiki List"] = "Wikiliste"; -App::$strings["Create new wiki"] = "Neues Wiki erstellen"; -App::$strings["Send notification"] = "Benachrichtigung senden"; -App::$strings["Wiki Pages"] = "Wikiseiten"; -App::$strings["Add new page"] = "Neue Seite hinzufügen"; -App::$strings["Page name"] = "Seitenname"; -App::$strings["Bookmarked Chatrooms"] = "Gespeicherte Chatrooms"; -App::$strings["Suggested Chatrooms"] = "Chatraum-Vorschläge"; -App::$strings["photo/image"] = "Foto/Bild"; -App::$strings["Click to show more"] = "Klick, um mehr anzuzeigen"; -App::$strings["Rating Tools"] = "Bewertungswerkzeuge"; -App::$strings["Rate Me"] = "Bewerte mich"; -App::$strings["View Ratings"] = "Bewertungen ansehen"; -App::$strings["Forums"] = "Foren"; -App::$strings["Tasks"] = "Aufgaben"; -App::$strings["Documentation"] = "Dokumentation"; -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["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[" by "] = "von"; -App::$strings[" on "] = "am"; -App::$strings["Embedded content"] = "Eingebetteter Inhalt"; -App::$strings["Embedding disabled"] = "Einbetten deaktiviert"; -App::$strings["Attachments:"] = "Anhänge:"; -App::$strings["\$Projectname event notification:"] = "\$Projectname-Terminbenachrichtigung:"; 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"; @@ -2910,101 +2993,82 @@ 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["%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["View %s's profile @ %s"] = "%ss Profil auf %s ansehen"; -App::$strings["Categories:"] = "Kategorien:"; -App::$strings["Filed under:"] = "Gespeichert unter:"; -App::$strings["View in context"] = "Im Zusammenhang anschauen"; -App::$strings["remove"] = "lösche"; -App::$strings["Delete Selected Items"] = "Lösche die ausgewählten Elemente"; -App::$strings["View Source"] = "Quelle anzeigen"; -App::$strings["Follow Thread"] = "Unterhaltung folgen"; -App::$strings["Unfollow Thread"] = "Unterhaltung nicht mehr folgen"; -App::$strings["Activity/Posts"] = "Aktivitäten/Beiträge"; -App::$strings["Edit Connection"] = "Verbindung bearbeiten"; -App::$strings["Message"] = "Nachricht"; -App::$strings["%s likes this."] = "%s gefällt das."; -App::$strings["%s doesn't like this."] = "%s gefällt das nicht."; -App::$strings["<span %1\$s>%2\$d people</span> like this."] = array( - 0 => "<span %1\$s>%2\$d Person</span> gefällt das.", - 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das.", -); -App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array( - 0 => "<span %1\$s>%2\$d Person</span> gefällt das nicht.", - 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das nicht.", -); -App::$strings["and"] = "und"; -App::$strings[", and %d other people"] = array( - 0 => "", - 1 => ", und %d andere", -); -App::$strings["%s like this."] = "%s gefällt das."; -App::$strings["%s don't like this."] = "%s gefällt das nicht."; -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"; -App::$strings["Commented Order"] = "Neueste Kommentare"; -App::$strings["Sort by Comment Date"] = "Nach Kommentardatum sortiert"; -App::$strings["Posted Order"] = "Neueste Beiträge"; -App::$strings["Sort by Post Date"] = "Nach Beitragsdatum sortiert"; -App::$strings["Posts that mention or involve you"] = "Beiträge mit Beteiligung Deinerseits"; -App::$strings["Activity Stream - by date"] = "Activity Stream – nach Datum sortiert"; -App::$strings["Starred"] = "Markiert"; -App::$strings["Favourite Posts"] = "Markierte Beiträge"; -App::$strings["Spam"] = "Spam"; -App::$strings["Posts flagged as SPAM"] = "Nachrichten, die als SPAM markiert wurden"; -App::$strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge"; -App::$strings["About"] = "Ãœber"; -App::$strings["Profile Details"] = "Profil-Details"; -App::$strings["Files and Storage"] = "Dateien und Speicher"; -App::$strings["Saved Bookmarks"] = "Gespeicherte Lesezeichen"; -App::$strings["Manage Webpages"] = "Webseiten verwalten"; -App::$strings["__ctx:noun__ Attending"] = array( - 0 => "Zusage", - 1 => "Zusagen", -); -App::$strings["__ctx:noun__ Not Attending"] = array( - 0 => "Absage", - 1 => "Absagen", -); -App::$strings["__ctx:noun__ Undecided"] = array( - 0 => " Unentschlossen", - 1 => "Unentschlossene", -); -App::$strings["__ctx:noun__ Agree"] = array( - 0 => "Zustimmung", - 1 => "Zustimmungen", -); -App::$strings["__ctx:noun__ Disagree"] = array( - 0 => "Ablehnung", - 1 => "Ablehnungen", -); -App::$strings["__ctx:noun__ Abstain"] = array( - 0 => "Enthaltung", - 1 => "Enthaltungen", -); -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["$1 wrote:"] = "$1 schrieb:"; +App::$strings["General Features"] = "Allgemeine Funktionen"; +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["Provide alternate connection permission roles."] = "Stelle benutzerdefinierte Berechtigungsrollen für Verbindungen zur Verfügung."; +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["Event Timezone Selection"] = "Termin-Zeitzonenauswahl"; +App::$strings["Allow event creation in timezones other than your own."] = ""; +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["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["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["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["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["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["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["Help:"] = "Hilfe:"; +App::$strings["Not Found"] = "Nicht gefunden"; +App::$strings["Source channel not found."] = "Quellkanal nicht gefunden."; App::$strings["Focus (Hubzilla default)"] = "Focus (Voreinstellung für Hubzilla)"; App::$strings["Theme settings"] = "Theme-Einstellungen"; App::$strings["Narrow navbar"] = "Schmale Navigationsleiste"; @@ -3038,11 +3102,9 @@ App::$strings["Left align page content"] = "Seiteninhalt linksbündig anzeigen"; App::$strings["Set minimum opacity of nav bar - to hide it"] = "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)"; App::$strings["Set size of conversation author photo"] = "Größe der Avatare von Themenstartern"; App::$strings["Set size of followup author photos"] = "Größe der Avatare von Kommentatoren"; -App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Suche %1\$s (%2\$s)"; -App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname"; App::$strings["Update %s failed. See error logs."] = "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."; App::$strings["Update Error at %s"] = "Aktualisierungsfehler auf %s"; -App::$strings["Create an account to access services and applications within the Hubzilla"] = "Erstelle ein Konto, um Anwendungen und Dienste innerhalb von Hubzilla nutzen zu können."; +App::$strings["Create an account to access services and applications"] = "Erstelle ein Konto, um auf Dienste und Anwendungen zugreifen zu können."; App::$strings["Login/Email"] = "Anmelden/E-Mail"; App::$strings["Password"] = "Kennwort"; App::$strings["Remember me"] = "Angaben speichern"; diff --git a/view/fr/hmessages.po b/view/fr/hmessages.po index 73d711700..e972636dd 100644 --- a/view/fr/hmessages.po +++ b/view/fr/hmessages.po @@ -1,16 +1,18 @@ -# Hubzilla Project -# Copyright (C) 2012-2014 the Hubzilla Project -# This file is distributed under the same license as the Red package. +# hubzilla +# Copyright (C) 2012-2016 hubzilla +# This file is distributed under the same license as the hubzilla package. # # Translators: # kris1373 <aktosc@gmail.com>, 2015-2016 -# Raymond Monret <raymond.monret@retmesagxo.net>, 2016 +# rmonret <raymond.monret@retmesagxo.net>, 2016 +# rmonret <raymond.monret@retmesagxo.net>, 2017 +# Seraph Ino, 2016 msgid "" msgstr "" "Project-Id-Version: Redmatrix\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-06-10 00:02-0700\n" -"PO-Revision-Date: 2016-06-10 09:14+0000\n" +"POT-Creation-Date: 2017-02-17 00:05-0800\n" +"PO-Revision-Date: 2017-02-18 09:27+0000\n" "Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n" "Language-Team: French (http://www.transifex.com/Friendica/red-matrix/language/fr/)\n" "MIME-Version: 1.0\n" @@ -19,221 +21,424 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239 +#: ../../Zotlabs/Access/PermissionRoles.php:248 +#: ../../include/permissions.php:945 +msgid "Social Networking" +msgstr "Réseau social" + +#: ../../Zotlabs/Access/PermissionRoles.php:249 +#: ../../include/permissions.php:945 +msgid "Social - Mostly Public" +msgstr "Social - principalement public" + +#: ../../Zotlabs/Access/PermissionRoles.php:250 +#: ../../include/permissions.php:945 +msgid "Social - Restricted" +msgstr "Social - restreint" + +#: ../../Zotlabs/Access/PermissionRoles.php:251 +#: ../../include/permissions.php:945 +msgid "Social - Private" +msgstr "Social - privé" + +#: ../../Zotlabs/Access/PermissionRoles.php:254 +#: ../../include/permissions.php:946 +msgid "Community Forum" +msgstr "Forum communautaire" + +#: ../../Zotlabs/Access/PermissionRoles.php:255 +#: ../../include/permissions.php:946 +msgid "Forum - Mostly Public" +msgstr "Forum - principalement public" + +#: ../../Zotlabs/Access/PermissionRoles.php:256 +#: ../../include/permissions.php:946 +msgid "Forum - Restricted" +msgstr "Forum - restreint" + +#: ../../Zotlabs/Access/PermissionRoles.php:257 +#: ../../include/permissions.php:946 +msgid "Forum - Private" +msgstr "Forum - privé" + +#: ../../Zotlabs/Access/PermissionRoles.php:260 +#: ../../include/permissions.php:947 +msgid "Feed Republish" +msgstr "Republication de flux" + +#: ../../Zotlabs/Access/PermissionRoles.php:261 +#: ../../include/permissions.php:947 +msgid "Feed - Mostly Public" +msgstr "Flux - principalement public" + +#: ../../Zotlabs/Access/PermissionRoles.php:262 +#: ../../include/permissions.php:947 +msgid "Feed - Restricted" +msgstr "Flux - restreint" + +#: ../../Zotlabs/Access/PermissionRoles.php:265 +#: ../../include/permissions.php:948 +msgid "Special Purpose" +msgstr "Utilisation spécifique" + +#: ../../Zotlabs/Access/PermissionRoles.php:266 +#: ../../include/permissions.php:948 +msgid "Special - Celebrity/Soapbox" +msgstr "Spécial - célébrité/vitrine" + +#: ../../Zotlabs/Access/PermissionRoles.php:267 +#: ../../include/permissions.php:948 +msgid "Special - Group Repository" +msgstr "Spécial - dépôt partagé" + +#: ../../Zotlabs/Access/PermissionRoles.php:270 +#: ../../Zotlabs/Module/Register.php:213 ../../Zotlabs/Module/Connedit.php:879 +#: ../../Zotlabs/Module/New_channel.php:132 +#: ../../Zotlabs/Module/Settings/Channel.php:463 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1148 +#: ../../extend/addon/addon/cdav/cdav.php:277 +#: ../../extend/addon/addon/cdav/cdav.php:284 ../../include/selectors.php:49 +#: ../../include/selectors.php:66 ../../include/selectors.php:104 +#: ../../include/selectors.php:140 ../../include/connections.php:901 +#: ../../include/connections.php:908 ../../include/permissions.php:949 +msgid "Other" +msgstr "Autre" + +#: ../../Zotlabs/Access/PermissionRoles.php:271 +#: ../../include/permissions.php:949 +msgid "Custom/Expert Mode" +msgstr "Mode expert/spécifique" + +#: ../../Zotlabs/Access/Permissions.php:46 +msgid "Can view my channel stream and posts" +msgstr "Peut voir mon canal et mes publicatiosn" + +#: ../../Zotlabs/Access/Permissions.php:47 ../../include/permissions.php:42 +msgid "Can send me their channel stream and posts" +msgstr "Peuvent m'envoyer leur flux et les publications de leur canal" + +#: ../../Zotlabs/Access/Permissions.php:48 ../../include/permissions.php:36 +msgid "Can view my default channel profile" +msgstr "Peut voir le profil par défaut du canal." + +#: ../../Zotlabs/Access/Permissions.php:49 ../../include/permissions.php:37 +msgid "Can view my connections" +msgstr "Peut voir mes contacts" + +#: ../../Zotlabs/Access/Permissions.php:50 ../../include/permissions.php:38 +msgid "Can view my file storage and photos" +msgstr "Peut voir mes fichiers et photos" + +#: ../../Zotlabs/Access/Permissions.php:51 +msgid "Can upload/modify my file storage and photos" +msgstr "Peut télécharger/modifier mes fichiers et mes photos" + +#: ../../Zotlabs/Access/Permissions.php:52 +msgid "Can view my channel webpages" +msgstr "Peut voir les pages web de mon canal" + +#: ../../Zotlabs/Access/Permissions.php:53 +msgid "Can view my wiki pages" +msgstr "Peut voir les pages de mon wiki" + +#: ../../Zotlabs/Access/Permissions.php:54 +msgid "Can create/edit my channel webpages" +msgstr "Peut créer ou modifier les pages web de mon canal" + +#: ../../Zotlabs/Access/Permissions.php:55 +msgid "Can write to my wiki pages" +msgstr "Peut écrire sur mon wiki" + +#: ../../Zotlabs/Access/Permissions.php:56 +msgid "Can post on my channel (wall) page" +msgstr "Peut écrire sur le mur de mon canal (mur)" + +#: ../../Zotlabs/Access/Permissions.php:57 ../../include/permissions.php:44 +msgid "Can comment on or like my posts" +msgstr "Peuvent commenter et/ou aimer mes publications" + +#: ../../Zotlabs/Access/Permissions.php:58 ../../include/permissions.php:45 +msgid "Can send me private mail messages" +msgstr "Peuvent m'envoyer des messages privés" + +#: ../../Zotlabs/Access/Permissions.php:59 +msgid "Can like/dislike profiles and profile things" +msgstr "Peut aimer ou détester des profiles" + +#: ../../Zotlabs/Access/Permissions.php:60 +msgid "Can forward to all my channel connections via @+ mentions in posts" +msgstr "Peut faire suivre à tous mes contacts avec la mention @+ dans une publication" + +#: ../../Zotlabs/Access/Permissions.php:61 +msgid "Can chat with me" +msgstr "Peut discuter avec moi" + +#: ../../Zotlabs/Access/Permissions.php:62 ../../include/permissions.php:53 +msgid "Can source my public posts in derived channels" +msgstr "Peut rediriger mes publications publiques vers des canaux dérivés" + +#: ../../Zotlabs/Access/Permissions.php:63 +msgid "Can administer my channel" +msgstr "Peut administrer mon canal" + +#: ../../Zotlabs/Storage/Browser.php:106 ../../Zotlabs/Storage/Browser.php:237 msgid "parent" msgstr "retour" -#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620 +#: ../../Zotlabs/Storage/Browser.php:130 ../../include/text.php:2695 msgid "Collection" msgstr "Groupe de contacts" -#: ../../Zotlabs/Storage/Browser.php:134 +#: ../../Zotlabs/Storage/Browser.php:133 msgid "Principal" msgstr "Principal" -#: ../../Zotlabs/Storage/Browser.php:137 +#: ../../Zotlabs/Storage/Browser.php:136 msgid "Addressbook" msgstr "Carnet d'adresse" -#: ../../Zotlabs/Storage/Browser.php:140 +#: ../../Zotlabs/Storage/Browser.php:139 msgid "Calendar" msgstr "Calendrier" -#: ../../Zotlabs/Storage/Browser.php:143 +#: ../../Zotlabs/Storage/Browser.php:142 msgid "Schedule Inbox" msgstr "Calendrier - Messages entrants" -#: ../../Zotlabs/Storage/Browser.php:146 +#: ../../Zotlabs/Storage/Browser.php:145 msgid "Schedule Outbox" msgstr "Calendrier - Messages sortants" -#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798 -#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486 -#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505 -#: ../../include/conversation.php:1032 +#: ../../Zotlabs/Storage/Browser.php:163 ../../Zotlabs/Module/Photos.php:784 +#: ../../Zotlabs/Module/Photos.php:1244 +#: ../../Zotlabs/Module/Embedphotos.php:145 ../../Zotlabs/Lib/Apps.php:559 +#: ../../Zotlabs/Lib/Apps.php:637 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:745 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:746 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:753 +#: ../../include/conversation.php:1177 ../../include/widgets.php:1714 msgid "Unknown" msgstr "Inconnu" -#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85 -#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93 -#: ../../include/conversation.php:1639 +#: ../../Zotlabs/Storage/Browser.php:224 ../../Zotlabs/Module/Fbrowser.php:85 +#: ../../Zotlabs/Lib/Apps.php:224 ../../include/conversation.php:1843 msgid "Files" msgstr "Fichiers" -#: ../../Zotlabs/Storage/Browser.php:227 +#: ../../Zotlabs/Storage/Browser.php:225 msgid "Total" msgstr "Total" -#: ../../Zotlabs/Storage/Browser.php:229 +#: ../../Zotlabs/Storage/Browser.php:227 msgid "Shared" msgstr "Partagé" -#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306 -#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182 -#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142 -#: ../../Zotlabs/Module/Webpages.php:186 +#: ../../Zotlabs/Storage/Browser.php:228 ../../Zotlabs/Storage/Browser.php:321 +#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/Connedit.php:882 +#: ../../Zotlabs/Module/New_channel.php:147 +#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184 +#: ../../Zotlabs/Module/Webpages.php:243 +#: ../../extend/addon/addon/cdav/include/widgets.php:127 +#: ../../extend/addon/addon/cdav/include/widgets.php:164 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1151 msgid "Create" msgstr "Créer" -#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308 +#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:323 +#: ../../Zotlabs/Module/Photos.php:811 ../../Zotlabs/Module/Photos.php:1368 #: ../../Zotlabs/Module/Cover_photo.php:357 -#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364 -#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518 +#: ../../Zotlabs/Module/Profile_photo.php:412 +#: ../../Zotlabs/Module/Embedphotos.php:157 +#: ../../extend/addon/addon/cdav/include/widgets.php:132 +#: ../../extend/addon/addon/cdav/include/widgets.php:168 +#: ../../include/widgets.php:1727 msgid "Upload" msgstr "Envoyer" -#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247 -#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592 -#: ../../Zotlabs/Module/Settings.php:618 -#: ../../Zotlabs/Module/Sharedwithme.php:99 +#: ../../Zotlabs/Storage/Browser.php:233 +#: ../../Zotlabs/Module/Admin/Channels.php:159 +#: ../../Zotlabs/Module/Connedit.php:867 +#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Wiki.php:170 +#: ../../Zotlabs/Module/Settings/Oauth.php:89 +#: ../../Zotlabs/Module/Settings/Oauth.php:115 +#: ../../Zotlabs/Module/Chat.php:250 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1136 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:172 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:156 +#: ../../include/widgets.php:990 msgid "Name" msgstr "Nom" -#: ../../Zotlabs/Storage/Browser.php:236 +#: ../../Zotlabs/Storage/Browser.php:234 ../../Zotlabs/Module/Wiki.php:171 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:157 msgid "Type" msgstr "Type" -#: ../../Zotlabs/Storage/Browser.php:237 -#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344 +#: ../../Zotlabs/Storage/Browser.php:235 +#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1408 msgid "Size" msgstr "Taille" -#: ../../Zotlabs/Storage/Browser.php:238 +#: ../../Zotlabs/Storage/Browser.php:236 #: ../../Zotlabs/Module/Sharedwithme.php:102 msgid "Last Modified" msgstr "Modifié le" -#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157 +#: ../../Zotlabs/Storage/Browser.php:238 ../../Zotlabs/Module/Editpost.php:85 #: ../../Zotlabs/Module/Editblock.php:109 -#: ../../Zotlabs/Module/Connections.php:290 -#: ../../Zotlabs/Module/Connections.php:310 -#: ../../Zotlabs/Module/Editpost.php:84 -#: ../../Zotlabs/Module/Editlayout.php:113 -#: ../../Zotlabs/Module/Editwebpage.php:146 -#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112 -#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652 -#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187 -#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106 -#: ../../include/channel.php:937 ../../include/channel.php:941 -#: ../../include/menu.php:108 ../../include/page_widgets.php:8 -#: ../../include/page_widgets.php:36 +#: ../../Zotlabs/Module/Connections.php:300 +#: ../../Zotlabs/Module/Connections.php:320 +#: ../../Zotlabs/Module/Admin/Profs.php:154 +#: ../../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:244 ../../Zotlabs/Module/Wiki.php:163 +#: ../../Zotlabs/Module/Wiki.php:273 +#: ../../Zotlabs/Module/Settings/Oauth.php:149 +#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Lib/ThreadItem.php:106 +#: ../../Zotlabs/Lib/Apps.php:357 +#: ../../extend/addon/addon/cdav/include/widgets.php:125 +#: ../../extend/addon/addon/cdav/include/widgets.php:161 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:149 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:251 +#: ../../include/menu.php:113 ../../include/channel.php:1044 +#: ../../include/channel.php:1048 ../../include/page_widgets.php:9 +#: ../../include/page_widgets.php:39 msgid "Edit" msgstr "Modifier" -#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159 -#: ../../Zotlabs/Module/Connedit.php:572 +#: ../../Zotlabs/Storage/Browser.php:239 ../../Zotlabs/Module/Photos.php:1174 #: ../../Zotlabs/Module/Editblock.php:134 -#: ../../Zotlabs/Module/Connections.php:263 -#: ../../Zotlabs/Module/Editlayout.php:136 -#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177 -#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039 -#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114 -#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261 -#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338 -#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657 +#: ../../Zotlabs/Module/Connections.php:271 +#: ../../Zotlabs/Module/Admin/Profs.php:155 +#: ../../Zotlabs/Module/Admin/Accounts.php:173 +#: ../../Zotlabs/Module/Admin/Channels.php:149 +#: ../../Zotlabs/Module/Editlayout.php:137 +#: ../../Zotlabs/Module/Editwebpage.php:170 +#: ../../Zotlabs/Module/Connedit.php:626 ../../Zotlabs/Module/Connedit.php:884 +#: ../../Zotlabs/Module/Group.php:177 ../../Zotlabs/Module/Blocks.php:162 +#: ../../Zotlabs/Module/Webpages.php:246 +#: ../../Zotlabs/Module/Settings/Oauth.php:150 +#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Lib/ThreadItem.php:126 +#: ../../Zotlabs/Lib/Apps.php:358 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:864 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1153 +#: ../../include/conversation.php:656 msgid "Delete" msgstr "Supprimer" -#: ../../Zotlabs/Storage/Browser.php:285 +#: ../../Zotlabs/Storage/Browser.php:299 #, php-format msgid "You are using %1$s of your available file storage." msgstr "Vous utilisez %1$s de votre espace de stockage." -#: ../../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%)" msgstr "Vous utilisez %1$s sur %2$s d'espace disponible. (%3$s%)" -#: ../../Zotlabs/Storage/Browser.php:302 +#: ../../Zotlabs/Storage/Browser.php:315 msgid "WARNING:" msgstr "AVERTISSEMENT :" -#: ../../Zotlabs/Storage/Browser.php:305 +#: ../../Zotlabs/Storage/Browser.php:320 msgid "Create new folder" msgstr "Nouveau dossier" -#: ../../Zotlabs/Storage/Browser.php:307 +#: ../../Zotlabs/Storage/Browser.php:322 msgid "Upload file" msgstr "Téléverser un fichier" -#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10 -#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72 -#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112 +#: ../../Zotlabs/Storage/Browser.php:335 +msgid "Drop files here to immediately upload" +msgstr "Mettez un fichier ici pour le télécharger immédiatement" + +#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Like.php:283 +#: ../../Zotlabs/Module/Group.php:72 ../../Zotlabs/Module/Dreport.php:10 +#: ../../Zotlabs/Module/Dreport.php:68 +#: ../../Zotlabs/Module/Import_items.php:114 #: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62 -#: ../../include/items.php:385 +#: ../../extend/addon/addon/frphotos/frphotos.php:81 +#: ../../extend/addon/addon/redfiles/redfiles.php:109 +#: ../../extend/addon/addon/redphotos/redphotos.php:119 +#: ../../include/items.php:327 msgid "Permission denied" msgstr "Accès refusé" -#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65 -#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73 -#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105 -#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267 -#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105 -#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26 -#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61 -#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67 -#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33 +#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:67 +#: ../../Zotlabs/Module/Achievements.php:34 +#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Photos.php:73 +#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Authtest.php:16 +#: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Editblock.php:67 +#: ../../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/Editpost.php:17 ../../Zotlabs/Module/Events.php:265 #: ../../Zotlabs/Module/Editlayout.php:67 #: ../../Zotlabs/Module/Editlayout.php:90 -#: ../../Zotlabs/Module/Editwebpage.php:69 -#: ../../Zotlabs/Module/Editwebpage.php:90 -#: ../../Zotlabs/Module/Editwebpage.php:105 -#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13 -#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18 -#: ../../Zotlabs/Module/Filestorage.php:24 -#: ../../Zotlabs/Module/Filestorage.php:79 -#: ../../Zotlabs/Module/Filestorage.php:94 -#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210 -#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070 -#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78 -#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76 -#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17 -#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87 -#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10 -#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18 -#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17 -#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77 -#: ../../Zotlabs/Module/New_channel.php:104 -#: ../../Zotlabs/Module/Notifications.php:70 -#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35 -#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26 -#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68 -#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203 -#: ../../Zotlabs/Module/Profiles.php:601 -#: ../../Zotlabs/Module/Profile_photo.php:256 -#: ../../Zotlabs/Module/Profile_photo.php:269 -#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75 -#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21 +#: ../../Zotlabs/Module/Editwebpage.php:68 +#: ../../Zotlabs/Module/Editwebpage.php:89 +#: ../../Zotlabs/Module/Editwebpage.php:104 +#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Like.php:181 +#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Menu.php:78 +#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Connedit.php:388 +#: ../../Zotlabs/Module/Filestorage.php:23 +#: ../../Zotlabs/Module/Filestorage.php:78 +#: ../../Zotlabs/Module/Filestorage.php:93 +#: ../../Zotlabs/Module/Filestorage.php:120 +#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Group.php:13 +#: ../../Zotlabs/Module/Block.php:26 ../../Zotlabs/Module/Block.php:76 +#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Mitem.php:115 +#: ../../Zotlabs/Module/Appman.php:81 ../../Zotlabs/Module/Mood.php:116 +#: ../../Zotlabs/Module/Profiles.php:198 ../../Zotlabs/Module/Profiles.php:636 +#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Invite.php:17 +#: ../../Zotlabs/Module/Invite.php:94 ../../Zotlabs/Module/New_channel.php:77 +#: ../../Zotlabs/Module/New_channel.php:104 ../../Zotlabs/Module/Setup.php:212 +#: ../../Zotlabs/Module/Notifications.php:11 ../../Zotlabs/Module/Poke.php:137 +#: ../../Zotlabs/Module/Item.php:220 ../../Zotlabs/Module/Item.php:230 +#: ../../Zotlabs/Module/Item.php:1067 ../../Zotlabs/Module/Profile.php:70 +#: ../../Zotlabs/Module/Profile.php:87 ../../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/Rate.php:113 +#: ../../Zotlabs/Module/Profile_photo.php:274 +#: ../../Zotlabs/Module/Profile_photo.php:287 +#: ../../Zotlabs/Module/Events.php:271 ../../Zotlabs/Module/Common.php:39 +#: ../../Zotlabs/Module/Channel.php:107 ../../Zotlabs/Module/Channel.php:237 +#: ../../Zotlabs/Module/Channel.php:277 ../../Zotlabs/Module/Regmod.php:21 +#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Message.php:18 #: ../../Zotlabs/Module/Service_limits.php:11 -#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215 -#: ../../Zotlabs/Module/Sharedwithme.php:11 -#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30 -#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294 -#: ../../Zotlabs/Module/Thing.php:331 -#: ../../Zotlabs/Module/Viewconnections.php:25 -#: ../../Zotlabs/Module/Viewconnections.php:30 -#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74 -#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438 -#: ../../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:437 ../../include/attach.php:895 -#: ../../include/attach.php:966 ../../include/attach.php:1118 -#: ../../include/photos.php:27 +#: ../../Zotlabs/Module/Webpages.php:116 +#: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Wiki.php:49 +#: ../../Zotlabs/Module/Wiki.php:214 ../../Zotlabs/Module/Wiki.php:313 +#: ../../Zotlabs/Module/Wiki.php:318 ../../Zotlabs/Module/Sources.php:74 +#: ../../Zotlabs/Module/Suggest.php:30 ../../Zotlabs/Module/Thing.php:274 +#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:335 +#: ../../Zotlabs/Module/Mail.php:164 +#: ../../Zotlabs/Module/Viewconnections.php:28 +#: ../../Zotlabs/Module/Viewconnections.php:33 +#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100 +#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137 +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:55 +#: ../../extend/addon/addon/keepout/keepout.php:36 +#: ../../extend/addon/addon/pumpio/pumpio.php:40 +#: ../../extend/addon/addon/openid/Mod_Id.php:53 +#: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:58 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:194 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:291 +#: ../../include/attach.php:144 ../../include/attach.php:191 +#: ../../include/attach.php:255 ../../include/attach.php:269 +#: ../../include/attach.php:276 ../../include/attach.php:343 +#: ../../include/attach.php:357 ../../include/attach.php:364 +#: ../../include/attach.php:441 ../../include/attach.php:908 +#: ../../include/attach.php:979 ../../include/attach.php:1137 +#: ../../include/photos.php:27 ../../include/items.php:3445 msgid "Permission denied." msgstr "Permission refusée." -#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94 -msgid "Not Found" -msgstr "Introuvable" - -#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79 -#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97 -#: ../../Zotlabs/Module/Page.php:93 +#: ../../Zotlabs/Web/Router.php:152 ../../Zotlabs/Module/Display.php:124 +#: ../../Zotlabs/Module/Page.php:94 ../../Zotlabs/Module/Block.php:79 +#: ../../Zotlabs/Lib/NativeWikiPage.php:502 ../../include/help.php:66 msgid "Page not found." msgstr "Page introuvable." @@ -243,19 +448,21 @@ msgid "" " logout and retry." msgstr "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer." -#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76 -#: ../../Zotlabs/Module/Openid.php:183 +#: ../../Zotlabs/Zot/Auth.php:250 +#: ../../extend/addon/addon/openid/Mod_Openid.php:76 +#: ../../extend/addon/addon/openid/Mod_Openid.php:178 #, php-format msgid "Welcome %s. Remote authentication successful." msgstr "Bienvenue %s. L'authentification distante a fonctionné." -#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33 +#: ../../Zotlabs/Module/Achievements.php:15 #: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31 #: ../../Zotlabs/Module/Editlayout.php:31 -#: ../../Zotlabs/Module/Editwebpage.php:33 -#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12 -#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20 -#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837 +#: ../../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/Webpages.php:33 +#: ../../include/channel.php:945 msgid "Requested profile is not available." msgstr "Profil demandé non disponible." @@ -263,824 +470,1016 @@ msgstr "Profil demandé non disponible." msgid "Some blurb about what to do when you're new here" msgstr "Quelques mots sur quoi faire quand on est nouveau ici" -#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152 -#: ../../Zotlabs/Module/Editblock.php:108 -msgid "Block Name" -msgstr "Nom du Bloc" - -#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265 -msgid "Blocks" -msgstr "Blocs" - -#: ../../Zotlabs/Module/Blocks.php:153 -msgid "Block Title" -msgstr "Titre du bloc" +#: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Photos.php:508 +#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Ratings.php:83 +#: ../../Zotlabs/Module/Directory.php:64 +#: ../../Zotlabs/Module/Viewconnections.php:23 +#: ../../extend/addon/addon/friendica/dfrn_request.php:794 +msgid "Public access denied." +msgstr "Accès public refusé." -#: ../../Zotlabs/Module/Blocks.php:154 ../../Zotlabs/Module/Layouts.php:188 -#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:198 -#: ../../include/page_widgets.php:44 -msgid "Created" -msgstr "Créé(e)" +#: ../../Zotlabs/Module/Display.php:38 ../../Zotlabs/Module/Admin.php:60 +#: ../../Zotlabs/Module/Admin/Themes.php:69 +#: ../../Zotlabs/Module/Admin/Plugins.php:254 +#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Thing.php:89 +#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3366 +msgid "Item not found." +msgstr "Élément introuvable" -#: ../../Zotlabs/Module/Blocks.php:155 ../../Zotlabs/Module/Layouts.php:189 -#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:199 -#: ../../include/page_widgets.php:45 -msgid "Edited" -msgstr "Modifié(e)" +#: ../../Zotlabs/Module/Register.php:49 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "Nombre d'inscriptions quotidiennes dépassé. Merci d'essayer à nouveau demain." -#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191 -#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188 -#: ../../include/conversation.php:1208 -msgid "Share" -msgstr "Partager" +#: ../../Zotlabs/Module/Register.php:55 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "Merci d'indiquer votre adhésion aux conditions de service. L'inscription a échoué." -#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195 -#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193 -#: ../../include/page_widgets.php:39 -msgid "View" -msgstr "Voir" +#: ../../Zotlabs/Module/Register.php:89 +msgid "Passwords do not match." +msgstr "Les mots de passe ne concordent pas." -#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43 -#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33 -msgid "Channel not found." -msgstr "Canal introuvable." +#: ../../Zotlabs/Module/Register.php:131 +msgid "" +"Registration successful. Please check your email for validation " +"instructions." +msgstr "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte." -#: ../../Zotlabs/Module/Cal.php:69 -msgid "Permissions denied." -msgstr "Permissions refusées." +#: ../../Zotlabs/Module/Register.php:137 +msgid "Your registration is pending approval by the site owner." +msgstr "Votre inscription est en attente d'approbation par l'administrateur." -#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588 -msgid "l, F j" -msgstr "l, F j" +#: ../../Zotlabs/Module/Register.php:140 +msgid "Your registration can not be processed." +msgstr "Votre inscription ne peut être traîtée." -#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637 -#: ../../include/text.php:1732 -msgid "Link to Source" -msgstr "Lien vers la Source" +#: ../../Zotlabs/Module/Register.php:184 +msgid "Registration on this hub is disabled." +msgstr "La création de nouveaux comptes est désactivée pour ce site." -#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665 -msgid "Edit Event" -msgstr "Modifier l'événement" +#: ../../Zotlabs/Module/Register.php:193 +msgid "Registration on this hub is by approval only." +msgstr "La création de compte sur ce site est soumise à approbation." -#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665 -msgid "Create Event" -msgstr "Créer un événement" +#: ../../Zotlabs/Module/Register.php:194 +msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" +msgstr "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>" -#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339 -#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673 -#: ../../Zotlabs/Module/Photos.php:949 -msgid "Previous" -msgstr "Précédent" +#: ../../Zotlabs/Module/Register.php:204 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain." -#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340 -#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674 -#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267 -msgid "Next" -msgstr "Suivant" +#: ../../Zotlabs/Module/Register.php:221 ../../Zotlabs/Module/Siteinfo.php:27 +msgid "Terms of Service" +msgstr "Conditions de service" -#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668 -#: ../../include/widgets.php:755 -msgid "Export" -msgstr "Export" +#: ../../Zotlabs/Module/Register.php:227 +#, php-format +msgid "I accept the %s for this website" +msgstr "J'accepte les %s de ce site" -#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671 -#: ../../include/widgets.php:756 -msgid "Import" -msgstr "Import" +#: ../../Zotlabs/Module/Register.php:229 +#, php-format +msgid "I am over 13 years of age and accept the %s for this website" +msgstr "J'ai plus de 13 ans et j'accepte les %s de ce site" -#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196 -#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98 -#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475 -#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85 -#: ../../Zotlabs/Module/Filestorage.php:162 -#: ../../Zotlabs/Module/Import.php:550 -#: ../../Zotlabs/Module/Import_items.php:120 -#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121 -#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139 -#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677 -#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092 -#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107 -#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186 -#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170 -#: ../../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/Appman.php:126 -#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703 -#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754 -#: ../../Zotlabs/Module/Settings.php:842 -#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312 -#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114 -#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316 -#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15 -#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757 -#: ../../include/widgets.php:769 ../../include/js_strings.php:22 -#: ../../view/theme/redbasic/php/config.php:99 -msgid "Submit" -msgstr "Envoyer" +#: ../../Zotlabs/Module/Register.php:233 +msgid "Your email address" +msgstr "Votre adresse de courriel" -#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675 -msgid "Today" -msgstr "Aujourd'hui" +#: ../../Zotlabs/Module/Register.php:234 +msgid "Choose a password" +msgstr "Choisissez un mot de passe" -#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25 -msgid "You must be logged in to see this page." -msgstr "Vous devez vous connecter pour voir cette page." +#: ../../Zotlabs/Module/Register.php:235 +msgid "Please re-enter your password" +msgstr "Merci de saisir à nouveau votre mot de passe" -#: ../../Zotlabs/Module/Channel.php:41 -msgid "Posts and comments" -msgstr "" +#: ../../Zotlabs/Module/Register.php:236 +msgid "Please enter your invitation code" +msgstr "Merci de saisir votre code d'invitation" -#: ../../Zotlabs/Module/Channel.php:42 -msgid "Only posts" -msgstr "" +#: ../../Zotlabs/Module/Register.php:237 +#: ../../Zotlabs/Module/New_channel.php:134 +msgid "Name or caption" +msgstr "Nom ou libellé" -#: ../../Zotlabs/Module/Channel.php:102 -msgid "Insufficient permissions. Request redirected to profile page." -msgstr "Permissions insuffisantes. Demande redirigée vers la page du profil." +#: ../../Zotlabs/Module/Register.php:237 +#: ../../Zotlabs/Module/New_channel.php:134 +msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\"" +msgstr "Exemples : \"Jérôme Dutilleul\", \"Louise et ses chevaux\", \"Football\", \"Club d'aéromodélisme\"" -#: ../../Zotlabs/Module/Chat.php:181 -msgid "Room not found" -msgstr "Salon introuvable" +#: ../../Zotlabs/Module/Register.php:239 +#: ../../Zotlabs/Module/New_channel.php:136 +msgid "Choose a short nickname" +msgstr "Choisissez un alias" -#: ../../Zotlabs/Module/Chat.php:197 -msgid "Leave Room" -msgstr "Quitter le salon" +#: ../../Zotlabs/Module/Register.php:239 +#: ../../Zotlabs/Module/New_channel.php:136 +#, php-format +msgid "" +"Your nickname will be used to create an easy to remember channel address " +"e.g. nickname%s" +msgstr "Votre pseudo sera utilisé pour créer une adresse de canal facile à mémoriser, par ex. pseudo%s" -#: ../../Zotlabs/Module/Chat.php:198 -msgid "Delete Room" -msgstr "" +#: ../../Zotlabs/Module/Register.php:240 +#: ../../Zotlabs/Module/New_channel.php:137 +msgid "Channel role and privacy" +msgstr "Rôle et confidentialité du canal" -#: ../../Zotlabs/Module/Chat.php:199 -msgid "I am away right now" -msgstr "Je suis absent en ce moment" +#: ../../Zotlabs/Module/Register.php:240 +#: ../../Zotlabs/Module/New_channel.php:137 +msgid "Select a channel role with your privacy requirements." +msgstr "Sélectionner un rôle de canal adapté à vos besoins de confidentialité." -#: ../../Zotlabs/Module/Chat.php:200 -msgid "I am online" -msgstr "Je suis en ligne" +#: ../../Zotlabs/Module/Register.php:240 +#: ../../Zotlabs/Module/New_channel.php:137 +msgid "Read more about roles" +msgstr "En savoir plus sur les rôles" -#: ../../Zotlabs/Module/Chat.php:202 -msgid "Bookmark this room" -msgstr "Marquer ce salon comme favori" +#: ../../Zotlabs/Module/Register.php:241 +msgid "no" +msgstr "non" -#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205 -#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176 -msgid "Please enter a link URL:" -msgstr "Merci d'entrer l'URL d'un lien :" +#: ../../Zotlabs/Module/Register.php:241 +msgid "yes" +msgstr "oui" -#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258 -#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722 -#: ../../include/conversation.php:1256 -msgid "Encrypt text" -msgstr "Chiffrer le texte" +#: ../../Zotlabs/Module/Register.php:253 +#: ../../Zotlabs/Module/Admin/Site.php:261 +msgid "Registration" +msgstr "Inscription" -#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111 -#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252 -#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143 -msgid "Insert web link" -msgstr "Insérer lien web" +#: ../../Zotlabs/Module/Register.php:258 +msgid "Membership on this site is by invitation only." +msgstr "L'inscription à ce site se fait uniquement sur invitation." -#: ../../Zotlabs/Module/Chat.php:218 -msgid "Feature disabled." -msgstr "" +#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:162 +#: ../../boot.php:1713 +msgid "Register" +msgstr "S'inscrire" -#: ../../Zotlabs/Module/Chat.php:232 -msgid "New Chatroom" -msgstr "Nouveau salon de discussion" +#: ../../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 "Ce site peut demander une validation de votre email. Si vous revenez sur le formulaire de connexion, vérifiez vos emails et suivez les instructions. Regardez aussi les spams." -#: ../../Zotlabs/Module/Chat.php:233 -msgid "Chatroom name" -msgstr "" +#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32 +#, php-format +msgid "Fetching URL returns error: %1$s" +msgstr "Récupération d'URL échouée : %1$s" -#: ../../Zotlabs/Module/Chat.php:234 -msgid "Expiration of chats (minutes)" -msgstr "Expiration des discussions (en minutes)" +#: ../../Zotlabs/Module/Photos.php:82 +msgid "Page owner information could not be retrieved." +msgstr "Impossible d'obtenir des informations sur le propriétaire de la page." -#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153 -#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045 -#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359 -#: ../../include/acl_selectors.php:283 -msgid "Permissions" -msgstr "Autorisations" +#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:729 +#: ../../Zotlabs/Module/Profile_photo.php:115 +#: ../../Zotlabs/Module/Profile_photo.php:220 +#: ../../include/photo/photo_driver.php:730 +msgid "Profile Photos" +msgstr "Photos du profil" -#: ../../Zotlabs/Module/Chat.php:246 -#, php-format -msgid "%1$s's Chatrooms" -msgstr "Salons de %1$s" +#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129 +msgid "Album not found." +msgstr "Album introuvable." -#: ../../Zotlabs/Module/Chat.php:251 -msgid "No chatrooms available" -msgstr "" +#: ../../Zotlabs/Module/Photos.php:112 +msgid "Delete Album" +msgstr "Supprimer l'album" -#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143 -#: ../../Zotlabs/Module/Profiles.php:778 -msgid "Create New" -msgstr "" +#: ../../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 "Plusieurs dossiers de stockage existent avec ce nom d'album, mais dans différents répertoires. Veuillez supprimer le ou les dossier(s) désiré(s) à l'aide du Gestionnaire de fichiers." -#: ../../Zotlabs/Module/Chat.php:255 -msgid "Expiration" -msgstr "" +#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1054 +msgid "Delete Photo" +msgstr "Supprimer la photo" -#: ../../Zotlabs/Module/Chat.php:256 -msgid "min" -msgstr "" +#: ../../Zotlabs/Module/Photos.php:519 +msgid "No photos selected" +msgstr "Aucune photo selectionnée" -#: ../../Zotlabs/Module/Chatsvc.php:117 -msgid "Away" -msgstr "Absent" +#: ../../Zotlabs/Module/Photos.php:568 +msgid "Access to this item is restricted." +msgstr "L'accès à l'élément est restreint." -#: ../../Zotlabs/Module/Chatsvc.php:122 -msgid "Online" -msgstr "En ligne" +#: ../../Zotlabs/Module/Photos.php:607 +#, php-format +msgid "%1$.2f MB of %2$.2f MB photo storage used." +msgstr "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos." -#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40 -msgid "Invalid item." -msgstr "Élément invalide." +#: ../../Zotlabs/Module/Photos.php:610 +#, php-format +msgid "%1$.2f MB photo storage used." +msgstr "%1$.2f méga-octets utilisés pour le stockage des photos." -#: ../../Zotlabs/Module/Bookmarks.php:53 -msgid "Bookmark added" -msgstr "Favori ajouté" +#: ../../Zotlabs/Module/Photos.php:646 +msgid "Upload Photos" +msgstr "Téléverser des photos" -#: ../../Zotlabs/Module/Bookmarks.php:75 -msgid "My Bookmarks" -msgstr "Mes Favoris" +#: ../../Zotlabs/Module/Photos.php:650 +msgid "Enter an album name" +msgstr "Entrer un nom d'album" -#: ../../Zotlabs/Module/Bookmarks.php:86 -msgid "My Connections Bookmarks" -msgstr "Favoris de mes contacts" +#: ../../Zotlabs/Module/Photos.php:651 +msgid "or select an existing album (doubleclick)" +msgstr "ou sélectionner un album existant (double-clic)" -#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109 -msgid "Continue" -msgstr "Continuer" +#: ../../Zotlabs/Module/Photos.php:652 +msgid "Create a status post for this upload" +msgstr "Créer une publication de statut pour cet envoi" -#: ../../Zotlabs/Module/Connect.php:90 -msgid "Premium Channel Setup" -msgstr "Configuration du canal VIP" +#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Admin/Site.php:218 +#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 +#: ../../Zotlabs/Module/Connedit.php:402 ../../Zotlabs/Module/Connedit.php:740 +#: ../../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:682 +#: ../../Zotlabs/Module/Api.php:97 ../../Zotlabs/Module/Events.php:470 +#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Removeme.php:63 +#: ../../Zotlabs/Module/Wiki.php:178 +#: ../../Zotlabs/Module/Settings/Channel.php:294 +#: ../../Zotlabs/Module/Settings/Display.php:103 +#: ../../extend/addon/addon/dwpost/dwpost.php:73 +#: ../../extend/addon/addon/dwpost/dwpost.php:85 +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 +#: ../../extend/addon/addon/friendica/dfrn_request.php:865 +#: ../../extend/addon/addon/ijpost/ijpost.php:73 +#: ../../extend/addon/addon/ijpost/ijpost.php:85 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:309 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:313 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:351 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:355 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:359 +#: ../../extend/addon/addon/libertree/libertree.php:69 +#: ../../extend/addon/addon/libertree/libertree.php:81 +#: ../../extend/addon/addon/ljpost/ljpost.php:70 +#: ../../extend/addon/addon/ljpost/ljpost.php:82 +#: ../../extend/addon/addon/nofed/nofed.php:72 +#: ../../extend/addon/addon/nofed/nofed.php:76 +#: ../../extend/addon/addon/nsabait/nsabait.php:157 +#: ../../extend/addon/addon/nsfw/nsfw.php:84 +#: ../../extend/addon/addon/planets/planets.php:153 +#: ../../extend/addon/addon/pumpio/pumpio.php:219 +#: ../../extend/addon/addon/pumpio/pumpio.php:223 +#: ../../extend/addon/addon/pumpio/pumpio.php:227 +#: ../../extend/addon/addon/pumpio/pumpio.php:231 +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 +#: ../../extend/addon/addon/redred/redred.php:95 +#: ../../extend/addon/addon/redred/redred.php:99 +#: ../../extend/addon/addon/rtof/rtof.php:81 +#: ../../extend/addon/addon/rtof/rtof.php:85 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:273 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:277 +#: ../../extend/addon/addon/statusnet/statusnet.php:389 +#: ../../extend/addon/addon/statusnet/statusnet.php:411 +#: ../../extend/addon/addon/statusnet/statusnet.php:415 +#: ../../extend/addon/addon/statusnet/statusnet.php:424 +#: ../../extend/addon/addon/twitter/twitter.php:242 +#: ../../extend/addon/addon/twitter/twitter.php:246 +#: ../../extend/addon/addon/twitter/twitter.php:255 +#: ../../extend/addon/addon/visage/visage.php:166 +#: ../../extend/addon/addon/wppost/wppost.php:82 +#: ../../extend/addon/addon/wppost/wppost.php:105 +#: ../../extend/addon/addon/wppost/wppost.php:109 +#: ../../extend/addon/addon/xmpp/xmpp.php:53 +#: ../../extend/addon/addon/cdav/cdav.php:234 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +#: ../../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:1736 +msgid "No" +msgstr "Non" -#: ../../Zotlabs/Module/Connect.php:92 -msgid "Enable premium channel connection restrictions" -msgstr "Activer les restrictions liées au canal VIP" +#: ../../Zotlabs/Module/Photos.php:652 ../../Zotlabs/Module/Admin/Site.php:220 +#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 +#: ../../Zotlabs/Module/Connedit.php:402 +#: ../../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:682 +#: ../../Zotlabs/Module/Api.php:96 ../../Zotlabs/Module/Events.php:470 +#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Removeme.php:63 +#: ../../Zotlabs/Module/Wiki.php:178 +#: ../../Zotlabs/Module/Settings/Channel.php:294 +#: ../../Zotlabs/Module/Settings/Display.php:103 +#: ../../extend/addon/addon/dwpost/dwpost.php:73 +#: ../../extend/addon/addon/dwpost/dwpost.php:85 +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 +#: ../../extend/addon/addon/friendica/dfrn_request.php:865 +#: ../../extend/addon/addon/ijpost/ijpost.php:73 +#: ../../extend/addon/addon/ijpost/ijpost.php:85 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:309 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:313 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:351 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:355 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:359 +#: ../../extend/addon/addon/libertree/libertree.php:69 +#: ../../extend/addon/addon/libertree/libertree.php:81 +#: ../../extend/addon/addon/ljpost/ljpost.php:70 +#: ../../extend/addon/addon/ljpost/ljpost.php:82 +#: ../../extend/addon/addon/nofed/nofed.php:72 +#: ../../extend/addon/addon/nofed/nofed.php:76 +#: ../../extend/addon/addon/nsabait/nsabait.php:157 +#: ../../extend/addon/addon/nsfw/nsfw.php:84 +#: ../../extend/addon/addon/planets/planets.php:153 +#: ../../extend/addon/addon/pumpio/pumpio.php:219 +#: ../../extend/addon/addon/pumpio/pumpio.php:223 +#: ../../extend/addon/addon/pumpio/pumpio.php:227 +#: ../../extend/addon/addon/pumpio/pumpio.php:231 +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 +#: ../../extend/addon/addon/redred/redred.php:95 +#: ../../extend/addon/addon/redred/redred.php:99 +#: ../../extend/addon/addon/rtof/rtof.php:81 +#: ../../extend/addon/addon/rtof/rtof.php:85 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:273 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:277 +#: ../../extend/addon/addon/statusnet/statusnet.php:389 +#: ../../extend/addon/addon/statusnet/statusnet.php:411 +#: ../../extend/addon/addon/statusnet/statusnet.php:415 +#: ../../extend/addon/addon/statusnet/statusnet.php:424 +#: ../../extend/addon/addon/twitter/twitter.php:242 +#: ../../extend/addon/addon/twitter/twitter.php:246 +#: ../../extend/addon/addon/twitter/twitter.php:255 +#: ../../extend/addon/addon/visage/visage.php:166 +#: ../../extend/addon/addon/wppost/wppost.php:82 +#: ../../extend/addon/addon/wppost/wppost.php:105 +#: ../../extend/addon/addon/wppost/wppost.php:109 +#: ../../extend/addon/addon/xmpp/xmpp.php:53 +#: ../../extend/addon/addon/cdav/cdav.php:234 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +#: ../../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:1736 +msgid "Yes" +msgstr "Oui" -#: ../../Zotlabs/Module/Connect.php:93 -msgid "" -"Please enter your restrictions or conditions, such as paypal receipt, usage " -"guidelines, etc." -msgstr "Merci de saisir les restrictions et/ou conditions - reçu Paypal, transaction Bitcoin, ligne de conduite, ..." +#: ../../Zotlabs/Module/Photos.php:653 +msgid "Caption (optional):" +msgstr "Légende (facultative)" -#: ../../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 "Avant d'autoriser la mise en relation, ce canal attire votre attention sur les conditions suivantes :" +#: ../../Zotlabs/Module/Photos.php:654 +msgid "Description (optional):" +msgstr "Description (facultative)" -#: ../../Zotlabs/Module/Connect.php:96 -msgid "" -"Potential connections will then see the following text before proceeding:" -msgstr "Les contacts potentiels verront ce qui suit avant de pouvoir continuer :" +#: ../../Zotlabs/Module/Photos.php:657 ../../Zotlabs/Module/Photos.php:1042 +#: ../../Zotlabs/Module/Connedit.php:637 +#: ../../Zotlabs/Module/Filestorage.php:152 ../../Zotlabs/Module/Thing.php:313 +#: ../../Zotlabs/Module/Thing.php:363 ../../Zotlabs/Module/Chat.php:234 +#: ../../include/acl_selectors.php:218 +msgid "Permissions" +msgstr "Autorisations" -#: ../../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 "En continuant, je certifie que je me suis conformé à toutes les instructions indiquées sur cette page." +#: ../../Zotlabs/Module/Photos.php:667 ../../Zotlabs/Module/Photos.php:1053 +#: ../../Zotlabs/Module/Photos.php:1093 ../../Zotlabs/Module/Photos.php:1211 +#: ../../Zotlabs/Module/Connect.php:98 +#: ../../Zotlabs/Module/Admin/Features.php:66 +#: ../../Zotlabs/Module/Admin/Logs.php:84 +#: ../../Zotlabs/Module/Admin/Profs.php:157 +#: ../../Zotlabs/Module/Admin/Security.php:104 +#: ../../Zotlabs/Module/Admin/Themes.php:156 +#: ../../Zotlabs/Module/Admin/Account_edit.php:74 +#: ../../Zotlabs/Module/Admin/Accounts.php:166 +#: ../../Zotlabs/Module/Admin/Channels.php:147 +#: ../../Zotlabs/Module/Admin/Site.php:260 +#: ../../Zotlabs/Module/Admin/Plugins.php:433 +#: ../../Zotlabs/Module/Locs.php:121 ../../Zotlabs/Module/Connedit.php:847 +#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Cal.php:342 +#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Import_items.php:122 +#: ../../Zotlabs/Module/Import.php:507 ../../Zotlabs/Module/Mitem.php:243 +#: ../../Zotlabs/Module/Appman.php:133 ../../Zotlabs/Module/Mood.php:139 +#: ../../Zotlabs/Module/Profiles.php:722 ../../Zotlabs/Module/Invite.php:149 +#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:357 +#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107 +#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Events.php:493 +#: ../../Zotlabs/Module/Pdledit.php:74 ../../Zotlabs/Module/Wiki.php:167 +#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149 +#: ../../Zotlabs/Module/Settings/Features.php:47 +#: ../../Zotlabs/Module/Settings/Oauth.php:87 +#: ../../Zotlabs/Module/Settings/Account.php:118 +#: ../../Zotlabs/Module/Settings/Tokens.php:168 +#: ../../Zotlabs/Module/Settings/Featured.php:50 +#: ../../Zotlabs/Module/Settings/Channel.php:476 +#: ../../Zotlabs/Module/Settings/Display.php:196 +#: ../../Zotlabs/Module/Settings/Permcats.php:112 +#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370 +#: ../../Zotlabs/Module/Mail.php:413 ../../Zotlabs/Module/Chat.php:196 +#: ../../Zotlabs/Module/Chat.php:241 ../../Zotlabs/Module/Xchan.php:15 +#: ../../Zotlabs/Lib/ThreadItem.php:731 +#: ../../extend/addon/addon/chords/Mod_Chords.php:60 +#: ../../extend/addon/addon/diaspora/diaspora.php:714 +#: ../../extend/addon/addon/dwpost/dwpost.php:89 +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:124 +#: ../../extend/addon/addon/friendica/friendica.php:128 +#: ../../extend/addon/addon/frphotos/frphotos.php:96 +#: ../../extend/addon/addon/hubwall/hubwall.php:95 +#: ../../extend/addon/addon/ijpost/ijpost.php:89 +#: ../../extend/addon/addon/irc/irc.php:53 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:371 +#: ../../extend/addon/addon/libertree/libertree.php:85 +#: ../../extend/addon/addon/ljpost/ljpost.php:86 +#: ../../extend/addon/addon/logrot/logrot.php:35 +#: ../../extend/addon/addon/mailhost/mailhost.php:40 +#: ../../extend/addon/addon/nofed/nofed.php:80 +#: ../../extend/addon/addon/nsabait/nsabait.php:161 +#: ../../extend/addon/addon/nsfw/nsfw.php:92 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:53 +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:168 +#: ../../extend/addon/addon/pageheader/pageheader.php:48 +#: ../../extend/addon/addon/piwik/piwik.php:95 +#: ../../extend/addon/addon/planets/planets.php:157 +#: ../../extend/addon/addon/pumpio/pumpio.php:237 +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:85 +#: ../../extend/addon/addon/redfiles/redfiles.php:124 +#: ../../extend/addon/addon/redphotos/redphotos.php:136 +#: ../../extend/addon/addon/redred/redred.php:119 +#: ../../extend/addon/addon/rtof/rtof.php:101 +#: ../../extend/addon/addon/skeleton/skeleton.php:65 +#: ../../extend/addon/addon/smileybutton/smileybutton.php:281 +#: ../../extend/addon/addon/startpage/startpage.php:113 +#: ../../extend/addon/addon/statusnet/statusnet.php:322 +#: ../../extend/addon/addon/statusnet/statusnet.php:380 +#: ../../extend/addon/addon/statusnet/statusnet.php:432 +#: ../../extend/addon/addon/statusnet/statusnet.php:899 +#: ../../extend/addon/addon/superblock/superblock.php:118 +#: ../../extend/addon/addon/twitter/twitter.php:217 +#: ../../extend/addon/addon/twitter/twitter.php:259 +#: ../../extend/addon/addon/visage/visage.php:170 +#: ../../extend/addon/addon/wppost/wppost.php:113 +#: ../../extend/addon/addon/xmpp/xmpp.php:69 +#: ../../extend/addon/addon/cdav/cdav.php:246 +#: ../../extend/addon/addon/likebanner/likebanner.php:57 +#: ../../extend/addon/addon/mailtest/mailtest.php:100 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:153 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:133 +#: ../../include/widgets.php:815 ../../include/js_strings.php:22 +#: ../../view/theme/redbasic/php/config.php:106 +msgid "Submit" +msgstr "Envoyer" -#: ../../Zotlabs/Module/Connect.php:106 -msgid "(No specific instructions have been provided by the channel owner.)" -msgstr "(Aucune instruction spécifique n'a été fournie par le propriétaire du canal.)" +#: ../../Zotlabs/Module/Photos.php:685 +msgid "Album name could not be decoded" +msgstr "Le nom de l'Album n'a pu être décodé" -#: ../../Zotlabs/Module/Connect.php:114 -msgid "Restricted or Premium Channel" -msgstr "Canal VIP ou restreint" +#: ../../Zotlabs/Module/Photos.php:729 +msgid "Contact Photos" +msgstr "Photos de contact" -#: ../../Zotlabs/Module/Connedit.php:80 -msgid "Could not access contact record." -msgstr "Impossible d'accéder aux détails du contact." +#: ../../Zotlabs/Module/Photos.php:752 +msgid "Show Newest First" +msgstr "Les plus récent(e)s en premier" -#: ../../Zotlabs/Module/Connedit.php:104 -msgid "Could not locate selected profile." -msgstr "Impossible de localiser le profil sélectionné." +#: ../../Zotlabs/Module/Photos.php:754 +msgid "Show Oldest First" +msgstr "Les moins récent(e)s en premier" -#: ../../Zotlabs/Module/Connedit.php:227 -msgid "Connection updated." -msgstr "Contact mis à jour." +#: ../../Zotlabs/Module/Photos.php:778 ../../Zotlabs/Module/Photos.php:1335 +#: ../../Zotlabs/Module/Embedphotos.php:139 ../../include/widgets.php:1708 +msgid "View Photo" +msgstr "Voir la photo" -#: ../../Zotlabs/Module/Connedit.php:229 -msgid "Failed to update connection record." -msgstr "Impossible de mettre à jour les détails du contact." +#: ../../Zotlabs/Module/Photos.php:809 +#: ../../Zotlabs/Module/Embedphotos.php:155 ../../include/widgets.php:1725 +msgid "Edit Album" +msgstr "Modifier l'album" -#: ../../Zotlabs/Module/Connedit.php:276 -msgid "is now connected to" -msgstr "est maintenant connecté avec" +#: ../../Zotlabs/Module/Photos.php:856 +msgid "Permission denied. Access to this item may be restricted." +msgstr "Permission refusée. L'accès à cet élément peut avoir été restreint." -#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654 -#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460 -#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89 -#: ../../Zotlabs/Module/Filestorage.php:157 -#: ../../Zotlabs/Module/Filestorage.php:165 ../../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/Photos.php:666 -#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459 -#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581 -#: ../../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:1707 -msgid "No" -msgstr "Non" +#: ../../Zotlabs/Module/Photos.php:858 +msgid "Photo not available" +msgstr "Photo non disponible" -#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459 -#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469 -#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157 -#: ../../Zotlabs/Module/Filestorage.php:165 ../../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/Photos.php:666 -#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461 -#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581 -#: ../../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:1707 -msgid "Yes" -msgstr "Oui" +#: ../../Zotlabs/Module/Photos.php:916 +msgid "Use as profile photo" +msgstr "Utiliser comme photo du profil" -#: ../../Zotlabs/Module/Connedit.php:411 -msgid "Could not access address book record." -msgstr "Impossible d'accéder aux détails du carnet d'adresses." +#: ../../Zotlabs/Module/Photos.php:917 +msgid "Use as cover photo" +msgstr "Utilisez comme bannière" -#: ../../Zotlabs/Module/Connedit.php:425 -msgid "Refresh failed - channel is currently unavailable." -msgstr "Actualisation impossible - le canal est indisponible." +#: ../../Zotlabs/Module/Photos.php:924 +msgid "Private Photo" +msgstr "Photo privée" -#: ../../Zotlabs/Module/Connedit.php:440 ../../Zotlabs/Module/Connedit.php:449 -#: ../../Zotlabs/Module/Connedit.php:458 ../../Zotlabs/Module/Connedit.php:467 -#: ../../Zotlabs/Module/Connedit.php:480 -msgid "Unable to set address book parameters." -msgstr "Impossible de régler les paramètres du carnet d'adresses." +#: ../../Zotlabs/Module/Photos.php:935 ../../Zotlabs/Module/Cal.php:336 +#: ../../Zotlabs/Module/Cal.php:343 ../../Zotlabs/Module/Events.php:689 +#: ../../Zotlabs/Module/Events.php:698 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:846 +msgid "Previous" +msgstr "Précédent" -#: ../../Zotlabs/Module/Connedit.php:503 -msgid "Connection has been removed." -msgstr "Le contact a été supprimé." +#: ../../Zotlabs/Module/Photos.php:939 +msgid "View Full Size" +msgstr "Voir en taille réelle" -#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219 -#: ../../include/nav.php:86 ../../include/conversation.php:954 -msgid "View Profile" -msgstr "Voir le profil" +#: ../../Zotlabs/Module/Photos.php:944 ../../Zotlabs/Module/Cal.php:337 +#: ../../Zotlabs/Module/Cal.php:344 ../../Zotlabs/Module/Setup.php:264 +#: ../../Zotlabs/Module/Events.php:690 ../../Zotlabs/Module/Events.php:699 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:847 +msgid "Next" +msgstr "Suivant" -#: ../../Zotlabs/Module/Connedit.php:522 -#, php-format -msgid "View %s's profile" -msgstr "Voir le profil de %s" +#: ../../Zotlabs/Module/Photos.php:984 +#: ../../Zotlabs/Module/Admin/Plugins.php:450 +#: ../../Zotlabs/Module/Tagrm.php:137 +#: ../../extend/addon/addon/superblock/superblock.php:114 +msgid "Remove" +msgstr "Retirer" -#: ../../Zotlabs/Module/Connedit.php:526 -msgid "Refresh Permissions" -msgstr "Actualiser les autorisations" +#: ../../Zotlabs/Module/Photos.php:1028 +msgid "Edit photo" +msgstr "Modifier la photo" -#: ../../Zotlabs/Module/Connedit.php:529 -msgid "Fetch updated permissions" -msgstr "Récupérer les autorisations les plus récentes" +#: ../../Zotlabs/Module/Photos.php:1030 +msgid "Rotate CW (right)" +msgstr "Rotation horaire (droite)" -#: ../../Zotlabs/Module/Connedit.php:533 -msgid "Recent Activity" -msgstr "Activité récente" +#: ../../Zotlabs/Module/Photos.php:1031 +msgid "Rotate CCW (left)" +msgstr "Rotation anti-horaire (gauche)" -#: ../../Zotlabs/Module/Connedit.php:536 -msgid "View recent posts and comments" -msgstr "Voir les publications et commentaires récents" +#: ../../Zotlabs/Module/Photos.php:1034 +msgid "Move photo to album" +msgstr "Déplacer la photo dans l'album" -#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041 -msgid "Unblock" -msgstr "Débloquer" +#: ../../Zotlabs/Module/Photos.php:1035 +msgid "Enter a new album name" +msgstr "Entrer un nouveau nom d'album" -#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040 -msgid "Block" -msgstr "Bloquer" +#: ../../Zotlabs/Module/Photos.php:1036 +msgid "or select an existing one (doubleclick)" +msgstr "ou en sélectionner un existant (double-clic)" -#: ../../Zotlabs/Module/Connedit.php:543 -msgid "Block (or Unblock) all communications with this connection" -msgstr "Bloquer ou débloquer toute communication avec ce contact" +#: ../../Zotlabs/Module/Photos.php:1039 +msgid "Caption" +msgstr "Titre/légende" -#: ../../Zotlabs/Module/Connedit.php:544 -msgid "This connection is blocked!" -msgstr "Ce contact est bloqué !" +#: ../../Zotlabs/Module/Photos.php:1041 +msgid "Add a Tag" +msgstr "Ajouter une étiquette" -#: ../../Zotlabs/Module/Connedit.php:548 -msgid "Unignore" -msgstr "Ne plus ignorer" +#: ../../Zotlabs/Module/Photos.php:1049 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" +msgstr "Exemple : @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon" -#: ../../Zotlabs/Module/Connedit.php:548 -#: ../../Zotlabs/Module/Connections.php:277 -#: ../../Zotlabs/Module/Notifications.php:55 -msgid "Ignore" -msgstr "Ignorer" +#: ../../Zotlabs/Module/Photos.php:1052 +msgid "Flag as adult in album view" +msgstr "Marquer comme \"adulte\" dans l'affichage de l'album" -#: ../../Zotlabs/Module/Connedit.php:551 -msgid "Ignore (or Unignore) all inbound communications from this connection" -msgstr "Ignorer ou ne plus ignorer toute communication venant de ce contact" +#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:268 +msgid "I like this (toggle)" +msgstr "J'aime (oui/non)" -#: ../../Zotlabs/Module/Connedit.php:552 -msgid "This connection is ignored!" -msgstr "Ce contact est ignoré !" +#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Lib/ThreadItem.php:269 +msgid "I don't like this (toggle)" +msgstr "Je n'aime pas (oui/non)" -#: ../../Zotlabs/Module/Connedit.php:556 -msgid "Unarchive" -msgstr "Désarchiver" +#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Module/Blocks.php:161 +#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:245 +#: ../../extend/addon/addon/cdav/include/widgets.php:123 +#: ../../include/conversation.php:1378 +msgid "Share" +msgstr "Partager" -#: ../../Zotlabs/Module/Connedit.php:556 -msgid "Archive" -msgstr "Archiver" +#: ../../Zotlabs/Module/Photos.php:1074 ../../Zotlabs/Lib/ThreadItem.php:411 +#: ../../include/conversation.php:738 +msgid "Please wait" +msgstr "Merci de patienter" -#: ../../Zotlabs/Module/Connedit.php:559 -msgid "" -"Archive (or Unarchive) this connection - mark channel dead but keep content" -msgstr "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu" +#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208 +#: ../../Zotlabs/Lib/ThreadItem.php:728 +msgid "This is you" +msgstr "C'est vous" -#: ../../Zotlabs/Module/Connedit.php:560 -msgid "This connection is archived!" -msgstr "Ce contact est archivé !" +#: ../../Zotlabs/Module/Photos.php:1092 ../../Zotlabs/Module/Photos.php:1210 +#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/js_strings.php:6 +msgid "Comment" +msgstr "Commenter" -#: ../../Zotlabs/Module/Connedit.php:564 -msgid "Unhide" -msgstr "Ne plus cacher" +#: ../../Zotlabs/Module/Photos.php:1094 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Lib/ThreadItem.php:740 +#: ../../include/conversation.php:1347 ../../include/page_widgets.php:43 +msgid "Preview" +msgstr "Aperçu" -#: ../../Zotlabs/Module/Connedit.php:564 -msgid "Hide" -msgstr "Cacher" +#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 +msgctxt "title" +msgid "Likes" +msgstr "Aime" -#: ../../Zotlabs/Module/Connedit.php:567 -msgid "Hide or Unhide this connection from your other connections" -msgstr "Cacher ou ne plus cacher ce contact vis-à -vis de vos autres contacts" +#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:577 +msgctxt "title" +msgid "Dislikes" +msgstr "N'aime pas" -#: ../../Zotlabs/Module/Connedit.php:568 -msgid "This connection is hidden!" -msgstr "Ce contact est caché !" +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Agree" +msgstr "D'accord" -#: ../../Zotlabs/Module/Connedit.php:575 -msgid "Delete this connection" -msgstr "Supprimer ce contact" +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Disagree" +msgstr "Pas d'accord" -#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493 -msgid "Me" -msgstr "Moi" +#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:578 +msgctxt "title" +msgid "Abstain" +msgstr "Abstention" -#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494 -msgid "Family" -msgstr "Famille" +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Attending" +msgstr "Participations" -#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342 -#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347 -#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361 -#: ../../include/widgets.php:495 ../../include/selectors.php:123 -#: ../../include/channel.php:389 ../../include/channel.php:390 -#: ../../include/channel.php:397 -msgid "Friends" -msgstr "Amis" +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Not attending" +msgstr "Non-participations" -#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496 -msgid "Acquaintances" -msgstr "Connaissances" +#: ../../Zotlabs/Module/Photos.php:1110 ../../include/conversation.php:579 +msgctxt "title" +msgid "Might attend" +msgstr "Participation possible" -#: ../../Zotlabs/Module/Connedit.php:594 -#: ../../Zotlabs/Module/Connections.php:92 -#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497 -msgid "All" -msgstr "Tous" +#: ../../Zotlabs/Module/Photos.php:1127 ../../Zotlabs/Module/Photos.php:1139 +#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198 +#: ../../include/conversation.php:1928 +msgid "View all" +msgstr "Voir tout" -#: ../../Zotlabs/Module/Connedit.php:654 -msgid "Approve this connection" -msgstr "Autoriser ce contact" +#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Lib/ThreadItem.php:190 +#: ../../include/taxonomy.php:403 ../../include/conversation.php:1952 +#: ../../include/channel.php:1273 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "Aime" +msgstr[1] "Aime" -#: ../../Zotlabs/Module/Connedit.php:654 -msgid "Accept connection to allow communication" -msgstr "Accepter le contact pour permettre la communication" +#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:195 +#: ../../include/conversation.php:1955 +msgctxt "noun" +msgid "Dislike" +msgid_plural "Dislikes" +msgstr[0] "N'aime pas" +msgstr[1] "N'aime pas" -#: ../../Zotlabs/Module/Connedit.php:659 -msgid "Set Affinity" -msgstr "Définir le degré d'affinité" +#: ../../Zotlabs/Module/Photos.php:1236 +msgid "Photo Tools" +msgstr "Ouitls pour photos" -#: ../../Zotlabs/Module/Connedit.php:662 -msgid "Set Profile" -msgstr "Définir le profil" +#: ../../Zotlabs/Module/Photos.php:1245 +msgid "In This Photo:" +msgstr "Dans cette photo :" -#: ../../Zotlabs/Module/Connedit.php:665 -msgid "Set Affinity & Profile" -msgstr "Définir le degré d'affinité et le profil" +#: ../../Zotlabs/Module/Photos.php:1250 +msgid "Map" +msgstr "Carte" -#: ../../Zotlabs/Module/Connedit.php:698 -msgid "none" -msgstr "Aucun" +#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:400 +msgctxt "noun" +msgid "Likes" +msgstr "Aime" -#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614 -msgid "Connection Default Permissions" -msgstr "Autorisations par défaut des contacts" +#: ../../Zotlabs/Module/Photos.php:1259 ../../Zotlabs/Lib/ThreadItem.php:401 +msgctxt "noun" +msgid "Dislikes" +msgstr "N'aime pas" -#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926 -#, php-format -msgid "Connection: %s" -msgstr "Contact : %s" +#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:406 +#: ../../include/acl_selectors.php:220 +msgid "Close" +msgstr "Fermer" -#: ../../Zotlabs/Module/Connedit.php:703 -msgid "Apply these permissions automatically" -msgstr "Appliquer ces permissions automatiquement" +#: ../../Zotlabs/Module/Photos.php:1341 +msgid "View Album" +msgstr "Voir l'album" -#: ../../Zotlabs/Module/Connedit.php:703 -msgid "Connection requests will be approved without your interaction" -msgstr "Les demandes de contact seront approuvées automatiquement" +#: ../../Zotlabs/Module/Photos.php:1352 ../../Zotlabs/Module/Photos.php:1365 +#: ../../Zotlabs/Module/Photos.php:1366 +msgid "Recent Photos" +msgstr "Photos récentes" -#: ../../Zotlabs/Module/Connedit.php:705 -msgid "This connection's primary address is" -msgstr "L'adresse principale de ce contact est" +#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editblock.php:79 +#: ../../Zotlabs/Module/Editblock.php:95 +#: ../../Zotlabs/Module/Editlayout.php:79 +#: ../../Zotlabs/Module/Editwebpage.php:80 +msgid "Item not found" +msgstr "Élément introuvable" -#: ../../Zotlabs/Module/Connedit.php:706 -msgid "Available locations:" -msgstr "Emplacements disponibles :" +#: ../../Zotlabs/Module/Editpost.php:35 +msgid "Item is not editable" +msgstr "Elément non modifiable" -#: ../../Zotlabs/Module/Connedit.php:710 -msgid "" -"The permissions indicated on this page will be applied to all new " -"connections." -msgstr "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts." +#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:138 +msgid "Edit post" +msgstr "Modifier la publication" -#: ../../Zotlabs/Module/Connedit.php:711 -msgid "Connection Tools" +#: ../../Zotlabs/Module/Acl.php:117 ../../Zotlabs/Module/Lockview.php:117 +#: ../../Zotlabs/Module/Lockview.php:153 ../../include/acl_selectors.php:183 +msgctxt "acl" +msgid "Profile" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:713 -msgid "Slide to adjust your degree of friendship" -msgstr "Faites glisser pour ajuster votre proximité avec le contact" +#: ../../Zotlabs/Module/Acl.php:344 +msgid "network" +msgstr "réseau" -#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159 -#: ../../include/js_strings.php:20 -msgid "Rating" -msgstr "Evaluation" +#: ../../Zotlabs/Module/Acl.php:354 +msgid "RSS" +msgstr "RSS" -#: ../../Zotlabs/Module/Connedit.php:715 -msgid "Slide to adjust your rating" -msgstr "Faîtes glisser pour ajuster votre note" +#: ../../Zotlabs/Module/Help.php:23 +msgid "Documentation Search" +msgstr "Chercher dans la documentation" -#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721 -msgid "Optionally explain your rating" -msgstr "Explication facultative de votre évaluation" +#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1827 +msgid "About" +msgstr "À propos" -#: ../../Zotlabs/Module/Connedit.php:718 -msgid "Custom Filter" -msgstr "Filtre personnalisé" +#: ../../Zotlabs/Module/Help.php:81 ../../Zotlabs/Module/Group.php:197 +msgid "Members" +msgstr "Membres" -#: ../../Zotlabs/Module/Connedit.php:719 -msgid "Only import posts with this text" -msgstr "N'importer que les publications comprenant ce texte" +#: ../../Zotlabs/Module/Help.php:82 +msgid "Administrators" +msgstr "Administrateurs" -#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720 -msgid "" -"words one per line or #tags or /patterns/ or lang=xx, leave blank to import " -"all posts" -msgstr "un mot par ligne ou #étiquettes ou /motif/ ou lang=xx, laisser vide pour importer toutes les publications" +#: ../../Zotlabs/Module/Help.php:83 +msgid "Developers" +msgstr "Développeurs" -#: ../../Zotlabs/Module/Connedit.php:720 -msgid "Do not import posts with this text" -msgstr "Ne pas importer les publications comprenant ce texte" +#: ../../Zotlabs/Module/Help.php:84 +msgid "Tutorials" +msgstr "Tutoriels" -#: ../../Zotlabs/Module/Connedit.php:722 -msgid "This information is public!" -msgstr "Cette information est publique !" +#: ../../Zotlabs/Module/Help.php:93 +msgid "$Projectname Documentation" +msgstr "Documentation $Projectname" -#: ../../Zotlabs/Module/Connedit.php:727 -msgid "Connection Pending Approval" -msgstr "Contact en attente d'approbation" +#: ../../Zotlabs/Module/Help.php:94 +msgid "Contents" +msgstr "Contenus" -#: ../../Zotlabs/Module/Connedit.php:730 -msgid "inherited" -msgstr "héritée" +#: ../../Zotlabs/Module/Bookmarks.php:53 +msgid "Bookmark added" +msgstr "Favori ajouté" -#: ../../Zotlabs/Module/Connedit.php:732 -#, php-format -msgid "" -"Please choose the profile you would like to display to %s when viewing your " -"profile securely." -msgstr "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée." +#: ../../Zotlabs/Module/Bookmarks.php:75 +msgid "My Bookmarks" +msgstr "Mes Favoris" -#: ../../Zotlabs/Module/Connedit.php:734 -msgid "Their Settings" -msgstr "Leurs paramètres" +#: ../../Zotlabs/Module/Bookmarks.php:86 +msgid "My Connections Bookmarks" +msgstr "Favoris de mes contacts" -#: ../../Zotlabs/Module/Connedit.php:735 -msgid "My Settings" -msgstr "Mes paramètres" +#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109 +msgid "Continue" +msgstr "Continuer" -#: ../../Zotlabs/Module/Connedit.php:737 -msgid "Individual Permissions" -msgstr "Permissions individuelles" +#: ../../Zotlabs/Module/Connect.php:90 +msgid "Premium Channel Setup" +msgstr "Configuration du canal VIP" -#: ../../Zotlabs/Module/Connedit.php:738 +#: ../../Zotlabs/Module/Connect.php:92 +msgid "Enable premium channel connection restrictions" +msgstr "Activer les restrictions liées au canal VIP" + +#: ../../Zotlabs/Module/Connect.php:93 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 "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités." +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." +msgstr "Merci de saisir les restrictions et/ou conditions - reçu Paypal, transaction Bitcoin, ligne de conduite, ..." -#: ../../Zotlabs/Module/Connedit.php:739 +#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115 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 "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités." +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" +msgstr "Avant d'autoriser la mise en relation, ce canal attire votre attention sur les conditions suivantes :" -#: ../../Zotlabs/Module/Connedit.php:740 -msgid "Last update:" -msgstr "Dernière mise à jour :" +#: ../../Zotlabs/Module/Connect.php:96 +msgid "" +"Potential connections will then see the following text before proceeding:" +msgstr "Les contacts potentiels verront ce qui suit avant de pouvoir continuer :" -#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17 -#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86 -#: ../../Zotlabs/Module/Search.php:17 -#: ../../Zotlabs/Module/Viewconnections.php:20 -msgid "Public access denied." -msgstr "Accès public refusé." +#: ../../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 "En continuant, je certifie que je me suis conformé à toutes les instructions indiquées sur cette page." -#: ../../Zotlabs/Module/Directory.php:243 -#, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "%d évaluation" -msgstr[1] "%d évaluations" +#: ../../Zotlabs/Module/Connect.php:106 +msgid "(No specific instructions have been provided by the channel owner.)" +msgstr "(Aucune instruction spécifique n'a été fournie par le propriétaire du canal.)" -#: ../../Zotlabs/Module/Directory.php:254 -msgid "Gender: " -msgstr "Sexe/genre :" +#: ../../Zotlabs/Module/Connect.php:114 +msgid "Restricted or Premium Channel" +msgstr "Canal VIP ou restreint" -#: ../../Zotlabs/Module/Directory.php:256 -msgid "Status: " -msgstr "État :" +#: ../../Zotlabs/Module/Admin.php:94 +msgid "# Accounts" +msgstr "# Comptes" -#: ../../Zotlabs/Module/Directory.php:258 -msgid "Homepage: " -msgstr "Site web :" +#: ../../Zotlabs/Module/Admin.php:95 +msgid "# blocked accounts" +msgstr "# comptes bloqués" -#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183 -msgid "Age:" -msgstr "Age :" +#: ../../Zotlabs/Module/Admin.php:96 +msgid "# expired accounts" +msgstr "# comptes expirés" -#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52 -#: ../../include/event.php:84 ../../include/channel.php:1027 -#: ../../include/bb2diaspora.php:507 -msgid "Location:" -msgstr "Emplacement :" +#: ../../Zotlabs/Module/Admin.php:97 +msgid "# expiring accounts" +msgstr "# comptes expirant" -#: ../../Zotlabs/Module/Directory.php:317 -msgid "Description:" -msgstr "Description :" +#: ../../Zotlabs/Module/Admin.php:108 +msgid "# Channels" +msgstr "# Canaux" -#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199 -msgid "Hometown:" -msgstr "Ville natale :" +#: ../../Zotlabs/Module/Admin.php:109 +msgid "# primary" +msgstr "# primaire" -#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207 -msgid "About:" -msgstr "À propos :" +#: ../../Zotlabs/Module/Admin.php:110 +msgid "# clones" +msgstr "# clones" -#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68 -#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147 -#: ../../include/widgets.php:184 ../../include/connections.php:78 -#: ../../include/conversation.php:956 ../../include/channel.php:1012 -msgid "Connect" -msgstr "Ajouter/Suivre" +#: ../../Zotlabs/Module/Admin.php:116 +msgid "Message queues" +msgstr "File des messages" -#: ../../Zotlabs/Module/Directory.php:326 -msgid "Public Forum:" -msgstr "Forum public :" +#: ../../Zotlabs/Module/Admin.php:133 +msgid "Your software should be updated" +msgstr "Votre logiciel doit d'être mis à jour" + +#: ../../Zotlabs/Module/Admin.php:137 ../../Zotlabs/Module/Admin/Logs.php:82 +#: ../../Zotlabs/Module/Admin/Security.php:86 +#: ../../Zotlabs/Module/Admin/Themes.php:120 +#: ../../Zotlabs/Module/Admin/Themes.php:154 +#: ../../Zotlabs/Module/Admin/Accounts.php:164 +#: ../../Zotlabs/Module/Admin/Channels.php:145 +#: ../../Zotlabs/Module/Admin/Site.php:258 +#: ../../Zotlabs/Module/Admin/Plugins.php:336 +#: ../../Zotlabs/Module/Admin/Plugins.php:431 +msgid "Administration" +msgstr "Administration" -#: ../../Zotlabs/Module/Directory.php:329 -msgid "Keywords: " -msgstr "Mots-clefs :" +#: ../../Zotlabs/Module/Admin.php:138 +msgid "Summary" +msgstr "Résumé" -#: ../../Zotlabs/Module/Directory.php:332 -msgid "Don't suggest" -msgstr "Ne pas suggérer" +#: ../../Zotlabs/Module/Admin.php:141 +msgid "Registered accounts" +msgstr "Comptes enregistrés" -#: ../../Zotlabs/Module/Directory.php:334 -msgid "Common connections:" -msgstr "Contacts en commun :" +#: ../../Zotlabs/Module/Admin.php:142 +msgid "Pending registrations" +msgstr "Inscriptions en attente" -#: ../../Zotlabs/Module/Directory.php:383 -msgid "Global Directory" -msgstr "Annuaire global" +#: ../../Zotlabs/Module/Admin.php:143 +msgid "Registered channels" +msgstr "Canaux enregistrés" -#: ../../Zotlabs/Module/Directory.php:383 -msgid "Local Directory" -msgstr "Annuaire local" +#: ../../Zotlabs/Module/Admin.php:144 +msgid "Active plugins" +msgstr "Greffons actifs" -#: ../../Zotlabs/Module/Directory.php:388 -#: ../../Zotlabs/Module/Directory.php:393 -#: ../../Zotlabs/Module/Connections.php:309 -#: ../../include/contact_widgets.php:23 -msgid "Find" -msgstr "Trouver" +#: ../../Zotlabs/Module/Admin.php:145 +msgid "Version" +msgstr "Version" -#: ../../Zotlabs/Module/Directory.php:389 -msgid "Finding:" -msgstr "Recherche :" +#: ../../Zotlabs/Module/Admin.php:146 +msgid "Repository version (master)" +msgstr "Version du dépôt (maître)" -#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64 -#: ../../include/contact_widgets.php:24 -msgid "Channel Suggestions" -msgstr "Canaux suggérés" +#: ../../Zotlabs/Module/Admin.php:147 +msgid "Repository version (dev)" +msgstr "Version du dépôt (développeur)" -#: ../../Zotlabs/Module/Directory.php:394 -msgid "next page" -msgstr "page suivante" +#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97 +#: ../../Zotlabs/Module/Blocks.php:155 +msgid "Block Name" +msgstr "Nom du Bloc" -#: ../../Zotlabs/Module/Directory.php:394 -msgid "previous page" -msgstr "page précédente" +#: ../../Zotlabs/Module/Editblock.php:111 +#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Mail.php:287 +#: ../../Zotlabs/Module/Mail.php:412 ../../Zotlabs/Module/Chat.php:207 +#: ../../include/conversation.php:1295 +msgid "Insert web link" +msgstr "Insérer lien web" -#: ../../Zotlabs/Module/Directory.php:395 -msgid "Sort options" -msgstr "Options de tri" +#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1406 +msgid "Title (optional)" +msgstr "Titre (facultatif)" -#: ../../Zotlabs/Module/Directory.php:396 -msgid "Alphabetic" -msgstr "Alphabétique" +#: ../../Zotlabs/Module/Editblock.php:133 +msgid "Edit Block" +msgstr "Modifier le bloc" -#: ../../Zotlabs/Module/Directory.php:397 -msgid "Reverse Alphabetic" -msgstr "Alphabétique inversé" +#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31 +msgid "Invalid item." +msgstr "Élément invalide." -#: ../../Zotlabs/Module/Directory.php:398 -msgid "Newest to Oldest" -msgstr "Du plus récent au moins récent" +#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Cal.php:62 +#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Chanview.php:96 +#: ../../Zotlabs/Module/Wall_upload.php:31 +msgid "Channel not found." +msgstr "Canal introuvable." -#: ../../Zotlabs/Module/Directory.php:399 -msgid "Oldest to Newest" -msgstr "Du moins récent du plus récent" +#: ../../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 "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/Directory.php:416 -msgid "No entries (some entries may be hidden)." -msgstr "Pas d'entrées (certaines peuvent être cachées)." +#: ../../Zotlabs/Module/Filer.php:52 +msgid "Save to Folder:" +msgstr "Classer dans le dossier :" -#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33 -#: ../../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:3359 -msgid "Item not found." -msgstr "Élément introuvable" +#: ../../Zotlabs/Module/Filer.php:52 +msgid "- select -" +msgstr "- choisir -" -#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95 -#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79 -#: ../../Zotlabs/Module/Editwebpage.php:81 -msgid "Item not found" -msgstr "Élément introuvable" +#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin/Profs.php:74 +#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32 +#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:202 +#: ../../include/text.php:1005 ../../include/text.php:1017 +msgid "Save" +msgstr "Enregistrer" -#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228 -msgid "Title (optional)" -msgstr "Titre (facultatif)" +#: ../../Zotlabs/Module/Ping.php:254 +msgid "sent you a private message" +msgstr "vous a envoyé un message privé" -#: ../../Zotlabs/Module/Editblock.php:133 -msgid "Edit Block" -msgstr "Modifier le bloc" +#: ../../Zotlabs/Module/Ping.php:302 +msgid "added your channel" +msgstr "a ajouté votre canal" -#: ../../Zotlabs/Module/Common.php:14 -msgid "No channel." -msgstr "Pas de canal." +#: ../../Zotlabs/Module/Ping.php:312 +msgid "g A l F d" +msgstr "g A l F d" -#: ../../Zotlabs/Module/Common.php:43 -msgid "Common connections" -msgstr "Contacts en commun" +#: ../../Zotlabs/Module/Ping.php:330 +msgid "[today]" +msgstr "[aujourd'hui]" -#: ../../Zotlabs/Module/Common.php:48 -msgid "No connections in common." -msgstr "Pas de contacts en commun." +#: ../../Zotlabs/Module/Ping.php:339 +msgid "posted an event" +msgstr "a publié un événement" #: ../../Zotlabs/Module/Connections.php:56 #: ../../Zotlabs/Module/Connections.php:161 -#: ../../Zotlabs/Module/Connections.php:242 +#: ../../Zotlabs/Module/Connections.php:250 msgid "Blocked" msgstr "Bloqué(e)" #: ../../Zotlabs/Module/Connections.php:61 #: ../../Zotlabs/Module/Connections.php:168 -#: ../../Zotlabs/Module/Connections.php:241 +#: ../../Zotlabs/Module/Connections.php:249 msgid "Ignored" msgstr "Ignoré(e)" #: ../../Zotlabs/Module/Connections.php:66 #: ../../Zotlabs/Module/Connections.php:182 -#: ../../Zotlabs/Module/Connections.php:240 +#: ../../Zotlabs/Module/Connections.php:248 msgid "Hidden" msgstr "Caché" #: ../../Zotlabs/Module/Connections.php:71 #: ../../Zotlabs/Module/Connections.php:175 -#: ../../Zotlabs/Module/Connections.php:239 +#: ../../Zotlabs/Module/Connections.php:247 msgid "Archived" msgstr "Archivé" #: ../../Zotlabs/Module/Connections.php:76 #: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116 -#: ../../include/conversation.php:1535 +#: ../../include/conversation.php:1724 msgid "New" msgstr "Nouveautés" +#: ../../Zotlabs/Module/Connections.php:92 +#: ../../Zotlabs/Module/Connections.php:107 +#: ../../Zotlabs/Module/Connedit.php:674 ../../include/widgets.php:544 +msgid "All" +msgstr "Tous" + #: ../../Zotlabs/Module/Connections.php:138 msgid "New Connections" msgstr "Nouveaux contacts" @@ -1090,7 +1489,7 @@ msgid "Show pending (new) connections" msgstr "Voir les (nouveaux) contacts en attente" #: ../../Zotlabs/Module/Connections.php:145 -#: ../../Zotlabs/Module/Profperm.php:144 +#: ../../Zotlabs/Module/Profperm.php:140 msgid "All Connections" msgstr "Tous les contacts" @@ -1114,78 +1513,93 @@ msgstr "Ne montrer que les contacts archivés" msgid "Only show hidden connections" msgstr "Ne montrer que les contacts cachés" -#: ../../Zotlabs/Module/Connections.php:238 +#: ../../Zotlabs/Module/Connections.php:246 msgid "Pending approval" msgstr "En attente de validation" -#: ../../Zotlabs/Module/Connections.php:254 +#: ../../Zotlabs/Module/Connections.php:262 #, php-format msgid "%1$s [%2$s]" msgstr "%1$s [%2$s]" -#: ../../Zotlabs/Module/Connections.php:255 +#: ../../Zotlabs/Module/Connections.php:263 msgid "Edit connection" msgstr "Modifier le contact" -#: ../../Zotlabs/Module/Connections.php:256 +#: ../../Zotlabs/Module/Connections.php:264 msgid "Delete connection" msgstr "Supprimer le contact" -#: ../../Zotlabs/Module/Connections.php:265 +#: ../../Zotlabs/Module/Connections.php:273 msgid "Channel address" msgstr "Adresse du canal" -#: ../../Zotlabs/Module/Connections.php:267 +#: ../../Zotlabs/Module/Connections.php:275 msgid "Network" msgstr "Réseau" -#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710 +#: ../../Zotlabs/Module/Connections.php:278 +msgid "Call" +msgstr "Appeler" + +#: ../../Zotlabs/Module/Connections.php:280 msgid "Status" msgstr "État" -#: ../../Zotlabs/Module/Connections.php:272 +#: ../../Zotlabs/Module/Connections.php:282 msgid "Connected" msgstr "Connecté" -#: ../../Zotlabs/Module/Connections.php:274 +#: ../../Zotlabs/Module/Connections.php:284 msgid "Approve connection" msgstr "Valider le contact" -#: ../../Zotlabs/Module/Connections.php:275 -#: ../../Zotlabs/Module/Admin.php:1037 +#: ../../Zotlabs/Module/Connections.php:285 +#: ../../Zotlabs/Module/Admin/Accounts.php:171 msgid "Approve" msgstr "Approuver" -#: ../../Zotlabs/Module/Connections.php:276 +#: ../../Zotlabs/Module/Connections.php:286 msgid "Ignore connection" msgstr "Ignorer le contact" -#: ../../Zotlabs/Module/Connections.php:278 +#: ../../Zotlabs/Module/Connections.php:287 +#: ../../Zotlabs/Module/Connedit.php:602 +msgid "Ignore" +msgstr "Ignorer" + +#: ../../Zotlabs/Module/Connections.php:288 msgid "Recent activity" msgstr "Activité récente" -#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208 -#: ../../include/text.php:875 ../../include/nav.php:186 +#: ../../Zotlabs/Module/Connections.php:312 ../../Zotlabs/Lib/Apps.php:216 +#: ../../include/text.php:934 ../../include/nav.php:203 msgid "Connections" msgstr "Contacts" -#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44 -#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945 -#: ../../include/text.php:957 ../../include/nav.php:165 -#: ../../include/acl_selectors.php:276 +#: ../../Zotlabs/Module/Connections.php:316 ../../Zotlabs/Module/Search.php:44 +#: ../../Zotlabs/Lib/Apps.php:237 ../../include/acl_selectors.php:213 +#: ../../include/widgets.php:316 ../../include/text.php:1004 +#: ../../include/text.php:1016 ../../include/nav.php:180 msgid "Search" msgstr "Recherche" -#: ../../Zotlabs/Module/Connections.php:307 +#: ../../Zotlabs/Module/Connections.php:317 msgid "Search your connections" msgstr "Chercher parmi vos contacts" -#: ../../Zotlabs/Module/Connections.php:308 +#: ../../Zotlabs/Module/Connections.php:318 msgid "Connections search" msgstr "Chercher des contacts" +#: ../../Zotlabs/Module/Connections.php:319 +#: ../../Zotlabs/Module/Directory.php:392 +#: ../../Zotlabs/Module/Directory.php:397 ../../include/contact_widgets.php:23 +msgid "Find" +msgstr "Trouver" + #: ../../Zotlabs/Module/Cover_photo.php:58 -#: ../../Zotlabs/Module/Profile_photo.php:79 +#: ../../Zotlabs/Module/Profile_photo.php:61 msgid "Image uploaded but image cropping failed." msgstr "L'image a été téléversée, mais le recadrage a échoué." @@ -1195,66 +1609,66 @@ msgid "Cover Photos" msgstr "Photos de couverture" #: ../../Zotlabs/Module/Cover_photo.php:154 -#: ../../Zotlabs/Module/Profile_photo.php:133 +#: ../../Zotlabs/Module/Profile_photo.php:135 msgid "Image resize failed." msgstr "Le redimensionnement de l'image a échoué." #: ../../Zotlabs/Module/Cover_photo.php:168 -#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144 +#: ../../Zotlabs/Module/Profile_photo.php:197 ../../include/photos.php:149 msgid "Unable to process image" msgstr "Impossible de traiter l'image" #: ../../Zotlabs/Module/Cover_photo.php:192 -#: ../../Zotlabs/Module/Profile_photo.php:217 +#: ../../Zotlabs/Module/Profile_photo.php:232 msgid "Image upload failed." msgstr "Le téléversement de l'image a échoué." #: ../../Zotlabs/Module/Cover_photo.php:210 -#: ../../Zotlabs/Module/Profile_photo.php:236 +#: ../../Zotlabs/Module/Profile_photo.php:251 msgid "Unable to process image." msgstr "Impossible de traîter l'image." -#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270 +#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4276 msgid "female" msgstr "femme" -#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271 +#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4277 #, php-format msgid "%1$s updated her %2$s" msgstr "%1$s a mis à jour son %2$s" -#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272 +#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4278 msgid "male" msgstr "homme" -#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273 +#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4279 #, php-format msgid "%1$s updated his %2$s" msgstr "%1$s a mis à jour son %2$s" -#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275 +#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4281 #, php-format msgid "%1$s updated their %2$s" msgstr "%1$s a mis a jour sa %2$s" -#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661 +#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1764 msgid "cover photo" msgstr "Photo principale" #: ../../Zotlabs/Module/Cover_photo.php:303 #: ../../Zotlabs/Module/Cover_photo.php:318 -#: ../../Zotlabs/Module/Profile_photo.php:283 -#: ../../Zotlabs/Module/Profile_photo.php:324 +#: ../../Zotlabs/Module/Profile_photo.php:312 +#: ../../Zotlabs/Module/Profile_photo.php:354 msgid "Photo not available." msgstr "Photo inaccessible." #: ../../Zotlabs/Module/Cover_photo.php:354 -#: ../../Zotlabs/Module/Profile_photo.php:365 +#: ../../Zotlabs/Module/Profile_photo.php:409 msgid "Upload File:" msgstr "Téléverser fichier :" #: ../../Zotlabs/Module/Cover_photo.php:355 -#: ../../Zotlabs/Module/Profile_photo.php:366 +#: ../../Zotlabs/Module/Profile_photo.php:410 msgid "Select a profile:" msgstr "Choisir un profil :" @@ -1263,741 +1677,1162 @@ msgid "Upload Cover Photo" msgstr "Téléverser une photo de couverture" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:374 -#: ../../Zotlabs/Module/Settings.php:985 +#: ../../Zotlabs/Module/Profile_photo.php:418 +#: ../../Zotlabs/Module/Settings/Channel.php:404 msgid "or" msgstr "ou" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:374 +#: ../../Zotlabs/Module/Profile_photo.php:418 msgid "skip this step" msgstr "passer cette étape" #: ../../Zotlabs/Module/Cover_photo.php:361 -#: ../../Zotlabs/Module/Profile_photo.php:374 +#: ../../Zotlabs/Module/Profile_photo.php:418 msgid "select a photo from your photo albums" msgstr "choisir une photo dans vos albums" #: ../../Zotlabs/Module/Cover_photo.php:377 -#: ../../Zotlabs/Module/Profile_photo.php:390 +#: ../../Zotlabs/Module/Profile_photo.php:437 msgid "Crop Image" msgstr "Recadrer l'image" #: ../../Zotlabs/Module/Cover_photo.php:378 -#: ../../Zotlabs/Module/Profile_photo.php:391 +#: ../../Zotlabs/Module/Profile_photo.php:438 msgid "Please adjust the image cropping for optimum viewing." msgstr "Merci d'ajuster le cadre pour une visualisation optimale." #: ../../Zotlabs/Module/Cover_photo.php:380 -#: ../../Zotlabs/Module/Profile_photo.php:393 +#: ../../Zotlabs/Module/Profile_photo.php:440 msgid "Done Editing" msgstr "J'ai terminé" -#: ../../Zotlabs/Module/Editpost.php:35 -msgid "Item is not editable" -msgstr "Elément non modifiable" +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 +msgid "Off" +msgstr "Inactif" -#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135 -msgid "Edit post" -msgstr "Modifier la publication" +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 +msgid "On" +msgstr "Actif" -#: ../../Zotlabs/Module/Events.php:26 -msgid "Calendar entries imported." -msgstr "Entrées du calendrier importées." +#: ../../Zotlabs/Module/Admin/Features.php:56 +#, php-format +msgid "Lock feature %s" +msgstr "Verrouiller fonctionnalité %s" -#: ../../Zotlabs/Module/Events.php:28 -msgid "No calendar entries found." -msgstr "Aucune entrée du calendrier trouvée." +#: ../../Zotlabs/Module/Admin/Features.php:64 +msgid "Manage Additional Features" +msgstr "Gérer les fonctionnalités additionnelles" -#: ../../Zotlabs/Module/Events.php:105 -msgid "Event can not end before it has started." -msgstr "La fin de l'événement ne peut être antérieure à son début." +#: ../../Zotlabs/Module/Admin/Logs.php:28 +msgid "Log settings updated." +msgstr "Paramètres du journal mis à jour." -#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116 -#: ../../Zotlabs/Module/Events.php:136 -msgid "Unable to generate preview." -msgstr "Impossible de générer l'aperçu." +#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1618 +#: ../../include/widgets.php:1628 +msgid "Logs" +msgstr "Journaux" -#: ../../Zotlabs/Module/Events.php:114 -msgid "Event title and start time are required." -msgstr "Un titre et une date de début sont requises pour l'événement." +#: ../../Zotlabs/Module/Admin/Logs.php:85 +msgid "Clear" +msgstr "Vider" -#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259 -msgid "Event not found." -msgstr "Événement introuvable." +#: ../../Zotlabs/Module/Admin/Logs.php:91 +msgid "Debugging" +msgstr "Débogage" -#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373 -#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949 -#: ../../include/text.php:1943 ../../include/conversation.php:123 -msgid "event" -msgstr "événement" +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "Log file" +msgstr "Fichier du journal" -#: ../../Zotlabs/Module/Events.php:449 -msgid "Edit event title" -msgstr "Modifier le titre de l'événement" +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "" +"Must be writable by web server. Relative to your top-level webserver " +"directory." +msgstr "Doit être permettre d'écrire par le serveur web. En relation avec le répertoire de votre site." -#: ../../Zotlabs/Module/Events.php:449 -msgid "Event title" -msgstr "Titre de l'événement" +#: ../../Zotlabs/Module/Admin/Logs.php:93 +msgid "Log level" +msgstr "Niveau de journalisation" -#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454 -#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713 -#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116 -#: ../../include/datetime.php:245 -msgid "Required" -msgstr "Requis" +#: ../../Zotlabs/Module/Admin/Profs.php:69 +msgid "New Profile Field" +msgstr "Nouveau champ de profil" -#: ../../Zotlabs/Module/Events.php:451 -msgid "Categories (comma-separated list)" -msgstr "Catégories (séparées par des virgules)" +#: ../../Zotlabs/Module/Admin/Profs.php:70 +#: ../../Zotlabs/Module/Admin/Profs.php:90 +msgid "Field nickname" +msgstr "Nom court du champ" -#: ../../Zotlabs/Module/Events.php:452 -msgid "Edit Category" -msgstr "Modifier la catégorie" +#: ../../Zotlabs/Module/Admin/Profs.php:70 +#: ../../Zotlabs/Module/Admin/Profs.php:90 +msgid "System name of field" +msgstr "Nom système du champ" -#: ../../Zotlabs/Module/Events.php:452 -msgid "Category" -msgstr "Catégorie" +#: ../../Zotlabs/Module/Admin/Profs.php:71 +#: ../../Zotlabs/Module/Admin/Profs.php:91 +msgid "Input type" +msgstr "Type de champ" -#: ../../Zotlabs/Module/Events.php:455 -msgid "Edit start date and time" -msgstr "Modifier la date et l'heure de début" +#: ../../Zotlabs/Module/Admin/Profs.php:72 +#: ../../Zotlabs/Module/Admin/Profs.php:92 +msgid "Field Name" +msgstr "Nom du champ" -#: ../../Zotlabs/Module/Events.php:455 -msgid "Start date and time" -msgstr "Date et heure de début" +#: ../../Zotlabs/Module/Admin/Profs.php:72 +#: ../../Zotlabs/Module/Admin/Profs.php:92 +msgid "Label on profile pages" +msgstr "Étiquette sur les pages de profil" -#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459 -msgid "Finish date and time are not known or not relevant" -msgstr "Date et heure de fin inconnues ou sans objet" +#: ../../Zotlabs/Module/Admin/Profs.php:73 +#: ../../Zotlabs/Module/Admin/Profs.php:93 +msgid "Help text" +msgstr "Aide à la saisie" -#: ../../Zotlabs/Module/Events.php:458 -msgid "Edit finish date and time" -msgstr "Modifier la date et l'heure de fin" +#: ../../Zotlabs/Module/Admin/Profs.php:73 +#: ../../Zotlabs/Module/Admin/Profs.php:93 +msgid "Additional info (optional)" +msgstr "Informations additionnelles (facultatif)" -#: ../../Zotlabs/Module/Events.php:458 -msgid "Finish date and time" -msgstr "Date et heure de fin" +#: ../../Zotlabs/Module/Admin/Profs.php:83 +msgid "Field definition not found" +msgstr "Définition du champ introuvable" -#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461 -msgid "Adjust for viewer timezone" -msgstr "Ajuster au fuseau horaire du visiteur" +#: ../../Zotlabs/Module/Admin/Profs.php:89 +msgid "Edit Profile Field" +msgstr "Modifier le champ de profil" -#: ../../Zotlabs/Module/Events.php:460 +#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1599 +msgid "Profile Fields" +msgstr "Champs de profil" + +#: ../../Zotlabs/Module/Admin/Profs.php:148 +msgid "Basic Profile Fields" +msgstr "Champs de profil de base" + +#: ../../Zotlabs/Module/Admin/Profs.php:149 +msgid "Advanced Profile Fields" +msgstr "Champs de profil avancés" + +#: ../../Zotlabs/Module/Admin/Profs.php:149 +msgid "(In addition to basic fields)" +msgstr "(en plus des champs de base)" + +#: ../../Zotlabs/Module/Admin/Profs.php:151 +msgid "All available fields" +msgstr "Tous les champs disponibles" + +#: ../../Zotlabs/Module/Admin/Profs.php:152 +msgid "Custom Fields" +msgstr "Champs personnalisés" + +#: ../../Zotlabs/Module/Admin/Profs.php:156 +msgid "Create Custom Field" +msgstr "Créer un champ personnalisé" + +#: ../../Zotlabs/Module/Admin/Security.php:77 msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." -msgstr "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde." +"By default, unfiltered HTML is allowed in embedded media. This is inherently" +" insecure." +msgstr "Par défaut le code HTML est autorisé pour les média par exemple les vidéos embarquées. Cependant cela peut poser un faille de sécurité." -#: ../../Zotlabs/Module/Events.php:462 -msgid "Edit Description" -msgstr "Modifier la description" +#: ../../Zotlabs/Module/Admin/Security.php:80 +msgid "" +"The recommended setting is to only allow unfiltered HTML from the following " +"sites:" +msgstr "Ce paramétrage autorisant le HTML pour les sites suivants." -#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117 -#: ../../Zotlabs/Module/Rbmark.php:101 -msgid "Description" -msgstr "Description" +#: ../../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/Events.php:464 -msgid "Edit Location" -msgstr "Modifier l'emplacement" +#: ../../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 "Les contenus html seront filtrés <strong>sauf</strong> ceux des sites explicitement bloqués." -#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117 -#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698 -#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25 -msgid "Location" -msgstr "Emplacement" +#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1594 +msgid "Security" +msgstr "Sécurité" -#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469 -msgid "Share this event" -msgstr "Partager cet événement" +#: ../../Zotlabs/Module/Admin/Security.php:89 +msgid "Block public" +msgstr "Bloquer \"public\"" -#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093 -#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719 -#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40 -msgid "Preview" -msgstr "Aperçu" +#: ../../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 "Sélectionner pour ne permettre l'accès aux pages personnelles \"publiques\" du site qu'aux personnes authentifiées, pas aux personnes anonymes du web." -#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232 -msgid "Permission settings" -msgstr "Gérer les autorisations" +#: ../../Zotlabs/Module/Admin/Security.php:90 +msgid "Set \"Transport Security\" HTTP header" +msgstr "Paramétrer \"Transport Security\" pour l'entête HTTP" -#: ../../Zotlabs/Module/Events.php:476 -msgid "Advanced Options" -msgstr "Options avancées" +#: ../../Zotlabs/Module/Admin/Security.php:91 +msgid "Set \"Content Security Policy\" HTTP header" +msgstr "Paramétrer \"Content Security Policy\" pour l'entête HTTP" -#: ../../Zotlabs/Module/Events.php:610 -msgid "Edit event" -msgstr "Modifier l'événement" +#: ../../Zotlabs/Module/Admin/Security.php:92 +msgid "Allowed email domains" +msgstr "Domaines de courriels autorisés" -#: ../../Zotlabs/Module/Events.php:612 -msgid "Delete event" -msgstr "Supprimer l'événement" +#: ../../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 "Liste de noms de domaines séparés par des virgules dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines." -#: ../../Zotlabs/Module/Events.php:646 -msgid "calendar" -msgstr "calendrier" +#: ../../Zotlabs/Module/Admin/Security.php:93 +msgid "Not allowed email domains" +msgstr "Domaines de courriel non autorisés" -#: ../../Zotlabs/Module/Events.php:706 -msgid "Event removed" -msgstr "Événement supprimé" +#: ../../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 "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel ne seront pas autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines, sauf si des domaines autorisés ont été définis." -#: ../../Zotlabs/Module/Events.php:709 -msgid "Failed to remove event" -msgstr "Impossible de supprimer l'événement" +#: ../../Zotlabs/Module/Admin/Security.php:94 +msgid "Allow communications only from these sites" +msgstr "N'autorisez que les communications venant de ces sites" -#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220 -#: ../../include/nav.php:92 ../../include/conversation.php:1632 -msgid "Photos" -msgstr "Photos" +#: ../../Zotlabs/Module/Admin/Security.php:94 +msgid "" +"One site per line. Leave empty to allow communication from anywhere by " +"default" +msgstr "Un site par ligne. Laisser vide pour autoriser les communications de tous les sites, par défaut." -#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88 -#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591 -#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15 -#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259 -msgid "Cancel" -msgstr "Annuler" +#: ../../Zotlabs/Module/Admin/Security.php:95 +msgid "Block communications from these sites" +msgstr "Bloquer les communications de ces sites" -#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49 -msgid "This site is not a directory server" -msgstr "Ce site n'est pas un serveur d'annuaire" +#: ../../Zotlabs/Module/Admin/Security.php:96 +msgid "Allow communications only from these channels" +msgstr "N'autoriser que les communications de ces canaux" -#: ../../Zotlabs/Module/Dirsearch.php:33 -msgid "This directory server requires an access token" -msgstr "Ce serveur d'annuaire requiert un jeton d'accès" +#: ../../Zotlabs/Module/Admin/Security.php:96 +msgid "" +"One channel (hash) per line. Leave empty to allow from any channel by " +"default" +msgstr "Un canal (adresse) par ligne. Laisser vide pour autoriser les communications de tous les canaux, par défaut" -#: ../../Zotlabs/Module/Filer.php:52 -msgid "Save to Folder:" -msgstr "Classer dans le dossier :" +#: ../../Zotlabs/Module/Admin/Security.php:97 +msgid "Block communications from these channels" +msgstr "Bloquer les communications de ces canaux" -#: ../../Zotlabs/Module/Filer.php:52 -msgid "- select -" -msgstr "- choisir -" +#: ../../Zotlabs/Module/Admin/Security.php:98 +msgid "Only allow embeds from secure (SSL) websites and links." +msgstr "Seuls les sites et liens sécurisés sont autorisé pour intégrer du code HTML" -#: ../../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:946 -#: ../../include/text.php:958 ../../include/widgets.php:201 -msgid "Save" -msgstr "Enregistrer" +#: ../../Zotlabs/Module/Admin/Security.php:99 +msgid "Allow unfiltered embedded HTML content only from these domains" +msgstr "Autoriser le contenu HTML embarqué uniquement à partir de ces domaines" -#: ../../Zotlabs/Module/Dreport.php:27 -msgid "Invalid message" -msgstr "Message non valide" +#: ../../Zotlabs/Module/Admin/Security.php:99 +msgid "One site per line. By default embedded content is filtered." +msgstr "Un site par ligne. Par défaut le contenu embarqué est filtré." -#: ../../Zotlabs/Module/Dreport.php:59 -msgid "no results" -msgstr "aucun résultat" +#: ../../Zotlabs/Module/Admin/Security.php:100 +msgid "Block embedded HTML from these domains" +msgstr "Bloquer le HTML embarqué à partir de ces domaines" -#: ../../Zotlabs/Module/Dreport.php:64 -#, php-format -msgid "Delivery report for %1$s" -msgstr "Rapport de distribution pour %1$s" +#: ../../Zotlabs/Module/Admin/Themes.php:18 +msgid "Theme settings updated." +msgstr "Paramètres du thème mis à jour." -#: ../../Zotlabs/Module/Dreport.php:78 -msgid "channel sync processed" -msgstr "Synchro de canal effectuée" +#: ../../Zotlabs/Module/Admin/Themes.php:58 +msgid "No themes found." +msgstr "Aucun thème trouvé." -#: ../../Zotlabs/Module/Dreport.php:82 -msgid "queued" -msgstr "mis dans la file d'attente" +#: ../../Zotlabs/Module/Admin/Themes.php:93 +#: ../../Zotlabs/Module/Admin/Plugins.php:305 +msgid "Disable" +msgstr "Désactiver" -#: ../../Zotlabs/Module/Dreport.php:86 -msgid "posted" -msgstr "publié" +#: ../../Zotlabs/Module/Admin/Themes.php:95 +#: ../../Zotlabs/Module/Admin/Plugins.php:308 +msgid "Enable" +msgstr "Activer" -#: ../../Zotlabs/Module/Dreport.php:90 -msgid "accepted for delivery" -msgstr "accepté pour la distribution" +#: ../../Zotlabs/Module/Admin/Themes.php:114 +msgid "Screenshot" +msgstr "Capture d'écran" -#: ../../Zotlabs/Module/Dreport.php:94 -msgid "updated" -msgstr "mis à jour" +#: ../../Zotlabs/Module/Admin/Themes.php:121 +#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1597 +msgid "Themes" +msgstr "Thèmes" -#: ../../Zotlabs/Module/Dreport.php:97 -msgid "update ignored" -msgstr "mise à jour ignorée" +#: ../../Zotlabs/Module/Admin/Themes.php:122 +#: ../../Zotlabs/Module/Admin/Plugins.php:338 +msgid "Toggle" +msgstr "(Dés)activer" -#: ../../Zotlabs/Module/Dreport.php:100 -msgid "permission denied" -msgstr "permission refusée" +#: ../../Zotlabs/Module/Admin/Themes.php:123 +#: ../../Zotlabs/Module/Admin/Plugins.php:339 ../../Zotlabs/Lib/Apps.php:223 +#: ../../include/widgets.php:699 ../../include/nav.php:225 +msgid "Settings" +msgstr "Paramètres" -#: ../../Zotlabs/Module/Dreport.php:104 -msgid "recipient not found" -msgstr "destinataire introuvable" +#: ../../Zotlabs/Module/Admin/Themes.php:132 +#: ../../Zotlabs/Module/Admin/Plugins.php:346 +msgid "Author: " +msgstr "Auteur :" -#: ../../Zotlabs/Module/Dreport.php:107 -msgid "mail recalled" -msgstr "courriel rappelé" +#: ../../Zotlabs/Module/Admin/Themes.php:133 +#: ../../Zotlabs/Module/Admin/Plugins.php:347 +msgid "Maintainer: " +msgstr "Maintenu par :" -#: ../../Zotlabs/Module/Dreport.php:110 -msgid "duplicate mail received" -msgstr "courriel reçu en double" +#: ../../Zotlabs/Module/Admin/Themes.php:160 +msgid "[Experimental]" +msgstr "[Expérimental]" -#: ../../Zotlabs/Module/Dreport.php:113 -msgid "mail delivered" -msgstr "courriel distribué" +#: ../../Zotlabs/Module/Admin/Themes.php:161 +msgid "[Unsupported]" +msgstr "[Non maintenu]" -#: ../../Zotlabs/Module/Editlayout.php:126 -#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186 -msgid "Layout Name" -msgstr "Nom de la mise en page" +#: ../../Zotlabs/Module/Admin/Account_edit.php:29 +#, php-format +msgid "Password changed for account %d." +msgstr "Le mot de passe a été modifié pour le compte %d." -#: ../../Zotlabs/Module/Editlayout.php:127 -#: ../../Zotlabs/Module/Layouts.php:130 -msgid "Layout Description (Optional)" -msgstr "Description de la mise en page (facultatif)" +#: ../../Zotlabs/Module/Admin/Account_edit.php:46 +msgid "Account settings updated." +msgstr "Paramétrage du compte mis à jour" -#: ../../Zotlabs/Module/Editlayout.php:135 -msgid "Edit Layout" -msgstr "Modifier la mise en page" +#: ../../Zotlabs/Module/Admin/Account_edit.php:61 +msgid "Account not found." +msgstr "Compte introuvable" -#: ../../Zotlabs/Module/Editwebpage.php:143 -msgid "Page link" -msgstr "" +#: ../../Zotlabs/Module/Admin/Account_edit.php:68 +msgid "Account Edit" +msgstr "Modifier votre compte" -#: ../../Zotlabs/Module/Editwebpage.php:169 -msgid "Edit Webpage" -msgstr "Modifier la page web" +#: ../../Zotlabs/Module/Admin/Account_edit.php:69 +msgid "New Password" +msgstr "Nouveau mot de passe" -#: ../../Zotlabs/Module/Follow.php:34 -msgid "Channel added." -msgstr "Canal ajouté." +#: ../../Zotlabs/Module/Admin/Account_edit.php:70 +msgid "New Password again" +msgstr "Nouveau mot de passe (encore)" -#: ../../Zotlabs/Module/Acl.php:227 -msgid "network" -msgstr "réseau" +#: ../../Zotlabs/Module/Admin/Account_edit.php:71 +msgid "Technical skill level" +msgstr "Niveau technique" -#: ../../Zotlabs/Module/Acl.php:237 -msgid "RSS" -msgstr "RSS" +#: ../../Zotlabs/Module/Admin/Account_edit.php:72 +msgid "Account language (for emails)" +msgstr "Langue de votre compte (pour email)" -#: ../../Zotlabs/Module/Group.php:24 -msgid "Privacy group created." -msgstr "Groupe d'accès créé." +#: ../../Zotlabs/Module/Admin/Account_edit.php:73 +msgid "Service class" +msgstr "Classe de service" -#: ../../Zotlabs/Module/Group.php:30 -msgid "Could not create privacy group." -msgstr "Impossible de créer le groupe d'accès." +#: ../../Zotlabs/Module/Admin/Accounts.php:36 +#, php-format +msgid "%s account blocked/unblocked" +msgid_plural "%s account blocked/unblocked" +msgstr[0] "%s compte bloqué/débloqué" +msgstr[1] "%s comptes bloqués/débloqués" -#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141 -#: ../../include/items.php:3893 -msgid "Privacy group not found." -msgstr "Groupe d'accès introuvable." +#: ../../Zotlabs/Module/Admin/Accounts.php:43 +#, php-format +msgid "%s account deleted" +msgid_plural "%s accounts deleted" +msgstr[0] "%s compte supprimé" +msgstr[1] "%s comptes supprimés" -#: ../../Zotlabs/Module/Group.php:58 -msgid "Privacy group updated." -msgstr "Groupe d'accès mis à jour." +#: ../../Zotlabs/Module/Admin/Accounts.php:79 +msgid "Account not found" +msgstr "Compte introuvable" -#: ../../Zotlabs/Module/Group.php:90 -msgid "Create a group of channels." -msgstr "Créer un groupe de canaux." +#: ../../Zotlabs/Module/Admin/Accounts.php:90 +#, php-format +msgid "Account '%s' deleted" +msgstr "Compte '%s' supprimé" -#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184 -msgid "Privacy group name: " -msgstr "Nom du groupe d'accès :" +#: ../../Zotlabs/Module/Admin/Accounts.php:98 +#, php-format +msgid "Account '%s' blocked" +msgstr "Compte '%s' bloqué" -#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187 -msgid "Members are visible to other channels" -msgstr "Les membres sont visibles par les autres canaux" +#: ../../Zotlabs/Module/Admin/Accounts.php:106 +#, php-format +msgid "Account '%s' unblocked" +msgstr "Compte '%s' débloqué" -#: ../../Zotlabs/Module/Group.php:111 -msgid "Privacy group removed." -msgstr "Groupe d'accès supprimé." +#: ../../Zotlabs/Module/Admin/Accounts.php:165 +#: ../../Zotlabs/Module/Admin/Accounts.php:178 ../../include/widgets.php:1592 +msgid "Accounts" +msgstr "Comptes" -#: ../../Zotlabs/Module/Group.php:113 -msgid "Unable to remove privacy group." -msgstr "Impossible de supprimer le groupe d'accès." +#: ../../Zotlabs/Module/Admin/Accounts.php:167 +#: ../../Zotlabs/Module/Admin/Channels.php:148 +msgid "select all" +msgstr "tout sélectionner" -#: ../../Zotlabs/Module/Group.php:183 -msgid "Privacy group editor" -msgstr "Editeur de groupe d'accès." +#: ../../Zotlabs/Module/Admin/Accounts.php:168 +msgid "Registrations waiting for confirm" +msgstr "Inscriptions en attente d'approbation" -#: ../../Zotlabs/Module/Group.php:197 -msgid "Members" -msgstr "Membres" +#: ../../Zotlabs/Module/Admin/Accounts.php:169 +msgid "Request date" +msgstr "Date de la demande" -#: ../../Zotlabs/Module/Group.php:199 -msgid "All Connected Channels" -msgstr "Tous les canaux connectés" +#: ../../Zotlabs/Module/Admin/Accounts.php:169 +#: ../../Zotlabs/Module/Admin/Accounts.php:181 +#: ../../Zotlabs/Module/Connedit.php:871 +#: ../../extend/addon/addon/redred/redred.php:107 +#: ../../extend/addon/addon/rtof/rtof.php:93 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1140 +#: ../../extend/addon/addon/openid/MysqlProvider.php:56 +#: ../../extend/addon/addon/openid/MysqlProvider.php:57 +#: ../../include/network.php:2247 +msgid "Email" +msgstr "Courriel" -#: ../../Zotlabs/Module/Group.php:231 -msgid "Click on a channel to add or remove." -msgstr "Cliquer sur un canal pour l'ajouter ou le supprimer" +#: ../../Zotlabs/Module/Admin/Accounts.php:170 +msgid "No registrations." +msgstr "Pas d'inscriptions." -#: ../../Zotlabs/Module/Ffsapi.php:12 -msgid "Share content from Firefox to $Projectname" -msgstr "Partager du contenu depuis Firefox avec $Projectname" +#: ../../Zotlabs/Module/Admin/Accounts.php:172 +msgid "Deny" +msgstr "Refuser" -#: ../../Zotlabs/Module/Ffsapi.php:15 -msgid "Activate the Firefox $Projectname provider" -msgstr "Activer le connecteur $Projectname pour Firefox" +#: ../../Zotlabs/Module/Admin/Accounts.php:174 +#: ../../Zotlabs/Module/Connedit.php:594 +msgid "Block" +msgstr "Bloquer" -#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85 -msgid "Authorize application connection" -msgstr "Autoriser l'application à se connecter" +#: ../../Zotlabs/Module/Admin/Accounts.php:175 +#: ../../Zotlabs/Module/Connedit.php:594 +msgid "Unblock" +msgstr "Débloquer" -#: ../../Zotlabs/Module/Api.php:62 -msgid "Return to your app and insert this Securty Code:" -msgstr "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité :" +#: ../../Zotlabs/Module/Admin/Accounts.php:180 +msgid "ID" +msgstr "Identifiant" -#: ../../Zotlabs/Module/Api.php:72 -msgid "Please login to continue." -msgstr "Merci de vous identifier pour continuer." +#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/group.php:287 +msgid "All Channels" +msgstr "Tous les canaux" -#: ../../Zotlabs/Module/Api.php:87 +#: ../../Zotlabs/Module/Admin/Accounts.php:183 +msgid "Register date" +msgstr "Date d'inscription" + +#: ../../Zotlabs/Module/Admin/Accounts.php:184 +msgid "Last login" +msgstr "Dernière connexion" + +#: ../../Zotlabs/Module/Admin/Accounts.php:185 +msgid "Expires" +msgstr "Expire le" + +#: ../../Zotlabs/Module/Admin/Accounts.php:186 +msgid "Service Class" +msgstr "Classe de service" + +#: ../../Zotlabs/Module/Admin/Accounts.php:188 msgid "" -"Do you want to authorize this application to access your posts and contacts," -" and/or create new posts for you?" -msgstr "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?" +"Selected accounts will be deleted!\\n\\nEverything these accounts had posted" +" on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "Les comptes sélectionnés seront supprimés !\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?" -#: ../../Zotlabs/Module/Help.php:26 -msgid "Documentation Search" -msgstr "Chercher dans la documentation" +#: ../../Zotlabs/Module/Admin/Accounts.php:189 +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 "Le compte {0} sera supprimé !\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?" -#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73 -#: ../../Zotlabs/Module/Help.php:79 -msgid "Help:" -msgstr "Aide :" +#: ../../Zotlabs/Module/Admin/Channels.php:31 +#, php-format +msgid "%s channel censored/uncensored" +msgid_plural "%s channels censored/uncensored" +msgstr[0] "%s canal censuré/dé-censuré" +msgstr[1] "%s canaux censurés/dé-censurés" -#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90 -#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223 -#: ../../include/nav.php:159 -msgid "Help" -msgstr "Aide" +#: ../../Zotlabs/Module/Admin/Channels.php:40 +#, php-format +msgid "%s channel code allowed/disallowed" +msgid_plural "%s channels code allowed/disallowed" +msgstr[0] "code autorisé/interdit pour %s canal" +msgstr[1] "code autorisé/interdit pour %s canaux" -#: ../../Zotlabs/Module/Help.php:120 -msgid "$Projectname Documentation" -msgstr "Documentation $Projectname" +#: ../../Zotlabs/Module/Admin/Channels.php:46 +#, php-format +msgid "%s channel deleted" +msgid_plural "%s channels deleted" +msgstr[0] "%s canal supprimé" +msgstr[1] "%s canaux supprimés" -#: ../../Zotlabs/Module/Filestorage.php:88 -msgid "Permission Denied." -msgstr "Permission refusée." +#: ../../Zotlabs/Module/Admin/Channels.php:65 +msgid "Channel not found" +msgstr "Canal introuvable" -#: ../../Zotlabs/Module/Filestorage.php:104 -msgid "File not found." -msgstr "Fichier introuvable." +#: ../../Zotlabs/Module/Admin/Channels.php:75 +#, php-format +msgid "Channel '%s' deleted" +msgstr "Canal '%s' supprimé" -#: ../../Zotlabs/Module/Filestorage.php:147 -msgid "Edit file permissions" -msgstr "Modifier les autorisations d'accès au fichier" +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' censored" +msgstr "Canal '%s' censuré" -#: ../../Zotlabs/Module/Filestorage.php:156 -msgid "Set/edit permissions" -msgstr "Définir/modifier les autorisations" +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' uncensored" +msgstr "Canal '%s' non censuré" -#: ../../Zotlabs/Module/Filestorage.php:157 -msgid "Include all files and sub folders" -msgstr "Inclure tous fichiers et sous-répertoires" +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code allowed" +msgstr "Code autorisé pour le canal '%s'" -#: ../../Zotlabs/Module/Filestorage.php:158 -msgid "Return to file list" -msgstr "Retourner à la liste des fichiers" +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code disallowed" +msgstr "Code interdit pour le canal '%s'" -#: ../../Zotlabs/Module/Filestorage.php:160 -msgid "Copy/paste this code to attach file to a post" -msgstr "Copiez/collez ce code pour joindre le fichier à une publication" +#: ../../Zotlabs/Module/Admin/Channels.php:146 ../../include/widgets.php:1593 +msgid "Channels" +msgstr "Canaux" -#: ../../Zotlabs/Module/Filestorage.php:161 -msgid "Copy/paste this URL to link file from a web page" -msgstr "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web" +#: ../../Zotlabs/Module/Admin/Channels.php:150 +msgid "Censor" +msgstr "Censurer" -#: ../../Zotlabs/Module/Filestorage.php:163 -msgid "Share this file" -msgstr "Partager ce fichier" +#: ../../Zotlabs/Module/Admin/Channels.php:151 +msgid "Uncensor" +msgstr "Ne plus censurer" -#: ../../Zotlabs/Module/Filestorage.php:164 -msgid "Show URL to this file" -msgstr "Montrer l'URL de ce fichier" +#: ../../Zotlabs/Module/Admin/Channels.php:152 +msgid "Allow Code" +msgstr "Autoriser le code" -#: ../../Zotlabs/Module/Filestorage.php:165 -msgid "Notify your contacts about this file" -msgstr "Notifier vos contacts à propos de ce fichier" +#: ../../Zotlabs/Module/Admin/Channels.php:153 +msgid "Disallow Code" +msgstr "Interdire le code" -#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102 -#: ../../include/nav.php:163 -msgid "Apps" -msgstr "Applications" +#: ../../Zotlabs/Module/Admin/Channels.php:154 +#: ../../include/conversation.php:1815 +msgid "Channel" +msgstr "Canal" -#: ../../Zotlabs/Module/Attach.php:13 -msgid "Item not available." -msgstr "Élément indisponible." +#: ../../Zotlabs/Module/Admin/Channels.php:158 +msgid "UID" +msgstr "UID" -#: ../../Zotlabs/Module/Import.php:32 -#, php-format -msgid "Your service plan only allows %d channels." -msgstr "Votre forfait n'autorise que %d canaux." +#: ../../Zotlabs/Module/Admin/Channels.php:160 +#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Connedit.php:874 +#: ../../Zotlabs/Module/Profiles.php:503 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1143 +msgid "Address" +msgstr "Adresse" -#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42 -msgid "Nothing to import." -msgstr "Rien à importer." +#: ../../Zotlabs/Module/Admin/Channels.php:162 +msgid "" +"Selected channels will be deleted!\\n\\nEverything that was posted in these " +"channels on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "Les canaux sélectionnés seront supprimés !\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé !\\n\\nÊtes-vous sûr ?" -#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66 -msgid "Unable to download data from old server" -msgstr "Impossible de récupérer les données de l'ancien serveur" +#: ../../Zotlabs/Module/Admin/Channels.php:163 +msgid "" +"The channel {0} will be deleted!\\n\\nEverything that was posted in this " +"channel on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "Le canal {0} sera supprimé !\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé !\\n\\nÊtes-vous sûr(e) ?" -#: ../../Zotlabs/Module/Import.php:100 -#: ../../Zotlabs/Module/Import_items.php:72 -msgid "Imported file is empty." -msgstr "Le fichier importé est vide." +#: ../../Zotlabs/Module/Admin/Dbsync.php:19 +msgid "Update has been marked successful" +msgstr "La mise à jour a été marquée comme réussie" -#: ../../Zotlabs/Module/Import.php:122 -#: ../../Zotlabs/Module/Import_items.php:86 +#: ../../Zotlabs/Module/Admin/Dbsync.php:29 #, php-format -msgid "Warning: Database versions differ by %1$d updates." -msgstr "Attention : les versions de bases de données diffèrent de %1$d mises à jour." +msgid "Executing %s failed. Check system logs." +msgstr "L'éxecution de %s a échoué. Merci de vérifier les journaux du système." -#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86 -msgid "Cloned channel not found. Import failed." -msgstr "Canal cloné non trouvé. Echec de l'import." +#: ../../Zotlabs/Module/Admin/Dbsync.php:32 +#, php-format +msgid "Update %s was successfully applied." +msgstr "La mise à jour %s a été appliquée avec succès." -#: ../../Zotlabs/Module/Import.php:160 -msgid "No channel. Import failed." -msgstr "Pas de canal. Echec de l'import." +#: ../../Zotlabs/Module/Admin/Dbsync.php:36 +#, php-format +msgid "Update %s did not return a status. Unknown if it succeeded." +msgstr "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non." -#: ../../Zotlabs/Module/Import.php:510 -#: ../../include/Import/import_diaspora.php:142 -msgid "Import completed." -msgstr "L'import est terminé." +#: ../../Zotlabs/Module/Admin/Dbsync.php:39 +#, php-format +msgid "Update function %s could not be found." +msgstr "La fonction de mise à jour %s est introuvable." -#: ../../Zotlabs/Module/Import.php:532 -msgid "You must be logged in to use this feature." -msgstr "Vous devez vous connecter pour utiliser cette fonctionnalité." +#: ../../Zotlabs/Module/Admin/Dbsync.php:55 +msgid "No failed updates." +msgstr "Aucune mise à jour défaillante." -#: ../../Zotlabs/Module/Import.php:537 -msgid "Import Channel" -msgstr "Importation de canal" +#: ../../Zotlabs/Module/Admin/Dbsync.php:59 +msgid "Failed Updates" +msgstr "Mises à jour défaillantes" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:61 +msgid "Mark success (if update was manually applied)" +msgstr "Marquer comme réussie (si la mise à jour a été réalisée manuellement)" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:62 +msgid "Attempt to execute this update step automatically" +msgstr "Tenter de réaliser cette étape de mise à jour automatiquement" + +#: ../../Zotlabs/Module/Admin/Site.php:133 +msgid "Site settings updated." +msgstr "Paramètres du site sauvegardés." + +#: ../../Zotlabs/Module/Admin/Site.php:159 ../../include/text.php:2931 +msgid "Default" +msgstr "Défaut" + +#: ../../Zotlabs/Module/Admin/Site.php:169 +#: ../../Zotlabs/Module/Settings/Display.php:143 +msgid "mobile" +msgstr "mobile" + +#: ../../Zotlabs/Module/Admin/Site.php:171 +msgid "experimental" +msgstr "expérimental" + +#: ../../Zotlabs/Module/Admin/Site.php:173 +msgid "unsupported" +msgstr "non maintenu" + +#: ../../Zotlabs/Module/Admin/Site.php:219 +msgid "Yes - with approval" +msgstr "Oui - avec approbation" + +#: ../../Zotlabs/Module/Admin/Site.php:225 +msgid "My site is not a public server" +msgstr "Mon site n'est pas un serveur public" + +#: ../../Zotlabs/Module/Admin/Site.php:226 +msgid "My site has paid access only" +msgstr "Mon site est à accès payant uniquement" + +#: ../../Zotlabs/Module/Admin/Site.php:227 +msgid "My site has free access only" +msgstr "Mon site est gratuit uniquement" + +#: ../../Zotlabs/Module/Admin/Site.php:228 +msgid "My site offers free accounts with optional paid upgrades" +msgstr "Mon site offre des comptes gratuits avec des améliorations payantes facultatives" + +#: ../../Zotlabs/Module/Admin/Site.php:239 ../../Zotlabs/Module/Setup.php:328 +msgid "Basic/Minimal Social Networking" +msgstr "Réseau social de base" + +#: ../../Zotlabs/Module/Admin/Site.php:240 ../../Zotlabs/Module/Setup.php:329 +msgid "Standard Configuration (default)" +msgstr "Configuration standard par défaut" + +#: ../../Zotlabs/Module/Admin/Site.php:241 ../../Zotlabs/Module/Setup.php:330 +msgid "Professional" +msgstr "Professionel" + +#: ../../Zotlabs/Module/Admin/Site.php:245 ../../Zotlabs/Lib/Techlevels.php:10 +msgid "Beginner/Basic" +msgstr "Pour débutant/ de base" + +#: ../../Zotlabs/Module/Admin/Site.php:246 ../../Zotlabs/Lib/Techlevels.php:11 +msgid "Novice - not skilled but willing to learn" +msgstr "Novice - pas qualifiés, mais prêt à apprendre" + +#: ../../Zotlabs/Module/Admin/Site.php:247 ../../Zotlabs/Lib/Techlevels.php:12 +msgid "Intermediate - somewhat comfortable" +msgstr "Intermédiaire - assez confortable" + +#: ../../Zotlabs/Module/Admin/Site.php:248 ../../Zotlabs/Lib/Techlevels.php:13 +msgid "Advanced - very comfortable" +msgstr "Niveau avancé - trés confortable" + +#: ../../Zotlabs/Module/Admin/Site.php:249 ../../Zotlabs/Lib/Techlevels.php:14 +msgid "Expert - I can write computer code" +msgstr "Niveau expert - Je peux programmer" + +#: ../../Zotlabs/Module/Admin/Site.php:250 ../../Zotlabs/Lib/Techlevels.php:15 +msgid "Wizard - I probably know more than you do" +msgstr "Crack - J'en sais probablement plus que beaucoup" + +#: ../../Zotlabs/Module/Admin/Site.php:259 ../../include/widgets.php:1591 +msgid "Site" +msgstr "Site" + +#: ../../Zotlabs/Module/Admin/Site.php:262 +msgid "File upload" +msgstr "Envoi de fichier" -#: ../../Zotlabs/Module/Import.php:538 +#: ../../Zotlabs/Module/Admin/Site.php:263 +msgid "Policies" +msgstr "Stratégies" + +#: ../../Zotlabs/Module/Admin/Site.php:264 +#: ../../include/contact_widgets.php:16 +msgid "Advanced" +msgstr "Avancé" + +#: ../../Zotlabs/Module/Admin/Site.php:268 +#: ../../extend/addon/addon/statusnet/statusnet.php:890 +msgid "Site name" +msgstr "Nom du site" + +#: ../../Zotlabs/Module/Admin/Site.php:270 ../../Zotlabs/Module/Setup.php:351 +msgid "Server Configuration/Role" +msgstr "Configuration du site." + +#: ../../Zotlabs/Module/Admin/Site.php:272 +msgid "Site default technical skill level" +msgstr "Niveau technique par défaut pour le site" + +#: ../../Zotlabs/Module/Admin/Site.php:272 +msgid "Used to provide a member experience matched to technical comfort level" +msgstr "Utilisé pour fournir une expérience utilisateur correspondant au niveau de confort technique" + +#: ../../Zotlabs/Module/Admin/Site.php:274 +msgid "Lock the technical skill level setting" +msgstr "Bloque le niveau technique du paramétrage" + +#: ../../Zotlabs/Module/Admin/Site.php:274 +msgid "Members can set their own technical comfort level by default" +msgstr "Les utilisateurs peuvent paramétrer leur propre niveau technique." + +#: ../../Zotlabs/Module/Admin/Site.php:276 +msgid "Banner/Logo" +msgstr "Bannière/logo" + +#: ../../Zotlabs/Module/Admin/Site.php:277 +msgid "Administrator Information" +msgstr "Informations de l'administrateur" + +#: ../../Zotlabs/Module/Admin/Site.php:277 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 "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import." +"Contact information for site administrators. Displayed on siteinfo page. " +"BBCode can be used here" +msgstr "Coordonnées de l'administrateur du site. Affichées sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici" -#: ../../Zotlabs/Module/Import.php:539 -#: ../../Zotlabs/Module/Import_items.php:119 -msgid "File to Upload" -msgstr "Fichier à envoyer" +#: ../../Zotlabs/Module/Admin/Site.php:278 +#: ../../Zotlabs/Module/Siteinfo.php:23 +msgid "Site Information" +msgstr "Site information" -#: ../../Zotlabs/Module/Import.php:540 -msgid "Or provide the old server/hub details" -msgstr "Ou fournissez les détails de l'ancien serveur/hub" +#: ../../Zotlabs/Module/Admin/Site.php:278 +msgid "" +"Publicly visible description of this site. Displayed on siteinfo page. " +"BBCode can be used here" +msgstr "Description du site visible publiquement. Affiché sur la page d'information du site. BBCode peut être utilisé ici." -#: ../../Zotlabs/Module/Import.php:541 -msgid "Your old identity address (xyz@example.com)" -msgstr "Votre ancienne identité (zyx@exemple.com)" +#: ../../Zotlabs/Module/Admin/Site.php:279 +msgid "System language" +msgstr "Langue du système" -#: ../../Zotlabs/Module/Import.php:542 -msgid "Your old login email address" -msgstr "Votre ancienne adresse de courriel" +#: ../../Zotlabs/Module/Admin/Site.php:280 +msgid "System theme" +msgstr "Thème du système" -#: ../../Zotlabs/Module/Import.php:543 -msgid "Your old login password" -msgstr "Votre ancien mot de passe" +#: ../../Zotlabs/Module/Admin/Site.php:280 +msgid "" +"Default system theme - may be over-ridden by user profiles - <a href='#' " +"id='cnftheme'>change theme settings</a>" +msgstr "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>" -#: ../../Zotlabs/Module/Import.php:544 +#: ../../Zotlabs/Module/Admin/Site.php:281 +msgid "Mobile system theme" +msgstr "Thème par défaut pour les mobiles" + +#: ../../Zotlabs/Module/Admin/Site.php:281 +msgid "Theme for mobile devices" +msgstr "Thème pour les mobiles" + +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "Allow Feeds as Connections" +msgstr "Autoriser les Flux (RSS) comme contacts" + +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "(Heavy system resource usage)" +msgstr "(Impact important sur les ressources)" + +#: ../../Zotlabs/Module/Admin/Site.php:284 +msgid "Maximum image size" +msgstr "Taille maximale des images" + +#: ../../Zotlabs/Module/Admin/Site.php:284 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 "Quelle que soit l'option choisie, merci de décider si ce hub sera votre nouvelle adresse primaire, ou si votre ancien hub continuera à jouer ce rôle. Vous pourrez publier depuis l'emplacement de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media." +"Maximum size in bytes of uploaded images. Default is 0, which means no " +"limits." +msgstr "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite." -#: ../../Zotlabs/Module/Import.php:545 -msgid "Make this hub my primary location" -msgstr "Faire de ce hub mon emplacement primaire" +#: ../../Zotlabs/Module/Admin/Site.php:285 +msgid "Does this site allow new member registration?" +msgstr "Est-ce que l'enregistrement de nouveaux membres est autorisé sur ce site ?" + +#: ../../Zotlabs/Module/Admin/Site.php:286 +msgid "Invitation only" +msgstr "Sur invitation seulement" -#: ../../Zotlabs/Module/Import.php:546 +#: ../../Zotlabs/Module/Admin/Site.php:286 msgid "" -"Import existing posts if possible (experimental - limited by available " -"memory" -msgstr "Importer les publications existantes si possible (expérimental - limité par la mémoire disponible)" +"Only allow new member registrations with an invitation code. Above register " +"policy must be set to Yes." +msgstr "N'autoriser que les nouvelles inscriptions avec code d'invitation. La stratégie d'inscription ci-dessus doit être mise sur \"Oui\"." + +#: ../../Zotlabs/Module/Admin/Site.php:287 +msgid "Which best describes the types of account offered by this hub?" +msgstr "Quelle est la meilleure description des types de comptes proposés sur ce hub ?" + +#: ../../Zotlabs/Module/Admin/Site.php:288 +msgid "Register text" +msgstr "Texte d'inscription" -#: ../../Zotlabs/Module/Import.php:547 +#: ../../Zotlabs/Module/Admin/Site.php:288 +msgid "Will be displayed prominently on the registration page." +msgstr "Sera affiché de manière bien visible sur le formulaire d'inscription." + +#: ../../Zotlabs/Module/Admin/Site.php:289 +msgid "Site homepage to show visitors (default: login box)" +msgstr "Page d'accueil du site à montrer aux visiteurs (par défaut : boîte de dialogue de connexion)" + +#: ../../Zotlabs/Module/Admin/Site.php:289 msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." -msgstr "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin." +"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 "exemple :'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier." -#: ../../Zotlabs/Module/Item.php:178 -msgid "Unable to locate original post." -msgstr "Impossible de localiser la publication initiale." +#: ../../Zotlabs/Module/Admin/Site.php:290 +msgid "Preserve site homepage URL" +msgstr "Préserver l'adresse d'accueil du site" -#: ../../Zotlabs/Module/Item.php:427 -msgid "Empty post discarded." -msgstr "Publication vide annulée." +#: ../../Zotlabs/Module/Admin/Site.php:290 +msgid "" +"Present the site homepage in a frame at the original location instead of " +"redirecting" +msgstr "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger" -#: ../../Zotlabs/Module/Item.php:467 -msgid "Executable content type not permitted to this channel." -msgstr "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal." +#: ../../Zotlabs/Module/Admin/Site.php:291 +msgid "Accounts abandoned after x days" +msgstr "Les comptes sont abandonnés après x jours" -#: ../../Zotlabs/Module/Item.php:847 -msgid "Duplicate post suppressed." -msgstr "Publication en doublon supprimée." +#: ../../Zotlabs/Module/Admin/Site.php:291 +msgid "" +"Will not waste system resources polling external sites for abandonded " +"accounts. Enter 0 for no time limit." +msgstr "Eviter de gaspiller les ressources du système en interrogeant des hubs distants pour des canaux abandonnés. Mettez 0 pour ne pas avoir de limite de temps." -#: ../../Zotlabs/Module/Item.php:977 -msgid "System error. Post not saved." -msgstr "Erreur système. Publication non sauvegardée." +#: ../../Zotlabs/Module/Admin/Site.php:292 +msgid "Allowed friend domains" +msgstr "Domaines amicaux autorisés" -#: ../../Zotlabs/Module/Item.php:1241 -msgid "Unable to obtain post information from database." -msgstr "Impossible d'obtenir les informations de publication depuis la base de données." +#: ../../Zotlabs/Module/Admin/Site.php:292 +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 de noms de domaines séparés par des virgules pour lesquels ce site acceptera les demandes d'amitié. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines." -#: ../../Zotlabs/Module/Item.php:1248 -#, php-format -msgid "You have reached your limit of %1$.0f top level posts." -msgstr "Vous avez atteint votre limite de %1$.0f contributions \"racines\"." +#: ../../Zotlabs/Module/Admin/Site.php:293 +msgid "Verify Email Addresses" +msgstr "Demander vérification des adresses de courriel" -#: ../../Zotlabs/Module/Item.php:1255 -#, php-format -msgid "You have reached your limit of %1$.0f webpages." -msgstr "Vous avez atteint votre limite de %1$.0f pages web." +#: ../../Zotlabs/Module/Admin/Site.php:293 +msgid "" +"Check to verify email addresses used in account registration (recommended)." +msgstr "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé)." -#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267 -msgid "Layouts" -msgstr "Mises-en-page" +#: ../../Zotlabs/Module/Admin/Site.php:294 +msgid "Force publish" +msgstr "Publicité forcée" -#: ../../Zotlabs/Module/Layouts.php:183 -msgid "Comanche page description language help" -msgstr "Aide sur le langage de description de page Comanche" +#: ../../Zotlabs/Module/Admin/Site.php:294 +msgid "" +"Check to force all profiles on this site to be listed in the site directory." +msgstr "Cocher pour forcer la publication de tous les profils du site dans l'annuaire." -#: ../../Zotlabs/Module/Layouts.php:187 -msgid "Layout Description" -msgstr "Description de la mise en page" +#: ../../Zotlabs/Module/Admin/Site.php:295 +msgid "Import Public Streams" +msgstr "Flux publics importés" -#: ../../Zotlabs/Module/Layouts.php:192 -msgid "Download PDL file" -msgstr "Télécharger le fichier PDL" +#: ../../Zotlabs/Module/Admin/Site.php:295 +msgid "" +"Import and allow access to public content pulled from other sites. Warning: " +"this content is unmoderated." +msgstr "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention : ce contenu n'est pas modéré." -#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69 -#: ../../Zotlabs/Module/Siteinfo.php:65 -msgid "$Projectname" -msgstr "$Projectname" +#: ../../Zotlabs/Module/Admin/Site.php:296 +msgid "Login on Homepage" +msgstr "Connexion sur la page d'accueil" + +#: ../../Zotlabs/Module/Admin/Site.php:296 +msgid "" +"Present a login box to visitors on the home page if no other content has " +"been configured." +msgstr "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré." + +#: ../../Zotlabs/Module/Admin/Site.php:297 +msgid "Enable context help" +msgstr "Permettre l'aide contextuelle" + +#: ../../Zotlabs/Module/Admin/Site.php:297 +msgid "" +"Display contextual help for the current page when the help button is " +"pressed." +msgstr "Afficher l'aide contextuel en cliquant sur le bouton aide." + +#: ../../Zotlabs/Module/Admin/Site.php:299 +msgid "Directory Server URL" +msgstr "URL du serveur d'annuaire" + +#: ../../Zotlabs/Module/Admin/Site.php:299 +msgid "Default directory server" +msgstr "Serveur d'annuaire par défaut" + +#: ../../Zotlabs/Module/Admin/Site.php:301 +msgid "Proxy user" +msgstr "Utilisateur du proxy" -#: ../../Zotlabs/Module/Home.php:79 +#: ../../Zotlabs/Module/Admin/Site.php:302 +msgid "Proxy URL" +msgstr "URL du proxy" + +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Network timeout" +msgstr "Délai maximal du réseau" + +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." +msgstr "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (non recommandé)." + +#: ../../Zotlabs/Module/Admin/Site.php:304 +msgid "Delivery interval" +msgstr "Intervalle de distribution" + +#: ../../Zotlabs/Module/Admin/Site.php:304 +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 "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées : 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés." + +#: ../../Zotlabs/Module/Admin/Site.php:305 +msgid "Deliveries per process" +msgstr "Distributions par processus" + +#: ../../Zotlabs/Module/Admin/Site.php:305 +msgid "" +"Number of deliveries to attempt in a single operating system process. Adjust" +" if necessary to tune system performance. Recommend: 1-5." +msgstr "Nombre de distributions à tenter au sein d'un seul processus système. Ajuster si nécessaire pour affiner la performance du système. Recommandé :1-5." + +#: ../../Zotlabs/Module/Admin/Site.php:306 +msgid "Poll interval" +msgstr "Intervalle de scrutation" + +#: ../../Zotlabs/Module/Admin/Site.php:306 +msgid "" +"Delay background polling processes by this many seconds to reduce system " +"load. If 0, use delivery interval." +msgstr "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution." + +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "Maximum Load Average" +msgstr "Charge maximale moyenne" + +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "" +"Maximum system load before delivery and poll processes are deferred - " +"default 50." +msgstr "Charge système maximale au-delà de laquelle distribution et scrutation sont reportées - par défaut 50." + +#: ../../Zotlabs/Module/Admin/Site.php:308 +msgid "Expiration period in days for imported (grid/network) content" +msgstr "Délai d'expiration pour le contenu importé (réseau)" + +#: ../../Zotlabs/Module/Admin/Site.php:308 +msgid "0 for no expiration of imported content" +msgstr "0 pour ne pas expirer le contenu importé" + +#: ../../Zotlabs/Module/Admin/Plugins.php:284 #, php-format -msgid "Welcome to %s" -msgstr "Bienvenue sur %s" +msgid "Plugin %s disabled." +msgstr "Greffon %s désactivé." -#: ../../Zotlabs/Module/Id.php:13 -msgid "First Name" -msgstr "Prénom" +#: ../../Zotlabs/Module/Admin/Plugins.php:289 +#, php-format +msgid "Plugin %s enabled." +msgstr "Greffon %s activé." -#: ../../Zotlabs/Module/Id.php:14 -msgid "Last Name" -msgstr "Nom de famille" +#: ../../Zotlabs/Module/Admin/Plugins.php:337 +#: ../../Zotlabs/Module/Admin/Plugins.php:432 ../../include/widgets.php:1596 +msgid "Plugins" +msgstr "Greffons" -#: ../../Zotlabs/Module/Id.php:15 -msgid "Nickname" -msgstr "Surnom" +#: ../../Zotlabs/Module/Admin/Plugins.php:348 +msgid "Minimum project version: " +msgstr "Version minimum du projet :" -#: ../../Zotlabs/Module/Id.php:16 -msgid "Full Name" -msgstr "Nom complet" +#: ../../Zotlabs/Module/Admin/Plugins.php:349 +msgid "Maximum project version: " +msgstr "Version maximum du projet :" -#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18 -#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047 -#: ../../include/network.php:2151 ../../boot.php:1705 -msgid "Email" -msgstr "Courriel" +#: ../../Zotlabs/Module/Admin/Plugins.php:350 +msgid "Minimum PHP version: " +msgstr "Version minimum de PHP :" -#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20 -#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236 -msgid "Profile Photo" -msgstr "Photo du Profil" +#: ../../Zotlabs/Module/Admin/Plugins.php:351 +msgid "Compatible Server Roles: " +msgstr "Rôles du serveur " -#: ../../Zotlabs/Module/Id.php:22 -msgid "Profile Photo 16px" -msgstr "Photo de profil 16px" +#: ../../Zotlabs/Module/Admin/Plugins.php:352 +msgid "Requires: " +msgstr "Requiert :" -#: ../../Zotlabs/Module/Id.php:23 -msgid "Profile Photo 32px" -msgstr "Photo de profil 32px" +#: ../../Zotlabs/Module/Admin/Plugins.php:353 +#: ../../Zotlabs/Module/Admin/Plugins.php:437 +msgid "Disabled - version incompatibility" +msgstr "Désactivé - version incompatible" -#: ../../Zotlabs/Module/Id.php:24 -msgid "Profile Photo 48px" -msgstr "Photo de profil 48px" +#: ../../Zotlabs/Module/Admin/Plugins.php:406 +msgid "Enter the public git repository URL of the plugin repo." +msgstr "Entrer l'URL du dépôt git public pour les greffons" -#: ../../Zotlabs/Module/Id.php:25 -msgid "Profile Photo 64px" -msgstr "Photo de profil 64px" +#: ../../Zotlabs/Module/Admin/Plugins.php:407 +msgid "Plugin repo git URL" +msgstr "URL du git pour les plugin" -#: ../../Zotlabs/Module/Id.php:26 -msgid "Profile Photo 80px" -msgstr "Photo de profil 80px" +#: ../../Zotlabs/Module/Admin/Plugins.php:408 +msgid "Custom repo name" +msgstr "Nom du dépôt" -#: ../../Zotlabs/Module/Id.php:27 -msgid "Profile Photo 128px" -msgstr "Photo de profil 128px" +#: ../../Zotlabs/Module/Admin/Plugins.php:408 +msgid "(optional)" +msgstr "(en option)" -#: ../../Zotlabs/Module/Id.php:28 -msgid "Timezone" -msgstr "Fuseau horaire" +#: ../../Zotlabs/Module/Admin/Plugins.php:409 +msgid "Download Plugin Repo" +msgstr "Télécharger l'extension" -#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731 -msgid "Homepage URL" -msgstr "URL de mon site Internet :" +#: ../../Zotlabs/Module/Admin/Plugins.php:416 +msgid "Install new repo" +msgstr "Installer un nouveau dépôt" -#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234 -msgid "Language" -msgstr "Langue" +#: ../../Zotlabs/Module/Admin/Plugins.php:417 ../../Zotlabs/Lib/Apps.php:348 +msgid "Install" +msgstr "Installer" -#: ../../Zotlabs/Module/Id.php:31 -msgid "Birth Year" -msgstr "Année de naissance" +#: ../../Zotlabs/Module/Admin/Plugins.php:418 +#: ../../Zotlabs/Module/Connedit.php:885 ../../Zotlabs/Module/Fbrowser.php:66 +#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Wiki.php:263 +#: ../../Zotlabs/Module/Wiki.php:288 +#: ../../Zotlabs/Module/Settings/Oauth.php:88 +#: ../../Zotlabs/Module/Settings/Oauth.php:114 +#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 +#: ../../extend/addon/addon/friendica/dfrn_request.php:879 +#: ../../extend/addon/addon/js_upload/js_upload.php:46 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:866 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1154 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:243 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:266 +#: ../../include/conversation.php:1394 ../../include/conversation.php:1443 +msgid "Cancel" +msgstr "Annuler" -#: ../../Zotlabs/Module/Id.php:32 -msgid "Birth Month" -msgstr "Mois de naissance" +#: ../../Zotlabs/Module/Admin/Plugins.php:440 +msgid "Manage Repos" +msgstr "Gérer les dépôts" -#: ../../Zotlabs/Module/Id.php:33 -msgid "Birth Day" -msgstr "Jour de naissance" +#: ../../Zotlabs/Module/Admin/Plugins.php:441 +msgid "Installed Plugin Repositories" +msgstr "Dépôt des extensions installées" -#: ../../Zotlabs/Module/Id.php:34 -msgid "Birthdate" -msgstr "Date de naissance" +#: ../../Zotlabs/Module/Admin/Plugins.php:442 +msgid "Install a New Plugin Repository" +msgstr "Installer un nouveau dépôt pour extensions" -#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454 -msgid "Gender" -msgstr "Sexe" +#: ../../Zotlabs/Module/Admin/Plugins.php:448 +#: ../../Zotlabs/Module/Connedit.php:883 +#: ../../Zotlabs/Module/Settings/Oauth.php:42 +#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:348 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1152 +msgid "Update" +msgstr "Mise à jour" -#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49 -#: ../../include/selectors.php:66 -msgid "Male" -msgstr "Homme" +#: ../../Zotlabs/Module/Admin/Plugins.php:449 +msgid "Switch branch" +msgstr "Changer de branche" -#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49 -#: ../../include/selectors.php:66 -msgid "Female" -msgstr "Femme" +#: ../../Zotlabs/Module/Admin/Queue.php:35 +msgid "Queue Statistics" +msgstr "Statistiques de file d'attente" -#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192 -msgid "webpage" -msgstr "pages web" +#: ../../Zotlabs/Module/Admin/Queue.php:36 +msgid "Total Entries" +msgstr "Nombre d'entrées total" -#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198 -msgid "block" -msgstr "bloquer" +#: ../../Zotlabs/Module/Admin/Queue.php:37 +msgid "Priority" +msgstr "Priorité" -#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195 -msgid "layout" -msgstr "mise en page" +#: ../../Zotlabs/Module/Admin/Queue.php:38 +msgid "Destination URL" +msgstr "URL de destination" -#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201 -msgid "menu" -msgstr "menu" +#: ../../Zotlabs/Module/Admin/Queue.php:39 +msgid "Mark hub permanently offline" +msgstr "Marquer le hub comme étant hors ligne de manière permanente" + +#: ../../Zotlabs/Module/Admin/Queue.php:40 +msgid "Empty queue for this hub" +msgstr "Vider la file d'attente pour ce hub" -#: ../../Zotlabs/Module/Impel.php:196 +#: ../../Zotlabs/Module/Admin/Queue.php:41 +msgid "Last known contact" +msgstr "Dernier contact connu" + +#: ../../Zotlabs/Module/Search.php:223 #, php-format -msgid "%s element installed" -msgstr "Elément %s installé" +msgid "Items tagged with: %s" +msgstr "Eléments étiquetés avec : %s" -#: ../../Zotlabs/Module/Impel.php:199 +#: ../../Zotlabs/Module/Search.php:225 #, php-format -msgid "%s element installation failed" -msgstr "L'installation de l'élément %s a échoué" +msgid "Search results for: %s" +msgstr "Résultats de recherche pour : %s" + +#: ../../Zotlabs/Module/Editlayout.php:127 +#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188 +msgid "Layout Name" +msgstr "Nom de la mise en page" + +#: ../../Zotlabs/Module/Editlayout.php:128 +#: ../../Zotlabs/Module/Layouts.php:131 +msgid "Layout Description (Optional)" +msgstr "Description de la mise en page (facultatif)" + +#: ../../Zotlabs/Module/Editlayout.php:136 +msgid "Edit Layout" +msgstr "Modifier la mise en page" + +#: ../../Zotlabs/Module/Editwebpage.php:142 +msgid "Page link" +msgstr "Lien" + +#: ../../Zotlabs/Module/Editwebpage.php:169 +msgid "Edit Webpage" +msgstr "Modifier la page web" #: ../../Zotlabs/Module/Like.php:19 msgid "Like/Dislike" @@ -2034,155 +2869,224 @@ msgstr "Canal indisponible." msgid "Previous action reversed." msgstr "Action précédente annulée." -#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87 -#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940 -#: ../../include/conversation.php:120 +#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87 +#: ../../Zotlabs/Module/Tagger.php:47 +#: ../../extend/addon/addon/diaspora/inbound.php:1794 +#: ../../extend/addon/addon/redphotos/redphotohelper.php:74 +#: ../../include/conversation.php:120 ../../include/text.php:1953 msgid "photo" msgstr "photo" -#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87 -#: ../../include/text.php:1946 ../../include/conversation.php:148 +#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87 +#: ../../extend/addon/addon/diaspora/inbound.php:1794 +#: ../../include/conversation.php:148 ../../include/text.php:1959 msgid "status" msgstr "état" -#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164 +#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:260 +#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123 +#: ../../include/text.php:1956 ../../include/event.php:1000 +msgid "event" +msgstr "événement" + +#: ../../Zotlabs/Module/Like.php:419 +#: ../../extend/addon/addon/diaspora/inbound.php:1823 +#: ../../include/conversation.php:164 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "%1$s aime %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167 +#: ../../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 n'aime pas %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:424 +#: ../../Zotlabs/Module/Like.php:423 #, php-format msgid "%1$s agrees with %2$s's %3$s" msgstr "%1$s approuve %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:426 +#: ../../Zotlabs/Module/Like.php:425 #, php-format msgid "%1$s doesn't agree with %2$s's %3$s" msgstr "%1$s n'est pas d'accord avec %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:428 +#: ../../Zotlabs/Module/Like.php:427 #, php-format msgid "%1$s abstains from a decision on %2$s's %3$s" msgstr "%1$s s'abstient de toute décision sur le %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:430 +#: ../../Zotlabs/Module/Like.php:429 #, php-format msgid "%1$s is attending %2$s's %3$s" msgstr "%1$s participe à %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:432 +#: ../../Zotlabs/Module/Like.php:431 #, php-format msgid "%1$s is not attending %2$s's %3$s" msgstr "%1$s ne participe pas à %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:434 +#: ../../Zotlabs/Module/Like.php:433 #, php-format msgid "%1$s may attend %2$s's %3$s" msgstr "%1$s participe peut-être à %3$s de %2$s" -#: ../../Zotlabs/Module/Like.php:537 +#: ../../Zotlabs/Module/Like.php:538 msgid "Action completed." msgstr "Action terminée." -#: ../../Zotlabs/Module/Like.php:538 +#: ../../Zotlabs/Module/Like.php:539 msgid "Thank you." msgstr "Merci." -#: ../../Zotlabs/Module/Import_items.php:102 -msgid "Import completed" -msgstr "L'import est terminé." +#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49 +msgid "This site is not a directory server" +msgstr "Ce site n'est pas un serveur d'annuaire" -#: ../../Zotlabs/Module/Import_items.php:117 -msgid "Import Items" -msgstr "Importer" +#: ../../Zotlabs/Module/Dirsearch.php:33 +msgid "This directory server requires an access token" +msgstr "Ce serveur d'annuaire requiert un jeton d'accès" -#: ../../Zotlabs/Module/Import_items.php:118 -msgid "" -"Use this form to import existing posts and content from an export file." -msgstr "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export." +#: ../../Zotlabs/Module/Network.php:96 +msgid "No such group" +msgstr "Groupe introuvable" -#: ../../Zotlabs/Module/Invite.php:29 -msgid "Total invitation limit exceeded." -msgstr "Limite du nombre total d'invitation dépassée." +#: ../../Zotlabs/Module/Network.php:136 +msgid "No such channel" +msgstr "Canal introuvable" -#: ../../Zotlabs/Module/Invite.php:53 -#, php-format -msgid "%s : Not a valid email address." -msgstr "%s : adresse courriel invalide." +#: ../../Zotlabs/Module/Network.php:141 +msgid "forum" +msgstr "forum" -#: ../../Zotlabs/Module/Invite.php:63 -msgid "Please join us on $Projectname" -msgstr "Rejoignez-nous sur $Projectname" +#: ../../Zotlabs/Module/Network.php:153 +msgid "Search Results For:" +msgstr "Résultats de recherche pour :" -#: ../../Zotlabs/Module/Invite.php:74 -msgid "Invitation limit exceeded. Please contact your site administrator." -msgstr "Limite d'invitations dépassée. Merci de contacter l'administration de votre site." +#: ../../Zotlabs/Module/Network.php:221 +msgid "Privacy group is empty" +msgstr "Groupe d'accès vide" -#: ../../Zotlabs/Module/Invite.php:79 -#, php-format -msgid "%s : Message delivery failed." -msgstr "%s : Échec de distribution du message." +#: ../../Zotlabs/Module/Network.php:230 +msgid "Privacy group: " +msgstr "Groupe d'accès :" -#: ../../Zotlabs/Module/Invite.php:83 -#, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "%d message envoyé." -msgstr[1] "%d messages envoyés." +#: ../../Zotlabs/Module/Network.php:256 +msgid "Invalid connection." +msgstr "Contact non valide." -#: ../../Zotlabs/Module/Invite.php:102 -msgid "You have no more invitations available" -msgstr "Vous ne disposez plus d'aucune invitation" +#: ../../Zotlabs/Module/Menu.php:49 +msgid "Unable to update menu." +msgstr "Impossible de mettre le menu à jour." -#: ../../Zotlabs/Module/Invite.php:133 -msgid "Send invitations" -msgstr "Envoyer des invitations" +#: ../../Zotlabs/Module/Menu.php:60 +msgid "Unable to create menu." +msgstr "Impossible de créer le menu." -#: ../../Zotlabs/Module/Invite.php:134 -msgid "Enter email addresses, one per line:" -msgstr "Entrez les adresses de courriel, une par ligne :" +#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110 +msgid "Menu Name" +msgstr "Nom du menu" -#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249 -msgid "Your message:" -msgstr "Votre message :" +#: ../../Zotlabs/Module/Menu.php:98 +msgid "Unique name (not visible on webpage) - required" +msgstr "Nom unique (non visible sur la page web) - requis" -#: ../../Zotlabs/Module/Invite.php:136 -msgid "Please join my community on $Projectname." -msgstr "Rejoignez ma communauté sur $Projectname." +#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111 +msgid "Menu Title" +msgstr "Titre du menu" -#: ../../Zotlabs/Module/Invite.php:138 -msgid "You will need to supply this invitation code:" -msgstr "Vous devrez fournir le code suivant :" +#: ../../Zotlabs/Module/Menu.php:99 +msgid "Visible on webpage - leave empty for no title" +msgstr "Visible pour la page web - laisser vide pour qu'il n'y ait pas de titre" -#: ../../Zotlabs/Module/Invite.php:139 -msgid "" -"1. Register at any $Projectname location (they are all inter-connected)" -msgstr "1. Enregistrez-vous sur n'importe quel serveur $Projectname (ils sont tous inter-connectés)" +#: ../../Zotlabs/Module/Menu.php:100 +msgid "Allow Bookmarks" +msgstr "Autoriser l'usage de favoris" -#: ../../Zotlabs/Module/Invite.php:141 -msgid "2. Enter my $Projectname network address into the site searchbar." -msgstr "2. Saisissez l'adresse de mon canal $Projectname dans la barre de recherche du site." +#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 +msgid "Menu may be used to store saved bookmarks" +msgstr "Le menu pourra être utilisé pour stocker des favoris" -#: ../../Zotlabs/Module/Invite.php:142 -msgid "or visit" -msgstr "ou rendez-vous sur" +#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159 +msgid "Submit and proceed" +msgstr "Valider et continuer" -#: ../../Zotlabs/Module/Invite.php:144 -msgid "3. Click [Connect]" -msgstr "3. Cliquez sur [Ajouter]" +#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2284 +msgid "Menus" +msgstr "Menus" -#: ../../Zotlabs/Module/Lockview.php:61 -msgid "Remote privacy information not available." -msgstr "Les informations distantes de confidentialité ne sont pas disponibles." +#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120 +msgid "Drop" +msgstr "Supprimer" -#: ../../Zotlabs/Module/Lockview.php:82 -msgid "Visible to:" -msgstr "Visible par :" +#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157 +#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:255 +#: ../../include/page_widgets.php:47 +msgid "Created" +msgstr "Créé(e)" + +#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158 +#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:256 +#: ../../include/page_widgets.php:48 +msgid "Edited" +msgstr "Modifié(e)" + +#: ../../Zotlabs/Module/Menu.php:117 +msgid "Bookmarks allowed" +msgstr "Favoris autorisés" + +#: ../../Zotlabs/Module/Menu.php:119 +msgid "Delete this menu" +msgstr "Supprimer ce menu" + +#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154 +msgid "Edit menu contents" +msgstr "Modifier le contenu du menu" + +#: ../../Zotlabs/Module/Menu.php:121 +msgid "Edit this menu" +msgstr "Modifier ce menu" + +#: ../../Zotlabs/Module/Menu.php:136 +msgid "Menu could not be deleted." +msgstr "Impossible de supprimer le menu." + +#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28 +msgid "Menu not found." +msgstr "Menu introuvable." + +#: ../../Zotlabs/Module/Menu.php:149 +msgid "Edit Menu" +msgstr "Modifier le menu" + +#: ../../Zotlabs/Module/Menu.php:153 +msgid "Add or remove entries to this menu" +msgstr "Ajouter/supprimer des entrées à ce menu" + +#: ../../Zotlabs/Module/Menu.php:155 +msgid "Menu name" +msgstr "Nom du menu" + +#: ../../Zotlabs/Module/Menu.php:155 +msgid "Must be unique, only seen by you" +msgstr "Doit être unique, ne sera vu que par vous" + +#: ../../Zotlabs/Module/Menu.php:156 +msgid "Menu title" +msgstr "Titre du menu" + +#: ../../Zotlabs/Module/Menu.php:156 +msgid "Menu title as seen by others" +msgstr "Titre du menu tel que vu par les visiteurs" + +#: ../../Zotlabs/Module/Menu.php:157 +msgid "Allow bookmarks" +msgstr "Autoriser l'usage de favoris" + +#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120 +#: ../../Zotlabs/Module/Xchan.php:41 +msgid "Not found." +msgstr "Introuvable." #: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54 msgid "Location not found." @@ -2210,22 +3114,21 @@ msgstr "Emplacement(s) introuvable." msgid "Manage Channel Locations" msgstr "Gérer les emplacements des canaux" -#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470 -#: ../../Zotlabs/Module/Admin.php:1224 -msgid "Address" -msgstr "Adresse" +#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Pubsites.php:51 +#: ../../Zotlabs/Module/Profiles.php:510 ../../Zotlabs/Module/Profiles.php:733 +#: ../../Zotlabs/Module/Events.php:475 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:839 +#: ../../include/js_strings.php:25 +msgid "Location" +msgstr "Emplacement" #: ../../Zotlabs/Module/Locs.php:119 msgid "Primary" -msgstr "" - -#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113 -msgid "Drop" -msgstr "Supprimer" +msgstr "Primaire" #: ../../Zotlabs/Module/Locs.php:122 msgid "Sync Now" -msgstr "" +msgstr "Synchronisez maintenant" #: ../../Zotlabs/Module/Locs.php:123 msgid "Please wait several minutes between consecutive operations." @@ -2241,975 +3144,1127 @@ msgstr "Quand c'est possible, abandonnez un emplacement en vous connectant sur l msgid "Use this form to drop the location if the hub is no longer operating." msgstr "Utilisez ce formulaire pour abandonner l'emplacement si le hub n'est plus actif." -#: ../../Zotlabs/Module/Magic.php:71 -msgid "Hub not found." -msgstr "Hub introuvable." +#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1415 +msgid "Public Hubs" +msgstr "Instances publiques" -#: ../../Zotlabs/Module/Mail.php:38 -msgid "Unable to lookup recipient." -msgstr "Impossible de localiser le destinataire." +#: ../../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 "Les sites listés permettent l'enregistrement public de comptes pour le réseau $Projectname. Tous les sites du réseau sont reliés entre eux, être membre d'un site revient à être membre de tous. Certains sites peuvent demander une souscription ou proposer différents niveaux de service. Chaque site <strong>peut</strong> fournir des détails supplémentaires." -#: ../../Zotlabs/Module/Mail.php:45 -msgid "Unable to communicate with requested channel." -msgstr "Impossible de communiquer avec le canal demandé." +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Hub URL" +msgstr "URL du site" -#: ../../Zotlabs/Module/Mail.php:52 -msgid "Cannot verify requested channel." -msgstr "Impossible de vérifier le canal demandé." +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Access Type" +msgstr "Type d'accès" -#: ../../Zotlabs/Module/Mail.php:78 -msgid "Selected channel has private message restrictions. Send failed." -msgstr "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué." +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Registration Policy" +msgstr "Politique d'inscription" -#: ../../Zotlabs/Module/Mail.php:143 -msgid "Messages" -msgstr "Messages" +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Stats" +msgstr "Statistiques" -#: ../../Zotlabs/Module/Mail.php:178 -msgid "Message recalled." -msgstr "Message rappelé." +#: ../../Zotlabs/Module/Pubsites.php:33 +msgid "Software" +msgstr "Logiciel" -#: ../../Zotlabs/Module/Mail.php:191 -msgid "Conversation removed." -msgstr "Conversation supprimée." +#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97 +#: ../../include/conversation.php:941 ../../include/conversation.php:1099 +msgid "Ratings" +msgstr "Evaluations" -#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315 -msgid "Expires YYYY-MM-DD HH:MM" -msgstr "Expire le YYYY-MM-DD à HH:MM" +#: ../../Zotlabs/Module/Pubsites.php:48 +msgid "Rate" +msgstr "Evaluer" -#: ../../Zotlabs/Module/Mail.php:234 -msgid "Requested channel is not in this network" -msgstr "Le canal demandé n'est pas sur ce réseau" +#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166 +#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Events.php:694 +#: ../../Zotlabs/Module/Webpages.php:250 ../../Zotlabs/Module/Wiki.php:165 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:151 +#: ../../include/page_widgets.php:42 +msgid "View" +msgstr "Voir" -#: ../../Zotlabs/Module/Mail.php:242 -msgid "Send Private Message" -msgstr "Envoyer un message privé" +#: ../../Zotlabs/Module/Connedit.php:82 +msgid "Could not access contact record." +msgstr "Impossible d'accéder aux détails du contact." -#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368 -msgid "To:" -msgstr "À :" +#: ../../Zotlabs/Module/Connedit.php:112 +msgid "Could not locate selected profile." +msgstr "Impossible de localiser le profil sélectionné." -#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370 -msgid "Subject:" -msgstr "Objet :" +#: ../../Zotlabs/Module/Connedit.php:249 +msgid "Connection updated." +msgstr "Contact mis à jour." -#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376 -#: ../../include/conversation.php:1220 -msgid "Attach file" -msgstr "Joindre un fichier" +#: ../../Zotlabs/Module/Connedit.php:251 +msgid "Failed to update connection record." +msgstr "Impossible de mettre à jour les détails du contact." -#: ../../Zotlabs/Module/Mail.php:253 -msgid "Send" -msgstr "Envoyer" +#: ../../Zotlabs/Module/Connedit.php:301 +msgid "is now connected to" +msgstr "est maintenant connecté avec" -#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381 -#: ../../include/conversation.php:1251 -msgid "Set expiration date" -msgstr "Définir la date d'expiration" +#: ../../Zotlabs/Module/Connedit.php:434 +msgid "Could not access address book record." +msgstr "Impossible d'accéder aux détails du carnet d'adresses." -#: ../../Zotlabs/Module/Mail.php:340 -msgid "Delete message" -msgstr "Supprimer le message" +#: ../../Zotlabs/Module/Connedit.php:454 +msgid "Refresh failed - channel is currently unavailable." +msgstr "Actualisation impossible - le canal est indisponible." -#: ../../Zotlabs/Module/Mail.php:341 -msgid "Delivery report" -msgstr "Rapport de distribution" +#: ../../Zotlabs/Module/Connedit.php:469 ../../Zotlabs/Module/Connedit.php:478 +#: ../../Zotlabs/Module/Connedit.php:487 ../../Zotlabs/Module/Connedit.php:496 +#: ../../Zotlabs/Module/Connedit.php:509 +msgid "Unable to set address book parameters." +msgstr "Impossible de régler les paramètres du carnet d'adresses." -#: ../../Zotlabs/Module/Mail.php:342 -msgid "Recall message" -msgstr "Rappeler le message" +#: ../../Zotlabs/Module/Connedit.php:533 +msgid "Connection has been removed." +msgstr "Le contact a été supprimé." -#: ../../Zotlabs/Module/Mail.php:344 -msgid "Message has been recalled." -msgstr "Le message a été rappelé." +#: ../../Zotlabs/Module/Connedit.php:573 ../../Zotlabs/Lib/Apps.php:228 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:57 +#: ../../include/conversation.php:936 ../../include/conversation.php:1049 +#: ../../include/nav.php:103 +msgid "View Profile" +msgstr "Voir mon profil" -#: ../../Zotlabs/Module/Mail.php:361 -msgid "Delete Conversation" -msgstr "Supprimer la conversation" +#: ../../Zotlabs/Module/Connedit.php:576 +#, php-format +msgid "View %s's profile" +msgstr "Voir le profil de %s" -#: ../../Zotlabs/Module/Mail.php:363 -msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." -msgstr "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur." +#: ../../Zotlabs/Module/Connedit.php:580 +msgid "Refresh Permissions" +msgstr "Actualiser les autorisations" -#: ../../Zotlabs/Module/Mail.php:367 -msgid "Send Reply" -msgstr "Envoyer la réponse" +#: ../../Zotlabs/Module/Connedit.php:583 +msgid "Fetch updated permissions" +msgstr "Récupérer les autorisations les plus récentes" -#: ../../Zotlabs/Module/Mail.php:372 -#, php-format -msgid "Your message for %s (%s):" -msgstr "Votre message pour %s (%s) :" +#: ../../Zotlabs/Module/Connedit.php:587 +msgid "Recent Activity" +msgstr "Activité récente" -#: ../../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 "Vous avez créé %1$.0f des %2$.0f canaux autorisés." +#: ../../Zotlabs/Module/Connedit.php:590 +msgid "View recent posts and comments" +msgstr "Voir les publications et commentaires récents" -#: ../../Zotlabs/Module/Manage.php:143 -msgid "Create a new channel" -msgstr "Créer un nouveau canal" +#: ../../Zotlabs/Module/Connedit.php:597 +msgid "Block (or Unblock) all communications with this connection" +msgstr "Bloquer ou débloquer toute communication avec ce contact" -#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213 -#: ../../include/nav.php:206 -msgid "Channel Manager" -msgstr "Gérer les canaux" +#: ../../Zotlabs/Module/Connedit.php:598 +msgid "This connection is blocked!" +msgstr "Ce contact est bloqué !" -#: ../../Zotlabs/Module/Manage.php:165 -msgid "Current Channel" -msgstr "Canal actif" +#: ../../Zotlabs/Module/Connedit.php:602 +msgid "Unignore" +msgstr "Ne plus ignorer" -#: ../../Zotlabs/Module/Manage.php:167 -msgid "Switch to one of your channels by selecting it." -msgstr "Pour changer de canal, sélectionnez-en un" +#: ../../Zotlabs/Module/Connedit.php:605 +msgid "Ignore (or Unignore) all inbound communications from this connection" +msgstr "Ignorer ou ne plus ignorer toute communication venant de ce contact" -#: ../../Zotlabs/Module/Manage.php:168 -msgid "Default Channel" -msgstr "Canal par défaut" +#: ../../Zotlabs/Module/Connedit.php:606 +msgid "This connection is ignored!" +msgstr "Ce contact est ignoré !" -#: ../../Zotlabs/Module/Manage.php:169 -msgid "Make Default" -msgstr "Définir comme défaut" +#: ../../Zotlabs/Module/Connedit.php:610 +msgid "Unarchive" +msgstr "Désarchiver" -#: ../../Zotlabs/Module/Manage.php:172 -#, php-format -msgid "%d new messages" -msgstr "%d nouveaux messages" +#: ../../Zotlabs/Module/Connedit.php:610 +msgid "Archive" +msgstr "Archiver" -#: ../../Zotlabs/Module/Manage.php:173 -#, php-format -msgid "%d new introductions" -msgstr "%d nouvelles présentations" +#: ../../Zotlabs/Module/Connedit.php:613 +msgid "" +"Archive (or Unarchive) this connection - mark channel dead but keep content" +msgstr "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu" -#: ../../Zotlabs/Module/Manage.php:175 -msgid "Delegated Channel" -msgstr "" +#: ../../Zotlabs/Module/Connedit.php:614 +msgid "This connection is archived!" +msgstr "Ce contact est archivé !" -#: ../../Zotlabs/Module/Lostpass.php:19 -msgid "No valid account found." -msgstr "Aucun compte valide trouvé." +#: ../../Zotlabs/Module/Connedit.php:618 +msgid "Unhide" +msgstr "Ne plus cacher" -#: ../../Zotlabs/Module/Lostpass.php:33 -msgid "Password reset request issued. Check your email." -msgstr "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels." +#: ../../Zotlabs/Module/Connedit.php:618 +msgid "Hide" +msgstr "Cacher" -#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107 -#, php-format -msgid "Site Member (%s)" -msgstr "Membre du site (%s)" +#: ../../Zotlabs/Module/Connedit.php:621 +msgid "Hide or Unhide this connection from your other connections" +msgstr "Cacher ou ne plus cacher ce contact vis-à -vis de vos autres contacts" -#: ../../Zotlabs/Module/Lostpass.php:44 -#, php-format -msgid "Password reset requested at %s" -msgstr "Demande de réinitialisation du mot de passe sur %s" +#: ../../Zotlabs/Module/Connedit.php:622 +msgid "This connection is hidden!" +msgstr "Ce contact est caché !" -#: ../../Zotlabs/Module/Lostpass.php:67 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." -msgstr "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué." +#: ../../Zotlabs/Module/Connedit.php:629 +msgid "Delete this connection" +msgstr "Supprimer ce contact" -#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711 -msgid "Password Reset" -msgstr "Réinitialiser le mot de passe" +#: ../../Zotlabs/Module/Connedit.php:640 +msgid "Open Individual Permissions section by default" +msgstr "Ouvrir par défaut la section des autorisations individuelles" -#: ../../Zotlabs/Module/Lostpass.php:91 -msgid "Your password has been reset as requested." -msgstr "Votre mot de passe a bien été réinitialisé." +#: ../../Zotlabs/Module/Connedit.php:663 +msgid "Affinity" +msgstr "Affinité" -#: ../../Zotlabs/Module/Lostpass.php:92 -msgid "Your new password is" -msgstr "Votre nouveau mot de passe est" +#: ../../Zotlabs/Module/Connedit.php:666 +msgid "Open Set Affinity section by default" +msgstr "Ouvrir par défaut la section Définir le degré d'affinité" -#: ../../Zotlabs/Module/Lostpass.php:93 -msgid "Save or copy your new password - and then" -msgstr "Enregistrez ou copiez votre nouveau mot de passe, puis" +#: ../../Zotlabs/Module/Connedit.php:670 ../../include/widgets.php:540 +msgid "Me" +msgstr "Moi" -#: ../../Zotlabs/Module/Lostpass.php:94 -msgid "click here to login" -msgstr "cliquez ici pour vous connecter" +#: ../../Zotlabs/Module/Connedit.php:671 ../../include/widgets.php:541 +msgid "Family" +msgstr "Famille" -#: ../../Zotlabs/Module/Lostpass.php:95 -msgid "" -"Your password may be changed from the <em>Settings</em> page after " -"successful login." -msgstr "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté." +#: ../../Zotlabs/Module/Connedit.php:672 +#: ../../Zotlabs/Module/Settings/Channel.php:62 +#: ../../Zotlabs/Module/Settings/Channel.php:66 +#: ../../Zotlabs/Module/Settings/Channel.php:67 +#: ../../Zotlabs/Module/Settings/Channel.php:70 +#: ../../Zotlabs/Module/Settings/Channel.php:81 +#: ../../include/selectors.php:123 ../../include/widgets.php:542 +#: ../../include/channel.php:408 ../../include/channel.php:409 +#: ../../include/channel.php:416 +msgid "Friends" +msgstr "Amis" -#: ../../Zotlabs/Module/Lostpass.php:112 -#, php-format -msgid "Your password has changed at %s" -msgstr "Votre mot de passe de %s a été changé" +#: ../../Zotlabs/Module/Connedit.php:673 ../../include/widgets.php:543 +msgid "Acquaintances" +msgstr "Connaissances" -#: ../../Zotlabs/Module/Lostpass.php:127 -msgid "Forgot your Password?" -msgstr "Mot de passe oublié ?" +#: ../../Zotlabs/Module/Connedit.php:700 +msgid "Filter" +msgstr "Filtrer" -#: ../../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 "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions." +#: ../../Zotlabs/Module/Connedit.php:703 +msgid "Open Custom Filter section by default" +msgstr "Ouvrir par défaut la section Filtre personnalisé" -#: ../../Zotlabs/Module/Lostpass.php:129 -msgid "Email Address" -msgstr "Adresse de courriel" +#: ../../Zotlabs/Module/Connedit.php:740 +msgid "Approve this connection" +msgstr "Autoriser ce contact" -#: ../../Zotlabs/Module/Lostpass.php:130 -msgid "Reset" -msgstr "Réinitialiser" +#: ../../Zotlabs/Module/Connedit.php:740 +msgid "Accept connection to allow communication" +msgstr "Accepter le contact pour permettre la communication" -#: ../../Zotlabs/Module/Menu.php:49 -msgid "Unable to update menu." -msgstr "Impossible de mettre le menu à jour." +#: ../../Zotlabs/Module/Connedit.php:745 +msgid "Set Affinity" +msgstr "Définir le degré d'affinité" -#: ../../Zotlabs/Module/Menu.php:60 -msgid "Unable to create menu." -msgstr "Impossible de créer le menu." +#: ../../Zotlabs/Module/Connedit.php:748 +msgid "Set Profile" +msgstr "Définir le profil" -#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110 -msgid "Menu Name" -msgstr "Nom du menu" +#: ../../Zotlabs/Module/Connedit.php:751 +msgid "Set Affinity & Profile" +msgstr "Définir le degré d'affinité et le profil" -#: ../../Zotlabs/Module/Menu.php:98 -msgid "Unique name (not visible on webpage) - required" -msgstr "Nom unique (non visible sur la page web) - requis" +#: ../../Zotlabs/Module/Connedit.php:809 +msgid "none" +msgstr "Aucun" -#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111 -msgid "Menu Title" -msgstr "Titre du menu" +#: ../../Zotlabs/Module/Connedit.php:812 ../../include/widgets.php:675 +msgid "Connection Default Permissions" +msgstr "Autorisations par défaut des contacts" -#: ../../Zotlabs/Module/Menu.php:99 -msgid "Visible on webpage - leave empty for no title" -msgstr "Visible pour la page web - laisser vide pour qu'il n'y ait pas de titre" +#: ../../Zotlabs/Module/Connedit.php:812 ../../include/items.php:3932 +#, php-format +msgid "Connection: %s" +msgstr "Contact : %s" -#: ../../Zotlabs/Module/Menu.php:100 -msgid "Allow Bookmarks" -msgstr "Autoriser l'usage de favoris" +#: ../../Zotlabs/Module/Connedit.php:813 +msgid "Apply these permissions automatically" +msgstr "Appliquer ces permissions automatiquement" -#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 -msgid "Menu may be used to store saved bookmarks" -msgstr "Le menu pourra être utilisé pour stocker des favoris" +#: ../../Zotlabs/Module/Connedit.php:813 +msgid "Connection requests will be approved without your interaction" +msgstr "Les demandes de contact seront approuvées automatiquement" -#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159 -msgid "Submit and proceed" -msgstr "Valider et continuer" +#: ../../Zotlabs/Module/Connedit.php:814 +msgid "Permission role" +msgstr "Rôle d'accès" -#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266 -msgid "Menus" -msgstr "Menus" +#: ../../Zotlabs/Module/Connedit.php:815 +msgid "Add permission role" +msgstr "Ajouter un rôle d'accès" -#: ../../Zotlabs/Module/Menu.php:117 -msgid "Bookmarks allowed" -msgstr "Favoris autorisés" +#: ../../Zotlabs/Module/Connedit.php:821 +msgid "This connection's primary address is" +msgstr "L'adresse principale de ce contact est" -#: ../../Zotlabs/Module/Menu.php:119 -msgid "Delete this menu" -msgstr "Supprimer ce menu" +#: ../../Zotlabs/Module/Connedit.php:822 +msgid "Available locations:" +msgstr "Emplacements disponibles :" -#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154 -msgid "Edit menu contents" -msgstr "Modifier le contenu du menu" +#: ../../Zotlabs/Module/Connedit.php:826 +msgid "" +"The permissions indicated on this page will be applied to all new " +"connections." +msgstr "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts." -#: ../../Zotlabs/Module/Menu.php:121 -msgid "Edit this menu" -msgstr "Modifier ce menu" +#: ../../Zotlabs/Module/Connedit.php:827 +msgid "Connection Tools" +msgstr "Outils de connexion" -#: ../../Zotlabs/Module/Menu.php:136 -msgid "Menu could not be deleted." -msgstr "Impossible de supprimer le menu." +#: ../../Zotlabs/Module/Connedit.php:829 +msgid "Slide to adjust your degree of friendship" +msgstr "Faites glisser pour ajuster votre proximité avec le contact" -#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28 -msgid "Menu not found." -msgstr "Menu introuvable." +#: ../../Zotlabs/Module/Connedit.php:830 ../../Zotlabs/Module/Rate.php:155 +#: ../../include/js_strings.php:20 +msgid "Rating" +msgstr "Evaluation" -#: ../../Zotlabs/Module/Menu.php:149 -msgid "Edit Menu" -msgstr "Modifier le menu" +#: ../../Zotlabs/Module/Connedit.php:831 +msgid "Slide to adjust your rating" +msgstr "Faîtes glisser pour ajuster votre note" -#: ../../Zotlabs/Module/Menu.php:153 -msgid "Add or remove entries to this menu" -msgstr "Ajouter/supprimer des entrées à ce menu" +#: ../../Zotlabs/Module/Connedit.php:832 ../../Zotlabs/Module/Connedit.php:837 +msgid "Optionally explain your rating" +msgstr "Explication facultative de votre évaluation" -#: ../../Zotlabs/Module/Menu.php:155 -msgid "Menu name" -msgstr "Nom du menu" +#: ../../Zotlabs/Module/Connedit.php:834 +msgid "Custom Filter" +msgstr "Filtre personnalisé" -#: ../../Zotlabs/Module/Menu.php:155 -msgid "Must be unique, only seen by you" -msgstr "Doit être unique, ne sera vu que par vous" +#: ../../Zotlabs/Module/Connedit.php:835 +msgid "Only import posts with this text" +msgstr "N'importer que les publications comprenant ce texte" -#: ../../Zotlabs/Module/Menu.php:156 -msgid "Menu title" -msgstr "Titre du menu" +#: ../../Zotlabs/Module/Connedit.php:835 ../../Zotlabs/Module/Connedit.php:836 +msgid "" +"words one per line or #tags or /patterns/ or lang=xx, leave blank to import " +"all posts" +msgstr "un mot par ligne ou #étiquettes ou /motif/ ou lang=xx, laisser vide pour importer toutes les publications" -#: ../../Zotlabs/Module/Menu.php:156 -msgid "Menu title as seen by others" -msgstr "Titre du menu tel que vu par les visiteurs" +#: ../../Zotlabs/Module/Connedit.php:836 +msgid "Do not import posts with this text" +msgstr "Ne pas importer les publications comprenant ce texte" -#: ../../Zotlabs/Module/Menu.php:157 -msgid "Allow bookmarks" -msgstr "Autoriser l'usage de favoris" +#: ../../Zotlabs/Module/Connedit.php:838 +msgid "This information is public!" +msgstr "Cette information est publique !" -#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120 -#: ../../Zotlabs/Module/Xchan.php:41 -msgid "Not found." -msgstr "Introuvable." +#: ../../Zotlabs/Module/Connedit.php:843 +msgid "Connection Pending Approval" +msgstr "Contact en attente d'approbation" -#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260 +#: ../../Zotlabs/Module/Connedit.php:846 +#: ../../Zotlabs/Module/Settings/Tokens.php:163 +#: ../../Zotlabs/Module/Settings/Permcats.php:107 +msgid "inherited" +msgstr "héritée" + +#: ../../Zotlabs/Module/Connedit.php:848 #, php-format -msgctxt "mood" -msgid "%1$s is %2$s" -msgstr "%1$s est %2$s" +msgid "" +"Please choose the profile you would like to display to %s when viewing your " +"profile securely." +msgstr "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée." -#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225 -msgid "Mood" -msgstr "Humeur" +#: ../../Zotlabs/Module/Connedit.php:850 +#: ../../Zotlabs/Module/Settings/Tokens.php:160 +msgid "Their Settings" +msgstr "Leurs paramètres" -#: ../../Zotlabs/Module/Mood.php:136 -msgid "Set your current mood and tell your friends" -msgstr "Indiquez votre humeur du moment à vos amis" +#: ../../Zotlabs/Module/Connedit.php:851 +#: ../../Zotlabs/Module/Settings/Tokens.php:161 +#: ../../Zotlabs/Module/Settings/Permcats.php:105 +msgid "My Settings" +msgstr "Mes paramètres" -#: ../../Zotlabs/Module/Match.php:26 -msgid "Profile Match" -msgstr "Profils similaires" +#: ../../Zotlabs/Module/Connedit.php:853 +#: ../../Zotlabs/Module/Settings/Tokens.php:166 +#: ../../Zotlabs/Module/Settings/Permcats.php:110 +msgid "Individual Permissions" +msgstr "Permissions individuelles" -#: ../../Zotlabs/Module/Match.php:35 -msgid "No keywords to match. Please add keywords to your default profile." -msgstr "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut." +#: ../../Zotlabs/Module/Connedit.php:854 +#: ../../Zotlabs/Module/Settings/Tokens.php:167 +#: ../../Zotlabs/Module/Settings/Permcats.php:111 +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 "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités." -#: ../../Zotlabs/Module/Match.php:67 -msgid "is interested in:" -msgstr "s'intéresse à :" +#: ../../Zotlabs/Module/Connedit.php:855 +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 "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités." -#: ../../Zotlabs/Module/Match.php:74 -msgid "No matches" -msgstr "Pas de correspondance" +#: ../../Zotlabs/Module/Connedit.php:856 +msgid "Last update:" +msgstr "Dernière mise à jour :" -#: ../../Zotlabs/Module/Network.php:96 -msgid "No such group" -msgstr "Groupe introuvable" +#: ../../Zotlabs/Module/Connedit.php:865 +msgid "Details" +msgstr "Détails" -#: ../../Zotlabs/Module/Network.php:136 -msgid "No such channel" -msgstr "Canal introuvable" +#: ../../Zotlabs/Module/Connedit.php:868 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1137 +msgid "Organisation" +msgstr "Organisation" -#: ../../Zotlabs/Module/Network.php:141 -msgid "forum" -msgstr "forum" +#: ../../Zotlabs/Module/Connedit.php:869 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1138 +#: ../../include/page_widgets.php:46 +msgid "Title" +msgstr "Titre" -#: ../../Zotlabs/Module/Network.php:153 -msgid "Search Results For:" -msgstr "Résultats de recherche pour :" +#: ../../Zotlabs/Module/Connedit.php:870 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1139 +msgid "Phone" +msgstr "Téléphone" + +#: ../../Zotlabs/Module/Connedit.php:872 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1141 +msgid "Instant messenger" +msgstr "Instant messenger" + +#: ../../Zotlabs/Module/Connedit.php:873 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1142 +msgid "Website" +msgstr "Site web" + +#: ../../Zotlabs/Module/Connedit.php:875 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1144 +msgid "Note" +msgstr "Note" + +#: ../../Zotlabs/Module/Connedit.php:876 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1145 +#: ../../extend/addon/addon/cdav/cdav.php:270 +#: ../../include/connections.php:894 +msgid "Mobile" +msgstr "Mobile" + +#: ../../Zotlabs/Module/Connedit.php:877 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1146 +#: ../../extend/addon/addon/cdav/cdav.php:271 +#: ../../include/connections.php:895 +msgid "Home" +msgstr "Mon canal" -#: ../../Zotlabs/Module/Network.php:217 -msgid "Privacy group is empty" -msgstr "Groupe d'accès vide" +#: ../../Zotlabs/Module/Connedit.php:878 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1147 +#: ../../extend/addon/addon/cdav/cdav.php:274 +#: ../../include/connections.php:898 +msgid "Work" +msgstr "Travail" + +#: ../../Zotlabs/Module/Connedit.php:880 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:368 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1149 +msgid "Add Contact" +msgstr "Ajouter un contact" + +#: ../../Zotlabs/Module/Connedit.php:881 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1150 +msgid "Add Field" +msgstr "Ajouter un champ" + +#: ../../Zotlabs/Module/Connedit.php:886 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1155 +msgid "P.O. Box" +msgstr "P.O. Box" + +#: ../../Zotlabs/Module/Connedit.php:887 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1156 +msgid "Additional" +msgstr "Information complémentaires" + +#: ../../Zotlabs/Module/Connedit.php:888 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1157 +msgid "Street" +msgstr "Rue" + +#: ../../Zotlabs/Module/Connedit.php:889 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1158 +msgid "Locality" +msgstr "Localité" + +#: ../../Zotlabs/Module/Connedit.php:890 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1159 +msgid "Region" +msgstr "Région" -#: ../../Zotlabs/Module/Network.php:226 -msgid "Privacy group: " -msgstr "Groupe d'accès :" +#: ../../Zotlabs/Module/Connedit.php:891 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1160 +msgid "ZIP Code" +msgstr "ZIP code" -#: ../../Zotlabs/Module/Network.php:252 -msgid "Invalid connection." -msgstr "Contact non valide." +#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Profiles.php:756 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:1161 +msgid "Country" +msgstr "Pays" -#: ../../Zotlabs/Module/Notify.php:57 -#: ../../Zotlabs/Module/Notifications.php:98 -msgid "No more system notifications." -msgstr "Pas d'autre notification du système." +#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82 +#: ../../extend/addon/addon/opensearch/opensearch.php:42 +msgid "$Projectname" +msgstr "$Projectname" -#: ../../Zotlabs/Module/Notify.php:61 -#: ../../Zotlabs/Module/Notifications.php:102 -msgid "System Notifications" -msgstr "Notifications du système" +#: ../../Zotlabs/Module/Home.php:92 +#, php-format +msgid "Welcome to %s" +msgstr "Bienvenue sur %s" -#: ../../Zotlabs/Module/Mitem.php:52 -msgid "Unable to create element." -msgstr "Impossible de créer l'entrée." +#: ../../Zotlabs/Module/Filestorage.php:87 +msgid "Permission Denied." +msgstr "Permission refusée." -#: ../../Zotlabs/Module/Mitem.php:76 -msgid "Unable to update menu element." -msgstr "Impossible de mettre à jour l'entrée de menu." +#: ../../Zotlabs/Module/Filestorage.php:103 +msgid "File not found." +msgstr "Fichier introuvable." -#: ../../Zotlabs/Module/Mitem.php:92 -msgid "Unable to add menu element." -msgstr "Impossible d'ajouter l'entrée de menu." +#: ../../Zotlabs/Module/Filestorage.php:146 +msgid "Edit file permissions" +msgstr "Modifier les autorisations d'accès au fichier" -#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226 -msgid "Menu Item Permissions" -msgstr "Permissions de l'entrée de menu" +#: ../../Zotlabs/Module/Filestorage.php:159 +msgid "Set/edit permissions" +msgstr "Définir/modifier les autorisations" -#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227 -#: ../../Zotlabs/Module/Settings.php:1068 -msgid "(click to open/close)" -msgstr "(cliquer pour ouvrir/fermer)" +#: ../../Zotlabs/Module/Filestorage.php:160 +msgid "Include all files and sub folders" +msgstr "Inclure tous fichiers et sous-répertoires" -#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172 -msgid "Link Name" -msgstr "Nom du lien" +#: ../../Zotlabs/Module/Filestorage.php:161 +msgid "Return to file list" +msgstr "Retourner à la liste des fichiers" -#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231 -msgid "Link or Submenu Target" -msgstr "Lien ou sous-menu cible" +#: ../../Zotlabs/Module/Filestorage.php:163 +msgid "Copy/paste this code to attach file to a post" +msgstr "Copiez/collez ce code pour joindre le fichier à une publication" -#: ../../Zotlabs/Module/Mitem.php:157 -msgid "Enter URL of the link or select a menu name to create a submenu" -msgstr "Entrez l'URL du lien ou sélectionnez un nom de menu pour créer un sous-menu" +#: ../../Zotlabs/Module/Filestorage.php:164 +msgid "Copy/paste this URL to link file from a web page" +msgstr "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web" -#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232 -msgid "Use magic-auth if available" -msgstr "Utiliser l'authentification distante, quand disponible" +#: ../../Zotlabs/Module/Filestorage.php:166 +msgid "Share this file" +msgstr "Partager ce fichier" -#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233 -msgid "Open link in new window" -msgstr "Ouvrir le lien dans une nouvelle fenêtre" +#: ../../Zotlabs/Module/Filestorage.php:167 +msgid "Show URL to this file" +msgstr "Montrer l'URL de ce fichier" -#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234 -msgid "Order in list" -msgstr "Ordre dans la liste" +#: ../../Zotlabs/Module/Filestorage.php:168 +msgid "Notify your contacts about this file" +msgstr "Notifier vos contacts à propos de ce fichier" -#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234 -msgid "Higher numbers will sink to bottom of listing" -msgstr "Les nombres les plus élevés seront au bas de la liste" +#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:229 +#: ../../include/conversation.php:1836 +msgid "Photos" +msgstr "Photos" -#: ../../Zotlabs/Module/Mitem.php:161 -msgid "Submit and finish" -msgstr "Vadiler et terminer" +#: ../../Zotlabs/Module/Apps.php:45 ../../include/widgets.php:102 +#: ../../include/nav.php:178 +msgid "Apps" +msgstr "Applications" -#: ../../Zotlabs/Module/Mitem.php:162 -msgid "Submit and continue" -msgstr "Valider et continuer" +#: ../../Zotlabs/Module/Cal.php:69 +msgid "Permissions denied." +msgstr "Permissions refusées." -#: ../../Zotlabs/Module/Mitem.php:170 -msgid "Menu:" -msgstr "Menu :" +#: ../../Zotlabs/Module/Cal.php:263 ../../Zotlabs/Module/Events.php:605 +msgid "l, F j" +msgstr "l, F j" -#: ../../Zotlabs/Module/Mitem.php:173 -msgid "Link Target" -msgstr "Cible du lien" +#: ../../Zotlabs/Module/Cal.php:312 ../../Zotlabs/Module/Events.php:660 +#: ../../include/text.php:1761 +msgid "Link to Source" +msgstr "Lien vers la Source" -#: ../../Zotlabs/Module/Mitem.php:176 -msgid "Edit menu" -msgstr "Modifier le menu" +#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:688 +msgid "Edit Event" +msgstr "Modifier l'événement" -#: ../../Zotlabs/Module/Mitem.php:179 -msgid "Edit element" -msgstr "Modifier l'entrée" +#: ../../Zotlabs/Module/Cal.php:335 ../../Zotlabs/Module/Events.php:688 +msgid "Create Event" +msgstr "Créer un événement" -#: ../../Zotlabs/Module/Mitem.php:180 -msgid "Drop element" -msgstr "Supprimer l'entrée" +#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:691 +#: ../../include/channel.php:1370 +msgid "Export" +msgstr "Export" -#: ../../Zotlabs/Module/Mitem.php:181 -msgid "New element" -msgstr "Nouvelle entrée" +#: ../../Zotlabs/Module/Cal.php:341 ../../include/text.php:2307 +msgid "Import" +msgstr "Import" -#: ../../Zotlabs/Module/Mitem.php:182 -msgid "Edit this menu container" -msgstr "Éditer ce bloc de menu" +#: ../../Zotlabs/Module/Cal.php:345 ../../Zotlabs/Module/Events.php:700 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:848 +msgid "Today" +msgstr "Aujourd'hui" -#: ../../Zotlabs/Module/Mitem.php:183 -msgid "Add menu element" -msgstr "Ajouter une entrée au menu" +#: ../../Zotlabs/Module/Group.php:24 +msgid "Privacy group created." +msgstr "Groupe d'accès créé." -#: ../../Zotlabs/Module/Mitem.php:184 -msgid "Delete this menu item" -msgstr "Supprimer cette entrée du menu" +#: ../../Zotlabs/Module/Group.php:30 +msgid "Could not create privacy group." +msgstr "Impossible de créer le groupe d'accès." -#: ../../Zotlabs/Module/Mitem.php:185 -msgid "Edit this menu item" -msgstr "Modifier cette entrée du menu" +#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141 +#: ../../include/items.php:3899 +msgid "Privacy group not found." +msgstr "Groupe d'accès introuvable." -#: ../../Zotlabs/Module/Mitem.php:202 -msgid "Menu item not found." -msgstr "Entrée de menu introuvable." +#: ../../Zotlabs/Module/Group.php:58 +msgid "Privacy group updated." +msgstr "Groupe d'accès mis à jour." -#: ../../Zotlabs/Module/Mitem.php:215 -msgid "Menu item deleted." -msgstr "Entrée de menu supprimée." +#: ../../Zotlabs/Module/Group.php:90 +msgid "Create a group of channels." +msgstr "Créer un groupe de canaux." -#: ../../Zotlabs/Module/Mitem.php:217 -msgid "Menu item could not be deleted." -msgstr "Impossible de supprimer l'entrée de menu." +#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184 +msgid "Privacy group name: " +msgstr "Nom du groupe d'accès :" -#: ../../Zotlabs/Module/Mitem.php:224 -msgid "Edit Menu Element" -msgstr "Modifier l'entrée de menu" +#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187 +msgid "Members are visible to other channels" +msgstr "Les membres sont visibles par les autres canaux" -#: ../../Zotlabs/Module/Mitem.php:230 -msgid "Link text" -msgstr "Texte du lien" +#: ../../Zotlabs/Module/Group.php:111 +msgid "Privacy group removed." +msgstr "Groupe d'accès supprimé." -#: ../../Zotlabs/Module/New_channel.php:128 -#: ../../Zotlabs/Module/Register.php:231 -msgid "Name or caption" -msgstr "Nom ou libellé" +#: ../../Zotlabs/Module/Group.php:113 +msgid "Unable to remove privacy group." +msgstr "Impossible de supprimer le groupe d'accès." -#: ../../Zotlabs/Module/New_channel.php:128 -#: ../../Zotlabs/Module/Register.php:231 -msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\"" -msgstr "Exemples : \"Jérôme Dutilleul\", \"Louise et ses chevaux\", \"Football\", \"Club d'aéromodélisme\"" +#: ../../Zotlabs/Module/Group.php:183 +msgid "Privacy group editor" +msgstr "Editeur de groupe d'accès." -#: ../../Zotlabs/Module/New_channel.php:130 -#: ../../Zotlabs/Module/Register.php:233 -msgid "Choose a short nickname" -msgstr "Choisissez un alias" +#: ../../Zotlabs/Module/Group.php:199 +msgid "All Connected Channels" +msgstr "Tous les canaux connectés" -#: ../../Zotlabs/Module/New_channel.php:130 -#: ../../Zotlabs/Module/Register.php:233 -#, php-format -msgid "" -"Your nickname will be used to create an easy to remember channel address " -"e.g. nickname%s" -msgstr "Votre pseudo sera utilisé pour créer une adresse de canal facile à mémoriser, par ex. pseudo%s" +#: ../../Zotlabs/Module/Group.php:231 +msgid "Click on a channel to add or remove." +msgstr "Cliquer sur un canal pour l'ajouter ou le supprimer" -#: ../../Zotlabs/Module/New_channel.php:132 -#: ../../Zotlabs/Module/Register.php:235 -msgid "Channel role and privacy" -msgstr "Rôle et confidentialité du canal" +#: ../../Zotlabs/Module/Dreport.php:45 +msgid "Invalid message" +msgstr "Message non valide" -#: ../../Zotlabs/Module/New_channel.php:132 -#: ../../Zotlabs/Module/Register.php:235 -msgid "Select a channel role with your privacy requirements." -msgstr "Sélectionner un rôle de canal adapté à vos besoins de confidentialité." +#: ../../Zotlabs/Module/Dreport.php:78 +msgid "no results" +msgstr "aucun résultat" -#: ../../Zotlabs/Module/New_channel.php:132 -#: ../../Zotlabs/Module/Register.php:235 -msgid "Read more about roles" -msgstr "En savoir plus sur les rôles" +#: ../../Zotlabs/Module/Dreport.php:93 +msgid "channel sync processed" +msgstr "Synchro de canal effectuée" -#: ../../Zotlabs/Module/New_channel.php:135 -msgid "Create Channel" -msgstr "Créer le canal" +#: ../../Zotlabs/Module/Dreport.php:97 +msgid "queued" +msgstr "mis dans la file d'attente" -#: ../../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 "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines." +#: ../../Zotlabs/Module/Dreport.php:101 +msgid "posted" +msgstr "publié" -#: ../../Zotlabs/Module/New_channel.php:137 -msgid "" -"or <a href=\"import\">import an existing channel</a> from another location." -msgstr "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur." +#: ../../Zotlabs/Module/Dreport.php:105 +msgid "accepted for delivery" +msgstr "accepté pour la distribution" -#: ../../Zotlabs/Module/Notifications.php:30 -msgid "Invalid request identifier." -msgstr "Identifiant de requête invalide." +#: ../../Zotlabs/Module/Dreport.php:109 +msgid "updated" +msgstr "mis à jour" -#: ../../Zotlabs/Module/Notifications.php:39 -msgid "Discard" -msgstr "Annuler" +#: ../../Zotlabs/Module/Dreport.php:112 +msgid "update ignored" +msgstr "mise à jour ignorée" -#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191 -msgid "Mark all system notifications seen" -msgstr "Marquer toutes les notifications système comme vues" +#: ../../Zotlabs/Module/Dreport.php:115 +msgid "permission denied" +msgstr "permission refusée" -#: ../../Zotlabs/Module/Photos.php:84 -msgid "Page owner information could not be retrieved." -msgstr "Impossible d'obtenir des informations sur le propriétaire de la page." +#: ../../Zotlabs/Module/Dreport.php:119 +msgid "recipient not found" +msgstr "destinataire introuvable" -#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743 -#: ../../Zotlabs/Module/Profile_photo.php:114 -#: ../../Zotlabs/Module/Profile_photo.php:206 -#: ../../Zotlabs/Module/Profile_photo.php:294 -#: ../../include/photo/photo_driver.php:718 -msgid "Profile Photos" -msgstr "Photos du profil" +#: ../../Zotlabs/Module/Dreport.php:122 +msgid "mail recalled" +msgstr "courriel rappelé" -#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149 -msgid "Album not found." -msgstr "Album introuvable." +#: ../../Zotlabs/Module/Dreport.php:125 +msgid "duplicate mail received" +msgstr "courriel reçu en double" -#: ../../Zotlabs/Module/Photos.php:132 -msgid "Delete Album" -msgstr "Supprimer l'album" +#: ../../Zotlabs/Module/Dreport.php:128 +msgid "mail delivered" +msgstr "courriel distribué" -#: ../../Zotlabs/Module/Photos.php:153 -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/Dreport.php:148 +#, php-format +msgid "Delivery report for %1$s" +msgstr "Rapport de distribution pour %1$s" -#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053 -msgid "Delete Photo" -msgstr "Supprimer la photo" +#: ../../Zotlabs/Module/Dreport.php:151 +msgid "Options" +msgstr "Options" -#: ../../Zotlabs/Module/Photos.php:533 -msgid "No photos selected" -msgstr "Aucune photo selectionnée" +#: ../../Zotlabs/Module/Dreport.php:152 +msgid "Redeliver" +msgstr "Transférer à nouveau" -#: ../../Zotlabs/Module/Photos.php:582 -msgid "Access to this item is restricted." -msgstr "L'accès à l'élément est restreint." +#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:203 +msgid "webpage" +msgstr "pages web" -#: ../../Zotlabs/Module/Photos.php:621 +#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:209 +msgid "block" +msgstr "bloquer" + +#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:206 +msgid "layout" +msgstr "mise en page" + +#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:212 +msgid "menu" +msgstr "menu" + +#: ../../Zotlabs/Module/Impel.php:191 #, php-format -msgid "%1$.2f MB of %2$.2f MB photo storage used." -msgstr "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos." +msgid "%s element installed" +msgstr "Elément %s installé" -#: ../../Zotlabs/Module/Photos.php:624 +#: ../../Zotlabs/Module/Impel.php:194 #, php-format -msgid "%1$.2f MB photo storage used." -msgstr "%1$.2f méga-octets utilisés pour le stockage des photos." +msgid "%s element installation failed" +msgstr "L'installation de l'élément %s a échoué" -#: ../../Zotlabs/Module/Photos.php:660 -msgid "Upload Photos" -msgstr "Téléverser des photos" +#: ../../Zotlabs/Module/Import_items.php:42 ../../Zotlabs/Module/Import.php:57 +msgid "Nothing to import." +msgstr "Rien à importer." -#: ../../Zotlabs/Module/Photos.php:664 -msgid "Enter an album name" -msgstr "Entrer un nom d'album" +#: ../../Zotlabs/Module/Import_items.php:66 ../../Zotlabs/Module/Import.php:69 +#: ../../Zotlabs/Module/Import.php:84 +msgid "Unable to download data from old server" +msgstr "Impossible de récupérer les données de l'ancien serveur" -#: ../../Zotlabs/Module/Photos.php:665 -msgid "or select an existing album (doubleclick)" -msgstr "ou sélectionner un album existant (double-clic)" +#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:91 +msgid "Imported file is empty." +msgstr "Le fichier importé est vide." -#: ../../Zotlabs/Module/Photos.php:666 -msgid "Create a status post for this upload" -msgstr "Créer une publication de statut pour cet envoi" +#: ../../Zotlabs/Module/Import_items.php:88 +#: ../../Zotlabs/Module/Import.php:111 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "Attention : les versions de bases de données diffèrent de %1$d mises à jour." -#: ../../Zotlabs/Module/Photos.php:667 -msgid "Caption (optional):" -msgstr "Légende (facultative)" +#: ../../Zotlabs/Module/Import_items.php:104 +msgid "Import completed" +msgstr "L'import est terminé." -#: ../../Zotlabs/Module/Photos.php:668 -msgid "Description (optional):" -msgstr "Description (facultative)" +#: ../../Zotlabs/Module/Import_items.php:119 +msgid "Import Items" +msgstr "Importer" -#: ../../Zotlabs/Module/Photos.php:695 -msgid "Album name could not be decoded" -msgstr "Le nom de l'Album n'a pu être décodé" +#: ../../Zotlabs/Module/Import_items.php:120 +msgid "" +"Use this form to import existing posts and content from an export file." +msgstr "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export." -#: ../../Zotlabs/Module/Photos.php:743 -msgid "Contact Photos" -msgstr "Photos de contact" +#: ../../Zotlabs/Module/Import_items.php:121 +#: ../../Zotlabs/Module/Import.php:495 +msgid "File to Upload" +msgstr "Fichier à envoyer" -#: ../../Zotlabs/Module/Photos.php:766 -msgid "Show Newest First" -msgstr "Les plus récent(e)s en premier" +#: ../../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 "Vous avez créé %1$.0f des %2$.0f canaux autorisés." -#: ../../Zotlabs/Module/Photos.php:768 -msgid "Show Oldest First" -msgstr "Les moins récent(e)s en premier" +#: ../../Zotlabs/Module/Manage.php:143 +msgid "Create a new channel" +msgstr "Créer un nouveau canal" -#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331 -#: ../../include/widgets.php:1499 -msgid "View Photo" -msgstr "Voir la photo" +#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:813 +#: ../../Zotlabs/Module/Wiki.php:166 ../../Zotlabs/Module/Chat.php:255 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:152 +msgid "Create New" +msgstr "Nouveau" -#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516 -msgid "Edit Album" -msgstr "Modifier l'album" +#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:221 +#: ../../include/nav.php:223 +msgid "Channel Manager" +msgstr "Gérer mes canaux" -#: ../../Zotlabs/Module/Photos.php:870 -msgid "Permission denied. Access to this item may be restricted." -msgstr "Permission refusée. L'accès à cet élément peut avoir été restreint." +#: ../../Zotlabs/Module/Manage.php:165 +msgid "Current Channel" +msgstr "Canal actif" -#: ../../Zotlabs/Module/Photos.php:872 -msgid "Photo not available" -msgstr "Photo non disponible" +#: ../../Zotlabs/Module/Manage.php:167 +msgid "Switch to one of your channels by selecting it." +msgstr "Pour changer de canal, sélectionnez-en un" -#: ../../Zotlabs/Module/Photos.php:930 -msgid "Use as profile photo" -msgstr "Utiliser comme photo du profil" +#: ../../Zotlabs/Module/Manage.php:168 +msgid "Default Channel" +msgstr "Canal par défaut" -#: ../../Zotlabs/Module/Photos.php:931 -msgid "Use as cover photo" -msgstr "" +#: ../../Zotlabs/Module/Manage.php:169 +msgid "Make Default" +msgstr "Définir comme défaut" -#: ../../Zotlabs/Module/Photos.php:938 -msgid "Private Photo" -msgstr "Photo privée" +#: ../../Zotlabs/Module/Manage.php:172 +#, php-format +msgid "%d new messages" +msgstr "%d nouveaux messages" -#: ../../Zotlabs/Module/Photos.php:953 -msgid "View Full Size" -msgstr "Voir en taille réelle" +#: ../../Zotlabs/Module/Manage.php:173 +#, php-format +msgid "%d new introductions" +msgstr "%d nouvelles relations" -#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437 -#: ../../Zotlabs/Module/Tagrm.php:137 -msgid "Remove" -msgstr "Retirer" +#: ../../Zotlabs/Module/Manage.php:175 +msgid "Delegated Channel" +msgstr "Canaux délégués" -#: ../../Zotlabs/Module/Photos.php:1032 -msgid "Edit photo" -msgstr "Modifier la photo" +#: ../../Zotlabs/Module/Import.php:134 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "Votre forfait n'autorise que %d canaux." -#: ../../Zotlabs/Module/Photos.php:1034 -msgid "Rotate CW (right)" -msgstr "Rotation horaire (droite)" +#: ../../Zotlabs/Module/Import.php:149 +msgid "No channel. Import failed." +msgstr "Pas de canal. Echec de l'import." -#: ../../Zotlabs/Module/Photos.php:1035 -msgid "Rotate CCW (left)" -msgstr "Rotation anti-horaire (gauche)" +#: ../../Zotlabs/Module/Import.php:467 +#: ../../extend/addon/addon/diaspora/import_diaspora.php:142 +msgid "Import completed." +msgstr "L'import est terminé." -#: ../../Zotlabs/Module/Photos.php:1038 -msgid "Enter a new album name" -msgstr "Entrer un nouveau nom d'album" +#: ../../Zotlabs/Module/Import.php:488 +msgid "You must be logged in to use this feature." +msgstr "Vous devez vous connecter pour utiliser cette fonctionnalité." -#: ../../Zotlabs/Module/Photos.php:1039 -msgid "or select an existing one (doubleclick)" -msgstr "ou en sélectionner un existant (double-clic)" +#: ../../Zotlabs/Module/Import.php:493 +msgid "Import Channel" +msgstr "Importation de canal" -#: ../../Zotlabs/Module/Photos.php:1042 -msgid "Caption" -msgstr "Titre/légende" +#: ../../Zotlabs/Module/Import.php:494 +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 "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import." -#: ../../Zotlabs/Module/Photos.php:1044 -msgid "Add a Tag" -msgstr "Ajouter une étiquette" +#: ../../Zotlabs/Module/Import.php:496 +msgid "Or provide the old server/hub details" +msgstr "Ou fournissez les détails de l'ancien serveur/hub" -#: ../../Zotlabs/Module/Photos.php:1048 -msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" -msgstr "Exemple : @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon" +#: ../../Zotlabs/Module/Import.php:497 +msgid "Your old identity address (xyz@example.com)" +msgstr "Votre ancienne identité (zyx@exemple.com)" -#: ../../Zotlabs/Module/Photos.php:1051 -msgid "Flag as adult in album view" -msgstr "Marquer comme \"adulte\" dans l'affichage de l'album" +#: ../../Zotlabs/Module/Import.php:498 +msgid "Your old login email address" +msgstr "Votre ancienne adresse de courriel" -#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261 -msgid "I like this (toggle)" -msgstr "J'aime (oui/non)" +#: ../../Zotlabs/Module/Import.php:499 +msgid "Your old login password" +msgstr "Votre ancien mot de passe" -#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262 -msgid "I don't like this (toggle)" -msgstr "Je n'aime pas (oui/non)" +#: ../../Zotlabs/Module/Import.php:500 +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 "Quelle que soit l'option choisie, merci de décider si ce hub sera votre nouvelle adresse primaire, ou si votre ancien hub continuera à jouer ce rôle. Vous pourrez publier depuis l'emplacement de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media." -#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397 -#: ../../include/conversation.php:740 -msgid "Please wait" -msgstr "Merci de patienter" +#: ../../Zotlabs/Module/Import.php:501 +msgid "Make this hub my primary location" +msgstr "Faire de ce hub mon emplacement primaire" -#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207 -#: ../../Zotlabs/Lib/ThreadItem.php:707 -msgid "This is you" -msgstr "C'est vous" +#: ../../Zotlabs/Module/Import.php:502 +msgid "Move this channel (disable all previous locations)" +msgstr "Déplacer ce canal (désactiver tous les emplacements précédents)" -#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209 -#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6 -msgid "Comment" -msgstr "Commenter" +#: ../../Zotlabs/Module/Import.php:503 +msgid "Import a few months of posts if possible (limited by available memory" +msgstr "Importer plusieurs mois de messages si possible (limité par la mémoire disponible)" -#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574 -msgctxt "title" -msgid "Likes" -msgstr "Aime" +#: ../../Zotlabs/Module/Import.php:504 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." +msgstr "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin." -#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574 -msgctxt "title" -msgid "Dislikes" -msgstr "N'aime pas" +#: ../../Zotlabs/Module/Lockview.php:75 +msgid "Remote privacy information not available." +msgstr "Les informations distantes de confidentialité ne sont pas disponibles." -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575 -msgctxt "title" -msgid "Agree" -msgstr "D'accord" +#: ../../Zotlabs/Module/Lockview.php:96 +msgid "Visible to:" +msgstr "Visible par :" -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575 -msgctxt "title" -msgid "Disagree" -msgstr "Pas d'accord" +#: ../../Zotlabs/Module/Magic.php:71 +msgid "Hub not found." +msgstr "Hub introuvable." -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575 -msgctxt "title" -msgid "Abstain" -msgstr "Abstention" +#: ../../Zotlabs/Module/Mitem.php:52 +msgid "Unable to create element." +msgstr "Impossible de créer l'entrée." -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576 -msgctxt "title" -msgid "Attending" -msgstr "Participations" +#: ../../Zotlabs/Module/Mitem.php:76 +msgid "Unable to update menu element." +msgstr "Impossible de mettre à jour l'entrée de menu." -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576 -msgctxt "title" -msgid "Not attending" -msgstr "Non-participations" +#: ../../Zotlabs/Module/Mitem.php:92 +msgid "Unable to add menu element." +msgstr "Impossible d'ajouter l'entrée de menu." -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576 -msgctxt "title" -msgid "Might attend" -msgstr "Participation possible" +#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230 +msgid "Menu Item Permissions" +msgstr "Permissions de l'entrée de menu" -#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138 -#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193 -#: ../../include/conversation.php:1717 -msgid "View all" -msgstr "Voir tout" +#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231 +#: ../../Zotlabs/Module/Settings/Channel.php:510 +msgid "(click to open/close)" +msgstr "(cliquer pour ouvrir/fermer)" -#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185 -#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741 -#: ../../include/channel.php:1158 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "Aime" -msgstr[1] "Aime" +#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176 +msgid "Link Name" +msgstr "Nom du lien" -#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190 -#: ../../include/conversation.php:1744 -msgctxt "noun" -msgid "Dislike" -msgid_plural "Dislikes" -msgstr[0] "N'aime pas" -msgstr[1] "N'aime pas" +#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239 +msgid "Link or Submenu Target" +msgstr "Lien ou sous-menu cible" -#: ../../Zotlabs/Module/Photos.php:1235 -msgid "Photo Tools" -msgstr "" +#: ../../Zotlabs/Module/Mitem.php:161 +msgid "Enter URL of the link or select a menu name to create a submenu" +msgstr "Entrez l'URL du lien ou sélectionnez un nom de menu pour créer un sous-menu" -#: ../../Zotlabs/Module/Photos.php:1244 -msgid "In This Photo:" -msgstr "Dans cette photo :" +#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240 +msgid "Use magic-auth if available" +msgstr "Utiliser l'authentification distante, quand disponible" -#: ../../Zotlabs/Module/Photos.php:1249 -msgid "Map" -msgstr "Carte" +#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241 +msgid "Open link in new window" +msgstr "Ouvrir le lien dans une nouvelle fenêtre" -#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386 -msgctxt "noun" -msgid "Likes" -msgstr "Aime" +#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242 +msgid "Order in list" +msgstr "Ordre dans la liste" -#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387 -msgctxt "noun" -msgid "Dislikes" -msgstr "N'aime pas" +#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242 +msgid "Higher numbers will sink to bottom of listing" +msgstr "Les nombres les plus élevés seront au bas de la liste" -#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392 -#: ../../include/acl_selectors.php:285 -msgid "Close" -msgstr "Fermer" +#: ../../Zotlabs/Module/Mitem.php:165 +msgid "Submit and finish" +msgstr "Vadiler et terminer" -#: ../../Zotlabs/Module/Photos.php:1337 -msgid "View Album" -msgstr "Voir l'album" +#: ../../Zotlabs/Module/Mitem.php:166 +msgid "Submit and continue" +msgstr "Valider et continuer" -#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361 -#: ../../Zotlabs/Module/Photos.php:1362 -msgid "Recent Photos" -msgstr "Photos récentes" +#: ../../Zotlabs/Module/Mitem.php:174 +msgid "Menu:" +msgstr "Menu :" -#: ../../Zotlabs/Module/Ping.php:265 -msgid "sent you a private message" -msgstr "vous a envoyé un message privé" +#: ../../Zotlabs/Module/Mitem.php:177 +msgid "Link Target" +msgstr "Cible du lien" -#: ../../Zotlabs/Module/Ping.php:313 -msgid "added your channel" -msgstr "a ajouté votre canal" +#: ../../Zotlabs/Module/Mitem.php:180 +msgid "Edit menu" +msgstr "Modifier le menu" -#: ../../Zotlabs/Module/Ping.php:323 -msgid "g A l F d" -msgstr "g A l F d" +#: ../../Zotlabs/Module/Mitem.php:183 +msgid "Edit element" +msgstr "Modifier l'entrée" -#: ../../Zotlabs/Module/Ping.php:346 -msgid "[today]" -msgstr "[aujourd'hui]" +#: ../../Zotlabs/Module/Mitem.php:184 +msgid "Drop element" +msgstr "Supprimer l'entrée" -#: ../../Zotlabs/Module/Ping.php:355 -msgid "posted an event" -msgstr "a publié un événement" +#: ../../Zotlabs/Module/Mitem.php:185 +msgid "New element" +msgstr "Nouvelle entrée" -#: ../../Zotlabs/Module/Oexchange.php:27 -msgid "Unable to find your hub." -msgstr "Impossible de trouver votre hub." +#: ../../Zotlabs/Module/Mitem.php:186 +msgid "Edit this menu container" +msgstr "Éditer ce bloc de menu" -#: ../../Zotlabs/Module/Oexchange.php:41 -msgid "Post successful." -msgstr "Publication réussie." +#: ../../Zotlabs/Module/Mitem.php:187 +msgid "Add menu element" +msgstr "Ajouter une entrée au menu" -#: ../../Zotlabs/Module/Openid.php:30 -msgid "OpenID protocol error. No ID returned." -msgstr "Erreur du protocole OpenID. Pas d'ID retourné." +#: ../../Zotlabs/Module/Mitem.php:188 +msgid "Delete this menu item" +msgstr "Supprimer cette entrée du menu" -#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226 -msgid "Login failed." -msgstr "Échec de la connexion." +#: ../../Zotlabs/Module/Mitem.php:189 +msgid "Edit this menu item" +msgstr "Modifier cette entrée du menu" -#: ../../Zotlabs/Module/Page.php:133 -msgid "" -"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " -"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam," -" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo " -"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse " -"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat " -"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." -msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." +#: ../../Zotlabs/Module/Mitem.php:206 +msgid "Menu item not found." +msgstr "Entrée de menu introuvable." -#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59 -msgid "This setting requires special processing and editing has been blocked." -msgstr "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées." +#: ../../Zotlabs/Module/Mitem.php:219 +msgid "Menu item deleted." +msgstr "Entrée de menu supprimée." -#: ../../Zotlabs/Module/Pconfig.php:48 -msgid "Configuration Editor" -msgstr "Editeur de configuration" +#: ../../Zotlabs/Module/Mitem.php:221 +msgid "Menu item could not be deleted." +msgstr "Impossible de supprimer l'entrée de menu." -#: ../../Zotlabs/Module/Pconfig.php:49 -msgid "" -"Warning: Changing some settings could render your channel inoperable. Please" -" leave this page unless you are comfortable with and knowledgeable about how" -" to correctly use this feature." -msgstr "Attention :modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité." +#: ../../Zotlabs/Module/Mitem.php:228 +msgid "Edit Menu Element" +msgstr "Modifier l'entrée de menu" -#: ../../Zotlabs/Module/Pdledit.php:18 -msgid "Layout updated." -msgstr "Mise en page mise à jour." +#: ../../Zotlabs/Module/Mitem.php:238 +msgid "Link text" +msgstr "Texte du lien" -#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61 -msgid "Edit System Page Description" -msgstr "Modifier la description de la page du système" +#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:54 +msgid "App installed." +msgstr "Application installée." -#: ../../Zotlabs/Module/Pdledit.php:56 -msgid "Layout not found." -msgstr "Mise en page introuvable." +#: ../../Zotlabs/Module/Appman.php:47 +msgid "Malformed app." +msgstr "Erreur de l'application - Malformée." -#: ../../Zotlabs/Module/Pdledit.php:62 -msgid "Module Name:" -msgstr "Nom du module :" +#: ../../Zotlabs/Module/Appman.php:110 +msgid "Embed code" +msgstr "Imbriquer le code" -#: ../../Zotlabs/Module/Pdledit.php:63 -msgid "Layout Help" -msgstr "Aide à la mise en page" +#: ../../Zotlabs/Module/Appman.php:116 +msgid "Edit App" +msgstr "Modifier l'application" -#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226 -#: ../../include/conversation.php:960 -msgid "Poke" -msgstr "Tapoter" +#: ../../Zotlabs/Module/Appman.php:116 +msgid "Create App" +msgstr "Créer une application" -#: ../../Zotlabs/Module/Poke.php:169 -msgid "Poke somebody" -msgstr "Taquiner quelqu'un" +#: ../../Zotlabs/Module/Appman.php:121 +msgid "Name of app" +msgstr "Nom de l'application" -#: ../../Zotlabs/Module/Poke.php:172 -msgid "Poke/Prod" -msgstr "Tapoter/Encourager" +#: ../../Zotlabs/Module/Appman.php:121 ../../Zotlabs/Module/Appman.php:122 +#: ../../Zotlabs/Module/Profiles.php:744 ../../Zotlabs/Module/Profiles.php:748 +#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465 +#: ../../include/datetime.php:259 +msgid "Required" +msgstr "Requis" -#: ../../Zotlabs/Module/Poke.php:173 -msgid "Poke, prod or do other things to somebody" -msgstr "Taquiner, pousser ou faire autre chose à quelqu'un" +#: ../../Zotlabs/Module/Appman.php:122 +msgid "Location (URL) of app" +msgstr "Emplacement (URL) de l'application" -#: ../../Zotlabs/Module/Poke.php:180 -msgid "Recipient" -msgstr "Destinataire" +#: ../../Zotlabs/Module/Appman.php:123 ../../Zotlabs/Module/Events.php:473 +#: ../../Zotlabs/Module/Rbmark.php:101 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:838 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:173 +msgid "Description" +msgstr "Description" -#: ../../Zotlabs/Module/Poke.php:181 -msgid "Choose what you wish to do to recipient" -msgstr "Choisir ce que vous voulez faire au destinataire" +#: ../../Zotlabs/Module/Appman.php:124 +msgid "Photo icon URL" +msgstr "URL de l'icône à utiliser pour cette photo" -#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185 -msgid "Make this post private" -msgstr "Rendre cette publication privée" +#: ../../Zotlabs/Module/Appman.php:124 +msgid "80 x 80 pixels - optional" +msgstr "80 x 80 pixels - facultatif" + +#: ../../Zotlabs/Module/Appman.php:125 +msgid "Categories (optional, comma separated list)" +msgstr "Catégories (séparées par des virgules)" + +#: ../../Zotlabs/Module/Appman.php:126 +msgid "Version ID" +msgstr "Identifiant de version" + +#: ../../Zotlabs/Module/Appman.php:127 +msgid "Price of app" +msgstr "Prix de l'application" + +#: ../../Zotlabs/Module/Appman.php:128 +msgid "Location (URL) to purchase app" +msgstr "Emplacement (URL) pour l'achat de l'application" + +#: ../../Zotlabs/Module/Ratings.php:70 +msgid "No ratings" +msgstr "Pas de note" + +#: ../../Zotlabs/Module/Ratings.php:98 +msgid "Rating: " +msgstr "Evaluation :" -#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34 +#: ../../Zotlabs/Module/Ratings.php:99 +msgid "Website: " +msgstr "Site web :" + +#: ../../Zotlabs/Module/Ratings.php:101 +msgid "Description: " +msgstr "Description :" + +#: ../../Zotlabs/Module/Attach.php:13 +msgid "Item not available." +msgstr "Élément indisponible." + +#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260 #, php-format -msgid "Fetching URL returns error: %1$s" -msgstr "Récupération d'URL échouée : %1$s" +msgctxt "mood" +msgid "%1$s is %2$s" +msgstr "%1$s est %2$s" -#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189 -#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625 +#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:234 +msgid "Mood" +msgstr "Humeur" + +#: ../../Zotlabs/Module/Mood.php:136 +msgid "Set your current mood and tell your friends" +msgstr "Indiquez votre humeur du moment à vos amis" + +#: ../../Zotlabs/Module/Notify.php:57 +#: ../../Zotlabs/Module/Notifications.php:38 +msgid "No more system notifications." +msgstr "Pas d'autre notification du système." + +#: ../../Zotlabs/Module/Notify.php:61 +#: ../../Zotlabs/Module/Notifications.php:42 +msgid "System Notifications" +msgstr "Notifications du système" + +#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:184 +#: ../../Zotlabs/Module/Profiles.php:241 ../../Zotlabs/Module/Profiles.php:660 +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:62 msgid "Profile not found." msgstr "Profil introuvable." @@ -3217,2883 +4272,2674 @@ msgstr "Profil introuvable." msgid "Profile deleted." msgstr "Profil supprimé." -#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104 +#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:105 msgid "Profile-" msgstr "Profil-" -#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132 +#: ../../Zotlabs/Module/Profiles.php:90 ../../Zotlabs/Module/Profiles.php:127 msgid "New profile created." msgstr "Nouveau profil créé." -#: ../../Zotlabs/Module/Profiles.php:110 +#: ../../Zotlabs/Module/Profiles.php:111 msgid "Profile unavailable to clone." msgstr "Profil impossible à cloner." -#: ../../Zotlabs/Module/Profiles.php:151 +#: ../../Zotlabs/Module/Profiles.php:146 msgid "Profile unavailable to export." msgstr "Impossible d'exporter le profil." -#: ../../Zotlabs/Module/Profiles.php:256 +#: ../../Zotlabs/Module/Profiles.php:252 msgid "Profile Name is required." msgstr "Le nom du profil est obligatoire." -#: ../../Zotlabs/Module/Profiles.php:427 +#: ../../Zotlabs/Module/Profiles.php:460 msgid "Marital Status" msgstr "Statut marital" -#: ../../Zotlabs/Module/Profiles.php:431 +#: ../../Zotlabs/Module/Profiles.php:464 msgid "Romantic Partner" msgstr "Partenaire amoureux" -#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736 +#: ../../Zotlabs/Module/Profiles.php:468 ../../Zotlabs/Module/Profiles.php:771 msgid "Likes" msgstr "Aime" -#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737 +#: ../../Zotlabs/Module/Profiles.php:472 ../../Zotlabs/Module/Profiles.php:772 msgid "Dislikes" msgstr "N'aime pas" -#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744 +#: ../../Zotlabs/Module/Profiles.php:476 ../../Zotlabs/Module/Profiles.php:779 msgid "Work/Employment" msgstr "Travail/Occupation" -#: ../../Zotlabs/Module/Profiles.php:446 +#: ../../Zotlabs/Module/Profiles.php:479 msgid "Religion" msgstr "Religion/Croyance" -#: ../../Zotlabs/Module/Profiles.php:450 +#: ../../Zotlabs/Module/Profiles.php:483 msgid "Political Views" msgstr "Opinions politiques" -#: ../../Zotlabs/Module/Profiles.php:458 +#: ../../Zotlabs/Module/Profiles.php:487 +#: ../../extend/addon/addon/openid/MysqlProvider.php:74 +msgid "Gender" +msgstr "Sexe" + +#: ../../Zotlabs/Module/Profiles.php:491 msgid "Sexual Preference" msgstr "Préférences sexuelle" -#: ../../Zotlabs/Module/Profiles.php:462 +#: ../../Zotlabs/Module/Profiles.php:495 msgid "Homepage" msgstr "Site Internet" -#: ../../Zotlabs/Module/Profiles.php:466 +#: ../../Zotlabs/Module/Profiles.php:499 msgid "Interests" msgstr "Centres d'intérêt" -#: ../../Zotlabs/Module/Profiles.php:560 +#: ../../Zotlabs/Module/Profiles.php:595 msgid "Profile updated." msgstr "Profil mis à jour." -#: ../../Zotlabs/Module/Profiles.php:644 +#: ../../Zotlabs/Module/Profiles.php:679 msgid "Hide your connections list from viewers of this profile" -msgstr "" +msgstr "Cacher la liste des relations pour les visiteurs de votre profile" -#: ../../Zotlabs/Module/Profiles.php:686 +#: ../../Zotlabs/Module/Profiles.php:721 msgid "Edit Profile Details" msgstr "Modifier les détails du profil" -#: ../../Zotlabs/Module/Profiles.php:688 +#: ../../Zotlabs/Module/Profiles.php:723 msgid "View this profile" msgstr "Voir ce profil" -#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771 -#: ../../include/channel.php:959 +#: ../../Zotlabs/Module/Profiles.php:724 ../../Zotlabs/Module/Profiles.php:806 +#: ../../include/channel.php:1066 msgid "Edit visibility" msgstr "Changer la visibilité" -#: ../../Zotlabs/Module/Profiles.php:690 +#: ../../Zotlabs/Module/Profiles.php:725 msgid "Profile Tools" -msgstr "" +msgstr "Ouitls pour votre profile" -#: ../../Zotlabs/Module/Profiles.php:691 +#: ../../Zotlabs/Module/Profiles.php:726 msgid "Change cover photo" -msgstr "" +msgstr "Modifier votre bannière" -#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930 +#: ../../Zotlabs/Module/Profiles.php:727 ../../include/channel.php:1037 msgid "Change profile photo" msgstr "Changer la photo du profil" -#: ../../Zotlabs/Module/Profiles.php:693 +#: ../../Zotlabs/Module/Profiles.php:728 msgid "Create a new profile using these settings" msgstr "Créer un nouveau profil avec ces paramètres" -#: ../../Zotlabs/Module/Profiles.php:694 +#: ../../Zotlabs/Module/Profiles.php:729 msgid "Clone this profile" msgstr "Cloner ce profil" -#: ../../Zotlabs/Module/Profiles.php:695 +#: ../../Zotlabs/Module/Profiles.php:730 msgid "Delete this profile" msgstr "Supprimer ce profil" -#: ../../Zotlabs/Module/Profiles.php:696 +#: ../../Zotlabs/Module/Profiles.php:731 msgid "Add profile things" msgstr "Ajouter des éléments de profil" -#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105 -#: ../../include/conversation.php:1526 +#: ../../Zotlabs/Module/Profiles.php:732 ../../include/conversation.php:1715 +#: ../../include/widgets.php:105 msgid "Personal" msgstr "Me concernant" -#: ../../Zotlabs/Module/Profiles.php:699 +#: ../../Zotlabs/Module/Profiles.php:734 msgid "Relation" -msgstr "" +msgstr "Contacts" -#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48 +#: ../../Zotlabs/Module/Profiles.php:735 ../../include/datetime.php:55 msgid "Miscellaneous" msgstr "Divers" -#: ../../Zotlabs/Module/Profiles.php:702 +#: ../../Zotlabs/Module/Profiles.php:737 msgid "Import profile from file" msgstr "Importer le profil à partir d'un fichier" -#: ../../Zotlabs/Module/Profiles.php:703 +#: ../../Zotlabs/Module/Profiles.php:738 msgid "Export profile to file" msgstr "Exporter le profil vers un fichier." -#: ../../Zotlabs/Module/Profiles.php:704 +#: ../../Zotlabs/Module/Profiles.php:739 msgid "Your gender" -msgstr "" +msgstr "Votre genre" -#: ../../Zotlabs/Module/Profiles.php:705 +#: ../../Zotlabs/Module/Profiles.php:740 msgid "Marital status" -msgstr "" +msgstr "Etat civil" -#: ../../Zotlabs/Module/Profiles.php:706 +#: ../../Zotlabs/Module/Profiles.php:741 msgid "Sexual preference" -msgstr "" +msgstr "préférence sexuelle" -#: ../../Zotlabs/Module/Profiles.php:709 +#: ../../Zotlabs/Module/Profiles.php:744 msgid "Profile name" -msgstr "" +msgstr "Nom du profile" -#: ../../Zotlabs/Module/Profiles.php:711 +#: ../../Zotlabs/Module/Profiles.php:746 msgid "This is your default profile." msgstr "Ceci est votre profil par défaut." -#: ../../Zotlabs/Module/Profiles.php:713 +#: ../../Zotlabs/Module/Profiles.php:748 msgid "Your full name" -msgstr "" +msgstr "Votre nom complet" -#: ../../Zotlabs/Module/Profiles.php:714 +#: ../../Zotlabs/Module/Profiles.php:749 msgid "Title/Description" msgstr "Titre/description" -#: ../../Zotlabs/Module/Profiles.php:717 +#: ../../Zotlabs/Module/Profiles.php:752 msgid "Street address" -msgstr "" +msgstr "Rue" -#: ../../Zotlabs/Module/Profiles.php:718 +#: ../../Zotlabs/Module/Profiles.php:753 msgid "Locality/City" msgstr "Ville" -#: ../../Zotlabs/Module/Profiles.php:719 +#: ../../Zotlabs/Module/Profiles.php:754 msgid "Region/State" msgstr "Région" -#: ../../Zotlabs/Module/Profiles.php:720 +#: ../../Zotlabs/Module/Profiles.php:755 msgid "Postal/Zip code" -msgstr "" - -#: ../../Zotlabs/Module/Profiles.php:721 -msgid "Country" -msgstr "Pays" +msgstr "Code postal" -#: ../../Zotlabs/Module/Profiles.php:726 +#: ../../Zotlabs/Module/Profiles.php:761 msgid "Who (if applicable)" msgstr "Qui (si applicable)" -#: ../../Zotlabs/Module/Profiles.php:726 +#: ../../Zotlabs/Module/Profiles.php:761 msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgstr "Exemples : marie123, Marie Deschamps, marie@exemple.com" -#: ../../Zotlabs/Module/Profiles.php:727 +#: ../../Zotlabs/Module/Profiles.php:762 msgid "Since (date)" -msgstr "" +msgstr "Depuis (date)" -#: ../../Zotlabs/Module/Profiles.php:730 +#: ../../Zotlabs/Module/Profiles.php:765 msgid "Tell us about yourself" -msgstr "" +msgstr "Parlez nous de vous..." -#: ../../Zotlabs/Module/Profiles.php:732 +#: ../../Zotlabs/Module/Profiles.php:766 +#: ../../extend/addon/addon/openid/MysqlProvider.php:68 +msgid "Homepage URL" +msgstr "URL de mon site Internet :" + +#: ../../Zotlabs/Module/Profiles.php:767 msgid "Hometown" msgstr "Ville de naissance" -#: ../../Zotlabs/Module/Profiles.php:733 +#: ../../Zotlabs/Module/Profiles.php:768 msgid "Political views" -msgstr "" +msgstr "Opinions politiques" -#: ../../Zotlabs/Module/Profiles.php:734 +#: ../../Zotlabs/Module/Profiles.php:769 msgid "Religious views" -msgstr "" +msgstr "Convictions religieuses" -#: ../../Zotlabs/Module/Profiles.php:735 +#: ../../Zotlabs/Module/Profiles.php:770 msgid "Keywords used in directory listings" -msgstr "" +msgstr "Mots clés pour l'annuaire" -#: ../../Zotlabs/Module/Profiles.php:735 +#: ../../Zotlabs/Module/Profiles.php:770 msgid "Example: fishing photography software" msgstr "Exemple : escrime photographie modélisme" -#: ../../Zotlabs/Module/Profiles.php:738 +#: ../../Zotlabs/Module/Profiles.php:773 msgid "Musical interests" msgstr "Goûts musicaux" -#: ../../Zotlabs/Module/Profiles.php:739 +#: ../../Zotlabs/Module/Profiles.php:774 msgid "Books, literature" msgstr "Livres, littérature" -#: ../../Zotlabs/Module/Profiles.php:740 +#: ../../Zotlabs/Module/Profiles.php:775 msgid "Television" msgstr "Télévision" -#: ../../Zotlabs/Module/Profiles.php:741 +#: ../../Zotlabs/Module/Profiles.php:776 msgid "Film/Dance/Culture/Entertainment" -msgstr "" +msgstr "Cinéma/Danse/Culture/Divertissement" -#: ../../Zotlabs/Module/Profiles.php:742 +#: ../../Zotlabs/Module/Profiles.php:777 msgid "Hobbies/Interests" msgstr "Loisirs/Centres d'intêret" -#: ../../Zotlabs/Module/Profiles.php:743 +#: ../../Zotlabs/Module/Profiles.php:778 msgid "Love/Romance" -msgstr "" +msgstr "Amour/Relation amoureuse" -#: ../../Zotlabs/Module/Profiles.php:745 +#: ../../Zotlabs/Module/Profiles.php:780 msgid "School/Education" -msgstr "" +msgstr "Niveau d'étude" -#: ../../Zotlabs/Module/Profiles.php:746 +#: ../../Zotlabs/Module/Profiles.php:781 msgid "Contact information and social networks" -msgstr "" +msgstr "Coordonnées et autres réseaux sociaux" -#: ../../Zotlabs/Module/Profiles.php:747 +#: ../../Zotlabs/Module/Profiles.php:782 msgid "My other channels" msgstr "Mes autres canaux" -#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955 +#: ../../Zotlabs/Module/Profiles.php:802 ../../include/channel.php:1062 msgid "Profile Image" msgstr "Image du profil" -#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88 -#: ../../include/channel.php:937 +#: ../../Zotlabs/Module/Profiles.php:812 ../../include/channel.php:1044 +#: ../../include/nav.php:105 msgid "Edit Profiles" -msgstr "Modifier les profils" +msgstr "Modifier mes profils" -#: ../../Zotlabs/Module/Profile_photo.php:179 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement." - -#: ../../Zotlabs/Module/Profile_photo.php:367 -msgid "Upload Profile Photo" -msgstr "Téléverser une photo de profil" - -#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 -msgid "Invalid profile identifier." -msgstr "Identifiant de profil invalide." +#: ../../Zotlabs/Module/Api.php:72 ../../Zotlabs/Module/Api.php:93 +msgid "Authorize application connection" +msgstr "Autoriser l'application à se connecter" -#: ../../Zotlabs/Module/Profperm.php:115 -msgid "Profile Visibility Editor" -msgstr "Éditeur de visibilité de profil" +#: ../../Zotlabs/Module/Api.php:73 +msgid "Return to your app and insert this Security Code:" +msgstr "Revenez dans votre application et mettez le code de sécurité" -#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249 -msgid "Profile" -msgstr "Profil" +#: ../../Zotlabs/Module/Api.php:83 +msgid "Please login to continue." +msgstr "Merci de vous identifier pour continuer." -#: ../../Zotlabs/Module/Profperm.php:119 -msgid "Click on a contact to add or remove." -msgstr "Cliquer sur un contact pour l'ajouter ou le retirer." +#: ../../Zotlabs/Module/Api.php:95 +msgid "" +"Do you want to authorize this application to access your posts and contacts," +" and/or create new posts for you?" +msgstr "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?" -#: ../../Zotlabs/Module/Profperm.php:128 -msgid "Visible To" -msgstr "Visible par" +#: ../../Zotlabs/Module/Invite.php:29 +msgid "Total invitation limit exceeded." +msgstr "Limite du nombre total d'invitation dépassée." -#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270 -msgid "Public Hubs" -msgstr "Instances publiques" +#: ../../Zotlabs/Module/Invite.php:53 +#, php-format +msgid "%s : Not a valid email address." +msgstr "%s : adresse courriel invalide." -#: ../../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 "Les sites listés permettent l'enregistrement public de comptes pour le réseau $Projectname. Tous les sites du réseau sont reliés entre eux, être membre d'un site revient à être membre de tous. Certains sites peuvent demander une souscription ou proposer différents niveaux de service. Chaque site <strong>peut</strong> fournir des détails supplémentaires." +#: ../../Zotlabs/Module/Invite.php:67 +msgid "Please join us on $Projectname" +msgstr "Rejoignez-nous sur $Projectname" -#: ../../Zotlabs/Module/Pubsites.php:31 -msgid "Hub URL" -msgstr "URL du site" +#: ../../Zotlabs/Module/Invite.php:77 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "Limite d'invitations dépassée. Merci de contacter l'administration de votre site." -#: ../../Zotlabs/Module/Pubsites.php:31 -msgid "Access Type" -msgstr "Type d'accès" +#: ../../Zotlabs/Module/Invite.php:82 +#, php-format +msgid "%s : Message delivery failed." +msgstr "%s : Échec de distribution du message." -#: ../../Zotlabs/Module/Pubsites.php:31 -msgid "Registration Policy" -msgstr "Politique d'inscription" +#: ../../Zotlabs/Module/Invite.php:86 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "%d message envoyé." +msgstr[1] "%d messages envoyés." -#: ../../Zotlabs/Module/Pubsites.php:31 -msgid "Stats" -msgstr "" +#: ../../Zotlabs/Module/Invite.php:105 +msgid "You have no more invitations available" +msgstr "Vous ne disposez plus d'aucune invitation" -#: ../../Zotlabs/Module/Pubsites.php:31 -msgid "Software" -msgstr "" +#: ../../Zotlabs/Module/Invite.php:136 +msgid "Send invitations" +msgstr "Envoyer des invitations" -#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103 -#: ../../include/conversation.php:959 -msgid "Ratings" -msgstr "Evaluations" +#: ../../Zotlabs/Module/Invite.php:137 +msgid "Enter email addresses, one per line:" +msgstr "Entrez les adresses de courriel, une par ligne :" -#: ../../Zotlabs/Module/Pubsites.php:38 -msgid "Rate" -msgstr "Evaluer" +#: ../../Zotlabs/Module/Invite.php:138 ../../Zotlabs/Module/Mail.php:284 +msgid "Your message:" +msgstr "Votre message :" -#: ../../Zotlabs/Module/Rate.php:160 -msgid "Website:" -msgstr "Site web :" +#: ../../Zotlabs/Module/Invite.php:139 +msgid "Please join my community on $Projectname." +msgstr "Rejoignez ma communauté sur $Projectname." -#: ../../Zotlabs/Module/Rate.php:163 -#, php-format -msgid "Remote Channel [%s] (not yet known on this site)" -msgstr "Canal distant [%s] (encore inconnu sur ce site)" +#: ../../Zotlabs/Module/Invite.php:141 +msgid "You will need to supply this invitation code:" +msgstr "Vous devrez fournir le code suivant :" -#: ../../Zotlabs/Module/Rate.php:164 -msgid "Rating (this information is public)" -msgstr "Evaluation (cette information est publique)" +#: ../../Zotlabs/Module/Invite.php:142 +msgid "" +"1. Register at any $Projectname location (they are all inter-connected)" +msgstr "1. Enregistrez-vous sur n'importe quel serveur $Projectname (ils sont tous inter-connectés)" -#: ../../Zotlabs/Module/Rate.php:165 -msgid "Optionally explain your rating (this information is public)" -msgstr "Explication facultative de votre évaluation (cette information est publique)" +#: ../../Zotlabs/Module/Invite.php:144 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "2. Saisissez l'adresse de mon canal $Projectname dans la barre de recherche du site." -#: ../../Zotlabs/Module/Ratings.php:73 -msgid "No ratings" -msgstr "Pas de note" +#: ../../Zotlabs/Module/Invite.php:145 +msgid "or visit" +msgstr "ou rendez-vous sur" -#: ../../Zotlabs/Module/Ratings.php:104 -msgid "Rating: " -msgstr "Evaluation :" +#: ../../Zotlabs/Module/Invite.php:147 +msgid "3. Click [Connect]" +msgstr "3. Cliquez sur [Ajouter]" -#: ../../Zotlabs/Module/Ratings.php:105 -msgid "Website: " -msgstr "Site web :" +#: ../../Zotlabs/Module/Siteinfo.php:20 +msgid "About this site" +msgstr "À propos de ce site" -#: ../../Zotlabs/Module/Ratings.php:107 -msgid "Description: " -msgstr "Description :" +#: ../../Zotlabs/Module/Siteinfo.php:21 +msgid "Site Name" +msgstr "Nom du site" -#: ../../Zotlabs/Module/Admin.php:77 -msgid "Theme settings updated." -msgstr "Paramètres du thème mis à jour." +#: ../../Zotlabs/Module/Siteinfo.php:25 ../../include/network.php:1972 +msgid "Administrator" +msgstr "Administrateur" -#: ../../Zotlabs/Module/Admin.php:197 -msgid "# Accounts" -msgstr "# Comptes" +#: ../../Zotlabs/Module/Siteinfo.php:28 +msgid "Software and Project information" +msgstr "Informations sur le logiciel et le projet" -#: ../../Zotlabs/Module/Admin.php:198 -msgid "# blocked accounts" -msgstr "# comptes bloqués" +#: ../../Zotlabs/Module/Siteinfo.php:29 +msgid "This site is powered by $Projectname" +msgstr "Ce site est propulsé par " -#: ../../Zotlabs/Module/Admin.php:199 -msgid "# expired accounts" -msgstr "# comptes expirés" +#: ../../Zotlabs/Module/Siteinfo.php:30 +msgid "" +"Federated and decentralised networking and identity services provided by Zot" +msgstr "Réseau fédéré et décentralisé, et services d'identification fournies par Zot" -#: ../../Zotlabs/Module/Admin.php:200 -msgid "# expiring accounts" -msgstr "# comptes expirant" +#: ../../Zotlabs/Module/Siteinfo.php:32 +#, php-format +msgid "Version %s" +msgstr "Version %s" -#: ../../Zotlabs/Module/Admin.php:211 -msgid "# Channels" -msgstr "# Canaux" +#: ../../Zotlabs/Module/Siteinfo.php:33 +msgid "Project homepage" +msgstr "Page d'accueil du projet" -#: ../../Zotlabs/Module/Admin.php:212 -msgid "# primary" -msgstr "# primaire" +#: ../../Zotlabs/Module/Siteinfo.php:34 +msgid "Developer homepage" +msgstr "Page d'accueil des développeurs" -#: ../../Zotlabs/Module/Admin.php:213 -msgid "# clones" -msgstr "# clones" +#: ../../Zotlabs/Module/New_channel.php:140 +msgid "Create Channel" +msgstr "Créer le canal" -#: ../../Zotlabs/Module/Admin.php:219 -msgid "Message queues" -msgstr "File des messages" +#: ../../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 est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines." -#: ../../Zotlabs/Module/Admin.php:236 -msgid "Your software should be updated" -msgstr "" +#: ../../Zotlabs/Module/New_channel.php:142 +msgid "" +"or <a href=\"import\">import an existing channel</a> from another location." +msgstr "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur." -#: ../../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/Setup.php:176 +msgid "$Projectname Server - Setup" +msgstr "Serveur $Projectname - configuration" -#: ../../Zotlabs/Module/Admin.php:242 -msgid "Summary" -msgstr "Résumé" +#: ../../Zotlabs/Module/Setup.php:180 +msgid "Could not connect to database." +msgstr "Impossible de se connecter à la base de données." -#: ../../Zotlabs/Module/Admin.php:245 -msgid "Registered accounts" -msgstr "Comptes enregistrés" +#: ../../Zotlabs/Module/Setup.php:184 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." +msgstr "Impossible de se connecter à l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS." -#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715 -msgid "Pending registrations" -msgstr "Inscriptions en attente" +#: ../../Zotlabs/Module/Setup.php:191 +msgid "Could not create table." +msgstr "Impossible de créer la table." -#: ../../Zotlabs/Module/Admin.php:247 -msgid "Registered channels" -msgstr "Canaux enregistrés" +#: ../../Zotlabs/Module/Setup.php:196 +msgid "Your site database has been installed." +msgstr "La base de données de votre site a été installée." -#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716 -msgid "Active plugins" -msgstr "Greffons actifs" +#: ../../Zotlabs/Module/Setup.php:200 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." +msgstr "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin)." -#: ../../Zotlabs/Module/Admin.php:249 -msgid "Version" -msgstr "Version" +#: ../../Zotlabs/Module/Setup.php:201 ../../Zotlabs/Module/Setup.php:263 +#: ../../Zotlabs/Module/Setup.php:750 +msgid "Please see the file \"install/INSTALL.txt\"." +msgstr "Merci de consulter le fichier \"install/INSTALL.txt\"." -#: ../../Zotlabs/Module/Admin.php:250 -msgid "Repository version (master)" -msgstr "" +#: ../../Zotlabs/Module/Setup.php:260 +msgid "System check" +msgstr "Vérification du système" -#: ../../Zotlabs/Module/Admin.php:251 -msgid "Repository version (dev)" -msgstr "" +#: ../../Zotlabs/Module/Setup.php:265 +msgid "Check again" +msgstr "Re-vérifier" -#: ../../Zotlabs/Module/Admin.php:373 -msgid "Site settings updated." -msgstr "Paramètres du site sauvegardés." +#: ../../Zotlabs/Module/Setup.php:287 +msgid "Database connection" +msgstr "Connexion à la base de données" -#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841 -msgid "Default" -msgstr "Défaut" +#: ../../Zotlabs/Module/Setup.php:288 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." +msgstr "Pour installer $Projectname, nous avons besoin de savoir comment se connecter à votre base de données." -#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798 -msgid "mobile" -msgstr "mobile" +#: ../../Zotlabs/Module/Setup.php:289 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." +msgstr "Merci de contacter votre prestataire d'hébergement ou votre administrateur de site si vous avez des questions à propos de ces paramètres." -#: ../../Zotlabs/Module/Admin.php:412 -msgid "experimental" -msgstr "expérimental" +#: ../../Zotlabs/Module/Setup.php:290 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." +msgstr "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer." -#: ../../Zotlabs/Module/Admin.php:414 -msgid "unsupported" -msgstr "non maintenu" +#: ../../Zotlabs/Module/Setup.php:294 +msgid "Database Server Name" +msgstr "Nom du serveur de base de données" -#: ../../Zotlabs/Module/Admin.php:460 -msgid "Yes - with approval" -msgstr "Oui - avec approbation" +#: ../../Zotlabs/Module/Setup.php:294 +msgid "Default is 127.0.0.1" +msgstr "Par défaut 127.0.0.1" -#: ../../Zotlabs/Module/Admin.php:466 -msgid "My site is not a public server" -msgstr "Mon site n'est pas un serveur public" +#: ../../Zotlabs/Module/Setup.php:295 +msgid "Database Port" +msgstr "Port de la base de données" -#: ../../Zotlabs/Module/Admin.php:467 -msgid "My site has paid access only" -msgstr "Mon site est à accès payant uniquement" +#: ../../Zotlabs/Module/Setup.php:295 +msgid "Communication port number - use 0 for default" +msgstr "Numéro TCP du port - utilisez 0 pour la valeur par défaut" -#: ../../Zotlabs/Module/Admin.php:468 -msgid "My site has free access only" -msgstr "Mon site est gratuit uniquement" +#: ../../Zotlabs/Module/Setup.php:296 +msgid "Database Login Name" +msgstr "Identifiant de connexion à la Base de Données" -#: ../../Zotlabs/Module/Admin.php:469 -msgid "My site offers free accounts with optional paid upgrades" -msgstr "Mon site offre des comptes gratuits avec des améliorations payantes facultatives" +#: ../../Zotlabs/Module/Setup.php:297 +msgid "Database Login Password" +msgstr "Mot de passe de connexion à la Base de Données" -#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382 -msgid "Site" -msgstr "Site" +#: ../../Zotlabs/Module/Setup.php:298 +msgid "Database Name" +msgstr "Nom de la Base de Données" -#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245 -msgid "Registration" -msgstr "Inscription" +#: ../../Zotlabs/Module/Setup.php:299 +msgid "Database Type" +msgstr "Type de base de données" -#: ../../Zotlabs/Module/Admin.php:494 -msgid "File upload" -msgstr "Envoi de fichier" +#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347 +msgid "Site administrator email address" +msgstr "Adresse de courriel de l'administrateur du site" -#: ../../Zotlabs/Module/Admin.php:495 -msgid "Policies" -msgstr "Stratégies" +#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web." -#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16 -msgid "Advanced" -msgstr "Avancé" +#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349 +msgid "Website URL" +msgstr "URL du site web" -#: ../../Zotlabs/Module/Admin.php:500 -msgid "Site name" -msgstr "Nom du site" +#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349 +msgid "Please use SSL (https) URL if available." +msgstr "Veuillez utiliser SSL/TLS (https) si disponible." -#: ../../Zotlabs/Module/Admin.php:501 -msgid "Banner/Logo" -msgstr "Bannière/logo" +#: ../../Zotlabs/Module/Setup.php:303 ../../Zotlabs/Module/Setup.php:353 +msgid "Please select a default timezone for your website" +msgstr "Veuillez choisir un fuseau horaire par défaut pour votre site" -#: ../../Zotlabs/Module/Admin.php:502 -msgid "Administrator Information" -msgstr "Informations de l'administrateur" +#: ../../Zotlabs/Module/Setup.php:336 +msgid "Site settings" +msgstr "Paramètres du site" -#: ../../Zotlabs/Module/Admin.php:502 -msgid "" -"Contact information for site administrators. Displayed on siteinfo page. " -"BBCode can be used here" -msgstr "Coordonnées de l'administrateur du site. Affichées sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici" +#: ../../Zotlabs/Module/Setup.php:392 +msgid "PHP version 5.5 or greater is required." +msgstr "PHP version 5.5 ou supérieur est requis" -#: ../../Zotlabs/Module/Admin.php:503 -msgid "System language" -msgstr "Langue du système" +#: ../../Zotlabs/Module/Setup.php:393 +msgid "PHP version" +msgstr "Version de PHP" -#: ../../Zotlabs/Module/Admin.php:504 -msgid "System theme" -msgstr "Thème du système" +#: ../../Zotlabs/Module/Setup.php:409 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "Impossible de trouver une version CLI de PHP dans le PATH du serveur web." -#: ../../Zotlabs/Module/Admin.php:504 +#: ../../Zotlabs/Module/Setup.php:410 msgid "" -"Default system theme - may be over-ridden by user profiles - <a href='#' " -"id='cnftheme'>change theme settings</a>" -msgstr "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>" - -#: ../../Zotlabs/Module/Admin.php:505 -msgid "Mobile system theme" -msgstr "Thème par défaut pour les mobiles" +"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 "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la synchronisation en arrière-plan via cron." -#: ../../Zotlabs/Module/Admin.php:505 -msgid "Theme for mobile devices" -msgstr "Thème pour les mobiles" +#: ../../Zotlabs/Module/Setup.php:414 +msgid "PHP executable path" +msgstr "Chemin vers l'éxecutable PHP" -#: ../../Zotlabs/Module/Admin.php:507 -msgid "Allow Feeds as Connections" -msgstr "Autoriser les Flux (RSS) comme contacts" +#: ../../Zotlabs/Module/Setup.php:414 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans." -#: ../../Zotlabs/Module/Admin.php:507 -msgid "(Heavy system resource usage)" -msgstr "(Impact important sur les ressources)" +#: ../../Zotlabs/Module/Setup.php:419 +msgid "Command line PHP" +msgstr "PHP en ligne de commande (CLI)" -#: ../../Zotlabs/Module/Admin.php:508 -msgid "Maximum image size" -msgstr "Taille maximale des images" +#: ../../Zotlabs/Module/Setup.php:429 +msgid "" +"Unable to check command line PHP, as shell_exec() is disabled. This is " +"required." +msgstr "Impossible de vérifier la ligne de commande PHP, car shell_exec () est désactivé. Ceci est nécessaire." -#: ../../Zotlabs/Module/Admin.php:508 +#: ../../Zotlabs/Module/Setup.php:432 msgid "" -"Maximum size in bytes of uploaded images. Default is 0, which means no " -"limits." -msgstr "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite." +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée." -#: ../../Zotlabs/Module/Admin.php:509 -msgid "Does this site allow new member registration?" -msgstr "Est-ce que l'enregistrement de nouveaux membres est autorisé sur ce site ?" +#: ../../Zotlabs/Module/Setup.php:433 +msgid "This is required for message delivery to work." +msgstr "Elle est nécessaire pour la distribution des messages." -#: ../../Zotlabs/Module/Admin.php:510 -msgid "Invitation only" -msgstr "Sur invitation seulement" +#: ../../Zotlabs/Module/Setup.php:436 +msgid "PHP register_argc_argv" +msgstr "PHP register_argc_argv" -#: ../../Zotlabs/Module/Admin.php:510 +#: ../../Zotlabs/Module/Setup.php:454 +#, php-format msgid "" -"Only allow new member registrations with an invitation code. Above register " -"policy must be set to Yes." -msgstr "N'autoriser que les nouvelles inscriptions avec code d'invitation. La stratégie d'inscription ci-dessus doit être mise sur \"Oui\"." - -#: ../../Zotlabs/Module/Admin.php:511 -msgid "Which best describes the types of account offered by this hub?" -msgstr "Quelle est la meilleure description des types de comptes proposés sur ce hub ?" - -#: ../../Zotlabs/Module/Admin.php:512 -msgid "Register text" -msgstr "Texte d'inscription" +"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 "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois." -#: ../../Zotlabs/Module/Admin.php:512 -msgid "Will be displayed prominently on the registration page." -msgstr "Sera affiché de manière bien visible sur le formulaire d'inscription." +#: ../../Zotlabs/Module/Setup.php:459 +msgid "You can adjust these settings in the server php.ini file." +msgstr "Vous pouvez ajuster ces paramètres dans le fichier php.ini du serveur." -#: ../../Zotlabs/Module/Admin.php:513 -msgid "Site homepage to show visitors (default: login box)" -msgstr "Page d'accueil du site à montrer aux visiteurs (par défaut :boîte de dialogue de connexion)" +#: ../../Zotlabs/Module/Setup.php:461 +msgid "PHP upload limits" +msgstr "Limites de téléversement de PHP" -#: ../../Zotlabs/Module/Admin.php:513 +#: ../../Zotlabs/Module/Setup.php:484 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 "exemple :'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier." - -#: ../../Zotlabs/Module/Admin.php:514 -msgid "Preserve site homepage URL" -msgstr "Préserver l'adresse d'accueil du site" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "Erreur : la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement" -#: ../../Zotlabs/Module/Admin.php:514 +#: ../../Zotlabs/Module/Setup.php:485 msgid "" -"Present the site homepage in a frame at the original location instead of " -"redirecting" -msgstr "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger" - -#: ../../Zotlabs/Module/Admin.php:515 -msgid "Accounts abandoned after x days" -msgstr "Les comptes sont abandonnés après x jours" +"If running under Windows, please see " +"\"http://www.php.net/manual/en/openssl.installation.php\"." +msgstr "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\"." -#: ../../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 de gaspiller les ressources du système en interrogeant des hubs distants pour des canaux abandonnés. Mettez 0 pour ne pas avoir de limite de temps." +#: ../../Zotlabs/Module/Setup.php:488 +msgid "Generate encryption keys" +msgstr "Générer les clefs de chiffrement" -#: ../../Zotlabs/Module/Admin.php:516 -msgid "Allowed friend domains" -msgstr "Domaines amicaux autorisés" +#: ../../Zotlabs/Module/Setup.php:505 +msgid "libCurl PHP module" +msgstr "module PHP libCurl" -#: ../../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 "Liste de noms de domaines séparés par des virgules pour lesquels ce site acceptera les demandes d'amitié. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines." +#: ../../Zotlabs/Module/Setup.php:506 +msgid "GD graphics PHP module" +msgstr "module PHP GD graphics" -#: ../../Zotlabs/Module/Admin.php:517 -msgid "Allowed email domains" -msgstr "Domaines de courriels autorisés" +#: ../../Zotlabs/Module/Setup.php:507 +msgid "OpenSSL PHP module" +msgstr "module PHP OpenSSL" -#: ../../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 "Liste de noms de domaines séparés par des virgules dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines." +#: ../../Zotlabs/Module/Setup.php:508 +msgid "PDO database PHP module" +msgstr "module PDO de la base de données PHP" -#: ../../Zotlabs/Module/Admin.php:518 -msgid "Not allowed email domains" -msgstr "Domaines de courriel non autorisés" +#: ../../Zotlabs/Module/Setup.php:509 +msgid "mb_string PHP module" +msgstr "module PHP mb_string" -#: ../../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 "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel ne seront pas autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines, sauf si des domaines autorisés ont été définis." +#: ../../Zotlabs/Module/Setup.php:510 +msgid "xml PHP module" +msgstr "module PHP xml" -#: ../../Zotlabs/Module/Admin.php:519 -msgid "Verify Email Addresses" -msgstr "Demander vérification des adresses de courriel" +#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:516 +msgid "Apache mod_rewrite module" +msgstr "module Apache mod_rewrite" -#: ../../Zotlabs/Module/Admin.php:519 +#: ../../Zotlabs/Module/Setup.php:514 msgid "" -"Check to verify email addresses used in account registration (recommended)." -msgstr "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé)." +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "Erreur : le module mod-rewrite du serveur web Apache est requis, mais pas installé." -#: ../../Zotlabs/Module/Admin.php:520 -msgid "Force publish" -msgstr "Publicité forcée" +#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 +msgid "exec" +msgstr "exécuter" -#: ../../Zotlabs/Module/Admin.php:520 +#: ../../Zotlabs/Module/Setup.php:520 msgid "" -"Check to force all profiles on this site to be listed in the site directory." -msgstr "Cocher pour forcer la publication de tous les profils du site dans l'annuaire." +"Error: exec is required but is either not installed or has been disabled in " +"php.ini" +msgstr "Erreur: exec est requis mais soit il n'est pas installé, soit il a été désactivé dans php.ini" -#: ../../Zotlabs/Module/Admin.php:521 -msgid "Import Public Streams" -msgstr "Flux publics importés" +#: ../../Zotlabs/Module/Setup.php:526 ../../Zotlabs/Module/Setup.php:529 +msgid "shell_exec" +msgstr "shell_exec" -#: ../../Zotlabs/Module/Admin.php:521 +#: ../../Zotlabs/Module/Setup.php:526 msgid "" -"Import and allow access to public content pulled from other sites. Warning: " -"this content is unmoderated." -msgstr "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention : ce contenu n'est pas modéré." +"Error: shell_exec is required but is either not installed or has been " +"disabled in php.ini" +msgstr "Erreur: shell_exec est requis mais soit il n'est pas installé, soit il a été désactivé dans php.ini" -#: ../../Zotlabs/Module/Admin.php:522 -msgid "Login on Homepage" -msgstr "" +#: ../../Zotlabs/Module/Setup.php:534 +msgid "Error: libCURL PHP module required but not installed." +msgstr "Erreur : le module libCURL de PHP est requis, mais pas installé." -#: ../../Zotlabs/Module/Admin.php:522 +#: ../../Zotlabs/Module/Setup.php:538 msgid "" -"Present a login box to visitors on the home page if no other content has " -"been configured." -msgstr "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré." +"Error: GD graphics PHP module with JPEG support required but not installed." +msgstr "Erreur : le module GD de PHP avec support JPEG est requis, mais pas installé." -#: ../../Zotlabs/Module/Admin.php:523 -msgid "Enable context help" -msgstr "" +#: ../../Zotlabs/Module/Setup.php:542 +msgid "Error: openssl PHP module required but not installed." +msgstr "Erreur : le module openssl de PHP est requis, mais pas installé." -#: ../../Zotlabs/Module/Admin.php:523 -msgid "" -"Display contextual help for the current page when the help button is " -"pressed." -msgstr "" +#: ../../Zotlabs/Module/Setup.php:546 +msgid "Error: PDO database PHP module required but not installed." +msgstr "Erreur: le module PDO de base de données PHP est requis mais n'est pas installé." -#: ../../Zotlabs/Module/Admin.php:525 -msgid "Directory Server URL" -msgstr "URL du serveur d'annuaire" +#: ../../Zotlabs/Module/Setup.php:550 +msgid "Error: mb_string PHP module required but not installed." +msgstr "Erreur : le module mb_string de PHP est requis, mais pas installé." -#: ../../Zotlabs/Module/Admin.php:525 -msgid "Default directory server" -msgstr "Serveur d'annuaire par défaut" +#: ../../Zotlabs/Module/Setup.php:554 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "Erreur : le module xml de PHP est requis pour le DAV, mais pas installé." -#: ../../Zotlabs/Module/Admin.php:527 -msgid "Proxy user" -msgstr "Utilisateur du proxy" +#: ../../Zotlabs/Module/Setup.php:572 +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'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable." -#: ../../Zotlabs/Module/Admin.php:528 -msgid "Proxy URL" -msgstr "URL du proxy" +#: ../../Zotlabs/Module/Setup.php:573 +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 "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit." -#: ../../Zotlabs/Module/Admin.php:529 -msgid "Network timeout" -msgstr "Délai maximal du réseau" +#: ../../Zotlabs/Module/Setup.php:574 +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 "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de $Projectname." -#: ../../Zotlabs/Module/Admin.php:529 -msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." -msgstr "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (non recommandé)." +#: ../../Zotlabs/Module/Setup.php:575 +msgid "" +"You can alternatively skip this procedure and perform a manual installation." +" Please see the file \"install/INSTALL.txt\" for instructions." +msgstr "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées." -#: ../../Zotlabs/Module/Admin.php:530 -msgid "Delivery interval" -msgstr "Intervalle de distribution" +#: ../../Zotlabs/Module/Setup.php:578 +msgid ".htconfig.php is writable" +msgstr "Le fichier .htconfig.php est accessible en écriture" -#: ../../Zotlabs/Module/Admin.php:530 +#: ../../Zotlabs/Module/Setup.php:592 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 "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées : 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés." +"This software uses the Smarty3 template engine to render its web views. " +"Smarty3 compiles templates to PHP to speed up rendering." +msgstr "Ce logiciel utilise Smarty3 comme moteur de modèles pour afficher ses vues Web. Smarty3 compile ses modèles en PHP pour accélérer le rendu." -#: ../../Zotlabs/Module/Admin.php:531 -msgid "Deliveries per process" -msgstr "Distributions par processus" - -#: ../../Zotlabs/Module/Admin.php:531 +#: ../../Zotlabs/Module/Setup.php:593 +#, 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 "Nombre de distributions à tenter au sein d'un seul processus système. Ajuster si nécessaire pour affiner la performance du système. Recommandé :1-5." +"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 "Afin de stocker ces modèles compilés, le serveur Web doit disposer d'un accès en écriture au répertoire %s selon le dossier Web racine." -#: ../../Zotlabs/Module/Admin.php:532 -msgid "Poll interval" -msgstr "Intervalle de scrutation" +#: ../../Zotlabs/Module/Setup.php:594 ../../Zotlabs/Module/Setup.php:615 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has" +" write access to this folder." +msgstr "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire." -#: ../../Zotlabs/Module/Admin.php:532 +#: ../../Zotlabs/Module/Setup.php:595 +#, php-format msgid "" -"Delay background polling processes by this many seconds to reduce system " -"load. If 0, use delivery interval." -msgstr "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution." +"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: Comme mesure de sécurité, assurez vous de donner les droits d'écriture au serveur web sur %s uniquement, pas sur les fichiers individuels (.tpl) qu'il contient." -#: ../../Zotlabs/Module/Admin.php:533 -msgid "Maximum Load Average" -msgstr "Charge maximale moyenne" +#: ../../Zotlabs/Module/Setup.php:598 +#, php-format +msgid "%s is writable" +msgstr "Permission d'écriture sur %s activée" -#: ../../Zotlabs/Module/Admin.php:533 +#: ../../Zotlabs/Module/Setup.php:614 msgid "" -"Maximum system load before delivery and poll processes are deferred - " -"default 50." -msgstr "Charge système maximale au-delà de laquelle distribution et scrutation sont reportées - par défaut 50." +"This software uses the store directory to save uploaded files. The web " +"server needs to have write access to the store directory under the top level" +" web folder" +msgstr "Ce logiciel utilise le répertoire de stockage pour enregistrer les fichiers téléversés. Le serveur Web doit disposer d'un accès en écriture au répertoire de stockage selon le dossier web racine." -#: ../../Zotlabs/Module/Admin.php:534 -msgid "Expiration period in days for imported (grid/network) content" -msgstr "Délai d'expiration pour le contenu importé (réseau)" +#: ../../Zotlabs/Module/Setup.php:618 +msgid "store is writable" +msgstr "'store' est accessible en écriture" -#: ../../Zotlabs/Module/Admin.php:534 -msgid "0 for no expiration of imported content" -msgstr "0 pour ne pas expirer le contenu importé" +#: ../../Zotlabs/Module/Setup.php:651 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access" +" to this site." +msgstr "Le certificat SSL/TLS n'a pas pu être validé. Merci de le corriger, ou de désactiver l'accès https à ce site (non recommandé)." -#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678 -#: ../../Zotlabs/Module/Settings.php:722 -msgid "Off" -msgstr "Inactif" +#: ../../Zotlabs/Module/Setup.php:652 +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 votre serveur accepte les connexions https ou s'il permet les connexions sur le port TCP 443 (le port utilisé par le protocole https), vous DEVEZ utiliser un certificat valide. Vous ne DEVEZ PAS utiliser un certificat que vous avez vous-mêmes signé !" -#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678 -#: ../../Zotlabs/Module/Settings.php:722 -msgid "On" -msgstr "Actif" +#: ../../Zotlabs/Module/Setup.php:653 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "Nous avons ajouté cette contrainte pour éviter que vos publications publiques ne fassent référence par exemple à des images sur votre propre hub." -#: ../../Zotlabs/Module/Admin.php:678 -#, php-format -msgid "Lock feature %s" -msgstr "Verrouiller fonctionnalité %s" +#: ../../Zotlabs/Module/Setup.php:654 +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 votre certificat n'est pas reconnu, les membres des autres sites (qui eux peuvent avoir des certificats valides) recevront des messages d'avertissement sur leur propre site se plaignant de problèmes de sécurité." -#: ../../Zotlabs/Module/Admin.php:686 -msgid "Manage Additional Features" -msgstr "Gérer les fonctionnalités additionnelles" +#: ../../Zotlabs/Module/Setup.php:655 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "Ceci peut causer des problèmes d'ergonomie ailleurs (pas seulement sur votre site), nous devons donc insister sur ce prérequis." -#: ../../Zotlabs/Module/Admin.php:703 -msgid "No server found" -msgstr "Serveur introuvable" +#: ../../Zotlabs/Module/Setup.php:656 +msgid "" +"Providers are available that issue free certificates which are browser-" +"valid." +msgstr "Il existe des autorités de certification qui vous fourniront gratuitement un certificat valide." -#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046 -msgid "ID" -msgstr "Identifiant" +#: ../../Zotlabs/Module/Setup.php:658 +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 "Si vous êtes certain que le certificat est valide et signé par une autorité de confiance, vérifiez si l'installation d'un certificat intermédiaire aurait échoué. Ceux-ci ne sont normalement pas requis par les navigateurs, mais ils sont requis pour les communications entre serveurs." -#: ../../Zotlabs/Module/Admin.php:710 -msgid "for channel" -msgstr "pour le canal" +#: ../../Zotlabs/Module/Setup.php:660 +msgid "SSL certificate validation" +msgstr "Validation du certificat SSL/TLS" -#: ../../Zotlabs/Module/Admin.php:710 -msgid "on server" -msgstr "sur le serveur" +#: ../../Zotlabs/Module/Setup.php:666 +msgid "" +"Url rewrite in .htaccess is not working. Check your server " +"configuration.Test: " +msgstr "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Vérifiez votre configuration serveur. Test :" -#: ../../Zotlabs/Module/Admin.php:712 -msgid "Server" -msgstr "Serveur" +#: ../../Zotlabs/Module/Setup.php:669 +msgid "Url rewrite is working" +msgstr "La réécriture d'URL fonctionne" -#: ../../Zotlabs/Module/Admin.php:746 +#: ../../Zotlabs/Module/Setup.php:683 msgid "" -"By default, unfiltered HTML is allowed in embedded media. This is inherently" -" insecure." -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." +msgstr "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web." -#: ../../Zotlabs/Module/Admin.php:749 -msgid "" -"The recommended setting is to only allow unfiltered HTML from the following " -"sites:" -msgstr "" +#: ../../Zotlabs/Module/Setup.php:707 +#: ../../extend/addon/addon/cdav/cdav.php:41 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:401 +msgid "Errors encountered creating database tables." +msgstr "Erreurs rencontrées pendant la création de tables de BDD." -#: ../../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 "" +#: ../../Zotlabs/Module/Setup.php:748 +msgid "<h1>What next</h1>" +msgstr "<h1>Et maintenant</h1>" -#: ../../Zotlabs/Module/Admin.php:751 +#: ../../Zotlabs/Module/Setup.php:749 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:1385 -msgid "Security" -msgstr "Sécurité" +"IMPORTANT: You will need to [manually] setup a scheduled task for the " +"poller." +msgstr "IMPORTANT : Vous devez créer [manuellement] une tâche planifiée pour les mises à jour du réseau." -#: ../../Zotlabs/Module/Admin.php:758 -msgid "Block public" -msgstr "Bloquer \"public\"" +#: ../../Zotlabs/Module/Notifications.php:43 ../../include/nav.php:208 +msgid "Mark all system notifications seen" +msgstr "Marquer toutes les notifications système comme vues" -#: ../../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 "Sélectionner pour ne permettre l'accès aux pages personnelles \"publiques\" du site qu'aux personnes authentifiées, pas aux personnes anonymes du web." +#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:235 +#: ../../include/conversation.php:942 ../../include/conversation.php:1109 +msgid "Poke" +msgstr "Tapoter" -#: ../../Zotlabs/Module/Admin.php:759 -msgid "Set \"Transport Security\" HTTP header" -msgstr "" +#: ../../Zotlabs/Module/Poke.php:169 +msgid "Poke somebody" +msgstr "Taquiner quelqu'un" -#: ../../Zotlabs/Module/Admin.php:760 -msgid "Set \"Content Security Policy\" HTTP header" -msgstr "" +#: ../../Zotlabs/Module/Poke.php:172 +msgid "Poke/Prod" +msgstr "Tapoter/Encourager" -#: ../../Zotlabs/Module/Admin.php:761 -msgid "Allow communications only from these sites" -msgstr "N'autorisez que les communications venant de ces sites" +#: ../../Zotlabs/Module/Poke.php:173 +msgid "Poke, prod or do other things to somebody" +msgstr "Taquiner, pousser ou faire autre chose à quelqu'un" -#: ../../Zotlabs/Module/Admin.php:761 -msgid "" -"One site per line. Leave empty to allow communication from anywhere by " -"default" -msgstr "Un site par ligne. Laisser vide pour autoriser les communications de tous les sites, par défaut." +#: ../../Zotlabs/Module/Poke.php:180 +msgid "Recipient" +msgstr "Destinataire" -#: ../../Zotlabs/Module/Admin.php:762 -msgid "Block communications from these sites" -msgstr "Bloquer les communications de ces sites" +#: ../../Zotlabs/Module/Poke.php:181 +msgid "Choose what you wish to do to recipient" +msgstr "Choisir ce que vous voulez faire au destinataire" -#: ../../Zotlabs/Module/Admin.php:763 -msgid "Allow communications only from these channels" -msgstr "N'autoriser que les communications de ces canaux" +#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185 +msgid "Make this post private" +msgstr "Rendre cette publication privée" -#: ../../Zotlabs/Module/Admin.php:763 -msgid "" -"One channel (hash) per line. Leave empty to allow from any channel by " -"default" -msgstr "Un canal (adresse) par ligne. Laisser vide pour autoriser les communications de tous les canaux, par défaut" +#: ../../Zotlabs/Module/Oexchange.php:27 +msgid "Unable to find your hub." +msgstr "Impossible de trouver votre hub." -#: ../../Zotlabs/Module/Admin.php:764 -msgid "Block communications from these channels" -msgstr "Bloquer les communications de ces canaux" +#: ../../Zotlabs/Module/Oexchange.php:41 +msgid "Post successful." +msgstr "Publication réussie." -#: ../../Zotlabs/Module/Admin.php:765 -msgid "Only allow embeds from secure (SSL) websites and links." -msgstr "" +#: ../../Zotlabs/Module/Item.php:184 +msgid "Unable to locate original post." +msgstr "Impossible de localiser la publication initiale." -#: ../../Zotlabs/Module/Admin.php:766 -msgid "Allow unfiltered embedded HTML content only from these domains" -msgstr "" +#: ../../Zotlabs/Module/Item.php:450 +msgid "Empty post discarded." +msgstr "Publication vide annulée." -#: ../../Zotlabs/Module/Admin.php:766 -msgid "One site per line. By default embedded content is filtered." -msgstr "" +#: ../../Zotlabs/Module/Item.php:492 +msgid "Executable content type not permitted to this channel." +msgstr "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal." -#: ../../Zotlabs/Module/Admin.php:767 -msgid "Block embedded HTML from these domains" -msgstr "Bloquer le HTML embarqué à partir de ces domaines" +#: ../../Zotlabs/Module/Item.php:842 +msgid "Duplicate post suppressed." +msgstr "Publication en doublon supprimée." -#: ../../Zotlabs/Module/Admin.php:785 -msgid "Update has been marked successful" -msgstr "La mise à jour a été marquée comme réussie" +#: ../../Zotlabs/Module/Item.php:984 +msgid "System error. Post not saved." +msgstr "Erreur système. Publication non sauvegardée." -#: ../../Zotlabs/Module/Admin.php:795 -#, php-format -msgid "Executing %s failed. Check system logs." -msgstr "L'éxecution de %s a échoué. Merci de vérifier les journaux du système." +#: ../../Zotlabs/Module/Item.php:1114 +msgid "Unable to obtain post information from database." +msgstr "Impossible d'obtenir les informations de publication depuis la base de données." -#: ../../Zotlabs/Module/Admin.php:798 +#: ../../Zotlabs/Module/Item.php:1121 #, php-format -msgid "Update %s was successfully applied." -msgstr "La mise à jour %s a été appliquée avec succès." +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "Vous avez atteint votre limite de %1$.0f contributions \"racines\"." -#: ../../Zotlabs/Module/Admin.php:802 +#: ../../Zotlabs/Module/Item.php:1128 #, php-format -msgid "Update %s did not return a status. Unknown if it succeeded." -msgstr "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non." +msgid "You have reached your limit of %1$.0f webpages." +msgstr "Vous avez atteint votre limite de %1$.0f pages web." -#: ../../Zotlabs/Module/Admin.php:805 -#, php-format -msgid "Update function %s could not be found." -msgstr "La fonction de mise à jour %s est introuvable." +#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59 +msgid "This setting requires special processing and editing has been blocked." +msgstr "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées." -#: ../../Zotlabs/Module/Admin.php:821 -msgid "No failed updates." -msgstr "Aucune mise à jour défaillante." +#: ../../Zotlabs/Module/Pconfig.php:48 +msgid "Configuration Editor" +msgstr "Editeur de configuration" -#: ../../Zotlabs/Module/Admin.php:825 -msgid "Failed Updates" -msgstr "Mises à jour défaillantes" +#: ../../Zotlabs/Module/Pconfig.php:49 +msgid "" +"Warning: Changing some settings could render your channel inoperable. Please" +" leave this page unless you are comfortable with and knowledgeable about how" +" to correctly use this feature." +msgstr "Attention :modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité." -#: ../../Zotlabs/Module/Admin.php:827 -msgid "Mark success (if update was manually applied)" -msgstr "Marquer comme réussie (si la mise à jour a été réalisée manuellement)" +#: ../../Zotlabs/Module/Profile.php:78 +msgid "vcard" +msgstr "vcard" -#: ../../Zotlabs/Module/Admin.php:828 -msgid "Attempt to execute this update step automatically" -msgstr "Tenter de réaliser cette étape de mise à jour automatiquement" +#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2283 +msgid "Blocks" +msgstr "Blocs" -#: ../../Zotlabs/Module/Admin.php:859 -msgid "Queue Statistics" -msgstr "Statistiques de file d'attente" +#: ../../Zotlabs/Module/Blocks.php:156 +msgid "Block Title" +msgstr "Titre du bloc" -#: ../../Zotlabs/Module/Admin.php:860 -msgid "Total Entries" -msgstr "Nombre d'entrées total" +#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2285 +msgid "Layouts" +msgstr "Mises-en-page" -#: ../../Zotlabs/Module/Admin.php:861 -msgid "Priority" -msgstr "Priorité" +#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:232 +#: ../../include/nav.php:174 ../../include/help.php:53 +#: ../../include/help.php:59 +msgid "Help" +msgstr "Aide" -#: ../../Zotlabs/Module/Admin.php:862 -msgid "Destination URL" -msgstr "URL de destination" +#: ../../Zotlabs/Module/Layouts.php:185 +msgid "Comanche page description language help" +msgstr "Aide sur le langage de description de page Comanche" -#: ../../Zotlabs/Module/Admin.php:863 -msgid "Mark hub permanently offline" -msgstr "Marquer le hub comme étant hors ligne de manière permanente" +#: ../../Zotlabs/Module/Layouts.php:189 +msgid "Layout Description" +msgstr "Description de la mise en page" -#: ../../Zotlabs/Module/Admin.php:864 -msgid "Empty queue for this hub" -msgstr "Vider la file d'attente pour ce hub" +#: ../../Zotlabs/Module/Layouts.php:194 +msgid "Download PDL file" +msgstr "Télécharger le fichier PDL" -#: ../../Zotlabs/Module/Admin.php:865 -msgid "Last known contact" -msgstr "Dernier contact connu" +#: ../../Zotlabs/Module/Rate.php:156 +msgid "Website:" +msgstr "Site web :" -#: ../../Zotlabs/Module/Admin.php:901 +#: ../../Zotlabs/Module/Rate.php:159 #, php-format -msgid "%s account blocked/unblocked" -msgid_plural "%s account blocked/unblocked" -msgstr[0] "%s compte bloqué/débloqué" -msgstr[1] "%s comptes bloqués/débloqués" +msgid "Remote Channel [%s] (not yet known on this site)" +msgstr "Canal distant [%s] (encore inconnu sur ce site)" -#: ../../Zotlabs/Module/Admin.php:908 -#, php-format -msgid "%s account deleted" -msgid_plural "%s accounts deleted" -msgstr[0] "%s compte supprimé" -msgstr[1] "%s comptes supprimés" +#: ../../Zotlabs/Module/Rate.php:160 +msgid "Rating (this information is public)" +msgstr "Evaluation (cette information est publique)" -#: ../../Zotlabs/Module/Admin.php:944 -msgid "Account not found" -msgstr "Compte introuvable" +#: ../../Zotlabs/Module/Rate.php:161 +msgid "Optionally explain your rating (this information is public)" +msgstr "Explication facultative de votre évaluation (cette information est publique)" -#: ../../Zotlabs/Module/Admin.php:955 -#, php-format -msgid "Account '%s' deleted" -msgstr "Compte '%s' supprimé" +#: ../../Zotlabs/Module/Profile_photo.php:190 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:295 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement." -#: ../../Zotlabs/Module/Admin.php:963 -#, php-format -msgid "Account '%s' blocked" -msgstr "Compte '%s' bloqué" +#: ../../Zotlabs/Module/Profile_photo.php:411 +msgid "Use Photo for Profile" +msgstr "Utiliser la photo pour le profil" -#: ../../Zotlabs/Module/Admin.php:971 -#, php-format -msgid "Account '%s' unblocked" -msgstr "Compte '%s' débloqué" +#: ../../Zotlabs/Module/Profile_photo.php:411 +msgid "Upload Profile Photo" +msgstr "Téléverser une photo de profil" -#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044 -#: ../../include/widgets.php:1383 -msgid "Accounts" -msgstr "Comptes" +#: ../../Zotlabs/Module/Profile_photo.php:412 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:182 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:194 +msgid "Use" +msgstr "Utiliser" -#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212 -msgid "select all" -msgstr "tout sélectionner" +#: ../../Zotlabs/Module/Events.php:25 +msgid "Calendar entries imported." +msgstr "Entrées du calendrier importées." -#: ../../Zotlabs/Module/Admin.php:1034 -msgid "Registrations waiting for confirm" -msgstr "" +#: ../../Zotlabs/Module/Events.php:27 +msgid "No calendar entries found." +msgstr "Aucune entrée du calendrier trouvée." -#: ../../Zotlabs/Module/Admin.php:1035 -msgid "Request date" -msgstr "Date de la demande" +#: ../../Zotlabs/Module/Events.php:110 +msgid "Event can not end before it has started." +msgstr "La fin de l'événement ne peut être antérieure à son début." -#: ../../Zotlabs/Module/Admin.php:1036 -msgid "No registrations." -msgstr "Pas d'inscriptions." +#: ../../Zotlabs/Module/Events.php:112 ../../Zotlabs/Module/Events.php:121 +#: ../../Zotlabs/Module/Events.php:143 +msgid "Unable to generate preview." +msgstr "Impossible de générer l'aperçu." -#: ../../Zotlabs/Module/Admin.php:1038 -msgid "Deny" -msgstr "Refuser" +#: ../../Zotlabs/Module/Events.php:119 +msgid "Event title and start time are required." +msgstr "Un titre et une date de début sont requises pour l'événement." -#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267 -msgid "All Channels" -msgstr "Tous les canaux" +#: ../../Zotlabs/Module/Events.php:141 ../../Zotlabs/Module/Events.php:265 +msgid "Event not found." +msgstr "Événement introuvable." -#: ../../Zotlabs/Module/Admin.php:1049 -msgid "Register date" -msgstr "Date d'inscription" +#: ../../Zotlabs/Module/Events.php:460 +msgid "Edit event title" +msgstr "Modifier le titre de l'événement" -#: ../../Zotlabs/Module/Admin.php:1050 -msgid "Last login" -msgstr "Dernière connexion" +#: ../../Zotlabs/Module/Events.php:460 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:835 +msgid "Event title" +msgstr "Titre de l'événement" -#: ../../Zotlabs/Module/Admin.php:1051 -msgid "Expires" -msgstr "Expire le" +#: ../../Zotlabs/Module/Events.php:462 +msgid "Categories (comma-separated list)" +msgstr "Catégories (séparées par des virgules)" -#: ../../Zotlabs/Module/Admin.php:1052 -msgid "Service Class" -msgstr "Classe de service" +#: ../../Zotlabs/Module/Events.php:463 +msgid "Edit Category" +msgstr "Modifier la catégorie" -#: ../../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 "Les comptes sélectionnés seront supprimés !\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?" +#: ../../Zotlabs/Module/Events.php:463 +msgid "Category" +msgstr "Catégorie" -#: ../../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?" -msgstr "Le compte {0} sera supprimé !\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?" +#: ../../Zotlabs/Module/Events.php:466 +msgid "Edit start date and time" +msgstr "Modifier la date et l'heure de début" -#: ../../Zotlabs/Module/Admin.php:1091 -#, php-format -msgid "%s channel censored/uncensored" -msgid_plural "%s channels censored/uncensored" -msgstr[0] "%s canal censuré/dé-censuré" -msgstr[1] "%s canaux censurés/dé-censurés" +#: ../../Zotlabs/Module/Events.php:466 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:836 +msgid "Start date and time" +msgstr "Date et heure de début" -#: ../../Zotlabs/Module/Admin.php:1100 -#, php-format -msgid "%s channel code allowed/disallowed" -msgid_plural "%s channels code allowed/disallowed" -msgstr[0] "code autorisé/interdit pour %s canal" -msgstr[1] "code autorisé/interdit pour %s canaux" +#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:470 +msgid "Finish date and time are not known or not relevant" +msgstr "Date et heure de fin inconnues ou sans objet" -#: ../../Zotlabs/Module/Admin.php:1106 -#, php-format -msgid "%s channel deleted" -msgid_plural "%s channels deleted" -msgstr[0] "%s canal supprimé" -msgstr[1] "%s canaux supprimés" +#: ../../Zotlabs/Module/Events.php:469 +msgid "Edit finish date and time" +msgstr "Modifier la date et l'heure de fin" -#: ../../Zotlabs/Module/Admin.php:1126 -msgid "Channel not found" -msgstr "Canal introuvable" +#: ../../Zotlabs/Module/Events.php:469 +msgid "Finish date and time" +msgstr "Date et heure de fin" -#: ../../Zotlabs/Module/Admin.php:1136 -#, php-format -msgid "Channel '%s' deleted" -msgstr "Canal '%s' supprimé" +#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Events.php:472 +msgid "Adjust for viewer timezone" +msgstr "Ajuster au fuseau horaire du visiteur" -#: ../../Zotlabs/Module/Admin.php:1148 -#, php-format -msgid "Channel '%s' censored" -msgstr "Canal '%s' censuré" +#: ../../Zotlabs/Module/Events.php:471 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde." -#: ../../Zotlabs/Module/Admin.php:1148 -#, php-format -msgid "Channel '%s' uncensored" -msgstr "Canal '%s' non censuré" +#: ../../Zotlabs/Module/Events.php:473 +msgid "Edit Description" +msgstr "Modifier la description" -#: ../../Zotlabs/Module/Admin.php:1159 -#, php-format -msgid "Channel '%s' code allowed" -msgstr "Code autorisé pour le canal '%s'" +#: ../../Zotlabs/Module/Events.php:475 +msgid "Edit Location" +msgstr "Modifier l'emplacement" -#: ../../Zotlabs/Module/Admin.php:1159 -#, php-format -msgid "Channel '%s' code disallowed" -msgstr "Code interdit pour le canal '%s'" +#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1410 +msgid "Permission settings" +msgstr "Gérer les autorisations" -#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384 -msgid "Channels" -msgstr "Canaux" +#: ../../Zotlabs/Module/Events.php:489 +msgid "Timezone:" +msgstr "Fuseau horaire :" -#: ../../Zotlabs/Module/Admin.php:1214 -msgid "Censor" -msgstr "Censurer" +#: ../../Zotlabs/Module/Events.php:494 +msgid "Advanced Options" +msgstr "Options avancées" -#: ../../Zotlabs/Module/Admin.php:1215 -msgid "Uncensor" -msgstr "Ne plus censurer" +#: ../../Zotlabs/Module/Events.php:633 +msgid "Edit event" +msgstr "Modifier l'événement" -#: ../../Zotlabs/Module/Admin.php:1216 -msgid "Allow Code" -msgstr "Autoriser le code" +#: ../../Zotlabs/Module/Events.php:635 +msgid "Delete event" +msgstr "Supprimer l'événement" -#: ../../Zotlabs/Module/Admin.php:1217 -msgid "Disallow Code" -msgstr "Interdire le code" +#: ../../Zotlabs/Module/Events.php:669 +msgid "calendar" +msgstr "calendrier" -#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611 -msgid "Channel" -msgstr "Canal" +#: ../../Zotlabs/Module/Events.php:695 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:849 +msgid "Month" +msgstr "Mois" -#: ../../Zotlabs/Module/Admin.php:1222 -msgid "UID" -msgstr "UID" +#: ../../Zotlabs/Module/Events.php:696 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:850 +msgid "Week" +msgstr "Semaine" -#: ../../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 "Les canaux sélectionnés seront supprimés !\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé !\\n\\nÊtes-vous sûr ?" +#: ../../Zotlabs/Module/Events.php:697 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:851 +msgid "Day" +msgstr "Jour" -#: ../../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 "Le canal {0} sera supprimé !\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé !\\n\\nÊtes-vous sûr(e) ?" +#: ../../Zotlabs/Module/Events.php:731 +msgid "Event removed" +msgstr "Événement supprimé" -#: ../../Zotlabs/Module/Admin.php:1284 -#, php-format -msgid "Plugin %s disabled." -msgstr "Greffon %s désactivé." +#: ../../Zotlabs/Module/Events.php:734 +msgid "Failed to remove event" +msgstr "Impossible de supprimer l'événement" -#: ../../Zotlabs/Module/Admin.php:1288 -#, php-format -msgid "Plugin %s enabled." -msgstr "Greffon %s activé." +#: ../../Zotlabs/Module/Common.php:14 +msgid "No channel." +msgstr "Pas de canal." -#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585 -msgid "Disable" -msgstr "Désactiver" +#: ../../Zotlabs/Module/Common.php:43 +msgid "Common connections" +msgstr "Contacts en commun" -#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587 -msgid "Enable" -msgstr "Activer" +#: ../../Zotlabs/Module/Common.php:48 +msgid "No connections in common." +msgstr "Pas de contacts en commun." -#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420 -#: ../../include/widgets.php:1387 -msgid "Plugins" -msgstr "Greffons" +#: ../../Zotlabs/Module/Chanview.php:134 +msgid "toggle full screen mode" +msgstr "Basculer en mode plein écran." -#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614 -msgid "Toggle" -msgstr "(Dés)activer" +#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 +msgid "Invalid profile identifier." +msgstr "Identifiant de profil invalide." -#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615 -#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638 -#: ../../include/nav.php:208 -msgid "Settings" -msgstr "Paramètres" +#: ../../Zotlabs/Module/Profperm.php:111 +msgid "Profile Visibility Editor" +msgstr "Éditeur de visibilité de profil" -#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624 -msgid "Author: " -msgstr "Auteur :" +#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1367 +msgid "Profile" +msgstr "Profil" -#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625 -msgid "Maintainer: " -msgstr "Maintenu par :" +#: ../../Zotlabs/Module/Profperm.php:115 +msgid "Click on a contact to add or remove." +msgstr "Cliquer sur un contact pour l'ajouter ou le retirer." -#: ../../Zotlabs/Module/Admin.php:1341 -msgid "Minimum project version: " -msgstr "Version minimum du projet :" +#: ../../Zotlabs/Module/Profperm.php:124 +msgid "Visible To" +msgstr "Visible par" -#: ../../Zotlabs/Module/Admin.php:1342 -msgid "Maximum project version: " -msgstr "Version maximum du projet :" +#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25 +#: ../../extend/addon/addon/chess/chess.php:400 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:26 +msgid "You must be logged in to see this page." +msgstr "Vous devez vous connecter pour voir cette page." -#: ../../Zotlabs/Module/Admin.php:1343 -msgid "Minimum PHP version: " -msgstr "Version minimum de PHP :" +#: ../../Zotlabs/Module/Channel.php:44 +msgid "Posts and comments" +msgstr "Publications et commentaires" -#: ../../Zotlabs/Module/Admin.php:1344 -msgid "Requires: " -msgstr "Requiert :" +#: ../../Zotlabs/Module/Channel.php:45 +msgid "Only posts" +msgstr "Seulement les publications" -#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425 -msgid "Disabled - version incompatibility" -msgstr "Désactivé - version incompatible" +#: ../../Zotlabs/Module/Channel.php:104 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "Permissions insuffisantes. Demande redirigée vers la page du profil." -#: ../../Zotlabs/Module/Admin.php:1394 -msgid "Enter the public git repository URL of the plugin repo." -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:19 +msgid "No valid account found." +msgstr "Aucun compte valide trouvé." -#: ../../Zotlabs/Module/Admin.php:1395 -msgid "Plugin repo git URL" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:33 +msgid "Password reset request issued. Check your email." +msgstr "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels." -#: ../../Zotlabs/Module/Admin.php:1396 -msgid "Custom repo name" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108 +#, php-format +msgid "Site Member (%s)" +msgstr "Membre du site (%s)" -#: ../../Zotlabs/Module/Admin.php:1396 -msgid "(optional)" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49 +#, php-format +msgid "Password reset requested at %s" +msgstr "Demande de réinitialisation du mot de passe sur %s" -#: ../../Zotlabs/Module/Admin.php:1397 -msgid "Download Plugin Repo" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:68 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué." -#: ../../Zotlabs/Module/Admin.php:1404 -msgid "Install new repo" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1740 +msgid "Password Reset" +msgstr "Réinitialiser le mot de passe" -#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330 -msgid "Install" -msgstr "Installer" +#: ../../Zotlabs/Module/Lostpass.php:92 +msgid "Your password has been reset as requested." +msgstr "Votre mot de passe a bien été réinitialisé." -#: ../../Zotlabs/Module/Admin.php:1427 -msgid "Manage Repos" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:93 +msgid "Your new password is" +msgstr "Votre nouveau mot de passe est" -#: ../../Zotlabs/Module/Admin.php:1428 -msgid "Installed Plugin Repositories" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:94 +msgid "Save or copy your new password - and then" +msgstr "Enregistrez ou copiez votre nouveau mot de passe, puis" -#: ../../Zotlabs/Module/Admin.php:1429 -msgid "Install a New Plugin Repository" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:95 +msgid "click here to login" +msgstr "cliquez ici pour vous connecter" -#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77 -#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330 -msgid "Update" -msgstr "Mise à jour" +#: ../../Zotlabs/Module/Lostpass.php:96 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté." -#: ../../Zotlabs/Module/Admin.php:1436 -msgid "Switch branch" -msgstr "" +#: ../../Zotlabs/Module/Lostpass.php:117 +#, php-format +msgid "Your password has changed at %s" +msgstr "Votre mot de passe de %s a été changé" -#: ../../Zotlabs/Module/Admin.php:1550 -msgid "No themes found." -msgstr "Aucun thème trouvé." +#: ../../Zotlabs/Module/Lostpass.php:130 +msgid "Forgot your Password?" +msgstr "Mot de passe oublié ?" -#: ../../Zotlabs/Module/Admin.php:1606 -msgid "Screenshot" -msgstr "Capture d'écran" +#: ../../Zotlabs/Module/Lostpass.php:131 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions." -#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647 -#: ../../include/widgets.php:1388 -msgid "Themes" -msgstr "Thèmes" +#: ../../Zotlabs/Module/Lostpass.php:132 +msgid "Email Address" +msgstr "Adresse de courriel" -#: ../../Zotlabs/Module/Admin.php:1652 -msgid "[Experimental]" -msgstr "[Expérimental]" +#: ../../Zotlabs/Module/Lostpass.php:133 +msgid "Reset" +msgstr "Réinitialiser" -#: ../../Zotlabs/Module/Admin.php:1653 -msgid "[Unsupported]" -msgstr "[Non maintenu]" +#: ../../Zotlabs/Module/Rbmark.php:94 +msgid "Select a bookmark folder" +msgstr "Choisir un dossier de favoris" -#: ../../Zotlabs/Module/Admin.php:1677 -msgid "Log settings updated." -msgstr "Paramètres du journal mis à jour." +#: ../../Zotlabs/Module/Rbmark.php:99 +msgid "Save Bookmark" +msgstr "Enregistrer le favori" -#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409 -#: ../../include/widgets.php:1419 -msgid "Logs" -msgstr "Journaux" +#: ../../Zotlabs/Module/Rbmark.php:100 +msgid "URL of bookmark" +msgstr "URL du favori" -#: ../../Zotlabs/Module/Admin.php:1734 -msgid "Clear" -msgstr "Vider" +#: ../../Zotlabs/Module/Rbmark.php:105 +msgid "Or enter new bookmark folder name" +msgstr "Ou entrez un nouveau nom de dossier de favoris" -#: ../../Zotlabs/Module/Admin.php:1740 -msgid "Debugging" -msgstr "Débogage" +#: ../../Zotlabs/Module/Follow.php:31 +msgid "Channel added." +msgstr "Canal ajouté." -#: ../../Zotlabs/Module/Admin.php:1741 -msgid "Log file" -msgstr "Fichier du journal" +#: ../../Zotlabs/Module/Rmagic.php:35 +msgid "Authentication failed." +msgstr "Échec de l'authentification." -#: ../../Zotlabs/Module/Admin.php:1741 -msgid "" -"Must be writable by web server. Relative to your top-level webserver " -"directory." -msgstr "" +#: ../../Zotlabs/Module/Rmagic.php:75 ../../include/channel.php:1991 +msgid "Remote Authentication" +msgstr "Authentification distante" -#: ../../Zotlabs/Module/Admin.php:1742 -msgid "Log level" -msgstr "Niveau de journalisation" +#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:1992 +msgid "Enter your channel address (e.g. channel@example.com)" +msgstr "Entrez l'adresse de votre canal (par ex. moncanal@monsite.com)" -#: ../../Zotlabs/Module/Admin.php:2028 -msgid "New Profile Field" -msgstr "Nouveau champ de profil" +#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:1993 +msgid "Authenticate" +msgstr "Authentifier" -#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049 -msgid "Field nickname" -msgstr "Nom court du champ" +#: ../../Zotlabs/Module/Regmod.php:15 +msgid "Please login." +msgstr "Merci de vous connecter." -#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049 -msgid "System name of field" -msgstr "Nom système du champ" +#: ../../Zotlabs/Module/Removeaccount.php:35 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." +msgstr "Il est impossible de supprimer un compte dans les 48 heures après avoir changé le mot de passe du compte." -#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050 -msgid "Input type" -msgstr "Type de champ" +#: ../../Zotlabs/Module/Removeaccount.php:57 +msgid "Remove This Account" +msgstr "Supprimer ce compte" -#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051 -msgid "Field Name" -msgstr "Nom du champ" +#: ../../Zotlabs/Module/Removeaccount.php:58 +#: ../../Zotlabs/Module/Removeme.php:61 +msgid "WARNING: " +msgstr "AVERTISSEMENT :" -#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051 -msgid "Label on profile pages" -msgstr "Étiquette sur les pages de profil" +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "Ce compte et tous ses canaux seront entièrement supprimés du réseau." -#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052 -msgid "Help text" -msgstr "Aide à la saisie" +#: ../../Zotlabs/Module/Removeaccount.php:58 +#: ../../Zotlabs/Module/Removeme.php:61 +msgid "This action is permanent and can not be undone!" +msgstr "Cette action est permanente et irréversible !" -#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052 -msgid "Additional info (optional)" -msgstr "Informations additionnelles (facultatif)" +#: ../../Zotlabs/Module/Removeaccount.php:59 +#: ../../Zotlabs/Module/Removeme.php:62 +msgid "Please enter your password for verification:" +msgstr "Merci de saisir votre mot de passe pour vérification :" -#: ../../Zotlabs/Module/Admin.php:2042 -msgid "Field definition not found" -msgstr "Définition du champ introuvable" +#: ../../Zotlabs/Module/Removeaccount.php:60 +msgid "" +"Remove this account, all its channels and all its channel clones from the " +"network" +msgstr "Supprimer du réseau ce compte, tous ses canaux et tous les clones de ses canaux." -#: ../../Zotlabs/Module/Admin.php:2048 -msgid "Edit Profile Field" -msgstr "Modifier le champ de profil" +#: ../../Zotlabs/Module/Removeaccount.php:60 +msgid "" +"By default only the instances of the channels located on this hub will be " +"removed from the network" +msgstr "Par défaut, seules les instances des canaux situés sur ce hub seront supprimées du réseau" -#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390 -msgid "Profile Fields" -msgstr "Champs de profil" +#: ../../Zotlabs/Module/Removeaccount.php:61 +#: ../../Zotlabs/Module/Settings/Account.php:120 +msgid "Remove Account" +msgstr "Supprimer le compte" -#: ../../Zotlabs/Module/Admin.php:2107 -msgid "Basic Profile Fields" -msgstr "Champs de profil de base" +#: ../../Zotlabs/Module/Pdledit.php:21 +msgid "Layout updated." +msgstr "Mise en page mise à jour." -#: ../../Zotlabs/Module/Admin.php:2108 -msgid "Advanced Profile Fields" -msgstr "Champs de profil avancés" +#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218 +msgid "Feature disabled." +msgstr "Fonctionnalité désactivée" -#: ../../Zotlabs/Module/Admin.php:2108 -msgid "(In addition to basic fields)" -msgstr "(en plus des champs de base)" +#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69 +msgid "Edit System Page Description" +msgstr "Modifier la description de la page du système" -#: ../../Zotlabs/Module/Admin.php:2110 -msgid "All available fields" -msgstr "Tous les champs disponibles" +#: ../../Zotlabs/Module/Pdledit.php:64 +msgid "Layout not found." +msgstr "Mise en page introuvable." -#: ../../Zotlabs/Module/Admin.php:2111 -msgid "Custom Fields" -msgstr "Champs personnalisés" +#: ../../Zotlabs/Module/Pdledit.php:70 +msgid "Module Name:" +msgstr "Nom du module :" -#: ../../Zotlabs/Module/Admin.php:2115 -msgid "Create Custom Field" -msgstr "Créer un champ personnalisé" +#: ../../Zotlabs/Module/Pdledit.php:71 +msgid "Layout Help" +msgstr "Aide à la mise en page" -#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53 -msgid "App installed." -msgstr "Application installée." +#: ../../Zotlabs/Module/Uexport.php:57 ../../Zotlabs/Module/Uexport.php:58 +msgid "Export Channel" +msgstr "Exporter le canal" -#: ../../Zotlabs/Module/Appman.php:46 -msgid "Malformed app." -msgstr "Erreur de l'application - Malformée." +#: ../../Zotlabs/Module/Uexport.php:59 +msgid "" +"Export your basic channel information to a file. This acts as a backup of " +"your connections, permissions, profile and basic data, which can be used to " +"import your data to a new server hub, but does not contain your content." +msgstr "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus." -#: ../../Zotlabs/Module/Appman.php:104 -msgid "Embed code" -msgstr "Imbriquer le code" +#: ../../Zotlabs/Module/Uexport.php:60 +msgid "Export Content" +msgstr "Exporter le contenu" -#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107 -msgid "Edit App" -msgstr "Modifier l'application" +#: ../../Zotlabs/Module/Uexport.php:61 +msgid "" +"Export your channel information and recent content to a JSON backup that can" +" be restored or imported to another server hub. This backs up all of your " +"connections, permissions, profile data and several months of posts. This " +"file may be VERY large. Please be patient - it may take several minutes for" +" this download to begin." +msgstr "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence." -#: ../../Zotlabs/Module/Appman.php:110 -msgid "Create App" -msgstr "Créer une application" +#: ../../Zotlabs/Module/Uexport.php:63 +msgid "Export your posts from a given year." +msgstr "Exporter vos publications d'une année en particulier" -#: ../../Zotlabs/Module/Appman.php:115 -msgid "Name of app" -msgstr "Nom de l'application" +#: ../../Zotlabs/Module/Uexport.php:65 +msgid "" +"You may also export your posts and conversations for a particular year or " +"month. Adjust the date in your browser location bar to select other dates. " +"If the export fails (possibly due to memory exhaustion on your server hub), " +"please try again selecting a more limited date range." +msgstr "Vous pouvez également exporter vos publications et conversations pour une année ou un mois particulier. Ajustez la date dans la barre de votre navigateur pour sélectionner d'autres dates. Si l'export échoue (possible en cas de pénurie de mémoire sur le serveur de votre hub), essayez à nouveau en sélectionnant un intervalle de dates plus petit." -#: ../../Zotlabs/Module/Appman.php:116 -msgid "Location (URL) of app" -msgstr "Emplacement (URL) de l'application" +#: ../../Zotlabs/Module/Uexport.php:66 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a " +"href=\"%1$s\">%2$s</a>" +msgstr "Pour sélectionner toutes les publications pour une année donnée, telle que cette année, visitez <a href=\"%1$s\">%2$s</a>" -#: ../../Zotlabs/Module/Appman.php:118 -msgid "Photo icon URL" -msgstr "URL de l'icône à utiliser pour cette photo" +#: ../../Zotlabs/Module/Uexport.php:67 +#, php-format +msgid "" +"To select all posts for a given month, such as January of this year, visit " +"<a href=\"%1$s\">%2$s</a>" +msgstr "Pour sélectionner toutes les publications pour un mois donné, par exemple janvier, visitez <a href=\"%1$s\">%2$s</a>" -#: ../../Zotlabs/Module/Appman.php:118 -msgid "80 x 80 pixels - optional" -msgstr "80 x 80 pixels - facultatif" +#: ../../Zotlabs/Module/Uexport.php:68 +#, php-format +msgid "" +"These content files may be imported or restored by visiting <a " +"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results" +" please import or restore these in date order (oldest first)." +msgstr "Ces fichiers de contenu peuvent être importés ou restaurés en visitant <a href=\"%1$s\">%2$s</a> sur n'importe quel site hébergeant votre canal. Pour de meilleurs résultats merci de les importer par ordre chronologique (les plus anciens d'abord)." -#: ../../Zotlabs/Module/Appman.php:119 -msgid "Categories (optional, comma separated list)" -msgstr "" +#: ../../Zotlabs/Module/Directory.php:246 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "%d évaluation" +msgstr[1] "%d évaluations" -#: ../../Zotlabs/Module/Appman.php:120 -msgid "Version ID" -msgstr "Identifiant de version" +#: ../../Zotlabs/Module/Directory.php:257 +msgid "Gender: " +msgstr "Sexe/genre :" -#: ../../Zotlabs/Module/Appman.php:121 -msgid "Price of app" -msgstr "Prix de l'application" +#: ../../Zotlabs/Module/Directory.php:259 +msgid "Status: " +msgstr "État :" -#: ../../Zotlabs/Module/Appman.php:122 -msgid "Location (URL) to purchase app" -msgstr "Emplacement (URL) pour l'achat de l'application" +#: ../../Zotlabs/Module/Directory.php:261 +msgid "Homepage: " +msgstr "Site web :" -#: ../../Zotlabs/Module/Rbmark.php:94 -msgid "Select a bookmark folder" -msgstr "Choisir un dossier de favoris" +#: ../../Zotlabs/Module/Directory.php:310 ../../include/channel.php:1298 +msgid "Age:" +msgstr "Age :" -#: ../../Zotlabs/Module/Rbmark.php:99 -msgid "Save Bookmark" -msgstr "Enregistrer le favori" +#: ../../Zotlabs/Module/Directory.php:315 ../../include/markdown.php:561 +#: ../../include/channel.php:1134 ../../include/event.php:52 +#: ../../include/event.php:84 +msgid "Location:" +msgstr "Emplacement :" -#: ../../Zotlabs/Module/Rbmark.php:100 -msgid "URL of bookmark" -msgstr "URL du favori" +#: ../../Zotlabs/Module/Directory.php:321 +msgid "Description:" +msgstr "Description :" -#: ../../Zotlabs/Module/Rbmark.php:105 -msgid "Or enter new bookmark folder name" -msgstr "Ou entrez un nouveau nom de dossier de favoris" +#: ../../Zotlabs/Module/Directory.php:326 ../../include/channel.php:1314 +msgid "Hometown:" +msgstr "Ville natale :" -#: ../../Zotlabs/Module/Register.php:49 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." -msgstr "Nombre d'inscriptions quotidiennes dépassé. Merci d'essayer à nouveau demain." +#: ../../Zotlabs/Module/Directory.php:328 ../../include/channel.php:1322 +msgid "About:" +msgstr "À propos :" -#: ../../Zotlabs/Module/Register.php:55 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." -msgstr "Merci d'indiquer votre adhésion aux conditions de service. L'inscription a échoué." +#: ../../Zotlabs/Module/Directory.php:329 ../../Zotlabs/Module/Suggest.php:56 +#: ../../include/connections.php:110 ../../include/conversation.php:938 +#: ../../include/conversation.php:1069 ../../include/widgets.php:148 +#: ../../include/widgets.php:185 ../../include/channel.php:1119 +msgid "Connect" +msgstr "Ajouter/Suivre" -#: ../../Zotlabs/Module/Register.php:89 -msgid "Passwords do not match." -msgstr "Les mots de passe ne concordent pas." +#: ../../Zotlabs/Module/Directory.php:330 +msgid "Public Forum:" +msgstr "Forum public :" -#: ../../Zotlabs/Module/Register.php:131 -msgid "" -"Registration successful. Please check your email for validation " -"instructions." -msgstr "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte." +#: ../../Zotlabs/Module/Directory.php:333 +msgid "Keywords: " +msgstr "Mots-clefs :" -#: ../../Zotlabs/Module/Register.php:137 -msgid "Your registration is pending approval by the site owner." -msgstr "Votre inscription est en attente d'approbation par l'administrateur." +#: ../../Zotlabs/Module/Directory.php:336 +msgid "Don't suggest" +msgstr "Ne pas suggérer" -#: ../../Zotlabs/Module/Register.php:140 -msgid "Your registration can not be processed." -msgstr "Votre inscription ne peut être traîtée." +#: ../../Zotlabs/Module/Directory.php:338 +msgid "Common connections:" +msgstr "Contacts en commun :" -#: ../../Zotlabs/Module/Register.php:184 -msgid "Registration on this hub is disabled." -msgstr "La création de nouveaux comptes est désactivée pour ce site." +#: ../../Zotlabs/Module/Directory.php:387 +msgid "Global Directory" +msgstr "Annuaire global" -#: ../../Zotlabs/Module/Register.php:193 -msgid "Registration on this hub is by approval only." -msgstr "La création de compte sur ce site est soumise à approbation." +#: ../../Zotlabs/Module/Directory.php:387 +msgid "Local Directory" +msgstr "Annuaire local" -#: ../../Zotlabs/Module/Register.php:194 -msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" -msgstr "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>" +#: ../../Zotlabs/Module/Directory.php:393 +msgid "Finding:" +msgstr "Recherche :" -#: ../../Zotlabs/Module/Register.php:204 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain." +#: ../../Zotlabs/Module/Directory.php:396 ../../Zotlabs/Module/Suggest.php:64 +#: ../../include/contact_widgets.php:24 +msgid "Channel Suggestions" +msgstr "Canaux suggérés" -#: ../../Zotlabs/Module/Register.php:215 -msgid "Terms of Service" -msgstr "Conditions de service" +#: ../../Zotlabs/Module/Directory.php:398 +msgid "next page" +msgstr "page suivante" -#: ../../Zotlabs/Module/Register.php:221 -#, php-format -msgid "I accept the %s for this website" -msgstr "J'accepte les %s de ce site" +#: ../../Zotlabs/Module/Directory.php:398 +msgid "previous page" +msgstr "page précédente" -#: ../../Zotlabs/Module/Register.php:223 -#, php-format -msgid "I am over 13 years of age and accept the %s for this website" -msgstr "J'ai plus de 13 ans et j'accepte les %s de ce site" +#: ../../Zotlabs/Module/Directory.php:399 +msgid "Sort options" +msgstr "Options de tri" -#: ../../Zotlabs/Module/Register.php:227 -msgid "Your email address" -msgstr "Votre adresse de courriel" +#: ../../Zotlabs/Module/Directory.php:400 +msgid "Alphabetic" +msgstr "Alphabétique" -#: ../../Zotlabs/Module/Register.php:228 -msgid "Choose a password" -msgstr "Choisissez un mot de passe" +#: ../../Zotlabs/Module/Directory.php:401 +msgid "Reverse Alphabetic" +msgstr "Alphabétique inversé" -#: ../../Zotlabs/Module/Register.php:229 -msgid "Please re-enter your password" -msgstr "Merci de saisir à nouveau votre mot de passe" +#: ../../Zotlabs/Module/Directory.php:402 +msgid "Newest to Oldest" +msgstr "Du plus récent au moins récent" -#: ../../Zotlabs/Module/Register.php:230 -msgid "Please enter your invitation code" -msgstr "Merci de saisir votre code d'invitation" +#: ../../Zotlabs/Module/Directory.php:403 +msgid "Oldest to Newest" +msgstr "Du moins récent du plus récent" -#: ../../Zotlabs/Module/Register.php:236 -msgid "no" -msgstr "non" +#: ../../Zotlabs/Module/Directory.php:420 +msgid "No entries (some entries may be hidden)." +msgstr "Pas d'entrées (certaines peuvent être cachées)." -#: ../../Zotlabs/Module/Register.php:236 -msgid "yes" -msgstr "oui" +#: ../../Zotlabs/Module/Chatsvc.php:131 +msgid "Away" +msgstr "Absent" -#: ../../Zotlabs/Module/Register.php:250 -msgid "Membership on this site is by invitation only." -msgstr "L'inscription à ce site se fait uniquement sur invitation." +#: ../../Zotlabs/Module/Chatsvc.php:136 +msgid "Online" +msgstr "En ligne" -#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147 -#: ../../boot.php:1685 -msgid "Register" -msgstr "S'inscrire" +#: ../../Zotlabs/Module/Service_limits.php:23 +msgid "No service class restrictions found." +msgstr "Aucune restriction de classe de service trouvée." -#: ../../Zotlabs/Module/Register.php:262 -msgid "Proceed to create your first channel" -msgstr "Continuer pour créer votre premier canal" +#: ../../Zotlabs/Module/Webpages.php:52 +msgid "Import Webpage Elements" +msgstr "Importer éléments de page web" -#: ../../Zotlabs/Module/Regmod.php:15 -msgid "Please login." -msgstr "Merci de vous connecter." +#: ../../Zotlabs/Module/Webpages.php:53 +msgid "Import selected" +msgstr "Importation sélectionnée" -#: ../../Zotlabs/Module/Removeaccount.php:34 -msgid "" -"Account removals are not allowed within 48 hours of changing the account " -"password." -msgstr "Il est impossible de supprimer un compte dans les 48 heures après avoir changé le mot de passe du compte." +#: ../../Zotlabs/Module/Webpages.php:76 +msgid "Export Webpage Elements" +msgstr "Exporter éléments de pages web" -#: ../../Zotlabs/Module/Removeaccount.php:56 -msgid "Remove This Account" -msgstr "Supprimer ce compte" +#: ../../Zotlabs/Module/Webpages.php:77 +msgid "Export selected" +msgstr "Export sélectionné" -#: ../../Zotlabs/Module/Removeaccount.php:57 -#: ../../Zotlabs/Module/Removeme.php:59 -msgid "WARNING: " -msgstr "AVERTISSEMENT :" +#: ../../Zotlabs/Module/Webpages.php:241 ../../Zotlabs/Lib/Apps.php:225 +#: ../../include/conversation.php:1889 +msgid "Webpages" +msgstr "Pages web" -#: ../../Zotlabs/Module/Removeaccount.php:57 -msgid "" -"This account and all its channels will be completely removed from the " -"network. " -msgstr "Ce compte et tous ses canaux seront entièrement supprimés du réseau." +#: ../../Zotlabs/Module/Webpages.php:252 ../../include/page_widgets.php:44 +msgid "Actions" +msgstr "Actions" -#: ../../Zotlabs/Module/Removeaccount.php:57 -#: ../../Zotlabs/Module/Removeme.php:59 -msgid "This action is permanent and can not be undone!" -msgstr "Cette action est permanente et irréversible !" +#: ../../Zotlabs/Module/Webpages.php:253 ../../include/page_widgets.php:45 +msgid "Page Link" +msgstr "Lien vers la page" -#: ../../Zotlabs/Module/Removeaccount.php:58 -#: ../../Zotlabs/Module/Removeme.php:60 -msgid "Please enter your password for verification:" -msgstr "Merci de saisir votre mot de passe pour vérification :" +#: ../../Zotlabs/Module/Webpages.php:254 +msgid "Page Title" +msgstr "Titre de la page" -#: ../../Zotlabs/Module/Removeaccount.php:59 -msgid "" -"Remove this account, all its channels and all its channel clones from the " -"network" -msgstr "Supprimer du réseau ce compte, tous ses canaux et tous les clones de ses canaux." +#: ../../Zotlabs/Module/Webpages.php:284 +msgid "Invalid file type." +msgstr "Type de fichier invalide" -#: ../../Zotlabs/Module/Removeaccount.php:59 -msgid "" -"By default only the instances of the channels located on this hub will be " -"removed from the network" -msgstr "Par défaut, seules les instances des canaux situés sur ce hub seront supprimées du réseau" +#: ../../Zotlabs/Module/Webpages.php:296 +msgid "Error opening zip file" +msgstr "Erreur lors de l'ouverture du fichier zip" -#: ../../Zotlabs/Module/Removeaccount.php:60 -#: ../../Zotlabs/Module/Settings.php:705 -msgid "Remove Account" -msgstr "Supprimer le compte" +#: ../../Zotlabs/Module/Webpages.php:307 +msgid "Invalid folder path." +msgstr "Chemin du dossier invalide" + +#: ../../Zotlabs/Module/Webpages.php:334 +msgid "No webpage elements detected." +msgstr "Aucun élément de page Web détecté." -#: ../../Zotlabs/Module/Removeme.php:33 +#: ../../Zotlabs/Module/Webpages.php:409 +msgid "Import complete." +msgstr "Importation terminée" + +#: ../../Zotlabs/Module/Removeme.php:35 msgid "" "Channel removals are not allowed within 48 hours of changing the account " "password." msgstr "Il est impossible de supprimer un canal moins de 48 heures après avoir changé le mot de passe d'un compte." -#: ../../Zotlabs/Module/Removeme.php:58 +#: ../../Zotlabs/Module/Removeme.php:60 msgid "Remove This Channel" msgstr "Supprimer ce canal" -#: ../../Zotlabs/Module/Removeme.php:59 +#: ../../Zotlabs/Module/Removeme.php:61 msgid "This channel will be completely removed from the network. " msgstr "Ce canal sera complètement supprimé du réseau." -#: ../../Zotlabs/Module/Removeme.php:61 +#: ../../Zotlabs/Module/Removeme.php:63 msgid "Remove this channel and all its clones from the network" msgstr "Supprimer ce canal ainsi que tous ses clones sur le réseau" -#: ../../Zotlabs/Module/Removeme.php:61 +#: ../../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 "Par défaut, seule l'instance du canal présente sur ce hub sera supprimée du réseau" -#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124 +#: ../../Zotlabs/Module/Removeme.php:64 +#: ../../Zotlabs/Module/Settings/Channel.php:575 msgid "Remove Channel" msgstr "Supprimer le canal" -#: ../../Zotlabs/Module/Rmagic.php:44 +#: ../../Zotlabs/Module/Sharedwithme.php:98 +msgid "Files: shared with me" +msgstr "Fichiers : partagés avec moi" + +#: ../../Zotlabs/Module/Sharedwithme.php:100 +msgid "NEW" +msgstr "NOUVEAU" + +#: ../../Zotlabs/Module/Sharedwithme.php:103 +msgid "Remove all files" +msgstr "Supprimer tous les fichiers" + +#: ../../Zotlabs/Module/Sharedwithme.php:104 +msgid "Remove this file" +msgstr "Supprimer ce fichier" + +#: ../../Zotlabs/Module/Wiki.php:29 +msgid "Profile Unavailable." +msgstr "Profil non disponible." + +#: ../../Zotlabs/Module/Wiki.php:43 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:40 +msgid "Not found" +msgstr "Non trouvé" + +#: ../../Zotlabs/Module/Wiki.php:67 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:60 +msgid "Invalid channel" +msgstr "Canal invalide." + +#: ../../Zotlabs/Module/Wiki.php:158 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:144 +#: ../../include/conversation.php:1900 +msgid "Wikis" +msgstr "Wikis" + +#: ../../Zotlabs/Module/Wiki.php:164 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:150 +msgid "Download" +msgstr "Téléchargement" + +#: ../../Zotlabs/Module/Wiki.php:168 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:154 +msgid "Wiki name" +msgstr "Nom du wiki" + +#: ../../Zotlabs/Module/Wiki.php:169 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:155 +msgid "Content type" +msgstr "Type de contenu" + +#: ../../Zotlabs/Module/Wiki.php:178 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:164 +msgid "Create a status post for this wiki" +msgstr "Créer un statut de publication pour ce wiki" + +#: ../../Zotlabs/Module/Wiki.php:203 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:183 +msgid "Wiki not found" +msgstr "Wiki introuvable" + +#: ../../Zotlabs/Module/Wiki.php:227 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:208 +msgid "Rename page" +msgstr "Renommer la page" + +#: ../../Zotlabs/Module/Wiki.php:231 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:212 +msgid "Error retrieving page content" +msgstr "Erreur lors de la récupération du contenu de la page" + +#: ../../Zotlabs/Module/Wiki.php:261 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:241 +msgid "Revision Comparison" +msgstr "Comparaison des révisions" + +#: ../../Zotlabs/Module/Wiki.php:262 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:242 +msgid "Revert" +msgstr "Revenir" + +#: ../../Zotlabs/Module/Wiki.php:266 +msgid "Short description of your changes (optional)" +msgstr "Description courte de vos modifications (optionnel)" + +#: ../../Zotlabs/Module/Wiki.php:273 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:251 +msgid "Source" +msgstr "Source" + +#: ../../Zotlabs/Module/Wiki.php:281 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:259 +msgid "New page name" +msgstr "Nouveau nom de la page" + +#: ../../Zotlabs/Module/Wiki.php:286 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:264 +#: ../../include/conversation.php:1299 +msgid "Embed image from photo albums" +msgstr "Intégrer une image d'un album photo" + +#: ../../Zotlabs/Module/Wiki.php:287 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:265 +#: ../../include/conversation.php:1393 +msgid "Embed an image from your albums" +msgstr "Intégrer une image de votre album photo" + +#: ../../Zotlabs/Module/Wiki.php:289 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:267 +#: ../../include/conversation.php:1395 ../../include/conversation.php:1442 +msgid "OK" +msgstr "OK" + +#: ../../Zotlabs/Module/Wiki.php:290 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:268 +#: ../../include/conversation.php:1335 +msgid "Choose images to embed" +msgstr "Choisissez des images à intégrer" + +#: ../../Zotlabs/Module/Wiki.php:291 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:269 +#: ../../include/conversation.php:1336 +msgid "Choose an album" +msgstr "Choisir un album" + +#: ../../Zotlabs/Module/Wiki.php:292 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:270 +msgid "Choose a different album" +msgstr "Choisissez un autre album" + +#: ../../Zotlabs/Module/Wiki.php:293 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:271 +#: ../../include/conversation.php:1338 +msgid "Error getting album list" +msgstr "Erreur venant de la liste de l'album" + +#: ../../Zotlabs/Module/Wiki.php:294 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:272 +#: ../../include/conversation.php:1339 +msgid "Error getting photo link" +msgstr "Erreur provenant du lien de la photo" + +#: ../../Zotlabs/Module/Wiki.php:295 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:273 +#: ../../include/conversation.php:1340 +msgid "Error getting album" +msgstr "Erreur venant de l'album" + +#: ../../Zotlabs/Module/Wiki.php:364 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:337 +msgid "Error creating wiki. Invalid name." +msgstr "Erreur lors de la création du wiki. Nom invalide." + +#: ../../Zotlabs/Module/Wiki.php:376 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:348 +msgid "Wiki created, but error creating Home page." +msgstr "Le wiki a été créé, mais une erreur est survenue lors de la création de sa page d'accueil." + +#: ../../Zotlabs/Module/Wiki.php:383 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:353 +msgid "Error creating wiki" +msgstr "Erreur lors de la création du wiki." + +#: ../../Zotlabs/Module/Wiki.php:395 +msgid "Wiki delete permission denied." +msgstr "Permission de supprimer le wiki refusée." + +#: ../../Zotlabs/Module/Wiki.php:405 +msgid "Error deleting wiki" +msgstr "Erreur durant la suppression du wiki" + +#: ../../Zotlabs/Module/Wiki.php:431 +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:400 +msgid "New page created" +msgstr "Nouvelle page créée" + +#: ../../Zotlabs/Module/Wiki.php:546 +msgid "Cannot delete Home" +msgstr "Impossible de supprimer la racine" + +#: ../../Zotlabs/Module/Wiki.php:610 +msgid "Current Revision" +msgstr "Version actuelle" + +#: ../../Zotlabs/Module/Wiki.php:610 +msgid "Selected Revision" +msgstr "Version sélectionnée" + +#: ../../Zotlabs/Module/Wiki.php:660 +msgid "You must be authenticated." +msgstr "Vous devez être connecté." + +#: ../../Zotlabs/Module/Sources.php:37 +msgid "Failed to create source. No channel selected." +msgstr "Impossible de créer la source. Aucun canal selectionné." + +#: ../../Zotlabs/Module/Sources.php:51 +msgid "Source created." +msgstr "Source créée." + +#: ../../Zotlabs/Module/Sources.php:64 +msgid "Source updated." +msgstr "Source mise à jour." + +#: ../../Zotlabs/Module/Sources.php:90 +msgid "*" +msgstr "*" + +#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:691 +#: ../../include/features.php:213 +msgid "Channel Sources" +msgstr "Sources du canal" + +#: ../../Zotlabs/Module/Sources.php:97 +msgid "Manage remote sources of content for your channel." +msgstr "Gérer les sources distantes de contenu pour votre canal." + +#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108 +msgid "New Source" +msgstr "Nouvelle source" + +#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143 msgid "" -"We encountered a problem while logging in with the OpenID you provided. " -"Please check the correct spelling of the ID." -msgstr "Nous avons rencontré un problème avec l'OpenID que vous nous avez fourni. Merci de vérifier que l'ID est correctement saisi." +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." +msgstr "Importer le contenu sélectionné ou tout le contenu du canal suivant vers ce canal et le distribuer selon vos paramètres de canal." -#: ../../Zotlabs/Module/Rmagic.php:44 -msgid "The error message was:" -msgstr "Le message d'erreur était :" +#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 +msgid "Only import content with these words (one per line)" +msgstr "N'importer le contenu que s'il contient ces mots (un par ligne)" -#: ../../Zotlabs/Module/Rmagic.php:48 -msgid "Authentication failed." -msgstr "Échec de l'authentification." +#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 +msgid "Leave blank to import all public content" +msgstr "Laissez vide pour importer tout le contenu public" -#: ../../Zotlabs/Module/Rmagic.php:88 -msgid "Remote Authentication" -msgstr "Authentification distante" +#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148 +msgid "Channel Name" +msgstr "Nom du canal" -#: ../../Zotlabs/Module/Rmagic.php:89 -msgid "Enter your channel address (e.g. channel@example.com)" -msgstr "Entrez l'adresse de votre canal (par ex. moncanal@monsite.com)" +#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147 +msgid "" +"Add the following categories to posts imported from this source (comma " +"separated)" +msgstr "Ajouter les catégories suivantes aux publications importées à partir de cette source (séparer par des virgules)" -#: ../../Zotlabs/Module/Rmagic.php:90 -msgid "Authenticate" -msgstr "Authentifier" +#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147 +#: ../../Zotlabs/Module/Settings/Oauth.php:93 +msgid "Optional" +msgstr "Facultatif" -#: ../../Zotlabs/Module/Search.php:216 -#, php-format -msgid "Items tagged with: %s" -msgstr "Eléments étiquetés avec : %s" +#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161 +msgid "Source not found." +msgstr "Source introuvable." -#: ../../Zotlabs/Module/Search.php:218 -#, php-format -msgid "Search results for: %s" -msgstr "Résultats de recherche pour : %s" +#: ../../Zotlabs/Module/Sources.php:140 +msgid "Edit Source" +msgstr "Modifier la source" -#: ../../Zotlabs/Module/Service_limits.php:23 -msgid "No service class restrictions found." -msgstr "Aucune restriction de classe de service trouvée." +#: ../../Zotlabs/Module/Sources.php:141 +msgid "Delete Source" +msgstr "Supprimer la source" -#: ../../Zotlabs/Module/Settings.php:69 -msgid "Name is required" -msgstr "Le nom est requis" +#: ../../Zotlabs/Module/Sources.php:169 +msgid "Source removed" +msgstr "Source supprimée" -#: ../../Zotlabs/Module/Settings.php:73 -msgid "Key and Secret are required" -msgstr "Clef et secret sont requis" +#: ../../Zotlabs/Module/Sources.php:171 +msgid "Unable to remove source." +msgstr "Impossible de supprimer la source." -#: ../../Zotlabs/Module/Settings.php:225 -msgid "Not valid email." -msgstr "Adresse de courriel non valide." +#: ../../Zotlabs/Module/Subthread.php:118 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "%1$s suit %3$s de %2$s" -#: ../../Zotlabs/Module/Settings.php:228 -msgid "Protected email address. Cannot change to that email." -msgstr "Adresse de courriel protégée. Impossible de l'utiliser." +#: ../../Zotlabs/Module/Subthread.php:120 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "%1$s ne suit plus %3$s de %2$s" -#: ../../Zotlabs/Module/Settings.php:237 -msgid "System failure storing new email. Please try again." -msgstr "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau." +#: ../../Zotlabs/Module/Suggest.php:39 +msgid "" +"No suggestions available. If this is a new site, please try again in 24 " +"hours." +msgstr "Aucune suggestion disponible. Si le site est récent, merci de re-tenter dans 24 heures." -#: ../../Zotlabs/Module/Settings.php:254 -msgid "Password verification failed." -msgstr "La vérification du mot de passe a échoué." +#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:150 +msgid "Ignore/Hide" +msgstr "Ignorer/Cacher" -#: ../../Zotlabs/Module/Settings.php:261 -msgid "Passwords do not match. Password unchanged." -msgstr "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé." +#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:274 +msgid "post" +msgstr "publication" -#: ../../Zotlabs/Module/Settings.php:265 -msgid "Empty passwords are not allowed. Password unchanged." -msgstr "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé." +#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150 +#: ../../include/text.php:1961 +msgid "comment" +msgstr "commentaire" -#: ../../Zotlabs/Module/Settings.php:279 -msgid "Password changed." -msgstr "Le mot de passe a été changé." +#: ../../Zotlabs/Module/Tagger.php:95 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" +msgstr "%1$s a étiqueté le %3$s de %2$s avec %4$s" -#: ../../Zotlabs/Module/Settings.php:281 -msgid "Password update failed. Please try again." -msgstr "La mise à jour du mot de passe a échoué. Merci d'essayer à nouveau." +#: ../../Zotlabs/Module/Settings/Features.php:45 +msgid "Additional Features" +msgstr "Fonctionnalités additionnelles" -#: ../../Zotlabs/Module/Settings.php:525 -msgid "Settings updated." -msgstr "Paramètres mis à jour." +#: ../../Zotlabs/Module/Settings/Oauth.php:34 +msgid "Name is required" +msgstr "Le nom est requis" -#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615 -#: ../../Zotlabs/Module/Settings.php:651 +#: ../../Zotlabs/Module/Settings/Oauth.php:38 +msgid "Key and Secret are required" +msgstr "Clef et secret sont requis" + +#: ../../Zotlabs/Module/Settings/Oauth.php:86 +#: ../../Zotlabs/Module/Settings/Oauth.php:112 +#: ../../Zotlabs/Module/Settings/Oauth.php:148 msgid "Add application" msgstr "Ajouter une application" -#: ../../Zotlabs/Module/Settings.php:592 +#: ../../Zotlabs/Module/Settings/Oauth.php:89 msgid "Name of application" msgstr "Nom de l'application" -#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619 +#: ../../Zotlabs/Module/Settings/Oauth.php:90 +#: ../../Zotlabs/Module/Settings/Oauth.php:116 +#: ../../extend/addon/addon/statusnet/statusnet.php:893 +#: ../../extend/addon/addon/twitter/twitter.php:775 msgid "Consumer Key" msgstr "Clef client" -#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594 +#: ../../Zotlabs/Module/Settings/Oauth.php:90 +#: ../../Zotlabs/Module/Settings/Oauth.php:91 msgid "Automatically generated - change if desired. Max length 20" msgstr "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères." -#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620 +#: ../../Zotlabs/Module/Settings/Oauth.php:91 +#: ../../Zotlabs/Module/Settings/Oauth.php:117 +#: ../../extend/addon/addon/statusnet/statusnet.php:892 +#: ../../extend/addon/addon/twitter/twitter.php:776 msgid "Consumer Secret" msgstr "Secret client" -#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621 +#: ../../Zotlabs/Module/Settings/Oauth.php:92 +#: ../../Zotlabs/Module/Settings/Oauth.php:118 msgid "Redirect" msgstr "Redirection" -#: ../../Zotlabs/Module/Settings.php:595 +#: ../../Zotlabs/Module/Settings/Oauth.php:92 msgid "" "Redirect URI - leave blank unless your application specifically requires " "this" msgstr "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement" -#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622 +#: ../../Zotlabs/Module/Settings/Oauth.php:93 +#: ../../Zotlabs/Module/Settings/Oauth.php:119 msgid "Icon url" msgstr "URL de l'icône" -#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112 -#: ../../Zotlabs/Module/Sources.php:147 -msgid "Optional" -msgstr "Facultatif" - -#: ../../Zotlabs/Module/Settings.php:607 +#: ../../Zotlabs/Module/Settings/Oauth.php:104 msgid "Application not found." msgstr "Application introuvable." -#: ../../Zotlabs/Module/Settings.php:650 +#: ../../Zotlabs/Module/Settings/Oauth.php:147 msgid "Connected Apps" msgstr "Applications connectées" -#: ../../Zotlabs/Module/Settings.php:654 +#: ../../Zotlabs/Module/Settings/Oauth.php:151 msgid "Client key starts with" msgstr "La clef partagée commence par" -#: ../../Zotlabs/Module/Settings.php:655 +#: ../../Zotlabs/Module/Settings/Oauth.php:152 msgid "No name" msgstr "Sans nom" -#: ../../Zotlabs/Module/Settings.php:656 +#: ../../Zotlabs/Module/Settings/Oauth.php:153 msgid "Remove authorization" msgstr "Révoquer l'autorisation" -#: ../../Zotlabs/Module/Settings.php:669 -msgid "No feature settings configured" -msgstr "Aucun paramètre de fonctionnalité configuré" +#: ../../Zotlabs/Module/Settings/Account.php:20 +msgid "Not valid email." +msgstr "Adresse de courriel non valide." -#: ../../Zotlabs/Module/Settings.php:676 -msgid "Feature/Addon Settings" -msgstr "Paramètres des extensions/greffons" +#: ../../Zotlabs/Module/Settings/Account.php:23 +msgid "Protected email address. Cannot change to that email." +msgstr "Adresse de courriel protégée. Impossible de l'utiliser." + +#: ../../Zotlabs/Module/Settings/Account.php:32 +msgid "System failure storing new email. Please try again." +msgstr "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau." + +#: ../../Zotlabs/Module/Settings/Account.php:40 +msgid "Technical skill level updated" +msgstr "Niveau technique mis à jour" + +#: ../../Zotlabs/Module/Settings/Account.php:56 +msgid "Password verification failed." +msgstr "La vérification du mot de passe a échoué." + +#: ../../Zotlabs/Module/Settings/Account.php:63 +msgid "Passwords do not match. Password unchanged." +msgstr "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé." + +#: ../../Zotlabs/Module/Settings/Account.php:67 +msgid "Empty passwords are not allowed. Password unchanged." +msgstr "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé." -#: ../../Zotlabs/Module/Settings.php:699 +#: ../../Zotlabs/Module/Settings/Account.php:81 +msgid "Password changed." +msgstr "Le mot de passe a été changé." + +#: ../../Zotlabs/Module/Settings/Account.php:83 +msgid "Password update failed. Please try again." +msgstr "La mise à jour du mot de passe a échoué. Merci d'essayer à nouveau." + +#: ../../Zotlabs/Module/Settings/Account.php:112 msgid "Account Settings" msgstr "Paramètres du compte" -#: ../../Zotlabs/Module/Settings.php:700 +#: ../../Zotlabs/Module/Settings/Account.php:113 msgid "Current Password" msgstr "Mot de passe actuel" -#: ../../Zotlabs/Module/Settings.php:701 +#: ../../Zotlabs/Module/Settings/Account.php:114 msgid "Enter New Password" msgstr "Entrez votre nouveau mot de passe" -#: ../../Zotlabs/Module/Settings.php:702 +#: ../../Zotlabs/Module/Settings/Account.php:115 msgid "Confirm New Password" msgstr "Confirmez le nouveau mot de passe" -#: ../../Zotlabs/Module/Settings.php:702 +#: ../../Zotlabs/Module/Settings/Account.php:115 msgid "Leave password fields blank unless changing" msgstr "Laissez les mots de passe vides si vous ne voulez pas les modifier" -#: ../../Zotlabs/Module/Settings.php:704 -#: ../../Zotlabs/Module/Settings.php:1041 +#: ../../Zotlabs/Module/Settings/Account.php:116 +msgid "Your technical skill level" +msgstr "Votre niveau technique" + +#: ../../Zotlabs/Module/Settings/Account.php:116 +msgid "Used to provide a member experience matched to your comfort level" +msgstr "Utilisé pour fournir une expérience utilisateur correspondant à votre niveau de confort" + +#: ../../Zotlabs/Module/Settings/Account.php:119 +#: ../../Zotlabs/Module/Settings/Channel.php:483 msgid "Email Address:" msgstr "Adresse de courriel :" -#: ../../Zotlabs/Module/Settings.php:706 +#: ../../Zotlabs/Module/Settings/Account.php:121 msgid "Remove this account including all its channels" msgstr "Supprimer ce compte et tous ses canaux" -#: ../../Zotlabs/Module/Settings.php:729 -msgid "Additional Features" -msgstr "Fonctionnalités additionnelles" - -#: ../../Zotlabs/Module/Settings.php:753 -msgid "Connector Settings" -msgstr "Paramètres du connecteur" - -#: ../../Zotlabs/Module/Settings.php:792 -msgid "No special theme for mobile devices" -msgstr "Pas de thème spécifique aux mobiles" - -#: ../../Zotlabs/Module/Settings.php:795 +#: ../../Zotlabs/Module/Settings/Tokens.php:31 #, php-format -msgid "%s - (Experimental)" -msgstr "%s - (Expérimental)" +msgid "This channel is limited to %d tokens" +msgstr "Ce canal est limité à %d jetons" -#: ../../Zotlabs/Module/Settings.php:837 -msgid "Display Settings" -msgstr "Afficher les paramètres" - -#: ../../Zotlabs/Module/Settings.php:838 -msgid "Theme Settings" -msgstr "Paramètres du thème" - -#: ../../Zotlabs/Module/Settings.php:839 -msgid "Custom Theme Settings" -msgstr "Paramètres personnels du thème" - -#: ../../Zotlabs/Module/Settings.php:840 -msgid "Content Settings" -msgstr "Paramètres liés au contenu" +#: ../../Zotlabs/Module/Settings/Tokens.php:37 +msgid "Name and Password are required." +msgstr "Le nom et le mot de passe sont requis" -#: ../../Zotlabs/Module/Settings.php:846 -msgid "Display Theme:" -msgstr "Afficher le thème :" +#: ../../Zotlabs/Module/Settings/Tokens.php:77 +msgid "Token saved." +msgstr "Jeton sauvegardé" -#: ../../Zotlabs/Module/Settings.php:847 -msgid "Mobile Theme:" -msgstr "Thème mobile :" - -#: ../../Zotlabs/Module/Settings.php:848 -msgid "Preload images before rendering the page" -msgstr "Pré-charger les images avant d'afficher la page" - -#: ../../Zotlabs/Module/Settings.php:848 +#: ../../Zotlabs/Module/Settings/Tokens.php:113 msgid "" -"The subjective page load time will be longer but the page will be ready when" -" displayed" -msgstr "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera" +"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 "Utilisez ce formulaire pour créer des identifiants d'accès temporaires pour partager des informations avec des non-membres. Ces identités peuvent être utilisées dans les listes de contrôle d'accès et les visiteurs peuvent se connecter en utilisant ces certificats d'identification pour accéder au contenu privé." -#: ../../Zotlabs/Module/Settings.php:849 -msgid "Enable user zoom on mobile devices" -msgstr "Permettre à l'utilisateur d'un mobile d'agrandir le contenu" - -#: ../../Zotlabs/Module/Settings.php:850 -msgid "Update browser every xx seconds" -msgstr "Mettre à jour le navigateur toutes les xx secondes" - -#: ../../Zotlabs/Module/Settings.php:850 -msgid "Minimum of 10 seconds, no maximum" -msgstr "Minimum 10 secondes, pas de maximum" +#: ../../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 "Vous pouvez également fournir des liens d'accès, style <em>dropbox</em>, aux amis et aux associés en ajoutant le mot de passe de connexion à l'URL d'un site spécifique, comme indiqué. Exemples:" -#: ../../Zotlabs/Module/Settings.php:851 -msgid "Maximum number of conversations to load at any time:" -msgstr "Nombre maximal de conversations pouvant être chargées en même temps :" +#: ../../Zotlabs/Module/Settings/Tokens.php:150 ../../include/widgets.php:658 +msgid "Guest Access Tokens" +msgstr "Jeton d'accès pour un invité" -#: ../../Zotlabs/Module/Settings.php:851 -msgid "Maximum of 100 items" -msgstr "100 éléments au maximum" +#: ../../Zotlabs/Module/Settings/Tokens.php:157 +msgid "Login Name" +msgstr "Nom d'utilisateur" -#: ../../Zotlabs/Module/Settings.php:852 -msgid "Show emoticons (smilies) as images" -msgstr "Remplacer les émoticônes (smileys) par des images" +#: ../../Zotlabs/Module/Settings/Tokens.php:158 +msgid "Login Password" +msgstr "Mot de passe" -#: ../../Zotlabs/Module/Settings.php:853 -msgid "Link post titles to source" -msgstr "Lier les titres des publications à leur source" +#: ../../Zotlabs/Module/Settings/Tokens.php:159 +msgid "Expires (yyyy-mm-dd)" +msgstr "Date d'expiration sous la forme année mois jour (AAAA-MM-JJ)" -#: ../../Zotlabs/Module/Settings.php:854 -msgid "System Page Layout Editor - (advanced)" -msgstr "Editeur de mise en page des pages systèmes - (avancé)" +#: ../../Zotlabs/Module/Settings/Featured.php:20 +msgid "Affinity Slider settings updated." +msgstr "Paramètres de la réglette d'affinité mis à jour." -#: ../../Zotlabs/Module/Settings.php:857 -msgid "Use blog/list mode on channel page" -msgstr "Utiliser le mode blog/liste sur la page du canal" +#: ../../Zotlabs/Module/Settings/Featured.php:34 +msgid "No feature settings configured" +msgstr "Aucun paramètre de fonctionnalité configuré" -#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858 -msgid "(comments displayed separately)" -msgstr "(commentaires affichés séparément)" +#: ../../Zotlabs/Module/Settings/Featured.php:41 +msgid "Default maximum affinity level" +msgstr "Niveau d'affinité maximum par défaut" -#: ../../Zotlabs/Module/Settings.php:858 -msgid "Use blog/list mode on grid page" -msgstr "Utiliser le mode blog/liste sur la page du réseau" +#: ../../Zotlabs/Module/Settings/Featured.php:46 +msgid "Default minimum affinity level" +msgstr "Niveau d'affinité minimum par défaut" -#: ../../Zotlabs/Module/Settings.php:859 -msgid "Channel page max height of content (in pixels)" -msgstr "Hauteur maximale du contenu pour la page du canal (en pixels)" +#: ../../Zotlabs/Module/Settings/Featured.php:50 +msgid "Affinity Slider Settings" +msgstr "Paramètres de la réglette d'affinité" -#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860 -msgid "click to expand content exceeding this height" -msgstr "cliquer pour dérouler le contenu dépassant cette limite" +#: ../../Zotlabs/Module/Settings/Featured.php:60 +msgid "Feature/Addon Settings" +msgstr "Paramètres des extensions/greffons" -#: ../../Zotlabs/Module/Settings.php:860 -msgid "Grid page max height of content (in pixels)" -msgstr "Hauteur maximale du contenu sur la page du réseau (en pixels)" +#: ../../Zotlabs/Module/Settings/Channel.php:251 +#: ../../extend/addon/addon/logrot/logrot.php:54 +#: ../../extend/addon/addon/msgfooter/msgfooter.php:54 +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:184 +#: ../../extend/addon/addon/piwik/piwik.php:116 +#: ../../extend/addon/addon/twitter/twitter.php:766 +#: ../../extend/addon/addon/xmpp/xmpp.php:102 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:82 +msgid "Settings updated." +msgstr "Paramètres mis à jour." -#: ../../Zotlabs/Module/Settings.php:894 +#: ../../Zotlabs/Module/Settings/Channel.php:312 msgid "Nobody except yourself" msgstr "Personne sauf vous" -#: ../../Zotlabs/Module/Settings.php:895 +#: ../../Zotlabs/Module/Settings/Channel.php:313 msgid "Only those you specifically allow" msgstr "Seulement ceux que vous autorisez spécifiquement" -#: ../../Zotlabs/Module/Settings.php:896 +#: ../../Zotlabs/Module/Settings/Channel.php:314 msgid "Approved connections" msgstr "Contacts approuvés" -#: ../../Zotlabs/Module/Settings.php:897 +#: ../../Zotlabs/Module/Settings/Channel.php:315 msgid "Any connections" msgstr "Tous les contacts" -#: ../../Zotlabs/Module/Settings.php:898 +#: ../../Zotlabs/Module/Settings/Channel.php:316 msgid "Anybody on this website" msgstr "Tous les utilisateurs du hub" -#: ../../Zotlabs/Module/Settings.php:899 +#: ../../Zotlabs/Module/Settings/Channel.php:317 msgid "Anybody in this network" msgstr "Tous les utilisateurs sur ce réseau" -#: ../../Zotlabs/Module/Settings.php:900 +#: ../../Zotlabs/Module/Settings/Channel.php:318 msgid "Anybody authenticated" msgstr "Tous les utilisateurs authentifiés" -#: ../../Zotlabs/Module/Settings.php:901 +#: ../../Zotlabs/Module/Settings/Channel.php:319 msgid "Anybody on the internet" msgstr "Tous les utilisateurs d'Internet" -#: ../../Zotlabs/Module/Settings.php:976 +#: ../../Zotlabs/Module/Settings/Channel.php:395 msgid "Publish your default profile in the network directory" msgstr "Publier votre profil par défaut dans l'annuaire du réseau" -#: ../../Zotlabs/Module/Settings.php:981 +#: ../../Zotlabs/Module/Settings/Channel.php:400 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "Nous autoriser à vous suggérer comme ami(e) potentiel(le) aux nouveaux membres?" -#: ../../Zotlabs/Module/Settings.php:990 +#: ../../Zotlabs/Module/Settings/Channel.php:409 msgid "Your channel address is" msgstr "L'adresse de votre canal est" -#: ../../Zotlabs/Module/Settings.php:1032 +#: ../../Zotlabs/Module/Settings/Channel.php:412 +msgid "Your files/photos are accessible via WebDAV at" +msgstr "Vos fichiers/photos sont accessibles via WebDAV à " + +#: ../../Zotlabs/Module/Settings/Channel.php:474 msgid "Channel Settings" msgstr "Paramètres du canal" -#: ../../Zotlabs/Module/Settings.php:1039 +#: ../../Zotlabs/Module/Settings/Channel.php:481 msgid "Basic Settings" msgstr "Paramètres standard" -#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140 +#: ../../Zotlabs/Module/Settings/Channel.php:482 +#: ../../include/channel.php:1255 msgid "Full Name:" msgstr "Nom complet :" -#: ../../Zotlabs/Module/Settings.php:1042 +#: ../../Zotlabs/Module/Settings/Channel.php:484 msgid "Your Timezone:" msgstr "Votre fureau horaire :" -#: ../../Zotlabs/Module/Settings.php:1043 +#: ../../Zotlabs/Module/Settings/Channel.php:485 msgid "Default Post Location:" msgstr "Emplacement de publication par défaut :" -#: ../../Zotlabs/Module/Settings.php:1043 +#: ../../Zotlabs/Module/Settings/Channel.php:485 msgid "Geographical location to display on your posts" msgstr "Emplacement géographique à afficher sur vos publications" -#: ../../Zotlabs/Module/Settings.php:1044 +#: ../../Zotlabs/Module/Settings/Channel.php:486 msgid "Use Browser Location:" msgstr "Utiliser la géolocalisation du navigateur :" -#: ../../Zotlabs/Module/Settings.php:1046 +#: ../../Zotlabs/Module/Settings/Channel.php:488 msgid "Adult Content" msgstr "Contenu \"adulte\"" -#: ../../Zotlabs/Module/Settings.php:1046 +#: ../../Zotlabs/Module/Settings/Channel.php:488 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)" -#: ../../Zotlabs/Module/Settings.php:1048 +#: ../../Zotlabs/Module/Settings/Channel.php:490 msgid "Security and Privacy Settings" msgstr "Paramètres de sécurité et de confidentialité" -#: ../../Zotlabs/Module/Settings.php:1051 +#: ../../Zotlabs/Module/Settings/Channel.php:493 msgid "Your permissions are already configured. Click to view/adjust" msgstr "Vous permissions sont déjà paramétrées. Cliquer pour voir/ajuster" -#: ../../Zotlabs/Module/Settings.php:1053 +#: ../../Zotlabs/Module/Settings/Channel.php:495 msgid "Hide my online presence" msgstr "Cacher ma présence en ligne" -#: ../../Zotlabs/Module/Settings.php:1053 +#: ../../Zotlabs/Module/Settings/Channel.php:495 msgid "Prevents displaying in your profile that you are online" msgstr "Cacher votre statut (en ligne/hors ligne) sur votre profil" -#: ../../Zotlabs/Module/Settings.php:1055 +#: ../../Zotlabs/Module/Settings/Channel.php:497 msgid "Simple Privacy Settings:" msgstr "Paramètres de confidentialité simplifiés :" -#: ../../Zotlabs/Module/Settings.php:1056 +#: ../../Zotlabs/Module/Settings/Channel.php:498 msgid "" "Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>" -#: ../../Zotlabs/Module/Settings.php:1057 +#: ../../Zotlabs/Module/Settings/Channel.php:499 msgid "" "Typical - <em>default public, privacy when desired (similar to social " "network permissions but with improved privacy)</em>" msgstr "Classique - <em>public par défaut, privé en cas de besoin (comparable aux permissions type réseau social, avec une confidentialité améliorée)</em>" -#: ../../Zotlabs/Module/Settings.php:1058 +#: ../../Zotlabs/Module/Settings/Channel.php:500 msgid "Private - <em>default private, never open or public</em>" msgstr "Privé - <em>privé par défaut, jamais ouvert ni public</em>" -#: ../../Zotlabs/Module/Settings.php:1059 +#: ../../Zotlabs/Module/Settings/Channel.php:501 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>" -#: ../../Zotlabs/Module/Settings.php:1061 +#: ../../Zotlabs/Module/Settings/Channel.php:503 msgid "Allow others to tag your posts" msgstr "Autoriser les autres à \"étiqueter\" vos publications" -#: ../../Zotlabs/Module/Settings.php:1061 +#: ../../Zotlabs/Module/Settings/Channel.php:503 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "Souvent utilisé par la communauté pour identifier un contenu inapproprié a posteriori " -#: ../../Zotlabs/Module/Settings.php:1063 -msgid "Advanced Privacy Settings" -msgstr "Paramètres de confidentialité avancés" +#: ../../Zotlabs/Module/Settings/Channel.php:505 +msgid "Channel Permission Limits" +msgstr "Limites des permissions du canal" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "Expire other channel content after this many days" msgstr "Faire expirer le contenu des autres canaux après n jours" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "0 or blank to use the website limit." -msgstr "" +msgstr "0 ou vide pour utiliser la limite du site web" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings/Channel.php:507 #, php-format msgid "This website expires after %d days." -msgstr "" +msgstr "Ce site web expirera après %d jours." -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "This website does not expire imported content." -msgstr "" +msgstr "Ce site web ne périme pas le contenu importé." -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings/Channel.php:507 msgid "The website limit takes precedence if lower than your limit." -msgstr "" +msgstr "La limite du site Web a priorité si elle est inférieure à votre limite." -#: ../../Zotlabs/Module/Settings.php:1066 +#: ../../Zotlabs/Module/Settings/Channel.php:508 msgid "Maximum Friend Requests/Day:" msgstr "Nombre maximum de demandes de contact par jour :" -#: ../../Zotlabs/Module/Settings.php:1066 +#: ../../Zotlabs/Module/Settings/Channel.php:508 msgid "May reduce spam activity" msgstr "Contribue à réduire l'impact des indésirables" -#: ../../Zotlabs/Module/Settings.php:1067 -msgid "Default Post and Publish Permissions" -msgstr "" +#: ../../Zotlabs/Module/Settings/Channel.php:509 +msgid "Default Access Control List (ACL)" +msgstr "Default Access Control List (ACL)" -#: ../../Zotlabs/Module/Settings.php:1069 +#: ../../Zotlabs/Module/Settings/Channel.php:511 msgid "Use my default audience setting for the type of object published" -msgstr "" +msgstr "Utiliser mon paramètre de publication par défaut pour le type d'objet publié" -#: ../../Zotlabs/Module/Settings.php:1072 +#: ../../Zotlabs/Module/Settings/Channel.php:518 msgid "Channel permissions category:" msgstr "Catégorie de permissions du canal :" -#: ../../Zotlabs/Module/Settings.php:1078 +#: ../../Zotlabs/Module/Settings/Channel.php:519 +msgid "Default Permissions Group" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 msgid "Maximum private messages per day from unknown people:" msgstr "Nombre maximum de messages privés émanant d'inconnus, par jour :" -#: ../../Zotlabs/Module/Settings.php:1078 +#: ../../Zotlabs/Module/Settings/Channel.php:525 msgid "Useful to reduce spamming" msgstr "Utile pour réduire les indésirables" -#: ../../Zotlabs/Module/Settings.php:1081 +#: ../../Zotlabs/Module/Settings/Channel.php:528 msgid "Notification Settings" msgstr "Paramètres de notification" -#: ../../Zotlabs/Module/Settings.php:1082 +#: ../../Zotlabs/Module/Settings/Channel.php:529 msgid "By default post a status message when:" msgstr "Par défaut, publier un statut quand :" -#: ../../Zotlabs/Module/Settings.php:1083 +#: ../../Zotlabs/Module/Settings/Channel.php:530 msgid "accepting a friend request" msgstr "vous acceptez une demande de contact" -#: ../../Zotlabs/Module/Settings.php:1084 +#: ../../Zotlabs/Module/Settings/Channel.php:531 msgid "joining a forum/community" msgstr "vous rejoignez un forum ou une communauté" -#: ../../Zotlabs/Module/Settings.php:1085 +#: ../../Zotlabs/Module/Settings/Channel.php:532 msgid "making an <em>interesting</em> profile change" msgstr "vous faîtes une modification <em>intéressante</em> de votre profil" -#: ../../Zotlabs/Module/Settings.php:1086 +#: ../../Zotlabs/Module/Settings/Channel.php:533 msgid "Send a notification email when:" msgstr "Envoyer un courriel de notification quand :" -#: ../../Zotlabs/Module/Settings.php:1087 +#: ../../Zotlabs/Module/Settings/Channel.php:534 msgid "You receive a connection request" msgstr "Vous recevez une demande de contact" -#: ../../Zotlabs/Module/Settings.php:1088 +#: ../../Zotlabs/Module/Settings/Channel.php:535 msgid "Your connections are confirmed" msgstr "Vos contacts sont confirmés" -#: ../../Zotlabs/Module/Settings.php:1089 +#: ../../Zotlabs/Module/Settings/Channel.php:536 msgid "Someone writes on your profile wall" msgstr "Quelqu'un a écrit sur votre mur" -#: ../../Zotlabs/Module/Settings.php:1090 +#: ../../Zotlabs/Module/Settings/Channel.php:537 msgid "Someone writes a followup comment" msgstr "Quelqu'un a commenté vos publications" -#: ../../Zotlabs/Module/Settings.php:1091 +#: ../../Zotlabs/Module/Settings/Channel.php:538 msgid "You receive a private message" msgstr "Vous recevez un message privé" -#: ../../Zotlabs/Module/Settings.php:1092 +#: ../../Zotlabs/Module/Settings/Channel.php:539 msgid "You receive a friend suggestion" msgstr "Vous recevez une suggestion d'amitié/contact" -#: ../../Zotlabs/Module/Settings.php:1093 +#: ../../Zotlabs/Module/Settings/Channel.php:540 msgid "You are tagged in a post" msgstr "Vous êtes étiqueté dans une publication" -#: ../../Zotlabs/Module/Settings.php:1094 +#: ../../Zotlabs/Module/Settings/Channel.php:541 msgid "You are poked/prodded/etc. in a post" msgstr "Vous êtes tapoté/encouragé/etc. dans une publication" -#: ../../Zotlabs/Module/Settings.php:1097 +#: ../../Zotlabs/Module/Settings/Channel.php:543 +msgid "Someone likes your post/comment" +msgstr "Quelqu'un aime votre publication/commentaire" + +#: ../../Zotlabs/Module/Settings/Channel.php:546 msgid "Show visual notifications including:" msgstr "Afficher des notifications visuelles y compris :" -#: ../../Zotlabs/Module/Settings.php:1099 +#: ../../Zotlabs/Module/Settings/Channel.php:548 msgid "Unseen grid activity" msgstr "Activité du réseau pas encore consultée" -#: ../../Zotlabs/Module/Settings.php:1100 +#: ../../Zotlabs/Module/Settings/Channel.php:549 msgid "Unseen channel activity" msgstr "Activité non vue sur le canal" -#: ../../Zotlabs/Module/Settings.php:1101 +#: ../../Zotlabs/Module/Settings/Channel.php:550 msgid "Unseen private messages" msgstr "Messages privés non lus" -#: ../../Zotlabs/Module/Settings.php:1101 -#: ../../Zotlabs/Module/Settings.php:1106 -#: ../../Zotlabs/Module/Settings.php:1107 -#: ../../Zotlabs/Module/Settings.php:1108 +#: ../../Zotlabs/Module/Settings/Channel.php:550 +#: ../../Zotlabs/Module/Settings/Channel.php:555 +#: ../../Zotlabs/Module/Settings/Channel.php:556 +#: ../../Zotlabs/Module/Settings/Channel.php:557 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 msgid "Recommended" msgstr "Recommandé" -#: ../../Zotlabs/Module/Settings.php:1102 +#: ../../Zotlabs/Module/Settings/Channel.php:551 msgid "Upcoming events" msgstr "Événements à venir" -#: ../../Zotlabs/Module/Settings.php:1103 +#: ../../Zotlabs/Module/Settings/Channel.php:552 msgid "Events today" msgstr "Événements aujourd'hui" -#: ../../Zotlabs/Module/Settings.php:1104 +#: ../../Zotlabs/Module/Settings/Channel.php:553 msgid "Upcoming birthdays" msgstr "Anniversaires à venir" -#: ../../Zotlabs/Module/Settings.php:1104 +#: ../../Zotlabs/Module/Settings/Channel.php:553 msgid "Not available in all themes" msgstr "Pas disponible dans tous les thèmes" -#: ../../Zotlabs/Module/Settings.php:1105 +#: ../../Zotlabs/Module/Settings/Channel.php:554 msgid "System (personal) notifications" msgstr "Notifications système (personnelles)" -#: ../../Zotlabs/Module/Settings.php:1106 +#: ../../Zotlabs/Module/Settings/Channel.php:555 msgid "System info messages" msgstr "Messages d'info système" -#: ../../Zotlabs/Module/Settings.php:1107 +#: ../../Zotlabs/Module/Settings/Channel.php:556 msgid "System critical alerts" msgstr "Alertes critiques système" -#: ../../Zotlabs/Module/Settings.php:1108 +#: ../../Zotlabs/Module/Settings/Channel.php:557 msgid "New connections" msgstr "Nouveaux contacts" -#: ../../Zotlabs/Module/Settings.php:1109 +#: ../../Zotlabs/Module/Settings/Channel.php:558 msgid "System Registrations" msgstr "Inscriptions système" -#: ../../Zotlabs/Module/Settings.php:1110 +#: ../../Zotlabs/Module/Settings/Channel.php:559 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "Afficher également les nouvelles publications sur le mur, les messages privés et les contacts dans Notifications" -#: ../../Zotlabs/Module/Settings.php:1112 +#: ../../Zotlabs/Module/Settings/Channel.php:561 msgid "Notify me of events this many days in advance" msgstr "Me prévenir d’événements à venir tant de jours en avance" -#: ../../Zotlabs/Module/Settings.php:1112 +#: ../../Zotlabs/Module/Settings/Channel.php:561 msgid "Must be greater than 0" msgstr "Doit être supérieur à 0" -#: ../../Zotlabs/Module/Settings.php:1114 +#: ../../Zotlabs/Module/Settings/Channel.php:567 msgid "Advanced Account/Page Type Settings" msgstr "Paramètres avancés de compte/type de page" -#: ../../Zotlabs/Module/Settings.php:1115 +#: ../../Zotlabs/Module/Settings/Channel.php:568 msgid "Change the behaviour of this account for special situations" msgstr "Modifie le comportement de ce compte pour des situations particulières" -#: ../../Zotlabs/Module/Settings.php:1118 -msgid "" -"Please enable expert mode (in <a href=\"settings/features\">Settings > " -"Additional features</a>) to adjust!" -msgstr "Mode expert requis (<a href=\"settings/features\">Paramètres > Fonctions supplémentaires</a>) pour ajuster !" - -#: ../../Zotlabs/Module/Settings.php:1119 +#: ../../Zotlabs/Module/Settings/Channel.php:570 msgid "Miscellaneous Settings" msgstr "Paramètres divers" -#: ../../Zotlabs/Module/Settings.php:1120 +#: ../../Zotlabs/Module/Settings/Channel.php:571 msgid "Default photo upload folder" msgstr "Répertoire par défaut pour les photos téléversées" -#: ../../Zotlabs/Module/Settings.php:1120 -#: ../../Zotlabs/Module/Settings.php:1121 +#: ../../Zotlabs/Module/Settings/Channel.php:571 +#: ../../Zotlabs/Module/Settings/Channel.php:572 msgid "%Y - current year, %m - current month" msgstr "%Y - année en cours, %m - mois en cours" -#: ../../Zotlabs/Module/Settings.php:1121 +#: ../../Zotlabs/Module/Settings/Channel.php:572 msgid "Default file upload folder" msgstr "Répertoire par défaut pour les fichiers téléversés" -#: ../../Zotlabs/Module/Settings.php:1123 +#: ../../Zotlabs/Module/Settings/Channel.php:574 msgid "Personal menu to display in your channel pages" msgstr "Menu personnel à afficher sur les pages de votre canal" -#: ../../Zotlabs/Module/Settings.php:1125 +#: ../../Zotlabs/Module/Settings/Channel.php:576 msgid "Remove this channel." msgstr "Supprimer ce canal" -#: ../../Zotlabs/Module/Settings.php:1126 +#: ../../Zotlabs/Module/Settings/Channel.php:577 msgid "Firefox Share $Projectname provider" msgstr "Connecteur $Projectname pour Firefox Share" -#: ../../Zotlabs/Module/Settings.php:1127 +#: ../../Zotlabs/Module/Settings/Channel.php:578 msgid "Start calendar week on monday" msgstr "Commencer la semaine du calendrier le lundi" -#: ../../Zotlabs/Module/Setup.php:179 -msgid "$Projectname Server - Setup" -msgstr "Serveur $Projectname - configuration" - -#: ../../Zotlabs/Module/Setup.php:183 -msgid "Could not connect to database." -msgstr "Impossible de se connecter à la base de données." - -#: ../../Zotlabs/Module/Setup.php:187 -msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." -msgstr "Impossible de se connecter à l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS." - -#: ../../Zotlabs/Module/Setup.php:194 -msgid "Could not create table." -msgstr "Impossible de créer la table." - -#: ../../Zotlabs/Module/Setup.php:199 -msgid "Your site database has been installed." -msgstr "La base de données de votre site a été installée." - -#: ../../Zotlabs/Module/Setup.php:203 -msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." -msgstr "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin)." - -#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266 -#: ../../Zotlabs/Module/Setup.php:721 -msgid "Please see the file \"install/INSTALL.txt\"." -msgstr "Merci de consulter le fichier \"install/INSTALL.txt\"." - -#: ../../Zotlabs/Module/Setup.php:263 -msgid "System check" -msgstr "Vérification du système" - -#: ../../Zotlabs/Module/Setup.php:268 -msgid "Check again" -msgstr "Re-vérifier" - -#: ../../Zotlabs/Module/Setup.php:290 -msgid "Database connection" -msgstr "Connexion à la base de données" - -#: ../../Zotlabs/Module/Setup.php:291 -msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." -msgstr "Pour installer $Projectname, nous avons besoin de savoir comment se connecter à votre base de données." - -#: ../../Zotlabs/Module/Setup.php:292 -msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." -msgstr "Merci de contacter votre prestataire d'hébergement ou votre administrateur de site si vous avez des questions à propos de ces paramètres." - -#: ../../Zotlabs/Module/Setup.php:293 -msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." -msgstr "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer." - -#: ../../Zotlabs/Module/Setup.php:297 -msgid "Database Server Name" -msgstr "Nom du serveur de base de données" - -#: ../../Zotlabs/Module/Setup.php:297 -msgid "Default is 127.0.0.1" -msgstr "Par défaut 127.0.0.1" - -#: ../../Zotlabs/Module/Setup.php:298 -msgid "Database Port" -msgstr "Port de la base de données" - -#: ../../Zotlabs/Module/Setup.php:298 -msgid "Communication port number - use 0 for default" -msgstr "Numéro TCP du port - utilisez 0 pour la valeur par défaut" - -#: ../../Zotlabs/Module/Setup.php:299 -msgid "Database Login Name" -msgstr "Identifiant de connexion à la Base de Données" - -#: ../../Zotlabs/Module/Setup.php:300 -msgid "Database Login Password" -msgstr "Mot de passe de connexion à la Base de Données" - -#: ../../Zotlabs/Module/Setup.php:301 -msgid "Database Name" -msgstr "Nom de la Base de Données" - -#: ../../Zotlabs/Module/Setup.php:302 -msgid "Database Type" -msgstr "Type de base de données" - -#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344 -msgid "Site administrator email address" -msgstr "Adresse de courriel de l'administrateur du site" - -#: ../../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 "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web." - -#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346 -msgid "Website URL" -msgstr "URL du site web" - -#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346 -msgid "Please use SSL (https) URL if available." -msgstr "Veuillez utiliser SSL/TLS (https) si disponible." - -#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349 -msgid "Please select a default timezone for your website" -msgstr "Veuillez choisir un fuseau horaire par défaut pour votre site" - -#: ../../Zotlabs/Module/Setup.php:333 -msgid "Site settings" -msgstr "Paramètres du site" - -#: ../../Zotlabs/Module/Setup.php:347 -msgid "Enable $Projectname <strong>advanced</strong> features?" -msgstr "Activer les fonctionnalités <strong>avancées</strong> de $Projectname ?" - -#: ../../Zotlabs/Module/Setup.php:347 -msgid "" -"Some advanced features, while useful - may be best suited for technically " -"proficient audiences" -msgstr "Certaines fonctionnalités avancées, bien qu'utiles, sont plus adaptées aux utilisateurs chevronnés." - -#: ../../Zotlabs/Module/Setup.php:388 -msgid "PHP version 5.5 or greater is required." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:389 -msgid "PHP version" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:404 -msgid "Could not find a command line version of PHP in the web server PATH." -msgstr "Impossible de trouver une version CLI de PHP dans le PATH du serveur 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 "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la synchronisation en arrière-plan via cron." - -#: ../../Zotlabs/Module/Setup.php:409 -msgid "PHP executable path" -msgstr "Chemin vers l'éxecutable PHP" - -#: ../../Zotlabs/Module/Setup.php:409 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." -msgstr "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans." - -#: ../../Zotlabs/Module/Setup.php:414 -msgid "Command line PHP" -msgstr "PHP en ligne de commande (CLI)" - -#: ../../Zotlabs/Module/Setup.php:423 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." -msgstr "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée." - -#: ../../Zotlabs/Module/Setup.php:424 -msgid "This is required for message delivery to work." -msgstr "Elle est nécessaire pour la distribution des messages." - -#: ../../Zotlabs/Module/Setup.php:427 -msgid "PHP register_argc_argv" -msgstr "PHP register_argc_argv" - -#: ../../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." -msgstr "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois." - -#: ../../Zotlabs/Module/Setup.php:450 -msgid "You can adjust these settings in the servers php.ini." -msgstr "Vous pouvez ajuster ces paramètres dans le php.ini du serveur." - -#: ../../Zotlabs/Module/Setup.php:452 -msgid "PHP upload limits" -msgstr "Limites de téléversement de PHP" - -#: ../../Zotlabs/Module/Setup.php:475 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" -msgstr "Erreur : la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement" - -#: ../../Zotlabs/Module/Setup.php:476 -msgid "" -"If running under Windows, please see " -"\"http://www.php.net/manual/en/openssl.installation.php\"." -msgstr "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\"." - -#: ../../Zotlabs/Module/Setup.php:479 -msgid "Generate encryption keys" -msgstr "Générer les clefs de chiffrement" - -#: ../../Zotlabs/Module/Setup.php:491 -msgid "libCurl PHP module" -msgstr "module PHP libCurl" - -#: ../../Zotlabs/Module/Setup.php:492 -msgid "GD graphics PHP module" -msgstr "module PHP GD graphics" - -#: ../../Zotlabs/Module/Setup.php:493 -msgid "OpenSSL PHP module" -msgstr "module PHP OpenSSL" - -#: ../../Zotlabs/Module/Setup.php:494 -msgid "mysqli or postgres PHP module" -msgstr "module PHP postgres ou mysqli" - -#: ../../Zotlabs/Module/Setup.php:495 -msgid "mb_string PHP module" -msgstr "module PHP mb_string" - -#: ../../Zotlabs/Module/Setup.php:496 -msgid "mcrypt PHP module" -msgstr "module PHP mcrypt" - -#: ../../Zotlabs/Module/Setup.php:497 -msgid "xml PHP module" -msgstr "module PHP xml" - -#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503 -msgid "Apache mod_rewrite module" -msgstr "module Apache mod_rewrite" - -#: ../../Zotlabs/Module/Setup.php:501 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." -msgstr "Erreur : le module mod-rewrite du serveur web Apache est requis, mais pas installé." - -#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510 -msgid "proc_open" -msgstr "proc_open" - -#: ../../Zotlabs/Module/Setup.php:507 -msgid "" -"Error: proc_open is required but is either not installed or has been " -"disabled in php.ini" -msgstr "Erreur : proc_open est requis, mais soit n'est pas installé, soit est désactivé dans le php.ini" - -#: ../../Zotlabs/Module/Setup.php:515 -msgid "Error: libCURL PHP module required but not installed." -msgstr "Erreur : le module libCURL de PHP est requis, mais pas installé." - -#: ../../Zotlabs/Module/Setup.php:519 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." -msgstr "Erreur : le module GD de PHP avec support JPEG est requis, mais pas installé." - -#: ../../Zotlabs/Module/Setup.php:523 -msgid "Error: openssl PHP module required but not installed." -msgstr "Erreur : le module openssl de PHP est requis, mais pas installé." - -#: ../../Zotlabs/Module/Setup.php:527 -msgid "" -"Error: mysqli or postgres PHP module required but neither are installed." -msgstr "Erreur : un module PHP mysqli ou postgres est requis, mais aucun des deux n'est installé." - -#: ../../Zotlabs/Module/Setup.php:531 -msgid "Error: mb_string PHP module required but not installed." -msgstr "Erreur : le module mb_string de PHP est requis, mais pas installé." - -#: ../../Zotlabs/Module/Setup.php:535 -msgid "Error: mcrypt PHP module required but not installed." -msgstr "Erreur : le module mcrypt de PHP est requis, mais pas installé." - -#: ../../Zotlabs/Module/Setup.php:539 -msgid "Error: xml PHP module required for DAV but not installed." -msgstr "Erreur : le module xml de PHP est requis pour le DAV, mais pas installé." - -#: ../../Zotlabs/Module/Setup.php:557 -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'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable." - -#: ../../Zotlabs/Module/Setup.php:558 -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 "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit." - -#: ../../Zotlabs/Module/Setup.php:559 -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 "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de $Projectname." - -#: ../../Zotlabs/Module/Setup.php:560 -msgid "" -"You can alternatively skip this procedure and perform a manual installation." -" Please see the file \"install/INSTALL.txt\" for instructions." -msgstr "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées." - -#: ../../Zotlabs/Module/Setup.php:563 -msgid ".htconfig.php is writable" -msgstr "Le fichier .htconfig.php est accessible en écriture" - -#: ../../Zotlabs/Module/Setup.php:577 -msgid "" -"Red uses the Smarty3 template engine to render its web views. Smarty3 " -"compiles templates to PHP to speed up rendering." -msgstr "$Projectname utilise le moteur de gabarits Smarty3 pour mettre son contenu en forme. Smarty3 compile ses modèles vers du PHP natif pour accélérer le rendu." - -#: ../../Zotlabs/Module/Setup.php:578 -#, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the top level web folder." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has" -" write access to this folder." -msgstr "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire." - -#: ../../Zotlabs/Module/Setup.php:580 -#, 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: Comme mesure de sécurité, assurez vous de donner les droits d'écriture au serveur web sur %s uniquement, pas sur les fichiers individuels (.tpl) qu'il contient." - -#: ../../Zotlabs/Module/Setup.php:583 -#, php-format -msgid "%s is writable" -msgstr "Permission d'écriture sur %s activée" - -#: ../../Zotlabs/Module/Setup.php:599 -msgid "" -"Red 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 "$Projectname utilise le répertoire 'store' - situé à la racine de votre installation de $Projectname - pour sauvegarder les fichiers envoyés. Le serveur web aura donc besoin de pouvoir y écrire." - -#: ../../Zotlabs/Module/Setup.php:603 -msgid "store is writable" -msgstr "'store' est accessible en écriture" - -#: ../../Zotlabs/Module/Setup.php:636 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access" -" to this site." -msgstr "Le certificat SSL/TLS n'a pas pu être validé. Merci de le corriger, ou de désactiver l'accès https à ce site (non recommandé)." - -#: ../../Zotlabs/Module/Setup.php:637 -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 votre serveur accepte les connexions https ou s'il permet les connexions sur le port TCP 443 (le port utilisé par le protocole https), vous DEVEZ utiliser un certificat valide. Vous ne DEVEZ PAS utiliser un certificat que vous avez vous-mêmes signé !" - -#: ../../Zotlabs/Module/Setup.php:638 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." -msgstr "Nous avons ajouté cette contrainte pour éviter que vos publications publiques ne fassent référence par exemple à des images sur votre propre hub." - -#: ../../Zotlabs/Module/Setup.php:639 -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 votre certificat n'est pas reconnu, les membres des autres sites (qui eux peuvent avoir des certificats valides) recevront des messages d'avertissement sur leur propre site se plaignant de problèmes de sécurité." - -#: ../../Zotlabs/Module/Setup.php:640 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." -msgstr "Ceci peut causer des problèmes d'ergonomie ailleurs (pas seulement sur votre site), nous devons donc insister sur ce prérequis." - -#: ../../Zotlabs/Module/Setup.php:641 -msgid "" -"Providers are available that issue free certificates which are browser-" -"valid." -msgstr "Il existe des autorités de certification qui vous fourniront gratuitement un certificat valide." - -#: ../../Zotlabs/Module/Setup.php:643 -msgid "SSL certificate validation" -msgstr "Validation du certificat SSL/TLS" - -#: ../../Zotlabs/Module/Setup.php:649 -msgid "" -"Url rewrite in .htaccess is not working. Check your server " -"configuration.Test: " -msgstr "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Vérifiez votre configuration serveur. Test :" - -#: ../../Zotlabs/Module/Setup.php:652 -msgid "Url rewrite is working" -msgstr "La réécriture d'URL fonctionne" - -#: ../../Zotlabs/Module/Setup.php:661 -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 "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web." - -#: ../../Zotlabs/Module/Setup.php:685 -msgid "Errors encountered creating database tables." -msgstr "Erreurs rencontrées pendant la création de tables de BDD." - -#: ../../Zotlabs/Module/Setup.php:719 -msgid "<h1>What next</h1>" -msgstr "<h1>Et maintenant</h1>" - -#: ../../Zotlabs/Module/Setup.php:720 -msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the " -"poller." -msgstr "IMPORTANT : Vous devez créer [manuellement] une tâche planifiée pour les mises à jour du réseau." - -#: ../../Zotlabs/Module/Sharedwithme.php:98 -msgid "Files: shared with me" -msgstr "Fichiers : partagés avec moi" - -#: ../../Zotlabs/Module/Sharedwithme.php:100 -msgid "NEW" -msgstr "NOUVEAU" - -#: ../../Zotlabs/Module/Sharedwithme.php:103 -msgid "Remove all files" -msgstr "Supprimer tous les fichiers" - -#: ../../Zotlabs/Module/Sharedwithme.php:104 -msgid "Remove this file" -msgstr "Supprimer ce fichier" +#: ../../Zotlabs/Module/Settings/Display.php:137 +msgid "No special theme for mobile devices" +msgstr "Pas de thème spécifique aux mobiles" -#: ../../Zotlabs/Module/Siteinfo.php:19 +#: ../../Zotlabs/Module/Settings/Display.php:140 #, php-format -msgid "Version %s" -msgstr "Version %s" - -#: ../../Zotlabs/Module/Siteinfo.php:40 -msgid "Installed plugins/addons/apps:" -msgstr "Greffons/extensions/applications installés :" - -#: ../../Zotlabs/Module/Siteinfo.php:53 -msgid "No installed plugins/addons/apps" -msgstr "Aucun greffon/extension/application installé" +msgid "%s - (Experimental)" +msgstr "%s - (Expérimental)" -#: ../../Zotlabs/Module/Siteinfo.php:66 -msgid "" -"This is a hub of $Projectname - a global cooperative network of " -"decentralized privacy enhanced websites." -msgstr "Ceci est un serveur $Projectname - un réseau collaboratif mondial de serveurs décentralisés à la confidentialité améliorée." +#: ../../Zotlabs/Module/Settings/Display.php:191 +msgid "Display Settings" +msgstr "Afficher les paramètres" -#: ../../Zotlabs/Module/Siteinfo.php:68 -msgid "Tag: " -msgstr "Étiquette :" +#: ../../Zotlabs/Module/Settings/Display.php:192 +msgid "Theme Settings" +msgstr "Paramètres du thème" -#: ../../Zotlabs/Module/Siteinfo.php:70 -msgid "Last background fetch: " -msgstr "Dernière récupération en tâche de fond :" +#: ../../Zotlabs/Module/Settings/Display.php:193 +msgid "Custom Theme Settings" +msgstr "Paramètres personnels du thème" -#: ../../Zotlabs/Module/Siteinfo.php:72 -msgid "Current load average: " -msgstr "Charge moyenne actuelle :" +#: ../../Zotlabs/Module/Settings/Display.php:194 +msgid "Content Settings" +msgstr "Paramètres liés au contenu" -#: ../../Zotlabs/Module/Siteinfo.php:75 -msgid "Running at web location" -msgstr "Tourne à l'adresse internet" +#: ../../Zotlabs/Module/Settings/Display.php:200 +msgid "Display Theme:" +msgstr "Afficher le thème :" -#: ../../Zotlabs/Module/Siteinfo.php:76 -msgid "" -"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more " -"about $Projectname." -msgstr "Merci de visiter <a href=\"http://hubzilla.org\">hubzilla.org</a> pour en apprendre davantage sur $Projectname." +#: ../../Zotlabs/Module/Settings/Display.php:201 +msgid "Select scheme" +msgstr "Définir la palette de couleurs" -#: ../../Zotlabs/Module/Siteinfo.php:77 -msgid "Bug reports and issues: please visit" -msgstr "Pour remonter bogues et problèmes, merci de visiter" +#: ../../Zotlabs/Module/Settings/Display.php:203 +msgid "Mobile Theme:" +msgstr "Thème mobile :" -#: ../../Zotlabs/Module/Siteinfo.php:79 -msgid "$projectname issues" -msgstr "Problèmes $projectname" +#: ../../Zotlabs/Module/Settings/Display.php:204 +msgid "Preload images before rendering the page" +msgstr "Pré-charger les images avant d'afficher la page" -#: ../../Zotlabs/Module/Siteinfo.php:80 +#: ../../Zotlabs/Module/Settings/Display.php:204 msgid "" -"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot " -"com" -msgstr "Suggestions, demandes, etc. - merci de vous adresser à \"redmatrix\" à librelist - point com" - -#: ../../Zotlabs/Module/Siteinfo.php:82 -msgid "Site Administrators" -msgstr "Administrateurs du site" - -#: ../../Zotlabs/Module/Sources.php:37 -msgid "Failed to create source. No channel selected." -msgstr "Impossible de créer la source. Aucun canal selectionné." - -#: ../../Zotlabs/Module/Sources.php:51 -msgid "Source created." -msgstr "Source créée." +"The subjective page load time will be longer but the page will be ready when" +" displayed" +msgstr "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera" -#: ../../Zotlabs/Module/Sources.php:64 -msgid "Source updated." -msgstr "Source mise à jour." +#: ../../Zotlabs/Module/Settings/Display.php:205 +msgid "Enable user zoom on mobile devices" +msgstr "Permettre à l'utilisateur d'un mobile d'agrandir le contenu" -#: ../../Zotlabs/Module/Sources.php:90 -msgid "*" -msgstr "*" +#: ../../Zotlabs/Module/Settings/Display.php:206 +msgid "Update browser every xx seconds" +msgstr "Mettre à jour le navigateur toutes les xx secondes" -#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630 -#: ../../include/features.php:71 -msgid "Channel Sources" -msgstr "Sources du canal" +#: ../../Zotlabs/Module/Settings/Display.php:206 +msgid "Minimum of 10 seconds, no maximum" +msgstr "Minimum 10 secondes, pas de maximum" -#: ../../Zotlabs/Module/Sources.php:97 -msgid "Manage remote sources of content for your channel." -msgstr "Gérer les sources distantes de contenu pour votre canal." +#: ../../Zotlabs/Module/Settings/Display.php:207 +msgid "Maximum number of conversations to load at any time:" +msgstr "Nombre maximal de conversations pouvant être chargées en même temps :" -#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108 -msgid "New Source" -msgstr "Nouvelle source" +#: ../../Zotlabs/Module/Settings/Display.php:207 +msgid "Maximum of 100 items" +msgstr "100 éléments au maximum" -#: ../../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 "Importer le contenu sélectionné ou tout le contenu du canal suivant vers ce canal et le distribuer selon vos paramètres de canal." +#: ../../Zotlabs/Module/Settings/Display.php:208 +msgid "Show emoticons (smilies) as images" +msgstr "Remplacer les émoticônes (smileys) par des images" -#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 -msgid "Only import content with these words (one per line)" -msgstr "N'importer le contenu que s'il contient ces mots (un par ligne)" +#: ../../Zotlabs/Module/Settings/Display.php:209 +msgid "Manual conversation updates" +msgstr "Manuel de mises à jour des conversations" -#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144 -msgid "Leave blank to import all public content" -msgstr "Laissez vide pour importer tout le contenu public" +#: ../../Zotlabs/Module/Settings/Display.php:209 +msgid "Default is on, turning this off may increase screen jumping" +msgstr "Activé par défaut, le désactiver peut accroître les sauts d'écran" -#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148 -msgid "Channel Name" -msgstr "Nom du canal" +#: ../../Zotlabs/Module/Settings/Display.php:210 +msgid "Link post titles to source" +msgstr "Lier les titres des publications à leur source" -#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147 -msgid "" -"Add the following categories to posts imported from this source (comma " -"separated)" -msgstr "" +#: ../../Zotlabs/Module/Settings/Display.php:211 +msgid "System Page Layout Editor - (advanced)" +msgstr "Editeur de mise en page des pages systèmes - (avancé)" -#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161 -msgid "Source not found." -msgstr "Source introuvable." +#: ../../Zotlabs/Module/Settings/Display.php:214 +msgid "Use blog/list mode on channel page" +msgstr "Utiliser le mode blog/liste sur la page du canal" -#: ../../Zotlabs/Module/Sources.php:140 -msgid "Edit Source" -msgstr "Modifier la source" +#: ../../Zotlabs/Module/Settings/Display.php:214 +#: ../../Zotlabs/Module/Settings/Display.php:215 +msgid "(comments displayed separately)" +msgstr "(commentaires affichés séparément)" -#: ../../Zotlabs/Module/Sources.php:141 -msgid "Delete Source" -msgstr "Supprimer la source" +#: ../../Zotlabs/Module/Settings/Display.php:215 +msgid "Use blog/list mode on grid page" +msgstr "Utiliser le mode blog/liste sur la page du réseau" -#: ../../Zotlabs/Module/Sources.php:169 -msgid "Source removed" -msgstr "Source supprimée" +#: ../../Zotlabs/Module/Settings/Display.php:216 +msgid "Channel page max height of content (in pixels)" +msgstr "Hauteur maximale du contenu pour la page du canal (en pixels)" -#: ../../Zotlabs/Module/Sources.php:171 -msgid "Unable to remove source." -msgstr "Impossible de supprimer la source." +#: ../../Zotlabs/Module/Settings/Display.php:216 +#: ../../Zotlabs/Module/Settings/Display.php:217 +msgid "click to expand content exceeding this height" +msgstr "cliquer pour dérouler le contenu dépassant cette limite" -#: ../../Zotlabs/Module/Subthread.php:118 -#, php-format -msgid "%1$s is following %2$s's %3$s" -msgstr "%1$s suit %3$s de %2$s" +#: ../../Zotlabs/Module/Settings/Display.php:217 +msgid "Grid page max height of content (in pixels)" +msgstr "Hauteur maximale du contenu sur la page du réseau (en pixels)" -#: ../../Zotlabs/Module/Subthread.php:120 -#, php-format -msgid "%1$s stopped following %2$s's %3$s" -msgstr "%1$s ne suit plus %3$s de %2$s" +#: ../../Zotlabs/Module/Settings/Permcats.php:37 +msgid "Permission category saved." +msgstr "Catégorie d'autorisation enregistrée." -#: ../../Zotlabs/Module/Suggest.php:39 +#: ../../Zotlabs/Module/Settings/Permcats.php:63 msgid "" -"No suggestions available. If this is a new site, please try again in 24 " -"hours." -msgstr "Aucune suggestion disponible. Si le site est récent, merci de re-tenter dans 24 heures." - -#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149 -msgid "Ignore/Hide" -msgstr "Ignorer/Cacher" +"Use this form to create permission rules for various classes of people or " +"connections." +msgstr "Utilisez ce formulaire pour créer des règles d'accès pour différentes catégories de personnes ou de contacts." -#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256 -msgid "post" -msgstr "publication" +#: ../../Zotlabs/Module/Settings/Permcats.php:96 +msgid "Permission Categories" +msgstr "Catégories d'autorisation" -#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948 -#: ../../include/conversation.php:150 -msgid "comment" -msgstr "commentaire" - -#: ../../Zotlabs/Module/Tagger.php:100 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" -msgstr "%1$s a étiqueté le %3$s de %2$s avec %4$s" +#: ../../Zotlabs/Module/Settings/Permcats.php:104 +msgid "Permission Name" +msgstr "Nom de l'autorisation" #: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98 msgid "Tag removed" @@ -6136,219 +6982,219 @@ msgstr "élément introuvable." msgid "Edit Thing" msgstr "Modifier élément" -#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351 +#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355 msgid "Select a profile" msgstr "Choisissez un profil" -#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354 +#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358 msgid "Post an activity" msgstr "Publier une activité" -#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354 +#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358 msgid "Only sends to viewers of the applicable profile" msgstr "Envoie exclusivement aux visiteurs du profil concerné" -#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356 +#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360 msgid "Name of thing e.g. something" msgstr "Nom de l'élément, p.ex. quelque-chose" -#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357 +#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361 msgid "URL of thing (optional)" msgstr "URL de l'élément (facultatif)" -#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358 +#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362 msgid "URL for photo of thing (optional)" msgstr "URL d'une photo de l'élément (facultatif)" -#: ../../Zotlabs/Module/Thing.php:349 +#: ../../Zotlabs/Module/Thing.php:353 msgid "Add Thing to your Profile" msgstr "Ajouter l'élément à votre profil" -#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56 -msgid "Export Channel" -msgstr "Exporter le canal" +#: ../../Zotlabs/Module/Mail.php:65 +msgid "Unable to lookup recipient." +msgstr "Impossible de localiser le destinataire." -#: ../../Zotlabs/Module/Uexport.php:57 -msgid "" -"Export your basic channel information to a file. This acts as a backup of " -"your connections, permissions, profile and basic data, which can be used to " -"import your data to a new server hub, but does not contain your content." -msgstr "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus." +#: ../../Zotlabs/Module/Mail.php:72 +msgid "Unable to communicate with requested channel." +msgstr "Impossible de communiquer avec le canal demandé." -#: ../../Zotlabs/Module/Uexport.php:58 -msgid "Export Content" -msgstr "Exporter le contenu" +#: ../../Zotlabs/Module/Mail.php:79 +msgid "Cannot verify requested channel." +msgstr "Impossible de vérifier le canal demandé." -#: ../../Zotlabs/Module/Uexport.php:59 -msgid "" -"Export your channel information and recent content to a JSON backup that can" -" be restored or imported to another server hub. This backs up all of your " -"connections, permissions, profile data and several months of posts. This " -"file may be VERY large. Please be patient - it may take several minutes for" -" this download to begin." -msgstr "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence." +#: ../../Zotlabs/Module/Mail.php:97 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué." -#: ../../Zotlabs/Module/Uexport.php:60 -msgid "Export your posts from a given year." -msgstr "Exporter vos publications d'une année en particulier" +#: ../../Zotlabs/Module/Mail.php:178 +msgid "Messages" +msgstr "Messages" -#: ../../Zotlabs/Module/Uexport.php:62 -msgid "" -"You may also export your posts and conversations for a particular year or " -"month. Adjust the date in your browser location bar to select other dates. " -"If the export fails (possibly due to memory exhaustion on your server hub), " -"please try again selecting a more limited date range." -msgstr "Vous pouvez également exporter vos publications et conversations pour une année ou un mois particulier. Ajustez la date dans la barre de votre navigateur pour sélectionner d'autres dates. Si l'export échoue (possible en cas de pénurie de mémoire sur le serveur de votre hub), essayez à nouveau en sélectionnant un intervalle de dates plus petit." +#: ../../Zotlabs/Module/Mail.php:213 +msgid "Message recalled." +msgstr "Message rappelé." -#: ../../Zotlabs/Module/Uexport.php:63 -#, php-format -msgid "" -"To select all posts for a given year, such as this year, visit <a " -"href=\"%1$s\">%2$s</a>" -msgstr "Pour sélectionner toutes les publications pour une année donnée, telle que cette année, visitez <a href=\"%1$s\">%2$s</a>" +#: ../../Zotlabs/Module/Mail.php:226 +msgid "Conversation removed." +msgstr "Conversation supprimée." -#: ../../Zotlabs/Module/Uexport.php:64 -#, php-format -msgid "" -"To select all posts for a given month, such as January of this year, visit " -"<a href=\"%1$s\">%2$s</a>" -msgstr "Pour sélectionner toutes les publications pour un mois donné, par exemple janvier, visitez <a href=\"%1$s\">%2$s</a>" +#: ../../Zotlabs/Module/Mail.php:240 ../../Zotlabs/Module/Mail.php:349 +#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1330 +msgid "Please enter a link URL:" +msgstr "Merci d'entrer l'URL d'un lien :" -#: ../../Zotlabs/Module/Uexport.php:65 -#, php-format -msgid "" -"These content files may be imported or restored by visiting <a " -"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results" -" please import or restore these in date order (oldest first)." -msgstr "Ces fichiers de contenu peuvent être importés ou restaurés en visitant <a href=\"%1$s\">%2$s</a> sur n'importe quel site hébergeant votre canal. Pour de meilleurs résultats merci de les importer par ordre chronologique (les plus anciens d'abord)." +#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Mail.php:350 +msgid "Expires YYYY-MM-DD HH:MM" +msgstr "Expire le YYYY-MM-DD à HH:MM" -#: ../../Zotlabs/Module/Viewconnections.php:62 -msgid "No connections." -msgstr "Aucun contact." +#: ../../Zotlabs/Module/Mail.php:269 +msgid "Requested channel is not in this network" +msgstr "Le canal demandé n'est pas sur ce réseau" -#: ../../Zotlabs/Module/Viewconnections.php:75 -#, php-format -msgid "Visit %s's profile [%s]" -msgstr "Visiter le profil de %s [%s]" +#: ../../Zotlabs/Module/Mail.php:277 +msgid "Send Private Message" +msgstr "Envoyer un message privé" -#: ../../Zotlabs/Module/Viewconnections.php:104 -msgid "View Connections" -msgstr "Voir les contacts" +#: ../../Zotlabs/Module/Mail.php:278 ../../Zotlabs/Module/Mail.php:403 +msgid "To:" +msgstr "À :" -#: ../../Zotlabs/Module/Viewsrc.php:44 -msgid "Source of Item" -msgstr "Source de l'élément" +#: ../../Zotlabs/Module/Mail.php:281 ../../Zotlabs/Module/Mail.php:405 +msgid "Subject:" +msgstr "Objet :" -#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217 -#: ../../include/nav.php:106 ../../include/conversation.php:1685 -msgid "Webpages" -msgstr "Pages web" +#: ../../Zotlabs/Module/Mail.php:286 ../../Zotlabs/Module/Mail.php:411 +#: ../../include/conversation.php:1390 +msgid "Attach file" +msgstr "Joindre un fichier" -#: ../../Zotlabs/Module/Webpages.php:195 ../../include/page_widgets.php:41 -msgid "Actions" -msgstr "Actions" +#: ../../Zotlabs/Module/Mail.php:288 +msgid "Send" +msgstr "Envoyer" -#: ../../Zotlabs/Module/Webpages.php:196 ../../include/page_widgets.php:42 -msgid "Page Link" -msgstr "Lien vers la page" +#: ../../Zotlabs/Module/Mail.php:291 ../../Zotlabs/Module/Mail.php:416 +#: ../../include/conversation.php:1435 +msgid "Set expiration date" +msgstr "Définir la date d'expiration" -#: ../../Zotlabs/Module/Webpages.php:197 -msgid "Page Title" -msgstr "Titre de la page" +#: ../../Zotlabs/Module/Mail.php:293 ../../Zotlabs/Module/Mail.php:418 +#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:743 +#: ../../include/conversation.php:1440 +msgid "Encrypt text" +msgstr "Chiffrer le texte" -#: ../../Zotlabs/Module/Xchan.php:10 -msgid "Xchan Lookup" -msgstr "Recherche xchan" +#: ../../Zotlabs/Module/Mail.php:375 +msgid "Delete message" +msgstr "Supprimer le message" -#: ../../Zotlabs/Module/Xchan.php:13 -msgid "Lookup xchan beginning with (or webbie): " -msgstr "Recherche xchan commençant par (ou adresse \"webbie\") :" +#: ../../Zotlabs/Module/Mail.php:376 +msgid "Delivery report" +msgstr "Rapport de distribution" -#: ../../Zotlabs/Lib/Apps.php:204 -msgid "Site Admin" -msgstr "Administrateur" +#: ../../Zotlabs/Module/Mail.php:377 +msgid "Recall message" +msgstr "Rappeler le message" -#: ../../Zotlabs/Lib/Apps.php:205 -msgid "Bug Report" -msgstr "" +#: ../../Zotlabs/Module/Mail.php:379 +msgid "Message has been recalled." +msgstr "Le message a été rappelé." -#: ../../Zotlabs/Lib/Apps.php:206 -msgid "View Bookmarks" -msgstr "" +#: ../../Zotlabs/Module/Mail.php:396 +msgid "Delete Conversation" +msgstr "Supprimer la conversation" -#: ../../Zotlabs/Lib/Apps.php:207 -msgid "My Chatrooms" -msgstr "" +#: ../../Zotlabs/Module/Mail.php:398 +msgid "" +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." +msgstr "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur." -#: ../../Zotlabs/Lib/Apps.php:209 -msgid "Firefox Share" -msgstr "" +#: ../../Zotlabs/Module/Mail.php:402 +msgid "Send Reply" +msgstr "Envoyer la réponse" -#: ../../Zotlabs/Lib/Apps.php:210 -msgid "Remote Diagnostics" -msgstr "" +#: ../../Zotlabs/Module/Mail.php:407 +#, php-format +msgid "Your message for %s (%s):" +msgstr "Votre message pour %s (%s) :" -#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89 -msgid "Suggest Channels" -msgstr "Suggérer des canaux" +#: ../../Zotlabs/Module/Viewconnections.php:65 +msgid "No connections." +msgstr "Aucun contact." -#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110 -#: ../../boot.php:1703 -msgid "Login" -msgstr "Connexion" +#: ../../Zotlabs/Module/Viewconnections.php:78 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "Visiter le profil de %s [%s]" -#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179 -msgid "Grid" -msgstr "Réseau" +#: ../../Zotlabs/Module/Viewconnections.php:107 +msgid "View Connections" +msgstr "Voir les contacts" -#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182 -msgid "Channel Home" -msgstr "Mon canal" +#: ../../Zotlabs/Module/Viewsrc.php:44 +msgid "Source of Item" +msgstr "Source de l'élément" -#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201 -#: ../../include/conversation.php:1649 ../../include/conversation.php:1652 -msgid "Events" -msgstr "Événements" +#: ../../Zotlabs/Module/Chat.php:181 +msgid "Room not found" +msgstr "Salon introuvable" -#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167 -msgid "Directory" -msgstr "Annuaire" +#: ../../Zotlabs/Module/Chat.php:197 +msgid "Leave Room" +msgstr "Quitter le salon" -#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193 -msgid "Mail" -msgstr "Messages" +#: ../../Zotlabs/Module/Chat.php:198 +msgid "Delete Room" +msgstr "Supprimer le salon" -#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96 -msgid "Chat" -msgstr "Clavardage" +#: ../../Zotlabs/Module/Chat.php:199 +msgid "I am away right now" +msgstr "Je suis absent en ce moment" -#: ../../Zotlabs/Lib/Apps.php:229 -msgid "Probe" -msgstr "Sonder" +#: ../../Zotlabs/Module/Chat.php:200 +msgid "I am online" +msgstr "Je suis en ligne" -#: ../../Zotlabs/Lib/Apps.php:230 -msgid "Suggest" -msgstr "Suggérer" +#: ../../Zotlabs/Module/Chat.php:202 +msgid "Bookmark this room" +msgstr "Marquer ce salon comme favori" -#: ../../Zotlabs/Lib/Apps.php:231 -msgid "Random Channel" -msgstr "Un canal au hasard" +#: ../../Zotlabs/Module/Chat.php:231 +msgid "New Chatroom" +msgstr "Nouveau salon de discussion" -#: ../../Zotlabs/Lib/Apps.php:232 -msgid "Invite" -msgstr "Invitation" +#: ../../Zotlabs/Module/Chat.php:232 +msgid "Chatroom name" +msgstr "Nom du salon de conversation" -#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386 -msgid "Features" -msgstr "Fonctionalités" +#: ../../Zotlabs/Module/Chat.php:233 +msgid "Expiration of chats (minutes)" +msgstr "Expiration des discussions (en minutes)" -#: ../../Zotlabs/Lib/Apps.php:235 -msgid "Post" -msgstr "Envoyer" +#: ../../Zotlabs/Module/Chat.php:249 +#, php-format +msgid "%1$s's Chatrooms" +msgstr "Salons de %1$s" -#: ../../Zotlabs/Lib/Apps.php:335 -msgid "Purchase" -msgstr "Acheter" +#: ../../Zotlabs/Module/Chat.php:254 +msgid "No chatrooms available" +msgstr "Aucun salon de conversation disponible" + +#: ../../Zotlabs/Module/Chat.php:258 +msgid "Expiration" +msgstr "Expiration" + +#: ../../Zotlabs/Module/Chat.php:259 +msgid "min" +msgstr "min" + +#: ../../Zotlabs/Module/Xchan.php:10 +msgid "Xchan Lookup" +msgstr "Recherche xchan" + +#: ../../Zotlabs/Module/Xchan.php:13 +msgid "Lookup xchan beginning with (or webbie): " +msgstr "Recherche xchan commençant par (ou adresse \"webbie\") :" #: ../../Zotlabs/Lib/Chatroom.php:27 msgid "Missing room name" @@ -6370,216 +7216,297 @@ msgstr "Salon introuvable." msgid "Room is full" msgstr "Le salon est plein" -#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823 +#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1924 msgid "$Projectname Notification" msgstr "Notification $Projectname" -#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824 +#: ../../Zotlabs/Lib/Enotify.php:61 ../../extend/addon/addon/diaspora/p.php:46 +#: ../../extend/addon/addon/diaspora/util.php:218 +#: ../../extend/addon/addon/diaspora/util.php:231 +#: ../../include/network.php:1925 msgid "$projectname" msgstr "$projectname" -#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826 +#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1927 msgid "Thank You," msgstr "Merci," -#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828 +#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1929 #, php-format msgid "%s Administrator" msgstr "l'administrateur de %s" -#: ../../Zotlabs/Lib/Enotify.php:100 +#: ../../Zotlabs/Lib/Enotify.php:116 #, php-format msgid "%s <!item_type!>" msgstr "%s <!item_type!>" -#: ../../Zotlabs/Lib/Enotify.php:104 +#: ../../Zotlabs/Lib/Enotify.php:120 #, php-format -msgid "[Hubzilla:Notify] New mail received at %s" -msgstr "[Hubzilla:Notify] Nouveau courriel reçu à %s" +msgid "[$Projectname:Notify] New mail received at %s" +msgstr "[$Projectname:Notify] Nouveau mail reçu sur %s" -#: ../../Zotlabs/Lib/Enotify.php:106 +#: ../../Zotlabs/Lib/Enotify.php:122 #, php-format msgid "%1$s, %2$s sent you a new private message at %3$s." msgstr "%1$s, vous avez reçu un message privé sur %3$s, de la part de %2$s." -#: ../../Zotlabs/Lib/Enotify.php:107 +#: ../../Zotlabs/Lib/Enotify.php:123 #, php-format msgid "%1$s sent you %2$s." msgstr "%1$s vous a envoyé %2$s." -#: ../../Zotlabs/Lib/Enotify.php:107 +#: ../../Zotlabs/Lib/Enotify.php:123 msgid "a private message" msgstr "un message privé" -#: ../../Zotlabs/Lib/Enotify.php:108 +#: ../../Zotlabs/Lib/Enotify.php:124 #, php-format msgid "Please visit %s to view and/or reply to your private messages." msgstr "Merci de visiter %s pour voir et/ou répondre à vos messages privés." -#: ../../Zotlabs/Lib/Enotify.php:164 +#: ../../Zotlabs/Lib/Enotify.php:183 #, php-format msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]" msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%4$s[/zrl]" -#: ../../Zotlabs/Lib/Enotify.php:172 +#: ../../Zotlabs/Lib/Enotify.php:191 #, php-format msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]" msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%5$s de %4$s[/zrl]" -#: ../../Zotlabs/Lib/Enotify.php:181 +#: ../../Zotlabs/Lib/Enotify.php:200 #, php-format msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]" msgstr "%1$s, %2$s a commenté [zrl=%3$s]votre %4$s[/zrl]" -#: ../../Zotlabs/Lib/Enotify.php:192 +#: ../../Zotlabs/Lib/Enotify.php:211 #, php-format -msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s" -msgstr "[Hubzilla:Notify] Commentaire de %2$s sur conversation #%1$d" +msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s" +msgstr "[$Projectname:Notify] Commentaire effectué sur la conversation #%1$d par %2$s" -#: ../../Zotlabs/Lib/Enotify.php:193 +#: ../../Zotlabs/Lib/Enotify.php:212 #, php-format msgid "%1$s, %2$s commented on an item/conversation you have been following." msgstr "%1$s, %2$s a commenté un élément de conversation que vous suivez." -#: ../../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:215 ../../Zotlabs/Lib/Enotify.php:292 +#: ../../Zotlabs/Lib/Enotify.php:309 ../../Zotlabs/Lib/Enotify.php:335 +#: ../../Zotlabs/Lib/Enotify.php:353 ../../Zotlabs/Lib/Enotify.php:367 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "Merci de visiter %s pour voir et/ou répondre sur cette conversation." -#: ../../Zotlabs/Lib/Enotify.php:202 +#: ../../Zotlabs/Lib/Enotify.php:273 +#, php-format +msgid "%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]" +msgstr "%1$s, %2$s aiment [zrl=%3$s]votre %4$s[/zrl]" + +#: ../../Zotlabs/Lib/Enotify.php:288 #, php-format -msgid "[Hubzilla:Notify] %s posted to your profile wall" -msgstr "[Hubzilla:Notify] %s a publié sur votre profil" +msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s" +msgstr "[$Projectname:Notify] Aime reçu à la convesation #%1$d par %2$s" -#: ../../Zotlabs/Lib/Enotify.php:204 +#: ../../Zotlabs/Lib/Enotify.php:289 +#, php-format +msgid "%1$s, %2$s liked an item/conversation you created." +msgstr "%1$s, %2$s a aimé un élément ou une conversation que vous avez créée." + +#: ../../Zotlabs/Lib/Enotify.php:300 +#, php-format +msgid "[$Projectname:Notify] %s posted to your profile wall" +msgstr "[$Projectname:Notify] %s a publié sur le mur de votre profil" + +#: ../../Zotlabs/Lib/Enotify.php:302 #, php-format msgid "%1$s, %2$s posted to your profile wall at %3$s" msgstr "%1$s, %2$s a publié sur votre profil à %3$s" -#: ../../Zotlabs/Lib/Enotify.php:206 +#: ../../Zotlabs/Lib/Enotify.php:304 #, php-format msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]" msgstr "%1$s, %2$s a publié sur [zrl=%3$s]votre profil[/zrl]" -#: ../../Zotlabs/Lib/Enotify.php:230 +#: ../../Zotlabs/Lib/Enotify.php:328 #, php-format -msgid "[Hubzilla:Notify] %s tagged you" -msgstr "[Hubzilla:Notify] %s vous a étiqueté" +msgid "[$Projectname:Notify] %s tagged you" +msgstr "[$Projectname:Notify] %s vous a étiquetté" -#: ../../Zotlabs/Lib/Enotify.php:231 +#: ../../Zotlabs/Lib/Enotify.php:329 #, php-format msgid "%1$s, %2$s tagged you at %3$s" msgstr "%1$s, vous avez été étiqueté sur %3$s par %2$s" -#: ../../Zotlabs/Lib/Enotify.php:232 +#: ../../Zotlabs/Lib/Enotify.php:330 #, php-format msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]." msgstr "%1$s, %2$s [zrl=%3$s]vous a étiqueté[/zrl]." -#: ../../Zotlabs/Lib/Enotify.php:244 +#: ../../Zotlabs/Lib/Enotify.php:342 #, php-format -msgid "[Hubzilla:Notify] %1$s poked you" -msgstr "[Hubzilla:Notify] %1$s vous a tapoté" +msgid "[$Projectname:Notify] %1$s poked you" +msgstr "[$Projectname:Notify] %1$s vous a poké" -#: ../../Zotlabs/Lib/Enotify.php:245 +#: ../../Zotlabs/Lib/Enotify.php:343 #, php-format msgid "%1$s, %2$s poked you at %3$s" msgstr "%1$s, %2$s vous a tapoté sur %3$s" -#: ../../Zotlabs/Lib/Enotify.php:246 +#: ../../Zotlabs/Lib/Enotify.php:344 #, php-format msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]." msgstr "%1$s, %2$s [zrl=%2$s]vous a tapoté[/zrl]." -#: ../../Zotlabs/Lib/Enotify.php:262 +#: ../../Zotlabs/Lib/Enotify.php:360 #, php-format -msgid "[Hubzilla:Notify] %s tagged your post" -msgstr "[Hubzilla:Notify] %s a étiqueté votre publication" +msgid "[$Projectname:Notify] %s tagged your post" +msgstr "[$Projectname:Notify] %s a étiquetté votre publication" -#: ../../Zotlabs/Lib/Enotify.php:263 +#: ../../Zotlabs/Lib/Enotify.php:361 #, php-format msgid "%1$s, %2$s tagged your post at %3$s" msgstr "%1$s, %2$s a étiqueté votre publication sur %3$s" -#: ../../Zotlabs/Lib/Enotify.php:264 +#: ../../Zotlabs/Lib/Enotify.php:362 #, php-format msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]" msgstr "%1$s, %2$s a étiqueté [zrl=%3$s]votre publication[/zrl]" -#: ../../Zotlabs/Lib/Enotify.php:276 -msgid "[Hubzilla:Notify] Introduction received" -msgstr "[Hubzilla:Notify] Nouvelle présentation" +#: ../../Zotlabs/Lib/Enotify.php:374 +msgid "[$Projectname:Notify] Introduction received" +msgstr "[$Projectname:Notify] Demande de relation reçue" -#: ../../Zotlabs/Lib/Enotify.php:277 +#: ../../Zotlabs/Lib/Enotify.php:375 #, php-format msgid "%1$s, you've received an new connection request from '%2$s' at %3$s" msgstr "%1$s, vous avez reçu une demande de contact de '%2$s' sur %3$s" -#: ../../Zotlabs/Lib/Enotify.php:278 +#: ../../Zotlabs/Lib/Enotify.php:376 #, php-format msgid "" "%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s." msgstr "%1$s, vous avez reçu [zrl=%2$s]une demande de contact[/zrl] de %3$s." -#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301 +#: ../../Zotlabs/Lib/Enotify.php:380 ../../Zotlabs/Lib/Enotify.php:399 #, php-format msgid "You may visit their profile at %s" msgstr "Vous pouvez visiter leur profil sur %s" -#: ../../Zotlabs/Lib/Enotify.php:284 +#: ../../Zotlabs/Lib/Enotify.php:382 #, php-format msgid "Please visit %s to approve or reject the connection request." msgstr "Merci de visiter %s avant d'approuver (ou non) cette demande de contact." -#: ../../Zotlabs/Lib/Enotify.php:291 -msgid "[Hubzilla:Notify] Friend suggestion received" -msgstr "[Hubzilla:Notify] Nouvel(le) ami(e) suggéré(e)" +#: ../../Zotlabs/Lib/Enotify.php:389 +msgid "[$Projectname:Notify] Friend suggestion received" +msgstr "[$Projectname:Notify] Suggestion d'amitié reçue" -#: ../../Zotlabs/Lib/Enotify.php:292 +#: ../../Zotlabs/Lib/Enotify.php:390 #, php-format msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s" msgstr "%1$s, vous avez reçu une suggestion d'ami(e) de '%2$s' à %3$s" -#: ../../Zotlabs/Lib/Enotify.php:293 +#: ../../Zotlabs/Lib/Enotify.php:391 #, php-format msgid "" "%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from " "%4$s." msgstr "%1$s, avez reçu %3$s comme [zrl=%2$s]une suggestion d'ami(e)[/zrl] de %4$s." -#: ../../Zotlabs/Lib/Enotify.php:299 +#: ../../Zotlabs/Lib/Enotify.php:397 msgid "Name:" msgstr "Nom :" -#: ../../Zotlabs/Lib/Enotify.php:300 +#: ../../Zotlabs/Lib/Enotify.php:398 msgid "Photo:" msgstr "Photo :" -#: ../../Zotlabs/Lib/Enotify.php:303 +#: ../../Zotlabs/Lib/Enotify.php:401 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "Merci de visiter %s pour donner suite (ou non) à cette suggestion." -#: ../../Zotlabs/Lib/Enotify.php:518 -msgid "[Hubzilla:Notify]" -msgstr "[Hubzilla:Notify]" +#: ../../Zotlabs/Lib/Enotify.php:619 +msgid "[$Projectname:Notify]" +msgstr "[$Projectname:Notify]" -#: ../../Zotlabs/Lib/Enotify.php:667 +#: ../../Zotlabs/Lib/Enotify.php:779 msgid "created a new post" msgstr "a publié un nouveau message" -#: ../../Zotlabs/Lib/Enotify.php:668 +#: ../../Zotlabs/Lib/Enotify.php:780 #, php-format msgid "commented on %s's post" msgstr "a commenté la publication de %s" -#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664 +#: ../../Zotlabs/Lib/PermissionDescription.php:34 +#: ../../include/acl_selectors.php:128 +msgid "Visible to your default audience" +msgstr "Visible pour vos contacts seulement" + +#: ../../Zotlabs/Lib/PermissionDescription.php:107 +#: ../../include/acl_selectors.php:201 +msgid "Only me" +msgstr "Seulement moi" + +#: ../../Zotlabs/Lib/PermissionDescription.php:108 +msgid "Public" +msgstr "Public" + +#: ../../Zotlabs/Lib/PermissionDescription.php:109 +msgid "Anybody in the $Projectname network" +msgstr "N'importe qui dans le réseau de $Projectname" + +#: ../../Zotlabs/Lib/PermissionDescription.php:110 +#, php-format +msgid "Any account on %s" +msgstr "N'importe quel compte sur %s" + +#: ../../Zotlabs/Lib/PermissionDescription.php:111 +msgid "Any of my connections" +msgstr "N'importe laquelle de mes connexions" + +#: ../../Zotlabs/Lib/PermissionDescription.php:112 +msgid "Only connections I specifically allow" +msgstr "Uniquement les connexions que j'ai expréssément autorisées" + +#: ../../Zotlabs/Lib/PermissionDescription.php:113 +msgid "Anybody authenticated (could include visitors from other networks)" +msgstr "N'importe qui d'authentifié (cela peut inclure des visiteurs d'autres réseaux)" + +#: ../../Zotlabs/Lib/PermissionDescription.php:114 +msgid "Any connections including those who haven't yet been approved" +msgstr "N'importe quelle connexions, y compris celles qui n'ont pas encore été approuvées" + +#: ../../Zotlabs/Lib/PermissionDescription.php:150 +msgid "" +"This is your default setting for the audience of your normal stream, and " +"posts." +msgstr "Ceci est votre réglage par défaut de l'audience de vos publications sur votre canal normal." + +#: ../../Zotlabs/Lib/PermissionDescription.php:151 +msgid "" +"This is your default setting for who can view your default channel profile" +msgstr "Ceci est votre réglage par défaut à propos de qui peut voir votre canal de profil par défaut." + +#: ../../Zotlabs/Lib/PermissionDescription.php:152 +msgid "This is your default setting for who can view your connections" +msgstr "Ceci est votre réglage par défaut à propos de qui peut voir vos relations." + +#: ../../Zotlabs/Lib/PermissionDescription.php:153 +msgid "" +"This is your default setting for who can view your file storage and photos" +msgstr "Ceci est votre réglage par défaut à propos de qui peut voir vos fichiers ou photos stocké(e)s" + +#: ../../Zotlabs/Lib/PermissionDescription.php:154 +msgid "This is your default setting for the audience of your webpages" +msgstr "Ceci est votre réglage par défaut de l'audience de vos pages web." + +#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:663 msgid "Private Message" msgstr "Message Privé" -#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656 +#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:655 msgid "Select" msgstr "Sélectionner" @@ -6611,1463 +7538,3498 @@ msgstr "Je ne suis pas d'accord" msgid "I abstain" msgstr "Je m'abstiens" -#: ../../Zotlabs/Lib/ThreadItem.php:218 +#: ../../Zotlabs/Lib/ThreadItem.php:223 msgid "Add Star" msgstr "Mettre en avant (étoile)" -#: ../../Zotlabs/Lib/ThreadItem.php:219 +#: ../../Zotlabs/Lib/ThreadItem.php:224 msgid "Remove Star" msgstr "Ne plus mettre en avant" -#: ../../Zotlabs/Lib/ThreadItem.php:220 +#: ../../Zotlabs/Lib/ThreadItem.php:225 msgid "Toggle Star Status" msgstr "(Dés)activer l'étoile" -#: ../../Zotlabs/Lib/ThreadItem.php:224 +#: ../../Zotlabs/Lib/ThreadItem.php:229 msgid "starred" msgstr "mis en avant" -#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671 +#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:670 msgid "Message signature validated" msgstr "Signature du message validée" -#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672 +#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:671 msgid "Message signature incorrect" msgstr "Signature du message incorrecte" -#: ../../Zotlabs/Lib/ThreadItem.php:243 +#: ../../Zotlabs/Lib/ThreadItem.php:248 msgid "Add Tag" msgstr "Ajouter une étiquette" -#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316 +#: ../../Zotlabs/Lib/ThreadItem.php:268 ../../include/taxonomy.php:316 msgid "like" msgstr "aiment" -#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317 +#: ../../Zotlabs/Lib/ThreadItem.php:269 ../../include/taxonomy.php:317 msgid "dislike" msgstr "n'aiment pas" -#: ../../Zotlabs/Lib/ThreadItem.php:266 +#: ../../Zotlabs/Lib/ThreadItem.php:273 msgid "Share This" msgstr "Partager" -#: ../../Zotlabs/Lib/ThreadItem.php:266 +#: ../../Zotlabs/Lib/ThreadItem.php:273 msgid "share" msgstr "partager" -#: ../../Zotlabs/Lib/ThreadItem.php:275 +#: ../../Zotlabs/Lib/ThreadItem.php:282 msgid "Delivery Report" msgstr "Rapport de distribution" -#: ../../Zotlabs/Lib/ThreadItem.php:293 +#: ../../Zotlabs/Lib/ThreadItem.php:300 #, php-format msgid "%d comment" msgid_plural "%d comments" msgstr[0] "%d commentaire" msgstr[1] "%d commentaires" -#: ../../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 "Voir le profil de %s - %s" -#: ../../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 "via" -#: ../../Zotlabs/Lib/ThreadItem.php:328 +#: ../../Zotlabs/Lib/ThreadItem.php:335 msgid "Wall-to-Wall" msgstr "Mur-à -mur" -#: ../../Zotlabs/Lib/ThreadItem.php:329 +#: ../../Zotlabs/Lib/ThreadItem.php:336 msgid "via Wall-To-Wall:" msgstr "par Mur-à -mur :" -#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719 +#: ../../Zotlabs/Lib/ThreadItem.php:350 ../../include/conversation.php:717 #, php-format msgid "from %s" msgstr "de %s" -#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722 +#: ../../Zotlabs/Lib/ThreadItem.php:353 ../../include/conversation.php:720 #, php-format msgid "last edited: %s" msgstr "dernière modification : %s" -#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723 +#: ../../Zotlabs/Lib/ThreadItem.php:354 ../../include/conversation.php:721 #, php-format msgid "Expires: %s" msgstr "Expire : %s" -#: ../../Zotlabs/Lib/ThreadItem.php:370 +#: ../../Zotlabs/Lib/ThreadItem.php:360 +msgid "Attend" +msgstr "En attente" + +#: ../../Zotlabs/Lib/ThreadItem.php:361 +msgid "Attendance Options" +msgstr "Options d'attente" + +#: ../../Zotlabs/Lib/ThreadItem.php:362 +msgid "Vote" +msgstr "Vote" + +#: ../../Zotlabs/Lib/ThreadItem.php:363 +msgid "Voting Options" +msgstr "Options de vote" + +#: ../../Zotlabs/Lib/ThreadItem.php:383 +#: ../../extend/addon/addon/bookmarker/bookmarker.php:38 msgid "Save Bookmarks" msgstr "Enregistrer les favoris" -#: ../../Zotlabs/Lib/ThreadItem.php:371 +#: ../../Zotlabs/Lib/ThreadItem.php:384 msgid "Add to Calendar" msgstr "Ajouter au Calendrier" -#: ../../Zotlabs/Lib/ThreadItem.php:380 +#: ../../Zotlabs/Lib/ThreadItem.php:393 msgid "Mark all seen" msgstr "Tout marquer comme vu" -#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7 -msgid "[+] show all" -msgstr "[+] voir tous" +#: ../../Zotlabs/Lib/ThreadItem.php:442 ../../include/js_strings.php:7 +#, php-format +msgid "%s show all" +msgstr "%s montre tout" -#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215 +#: ../../Zotlabs/Lib/ThreadItem.php:732 ../../include/conversation.php:1385 msgid "Bold" msgstr "Gras" -#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216 +#: ../../Zotlabs/Lib/ThreadItem.php:733 ../../include/conversation.php:1386 msgid "Italic" msgstr "Italique" -#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217 +#: ../../Zotlabs/Lib/ThreadItem.php:734 ../../include/conversation.php:1387 msgid "Underline" msgstr "Souligné" -#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218 +#: ../../Zotlabs/Lib/ThreadItem.php:735 ../../include/conversation.php:1388 msgid "Quote" msgstr "Citation" -#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219 +#: ../../Zotlabs/Lib/ThreadItem.php:736 ../../include/conversation.php:1389 msgid "Code" msgstr "Code" -#: ../../Zotlabs/Lib/ThreadItem.php:716 +#: ../../Zotlabs/Lib/ThreadItem.php:737 msgid "Image" msgstr "Image" -#: ../../Zotlabs/Lib/ThreadItem.php:717 +#: ../../Zotlabs/Lib/ThreadItem.php:738 msgid "Insert Link" msgstr "Insérer un lien" -#: ../../Zotlabs/Lib/ThreadItem.php:718 +#: ../../Zotlabs/Lib/ThreadItem.php:739 msgid "Video" msgstr "Vidéo" -#: ../../include/Import/import_diaspora.php:16 +#: ../../Zotlabs/Lib/Apps.php:212 +msgid "Site Admin" +msgstr "Administrateur" + +#: ../../Zotlabs/Lib/Apps.php:213 +#: ../../extend/addon/addon/buglink/buglink.php:16 +msgid "Report Bug" +msgstr "Reporter des bogues" + +#: ../../Zotlabs/Lib/Apps.php:214 +msgid "View Bookmarks" +msgstr "Voir les marques-pages" + +#: ../../Zotlabs/Lib/Apps.php:215 +msgid "My Chatrooms" +msgstr "Mes salons de discussions" + +#: ../../Zotlabs/Lib/Apps.php:217 +msgid "Firefox Share" +msgstr "Partager via Firefox" + +#: ../../Zotlabs/Lib/Apps.php:218 +msgid "Remote Diagnostics" +msgstr "Diagnostiques à distance" + +#: ../../Zotlabs/Lib/Apps.php:219 ../../include/features.php:337 +msgid "Suggest Channels" +msgstr "Suggérer des canaux" + +#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:130 +#: ../../boot.php:1732 +msgid "Login" +msgstr "Connexion" + +#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:194 +msgid "Grid" +msgstr "Réseau" + +#: ../../Zotlabs/Lib/Apps.php:226 ../../include/conversation.php:1903 +#: ../../include/features.php:99 +msgid "Wiki" +msgstr "Wiki" + +#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:198 +msgid "Channel Home" +msgstr "Mon canal" + +#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1853 +#: ../../include/conversation.php:1856 ../../include/nav.php:218 +msgid "Events" +msgstr "Événements" + +#: ../../Zotlabs/Lib/Apps.php:231 ../../include/nav.php:182 +msgid "Directory" +msgstr "Annuaire" + +#: ../../Zotlabs/Lib/Apps.php:233 ../../include/nav.php:210 +msgid "Mail" +msgstr "Messages" + +#: ../../Zotlabs/Lib/Apps.php:236 +msgid "Chat" +msgstr "Clavardage" + +#: ../../Zotlabs/Lib/Apps.php:238 +msgid "Probe" +msgstr "Sonder" + +#: ../../Zotlabs/Lib/Apps.php:239 +msgid "Suggest" +msgstr "Suggérer" + +#: ../../Zotlabs/Lib/Apps.php:240 +msgid "Random Channel" +msgstr "Un canal au hasard" + +#: ../../Zotlabs/Lib/Apps.php:241 +msgid "Invite" +msgstr "Invitation" + +#: ../../Zotlabs/Lib/Apps.php:242 ../../include/widgets.php:1595 +msgid "Features" +msgstr "Fonctionalités" + +#: ../../Zotlabs/Lib/Apps.php:243 +#: ../../extend/addon/addon/openid/MysqlProvider.php:69 +msgid "Language" +msgstr "Langue" + +#: ../../Zotlabs/Lib/Apps.php:244 +msgid "Post" +msgstr "Envoyer" + +#: ../../Zotlabs/Lib/Apps.php:245 +#: ../../extend/addon/addon/openid/MysqlProvider.php:58 +#: ../../extend/addon/addon/openid/MysqlProvider.php:59 +#: ../../extend/addon/addon/openid/MysqlProvider.php:60 +msgid "Profile Photo" +msgstr "Photo du Profil" + +#: ../../Zotlabs/Lib/Apps.php:355 +msgid "Purchase" +msgstr "Acheter" + +#: ../../Zotlabs/Lib/Apps.php:359 +msgid "Undelete" +msgstr "Restaurer" + +#: ../../Zotlabs/Lib/NativeWiki.php:126 +msgid "Wiki files deleted successfully" +msgstr "Fichiers du wiki supprimés avec succès" + +#: ../../Zotlabs/Lib/Permcat.php:58 +msgctxt "permcat" +msgid "default" +msgstr "défaut" + +#: ../../Zotlabs/Lib/Permcat.php:96 +msgctxt "permcat" +msgid "follower" +msgstr "abonné" + +#: ../../Zotlabs/Lib/Permcat.php:100 +msgctxt "permcat" +msgid "contributor" +msgstr "contributeur" + +#: ../../Zotlabs/Lib/Permcat.php:104 +msgctxt "permcat" +msgid "publisher" +msgstr "rédacteur" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:31 +#: ../../Zotlabs/Lib/NativeWikiPage.php:62 +msgid "(No Title)" +msgstr "(Pas de titre)" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:76 +msgid "Wiki page create failed." +msgstr "Échec de création de la page wiki." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:89 +msgid "Wiki not found." +msgstr "Wiki introuvable." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:100 +msgid "Destination name already exists" +msgstr "Le nom de destination est déjà pris" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:126 +#: ../../Zotlabs/Lib/NativeWikiPage.php:345 +msgid "Page not found" +msgstr "Page introuvable" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:156 +msgid "Error reading page content" +msgstr "Erreur de lecture du contenu de la page" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:338 +#: ../../Zotlabs/Lib/NativeWikiPage.php:383 +#: ../../Zotlabs/Lib/NativeWikiPage.php:450 +#: ../../Zotlabs/Lib/NativeWikiPage.php:491 +msgid "Error reading wiki" +msgstr "Erreur de lecture du wiki" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:371 +msgid "Page update failed." +msgstr "Echec de modification de la page." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:405 +msgid "Nothing deleted" +msgstr "Rien n'a été supprimé" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:471 +msgid "Compare: object not found." +msgstr "Comparaison : objet introuvable." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:477 +msgid "Page updated" +msgstr "Page modifiée" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:480 +msgid "Untitled" +msgstr "Sans titre" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:486 +msgid "Wiki resource_id required for git commit" +msgstr "\"resource_id\" du wiki nécessaire pour l'enregistrement dans git." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:557 +#: ../../extend/addon/addon/gitwiki/gitwiki_backend.php:579 +#: ../../include/bbcode.php:610 ../../include/bbcode.php:756 +msgid "Different viewers will see this text differently" +msgstr "Ce texte aura un rendu différent en fonction des utilisateurs" + +#: ../../extend/addon/addon/adultphotoflag/adultphotoflag.php:24 +msgid "Flag Adult Photos" +msgstr "Photo pour adulte" + +#: ../../extend/addon/addon/adultphotoflag/adultphotoflag.php:25 +msgid "" +"Provide photo edit option to hide inappropriate photos from default album " +"view" +msgstr "Fourni l'option d'édition d'une photo afin de cacher des photos inappropriées de la vue d''album par défaut" + +#: ../../extend/addon/addon/chords/Mod_Chords.php:44 +msgid "" +"This is a fairly comprehensive and complete guitar chord dictionary which " +"will list most of the available ways to play a certain chord, starting from " +"the base of the fingerboard up to a few frets beyond the twelfth fret " +"(beyond which everything repeats). A couple of non-standard tunings are " +"provided for the benefit of slide players, etc." +msgstr "Ceci est un dictionnaire d'accords de guitare assez complet et facile qui énumère la plupart des manières possibles de jouer un certain accord, à partir de la base de la touche jusqu'à quelques frettes au-delà de la douzième frette (au-delà de laquelle tout se répète). Un couple d'accordages non standard sont fournis au profit des joueurs de diapositives, etc." + +#: ../../extend/addon/addon/chords/Mod_Chords.php:46 +msgid "" +"Chord names start with a root note (A-G) and may include sharps (#) and " +"flats (b). This software will parse most of the standard naming conventions " +"such as maj, min, dim, sus(2 or 4), aug, with optional repeating elements." +msgstr "Les noms des accords commencent par une note racine (A-G) et peuvent inclure des dièses (#) et des bémols (b). Ce logiciel analysera la plupart des conventions de dénomination standard telles que maj, min, dim, sus (2 ou 4), aug, avec des éléments répétitifs facultatifs." + +#: ../../extend/addon/addon/chords/Mod_Chords.php:48 +msgid "" +"Valid examples include A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, " +"E7b13b11 ..." +msgstr "Exemples valides comprennent A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, E7b13b11 ..." + +#: ../../extend/addon/addon/chords/Mod_Chords.php:51 +msgid "Guitar Chords" +msgstr "Acords de guitar" + +#: ../../extend/addon/addon/chords/Mod_Chords.php:52 +msgid "The complete online chord dictionary" +msgstr "Le dictionnaire en ligne complet des accords" + +#: ../../extend/addon/addon/chords/Mod_Chords.php:57 +msgid "Tuning" +msgstr "Réglage" + +#: ../../extend/addon/addon/chords/Mod_Chords.php:58 +msgid "Chord name: example: Em7" +msgstr "Nom d'accord. Exemple : Em7." + +#: ../../extend/addon/addon/chords/Mod_Chords.php:59 +msgid "Show for left handed stringing" +msgstr "Montrer pour les gauchers" + +#: ../../extend/addon/addon/chords/chords.php:33 +msgid "Quick Reference" +msgstr "Référence rapide" + +#: ../../extend/addon/addon/diaspora/import_diaspora.php:16 msgid "No username found in import file." msgstr "Aucun nom d'utilisateur dans le fichier d'import." -#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50 +#: ../../extend/addon/addon/diaspora/import_diaspora.php:41 +#: ../../include/import.php:51 msgid "Unable to create a unique channel address. Import failed." msgstr "Impossible de créer une adresse de canal unique. Echec de l'import." -#: ../../include/dba/dba_driver.php:171 +#: ../../extend/addon/addon/diaspora/diaspora.php:677 +msgid "Diaspora Protocol Settings updated." +msgstr "Les réglages du protocole Diaspora ont été mis à jour" + +#: ../../extend/addon/addon/diaspora/diaspora.php:696 +msgid "Enable the Diaspora protocol for this channel" +msgstr "Activer le protocole Diaspora pour ce canal." + +#: ../../extend/addon/addon/diaspora/diaspora.php:700 +msgid "Allow any Diaspora member to comment on your public posts" +msgstr "Autoriser n'importe quel membre de Diaspora à commenter vos messages publics" + +#: ../../extend/addon/addon/diaspora/diaspora.php:704 +msgid "Prevent your hashtags from being redirected to other sites" +msgstr "Empêche vos hashtags d'être redirigés vers d'autres sites" + +#: ../../extend/addon/addon/diaspora/diaspora.php:709 +msgid "Followed hashtags (comma separated, do not include the #)" +msgstr "Hashtags suivis (séparer par une virgule ; ne pas mettre le #)" + +#: ../../extend/addon/addon/diaspora/diaspora.php:714 +msgid "Diaspora Protocol Settings" +msgstr "Compatibilité avec Diaspora" + +#: ../../extend/addon/addon/dirstats/dirstats.php:94 +msgid "Hubzilla Directory Stats" +msgstr "Statistiques de l'annuaire Hubzilla" + +#: ../../extend/addon/addon/dirstats/dirstats.php:95 +msgid "Total Hubs" +msgstr "Total de Hubs" + +#: ../../extend/addon/addon/dirstats/dirstats.php:97 +msgid "Hubzilla Hubs" +msgstr "Hubs Hubzilla" + +#: ../../extend/addon/addon/dirstats/dirstats.php:99 +msgid "Friendica Hubs" +msgstr "Hubs Friendica" + +#: ../../extend/addon/addon/dirstats/dirstats.php:101 +msgid "Diaspora Pods" +msgstr "Pods Diaspora" + +#: ../../extend/addon/addon/dirstats/dirstats.php:103 +msgid "Hubzilla Channels" +msgstr "Canaux Hubzilla" + +#: ../../extend/addon/addon/dirstats/dirstats.php:105 +msgid "Friendica Channels" +msgstr "Canaux Friendica" + +#: ../../extend/addon/addon/dirstats/dirstats.php:107 +msgid "Diaspora Channels" +msgstr "Canaux Diaspora" + +#: ../../extend/addon/addon/dirstats/dirstats.php:109 +msgid "Aged 35 and above" +msgstr "Âgé de 35 ans et plus" + +#: ../../extend/addon/addon/dirstats/dirstats.php:111 +msgid "Aged 34 and under" +msgstr "Âgé de 34 et moins" + +#: ../../extend/addon/addon/dirstats/dirstats.php:113 +msgid "Average Age" +msgstr "Âge moyen" + +#: ../../extend/addon/addon/dirstats/dirstats.php:115 +msgid "Known Chatrooms" +msgstr "Salons de discussion connus" + +#: ../../extend/addon/addon/dirstats/dirstats.php:117 +msgid "Known Tags" +msgstr "Étiquettes connues" + +#: ../../extend/addon/addon/dirstats/dirstats.php:119 +msgid "" +"Please note Diaspora and Friendica statistics are merely those **this " +"directory** is aware of, and not all those known in the network. This also " +"applies to chatrooms," +msgstr "Veuillez noter que les statistiques de Diaspora et Friendica sont simplement celles dont **ce répertoire** est au courant, et pas toutes celles connues dans le réseau. Cela s'applique également aux salles de discussion," + +#: ../../extend/addon/addon/donate/donate.php:21 +msgid "Project Servers and Resources" +msgstr "Serveurs et ressources du projet" + +#: ../../extend/addon/addon/donate/donate.php:22 +msgid "Project Creator and Tech Lead" +msgstr "Créateur et Responsable Technique du projet" + +#: ../../extend/addon/addon/donate/donate.php:23 +msgid "Admin, developer, directorymin, support bloke" +msgstr "Administrateur, développeur, responsable d'annuaire, équipe support" + +#: ../../extend/addon/addon/donate/donate.php:50 +msgid "" +"And the hundreds of other people and organisations who helped make the " +"Hubzilla possible." +msgstr "Et les centaines d'autres personnes et organisations qui ont contribué à rendre le Hubzilla possible." + +#: ../../extend/addon/addon/donate/donate.php:53 +msgid "" +"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving " +"their time and expertise - and often paying out of pocket for services they " +"share with others." +msgstr "Les projets Redmatrix / Hubzilla sont fournis principalement par des bénévoles qui donnent de leur temps et de leur expertise - et paient souvent de leur poche pour des services qu'ils partagent avec d'autres." + +#: ../../extend/addon/addon/donate/donate.php:54 +msgid "" +"There is no corporate funding and no ads, and we do not collect and sell " +"your personal information. (We don't control your personal information - " +"<strong>you do</strong>.)" +msgstr "Il n'y a ni financement d'entreprise ni publicités, et nous ne recueillons ni ne vendons vos données personnelles. (Nous ne contrôlons pas vos informations personnelles - vous le faites !)" + +#: ../../extend/addon/addon/donate/donate.php:55 +msgid "" +"Help support our ground-breaking work in decentralisation, web identity, and" +" privacy." +msgstr "Aider à soutenir notre travail novateur en matière de décentralisation, d'identité Web et de confidentialité." + +#: ../../extend/addon/addon/donate/donate.php:57 +msgid "" +"Your donations keep servers and services running and also helps us to " +"provide innovative new features and continued development." +msgstr "Vos dons maintiennent les serveurs et les services en marche et nous aident également à fournir de nouvelles fonctionnalités innovantes et un développement continu." + +#: ../../extend/addon/addon/donate/donate.php:60 +msgid "Donate" +msgstr "Donner" + +#: ../../extend/addon/addon/donate/donate.php:62 +msgid "" +"Choose a project, developer, or public hub to support with a one-time " +"donation" +msgstr "Choisissez un projet, un développeur ou un hub public à soutenir à l'aide d'un don unique" + +#: ../../extend/addon/addon/donate/donate.php:63 +msgid "Donate Now" +msgstr "Donner maintenant" + +#: ../../extend/addon/addon/donate/donate.php:64 +msgid "" +"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project " +"only)" +msgstr "Or devenez un sponsor du projet (projet Hubzilla uniquement)" + +#: ../../extend/addon/addon/donate/donate.php:65 +msgid "" +"Please indicate if you would like your first name or full name (or nothing) " +"to appear in our sponsor listing" +msgstr "Veuillez indiquer si vous souhaitez que votre nom ou prénom (ou rien) apparaisse dans la liste de nos sponsors." + +#: ../../extend/addon/addon/donate/donate.php:66 +msgid "Sponsor" +msgstr "Sponsors" + +#: ../../extend/addon/addon/donate/donate.php:69 +msgid "Special thanks to: " +msgstr "Remerciements particuliers à :" + +#: ../../extend/addon/addon/dwpost/dwpost.php:42 +msgid "Post to Dreamwidth" +msgstr "Publier sur Dreamwidth" + +#: ../../extend/addon/addon/dwpost/dwpost.php:73 +msgid "Enable Dreamwidth Post Plugin" +msgstr "Activer le plugin de publication Dreamwidth" + +#: ../../extend/addon/addon/dwpost/dwpost.php:77 +msgid "Dreamwidth username" +msgstr "Nom d'utilisateur Dreamwidth" + +#: ../../extend/addon/addon/dwpost/dwpost.php:81 +msgid "Dreamwidth password" +msgstr "Mot de passe Dreamwidth" + +#: ../../extend/addon/addon/dwpost/dwpost.php:85 +msgid "Post to Dreamwidth by default" +msgstr "Publication avec Dreamwidth par défaut" + +#: ../../extend/addon/addon/dwpost/dwpost.php:89 +msgid "Dreamwidth Post Settings" +msgstr "Paramètres de publication Dreamwidth" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:45 +msgid "Flattr this!" +msgstr "Flattr this!" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:83 +msgid "Flattr widget settings updated." +msgstr "Les paramètres du widget Flattr ont été mis à jour" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:100 +msgid "Flattr user" +msgstr "Utilisateur de Flattr" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:104 +msgid "URL of the Thing to flattr" +msgstr "URL de ce que vous voulez flattr" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:104 +msgid "If empty channel URL is used" +msgstr "Si une url vide est utilisée" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:108 +msgid "Title of the Thing to flattr" +msgstr "Titre de ce que vous voulez flattr" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:108 +msgid "If empty \"channel name on The Hubzilla\" will be used" +msgstr "Si vide, \"nom du canal sur Hubzilla\" sera utilisé" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:112 +msgid "Static or dynamic flattr button" +msgstr "Statique ou dynamique bouton Flattr" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:112 +msgid "static" +msgstr "statique" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:112 +msgid "dynamic" +msgstr "dynamique" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:116 +msgid "Alignment of the widget" +msgstr "Alignement du widget" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:116 +msgid "left" +msgstr "gauche" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:116 +msgid "right" +msgstr "droite" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:120 +msgid "Enable Flattr widget" +msgstr "Activer le widget Flattr" + +#: ../../extend/addon/addon/flattrwidget/flattrwidget.php:124 +msgid "Flattr Widget Settings" +msgstr "Paramètres du widget Flattr" + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:118 +msgid "Contact not found." +msgstr "Contact introuvable." + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:119 +msgid "" +"This may occasionally happen if contact was requested by both persons and it" +" has already been approved." +msgstr "Ceci peut parfois se produire lorsque le contact a été demandé par les deux personnes à la fois et a déjà été approuvé." + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:238 +msgid "Response from remote site was not understood." +msgstr "La réponse du site de contrôle à distance n'a pas été comprise." + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:247 +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:252 +msgid "Unexpected response from remote site: " +msgstr "Réponse inattendue du site de contrôle à distance :" + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:261 +msgid "Confirmation completed successfully." +msgstr "Complété avec succès confirmé." + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:263 +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:277 +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:284 +msgid "Remote site reported: " +msgstr "Contrôle à distance du site reporté :" + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:275 +msgid "Temporary failure. Please wait and try again." +msgstr "Défaillance temporaire. Veuillez attendre et essayer à nouveau." + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:282 +msgid "Introduction failed or was revoked." +msgstr "La demande de relation a échoué ou a été révoquée." + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:428 +msgid "Unable to set contact photo." +msgstr "Impossible de définir la photo du contact." + +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:485 #, php-format -msgid "Cannot locate DNS info for database server '%s'" -msgstr "Impossible de trouver les infos DNS du serveur de BDD '%s'" +msgid "%1$s is now friends with %2$s" +msgstr "%1$s est maintenant ami avec %2$s" -#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270 -#: ../../include/widgets.php:46 ../../include/widgets.php:429 -#: ../../include/contact_widgets.php:91 -msgid "Categories" -msgstr "Catégories" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:570 +#, php-format +msgid "No user record found for '%s' " +msgstr "Aucun utilisateur enregistré ne correspond à '%s' " -#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249 -msgid "Tags" -msgstr "Étiquettes" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:580 +msgid "Our site encryption key is apparently messed up." +msgstr "Notre clé de chiffrement du site est apparemment corrompue." -#: ../../include/taxonomy.php:293 -msgid "Keywords" -msgstr "Mots-clefs" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:591 +msgid "Empty site URL was provided or URL could not be decrypted by us." +msgstr "L'URL fournie est vide ou ne peut être déchiffrée par nous." -#: ../../include/taxonomy.php:314 -msgid "have" -msgstr "ont" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:612 +msgid "Contact record was not found for you on our site." +msgstr "Le contact enregistré n'a pas été trouvé sur notre site." -#: ../../include/taxonomy.php:314 -msgid "has" -msgstr "a" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:626 +#, php-format +msgid "Site public key not available in contact record for URL %s." +msgstr "La clé publique du site n'est pas disponible dans l'enregistrement de contact pour l'URL %s." -#: ../../include/taxonomy.php:315 -msgid "want" -msgstr "veulent" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:646 +msgid "" +"The ID provided by your system is a duplicate on our system. It should work " +"if you try again." +msgstr "L'ID fournie par votre système est un duplicata sur notre système. Cela devrait fonctionner si vous essayez à nouveau." -#: ../../include/taxonomy.php:315 -msgid "wants" -msgstr "veut" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:657 +msgid "Unable to set your contact credentials on our system." +msgstr "Impossible de définir vos informations de connexion sur notre système." -#: ../../include/taxonomy.php:316 -msgid "likes" -msgstr "aime" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:724 +msgid "Unable to update your contact profile details on our system" +msgstr "Impossible de mettre à jour les détails de votre profil de contact sur notre système." -#: ../../include/taxonomy.php:317 -msgid "dislikes" -msgstr "n'aime pas" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:751 +#: ../../extend/addon/addon/friendica/dfrn_request.php:749 +msgid "[Name Withheld]" +msgstr "[Nom refusé]" -#: ../../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\\hi" +#: ../../extend/addon/addon/friendica/dfrn_confirm.php:796 +#, php-format +msgid "%1$s has joined %2$s" +msgstr "%1$s a rejoint %2$s" -#: ../../include/event.php:30 ../../include/event.php:73 -#: ../../include/bb2diaspora.php:491 -msgid "Starts:" -msgstr "Début :" +#: ../../extend/addon/addon/friendica/dfrn_poll.php:103 +#: ../../extend/addon/addon/friendica/dfrn_poll.php:536 +#, php-format +msgid "%1$s welcomes %2$s" +msgstr "%1$s souhaite la bienvenue à %2$s" -#: ../../include/event.php:40 ../../include/event.php:77 -#: ../../include/bb2diaspora.php:499 -msgid "Finishes:" -msgstr "Fin :" +#: ../../extend/addon/addon/friendica/dfrn_request.php:102 +msgid "This introduction has already been accepted." +msgstr "Cette relation a déjà été acceptée." -#: ../../include/event.php:812 -msgid "This event has been added to your calendar." -msgstr "Cet évènement a été ajouté dans votre calendrier." +#: ../../extend/addon/addon/friendica/dfrn_request.php:123 +#: ../../extend/addon/addon/friendica/dfrn_request.php:528 +msgid "Profile location is not valid or does not contain profile information." +msgstr "L'emplacement de profil n'est pas valide ou ne contient pas d'informations sur le profil." -#: ../../include/event.php:1012 -msgid "Not specified" -msgstr "Non spécifié" +#: ../../extend/addon/addon/friendica/dfrn_request.php:128 +#: ../../extend/addon/addon/friendica/dfrn_request.php:533 +msgid "Warning: profile location has no identifiable owner name." +msgstr "Attention : l'emplacement de profil n'a pas de nom de propriétaire identifiable." -#: ../../include/event.php:1013 -msgid "Needs Action" -msgstr "Besoin d'une action" +#: ../../extend/addon/addon/friendica/dfrn_request.php:130 +#: ../../extend/addon/addon/friendica/dfrn_request.php:535 +msgid "Warning: profile location has no profile photo." +msgstr "Attention : l'emplacement de profil n'a pas de photo de profil." -#: ../../include/event.php:1014 -msgid "Completed" -msgstr "Terminé" +#: ../../extend/addon/addon/friendica/dfrn_request.php:133 +#: ../../extend/addon/addon/friendica/dfrn_request.php:538 +#, php-format +msgid "%d required parameter was not found at the given location" +msgid_plural "%d required parameters were not found at the given location" +msgstr[0] "%d paramètre non trouvé à l'emplacement indiqué" +msgstr[1] "%d paramètres non trouvés à l'emplacement indiqué" -#: ../../include/event.php:1015 -msgid "In Process" -msgstr "En cours" +#: ../../extend/addon/addon/friendica/dfrn_request.php:180 +msgid "Introduction complete." +msgstr "Relation confirmée." -#: ../../include/event.php:1016 -msgid "Cancelled" -msgstr "Annulé" +#: ../../extend/addon/addon/friendica/dfrn_request.php:224 +msgid "Unrecoverable protocol error." +msgstr "Erreur de protocole irrécupérable." -#: ../../include/import.php:29 +#: ../../extend/addon/addon/friendica/dfrn_request.php:252 +msgid "Profile unavailable." +msgstr "Profil indisponible." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:277 +#, php-format +msgid "%s has received too many connection requests today." +msgstr "%s a reçu trop de demandes de connexion aujourd'hui." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:278 +msgid "Spam protection measures have been invoked." +msgstr "Des mesures de protection anti-spam ont été mises en place." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:279 +msgid "Friends are advised to please try again in 24 hours." +msgstr "Les amis sont invités à essayer de nouveau dans 24 heures." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:341 +msgid "Invalid locator" +msgstr "Localisateur innvalide" + +#: ../../extend/addon/addon/friendica/dfrn_request.php:350 +msgid "Invalid email address." +msgstr "Adresse mail invalide." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:377 +msgid "This account has not been configured for email. Request failed." +msgstr "Le mail de ce compte n'a pas été configuré. La requête a échouée." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:473 +msgid "Unable to resolve your name at the provided location." +msgstr "Impossible de résoudre votre nom à l'emplacement spécifié." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:486 +msgid "You have already introduced yourself here." +msgstr "Vous vous êtes déjà introduit ici." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:490 +#, php-format +msgid "Apparently you are already friends with %s." +msgstr "Apparemment vous êtes déjà ami avec %s." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:511 +msgid "Invalid profile URL." +msgstr "Adresse de profil invalide." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:517 +msgid "Disallowed profile URL." +msgstr "Adresse de profil non-autorisée." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:587 +msgid "Failed to update contact record." +msgstr "Échec de la mise jour de l'enregistrement du contact." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:608 +msgid "Your introduction has been sent." +msgstr "Votre demande de relation a été envoyée." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:662 +msgid "Please login to confirm introduction." +msgstr "Veuillez vous connecter pour confirmer la relation." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:676 msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." -msgstr "L'import a échoué. Un canal existe déjà avec ce nom" +"Incorrect identity currently logged in. Please login to " +"<strong>this</strong> profile." +msgstr "L'identité de connexion actuelle est incorrecte. Veuillez vous connecter à <strong>ce</strong> profil." -#: ../../include/import.php:76 -msgid "Channel clone failed. Import failed." -msgstr "Echec du clonage du canal. Echec de l'impot." +#: ../../extend/addon/addon/friendica/dfrn_request.php:690 +#: ../../extend/addon/addon/friendica/dfrn_request.php:707 +msgid "Confirm" +msgstr "Confirmer" -#: ../../include/items.php:892 ../../include/items.php:937 -msgid "(Unknown)" -msgstr "(Inconnu)" +#: ../../extend/addon/addon/friendica/dfrn_request.php:702 +msgid "Hide this contact" +msgstr "Cacher ce contact" -#: ../../include/items.php:1136 -msgid "Visible to anybody on the internet." -msgstr "Visible pour tout le monde sur internet." +#: ../../extend/addon/addon/friendica/dfrn_request.php:705 +#, php-format +msgid "Welcome home %s." +msgstr "Bienvenue %s." -#: ../../include/items.php:1138 -msgid "Visible to you only." -msgstr "Visible pour vous seulement." +#: ../../extend/addon/addon/friendica/dfrn_request.php:706 +#, php-format +msgid "Please confirm your introduction/connection request to %s." +msgstr "Veuillez confirmer votre demande de relation à %s." -#: ../../include/items.php:1140 -msgid "Visible to anybody in this network." -msgstr "Visible pour tout le monde sur ce réseau." +#: ../../extend/addon/addon/friendica/dfrn_request.php:836 +msgid "" +"Please enter your 'Identity Address' from one of the following supported " +"communications networks:" +msgstr "Veuillez entrer votre 'adresse d'identification' à partir de l'un des réseaux sociaux supportés suivants :" -#: ../../include/items.php:1142 -msgid "Visible to anybody authenticated." -msgstr "Visible aux utilisateurs authentifiés." +#: ../../extend/addon/addon/friendica/dfrn_request.php:857 +#, php-format +msgid "" +"If you are not yet a member of the free social web, <a " +"href=\"%s/siteinfo\">follow this link to find a public Friendica site and " +"join us today</a>." +msgstr "Si vous n'êtes pas déjà membre d'un réseau social libre, <a href=\"%s/siteinfo\">suivre ce lien pour trouver un site public de Friendica et nous rejoindre dès maintenant</a>." + +#: ../../extend/addon/addon/friendica/dfrn_request.php:862 +msgid "Friend/Connection Request" +msgstr "Requête d'ami/connection" + +#: ../../extend/addon/addon/friendica/dfrn_request.php:863 +msgid "" +"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, " +"testuser@identi.ca" +msgstr "Exemples : jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca" + +#: ../../extend/addon/addon/friendica/dfrn_request.php:864 +msgid "Please answer the following:" +msgstr "Veuillez répondre aux questions suivantes :" -#: ../../include/items.php:1144 +#: ../../extend/addon/addon/friendica/dfrn_request.php:865 #, php-format -msgid "Visible to anybody on %s." -msgstr "Visible pour tous sur %s." +msgid "Does %s know you?" +msgstr "Est-ce que %s vous connaît ?" -#: ../../include/items.php:1146 -msgid "Visible to all connections." -msgstr "Visible pour tous les contacts." +#: ../../extend/addon/addon/friendica/dfrn_request.php:869 +msgid "Add a personal note:" +msgstr "Ajouter une note personnelle :" -#: ../../include/items.php:1148 -msgid "Visible to approved connections." -msgstr "Visible aux contacts approuvés." +#: ../../extend/addon/addon/friendica/dfrn_request.php:871 +#: ../../include/network.php:2242 ../../include/network.php:2243 +msgid "Friendica" +msgstr "Friendica" -#: ../../include/items.php:1150 -msgid "Visible to specific connections." -msgstr "Visible pour certains contacts." +#: ../../extend/addon/addon/friendica/dfrn_request.php:872 +msgid "StatusNet/Federated Social Web" +msgstr "StatusNet/Réseau Social Fédéré" -#: ../../include/items.php:3909 -msgid "Privacy group is empty." -msgstr "Groupe d'accès vide." +#: ../../extend/addon/addon/friendica/dfrn_request.php:873 +#: ../../include/network.php:2248 +msgid "Diaspora" +msgstr "Diaspora" -#: ../../include/items.php:3916 +#: ../../extend/addon/addon/friendica/dfrn_request.php:874 #, php-format -msgid "Privacy group: %s" -msgstr "Groupe d'accès : %s" +msgid "" +" - please do not use this form. Instead, enter %s into your Diaspora search" +" bar." +msgstr "- veuillez ne pas utiliser ce formulaire. À la place, entrez %s dans la barre de recherche de Diaspora." -#: ../../include/items.php:3928 -msgid "Connection not found." -msgstr "Contact non trouvé." +#: ../../extend/addon/addon/friendica/dfrn_request.php:875 +msgid "Your Identity Address:" +msgstr "Votre adresse d'identification :" -#: ../../include/items.php:4277 -msgid "profile photo" -msgstr "photo de profil" +#: ../../extend/addon/addon/friendica/dfrn_request.php:878 +msgid "Submit Request" +msgstr "Envoyer la demande" -#: ../../include/message.php:20 -msgid "No recipient provided." -msgstr "Pas de destinataire." +#: ../../extend/addon/addon/friendica/friendica.php:113 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:118 +msgid "GNU-Social Protocol Settings updated." +msgstr "Les paramètres du protocole GNU-Social ont été mis à jour." -#: ../../include/message.php:25 -msgid "[no subject]" -msgstr "[sans objet]" +#: ../../extend/addon/addon/friendica/friendica.php:124 +msgid "Enable the (experimental) GNU-Social protocol for this channel" +msgstr "Activer la connexion (expérimentale) du protocole GNU-Social pour ce canal" -#: ../../include/message.php:45 -msgid "Unable to determine sender." -msgstr "Impossible de déterminer l'émetteur." +#: ../../extend/addon/addon/friendica/friendica.php:128 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:133 +msgid "GNU-Social Protocol Settings" +msgstr "Paramètres du protocole GNU-Social" -#: ../../include/message.php:222 -msgid "Stored post could not be verified." -msgstr "Le message stocké n'a pas pu être vérifié." +#: ../../extend/addon/addon/friendica/friendica.php:185 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:323 +msgid "Follow" +msgstr "S'abonner" -#: ../../include/text.php:428 -msgid "prev" -msgstr "préc." +#: ../../extend/addon/addon/friendica/friendica.php:188 +#: ../../extend/addon/addon/gnusoc/gnusoc.php:326 +#, php-format +msgid "%1$s is now following %2$s" +msgstr "%1$s est maintenant abonné à %2$s" -#: ../../include/text.php:430 -msgid "first" -msgstr "premier" +#: ../../extend/addon/addon/frphotos/frphotos.php:91 +msgid "Friendica Photo Album Import" +msgstr "Importation de l'album photo Friendica " -#: ../../include/text.php:459 -msgid "last" -msgstr "dernier" +#: ../../extend/addon/addon/frphotos/frphotos.php:92 +msgid "This will import all your Friendica photo albums to this Red channel." +msgstr "Ceci importera toutes vos albums photos Friendica dans ce canal Hubzilla." -#: ../../include/text.php:462 -msgid "next" -msgstr "Suivant" +#: ../../extend/addon/addon/frphotos/frphotos.php:93 +msgid "Friendica Server base URL" +msgstr "URL de base du serveur Friendica" -#: ../../include/text.php:472 -msgid "older" -msgstr "plus ancien" +#: ../../extend/addon/addon/frphotos/frphotos.php:94 +msgid "Friendica Login Username" +msgstr "Identifiant de connexion Friendica" -#: ../../include/text.php:474 -msgid "newer" -msgstr "plus récent" +#: ../../extend/addon/addon/frphotos/frphotos.php:95 +msgid "Friendica Login Password" +msgstr "Mot de passe de connexion Friendica" -#: ../../include/text.php:863 -msgid "No connections" -msgstr "Pas de relations." +#: ../../extend/addon/addon/hubwall/hubwall.php:19 +msgid "Send email to all members" +msgstr "Envoyer un mail à tous les membres" -#: ../../include/text.php:888 +#: ../../extend/addon/addon/hubwall/hubwall.php:33 #, php-format -msgid "View all %s connections" -msgstr "Voir les %s contacts" +msgid "$1%s Administrator" +msgstr "$1%s administrateur" -#: ../../include/text.php:1033 ../../include/text.php:1038 -msgid "poke" -msgstr "tapoter" +#: ../../extend/addon/addon/hubwall/hubwall.php:50 +#: ../../extend/addon/addon/mailtest/mailtest.php:50 +msgid "No recipients found." +msgstr "Aucun destinataire trouvé." -#: ../../include/text.php:1033 ../../include/text.php:1038 -#: ../../include/conversation.php:243 -msgid "poked" -msgstr "a tapoté" +#: ../../extend/addon/addon/hubwall/hubwall.php:73 +#, php-format +msgid "%1$d of %2$d messages sent." +msgstr "%1$d message(s) envoyés sur %2$d." -#: ../../include/text.php:1039 -msgid "ping" -msgstr "ping" +#: ../../extend/addon/addon/hubwall/hubwall.php:81 +msgid "Send email to all hub members." +msgstr "Envoyer un e-mail à tous les membres du hub." -#: ../../include/text.php:1039 -msgid "pinged" -msgstr "pingé" +#: ../../extend/addon/addon/hubwall/hubwall.php:92 +#: ../../extend/addon/addon/mailtest/mailtest.php:96 +msgid "Message subject" +msgstr "Objet du message" -#: ../../include/text.php:1040 -msgid "prod" -msgstr "encourager" +#: ../../extend/addon/addon/hubwall/hubwall.php:93 +msgid "Sender Email address" +msgstr "Adresse mail de l'expéditeur" -#: ../../include/text.php:1040 -msgid "prodded" -msgstr "encouragé" +#: ../../extend/addon/addon/hubwall/hubwall.php:94 +msgid "Test mode (only send to hub administrator)" +msgstr "Mode test (uniquement envoyé à l'administrateur du hub)" -#: ../../include/text.php:1041 -msgid "slap" -msgstr "giffler" +#: ../../extend/addon/addon/ijpost/ijpost.php:42 +msgid "Post to Insanejournal" +msgstr "Publier sur InsaneJournal" -#: ../../include/text.php:1041 -msgid "slapped" -msgstr "gifflé(e)" +#: ../../extend/addon/addon/ijpost/ijpost.php:73 +msgid "Enable InsaneJournal Post Plugin" +msgstr "Activer le plugin de publication InsaneJournal" -#: ../../include/text.php:1042 -msgid "finger" -msgstr "pointer" +#: ../../extend/addon/addon/ijpost/ijpost.php:77 +msgid "InsaneJournal username" +msgstr "Identifiant InsaneJournal" -#: ../../include/text.php:1042 -msgid "fingered" -msgstr "pointé" +#: ../../extend/addon/addon/ijpost/ijpost.php:81 +msgid "InsaneJournal password" +msgstr "Mot de passe InsaneJournal" -#: ../../include/text.php:1043 -msgid "rebuff" -msgstr "rejetter" +#: ../../extend/addon/addon/ijpost/ijpost.php:85 +msgid "Post to InsaneJournal by default" +msgstr "Par défaut, publier dans InsaneJournal" -#: ../../include/text.php:1043 -msgid "rebuffed" -msgstr "rejeté" +#: ../../extend/addon/addon/ijpost/ijpost.php:89 +msgid "InsaneJournal Post Settings" +msgstr "Paramètres de publication de InsaneJournal" -#: ../../include/text.php:1055 -msgid "happy" -msgstr "heureux" +#: ../../extend/addon/addon/ijpost/ijpost.php:104 +msgid "Insane Journal Settings saved." +msgstr "Les paramètres d'InsaneJournal ont été sauvegardés" -#: ../../include/text.php:1056 -msgid "sad" -msgstr "triste" +#: ../../extend/addon/addon/irc/irc.php:45 +msgid "Channels to auto connect" +msgstr "Canaux à connecter automatiqument" -#: ../../include/text.php:1057 -msgid "mellow" -msgstr "mélancolique" +#: ../../extend/addon/addon/irc/irc.php:45 +#: ../../extend/addon/addon/irc/irc.php:49 +msgid "Comma separated list" +msgstr "Liste séparée par des virgules" -#: ../../include/text.php:1058 -msgid "tired" -msgstr "fatigué" +#: ../../extend/addon/addon/irc/irc.php:49 +#: ../../extend/addon/addon/irc/irc.php:96 +msgid "Popular Channels" +msgstr "Canaux populaires" -#: ../../include/text.php:1059 -msgid "perky" -msgstr "impertinent" +#: ../../extend/addon/addon/irc/irc.php:53 +msgid "IRC Settings" +msgstr "Paramètres IRC" -#: ../../include/text.php:1060 -msgid "angry" -msgstr "en colère" +#: ../../extend/addon/addon/irc/irc.php:69 +msgid "IRC settings saved." +msgstr "Paramètres IRC sauvegardés" -#: ../../include/text.php:1061 -msgid "stupefied" -msgstr "stupéfait" +#: ../../extend/addon/addon/irc/irc.php:74 +msgid "IRC Chatroom" +msgstr "Salon de discussion IRC" -#: ../../include/text.php:1062 -msgid "puzzled" -msgstr "perplexe" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:305 +#: ../../include/channel.php:1139 ../../include/channel.php:1301 +msgid "Status:" +msgstr "État :" -#: ../../include/text.php:1063 -msgid "interested" -msgstr "intéressé" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:309 +msgid "Activate addon" +msgstr "Activer l'extension" -#: ../../include/text.php:1064 -msgid "bitter" -msgstr "amer" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:313 +msgid "Hide Jappixmini Chat-Widget from the webinterface" +msgstr "Cacher le widget de chat Jappixmini de l'interface web" -#: ../../include/text.php:1065 -msgid "cheerful" -msgstr "plein d'entrain" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:318 +msgid "Jabber username" +msgstr "Identifiant Jabber" -#: ../../include/text.php:1066 -msgid "alive" -msgstr "vivant" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:324 +msgid "Jabber server" +msgstr "Serveur Jabber" -#: ../../include/text.php:1067 -msgid "annoyed" -msgstr "agaçé" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:330 +msgid "Jabber BOSH host URL" +msgstr "Adresse hôte pour Jabber BOSH" -#: ../../include/text.php:1068 -msgid "anxious" -msgstr "anxieux" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:337 +msgid "Jabber password" +msgstr "Mot de passe Jabber" -#: ../../include/text.php:1069 -msgid "cranky" +#: ../../extend/addon/addon/jappixmini/jappixmini.php:343 +msgid "Encrypt Jabber password with Hubzilla password" +msgstr "Chiffrer le mot de passe Jabber avec le mot de passe Hubzilla" + +#: ../../extend/addon/addon/jappixmini/jappixmini.php:347 +#: ../../extend/addon/addon/redred/redred.php:115 +msgid "Hubzilla password" +msgstr "Mot de passe Hubzilla" + +#: ../../extend/addon/addon/jappixmini/jappixmini.php:351 +#: ../../extend/addon/addon/jappixmini/jappixmini.php:355 +msgid "Approve subscription requests from Hubzilla contacts automatically" +msgstr "Approuver automatiquement les demandes de connexion des contacts Hubzilla" + +#: ../../extend/addon/addon/jappixmini/jappixmini.php:359 +msgid "Purge internal list of jabber addresses of contacts" +msgstr "Purger la liste interne des adresses jabber des contacts" + +#: ../../extend/addon/addon/jappixmini/jappixmini.php:364 +msgid "Configuration Help" +msgstr "Aide pour la configuration" + +#: ../../extend/addon/addon/jappixmini/jappixmini.php:371 +msgid "Jappix Mini Settings" +msgstr "Paramètres de Jappix mini" + +#: ../../extend/addon/addon/js_upload/js_upload.php:44 +msgid "Upload a file" +msgstr "Téléverser un fichier" + +#: ../../extend/addon/addon/js_upload/js_upload.php:45 +msgid "Drop files here to upload" +msgstr "Glisser les fichiers ici pour téléversement" + +#: ../../extend/addon/addon/js_upload/js_upload.php:47 +msgid "Failed" +msgstr "Échec" + +#: ../../extend/addon/addon/js_upload/js_upload.php:315 +msgid "No files were uploaded." +msgstr "Aucun fichier n'a été téléversé." + +#: ../../extend/addon/addon/js_upload/js_upload.php:322 +msgid "Uploaded file is empty" +msgstr "Le fichier téléversé est vide" + +#: ../../extend/addon/addon/js_upload/js_upload.php:335 +msgid "Image exceeds size limit of " +msgstr "L'image excède la taille limite de" + +#: ../../extend/addon/addon/js_upload/js_upload.php:347 +msgid "File has an invalid extension, it should be one of " +msgstr "L'extension du fichier est invalide, elle doit être l'une des suivantes" + +#: ../../extend/addon/addon/js_upload/js_upload.php:359 +msgid "Upload was cancelled, or server error encountered" +msgstr "Le téléversement a été annulé, ou le serveur a rencontré une erreur" + +#: ../../extend/addon/addon/ldapauth/ldapauth.php:61 +msgid "An account has been created for you." +msgstr "Un compte a été créé pour vous." + +#: ../../extend/addon/addon/ldapauth/ldapauth.php:68 +msgid "Authentication successful but rejected: account creation is disabled." +msgstr "L'authentification a réussi mais a été rejetée : la création de comptes est désactivée." + +#: ../../extend/addon/addon/libertree/libertree.php:38 +msgid "Post to Libertree" +msgstr "Publier sur Libertree" + +#: ../../extend/addon/addon/libertree/libertree.php:69 +msgid "Enable Libertree Post Plugin" +msgstr "Activer le plugin de publication Libertree" + +#: ../../extend/addon/addon/libertree/libertree.php:73 +msgid "Libertree API token" +msgstr "Jeton de l'API Libertree" + +#: ../../extend/addon/addon/libertree/libertree.php:77 +msgid "Libertree site URL" +msgstr "Adresse du site Libertree" + +#: ../../extend/addon/addon/libertree/libertree.php:81 +msgid "Post to Libertree by default" +msgstr "Par défaut, publier sur Libertree" + +#: ../../extend/addon/addon/libertree/libertree.php:85 +msgid "Libertree Post Settings" +msgstr "Paramètres de publication pour Libertree" + +#: ../../extend/addon/addon/libertree/libertree.php:99 +msgid "Libertree Settings saved." +msgstr "Paramètres de Libertree sauvegardés." + +#: ../../extend/addon/addon/ljpost/ljpost.php:42 +msgid "Post to LiveJournal" +msgstr "Publier sur LiveJournal" + +#: ../../extend/addon/addon/ljpost/ljpost.php:70 +msgid "Enable LiveJournal Post Plugin" +msgstr "Activer le plugin de publication LiveJournal" + +#: ../../extend/addon/addon/ljpost/ljpost.php:74 +msgid "LiveJournal username" +msgstr "Identifiant LiveJournal" + +#: ../../extend/addon/addon/ljpost/ljpost.php:78 +msgid "LiveJournal password" +msgstr "Mot de passe LiveJournal" + +#: ../../extend/addon/addon/ljpost/ljpost.php:82 +msgid "Post to LiveJournal by default" +msgstr "Par défaut, publier sur LiveJournal" + +#: ../../extend/addon/addon/ljpost/ljpost.php:86 +msgid "LiveJournal Post Settings" +msgstr "Paramètres de publication LiveJournal" + +#: ../../extend/addon/addon/ljpost/ljpost.php:101 +msgid "LiveJournal Settings saved." +msgstr "Paramètres LiveJournal sauvegardés." + +#: ../../extend/addon/addon/logrot/logrot.php:36 +msgid "Logfile archive directory" +msgstr "Répertoire d'archivage du fichier journal" + +#: ../../extend/addon/addon/logrot/logrot.php:36 +msgid "Directory to store rotated logs" +msgstr "Répertoire où stocker les journaux de rotation" + +#: ../../extend/addon/addon/logrot/logrot.php:37 +msgid "Logfile size in bytes before rotating" +msgstr "Taille du fichier journal en octets avant la rotation" + +#: ../../extend/addon/addon/logrot/logrot.php:38 +msgid "Number of logfiles to retain" +msgstr "Nombre de fichiers de journal à conserver" + +#: ../../extend/addon/addon/mailhost/mailhost.php:36 +msgid "Email notification hub" +msgstr "Notification par mail du hub" + +#: ../../extend/addon/addon/mailhost/mailhost.php:36 +msgid "Hostname" +msgstr "Nom d'hôte" + +#: ../../extend/addon/addon/mailhost/mailhost.php:40 +msgid "Mailhost Settings" +msgstr "Paramètres mail de l'hôte" + +#: ../../extend/addon/addon/mailhost/mailhost.php:54 +msgid "MAILHOST Settings saved." +msgstr "Paramètres mail de l'hôte sauvegardés." + +#: ../../extend/addon/addon/moremoods/moremoods.php:19 +msgid "lonely" +msgstr "isolé" + +#: ../../extend/addon/addon/moremoods/moremoods.php:20 +msgid "drunk" +msgstr "saoul" + +#: ../../extend/addon/addon/moremoods/moremoods.php:21 +msgid "horny" +msgstr "libidineux" + +#: ../../extend/addon/addon/moremoods/moremoods.php:22 +msgid "stoned" +msgstr "défoncé" + +#: ../../extend/addon/addon/moremoods/moremoods.php:23 +msgid "fucked up" +msgstr "cramé" + +#: ../../extend/addon/addon/moremoods/moremoods.php:24 +msgid "clusterfucked" msgstr "énervé" -#: ../../include/text.php:1070 -msgid "disturbed" -msgstr "perturbé" +#: ../../extend/addon/addon/moremoods/moremoods.php:25 +msgid "crazy" +msgstr "cinglé" -#: ../../include/text.php:1071 -msgid "frustrated" -msgstr "frustré" +#: ../../extend/addon/addon/moremoods/moremoods.php:26 +msgid "hurt" +msgstr "dommage" -#: ../../include/text.php:1072 -msgid "depressed" -msgstr "déprimé" +#: ../../extend/addon/addon/moremoods/moremoods.php:27 +msgid "sleepy" +msgstr "somnolent" -#: ../../include/text.php:1073 -msgid "motivated" -msgstr "motivé" +#: ../../extend/addon/addon/moremoods/moremoods.php:28 +msgid "grumpy" +msgstr "grognon" -#: ../../include/text.php:1074 -msgid "relaxed" -msgstr "détendu" +#: ../../extend/addon/addon/moremoods/moremoods.php:29 +msgid "high" +msgstr "allumé" -#: ../../include/text.php:1075 -msgid "surprised" -msgstr "surpris" +#: ../../extend/addon/addon/moremoods/moremoods.php:30 +msgid "semi-conscious" +msgstr "à demi-conscient" -#: ../../include/text.php:1257 ../../include/js_strings.php:70 -msgid "Monday" -msgstr "Lundi" +#: ../../extend/addon/addon/moremoods/moremoods.php:31 +msgid "in love" +msgstr "amoureux" -#: ../../include/text.php:1257 ../../include/js_strings.php:71 -msgid "Tuesday" -msgstr "Mardi" +#: ../../extend/addon/addon/moremoods/moremoods.php:32 +msgid "in lust" +msgstr "convoitise" -#: ../../include/text.php:1257 ../../include/js_strings.php:72 -msgid "Wednesday" -msgstr "Mercredi" +#: ../../extend/addon/addon/moremoods/moremoods.php:33 +msgid "naked" +msgstr "nu" -#: ../../include/text.php:1257 ../../include/js_strings.php:73 -msgid "Thursday" -msgstr "Jeudi" +#: ../../extend/addon/addon/moremoods/moremoods.php:34 +msgid "stinky" +msgstr "puant" -#: ../../include/text.php:1257 ../../include/js_strings.php:74 -msgid "Friday" -msgstr "Vendredi" +#: ../../extend/addon/addon/moremoods/moremoods.php:35 +msgid "sweaty" +msgstr "en sueur" -#: ../../include/text.php:1257 ../../include/js_strings.php:75 -msgid "Saturday" -msgstr "Samedi" +#: ../../extend/addon/addon/moremoods/moremoods.php:36 +msgid "bleeding out" +msgstr "en sang" -#: ../../include/text.php:1257 ../../include/js_strings.php:69 -msgid "Sunday" -msgstr "Dimanche" +#: ../../extend/addon/addon/moremoods/moremoods.php:37 +msgid "victorious" +msgstr "victorieux" -#: ../../include/text.php:1261 ../../include/js_strings.php:45 -msgid "January" -msgstr "Janvier" +#: ../../extend/addon/addon/moremoods/moremoods.php:38 +msgid "defeated" +msgstr "vaincu" -#: ../../include/text.php:1261 ../../include/js_strings.php:46 -msgid "February" -msgstr "Février" +#: ../../extend/addon/addon/moremoods/moremoods.php:39 +msgid "envious" +msgstr "envieux" -#: ../../include/text.php:1261 ../../include/js_strings.php:47 -msgid "March" -msgstr "Mars" +#: ../../extend/addon/addon/moremoods/moremoods.php:40 +msgid "jealous" +msgstr "jaloux" -#: ../../include/text.php:1261 ../../include/js_strings.php:48 -msgid "April" -msgstr "Avril" +#: ../../extend/addon/addon/morepokes/morepokes.php:19 +msgid "bitchslap" +msgstr "giffler" -#: ../../include/text.php:1261 -msgid "May" -msgstr "Mai" +#: ../../extend/addon/addon/morepokes/morepokes.php:19 +msgid "bitchslapped" +msgstr "gifflé(e)" -#: ../../include/text.php:1261 ../../include/js_strings.php:50 -msgid "June" -msgstr "Juin" +#: ../../extend/addon/addon/morepokes/morepokes.php:20 +msgid "shag" +msgstr "baiser" -#: ../../include/text.php:1261 ../../include/js_strings.php:51 -msgid "July" -msgstr "Juillet" +#: ../../extend/addon/addon/morepokes/morepokes.php:20 +msgid "shagged" +msgstr "baisé" -#: ../../include/text.php:1261 ../../include/js_strings.php:52 -msgid "August" -msgstr "Août" +#: ../../extend/addon/addon/morepokes/morepokes.php:21 +msgid "patent" +msgstr "breveté" -#: ../../include/text.php:1261 ../../include/js_strings.php:53 -msgid "September" -msgstr "Septembre" +#: ../../extend/addon/addon/morepokes/morepokes.php:21 +msgid "patented" +msgstr "être breveté" -#: ../../include/text.php:1261 ../../include/js_strings.php:54 -msgid "October" -msgstr "Octobre" +#: ../../extend/addon/addon/morepokes/morepokes.php:22 +msgid "hug" +msgstr "étreindre" -#: ../../include/text.php:1261 ../../include/js_strings.php:55 -msgid "November" -msgstr "Novembre" +#: ../../extend/addon/addon/morepokes/morepokes.php:22 +msgid "hugged" +msgstr "être étreint" -#: ../../include/text.php:1261 ../../include/js_strings.php:56 -msgid "December" -msgstr "Décembre" +#: ../../extend/addon/addon/morepokes/morepokes.php:23 +msgid "murder" +msgstr "assassiner" -#: ../../include/text.php:1338 ../../include/text.php:1342 -msgid "Unknown Attachment" -msgstr "Pièce jointe inconnue" +#: ../../extend/addon/addon/morepokes/morepokes.php:23 +msgid "murdered" +msgstr "être assassiné" -#: ../../include/text.php:1344 -msgid "unknown" -msgstr "Inconnu" +#: ../../extend/addon/addon/morepokes/morepokes.php:24 +msgid "worship" +msgstr "vénérer" -#: ../../include/text.php:1380 -msgid "remove category" -msgstr "supprimer la catégorie" +#: ../../extend/addon/addon/morepokes/morepokes.php:24 +msgid "worshipped" +msgstr "être vénéré" -#: ../../include/text.php:1457 -msgid "remove from file" -msgstr "retirer du fichier" +#: ../../extend/addon/addon/morepokes/morepokes.php:25 +msgid "kiss" +msgstr "embrasser" -#: ../../include/text.php:1753 ../../include/text.php:1824 -msgid "default" -msgstr "défaut" +#: ../../extend/addon/addon/morepokes/morepokes.php:25 +msgid "kissed" +msgstr "embrassé" -#: ../../include/text.php:1761 -msgid "Page layout" -msgstr "Mise en page" +#: ../../extend/addon/addon/morepokes/morepokes.php:26 +msgid "tempt" +msgstr "tenter" -#: ../../include/text.php:1761 -msgid "You can create your own with the layouts tool" -msgstr "Créez les vôtres avec les outils de mise en page" +#: ../../extend/addon/addon/morepokes/morepokes.php:26 +msgid "tempted" +msgstr "tenté" -#: ../../include/text.php:1803 -msgid "Page content type" -msgstr "Type de contenu de la page" +#: ../../extend/addon/addon/morepokes/morepokes.php:27 +msgid "raise eyebrows at" +msgstr "soulever les sourcils à la vue de" -#: ../../include/text.php:1836 -msgid "Select an alternate language" -msgstr "Choisir une langue alternative" +#: ../../extend/addon/addon/morepokes/morepokes.php:27 +msgid "raised their eyebrows at" +msgstr "sourcils soulevés à la vue de" -#: ../../include/text.php:1953 -msgid "activity" -msgstr "activité" +#: ../../extend/addon/addon/morepokes/morepokes.php:28 +msgid "insult" +msgstr "insulter" -#: ../../include/text.php:2262 -msgid "Design Tools" -msgstr "Outils de conception" +#: ../../extend/addon/addon/morepokes/morepokes.php:28 +msgid "insulted" +msgstr "insulté" -#: ../../include/text.php:2268 -msgid "Pages" -msgstr "Pages" +#: ../../extend/addon/addon/morepokes/morepokes.php:29 +msgid "praise" +msgstr "louer" -#: ../../include/widgets.php:103 -msgid "System" -msgstr "Système" +#: ../../extend/addon/addon/morepokes/morepokes.php:29 +msgid "praised" +msgstr "loué" -#: ../../include/widgets.php:106 -msgid "New App" +#: ../../extend/addon/addon/morepokes/morepokes.php:30 +msgid "be dubious of" +msgstr "douter de" + +#: ../../extend/addon/addon/morepokes/morepokes.php:30 +msgid "was dubious of" +msgstr "avoir douté de" + +#: ../../extend/addon/addon/morepokes/morepokes.php:31 +msgid "eat" +msgstr "manger" + +#: ../../extend/addon/addon/morepokes/morepokes.php:31 +msgid "ate" +msgstr "a mangé" + +#: ../../extend/addon/addon/morepokes/morepokes.php:32 +msgid "giggle and fawn at" +msgstr "séduire, charmer" + +#: ../../extend/addon/addon/morepokes/morepokes.php:32 +msgid "giggled and fawned at" +msgstr "séduit(e), charmé(e)" + +#: ../../extend/addon/addon/morepokes/morepokes.php:33 +msgid "doubt" +msgstr "doute" + +#: ../../extend/addon/addon/morepokes/morepokes.php:33 +msgid "doubted" +msgstr "a douté" + +#: ../../extend/addon/addon/morepokes/morepokes.php:34 +msgid "glare" +msgstr "jeter un regard" + +#: ../../extend/addon/addon/morepokes/morepokes.php:34 +msgid "glared at" +msgstr "a jeté un regard à " + +#: ../../extend/addon/addon/morepokes/morepokes.php:35 +msgid "fuck" +msgstr "baiser" + +#: ../../extend/addon/addon/morepokes/morepokes.php:35 +msgid "fucked" +msgstr "être baisé" + +#: ../../extend/addon/addon/morepokes/morepokes.php:36 +msgid "bonk" +msgstr "baiser" + +#: ../../extend/addon/addon/morepokes/morepokes.php:36 +msgid "bonked" +msgstr "baisé(e)" + +#: ../../extend/addon/addon/morepokes/morepokes.php:37 +msgid "declare undying love for" +msgstr "Déclarer un amour éternel pour" + +#: ../../extend/addon/addon/morepokes/morepokes.php:37 +msgid "declared undying love for" +msgstr "A déclaré l'amour éternel pour" + +#: ../../extend/addon/addon/msgfooter/msgfooter.php:46 +#: ../../extend/addon/addon/xmpp/xmpp.php:91 +msgid "Save Settings" +msgstr "Sauvegarder les paramètres" + +#: ../../extend/addon/addon/msgfooter/msgfooter.php:47 +msgid "text to include in all outgoing posts from this site" +msgstr "Texte à inclure dans tous les messages sortants de ce site" + +#: ../../extend/addon/addon/nofed/nofed.php:42 +msgid "Federate" +msgstr "Fédérer" + +#: ../../extend/addon/addon/nofed/nofed.php:56 +msgid "nofed Settings saved." +msgstr "Les paramètres nfed ont été enregistrés." + +#: ../../extend/addon/addon/nofed/nofed.php:72 +msgid "Allow Federation Toggle" +msgstr "Autoriser la fédération avec Toggle" + +#: ../../extend/addon/addon/nofed/nofed.php:76 +msgid "Federate posts by default" +msgstr "Par défaut, fédérer les publications." + +#: ../../extend/addon/addon/nofed/nofed.php:80 +msgid "NoFed Settings" +msgstr "Paramètres NoFed" + +#: ../../extend/addon/addon/nsabait/nsabait.php:125 +msgid "Nsabait Settings updated." +msgstr "Les paramètres Nsabait ont été enregistrés." + +#: ../../extend/addon/addon/nsabait/nsabait.php:157 +msgid "Enable NSAbait Plugin" +msgstr "Activer le plugin NSAbait" + +#: ../../extend/addon/addon/nsabait/nsabait.php:161 +msgid "NSAbait Settings" +msgstr "Paramètres NSAbait" + +#: ../../extend/addon/addon/nsfw/nsfw.php:80 +msgid "" +"This plugin looks in posts for the words/text you specify below, and " +"collapses any content containing those keywords so it is not displayed at " +"inappropriate times, such as sexual innuendo that may be improper in a work " +"setting. It is polite and recommended to tag any content containing nudity " +"with #NSFW. This filter can also match any other word/text you specify, and" +" can thereby be used as a general purpose content filter." +msgstr "Ce plugin cherche dans les publications les mots/textes que vous spécifiez ci-dessous, et réduit tout contenu contenant ces mots-clés afin qu'ils ne s'affichent pas à des moments inappropriés, tels que les insinuations sexuelles qui peuvent être inappropriées dans un contexte de travail. Il est poli et recommandé de marquer tout contenu contenant de la nudité avec #NSFW. Ce filtre peut également correspondre à tout autre mot/texte que vous spécifiez et peut ainsi être utilisé comme un filtre de contenu à usage général." + +#: ../../extend/addon/addon/nsfw/nsfw.php:84 +msgid "Enable Content filter" +msgstr "Activer le filtrage des contenus" + +#: ../../extend/addon/addon/nsfw/nsfw.php:88 +msgid "Comma separated list of keywords to hide" +msgstr "Liste séparée par des virgules des mots-clés à cacher" + +#: ../../extend/addon/addon/nsfw/nsfw.php:88 +msgid "Word, /regular-expression/, lang=xx, lang!=xx" +msgstr "Mot, /expression-régulière/, lang=xx, lang!=xx" + +#: ../../extend/addon/addon/nsfw/nsfw.php:92 +msgid "Not Safe For Work Settings" +msgstr "Paramètres NSFW (Not Safe For Work)" + +#: ../../extend/addon/addon/nsfw/nsfw.php:92 +msgid "General Purpose Content Filter" +msgstr "Filtre de contenu sujet général" + +#: ../../extend/addon/addon/nsfw/nsfw.php:110 +msgid "NSFW Settings saved." +msgstr "Paramètres NSFW sauvegardés." + +#: ../../extend/addon/addon/nsfw/nsfw.php:207 +msgid "Possible adult content" +msgstr "Contenu pour adulte probable" + +#: ../../extend/addon/addon/nsfw/nsfw.php:211 +#, php-format +msgid "%s - view" msgstr "" -#: ../../include/widgets.php:154 -msgid "Suggestions" -msgstr "Suggestions" +#: ../../extend/addon/addon/openclipatar/openclipatar.php:50 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:128 +msgid "System defaults:" +msgstr "Paramètres par défaut du système :" -#: ../../include/widgets.php:155 -msgid "See more..." -msgstr "Voir plus..." +#: ../../extend/addon/addon/openclipatar/openclipatar.php:54 +msgid "Preferred Clipart IDs" +msgstr "ID Clipart préférées" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:54 +msgid "List of preferred clipart ids. These will be shown first." +msgstr "Liste des ids clipart préférése. Celles-ci seront montrées en premier." + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:55 +msgid "Default Search Term" +msgstr "Terme de recherche par défaut" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:55 +msgid "The default search term. These will be shown second." +msgstr "Le terme de recherche par défaut. Ceci sera affiché en second." + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:56 +msgid "Return After" +msgstr "Retourner ensuite" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:56 +msgid "Page to load after image selection." +msgstr "Page à afficher après la sélection de l'image." + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:58 +#: ../../include/channel.php:1048 ../../include/nav.php:107 +msgid "Edit Profile" +msgstr "Éditeur de profil" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:59 +msgid "Profile List" +msgstr "Liste de profil" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:61 +msgid "Order of Preferred" +msgstr "Tri selon les préférences" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:61 +msgid "Sort order of preferred clipart ids." +msgstr "Ordre de tri des ids de clipart préférés." + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:62 +#: ../../extend/addon/addon/openclipatar/openclipatar.php:68 +msgid "Newest first" +msgstr "Les plus récents en premier" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:65 +msgid "As entered" +msgstr "Comme entrés" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:67 +msgid "Order of other" +msgstr "Tri selon autre" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:67 +msgid "Sort order of other clipart ids." +msgstr "Ordre de tri des autres clipart ids." + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:69 +msgid "Most downloaded first" +msgstr "Les plus téléchargés en premier" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:70 +msgid "Most liked first" +msgstr "Les plus aimés en premier" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:72 +msgid "Preferred IDs Message" +msgstr "IDs des messages préférés" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:72 +msgid "Message to display above preferred results." +msgstr "Message à afficher au-dessus de la liste des résultats préférés." + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:78 +msgid "Uploaded by: " +msgstr "Téléversé par :" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:78 +msgid "Drawn by: " +msgstr "Dessiné par :" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:192 +msgid "Or select from a free OpenClipart.org image:" +msgstr "ou sélectionner une image libre d'OpenClipart.org :" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:195 +msgid "Search Term" +msgstr "Terme de recherche" + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:232 +msgid "Unknown error. Please try again later." +msgstr "Erreur inconnue. Veuillez essayer à nouveau plus tard." + +#: ../../extend/addon/addon/openclipatar/openclipatar.php:305 +msgid "Profile photo updated successfully." +msgstr "Photo de profil actualisée avec succès." + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:146 +msgid "View Larger" +msgstr "Afficher en plus grand" + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:169 +msgid "Tile Server URL" +msgstr "URL de la tuile du serveur" + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:169 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" " +"target=\"_blank\">public tile servers</a>" +msgstr "Une liste de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">serveurs de cartes publics</a>" + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:170 +msgid "Nominatim (reverse geocoding) Server URL" +msgstr "URL du serveur Nominatim (géocodage inversé)" + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:170 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" " +"target=\"_blank\">Nominatim servers</a>" +msgstr "Une liste de <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">serveurs Nominatim</a>" + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:171 +msgid "Default zoom" +msgstr "Zoom par défaut" -#: ../../include/widgets.php:175 +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:171 +msgid "" +"The default zoom level. (1:world, 18:highest, also depends on tile server)" +msgstr "Le niveau de zoom par défaut. (1: monde, 18: plus élevé, dépend également du serveur de tuiles)" + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:172 +msgid "Include marker on map" +msgstr "Inclure le marqueur sur la carte" + +#: ../../extend/addon/addon/openstreetmap/openstreetmap.php:172 +msgid "Include a marker on the map." +msgstr "Inclure un marqueur sur la carte." + +#: ../../extend/addon/addon/pageheader/pageheader.php:43 +msgid "Message to display on every page on this server" +msgstr "Message à afficher sur chaque page de ce serveur" + +#: ../../extend/addon/addon/pageheader/pageheader.php:48 +msgid "Pageheader Settings" +msgstr "Paramètres du haut de page" + +#: ../../extend/addon/addon/pageheader/pageheader.php:64 +msgid "pageheader Settings saved." +msgstr "Paramètres du haut de page sauvegardés." + +#: ../../extend/addon/addon/piwik/piwik.php:85 +msgid "" +"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> " +"analytics tool." +msgstr "Ce site web est surveillé grâce à l'outil d'analyse <a href='http://www.piwik.org'>Piwik</a>." + +#: ../../extend/addon/addon/piwik/piwik.php:88 #, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." -msgstr "Vous avez %1$.0f sur %2$.0f contacts autorisés." +msgid "" +"If you do not want that your visits are logged this way you <a href='%s'>can" +" set a cookie to prevent Piwik from tracking further visits of the site</a> " +"(opt-out)." +msgstr "Si vous ne souhaitez pas que vos visites soient enregistrées de cette façon, <a href='%s'>vous pouvez\ndéfinir un cookie pour empêcher Piwik de suivre davantage de visites du site</a> (opt-out)." -#: ../../include/widgets.php:181 -msgid "Add New Connection" -msgstr "Ajouter un nouveau contact" +#: ../../extend/addon/addon/piwik/piwik.php:96 +msgid "Piwik Base URL" +msgstr "URL de base Piwik" -#: ../../include/widgets.php:182 -msgid "Enter channel address" -msgstr "Saisissez l'adresse du canal" +#: ../../extend/addon/addon/piwik/piwik.php:96 +msgid "" +"Absolute path to your Piwik installation. (without protocol (http/s), with " +"trailing slash)" +msgstr "Chemin absolu vers votre installation Piwik. (sans le http/s, avec antislash)" -#: ../../include/widgets.php:183 -msgid "Examples: bob@example.com, https://example.com/barbara" -msgstr "Exemples : pierre@exemple.com, https://exemple.com/sophie" +#: ../../extend/addon/addon/piwik/piwik.php:97 +msgid "Site ID" +msgstr "ID du site" -#: ../../include/widgets.php:199 -msgid "Notes" -msgstr "Notes" +#: ../../extend/addon/addon/piwik/piwik.php:98 +msgid "Show opt-out cookie link?" +msgstr "Afficher le lien opt-out du cookie ?" -#: ../../include/widgets.php:273 -msgid "Remove term" -msgstr "Retirer le terme" +#: ../../extend/addon/addon/piwik/piwik.php:99 +msgid "Asynchronous tracking" +msgstr "Traqueur asynchrone" -#: ../../include/widgets.php:281 ../../include/features.php:84 -msgid "Saved Searches" -msgstr "Recherches sauvegardées" +#: ../../extend/addon/addon/piwik/piwik.php:100 +msgid "Enable frontend JavaScript error tracking" +msgstr "Activer le traqueur d'erreur du frontend JavaScript" -#: ../../include/widgets.php:282 ../../include/group.php:316 -msgid "add" -msgstr "ajouter" +#: ../../extend/addon/addon/piwik/piwik.php:100 +msgid "This feature requires Piwik >= 2.2.0" +msgstr "Cette fonctionnalité requiert une version de Piwik >=2.2.0" -#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53 -#: ../../include/features.php:98 -msgid "Saved Folders" -msgstr "Dossiers sauvegardés" +#: ../../extend/addon/addon/planets/planets.php:121 +msgid "Planets Settings updated." +msgstr "Paramètres Planets mis à jour." -#: ../../include/widgets.php:313 ../../include/widgets.php:432 -#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94 -msgid "Everything" -msgstr "Tout" +#: ../../extend/addon/addon/planets/planets.php:153 +msgid "Enable Planets Plugin" +msgstr "Activer le plugin Planets" -#: ../../include/widgets.php:354 -msgid "Archives" -msgstr "Archives" +#: ../../extend/addon/addon/planets/planets.php:157 +msgid "Planets Settings" +msgstr "Paramètres Planets" -#: ../../include/widgets.php:516 -msgid "Refresh" -msgstr "Actualiser" +#: ../../extend/addon/addon/pumpio/pumpio.php:148 +msgid "You are now authenticated to pumpio." +msgstr "Vous êtes maintenant connecté à pumpio." -#: ../../include/widgets.php:556 -msgid "Account settings" -msgstr "Paramètres du compte" +#: ../../extend/addon/addon/pumpio/pumpio.php:149 +msgid "return to the featured settings page" +msgstr "retourner à la page des paramètres des fonctionnalités" -#: ../../include/widgets.php:562 -msgid "Channel settings" -msgstr "Paramètres du canal" +#: ../../extend/addon/addon/pumpio/pumpio.php:163 +msgid "Post to Pump.io" +msgstr "Publier sur Pump.io" -#: ../../include/widgets.php:571 -msgid "Additional features" -msgstr "Fonctionnalités supplémentaires" +#: ../../extend/addon/addon/pumpio/pumpio.php:198 +msgid "Pump.io servername" +msgstr "Nom du serveur Pump.io" -#: ../../include/widgets.php:578 -msgid "Feature/Addon settings" -msgstr "Paramètres des extensions/greffons" +#: ../../extend/addon/addon/pumpio/pumpio.php:198 +msgid "Without \"http://\" or \"https://\"" +msgstr "Sans \"http://\" ou \"https://\"" -#: ../../include/widgets.php:584 -msgid "Display settings" -msgstr "Paramètres d'affichage" +#: ../../extend/addon/addon/pumpio/pumpio.php:202 +msgid "Pump.io username" +msgstr "Identifiant Pump.io" -#: ../../include/widgets.php:591 -msgid "Manage locations" -msgstr "" +#: ../../extend/addon/addon/pumpio/pumpio.php:202 +msgid "Without the servername" +msgstr "Sans le nom de serveur" -#: ../../include/widgets.php:600 -msgid "Export channel" -msgstr "Exporter le canal" +#: ../../extend/addon/addon/pumpio/pumpio.php:213 +msgid "You are not authenticated to pumpio" +msgstr "Vous n'êtes pas connecté à Pump.io" -#: ../../include/widgets.php:607 -msgid "Connected apps" -msgstr "Applications connectées" +#: ../../extend/addon/addon/pumpio/pumpio.php:215 +msgid "(Re-)Authenticate your pump.io connection" +msgstr "Authentifiez-vous à nouveau auprès de Pump.io" -#: ../../include/widgets.php:622 -msgid "Premium Channel Settings" -msgstr "Paramètres de canal VIP" +#: ../../extend/addon/addon/pumpio/pumpio.php:219 +msgid "Enable pump.io Post Plugin" +msgstr "Activer le plugin de publication Pump.io" -#: ../../include/widgets.php:651 -msgid "Private Mail Menu" -msgstr "Menu des messages privés" +#: ../../extend/addon/addon/pumpio/pumpio.php:223 +msgid "Post to pump.io by default" +msgstr "Par défaut, publier sur Pump.io" -#: ../../include/widgets.php:653 -msgid "Combined View" -msgstr "Vue combinée" +#: ../../extend/addon/addon/pumpio/pumpio.php:227 +msgid "Should posts be public" +msgstr "Les publications doivent-elles être publiques ?" -#: ../../include/widgets.php:658 ../../include/nav.php:196 -msgid "Inbox" -msgstr "Boîte de réception" +#: ../../extend/addon/addon/pumpio/pumpio.php:231 +msgid "Mirror all public posts" +msgstr "Créer une copie miroir de toutes les publications publiques" -#: ../../include/widgets.php:663 ../../include/nav.php:197 -msgid "Outbox" -msgstr "Boîte d'envoi" +#: ../../extend/addon/addon/pumpio/pumpio.php:237 +msgid "Pump.io Post Settings" +msgstr "Paramètres de publication Pump.io" -#: ../../include/widgets.php:668 ../../include/nav.php:198 -msgid "New Message" -msgstr "Nouveau message" +#: ../../extend/addon/addon/pumpio/pumpio.php:266 +msgid "PumpIO Settings saved." +msgstr "Paramètres Pump.io sauvegardés." -#: ../../include/widgets.php:685 ../../include/widgets.php:697 -msgid "Conversations" -msgstr "Conversations" +#: ../../extend/addon/addon/qrator/qrator.php:48 +msgid "QR code" +msgstr "QR code" -#: ../../include/widgets.php:689 -msgid "Received Messages" -msgstr "Messages reçus" +#: ../../extend/addon/addon/qrator/qrator.php:63 +msgid "QR Generator" +msgstr "Générateur de QRcode" -#: ../../include/widgets.php:693 -msgid "Sent Messages" -msgstr "Messages envoyés" +#: ../../extend/addon/addon/qrator/qrator.php:64 +msgid "Enter some text" +msgstr "Entrer du texte" -#: ../../include/widgets.php:707 -msgid "No messages." -msgstr "Pas de message." +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:81 +msgid "Enable Rainbowtag" +msgstr "Activer Rainbowtag" -#: ../../include/widgets.php:725 -msgid "Delete conversation" -msgstr "Supprimer la conversation" +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:85 +msgid "Rainbowtag Settings" +msgstr "Paramètres Rainbowtag" -#: ../../include/widgets.php:751 -msgid "Events Menu" -msgstr "Menu Evènements" +#: ../../extend/addon/addon/rainbowtag/rainbowtag.php:101 +msgid "Rainbowtag Settings saved." +msgstr "Paramètres Rainbowtag sauvegardés." -#: ../../include/widgets.php:752 -msgid "Day View" -msgstr "Vue Jour" +#: ../../extend/addon/addon/randpost/randpost.php:97 +msgid "You're welcome." +msgstr "Bienvenue." -#: ../../include/widgets.php:753 -msgid "Week View" -msgstr "Vue Semaine" +#: ../../extend/addon/addon/randpost/randpost.php:98 +msgid "Ah shucks..." +msgstr "Ah m…" -#: ../../include/widgets.php:754 -msgid "Month View" -msgstr "Vue Mois" +#: ../../extend/addon/addon/randpost/randpost.php:99 +msgid "Don't mention it." +msgstr "De rien." -#: ../../include/widgets.php:766 -msgid "Events Tools" -msgstr "Outils Evènements" +#: ../../extend/addon/addon/randpost/randpost.php:100 +msgid "<blush>" +msgstr "<rougit>" -#: ../../include/widgets.php:767 -msgid "Export Calendar" -msgstr "Exporter le calendrier" +#: ../../extend/addon/addon/redfiles/redfiles.php:119 +msgid "Redmatrix File Storage Import" +msgstr "Importation du fichier de stockage Redmatrix" -#: ../../include/widgets.php:768 -msgid "Import Calendar" -msgstr "Importer un calendrier" +#: ../../extend/addon/addon/redfiles/redfiles.php:120 +msgid "This will import all your Redmatrix cloud files to this channel." +msgstr "Ceci importera tous vos fichiers Redmatrix dans ce canal." -#: ../../include/widgets.php:842 ../../include/conversation.php:1662 -#: ../../include/conversation.php:1665 -msgid "Chatrooms" -msgstr "Salons de clavardage" +#: ../../extend/addon/addon/redfiles/redfiles.php:121 +#: ../../extend/addon/addon/redphotos/redphotos.php:131 +msgid "Redmatrix Server base URL" +msgstr "URL de base du serveur Redmatrix" + +#: ../../extend/addon/addon/redfiles/redfiles.php:122 +#: ../../extend/addon/addon/redphotos/redphotos.php:132 +msgid "Redmatrix Login Username" +msgstr "Identifiant de connexion Redmatrix" + +#: ../../extend/addon/addon/redfiles/redfiles.php:123 +#: ../../extend/addon/addon/redphotos/redphotos.php:133 +msgid "Redmatrix Login Password" +msgstr "Mot de passe de connexion Redmatrix" + +#: ../../extend/addon/addon/redfiles/redfilehelper.php:67 +msgid "file" +msgstr "fichier" + +#: ../../extend/addon/addon/redphotos/redphotos.php:106 +msgid "Photos imported" +msgstr "Photos importées" + +#: ../../extend/addon/addon/redphotos/redphotos.php:129 +msgid "Redmatrix Photo Album Import" +msgstr "Import de l'album photo Redmatrix" + +#: ../../extend/addon/addon/redphotos/redphotos.php:130 +msgid "This will import all your Redmatrix photo albums to this channel." +msgstr "Ceci va importer l'intégralité de vos albums photos Redmatrix dans ce canal." + +#: ../../extend/addon/addon/redphotos/redphotos.php:134 +msgid "Import just this album" +msgstr "Importer uniquement cet album" + +#: ../../extend/addon/addon/redphotos/redphotos.php:134 +msgid "Leave blank to import all albums" +msgstr "Laisser vide pour importer tous les albums" + +#: ../../extend/addon/addon/redphotos/redphotos.php:135 +msgid "Maximum count to import" +msgstr "Nombre maximum de comptes à importer" + +#: ../../extend/addon/addon/redphotos/redphotos.php:135 +msgid "0 or blank to import all available" +msgstr "0 ou vide pour importer tout ce qui est disponible" + +#: ../../extend/addon/addon/redred/redred.php:45 +msgid "Post to Red" +msgstr "Publier sur Red" + +#: ../../extend/addon/addon/redred/redred.php:60 +msgid "Channel is required." +msgstr "Un canal est requis." + +#: ../../extend/addon/addon/redred/redred.php:65 +msgid "Invalid channel." +msgstr "Canal invalide." + +#: ../../extend/addon/addon/redred/redred.php:76 +msgid "redred Settings saved." +msgstr "Paramètres redred sauvegardés." + +#: ../../extend/addon/addon/redred/redred.php:95 +msgid "Allow posting to another Hubzilla Channel" +msgstr "Autoriser la publication sur un autre canal Hubzilla" + +#: ../../extend/addon/addon/redred/redred.php:99 +msgid "Send public postings to Hubzilla channel by default" +msgstr "Par défaut, envoyer les publications publiques sur le canal Hubzilla" + +#: ../../extend/addon/addon/redred/redred.php:103 +msgid "Hubzilla API Path" +msgstr "Chemin de l'API Hubzilla" + +#: ../../extend/addon/addon/redred/redred.php:103 +#: ../../extend/addon/addon/rtof/rtof.php:89 +msgid "https://{sitename}/api" +msgstr "https://{nomdusite}/api" -#: ../../include/widgets.php:846 -msgid "Overview" -msgstr "" +#: ../../extend/addon/addon/redred/redred.php:107 +msgid "Hubzilla login name" +msgstr "Identifiant de connexion Hubzilla" -#: ../../include/widgets.php:853 -msgid "Chat Members" -msgstr "" +#: ../../extend/addon/addon/redred/redred.php:111 +msgid "Hubzilla channel name" +msgstr "Nom du canal Hubzilla" -#: ../../include/widgets.php:876 -msgid "Bookmarked Chatrooms" -msgstr "Salons favoris" +#: ../../extend/addon/addon/redred/redred.php:111 +#: ../../extend/addon/addon/openid/MysqlProvider.php:54 +msgid "Nickname" +msgstr "Surnom" -#: ../../include/widgets.php:899 -msgid "Suggested Chatrooms" -msgstr "Salons suggérés" +#: ../../extend/addon/addon/redred/redred.php:119 +msgid "Hubzilla Crosspost Settings" +msgstr "Paramètres Crosspost Hubzilla" -#: ../../include/widgets.php:1044 ../../include/widgets.php:1156 -msgid "photo/image" -msgstr "photo/image" +#: ../../extend/addon/addon/rtof/rtof.php:45 +msgid "Post to Friendica" +msgstr "Publier sur Friendica" -#: ../../include/widgets.php:1099 -msgid "Click to show more" -msgstr "Cliquer pour voir plus" +#: ../../extend/addon/addon/rtof/rtof.php:62 +msgid "rtof Settings saved." +msgstr "Paramètres rtof sauvegardés." -#: ../../include/widgets.php:1250 -msgid "Rating Tools" -msgstr "Outils d'évaluation" +#: ../../extend/addon/addon/rtof/rtof.php:81 +msgid "Allow posting to Friendica" +msgstr "Autoriser la publication sur Friendica" -#: ../../include/widgets.php:1254 ../../include/widgets.php:1256 -msgid "Rate Me" -msgstr "M'évaluer" +#: ../../extend/addon/addon/rtof/rtof.php:85 +msgid "Send public postings to Friendica by default" +msgstr "Par défaut, envoyer les publications publiques sur Friendica" -#: ../../include/widgets.php:1259 -msgid "View Ratings" -msgstr "Voir mes évaluations" +#: ../../extend/addon/addon/rtof/rtof.php:89 +msgid "Friendica API Path" +msgstr "Chemin de l'API Friendica" -#: ../../include/widgets.php:1316 -msgid "Forums" -msgstr "Membres du forum" +#: ../../extend/addon/addon/rtof/rtof.php:93 +msgid "Friendica login name" +msgstr "Identifiant de connexion Friendica" -#: ../../include/widgets.php:1345 -msgid "Tasks" -msgstr "Tâches" +#: ../../extend/addon/addon/rtof/rtof.php:97 +msgid "Friendica password" +msgstr "Mot de passe de connexion Friendica" -#: ../../include/widgets.php:1354 -msgid "Documentation" -msgstr "Documentation" +#: ../../extend/addon/addon/rtof/rtof.php:101 +msgid "Hubzilla to Friendica Post Settings" +msgstr "Paramètres de publication de Hubzilla vers Friendica" -#: ../../include/widgets.php:1356 -msgid "Project/Site Information" -msgstr "Information sur le site/projet" +#: ../../extend/addon/addon/sendzid/sendzid.php:25 +msgid "Extended Identity Sharing" +msgstr "Partage d'identification étendu" -#: ../../include/widgets.php:1357 -msgid "For Members" -msgstr "Pour les membres" +#: ../../extend/addon/addon/sendzid/sendzid.php:26 +msgid "" +"Share your identity with all websites on the internet. When disabled, " +"identity is only shared with sites in the matrix." +msgstr "Partagez votre identification avec tous les sites Web sur Internet. Lorsqu'elle est désactivée, l'identification n'est partagée qu'avec les sites de la matrice." -#: ../../include/widgets.php:1358 -msgid "For Administrators" -msgstr "Pour les administrateurs" +#: ../../extend/addon/addon/skeleton/skeleton.php:59 +msgid "Some setting" +msgstr "Un certain paramètre" -#: ../../include/widgets.php:1359 -msgid "For Developers" -msgstr "Pour les développeurs" +#: ../../extend/addon/addon/skeleton/skeleton.php:61 +msgid "A setting" +msgstr "Un paramètre" -#: ../../include/widgets.php:1383 ../../include/widgets.php:1421 -msgid "Member registrations waiting for confirmation" -msgstr "" +#: ../../extend/addon/addon/skeleton/skeleton.php:64 +msgid "Skeleton Settings" +msgstr "Paramètres du squelette" -#: ../../include/widgets.php:1389 -msgid "Inspect queue" -msgstr "Analyser la file d'attente" +#: ../../extend/addon/addon/smileybutton/smileybutton.php:273 +msgid "Deactivate the feature" +msgstr "Désactiver la fonctionnalité" -#: ../../include/widgets.php:1391 -msgid "DB updates" -msgstr "Mises à jour BDD" +#: ../../extend/addon/addon/smileybutton/smileybutton.php:277 +msgid "Hide the button and show the smilies directly." +msgstr "Cacher le bouton et afficher les émoticônes directement." -#: ../../include/widgets.php:1416 ../../include/nav.php:216 -msgid "Admin" -msgstr "Administrateur" +#: ../../extend/addon/addon/smileybutton/smileybutton.php:281 +msgid "Smileybutton Settings" +msgstr "Paramètres du bouton des émoticônes" -#: ../../include/widgets.php:1417 -msgid "Plugin Features" -msgstr "Fonctionnalités des greffons" +#: ../../extend/addon/addon/startpage/startpage.php:109 +msgid "Page to load after login" +msgstr "Page à charger après l'identification" -#: ../../include/follow.php:27 -msgid "Channel is blocked on this site." -msgstr "Ce canal est bloqué sur ce site." +#: ../../extend/addon/addon/startpage/startpage.php:109 +msgid "" +"Examples: "apps", "network?f=&gid=37" (privacy " +"collection), "channel" or "notifications/system" (leave " +"blank for default network page (grid)." +msgstr "Exemples: "apps", "network?f=&gid=37" (privacy collection), "channel" or "notifications/system" (laisser vide pour la page par défaut du réseau (grille)." -#: ../../include/follow.php:32 -msgid "Channel location missing." -msgstr "Emplacement du canal introuvable." +#: ../../extend/addon/addon/startpage/startpage.php:113 +msgid "Startpage Settings" +msgstr "Paramètres de la page de démarrage" -#: ../../include/follow.php:81 -msgid "Response from remote channel was incomplete." -msgstr "La réponse du canal distant était incomplète." +#: ../../extend/addon/addon/statusnet/statusnet.php:143 +msgid "Post to GNU social" +msgstr "Publier sur GNU-social" -#: ../../include/follow.php:98 -msgid "Channel was deleted and no longer exists." -msgstr "Le canal a été supprimé et n'existe plus." +#: ../../extend/addon/addon/statusnet/statusnet.php:195 +msgid "" +"Please contact your site administrator.<br />The provided API URL is not " +"valid." +msgstr "Veuillez contacter l'administrateur de votre site. L'URL de l'API n'est pas valide." -#: ../../include/follow.php:154 ../../include/follow.php:190 -msgid "Protocol disabled." -msgstr "Protocole désactivé." +#: ../../extend/addon/addon/statusnet/statusnet.php:232 +msgid "We could not contact the GNU social API with the Path you entered." +msgstr "Nous ne pouvons pas contacter l'API de GNU-social avec le chemin que vous avez entré." -#: ../../include/follow.php:178 -msgid "Channel discovery failed." -msgstr "La tentative d'accéder au canal a échoué." +#: ../../extend/addon/addon/statusnet/statusnet.php:266 +msgid "GNU social settings updated." +msgstr "Les paramètres GNU-social ont été mis à jour." -#: ../../include/follow.php:216 -msgid "Cannot connect to yourself." -msgstr "Ne peut pas se connecter à vous." +#: ../../extend/addon/addon/statusnet/statusnet.php:310 +msgid "Globally Available GNU social OAuthKeys" +msgstr "Les OAuthKeys GNU-social sont globalement disponibles." -#: ../../include/bookmarks.php:35 -#, php-format -msgid "%1$s's bookmarks" -msgstr "Favoris de %1$s" +#: ../../extend/addon/addon/statusnet/statusnet.php:312 +msgid "" +"There are preconfigured OAuth key pairs for some GNU social servers " +"available. If you are using one of them, please use these credentials.<br " +"/>If not feel free to connect to any other GNU social instance (see below)." +msgstr "Il existe des paires de clés OAuth préconfigurées pour certains serveurs GNU-social disponibles. Si vous utilisez l'un d'eux, utilisez ces informations d'identification.\nSi vous ne voulez pas vous connecter à une autre instance GNU social (voir ci-dessous)." -#: ../../include/api.php:1336 -msgid "Public Timeline" -msgstr "Fil public" - -#: ../../include/bbcode.php:123 ../../include/bbcode.php:844 -#: ../../include/bbcode.php:847 ../../include/bbcode.php:852 -#: ../../include/bbcode.php:855 ../../include/bbcode.php:858 -#: ../../include/bbcode.php:861 ../../include/bbcode.php:866 -#: ../../include/bbcode.php:869 ../../include/bbcode.php:874 -#: ../../include/bbcode.php:877 ../../include/bbcode.php:880 -#: ../../include/bbcode.php:883 -msgid "Image/photo" -msgstr "Image/photo" +#: ../../extend/addon/addon/statusnet/statusnet.php:327 +msgid "Provide your own OAuth Credentials" +msgstr "Fournissez vos propres informations d'identification OAuth" -#: ../../include/bbcode.php:162 ../../include/bbcode.php:894 -msgid "Encrypted content" -msgstr "Contenu chiffré" +#: ../../extend/addon/addon/statusnet/statusnet.php:329 +msgid "" +"No consumer key pair for GNU social found. Register your Hubzilla Account as" +" an desktop client on your GNU social account, copy the consumer key pair " +"here and enter the API base root.<br />Before you register your own OAuth " +"key pair ask the administrator if there is already a key pair for this " +"Hubzilla installation at your favourite GNU social installation." +msgstr "Aucune paire de clés utilisateur n'a été trouvée pour GNU-social. Enregistrer votre compte Hubzilla en tant que client de bureau sur votre compte GNU-social, puis copier la paire de clés utilisateur ici et entrer la racine de base de l'API.\nAvant d'enregistrer votre propre paire de clés OAuth, demandez à l'administrateur s'il existe déjà une paire de clés pour cette installation de Hubzilla à votre installation GNU-social préférée." -#: ../../include/bbcode.php:178 -#, php-format -msgid "Install %s element: " -msgstr "Installer %s élément" +#: ../../extend/addon/addon/statusnet/statusnet.php:333 +msgid "OAuth Consumer Key" +msgstr "Clé d'utilisateur OAuth" -#: ../../include/bbcode.php:182 -#, php-format +#: ../../extend/addon/addon/statusnet/statusnet.php:337 +msgid "OAuth Consumer Secret" +msgstr "Secret d'utilisateur OAuth" + +#: ../../extend/addon/addon/statusnet/statusnet.php:341 +msgid "Base API Path" +msgstr "Chemin de l'API de base" + +#: ../../extend/addon/addon/statusnet/statusnet.php:341 +msgid "Remember the trailing /" +msgstr "N'oubliez pas le / final" + +#: ../../extend/addon/addon/statusnet/statusnet.php:345 +msgid "GNU social application name" +msgstr "Nom de l'application GNU-social" + +#: ../../extend/addon/addon/statusnet/statusnet.php:368 msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." -msgstr "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site." +"To connect to your GNU social account click the button below to get a " +"security code from GNU social which you have to copy into the input box " +"below and submit the form. Only your <strong>public</strong> posts will be " +"posted to GNU social." +msgstr "Pour vous connecter à votre compte GNU-social, cliquez sur le bouton ci-dessous pour obtenir un code de sécurité de GNU-social. Vous devez le copier dans la zone de saisie ci-dessous, puis soumettre le formulaire. Seuls vos messages publics seront visibles sur GNU-social." + +#: ../../extend/addon/addon/statusnet/statusnet.php:370 +msgid "Log in with GNU social" +msgstr "Vous connecter avec GNU-social" + +#: ../../extend/addon/addon/statusnet/statusnet.php:373 +msgid "Copy the security code from GNU social here" +msgstr "Copier ici le code de sécurité de GNU-social." + +#: ../../extend/addon/addon/statusnet/statusnet.php:383 +msgid "Cancel Connection Process" +msgstr "Annuler le processus de connexion" + +#: ../../extend/addon/addon/statusnet/statusnet.php:385 +msgid "Current GNU social API is" +msgstr "L'API GNU-social courante est" + +#: ../../extend/addon/addon/statusnet/statusnet.php:389 +msgid "Cancel GNU social Connection" +msgstr "Annuler la connexion GNU-social" + +#: ../../extend/addon/addon/statusnet/statusnet.php:401 +#: ../../extend/addon/addon/twitter/twitter.php:232 +msgid "Currently connected to: " +msgstr "Actuellement connecté à :" + +#: ../../extend/addon/addon/statusnet/statusnet.php:406 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to GNU social will lead the visitor to a blank page " +"informing the visitor that the access to your profile has been restricted." +msgstr "Remarque : en raison de vos paramètres de confidentialité (masquer les détails de votre profil aux visiteurs inconnus? ), le lien potentiellement inclus dans les annonces publiques relayées sur GNU-social amènera le visiteur à une page vierge informant le visiteur que l'accès à votre profil a été restreint." + +#: ../../extend/addon/addon/statusnet/statusnet.php:411 +msgid "Allow posting to GNU social" +msgstr "Autoriser la publication sur GNU-social" + +#: ../../extend/addon/addon/statusnet/statusnet.php:411 +msgid "" +"If enabled your public postings can be posted to the associated GNU-social " +"account" +msgstr "Si cette option est activée, vos publications publiques peuvent être publiées sur le compte GNU-social associé." + +#: ../../extend/addon/addon/statusnet/statusnet.php:415 +msgid "Post to GNU social by default" +msgstr "Par défaut, publier sur GNU-social" -#: ../../include/bbcode.php:254 +#: ../../extend/addon/addon/statusnet/statusnet.php:415 +msgid "" +"If enabled your public postings will be posted to the associated GNU-social " +"account by default" +msgstr "Si cette option est activée, par défaut, vos publications publiques seront publiées sur le compte GNU-social associé" + +#: ../../extend/addon/addon/statusnet/statusnet.php:424 +#: ../../extend/addon/addon/twitter/twitter.php:255 +msgid "Clear OAuth configuration" +msgstr "Effacer la configuration OAuth" + +#: ../../extend/addon/addon/statusnet/statusnet.php:432 +msgid "GNU social Post Settings" +msgstr "Paramètres de publication GNU-social" + +#: ../../extend/addon/addon/statusnet/statusnet.php:891 +msgid "API URL" +msgstr "URL de l'API" + +#: ../../extend/addon/addon/statusnet/statusnet.php:894 +msgid "Application name" +msgstr "Nom de l'application" + +#: ../../extend/addon/addon/superblock/superblock.php:110 +msgid "Currently blocked" +msgstr "Actuellement bloqué" + +#: ../../extend/addon/addon/superblock/superblock.php:112 +msgid "No channels currently blocked" +msgstr "Aucun canal n'est actuellement bloqué" + +#: ../../extend/addon/addon/superblock/superblock.php:118 +msgid "\"Superblock\" Settings" +msgstr "Paramètres \"Superblock\"" + +#: ../../extend/addon/addon/superblock/superblock.php:322 +msgid "Block Completely" +msgstr "Bloquer complètement" + +#: ../../extend/addon/addon/superblock/superblock.php:371 +msgid "superblock settings updated" +msgstr "Les paramètres du superblock ont été mis à jour" + +#: ../../extend/addon/addon/testdrive/testdrive.php:104 #, php-format -msgid "%1$s wrote the following %2$s %3$s" -msgstr "%1$s a écrit %2$s qui suit %3$s" +msgid "Your account on %s will expire in a few days." +msgstr "Votre compte sur %s expirera dans quelques jours." -#: ../../include/bbcode.php:331 ../../include/bbcode.php:339 -msgid "Click to open/close" -msgstr "Cliquer pour ouvrir/fermer" +#: ../../extend/addon/addon/testdrive/testdrive.php:105 +msgid "Your $Productname test account is about to expire." +msgstr "Votre compte de test $NomDeProduit est sur le point d'expirer." -#: ../../include/bbcode.php:339 -msgid "spoiler" -msgstr "" +#: ../../extend/addon/addon/tictac/tictac.php:21 +msgid "Three Dimensional Tic-Tac-Toe" +msgstr "Tic-tac-toe en 3 dimensions" -#: ../../include/bbcode.php:585 -msgid "Different viewers will see this text differently" -msgstr "Ce texte aura un rendu différent en fonction des utilisateurs" +#: ../../extend/addon/addon/tictac/tictac.php:54 +msgid "3D Tic-Tac-Toe" +msgstr "3D Tic-Tac-Toe" -#: ../../include/bbcode.php:832 -msgid "$1 wrote:" -msgstr "$1 a écrit :" +#: ../../extend/addon/addon/tictac/tictac.php:59 +msgid "New game" +msgstr "Nouveau jeu" -#: ../../include/dir_fns.php:141 -msgid "Directory Options" -msgstr "Options d'annuaire" +#: ../../extend/addon/addon/tictac/tictac.php:60 +msgid "New game with handicap" +msgstr "Nouveau jeu avec handicap" -#: ../../include/dir_fns.php:143 -msgid "Safe Mode" -msgstr "Mode sûr" +#: ../../extend/addon/addon/tictac/tictac.php:61 +msgid "" +"Three dimensional tic-tac-toe is just like the traditional game except that " +"it is played on multiple levels simultaneously. " +msgstr "Trois dimensions tic-tac-toe est juste comme le jeu traditionnel, sauf qu'il est joué sur plusieurs niveaux simultanément." -#: ../../include/dir_fns.php:144 -msgid "Public Forums Only" -msgstr "Les forums publics uniquement" +#: ../../extend/addon/addon/tictac/tictac.php:62 +msgid "" +"In this case there are three levels. You win by getting three in a row on " +"any level, as well as up, down, and diagonally across the different levels." +msgstr "Dans ce cas, il y a trois niveaux. Vous gagnez en obtenant trois dans une rangée à n'importe quel niveau, que ce soit vers le haut, le bas, ou en diagonale à travers les différents niveaux." -#: ../../include/dir_fns.php:145 -msgid "This Website Only" -msgstr "Ce site uniquement" +#: ../../extend/addon/addon/tictac/tictac.php:64 +msgid "" +"The handicap game disables the center position on the middle level because " +"the player claiming this square often has an unfair advantage." +msgstr "Le jeu handicap désactive la position centrale au niveau intermédiaire, car le joueur qui revendique ce carré a souvent un avantage indu." + +#: ../../extend/addon/addon/tictac/tictac.php:183 +msgid "You go first..." +msgstr "Vous commencez…" + +#: ../../extend/addon/addon/tictac/tictac.php:188 +msgid "I'm going first this time..." +msgstr "Cette fois, je commence…" + +#: ../../extend/addon/addon/tictac/tictac.php:194 +msgid "You won!" +msgstr "Vous avez gagné !" + +#: ../../extend/addon/addon/tictac/tictac.php:200 +#: ../../extend/addon/addon/tictac/tictac.php:225 +msgid "\"Cat\" game!" +msgstr "Jeu de \"Chat\" !" + +#: ../../extend/addon/addon/tictac/tictac.php:223 +msgid "I won!" +msgstr "J'ai gagné !" + +#: ../../extend/addon/addon/tour/tour.php:75 +msgid "Edit your profile and change settings." +msgstr "Éditer votre profil et changer les paramètres." -#: ../../include/security.php:383 +#: ../../extend/addon/addon/tour/tour.php:76 +msgid "Click here to see activity from your connections." +msgstr "Cliquer ici pour voir l'activité de vos connections." + +#: ../../extend/addon/addon/tour/tour.php:77 +msgid "Click here to see your channel home." +msgstr "Cliquer ici pour voir votre canal principal." + +#: ../../extend/addon/addon/tour/tour.php:78 +msgid "You can access your private messages from here." +msgstr "Vous pouvez accéder à vos messages privés à partir d'ici." + +#: ../../extend/addon/addon/tour/tour.php:79 +msgid "Create new events here." +msgstr "Créer de nouveaux événements ici." + +#: ../../extend/addon/addon/tour/tour.php:80 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 "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)." +"You can accept new connections and change permissions for existing ones " +"here. You can also e.g. create groups of contacts." +msgstr "Vous pouvez accepter de nouvelles connections et changer les permissions des connections existantes. Vous pouvez également créer des groupes de contacts." -#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702 -msgid "Logout" -msgstr "Déconnexion" +#: ../../extend/addon/addon/tour/tour.php:81 +msgid "System notifications will arrive here" +msgstr "Les notifications du système arriveront ici." -#: ../../include/nav.php:82 ../../include/nav.php:113 -msgid "End this session" -msgstr "Mettre fin à la session" +#: ../../extend/addon/addon/tour/tour.php:82 +msgid "Search for content and users" +msgstr "Rechercher du contenu ou des utilisateurs" -#: ../../include/nav.php:85 ../../include/nav.php:144 -msgid "Home" -msgstr "Mon canal" +#: ../../extend/addon/addon/tour/tour.php:83 +msgid "Browse for new contacts" +msgstr "Rechercher de nouveaux contacts" -#: ../../include/nav.php:85 -msgid "Your posts and conversations" -msgstr "Vos publications et conversations" +#: ../../extend/addon/addon/tour/tour.php:84 +msgid "Launch installed apps" +msgstr "Démarrer des applications installées" -#: ../../include/nav.php:86 -msgid "Your profile page" -msgstr "Votre profil" +#: ../../extend/addon/addon/tour/tour.php:85 +msgid "Looking for help? Click here." +msgstr "Un peu d'aide ? Cliquer ici." -#: ../../include/nav.php:88 -msgid "Manage/Edit profiles" -msgstr "Gérer/modifier les profils" +#: ../../extend/addon/addon/tour/tour.php:86 +msgid "" +"New events have occurred in your network. Click here to see what has " +"happened!" +msgstr "De nouveaux événement se sont produits dans votre réseau. Cliquer ici pour voir ce qui s'est passé !" -#: ../../include/nav.php:90 ../../include/channel.php:941 -msgid "Edit Profile" -msgstr "Éditeur de profil" +#: ../../extend/addon/addon/tour/tour.php:87 +msgid "You have received a new private message. Click here to see from who!" +msgstr "Vous avez reçu un nouveau message privé. Cliquer ici pour voir qui vous écrit !" -#: ../../include/nav.php:90 -msgid "Edit your profile" -msgstr "Modifier votre profil" +#: ../../extend/addon/addon/tour/tour.php:88 +msgid "There are events this week. Click here too see which!" +msgstr "Il y a des événements cette semaine. Cliquer ici pour voir lesquels !" -#: ../../include/nav.php:92 -msgid "Your photos" -msgstr "Vos photos" +#: ../../extend/addon/addon/tour/tour.php:89 +msgid "You have received a new introduction. Click here to see who!" +msgstr "Vous avez reçu une nouvelle demande de relation. Cliquer ici pour voir de qui !" -#: ../../include/nav.php:93 -msgid "Your files" -msgstr "Vos fichiers" +#: ../../extend/addon/addon/tour/tour.php:90 +msgid "" +"There is a new system notification. Click here to see what has happened!" +msgstr "Vous avez reçu une notification du système. Cliquer ici pour voir ce qui se passe !" -#: ../../include/nav.php:96 -msgid "Your chatrooms" -msgstr "Vos salons" +#: ../../extend/addon/addon/tour/tour.php:93 +msgid "Click here to share text, images, videos and sound." +msgstr "Cliquer ici pour partager du texte, des images, des vidéos ou du son." -#: ../../include/nav.php:102 ../../include/conversation.php:1675 -msgid "Bookmarks" -msgstr "Favoris" +#: ../../extend/addon/addon/tour/tour.php:94 +msgid "You can write an optional title for your update (good for long posts)." +msgstr "Vous pouvez ajouter à votre mise à jour un titre facultatif (pratique pour de longues publications)." -#: ../../include/nav.php:102 -msgid "Your bookmarks" -msgstr "Vos favoris" +#: ../../extend/addon/addon/tour/tour.php:95 +msgid "Entering some categories here makes it easier to find your post later." +msgstr "Renseigner certaines catégories ici permet de retrouver plus facilement votre message plus tard." -#: ../../include/nav.php:106 -msgid "Your webpages" -msgstr "Vos pages web" +#: ../../extend/addon/addon/tour/tour.php:96 +msgid "Share photos, links, location, etc." +msgstr "Partager des photos, des liens, des localisations, etc." -#: ../../include/nav.php:110 -msgid "Sign in" -msgstr "Connexion" +#: ../../extend/addon/addon/tour/tour.php:97 +msgid "" +"Only want to share content for a while? Make it expire at a certain date." +msgstr "Envie de partager un contenu pour une durée limitée ? Faites-le expirer à une certaine date." -#: ../../include/nav.php:127 -#, php-format -msgid "%s - click to logout" -msgstr "%s - cliquer ici pour déconnecter" +#: ../../extend/addon/addon/tour/tour.php:98 +msgid "You can password protect content." +msgstr "Vous pouvez protéger un contenu avec un mot de passe." -#: ../../include/nav.php:130 -msgid "Remote authentication" -msgstr "Authentification distante" +#: ../../extend/addon/addon/tour/tour.php:99 +msgid "Choose who you share with." +msgstr "Choisir avec qui vous partagez." -#: ../../include/nav.php:130 -msgid "Click to authenticate to your home hub" -msgstr "S'authentifier auprès de votre hub principal" +#: ../../extend/addon/addon/tour/tour.php:101 +msgid "Click here when you are done." +msgstr "Cliquer ici quand vous avez fini." -#: ../../include/nav.php:144 -msgid "Home Page" -msgstr "Page d'accueil" +#: ../../extend/addon/addon/tour/tour.php:104 +msgid "Adjust from which channels posts should be displayed." +msgstr "Préciser de quels canaux les publications seront affichées." -#: ../../include/nav.php:147 -msgid "Create an account" -msgstr "Créer un compte" +#: ../../extend/addon/addon/tour/tour.php:105 +msgid "Only show posts from channels in the specified privacy group." +msgstr "Afficher uniquement les messages des canaux du groupe de confidentialité spécifié." -#: ../../include/nav.php:159 -msgid "Help and documentation" -msgstr "Aide et documentation" +#: ../../extend/addon/addon/tour/tour.php:109 +msgid "Easily find posts containing tags (keywords preceded by the \"#\" symbol)." +msgstr "Trouvez facilement des publications contenant des tags (mots-clés précédés du symbole \"#\")." -#: ../../include/nav.php:163 -msgid "Applications, utilities, links, games" -msgstr "Applications, utilitaires, liens, jeux" +#: ../../extend/addon/addon/tour/tour.php:110 +msgid "Easily find posts in given category." +msgstr "Trouvez facilement des publications dans une catégorie donnée." -#: ../../include/nav.php:165 -msgid "Search site @name, #tag, ?docs, content" -msgstr "Recherche @nom, #tag, contenu" +#: ../../extend/addon/addon/tour/tour.php:111 +msgid "Easily find posts by date." +msgstr "Trouvez facilement des publications en fonction de leur date." -#: ../../include/nav.php:167 -msgid "Channel Directory" -msgstr "Annuaire des canaux" +#: ../../extend/addon/addon/tour/tour.php:112 +msgid "" +"Suggested users who have volounteered to be shown as suggestions, and who we" +" think you might find interesting." +msgstr "Voici des utilisateurs que vous pourriez trouver intéressants. Ces utilisateurs se sont portés volontaires pour être affichés comme exemples." -#: ../../include/nav.php:179 -msgid "Your grid" -msgstr "Votre réseau" +#: ../../extend/addon/addon/tour/tour.php:113 +msgid "Here you see channels you have connected to." +msgstr "Retrouvez ici les canaux auxquels vous vous êtes connectés." -#: ../../include/nav.php:180 -msgid "Mark all grid notifications seen" -msgstr "Marquer toutes les notifications du réseau comme vues" +#: ../../extend/addon/addon/tour/tour.php:114 +msgid "Save your search so you can repeat it at a later date." +msgstr "Enregistrer votre recherche de façon à pouvoir la répéter plus tard." -#: ../../include/nav.php:182 -msgid "Channel home" -msgstr "Mon canal" +#: ../../extend/addon/addon/tour/tour.php:117 +msgid "" +"If you see this icon you can be sure that the sender is who it say it is. It" +" is normal that it is not always possible to verify the sender, so the icon " +"will be missing sometimes. There is usually no need to worry about that." +msgstr "Si vous voyez cette icône, vous pouvez être sûr que l'expéditeur est qui il dit qu'il est. Il est normal qu'il ne soit pas toujours possible de vérifier l'expéditeur, donc l'icône manquera parfois. Il n'est généralement pas nécessaire de s'inquiéter à ce sujet." -#: ../../include/nav.php:183 -msgid "Mark all channel notifications seen" -msgstr "Marquer toutes les notifications du canal comme vues" +#: ../../extend/addon/addon/tour/tour.php:118 +msgid "" +"Danger! It seems someone tried to forge a message! This message is not " +"necessarily from who it says it is from!" +msgstr "Attention ! Il semble que quelqu'un a essayé de contrefaire un message ! Ce message n'a pas nécessairement été envoyé par la personne annoncée !" -#: ../../include/nav.php:189 -msgid "Notices" -msgstr "Notifications" +#: ../../extend/addon/addon/tour/tour.php:125 +msgid "" +"Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can " +"pause it at any time and continue where you left off by reloading the page, " +"or navigting to another page.</p><p>You can also advance by pressing the " +"return key" +msgstr "Bienvenue sur Hubzilla! Voulez-vous faire un tour de l'interface utilisateur? Vous pouvez le mettre en pause à tout moment et continuer où vous l'avez laissé en rechargeant la page ou en naviguant vers une autre page. Vous pouvez également avancer en appuyant sur la touche de retour." -#: ../../include/nav.php:189 -msgid "Notifications" -msgstr "Notifications" +#: ../../extend/addon/addon/twitter/twitter.php:99 +msgid "Post to Twitter" +msgstr "Publier sur Twitter" -#: ../../include/nav.php:190 -msgid "See all notifications" -msgstr "Voir toutes les notifications" +#: ../../extend/addon/addon/twitter/twitter.php:154 +msgid "Twitter settings updated." +msgstr "Les paramètres de Twitter ont été mis à jour." -#: ../../include/nav.php:193 -msgid "Private mail" -msgstr "Messages privés" +#: ../../extend/addon/addon/twitter/twitter.php:183 +msgid "" +"No consumer key pair for Twitter found. Please contact your site " +"administrator." +msgstr "Aucune paire de clés d'utilisateur pour Twitter n'a été trouvée. Veuillez contacter l'administrateur de votre site." -#: ../../include/nav.php:194 -msgid "See all private messages" -msgstr "Voir tous les messages privés" +#: ../../extend/addon/addon/twitter/twitter.php:205 +msgid "" +"At this Hubzilla instance the Twitter plugin was enabled but you have not " +"yet connected your account to your Twitter account. To do so click the " +"button below to get a PIN from Twitter which you have to copy into the input" +" box below and submit the form. Only your <strong>public</strong> posts will" +" be posted to Twitter." +msgstr "Dans cette instance de Hubzilla, le plugin Twitter a été activé, mais vous n'avez pas encore connecté votre compte à votre compte Twitter. Pour ce faire, cliquez sur le bouton ci-dessous pour obtenir un code PIN de Twitter que vous devez copier dans la zone de saisie ci-dessous, puis soumettre le formulaire. Seuls vos messages publics seront publiés sur Twitter." -#: ../../include/nav.php:195 -msgid "Mark all private messages seen" -msgstr "Marquer tous les messages privés comme vus" +#: ../../extend/addon/addon/twitter/twitter.php:207 +msgid "Log in with Twitter" +msgstr "Connectez-vous avec votre compte Twitter" -#: ../../include/nav.php:201 -msgid "Event Calendar" -msgstr "Calendrier des événements" +#: ../../extend/addon/addon/twitter/twitter.php:210 +msgid "Copy the PIN from Twitter here" +msgstr "Copier ici le PIN fourni par Twitter" -#: ../../include/nav.php:202 -msgid "See all events" -msgstr "Voir tous les événements" +#: ../../extend/addon/addon/twitter/twitter.php:237 +msgid "" +"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to Twitter will lead the visitor to a blank page informing " +"the visitor that the access to your profile has been restricted." +msgstr "Note : En raison de vos paramètres de confidentialité (Masquer les détails de votre profil aux visiteurs inconnus?), le lien potentiellement inclus dans les annonces publiques relayées vers Twitter amènera le visiteur à une page vierge l'informant que l'accès à votre profil a été restreint." -#: ../../include/nav.php:203 -msgid "Mark all events seen" -msgstr "Marquer tous les événements comme vus" +#: ../../extend/addon/addon/twitter/twitter.php:242 +msgid "Allow posting to Twitter" +msgstr "Autoriser la publication sur Twitter" -#: ../../include/nav.php:206 -msgid "Manage Your Channels" -msgstr "Gérer vos canaux" +#: ../../extend/addon/addon/twitter/twitter.php:242 +msgid "" +"If enabled your public postings can be posted to the associated Twitter " +"account" +msgstr "Si cette option est activée, vos publications publiques peuvent être publiées sur le compte Twitter associé." -#: ../../include/nav.php:208 -msgid "Account/Channel Settings" -msgstr "Paramètres du Compte/Canal" +#: ../../extend/addon/addon/twitter/twitter.php:246 +msgid "Send public postings to Twitter by default" +msgstr "Par défaut, envoyer vos publications publiques sur Twitter." -#: ../../include/nav.php:216 -msgid "Site Setup and Configuration" -msgstr "Configuration du site" +#: ../../extend/addon/addon/twitter/twitter.php:246 +msgid "" +"If enabled your public postings will be posted to the associated Twitter " +"account by default" +msgstr "Si cette option est activée, par défaut, vos publications publiques seront publiées sur le compte Twitter associé." -#: ../../include/nav.php:247 ../../include/conversation.php:851 -msgid "Loading..." -msgstr "Chargement..." +#: ../../extend/addon/addon/twitter/twitter.php:264 +msgid "Twitter Post Settings" +msgstr "Paramètres des publications Twitter" -#: ../../include/nav.php:252 -msgid "@name, #tag, ?doc, content" -msgstr "@nom, #étiquette, ?doc, contenu" +#: ../../extend/addon/addon/twitter/twitter.php:773 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:95 +msgid "Submit Settings" +msgstr "Emvoyer les paramètres" -#: ../../include/nav.php:253 -msgid "Please wait..." -msgstr "Merci de patienter..." +#: ../../extend/addon/addon/upload_limits/upload_limits.php:25 +msgid "Show Upload Limits" +msgstr "Afficher les limites de débit ascendant (upload)" -#: ../../include/connections.php:95 -msgid "New window" -msgstr "Nouvelle fenêtre" +#: ../../extend/addon/addon/upload_limits/upload_limits.php:27 +msgid "Hubzilla configured maximum size: " +msgstr "Taille maximale configurée par Hubzilla:" -#: ../../include/connections.php:96 -msgid "Open the selected location in a different window or browser tab" -msgstr "Ouvrir l'emplacement dans une fenêtre ou un onglet différent" +#: ../../extend/addon/addon/upload_limits/upload_limits.php:28 +msgid "PHP upload_max_filesize: " +msgstr "PHP upload_max_filesize: " -#: ../../include/connections.php:214 -#, php-format -msgid "User '%s' deleted" -msgstr "Utilisateur '%s' supprimé" +#: ../../extend/addon/addon/upload_limits/upload_limits.php:29 +msgid "PHP post_max_size (must be larger than upload_max_filesize): " +msgstr "PHP post_max_size (must be larger than upload_max_filesize): " -#: ../../include/contact_widgets.php:11 +#: ../../extend/addon/addon/visage/visage.php:93 +msgid "Recent Channel/Profile Viewers" +msgstr "Visiteurs récents du canal/profil" + +#: ../../extend/addon/addon/visage/visage.php:98 +msgid "This plugin/addon has not been configured." +msgstr "Cette extension n'a pas été configurée." + +#: ../../extend/addon/addon/visage/visage.php:99 #, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "%d invitation disponible" -msgstr[1] "%d invitations disponibles" +msgid "Please visit the Visage settings on %s" +msgstr "Veuillez visiter les paramètres de Visage sur %s" -#: ../../include/contact_widgets.php:19 -msgid "Find Channels" -msgstr "Trouver des canaux" +#: ../../extend/addon/addon/visage/visage.php:99 +msgid "your feature settings page" +msgstr "La page des paramètres de vos fonctionnalités" -#: ../../include/contact_widgets.php:20 -msgid "Enter name or interest" -msgstr "Saisir nom ou centre d'intérêt" +#: ../../extend/addon/addon/visage/visage.php:112 +msgid "No entries." +msgstr "Aucune entrée." -#: ../../include/contact_widgets.php:21 -msgid "Connect/Follow" -msgstr "Ajouter/Suivre" +#: ../../extend/addon/addon/visage/visage.php:166 +msgid "Enable Visage Visitor Logging" +msgstr "Activer la connexion Visage Visitor" -#: ../../include/contact_widgets.php:22 -msgid "Examples: Robert Morgenstein, Fishing" -msgstr "Exemples: Guillaume Martin, Course à pieds" +#: ../../extend/addon/addon/visage/visage.php:170 +msgid "Visage Settings" +msgstr "Paramètres Visage" -#: ../../include/contact_widgets.php:26 -msgid "Random Profile" -msgstr "Un profil au hasard" +#: ../../extend/addon/addon/wholikesme/wholikesme.php:29 +msgid "Who likes me?" +msgstr "Qui m'aime?" -#: ../../include/contact_widgets.php:27 -msgid "Invite Friends" -msgstr "Inviter des amis" +#: ../../extend/addon/addon/wppost/wppost.php:45 +msgid "Post to WordPress" +msgstr "Publier sur Wordpress" -#: ../../include/contact_widgets.php:29 -msgid "Advanced example: name=fred and country=iceland" -msgstr "Exemple avancé : name=fred and country=iceland" +#: ../../extend/addon/addon/wppost/wppost.php:82 +msgid "Enable WordPress Post Plugin" +msgstr "Activer l'extension de publication WordPress" -#: ../../include/contact_widgets.php:122 -#, php-format -msgid "%d connection in common" -msgid_plural "%d connections in common" -msgstr[0] "%d contact en commun" -msgstr[1] "%d contacts en commun" +#: ../../extend/addon/addon/wppost/wppost.php:86 +msgid "WordPress username" +msgstr "Identifiant de connexion WordPress" -#: ../../include/contact_widgets.php:127 -msgid "show more" -msgstr "montrer plus" +#: ../../extend/addon/addon/wppost/wppost.php:90 +msgid "WordPress password" +msgstr "Mot de passe de connexion WordPress" -#: ../../include/conversation.php:204 +#: ../../extend/addon/addon/wppost/wppost.php:94 +msgid "WordPress API URL" +msgstr "URL de l'API WordPress" + +#: ../../extend/addon/addon/wppost/wppost.php:95 +msgid "Typically https://your-blog.tld/xmlrpc.php" +msgstr "Typiquement https://your-blog.tld/xmlrpc.php" + +#: ../../extend/addon/addon/wppost/wppost.php:98 +msgid "WordPress blogid" +msgstr "ID de votre blog WordPress" + +#: ../../extend/addon/addon/wppost/wppost.php:99 +msgid "For multi-user sites such as wordpress.com, otherwise leave blank" +msgstr "Pour les sites multi-utilisateurs comme wordpress.com, sinon laisser vide" + +#: ../../extend/addon/addon/wppost/wppost.php:105 +msgid "Post to WordPress by default" +msgstr "Par défaut, publier sur WordPress" + +#: ../../extend/addon/addon/wppost/wppost.php:109 +msgid "Forward comments (requires hubzilla_wp plugin)" +msgstr "Transférer les commentaires (nécessite le plugin hubzila_wp)" + +#: ../../extend/addon/addon/wppost/wppost.php:113 +msgid "WordPress Post Settings" +msgstr "Paramètres de publications WordPress" + +#: ../../extend/addon/addon/wppost/wppost.php:129 +msgid "Wordpress Settings saved." +msgstr "Les paramètres WordPress ont été sauvegardés." + +#: ../../extend/addon/addon/xmpp/xmpp.php:31 +msgid "XMPP settings updated." +msgstr "Les paramètres XMPP ont été mis à jour." + +#: ../../extend/addon/addon/xmpp/xmpp.php:53 +msgid "Enable Chat" +msgstr "Activer le Chat" + +#: ../../extend/addon/addon/xmpp/xmpp.php:58 +msgid "Individual credentials" +msgstr "Informations d'identifications individuelles" + +#: ../../extend/addon/addon/xmpp/xmpp.php:64 +msgid "Jabber BOSH server" +msgstr "serveur Jabber BOSH" + +#: ../../extend/addon/addon/xmpp/xmpp.php:69 +msgid "XMPP Settings" +msgstr "Paramètres XMPP" + +#: ../../extend/addon/addon/xmpp/xmpp.php:92 +msgid "Jabber BOSH host" +msgstr "Hôte Jabber BOSH" + +#: ../../extend/addon/addon/xmpp/xmpp.php:93 +msgid "Use central userbase" +msgstr "Utiliser la base d'utilisateurs centrale" + +#: ../../extend/addon/addon/xmpp/xmpp.php:93 +msgid "" +"If enabled, members will automatically login to an ejabberd server that has " +"to be installed on this machine with synchronized credentials via the " +"\"auth_ejabberd.php\" script." +msgstr "Si cette option est activée, les membres se connecteront automatiquement à un serveur ejabberd qui doit être installé sur cette machine avec des informations d'identification synchronisées via le script \"auth_ejabberd.php\"." + +#: ../../extend/addon/addon/cdav/include/widgets.php:37 +msgid "Select Channel" +msgstr "Sélectionner un canal" + +#: ../../extend/addon/addon/cdav/include/widgets.php:42 +msgid "Read-write" +msgstr "Lire et écrire" + +#: ../../extend/addon/addon/cdav/include/widgets.php:43 +msgid "Read-only" +msgstr "Lire uniquement" + +#: ../../extend/addon/addon/cdav/include/widgets.php:116 +msgid "My Calendars" +msgstr "Mes agendas" + +#: ../../extend/addon/addon/cdav/include/widgets.php:118 +msgid "Shared Calendars" +msgstr "Agendas partagés" + +#: ../../extend/addon/addon/cdav/include/widgets.php:122 +msgid "Share this calendar" +msgstr "Partager cet agenda" + +#: ../../extend/addon/addon/cdav/include/widgets.php:124 +msgid "Calendar name and color" +msgstr "Nom et couleur de l'agenda" + +#: ../../extend/addon/addon/cdav/include/widgets.php:126 +msgid "Create new calendar" +msgstr "Créer un nouvel agenda" + +#: ../../extend/addon/addon/cdav/include/widgets.php:128 +msgid "Calendar Name" +msgstr "Nom de l'agenda" + +#: ../../extend/addon/addon/cdav/include/widgets.php:129 +msgid "Calendar Tools" +msgstr "Outils pour les agendas" + +#: ../../extend/addon/addon/cdav/include/widgets.php:130 +msgid "Import calendar" +msgstr "Importer un agenda" + +#: ../../extend/addon/addon/cdav/include/widgets.php:131 +msgid "Select a calendar to import to" +msgstr "Sélectionner un agenda à importer dans" + +#: ../../extend/addon/addon/cdav/include/widgets.php:158 +msgid "Addressbooks" +msgstr "Carnet d'adresses" + +#: ../../extend/addon/addon/cdav/include/widgets.php:160 +msgid "Addressbook name" +msgstr "Nom du carnet d'adresses" + +#: ../../extend/addon/addon/cdav/include/widgets.php:162 +msgid "Create new addressbook" +msgstr "Créer un nouveau carnet d'adresses" + +#: ../../extend/addon/addon/cdav/include/widgets.php:163 +msgid "Addressbook Name" +msgstr "Nom du carnet d'adresses" + +#: ../../extend/addon/addon/cdav/include/widgets.php:165 +msgid "Addressbook Tools" +msgstr "Outils pour les carnets d'adresses" + +#: ../../extend/addon/addon/cdav/include/widgets.php:166 +msgid "Import addressbook" +msgstr "Importer un carnet d'adresses" + +#: ../../extend/addon/addon/cdav/include/widgets.php:167 +msgid "Select an addressbook to import to" +msgstr "Sélectionner un carnet d'adresses à importer dans" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:744 +msgid "INVALID EVENT DISMISSED!" +msgstr "ÉVÉNEMENT INVALIDE REJETÉ!" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:745 +msgid "Summary: " +msgstr "Sommaire :" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:746 +msgid "Date: " +msgstr "Date :" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:747 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:754 +msgid "Reason: " +msgstr "Raison :" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:752 +msgid "INVALID CARD DISMISSED!" +msgstr "ÉVÉNEMENT INVALIDE REJETÉ!" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:753 +msgid "Name: " +msgstr "Nom :" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:770 +msgid "" +"You have to enable this plugin in Feature/Addon Settings > CalDAV/CardDAV " +"Settings before you can use it." +msgstr "Vous avez activé ce plugin dans Fonctionalités/Paramètres des extensions > CalDAV/CardDAV Paramètres avant que vous puissiez l'utiliser." + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:836 +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:837 +msgid "Example: YYYY-MM-DD HH:mm" +msgstr "Exemple : YYYY-MM-DD HH:mm" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:837 +msgid "End date and time" +msgstr "Date et heure de fin" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:852 +msgid "List month" +msgstr "Liste mois" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:853 +msgid "List week" +msgstr "Liste semaine" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:854 +msgid "List day" +msgstr "Liste jour" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:861 +msgid "More" +msgstr "Plus" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:862 +msgid "Less" +msgstr "Moins" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:863 +msgid "Select calendar" +msgstr "Sélectionner un calendrier" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:865 +msgid "Delete all" +msgstr "Tout supprimer" + +#: ../../extend/addon/addon/cdav/Mod_Cdav.php:867 +msgid "Sorry! Editing of recurrent events is not yet implemented." +msgstr "Désolé ! L'édition d'événements récurrents n'est pas encore implémenté." + +#: ../../extend/addon/addon/cdav/cdav.php:36 +msgid "Errors encountered creating database table: " +msgstr "Des erreurs se sont produites lors de la création de la table de la base de données :" + +#: ../../extend/addon/addon/cdav/cdav.php:197 +msgid "Default Calendar" +msgstr "Agenda par défaut" + +#: ../../extend/addon/addon/cdav/cdav.php:206 +msgid "Default Addressbook" +msgstr "Carnet d'adresses par défaut" + +#: ../../extend/addon/addon/cdav/cdav.php:215 +msgid "CalDAV/CardDAV Settings saved." +msgstr "Les paramètres CalDAV/CardDAV ont été sauvegardés." + +#: ../../extend/addon/addon/cdav/cdav.php:234 +msgid "Enable CalDAV/CardDAV Server for this channel" +msgstr "Activer le serveur CalDAV/CardDAV pour ce canal" + +#: ../../extend/addon/addon/cdav/cdav.php:237 #, php-format -msgid "%1$s is now connected with %2$s" -msgstr "%1$s ajoute %2$s à ses contacts" +msgid "Your CalDAV resources are located at %s " +msgstr "Vos ressources CalDAV sont situées à %s" -#: ../../include/conversation.php:239 +#: ../../extend/addon/addon/cdav/cdav.php:240 #, php-format -msgid "%1$s poked %2$s" -msgstr "%1$s a tapoté %2$s" +msgid "Your CardDAV resources are located at %s " +msgstr "Vos ressources CardDAV sont situées à %s" + +#: ../../extend/addon/addon/cdav/cdav.php:246 +msgid "CalDAV/CardDAV Settings" +msgstr "Paramètres CalDAV/CardDAV" + +#: ../../extend/addon/addon/cdav/cdav.php:272 +#: ../../include/connections.php:896 +msgid "Home, Voice" +msgstr "Domicile, Voix" + +#: ../../extend/addon/addon/cdav/cdav.php:273 +#: ../../include/connections.php:897 +msgid "Home, Fax" +msgstr "Domicile, Fax" + +#: ../../extend/addon/addon/cdav/cdav.php:275 +#: ../../include/connections.php:899 +msgid "Work, Voice" +msgstr "Travail, Voix" + +#: ../../extend/addon/addon/cdav/cdav.php:276 +#: ../../include/connections.php:900 +msgid "Work, Fax" +msgstr "Travail, Fax" + +#: ../../extend/addon/addon/chess/chess.php:276 +#: ../../extend/addon/addon/chess/chess.php:430 +msgid "Invalid game." +msgstr "Jeu invalide" + +#: ../../extend/addon/addon/chess/chess.php:282 +#: ../../extend/addon/addon/chess/chess.php:436 +msgid "You are not a player in this game." +msgstr "Vous n'êtes pas un joueur de ce jeu." + +#: ../../extend/addon/addon/chess/chess.php:315 +msgid "You must be a local channel to create a game." +msgstr "Vous devez être un canal local pour créer un jeu." + +#: ../../extend/addon/addon/chess/chess.php:333 +msgid "You must select one opponent that is not yourself." +msgstr "Vous devez sélectionner un adversaire qui ne soit pas vous-même." + +#: ../../extend/addon/addon/chess/chess.php:336 +msgid "Creating new game..." +msgstr "en train de créer un nouveau jeu…" + +#: ../../extend/addon/addon/chess/chess.php:342 +msgid "You must select white or black." +msgstr "Vous devez sélectionner les blancs ou les noirs." + +#: ../../extend/addon/addon/chess/chess.php:349 +msgid "Error creating new game." +msgstr "Erreur lors de la création du nouveau jeu." + +#: ../../extend/addon/addon/chess/chess.php:379 ../../include/channel.php:899 +msgid "Requested channel is not available." +msgstr "Canal demandé non disponible." + +#: ../../extend/addon/addon/chess/chess.php:392 +msgid "You must select a local channel /chess/channelname" +msgstr "Vous devez sélectionner un canal local /échecs/nomducanal" + +#: ../../extend/addon/addon/chess/chess.php:920 +msgid "Enable notifications" +msgstr "Activer les notifications" + +#: ../../extend/addon/addon/likebanner/likebanner.php:51 +msgid "Your Webbie:" +msgstr "Vous êtes Webbie :" + +#: ../../extend/addon/addon/likebanner/likebanner.php:54 +msgid "Fontsize (px):" +msgstr "Taille de la police (px) :" + +#: ../../extend/addon/addon/likebanner/likebanner.php:68 +msgid "Link:" +msgstr "Lien :" + +#: ../../extend/addon/addon/likebanner/likebanner.php:70 +msgid "Like us on Hubzilla" +msgstr "Aimez-nous sur Hubzilla" + +#: ../../extend/addon/addon/likebanner/likebanner.php:72 +msgid "Embed:" +msgstr "Embarqué :" + +#: ../../extend/addon/addon/openid/Mod_Id.php:85 +#: ../../include/selectors.php:49 ../../include/selectors.php:66 +msgid "Male" +msgstr "Homme" + +#: ../../extend/addon/addon/openid/Mod_Id.php:87 +#: ../../include/selectors.php:49 ../../include/selectors.php:66 +msgid "Female" +msgstr "Femme" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:52 +msgid "First Name" +msgstr "Prénom" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:53 +msgid "Last Name" +msgstr "Nom" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:55 +msgid "Full Name" +msgstr "Nom complet" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:61 +msgid "Profile Photo 16px" +msgstr "Photo de profil 16px" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:62 +msgid "Profile Photo 32px" +msgstr "Photo de profil 32px" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:63 +msgid "Profile Photo 48px" +msgstr "Photo de profil 48px" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:64 +msgid "Profile Photo 64px" +msgstr "Photo de profil 64px" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:65 +msgid "Profile Photo 80px" +msgstr "Photo de profil 80px" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:66 +msgid "Profile Photo 128px" +msgstr "Photo de profil 128px" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:67 +msgid "Timezone" +msgstr "Fuseau horaire" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:70 +msgid "Birth Year" +msgstr "Années de naissance" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:71 +msgid "Birth Month" +msgstr "Mois de naissance" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:72 +msgid "Birth Day" +msgstr "Jour de naissance" + +#: ../../extend/addon/addon/openid/MysqlProvider.php:73 +msgid "Birthdate" +msgstr "Date de naissance" + +#: ../../extend/addon/addon/openid/openid.php:49 +msgid "" +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." +msgstr "Nous avons rencontrons un problème lors de l'identification avec l'OpenID que vous avez fournie. Veuillez vérifier que vous avez correctement écrit votre ID." + +#: ../../extend/addon/addon/openid/openid.php:49 +msgid "The error message was:" +msgstr "Le message d'erreur était :" + +#: ../../extend/addon/addon/openid/Mod_Openid.php:30 +msgid "OpenID protocol error. No ID returned." +msgstr "Erreur du protocole OpenID. Aucune ID trouvée." + +#: ../../extend/addon/addon/openid/Mod_Openid.php:188 +#: ../../include/auth.php:286 +msgid "Login failed." +msgstr "Échec de la connexion." -#: ../../include/conversation.php:691 +#: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:44 #, php-format -msgid "View %s's profile @ %s" -msgstr "Voir le profil de %s @ %s" +msgid "Reconnecting %d connections" +msgstr "Reconnection des relations de %d" -#: ../../include/conversation.php:710 -msgid "Categories:" -msgstr "Catégories :" +#: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:63 +msgid "Diaspora Reconnect" +msgstr "Reconnexion de Diaspora" -#: ../../include/conversation.php:711 -msgid "Filed under:" -msgstr "Classé sous :" +#: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:65 +msgid "" +"Use this form to re-establish Diaspora connections which were initially made" +" from a different hub." +msgstr "Utiliser ce formulaire pour établir à nouveau les connexions avec Diaspora qui avait été initialement créées sur un hub différent." -#: ../../include/conversation.php:738 -msgid "View in context" -msgstr "Voir en contexte" +#: ../../extend/addon/addon/diaspora_reconnect/diaspora_reconnect.php:70 +msgid "Reconnect" +msgstr "Reconnecter" -#: ../../include/conversation.php:847 -msgid "remove" -msgstr "supprimer" +#: ../../extend/addon/addon/mailtest/mailtest.php:19 +msgid "Send test email" +msgstr "Envoyer un mail de test" -#: ../../include/conversation.php:852 -msgid "Delete Selected Items" -msgstr "Supprimer les éléments selectionnés" +#: ../../extend/addon/addon/mailtest/mailtest.php:66 +msgid "Mail sent." +msgstr "Mail envoyé." -#: ../../include/conversation.php:948 -msgid "View Source" -msgstr "Voir source" +#: ../../extend/addon/addon/mailtest/mailtest.php:68 +msgid "Sending of mail failed." +msgstr "L'envoi du mail a échoué." -#: ../../include/conversation.php:949 -msgid "Follow Thread" -msgstr "Suivre la discussion" +#: ../../extend/addon/addon/mailtest/mailtest.php:77 +msgid "Mail Test" +msgstr "Test du mail" -#: ../../include/conversation.php:950 -msgid "Unfollow Thread" -msgstr "Ne plus suivre la discussion" +#: ../../extend/addon/addon/rendezvous/rendezvous.php:57 +msgid "Errors encountered deleting database table " +msgstr "Des erreurs ont eu lieu lors de la suppression de la table de la base de données." -#: ../../include/conversation.php:955 -msgid "Activity/Posts" -msgstr "Activité/Publications" +#: ../../extend/addon/addon/rendezvous/rendezvous.php:96 +msgid "Drop tables when uninstalling?" +msgstr "Lors de la désinstallation, purger les tables?" -#: ../../include/conversation.php:957 -msgid "Edit Connection" -msgstr "Modifier le contact" +#: ../../extend/addon/addon/rendezvous/rendezvous.php:96 +msgid "" +"If checked, the Rendezvous database tables will be deleted when the plugin " +"is uninstalled." +msgstr "Si cette case est cochée, les tables de la base Rendezvous seront supprimées lorsque le plugin sera désinstallé." -#: ../../include/conversation.php:958 -msgid "Message" -msgstr "Message" +#: ../../extend/addon/addon/rendezvous/rendezvous.php:97 +msgid "Mapbox Access Token" +msgstr "Jeton d'accès à la mapbox." + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:97 +msgid "" +"If you enter a Mapbox access token, it will be used to retrieve map tiles " +"from Mapbox instead of the default OpenStreetMap tile server." +msgstr "Si vous entrez un jeton d'accès Mapbox, il doit être utilisé pour récupérer les cartes à partir de Mapbox au lieu du serveur par défaut OpenStreetMap." + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:162 +msgid "Rendezvous" +msgstr "Rendezvous" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:167 +msgid "" +"This identity has been deleted by another member due to inactivity. Please " +"press the \"New identity\" button or refresh the page to register a new " +"identity. You may use the same name." +msgstr "Cette identité a été supprimée par un autre membre en raison de l'inactivité. Appuyez sur le bouton \"Nouvelle identité\" ou actualisez la page pour enregistrer une nouvelle identité. Vous pouvez utiliser le même nom." + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:168 +msgid "Welcome to Rendezvous!" +msgstr "Bienvenue dans Rendevzvous!" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:169 +msgid "" +"Enter your name to join this rendezvous. To begin sharing your location with" +" the other members, tap the GPS control. When your location is discovered, a" +" red dot will appear and others will be able to see you on the map." +msgstr "Entrez votre nom pour rejoindre ce rendez-vous. Pour commencer à partager votre emplacement avec les autres membres, appuyez sur le contrôle GPS. Lorsque votre emplacement est découvert, un point rouge apparaîtra et les autres seront en mesure de vous voir sur la carte." + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:171 +msgid "Let's meet here" +msgstr "Rencontrez-vous ici" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:174 +msgid "New marker" +msgstr "Nouveau marqueur" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:175 +msgid "Edit marker" +msgstr "Éditer le marqueur" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:176 +msgid "New identity" +msgstr "Nouvelle identité" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:177 +msgid "Delete marker" +msgstr "Supprimer le marqueur" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:178 +msgid "Delete member" +msgstr "Supprimer le membre" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:179 +msgid "Edit proximity alert" +msgstr "Éditer l'alerte de proximité" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:180 +msgid "" +"A proximity alert will be issued when this member is within a certain radius" +" of you.<br><br>Enter a radius in meters (0 to disable):" +msgstr "Une alerte de proximité sera émise lorsque ce membre se trouve dans un certain périmètre autour de vous. Entrer un rayon en mètres (0 pour désactiver):" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:180 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:185 +msgid "distance" +msgstr "distance" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:181 +msgid "Proximity alert distance (meters)" +msgstr "Distance d'alerte de proximité (mètres)" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:182 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:184 +msgid "" +"A proximity alert will be issued when you are within a certain radius of the" +" marker location.<br><br>Enter a radius in meters (0 to disable):" +msgstr "Une alerte de proximité sera déclenchée quand vous serez à une certaine distance du marqueur d'emplacement.<br><br>Indiquez une distance en mètres (0 pour désactiver) :" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:183 +msgid "Marker proximity alert" +msgstr "Alerte de proximité de marqueur" -#: ../../include/conversation.php:1075 +#: ../../extend/addon/addon/rendezvous/rendezvous.php:186 +msgid "Reminder note" +msgstr "Note de rappel" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:187 +msgid "" +"Enter a note to be displayed when you are within the specified proximity..." +msgstr "Saisissez une note à afficher quand vous serez à la distance indiquée..." + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:199 +msgid "Add new rendezvous" +msgstr "Ajouter un nouveau rendezvous" + +#: ../../extend/addon/addon/rendezvous/rendezvous.php:200 +msgid "" +"Create a new rendezvous and share the access link with those you wish to " +"invite to the group. Those who open the link become members of the " +"rendezvous. They can view other member locations, add markers to the map, or" +" share their own locations with the group." +msgstr "Créez un nouveau rendez-vous et partagez le lien d'accès avec les gens que vous souhaitez inviter au groupe. Ceux qui ouvrent le lien deviennent membres du rendez-vous. Ils peuvent afficher les emplacements des autres membres, ajouter des marqueurs à la carte ou partager leurs propres emplacements avec le groupe." + +#: ../../extend/addon/addon/firefox/firefox.php:23 +msgid "Install Firefox Sharing Tools" +msgstr "Installer Firefox Sharing Tools" + +#: ../../extend/addon/addon/firefox/firefox.php:34 +msgid "Share content from Firefox to $Projectname" +msgstr "Partager du contenu depuis Firefox avec $Projectname" + +#: ../../extend/addon/addon/firefox/firefox.php:37 +msgid "Install Firefox Sharing Tools to this web browser" +msgstr "Installer Firefox Sharing Tools sur ce navigateur" + +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:105 +msgid "Error retrieving wiki" +msgstr "Erreur lors de la récupération du wiki" + +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:112 +msgid "Error creating zip file export folder" +msgstr "Erreur lors de la création du dossier d'exportation du fichier zip" + +#: ../../extend/addon/addon/gitwiki/Mod_Gitwiki.php:130 +msgid "Error downloading wiki: " +msgstr "Erreur lors du téléchargement du wiki:" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:76 +#: ../../include/widgets.php:970 +msgid "Wiki Pages" +msgstr "Pages wiki" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:81 +#: ../../include/widgets.php:976 +msgid "Add new page" +msgstr "Ajouter une nouvelle page" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:82 +#: ../../include/widgets.php:977 +msgid "Page name" +msgstr "Nom de la page" + +#: ../../extend/addon/addon/gitwiki/gitwiki.php:95 +#: ../../include/widgets.php:927 +msgid "Wiki List" +msgstr "Liste de wikis" + +#: ../../extend/addon/addon/gnusoc/gnusoc.php:129 +msgid "Enable the GNU-Social protocol for this channel" +msgstr "Activer le protocole GNU-Social pour ce canal" + +#: ../../extend/addon/addon/opensearch/opensearch.php:26 ../../boot.php:1187 #, php-format -msgid "%s likes this." -msgstr "%s aime ça." +msgctxt "opensearch" +msgid "Search %1$s (%2$s)" +msgstr "Recherche %1$s (%2$s)" + +#: ../../extend/addon/addon/opensearch/opensearch.php:28 ../../boot.php:1187 +msgctxt "opensearch" +msgid "$Projectname" +msgstr "$Projectname" -#: ../../include/conversation.php:1075 +#: ../../extend/addon/addon/opensearch/opensearch.php:43 +msgid "Search $Projectname" +msgstr "Chercher dans $Projectname" + +#: ../../include/dba/dba_driver.php:187 #, php-format -msgid "%s doesn't like this." -msgstr "%s n'aime pas ça." +msgid "Cannot locate DNS info for database server '%s'" +msgstr "Impossible de trouver les infos DNS du serveur de BDD '%s'" + +#: ../../include/language.php:367 ../../include/text.php:1783 +msgid "default" +msgstr "défaut" -#: ../../include/conversation.php:1079 +#: ../../include/language.php:380 +msgid "Select an alternate language" +msgstr "Choisir une langue alternative" + +#: ../../include/account.php:35 +msgid "Not a valid email address" +msgstr "Ce n'est pas une adresse de courriel valide" + +#: ../../include/account.php:37 +msgid "Your email domain is not among those allowed on this site" +msgstr "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site" + +#: ../../include/account.php:43 +msgid "Your email address is already registered at this site." +msgstr "Votre adresse de courriel est déjà inscrite sur ce site." + +#: ../../include/account.php:75 +msgid "An invitation is required." +msgstr "Une invitation est requise." + +#: ../../include/account.php:79 +msgid "Invitation could not be verified." +msgstr "Votre invitation n'a pas pu être vérifiée." + +#: ../../include/account.php:130 +msgid "Please enter the required information." +msgstr "Merci d'entrer les informations requises." + +#: ../../include/account.php:198 +msgid "Failed to store account information." +msgstr "Impossible de stocker les informations liées au compte." + +#: ../../include/account.php:263 #, 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 personne</span> aime ceci." -msgstr[1] "<span %1$s>%2$d personnes</span> aiment ceci." +msgid "Registration confirmation for %s" +msgstr "Confirmation de l'inscription pour %s" -#: ../../include/conversation.php:1081 +#: ../../include/account.php:330 #, 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 personne</span> n'aime pas ça." -msgstr[1] "<span %1$s>%2$d personnes</span> n'aiment pas ça." +msgid "Registration request at %s" +msgstr "Demande d'inscription sur %s" -#: ../../include/conversation.php:1087 -msgid "and" -msgstr "et" +#: ../../include/account.php:352 +msgid "your registration password" +msgstr "votre mot de passe d'inscription" -#: ../../include/conversation.php:1090 +#: ../../include/account.php:358 ../../include/account.php:420 #, php-format -msgid ", and %d other people" -msgid_plural ", and %d other people" -msgstr[0] ", et %d autre personne" -msgstr[1] ", et %d autres personnes" +msgid "Registration details for %s" +msgstr "Détails de l'inscription pour %s" -#: ../../include/conversation.php:1091 -#, php-format -msgid "%s like this." -msgstr "%s aime ça." +#: ../../include/account.php:431 +msgid "Account approved." +msgstr "Compte approuvé." -#: ../../include/conversation.php:1091 +#: ../../include/account.php:471 #, php-format -msgid "%s don't like this." -msgstr "%s n'aime pas ça." +msgid "Registration revoked for %s" +msgstr "Inscription révoquée pour %s" -#: ../../include/conversation.php:1130 -msgid "Set your location" -msgstr "Spécifier votre emplacement géographique" +#: ../../include/account.php:756 ../../include/account.php:758 +msgid "Click here to upgrade." +msgstr "Cliquez ici pour mettre à jour." -#: ../../include/conversation.php:1131 -msgid "Clear browser location" -msgstr "Supprimer l'emplacement géographique du navigateur" +#: ../../include/account.php:764 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "Cette action outrepasserait les limites prévues par votre forfait." -#: ../../include/conversation.php:1177 -msgid "Tag term:" -msgstr "Étiquette :" +#: ../../include/account.php:769 +msgid "This action is not available under your subscription plan." +msgstr "Cette action n'est pas disponible avec votre forfait." -#: ../../include/conversation.php:1178 -msgid "Where are you right now?" -msgstr "Où êtes-vous en ce moment ?" +#: ../../include/acl_selectors.php:208 +msgid "Who can see this?" +msgstr "Qui peut voir cela" -#: ../../include/conversation.php:1210 -msgid "Page link name" -msgstr "Nom du lien vers la page" +#: ../../include/acl_selectors.php:209 +msgid "Custom selection" +msgstr "Sélection personnalisée" -#: ../../include/conversation.php:1213 -msgid "Post as" -msgstr "Publier en tant que" +#: ../../include/acl_selectors.php:210 +msgid "" +"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit" +" the scope of \"Show\"." +msgstr "Sélectionnez \"Afficher\" pour permettre l'affichage. \"Ne pas afficher\" vous permet de remplacer et de limiter la portée de \"Afficher\"." -#: ../../include/conversation.php:1223 -msgid "Toggle voting" -msgstr "(Dés)activer le vote" +#: ../../include/acl_selectors.php:211 +msgid "Show" +msgstr "Montrer" -#: ../../include/conversation.php:1231 -msgid "Categories (optional, comma-separated list)" -msgstr "Catégories (facultatives, séparées par des virgules)" +#: ../../include/acl_selectors.php:212 +msgid "Don't show" +msgstr "Cacher" -#: ../../include/conversation.php:1254 -msgid "Set publish date" -msgstr "Définir la date de publication" +#: ../../include/acl_selectors.php:245 +#, 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 "Les autorisations d'accès d'un message %s ne peuvent pas être modifiées %s une fois le message envoyé. Ces autorisations définissent qui est autorisé à afficher le message." -#: ../../include/conversation.php:1258 -msgid "OK" -msgstr "OK" +#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270 +#: ../../include/widgets.php:46 ../../include/widgets.php:469 +#: ../../include/contact_widgets.php:91 +msgid "Categories" +msgstr "Catégories" -#: ../../include/conversation.php:1503 -msgid "Discover" -msgstr "À découvrir" +#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249 +msgid "Tags" +msgstr "Étiquettes" -#: ../../include/conversation.php:1506 -msgid "Imported public streams" -msgstr "Flux publics importés" +#: ../../include/taxonomy.php:293 +msgid "Keywords" +msgstr "Mots-clefs" -#: ../../include/conversation.php:1511 -msgid "Commented Order" -msgstr "Par date de commentaire" +#: ../../include/taxonomy.php:314 +msgid "have" +msgstr "ont" -#: ../../include/conversation.php:1514 -msgid "Sort by Comment Date" -msgstr "Trier par date de dernier commentaire" +#: ../../include/taxonomy.php:314 +msgid "has" +msgstr "a" -#: ../../include/conversation.php:1518 -msgid "Posted Order" -msgstr "Par date de publication" +#: ../../include/taxonomy.php:315 +msgid "want" +msgstr "veulent" -#: ../../include/conversation.php:1521 -msgid "Sort by Post Date" -msgstr "Trier par date de publication" +#: ../../include/taxonomy.php:315 +msgid "wants" +msgstr "veut" -#: ../../include/conversation.php:1529 -msgid "Posts that mention or involve you" -msgstr "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre" +#: ../../include/taxonomy.php:316 +msgid "likes" +msgstr "aime" -#: ../../include/conversation.php:1538 -msgid "Activity Stream - by date" -msgstr "Flux d'activité - par date" +#: ../../include/taxonomy.php:317 +msgid "dislikes" +msgstr "n'aime pas" -#: ../../include/conversation.php:1544 -msgid "Starred" -msgstr "Mis en avant (étoiles)" +#: ../../include/markdown.php:444 +msgid "Attachments:" +msgstr "Pièces jointes :" -#: ../../include/conversation.php:1547 -msgid "Favourite Posts" -msgstr "Publications préférées" +#: ../../include/markdown.php:539 ../../include/event.php:22 +#: ../../include/event.php:69 +msgid "l F d, Y \\@ g:i A" +msgstr "l d F Y \\à G\\hi" -#: ../../include/conversation.php:1554 -msgid "Spam" -msgstr "Indésirable" +#: ../../include/markdown.php:541 +msgid "$Projectname event notification:" +msgstr "Notification d'événement de $Projectname :" -#: ../../include/conversation.php:1557 -msgid "Posts flagged as SPAM" -msgstr "Publications marquées comme indésirables" +#: ../../include/markdown.php:545 ../../include/event.php:30 +#: ../../include/event.php:73 +msgid "Starts:" +msgstr "Début :" -#: ../../include/conversation.php:1614 -msgid "Status Messages and Posts" -msgstr "Messages d'état et contributions" +#: ../../include/markdown.php:553 ../../include/event.php:40 +#: ../../include/event.php:77 +msgid "Finishes:" +msgstr "Fin :" -#: ../../include/conversation.php:1623 -msgid "About" -msgstr "À propos" +#: ../../include/datetime.php:147 +msgid "Birthday" +msgstr "Anniversaire" -#: ../../include/conversation.php:1626 -msgid "Profile Details" -msgstr "Détails du profil" +#: ../../include/datetime.php:149 +msgid "Age: " +msgstr "Age :" -#: ../../include/conversation.php:1635 ../../include/photos.php:502 -msgid "Photo Albums" -msgstr "Albums photo" +#: ../../include/datetime.php:151 +msgid "YYYY-MM-DD or MM-DD" +msgstr "AAAA-MM-JJ ou MM-JJ" -#: ../../include/conversation.php:1642 -msgid "Files and Storage" -msgstr "Fichiers et Stockage" +#: ../../include/datetime.php:286 ../../boot.php:2578 +msgid "never" +msgstr "jamais" -#: ../../include/conversation.php:1678 -msgid "Saved Bookmarks" -msgstr "Favoris sauvegardés" +#: ../../include/datetime.php:292 +msgid "less than a second ago" +msgstr "à l'instant" -#: ../../include/conversation.php:1688 -msgid "Manage Webpages" -msgstr "Gérer les pages web" +#: ../../include/datetime.php:310 +#, php-format +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" +msgstr "il y a %1$d %2$s" -#: ../../include/conversation.php:1747 -msgctxt "noun" -msgid "Attending" -msgid_plural "Attending" -msgstr[0] "Participe" -msgstr[1] "Participent" +#: ../../include/datetime.php:321 +msgctxt "relative_date" +msgid "year" +msgid_plural "years" +msgstr[0] "an" +msgstr[1] "ans" -#: ../../include/conversation.php:1750 -msgctxt "noun" -msgid "Not Attending" -msgid_plural "Not Attending" -msgstr[0] "Ne participe pas" -msgstr[1] "Ne participent pas" +#: ../../include/datetime.php:324 +msgctxt "relative_date" +msgid "month" +msgid_plural "months" +msgstr[0] "mois" +msgstr[1] "mois" -#: ../../include/conversation.php:1753 -msgctxt "noun" -msgid "Undecided" -msgid_plural "Undecided" -msgstr[0] "Indécis(e)" -msgstr[1] "Indécis(es)" +#: ../../include/datetime.php:327 +msgctxt "relative_date" +msgid "week" +msgid_plural "weeks" +msgstr[0] "semaine" +msgstr[1] "semaines" -#: ../../include/conversation.php:1756 -msgctxt "noun" -msgid "Agree" -msgid_plural "Agrees" -msgstr[0] "D'accord" -msgstr[1] "D'accord" +#: ../../include/datetime.php:330 +msgctxt "relative_date" +msgid "day" +msgid_plural "days" +msgstr[0] "jour" +msgstr[1] "jours" -#: ../../include/conversation.php:1759 -msgctxt "noun" -msgid "Disagree" -msgid_plural "Disagrees" -msgstr[0] "Pas d'accord" -msgstr[1] "Pas d'accord" +#: ../../include/datetime.php:333 +msgctxt "relative_date" +msgid "hour" +msgid_plural "hours" +msgstr[0] "heure" +msgstr[1] "heures" -#: ../../include/conversation.php:1762 -msgctxt "noun" -msgid "Abstain" -msgid_plural "Abstains" -msgstr[0] "S'abstient" -msgstr[1] "S'abstiennent" +#: ../../include/datetime.php:336 +msgctxt "relative_date" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minute" +msgstr[1] "minutes" + +#: ../../include/datetime.php:339 +msgctxt "relative_date" +msgid "second" +msgid_plural "seconds" +msgstr[0] "seconde" +msgstr[1] "secondes" + +#: ../../include/datetime.php:576 +#, php-format +msgid "%1$s's birthday" +msgstr "Anniversaire de %1$s" + +#: ../../include/datetime.php:577 +#, php-format +msgid "Happy Birthday %1$s" +msgstr "Joyeux Anniversaire %1$s" #: ../../include/selectors.php:30 msgid "Frequently" @@ -8133,12 +11095,6 @@ msgstr "Neutre" msgid "Non-specific" msgstr "Non spécifique" -#: ../../include/selectors.php:49 ../../include/selectors.php:66 -#: ../../include/selectors.php:104 ../../include/selectors.php:140 -#: ../../include/permissions.php:881 -msgid "Other" -msgstr "Autre" - #: ../../include/selectors.php:49 msgid "Undecided" msgstr "Indécis" @@ -8315,821 +11271,804 @@ msgstr "S'en fiche" msgid "Ask me" msgstr "Me demander" -#: ../../include/PermissionDescription.php:31 -#: ../../include/acl_selectors.php:232 -msgid "Visible to your default audience" -msgstr "Visible pour vos contacts seulement" - -#: ../../include/PermissionDescription.php:115 -#: ../../include/acl_selectors.php:268 -msgid "Only me" -msgstr "" - -#: ../../include/PermissionDescription.php:116 -msgid "Public" -msgstr "Public" +#: ../../include/connections.php:127 +msgid "New window" +msgstr "Nouvelle fenêtre" -#: ../../include/PermissionDescription.php:117 -msgid "Anybody in the $Projectname network" -msgstr "" +#: ../../include/connections.php:128 +msgid "Open the selected location in a different window or browser tab" +msgstr "Ouvrir l'emplacement dans une fenêtre ou un onglet différent" -#: ../../include/PermissionDescription.php:118 +#: ../../include/connections.php:246 #, php-format -msgid "Any account on %s" -msgstr "" +msgid "User '%s' deleted" +msgstr "Utilisateur '%s' supprimé" -#: ../../include/PermissionDescription.php:119 -msgid "Any of my connections" -msgstr "" +#: ../../include/conversation.php:204 +#, php-format +msgid "%1$s is now connected with %2$s" +msgstr "%1$s ajoute %2$s à ses contacts" -#: ../../include/PermissionDescription.php:120 -msgid "Only connections I specifically allow" -msgstr "" +#: ../../include/conversation.php:239 +#, php-format +msgid "%1$s poked %2$s" +msgstr "%1$s a tapoté %2$s" -#: ../../include/PermissionDescription.php:121 -msgid "Anybody authenticated (could include visitors from other networks)" -msgstr "" +#: ../../include/conversation.php:243 ../../include/text.php:1092 +#: ../../include/text.php:1097 +msgid "poked" +msgstr "a tapoté" -#: ../../include/PermissionDescription.php:122 -msgid "Any connections including those who haven't yet been approved" -msgstr "" +#: ../../include/conversation.php:690 +#, php-format +msgid "View %s's profile @ %s" +msgstr "Voir le profil de %s @ %s" -#: ../../include/PermissionDescription.php:161 -msgid "" -"This is your default setting for the audience of your normal stream, and " -"posts." -msgstr "" +#: ../../include/conversation.php:710 +msgid "Categories:" +msgstr "Catégories :" -#: ../../include/PermissionDescription.php:162 -msgid "" -"This is your default setting for who can view your default channel profile" -msgstr "" +#: ../../include/conversation.php:711 +msgid "Filed under:" +msgstr "Classé sous :" -#: ../../include/PermissionDescription.php:163 -msgid "This is your default setting for who can view your connections" -msgstr "" +#: ../../include/conversation.php:736 +msgid "View in context" +msgstr "Voir en contexte" -#: ../../include/PermissionDescription.php:164 -msgid "" -"This is your default setting for who can view your file storage and photos" -msgstr "" +#: ../../include/conversation.php:832 +msgid "remove" +msgstr "supprimer" -#: ../../include/PermissionDescription.php:165 -msgid "This is your default setting for the audience of your webpages" -msgstr "" +#: ../../include/conversation.php:836 ../../include/nav.php:292 +msgid "Loading..." +msgstr "Chargement..." -#: ../../include/account.php:28 -msgid "Not a valid email address" -msgstr "Ce n'est pas une adresse de courriel valide" +#: ../../include/conversation.php:837 +msgid "Delete Selected Items" +msgstr "Supprimer les éléments selectionnés" -#: ../../include/account.php:30 -msgid "Your email domain is not among those allowed on this site" -msgstr "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site" +#: ../../include/conversation.php:930 ../../include/conversation.php:972 +msgid "View Source" +msgstr "Voir source" -#: ../../include/account.php:36 -msgid "Your email address is already registered at this site." -msgstr "Votre adresse de courriel est déjà inscrite sur ce site." +#: ../../include/conversation.php:931 ../../include/conversation.php:982 +msgid "Follow Thread" +msgstr "Suivre la discussion" -#: ../../include/account.php:68 -msgid "An invitation is required." -msgstr "Une invitation est requise." +#: ../../include/conversation.php:932 ../../include/conversation.php:991 +msgid "Unfollow Thread" +msgstr "Ne plus suivre la discussion" -#: ../../include/account.php:72 -msgid "Invitation could not be verified." -msgstr "Votre invitation n'a pas pu être vérifiée." +#: ../../include/conversation.php:937 ../../include/conversation.php:1059 +msgid "Activity/Posts" +msgstr "Activité/Publications" -#: ../../include/account.php:122 -msgid "Please enter the required information." -msgstr "Merci d'entrer les informations requises." +#: ../../include/conversation.php:939 ../../include/conversation.php:1079 +msgid "Edit Connection" +msgstr "Modifier le contact" -#: ../../include/account.php:189 -msgid "Failed to store account information." -msgstr "Impossible de stocker les informations liées au compte." +#: ../../include/conversation.php:940 ../../include/conversation.php:1089 +msgid "Message" +msgstr "Message" -#: ../../include/account.php:249 +#: ../../include/conversation.php:1223 #, php-format -msgid "Registration confirmation for %s" -msgstr "Confirmation de l'inscription pour %s" +msgid "%s likes this." +msgstr "%s aime ça." -#: ../../include/account.php:315 +#: ../../include/conversation.php:1223 #, php-format -msgid "Registration request at %s" -msgstr "Demande d'inscription sur %s" - -#: ../../include/account.php:317 ../../include/account.php:344 -#: ../../include/account.php:404 ../../include/network.php:1871 -msgid "Administrator" -msgstr "Administrateur" +msgid "%s doesn't like this." +msgstr "%s n'aime pas ça." -#: ../../include/account.php:339 -msgid "your registration password" -msgstr "votre mot de passe d'inscription" +#: ../../include/conversation.php:1227 +#, 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 personne</span> aime ceci." +msgstr[1] "<span %1$s>%2$d personnes</span> aiment ceci." -#: ../../include/account.php:342 ../../include/account.php:402 +#: ../../include/conversation.php:1229 #, php-format -msgid "Registration details for %s" -msgstr "Détails de l'inscription pour %s" +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 personne</span> n'aime pas ça." +msgstr[1] "<span %1$s>%2$d personnes</span> n'aiment pas ça." -#: ../../include/account.php:414 -msgid "Account approved." -msgstr "Compte approuvé." +#: ../../include/conversation.php:1235 +msgid "and" +msgstr "et" -#: ../../include/account.php:454 +#: ../../include/conversation.php:1238 #, php-format -msgid "Registration revoked for %s" -msgstr "Inscription révoquée pour %s" +msgid ", and %d other people" +msgid_plural ", and %d other people" +msgstr[0] ", et %d autre personne" +msgstr[1] ", et %d autres personnes" -#: ../../include/account.php:506 -msgid "Account verified. Please login." -msgstr "Compte vérifié. Veuillez vous connecter." +#: ../../include/conversation.php:1239 +#, php-format +msgid "%s like this." +msgstr "%s aime ça." -#: ../../include/account.php:723 ../../include/account.php:725 -msgid "Click here to upgrade." -msgstr "Cliquez ici pour mettre à jour." +#: ../../include/conversation.php:1239 +#, php-format +msgid "%s don't like this." +msgstr "%s n'aime pas ça." -#: ../../include/account.php:731 -msgid "This action exceeds the limits set by your subscription plan." -msgstr "Cette action outrepasserait les limites prévues par votre forfait." +#: ../../include/conversation.php:1282 +msgid "Set your location" +msgstr "Spécifier votre emplacement géographique" -#: ../../include/account.php:736 -msgid "This action is not available under your subscription plan." -msgstr "Cette action n'est pas disponible avec votre forfait." +#: ../../include/conversation.php:1283 +msgid "Clear browser location" +msgstr "Supprimer l'emplacement géographique du navigateur" -#: ../../include/attach.php:247 ../../include/attach.php:333 -msgid "Item was not found." -msgstr "Élément introuvable." +#: ../../include/conversation.php:1331 +msgid "Tag term:" +msgstr "Étiquette :" -#: ../../include/attach.php:497 -msgid "No source file." -msgstr "Pas de fichier source." +#: ../../include/conversation.php:1332 +msgid "Where are you right now?" +msgstr "Où êtes-vous en ce moment ?" -#: ../../include/attach.php:519 -msgid "Cannot locate file to replace" -msgstr "Impossible de trouver le fichier à remplacer." +#: ../../include/conversation.php:1337 +msgid "Choose a different album..." +msgstr "Choisissez un autre album" -#: ../../include/attach.php:537 -msgid "Cannot locate file to revise/update" -msgstr "Impossible de trouver le fichier à corriger/mettre à jour" +#: ../../include/conversation.php:1341 +msgid "Comments enabled" +msgstr "Commentaires activés" -#: ../../include/attach.php:672 -#, php-format -msgid "File exceeds size limit of %d" -msgstr "Le fichier dépasse la taille limite de %d" +#: ../../include/conversation.php:1342 +msgid "Comments disabled" +msgstr "Commentaires désactivés" -#: ../../include/attach.php:686 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." -msgstr "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes." +#: ../../include/conversation.php:1380 +msgid "Page link name" +msgstr "Nom du lien vers la page" -#: ../../include/attach.php:842 -msgid "File upload failed. Possible system limit or action terminated." -msgstr "Envoi du fichier impossible. Limite système ou action avortée." +#: ../../include/conversation.php:1383 +msgid "Post as" +msgstr "Publier en tant que" -#: ../../include/attach.php:855 -msgid "Stored file could not be verified. Upload failed." -msgstr "Le fichier stocké n'a pu être vérifié. Echec de l'envoi." +#: ../../include/conversation.php:1397 +msgid "Toggle voting" +msgstr "(Dés)activer le vote" -#: ../../include/attach.php:909 ../../include/attach.php:925 -msgid "Path not available." -msgstr "Chemin non disponible." +#: ../../include/conversation.php:1400 +msgid "Disable comments" +msgstr "Désactiver les commentaires" -#: ../../include/attach.php:971 ../../include/attach.php:1123 -msgid "Empty pathname" -msgstr "Chemin vide" +#: ../../include/conversation.php:1401 +msgid "Toggle comments" +msgstr "Basculer les commentaires" -#: ../../include/attach.php:997 -msgid "duplicate filename or path" -msgstr "doublon de chemin ou de fichier" +#: ../../include/conversation.php:1409 +msgid "Categories (optional, comma-separated list)" +msgstr "Catégories (facultatives, séparées par des virgules)" -#: ../../include/attach.php:1019 -msgid "Path not found." -msgstr "Chemin introuvable." +#: ../../include/conversation.php:1432 +msgid "Other networks and post services" +msgstr "Autres réseaux et services de messagerie" -#: ../../include/attach.php:1077 -msgid "mkdir failed." -msgstr "mkdir a échoué." +#: ../../include/conversation.php:1438 +msgid "Set publish date" +msgstr "Définir la date de publication" -#: ../../include/attach.php:1081 -msgid "database storage failed." -msgstr "l'écriture dans la base de données a échoué." +#: ../../include/conversation.php:1692 +msgid "Discover" +msgstr "À découvrir" -#: ../../include/attach.php:1129 -msgid "Empty path" -msgstr "Chemin vide" +#: ../../include/conversation.php:1695 +msgid "Imported public streams" +msgstr "Flux publics importés" -#: ../../include/channel.php:32 -msgid "Unable to obtain identity information from database" -msgstr "Impossible d'obtenir les données d'identité depuis la base de données" +#: ../../include/conversation.php:1700 +msgid "Commented Order" +msgstr "Par date de commentaire" -#: ../../include/channel.php:66 -msgid "Empty name" -msgstr "Nom vide" +#: ../../include/conversation.php:1703 +msgid "Sort by Comment Date" +msgstr "Trier par date de dernier commentaire" -#: ../../include/channel.php:69 -msgid "Name too long" -msgstr "Nom trop long" +#: ../../include/conversation.php:1707 +msgid "Posted Order" +msgstr "Par date de publication" -#: ../../include/channel.php:180 -msgid "No account identifier" -msgstr "Pas d'identifiant de compte" +#: ../../include/conversation.php:1710 +msgid "Sort by Post Date" +msgstr "Trier par date de publication" -#: ../../include/channel.php:192 -msgid "Nickname is required." -msgstr "Un surnom est requis." +#: ../../include/conversation.php:1718 +msgid "Posts that mention or involve you" +msgstr "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre" -#: ../../include/channel.php:206 -msgid "Reserved nickname. Please choose another." -msgstr "Surnom réservé. Merci d'en choisir un autre." +#: ../../include/conversation.php:1727 +msgid "Activity Stream - by date" +msgstr "Flux d'activité - par date" -#: ../../include/channel.php:211 -msgid "" -"Nickname has unsupported characters or is already being used on this site." -msgstr "Le surnom contient des caractères interdits ou est déjà pris sur ce site." +#: ../../include/conversation.php:1733 +msgid "Starred" +msgstr "Avec étoile" -#: ../../include/channel.php:287 -msgid "Unable to retrieve created identity" -msgstr "Impossible de récupérer l'identité créée" +#: ../../include/conversation.php:1736 +msgid "Favourite Posts" +msgstr "Publications préférées" -#: ../../include/channel.php:345 -msgid "Default Profile" -msgstr "Profil par défaut" +#: ../../include/conversation.php:1743 +msgid "Spam" +msgstr "Indésirable" -#: ../../include/channel.php:791 -msgid "Requested channel is not available." -msgstr "Canal demandé non disponible." +#: ../../include/conversation.php:1746 +msgid "Posts flagged as SPAM" +msgstr "Publications marquées comme indésirables" -#: ../../include/channel.php:938 -msgid "Create New Profile" -msgstr "Créer un nouveau profil" +#: ../../include/conversation.php:1818 +msgid "Status Messages and Posts" +msgstr "Messages d'état et contributions" -#: ../../include/channel.php:958 -msgid "Visible to everybody" -msgstr "Visible de tous" +#: ../../include/conversation.php:1830 +msgid "Profile Details" +msgstr "Détails du profil" -#: ../../include/channel.php:1031 ../../include/channel.php:1142 -msgid "Gender:" -msgstr "Sexe :" +#: ../../include/conversation.php:1839 ../../include/photos.php:515 +msgid "Photo Albums" +msgstr "Albums photo" -#: ../../include/channel.php:1032 ../../include/channel.php:1186 -msgid "Status:" -msgstr "État :" +#: ../../include/conversation.php:1846 +msgid "Files and Storage" +msgstr "Fichiers et Stockage" -#: ../../include/channel.php:1033 ../../include/channel.php:1197 -msgid "Homepage:" -msgstr "Site Internet :" +#: ../../include/conversation.php:1866 ../../include/conversation.php:1869 +#: ../../include/widgets.php:902 +msgid "Chatrooms" +msgstr "Salons de clavardage" -#: ../../include/channel.php:1034 -msgid "Online Now" -msgstr "Connecté" +#: ../../include/conversation.php:1879 +msgid "Bookmarks" +msgstr "Favoris" -#: ../../include/channel.php:1147 -msgid "Like this channel" -msgstr "J'aime ce canal" +#: ../../include/conversation.php:1882 +msgid "Saved Bookmarks" +msgstr "Favoris sauvegardés" -#: ../../include/channel.php:1171 -msgid "j F, Y" -msgstr "j F, Y" +#: ../../include/conversation.php:1892 +msgid "View Webpages" +msgstr "Voir les pages web" -#: ../../include/channel.php:1172 -msgid "j F" -msgstr "j F" +#: ../../include/conversation.php:1958 +msgctxt "noun" +msgid "Attending" +msgid_plural "Attending" +msgstr[0] "Participe" +msgstr[1] "Participent" -#: ../../include/channel.php:1179 -msgid "Birthday:" -msgstr "Date de naissance :" +#: ../../include/conversation.php:1961 +msgctxt "noun" +msgid "Not Attending" +msgid_plural "Not Attending" +msgstr[0] "Ne participe pas" +msgstr[1] "Ne participent pas" -#: ../../include/channel.php:1192 -#, php-format -msgid "for %1$d %2$s" -msgstr "depuis %1$d %2$s" +#: ../../include/conversation.php:1964 +msgctxt "noun" +msgid "Undecided" +msgid_plural "Undecided" +msgstr[0] "Indécis(e)" +msgstr[1] "Indécis(es)" -#: ../../include/channel.php:1195 -msgid "Sexual Preference:" -msgstr "Orientation sexuelle :" +#: ../../include/conversation.php:1967 +msgctxt "noun" +msgid "Agree" +msgid_plural "Agrees" +msgstr[0] "D'accord" +msgstr[1] "D'accord" -#: ../../include/channel.php:1201 -msgid "Tags:" -msgstr "Étiquettes :" +#: ../../include/conversation.php:1970 +msgctxt "noun" +msgid "Disagree" +msgid_plural "Disagrees" +msgstr[0] "Pas d'accord" +msgstr[1] "Pas d'accord" -#: ../../include/channel.php:1203 -msgid "Political Views:" -msgstr "Opinions politiques :" +#: ../../include/conversation.php:1973 +msgctxt "noun" +msgid "Abstain" +msgid_plural "Abstains" +msgstr[0] "S'abstient" +msgstr[1] "S'abstiennent" -#: ../../include/channel.php:1205 -msgid "Religion:" -msgstr "Religion :" +#: ../../include/message.php:32 +msgid "Unable to determine sender." +msgstr "Impossible de déterminer l'émetteur." -#: ../../include/channel.php:1209 -msgid "Hobbies/Interests:" -msgstr "Occupations/Centres d'intérêt :" +#: ../../include/message.php:69 +msgid "No recipient provided." +msgstr "Pas de destinataire." -#: ../../include/channel.php:1211 -msgid "Likes:" -msgstr "Aime :" +#: ../../include/message.php:74 +msgid "[no subject]" +msgstr "[sans objet]" -#: ../../include/channel.php:1213 -msgid "Dislikes:" -msgstr "N'aime pas :" +#: ../../include/message.php:225 +msgid "Stored post could not be verified." +msgstr "Le message stocké n'a pas pu être vérifié." -#: ../../include/channel.php:1215 -msgid "Contact information and Social Networks:" -msgstr "Coordonnées et réseaux sociaux :" +#: ../../include/security.php:117 +msgid "guest:" +msgstr "Visiteur" -#: ../../include/channel.php:1217 -msgid "My other channels:" -msgstr "Mes autres canaux :" +#: ../../include/security.php:532 +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 "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)." -#: ../../include/channel.php:1219 -msgid "Musical interests:" -msgstr "Goûts musicaux :" +#: ../../include/widgets.php:103 +msgid "System" +msgstr "Système" -#: ../../include/channel.php:1221 -msgid "Books, literature:" -msgstr "Lectures, goûts littéraires :" +#: ../../include/widgets.php:106 +msgid "New App" +msgstr "Nouvelle application" -#: ../../include/channel.php:1223 -msgid "Television:" -msgstr "Télévision :" +#: ../../include/widgets.php:107 +msgid "Edit Apps" +msgstr "Modifier les apps" -#: ../../include/channel.php:1225 -msgid "Film/dance/culture/entertainment:" -msgstr "Cinéma/danse/culture/divertissement&nsbp;:" +#: ../../include/widgets.php:155 +msgid "Suggestions" +msgstr "Suggestions" -#: ../../include/channel.php:1227 -msgid "Love/Romance:" -msgstr "Vie sentimentale/amoureuse :" +#: ../../include/widgets.php:156 +msgid "See more..." +msgstr "Voir plus..." -#: ../../include/channel.php:1229 -msgid "Work/employment:" -msgstr "Travail/Occupation " +#: ../../include/widgets.php:176 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "Vous avez %1$.0f sur %2$.0f contacts autorisés." -#: ../../include/channel.php:1231 -msgid "School/education:" -msgstr "Études " +#: ../../include/widgets.php:182 +msgid "Add New Connection" +msgstr "Ajouter un nouveau contact" -#: ../../include/channel.php:1251 -msgid "Like this thing" -msgstr "J'aime ceci" +#: ../../include/widgets.php:183 +msgid "Enter channel address" +msgstr "Saisissez l'adresse du canal" -#: ../../include/features.php:48 -msgid "General Features" -msgstr "Fonctionnalités générales" +#: ../../include/widgets.php:184 +msgid "Examples: bob@example.com, https://example.com/barbara" +msgstr "Exemples : pierre@exemple.com, https://exemple.com/sophie" -#: ../../include/features.php:50 -msgid "Content Expiration" -msgstr "Expiration du contenu" +#: ../../include/widgets.php:200 +msgid "Notes" +msgstr "Notes" -#: ../../include/features.php:50 -msgid "Remove posts/comments and/or private messages at a future time" -msgstr "Supprimer les contributions/commentaires et/ou messages privés plus tard" +#: ../../include/widgets.php:276 +msgid "Remove term" +msgstr "Retirer le terme" -#: ../../include/features.php:51 -msgid "Multiple Profiles" -msgstr "Profils multiples" +#: ../../include/widgets.php:284 ../../include/features.php:301 +msgid "Saved Searches" +msgstr "Recherches sauvegardées" -#: ../../include/features.php:51 -msgid "Ability to create multiple profiles" -msgstr "Possibilité de créer plusieurs profils" +#: ../../include/widgets.php:285 ../../include/group.php:336 +msgid "add" +msgstr "ajouter" -#: ../../include/features.php:52 -msgid "Advanced Profiles" -msgstr "Profils Avancés" +#: ../../include/widgets.php:347 ../../include/contact_widgets.php:53 +#: ../../include/features.php:390 +msgid "Saved Folders" +msgstr "Dossiers sauvegardés" -#: ../../include/features.php:52 -msgid "Additional profile sections and selections" -msgstr "Sections et sélections supplémentaires du profil" +#: ../../include/widgets.php:350 ../../include/widgets.php:472 +#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94 +msgid "Everything" +msgstr "Tout" -#: ../../include/features.php:53 -msgid "Profile Import/Export" -msgstr "Importer/Exporter le profil" +#: ../../include/widgets.php:391 +msgid "Archives" +msgstr "Archives" -#: ../../include/features.php:53 -msgid "Save and load profile details across sites/channels" -msgstr "Sauvegarder et charger les détails d'un profil entre sites/canaux" +#: ../../include/widgets.php:563 +msgid "Refresh" +msgstr "Actualiser" -#: ../../include/features.php:54 -msgid "Web Pages" -msgstr "Pages web" +#: ../../include/widgets.php:603 +msgid "Account settings" +msgstr "Paramètres du compte" -#: ../../include/features.php:54 -msgid "Provide managed web pages on your channel" -msgstr "Fournir des pages web, sous votre contrôle, sur votre canal" +#: ../../include/widgets.php:609 +msgid "Channel settings" +msgstr "Paramètres du canal" -#: ../../include/features.php:55 -msgid "Hide Rating" -msgstr "Masquer l'évaluation" +#: ../../include/widgets.php:618 +msgid "Additional features" +msgstr "Fonctionnalités supplémentaires" -#: ../../include/features.php:55 -msgid "" -"Hide the rating buttons on your channel and profile pages. Note: People can " -"still rate you somewhere else." -msgstr "Masquer les boutons d'évaluation sur les pages de votre canal et de votre profil. NB : vous pourrez toujours être évalué(e) ailleurs." +#: ../../include/widgets.php:625 +msgid "Feature/Addon settings" +msgstr "Paramètres des extensions/greffons" -#: ../../include/features.php:56 -msgid "Private Notes" -msgstr "Notes privées" +#: ../../include/widgets.php:631 +msgid "Display settings" +msgstr "Paramètres d'affichage" -#: ../../include/features.php:56 -msgid "Enables a tool to store notes and reminders (note: not encrypted)" -msgstr "Active un outil pour stocker des notes et des rappels (note :non chiffré)" +#: ../../include/widgets.php:638 +msgid "Manage locations" +msgstr "Gérer les emplacements" -#: ../../include/features.php:57 -msgid "Navigation Channel Select" -msgstr "Sélection du canal par la navigation" +#: ../../include/widgets.php:645 +msgid "Export channel" +msgstr "Exporter le canal" -#: ../../include/features.php:57 -msgid "Change channels directly from within the navigation dropdown menu" -msgstr "Changez de canal directement depuis le menu de navigation déroulant" +#: ../../include/widgets.php:651 +msgid "Connected apps" +msgstr "Applications connectées" -#: ../../include/features.php:58 -msgid "Photo Location" -msgstr "Site de prise de vue" +#: ../../include/widgets.php:666 ../../include/features.php:153 +msgid "Permission Groups" +msgstr "Groupes d'autorisation" -#: ../../include/features.php:58 -msgid "If location data is available on uploaded photos, link this to a map." -msgstr "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte." +#: ../../include/widgets.php:683 +msgid "Premium Channel Settings" +msgstr "Paramètres de canal VIP" -#: ../../include/features.php:59 -msgid "Access Controlled Chatrooms" -msgstr "" +#: ../../include/widgets.php:712 +msgid "Private Mail Menu" +msgstr "Menu des messages privés" -#: ../../include/features.php:59 -msgid "Provide chatrooms and chat services with access control." -msgstr "" +#: ../../include/widgets.php:714 +msgid "Combined View" +msgstr "Vue combinée" -#: ../../include/features.php:60 -msgid "Smart Birthdays" -msgstr "Anniversaires intelligents" +#: ../../include/widgets.php:719 ../../include/nav.php:213 +msgid "Inbox" +msgstr "Boîte de réception" -#: ../../include/features.php:60 -msgid "" -"Make birthday events timezone aware in case your friends are scattered " -"across the planet." -msgstr "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents." +#: ../../include/widgets.php:724 ../../include/nav.php:214 +msgid "Outbox" +msgstr "Boîte d'envoi" -#: ../../include/features.php:61 -msgid "Expert Mode" -msgstr "Mode expert" +#: ../../include/widgets.php:729 ../../include/nav.php:215 +msgid "New Message" +msgstr "Nouveau message" -#: ../../include/features.php:61 -msgid "Enable Expert Mode to provide advanced configuration options" -msgstr "Activer le mode expert pour accéder aux options avancées" +#: ../../include/widgets.php:746 ../../include/widgets.php:758 +msgid "Conversations" +msgstr "Conversations" -#: ../../include/features.php:62 -msgid "Premium Channel" -msgstr "Canal VIP" +#: ../../include/widgets.php:750 +msgid "Received Messages" +msgstr "Messages reçus" -#: ../../include/features.php:62 -msgid "" -"Allows you to set restrictions and terms on those that connect with your " -"channel" -msgstr "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal" +#: ../../include/widgets.php:754 +msgid "Sent Messages" +msgstr "Messages envoyés" -#: ../../include/features.php:67 -msgid "Post Composition Features" -msgstr "Fonctionnalités de composition" +#: ../../include/widgets.php:768 +msgid "No messages." +msgstr "Pas de message." -#: ../../include/features.php:70 -msgid "Large Photos" -msgstr "Grandes photos" +#: ../../include/widgets.php:786 +msgid "Delete conversation" +msgstr "Supprimer la conversation" -#: ../../include/features.php:70 -msgid "" -"Include large (1024px) photo thumbnails in posts. If not enabled, use small " -"(640px) photo thumbnails" -msgstr "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px)." +#: ../../include/widgets.php:812 +msgid "Events Tools" +msgstr "Outils Evènements" -#: ../../include/features.php:71 -msgid "Automatically import channel content from other channels or feeds" -msgstr "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif" +#: ../../include/widgets.php:813 +msgid "Export Calendar" +msgstr "Exporter le calendrier" -#: ../../include/features.php:72 -msgid "Even More Encryption" -msgstr "Encore plus de chiffrement" +#: ../../include/widgets.php:814 +msgid "Import Calendar" +msgstr "Importer un calendrier" -#: ../../include/features.php:72 -msgid "" -"Allow optional encryption of content end-to-end with a shared secret key" -msgstr "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé" +#: ../../include/widgets.php:906 +msgid "Overview" +msgstr "Aperçu" -#: ../../include/features.php:73 -msgid "Enable Voting Tools" -msgstr "Activer les outils de vote" +#: ../../include/widgets.php:913 +msgid "Chat Members" +msgstr "Membres du salon de discussion" -#: ../../include/features.php:73 -msgid "Provide a class of post which others can vote on" -msgstr "Fournit un type de publication sur lequel les utilisateurs peuvent voter" +#: ../../include/widgets.php:991 +msgctxt "wiki_history" +msgid "Message" +msgstr "Message" -#: ../../include/features.php:74 -msgid "Delayed Posting" -msgstr "Publication plus tard" +#: ../../include/widgets.php:1013 +msgid "Bookmarked Chatrooms" +msgstr "Salons favoris" -#: ../../include/features.php:74 -msgid "Allow posts to be published at a later date" -msgstr "Permettre de publier des messages à une date programmée" +#: ../../include/widgets.php:1044 +msgid "Suggested Chatrooms" +msgstr "Salons suggérés" -#: ../../include/features.php:75 -msgid "Suppress Duplicate Posts/Comments" -msgstr "Supprimer les publications/commentaires en doublon" +#: ../../include/widgets.php:1189 ../../include/widgets.php:1301 +msgid "photo/image" +msgstr "photo/image" -#: ../../include/features.php:75 -msgid "" -"Prevent posts with identical content to be published with less than two " -"minutes in between submissions." -msgstr "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle" +#: ../../include/widgets.php:1244 +msgid "Click to show more" +msgstr "Cliquer pour voir plus" -#: ../../include/features.php:81 -msgid "Network and Stream Filtering" -msgstr "Filtrage du réseau et des flux" +#: ../../include/widgets.php:1395 +msgid "Rating Tools" +msgstr "Outils d'évaluation" -#: ../../include/features.php:82 -msgid "Search by Date" -msgstr "Chercher par date" +#: ../../include/widgets.php:1399 ../../include/widgets.php:1401 +msgid "Rate Me" +msgstr "M'évaluer" -#: ../../include/features.php:82 -msgid "Ability to select posts by date ranges" -msgstr "Pouvoir choisir des publications par date" +#: ../../include/widgets.php:1404 +msgid "View Ratings" +msgstr "Voir mes évaluations" -#: ../../include/features.php:83 ../../include/group.php:311 -msgid "Privacy Groups" -msgstr "Groupes d'accès" +#: ../../include/widgets.php:1497 +msgid "Forums" +msgstr "Forums" -#: ../../include/features.php:83 -msgid "Enable management and selection of privacy groups" -msgstr "Active la gestion et la sélection des groupes d'accès" +#: ../../include/widgets.php:1526 +msgid "Tasks" +msgstr "Tâches" -#: ../../include/features.php:84 -msgid "Save search terms for re-use" -msgstr "Sauvegarder des termes de recherche pour utilisation ultérieure" +#: ../../include/widgets.php:1592 ../../include/widgets.php:1630 +msgid "Member registrations waiting for confirmation" +msgstr "Inscriptions en attente d'approbation" -#: ../../include/features.php:85 -msgid "Network Personal Tab" -msgstr "Onglet \"Me concernant\"" +#: ../../include/widgets.php:1598 +msgid "Inspect queue" +msgstr "Analyser la file d'attente" -#: ../../include/features.php:85 -msgid "Enable tab to display only Network posts that you've interacted on" -msgstr "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu" +#: ../../include/widgets.php:1600 +msgid "DB updates" +msgstr "Mises à jour BDD" -#: ../../include/features.php:86 -msgid "Network New Tab" -msgstr "Onglet \"nouveautés réseau\"" +#: ../../include/widgets.php:1625 ../../include/nav.php:233 +msgid "Admin" +msgstr "Administrateur" -#: ../../include/features.php:86 -msgid "Enable tab to display all new Network activity" -msgstr "Activer un onglet présentant toute l'activité récente sur le réseau" +#: ../../include/widgets.php:1626 +msgid "Plugin Features" +msgstr "Fonctionnalités des greffons" -#: ../../include/features.php:87 -msgid "Affinity Tool" -msgstr "Gérer l'affinité" +#: ../../include/zot.php:652 +msgid "Invalid data packet" +msgstr "Paquet de données invalide" -#: ../../include/features.php:87 -msgid "Filter stream activity by depth of relationships" -msgstr "Filtrer le flux d'activité en fonction de la profondeur des relations" +#: ../../include/zot.php:668 +msgid "Unable to verify channel signature" +msgstr "Impossible de vérifier la signature du canal" -#: ../../include/features.php:88 -msgid "Connection Filtering" -msgstr "Filtrage des contacts" +#: ../../include/zot.php:2319 +#, php-format +msgid "Unable to verify site signature for %s" +msgstr "Impossible de vérifier la signature de site pour %s" -#: ../../include/features.php:88 -msgid "Filter incoming posts from connections based on keywords/content" -msgstr "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs" +#: ../../include/zot.php:3725 +msgid "invalid target signature" +msgstr "signature de la cible invalide" -#: ../../include/features.php:89 -msgid "Show channel suggestions" -msgstr "Montrer les suggestions de canaux" +#: ../../include/channel.php:33 +msgid "Unable to obtain identity information from database" +msgstr "Impossible d'obtenir les données d'identité depuis la base de données" -#: ../../include/features.php:94 -msgid "Post/Comment Tools" -msgstr "Gérer les publications/commentaires" +#: ../../include/channel.php:67 +msgid "Empty name" +msgstr "Nom vide" -#: ../../include/features.php:95 -msgid "Community Tagging" -msgstr "Etiquetage communautaire" +#: ../../include/channel.php:70 +msgid "Name too long" +msgstr "Nom trop long" -#: ../../include/features.php:95 -msgid "Ability to tag existing posts" -msgstr "Permettre de marquer les publications existantes" +#: ../../include/channel.php:181 +msgid "No account identifier" +msgstr "Pas d'identifiant de compte" -#: ../../include/features.php:96 -msgid "Post Categories" -msgstr "Catégoriser les publications" +#: ../../include/channel.php:193 +msgid "Nickname is required." +msgstr "Un surnom est requis." -#: ../../include/features.php:96 -msgid "Add categories to your posts" -msgstr "Ajouter des catégories à vos publications" +#: ../../include/channel.php:207 +msgid "Reserved nickname. Please choose another." +msgstr "Surnom réservé. Merci d'en choisir un autre." -#: ../../include/features.php:97 -msgid "Emoji Reactions" -msgstr "" +#: ../../include/channel.php:212 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "Le surnom contient des caractères interdits ou est déjà pris sur ce site." -#: ../../include/features.php:97 -msgid "Add emoji reaction ability to posts" -msgstr "" +#: ../../include/channel.php:272 +msgid "Unable to retrieve created identity" +msgstr "Impossible de récupérer l'identité créée" -#: ../../include/features.php:98 -msgid "Ability to file posts under folders" -msgstr "Permettre de classer les publications dans des dossiers" +#: ../../include/channel.php:344 +msgid "Default Profile" +msgstr "Profil par défaut" -#: ../../include/features.php:99 -msgid "Dislike Posts" -msgstr "\"Ne pas aimer\" les publications" +#: ../../include/channel.php:1045 +msgid "Create New Profile" +msgstr "Créer un nouveau profil" -#: ../../include/features.php:99 -msgid "Ability to dislike posts/comments" -msgstr "Possibilité de \"ne pas aimer\" les publications/commentaires" +#: ../../include/channel.php:1065 +msgid "Visible to everybody" +msgstr "Visible de tous" -#: ../../include/features.php:100 -msgid "Star Posts" -msgstr "Pouvoir mettre en avant les publications" +#: ../../include/channel.php:1138 ../../include/channel.php:1257 +msgid "Gender:" +msgstr "Sexe :" -#: ../../include/features.php:100 -msgid "Ability to mark special posts with a star indicator" -msgstr "Pouvoir marquer certaines publications d'une étoile" +#: ../../include/channel.php:1140 ../../include/channel.php:1312 +msgid "Homepage:" +msgstr "Site Internet :" -#: ../../include/features.php:101 -msgid "Tag Cloud" -msgstr "Nuage de tags" +#: ../../include/channel.php:1141 +msgid "Online Now" +msgstr "Connecté" -#: ../../include/features.php:101 -msgid "Provide a personal tag cloud on your channel page" -msgstr "Afficher un nuage de vos tags sur votre canal" +#: ../../include/channel.php:1262 +msgid "Like this channel" +msgstr "J'aime ce canal" -#: ../../include/oembed.php:324 -msgid "Embedded content" -msgstr "Contenu imbriqué" +#: ../../include/channel.php:1286 +msgid "j F, Y" +msgstr "j F, Y" -#: ../../include/oembed.php:333 -msgid "Embedding disabled" -msgstr "Imbrication désactivée" +#: ../../include/channel.php:1287 +msgid "j F" +msgstr "j F" -#: ../../include/acl_selectors.php:271 -msgid "Who can see this?" -msgstr "" +#: ../../include/channel.php:1294 +msgid "Birthday:" +msgstr "Date de naissance :" -#: ../../include/acl_selectors.php:272 -msgid "Custom selection" -msgstr "" +#: ../../include/channel.php:1307 +#, php-format +msgid "for %1$d %2$s" +msgstr "depuis %1$d %2$s" -#: ../../include/acl_selectors.php:273 -msgid "" -"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit" -" the scope of \"Show\"." -msgstr "" +#: ../../include/channel.php:1310 +msgid "Sexual Preference:" +msgstr "Orientation sexuelle :" -#: ../../include/acl_selectors.php:274 -msgid "Show" -msgstr "Montrer" +#: ../../include/channel.php:1316 +msgid "Tags:" +msgstr "Étiquettes :" -#: ../../include/acl_selectors.php:275 -msgid "Don't show" -msgstr "Cacher" +#: ../../include/channel.php:1318 +msgid "Political Views:" +msgstr "Opinions politiques :" -#: ../../include/acl_selectors.php:281 -msgid "Other networks and post services" -msgstr "Autres réseaux et services de messagerie" +#: ../../include/channel.php:1320 +msgid "Religion:" +msgstr "Religion :" -#: ../../include/acl_selectors.php:311 -#, php-format -msgid "" -"Post permissions %s cannot be changed %s after a post is shared.</br />These" -" permissions set who is allowed to view the post." -msgstr "" +#: ../../include/channel.php:1324 +msgid "Hobbies/Interests:" +msgstr "Occupations/Centres d'intérêt :" -#: ../../include/auth.php:105 -msgid "Logged out." -msgstr "Deconnecté." +#: ../../include/channel.php:1326 +msgid "Likes:" +msgstr "Aime :" -#: ../../include/auth.php:212 -msgid "Failed authentication" -msgstr "Échec de l'authentification" +#: ../../include/channel.php:1328 +msgid "Dislikes:" +msgstr "N'aime pas :" -#: ../../include/datetime.php:135 -msgid "Birthday" -msgstr "Anniversaire" +#: ../../include/channel.php:1330 +msgid "Contact information and Social Networks:" +msgstr "Coordonnées et réseaux sociaux :" -#: ../../include/datetime.php:137 -msgid "Age: " -msgstr "Age :" +#: ../../include/channel.php:1332 +msgid "My other channels:" +msgstr "Mes autres canaux :" -#: ../../include/datetime.php:139 -msgid "YYYY-MM-DD or MM-DD" -msgstr "AAAA-MM-JJ ou MM-JJ" +#: ../../include/channel.php:1334 +msgid "Musical interests:" +msgstr "Goûts musicaux :" -#: ../../include/datetime.php:272 ../../boot.php:2470 -msgid "never" -msgstr "jamais" +#: ../../include/channel.php:1336 +msgid "Books, literature:" +msgstr "Lectures, goûts littéraires :" -#: ../../include/datetime.php:278 -msgid "less than a second ago" -msgstr "à l'instant" +#: ../../include/channel.php:1338 +msgid "Television:" +msgstr "Télévision :" -#: ../../include/datetime.php:296 -#, php-format -msgctxt "e.g. 22 hours ago, 1 minute ago" -msgid "%1$d %2$s ago" -msgstr "il y a %1$d %2$s" +#: ../../include/channel.php:1340 +msgid "Film/dance/culture/entertainment:" +msgstr "Cinéma/danse/culture/divertissement&nsbp;:" -#: ../../include/datetime.php:307 -msgctxt "relative_date" -msgid "year" -msgid_plural "years" -msgstr[0] "an" -msgstr[1] "ans" +#: ../../include/channel.php:1342 +msgid "Love/Romance:" +msgstr "Vie sentimentale/amoureuse :" -#: ../../include/datetime.php:310 -msgctxt "relative_date" -msgid "month" -msgid_plural "months" -msgstr[0] "mois" -msgstr[1] "mois" +#: ../../include/channel.php:1344 +msgid "Work/employment:" +msgstr "Travail/Occupation " -#: ../../include/datetime.php:313 -msgctxt "relative_date" -msgid "week" -msgid_plural "weeks" -msgstr[0] "semaine" -msgstr[1] "semaines" +#: ../../include/channel.php:1346 +msgid "School/education:" +msgstr "Études " -#: ../../include/datetime.php:316 -msgctxt "relative_date" -msgid "day" -msgid_plural "days" -msgstr[0] "jour" -msgstr[1] "jours" +#: ../../include/channel.php:1369 +msgid "Like this thing" +msgstr "J'aime ceci" -#: ../../include/datetime.php:319 -msgctxt "relative_date" -msgid "hour" -msgid_plural "hours" -msgstr[0] "heure" -msgstr[1] "heures" +#: ../../include/page_widgets.php:7 +msgid "New Page" +msgstr "Nouvelle page" -#: ../../include/datetime.php:322 -msgctxt "relative_date" -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minute" -msgstr[1] "minutes" +#: ../../include/contact_widgets.php:11 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "%d invitation disponible" +msgstr[1] "%d invitations disponibles" -#: ../../include/datetime.php:325 -msgctxt "relative_date" -msgid "second" -msgid_plural "seconds" -msgstr[0] "seconde" -msgstr[1] "secondes" +#: ../../include/contact_widgets.php:19 +msgid "Find Channels" +msgstr "Trouver des canaux" -#: ../../include/datetime.php:562 -#, php-format -msgid "%1$s's birthday" -msgstr "Anniversaire de %1$s" +#: ../../include/contact_widgets.php:20 +msgid "Enter name or interest" +msgstr "Saisir nom ou centre d'intérêt" -#: ../../include/datetime.php:563 -#, php-format -msgid "Happy Birthday %1$s" -msgstr "Joyeux Anniversaire %1$s" +#: ../../include/contact_widgets.php:21 +msgid "Connect/Follow" +msgstr "Ajouter/Suivre" -#: ../../include/group.php:26 -msgid "" -"A deleted group with this name was revived. Existing item permissions " -"<strong>may</strong> apply to this group and any future members. If this is " -"not what you intended, please create another group with a different name." -msgstr "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent." +#: ../../include/contact_widgets.php:22 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "Exemples: Guillaume Martin, Course à pieds" -#: ../../include/group.php:248 -msgid "Add new connections to this privacy group" -msgstr "Ajouter de nouveaux contacts à ce groupe d'accès" +#: ../../include/contact_widgets.php:26 +msgid "Random Profile" +msgstr "Un profil au hasard" -#: ../../include/group.php:289 -msgid "edit" -msgstr "modifier" +#: ../../include/contact_widgets.php:27 +msgid "Invite Friends" +msgstr "Inviter des amis" -#: ../../include/group.php:312 -msgid "Edit group" -msgstr "Modifier le groupe" +#: ../../include/contact_widgets.php:29 +msgid "Advanced example: name=fred and country=iceland" +msgstr "Exemple avancé : name=fred and country=iceland" -#: ../../include/group.php:313 -msgid "Add privacy group" -msgstr "Ajouter un groupe d'accès" +#: ../../include/contact_widgets.php:122 +#, php-format +msgid "%d connection in common" +msgid_plural "%d connections in common" +msgstr[0] "%d contact en commun" +msgstr[1] "%d contacts en commun" -#: ../../include/group.php:314 -msgid "Channels not in any privacy group" -msgstr "Canaux n'étant dans aucun groupe d'accès" +#: ../../include/contact_widgets.php:127 +msgid "show more" +msgstr "montrer plus" #: ../../include/js_strings.php:5 msgid "Delete this item?" msgstr "Supprimer cet élément?" #: ../../include/js_strings.php:8 -msgid "[-] show less" -msgstr "[-] montrer moins" +#, php-format +msgid "%s show less" +msgstr "%s afficher moins" #: ../../include/js_strings.php:9 -msgid "[+] expand" -msgstr "[+] déplier" +#, php-format +msgid "%s expand" +msgstr "%s dérouler" #: ../../include/js_strings.php:10 -msgid "[-] collapse" -msgstr "[-] replier" +#, php-format +msgid "%s collapse" +msgstr "%s enrouler" #: ../../include/js_strings.php:11 msgid "Password too short" @@ -9246,17 +12185,61 @@ msgstr "%d années" #: ../../include/js_strings.php:42 msgid " " -msgstr "" +msgstr " " #: ../../include/js_strings.php:43 msgid "timeago.numbers" msgstr "timeago.numbers" +#: ../../include/js_strings.php:45 ../../include/text.php:1325 +msgid "January" +msgstr "Janvier" + +#: ../../include/js_strings.php:46 ../../include/text.php:1325 +msgid "February" +msgstr "Février" + +#: ../../include/js_strings.php:47 ../../include/text.php:1325 +msgid "March" +msgstr "Mars" + +#: ../../include/js_strings.php:48 ../../include/text.php:1325 +msgid "April" +msgstr "Avril" + #: ../../include/js_strings.php:49 msgctxt "long" msgid "May" msgstr "Mai" +#: ../../include/js_strings.php:50 ../../include/text.php:1325 +msgid "June" +msgstr "Juin" + +#: ../../include/js_strings.php:51 ../../include/text.php:1325 +msgid "July" +msgstr "Juillet" + +#: ../../include/js_strings.php:52 ../../include/text.php:1325 +msgid "August" +msgstr "Août" + +#: ../../include/js_strings.php:53 ../../include/text.php:1325 +msgid "September" +msgstr "Septembre" + +#: ../../include/js_strings.php:54 ../../include/text.php:1325 +msgid "October" +msgstr "Octobre" + +#: ../../include/js_strings.php:55 ../../include/text.php:1325 +msgid "November" +msgstr "Novembre" + +#: ../../include/js_strings.php:56 ../../include/text.php:1325 +msgid "December" +msgstr "Décembre" + #: ../../include/js_strings.php:57 msgid "Jan" msgstr "Jan" @@ -9306,6 +12289,34 @@ msgstr "Nov" msgid "Dec" msgstr "Dec" +#: ../../include/js_strings.php:69 ../../include/text.php:1321 +msgid "Sunday" +msgstr "Dimanche" + +#: ../../include/js_strings.php:70 ../../include/text.php:1321 +msgid "Monday" +msgstr "Lundi" + +#: ../../include/js_strings.php:71 ../../include/text.php:1321 +msgid "Tuesday" +msgstr "Mardi" + +#: ../../include/js_strings.php:72 ../../include/text.php:1321 +msgid "Wednesday" +msgstr "Mercredi" + +#: ../../include/js_strings.php:73 ../../include/text.php:1321 +msgid "Thursday" +msgstr "Jeudi" + +#: ../../include/js_strings.php:74 ../../include/text.php:1321 +msgid "Friday" +msgstr "Vendredi" + +#: ../../include/js_strings.php:75 ../../include/text.php:1321 +msgid "Saturday" +msgstr "Samedi" + #: ../../include/js_strings.php:76 msgid "Sun" msgstr "Dim" @@ -9359,470 +12370,1370 @@ msgctxt "calendar" msgid "All day" msgstr "Toute la journée" -#: ../../include/network.php:657 +#: ../../include/dir_fns.php:141 +msgid "Directory Options" +msgstr "Options d'annuaire" + +#: ../../include/dir_fns.php:143 +msgid "Safe Mode" +msgstr "Mode sûr" + +#: ../../include/dir_fns.php:144 +msgid "Public Forums Only" +msgstr "Les forums publics uniquement" + +#: ../../include/dir_fns.php:145 +msgid "This Website Only" +msgstr "Ce site uniquement" + +#: ../../include/attach.php:250 ../../include/attach.php:338 +msgid "Item was not found." +msgstr "Élément introuvable." + +#: ../../include/attach.php:499 +msgid "No source file." +msgstr "Pas de fichier source." + +#: ../../include/attach.php:521 +msgid "Cannot locate file to replace" +msgstr "Impossible de trouver le fichier à remplacer." + +#: ../../include/attach.php:539 +msgid "Cannot locate file to revise/update" +msgstr "Impossible de trouver le fichier à corriger/mettre à jour" + +#: ../../include/attach.php:670 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "Le fichier dépasse la taille limite de %d" + +#: ../../include/attach.php:684 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes." + +#: ../../include/attach.php:854 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "Envoi du fichier impossible. Limite système ou action avortée." + +#: ../../include/attach.php:867 +msgid "Stored file could not be verified. Upload failed." +msgstr "Le fichier stocké n'a pu être vérifié. Echec de l'envoi." + +#: ../../include/attach.php:922 ../../include/attach.php:938 +msgid "Path not available." +msgstr "Chemin non disponible." + +#: ../../include/attach.php:984 ../../include/attach.php:1142 +msgid "Empty pathname" +msgstr "Chemin vide" + +#: ../../include/attach.php:1010 +msgid "duplicate filename or path" +msgstr "doublon de chemin ou de fichier" + +#: ../../include/attach.php:1032 +msgid "Path not found." +msgstr "Chemin introuvable." + +#: ../../include/attach.php:1096 +msgid "mkdir failed." +msgstr "mkdir a échoué." + +#: ../../include/attach.php:1100 +msgid "database storage failed." +msgstr "l'écriture dans la base de données a échoué." + +#: ../../include/attach.php:1148 +msgid "Empty path" +msgstr "Chemin vide" + +#: ../../include/network.php:733 msgid "view full size" msgstr "voir en taille réelle" -#: ../../include/network.php:1885 +#: ../../include/network.php:1988 msgid "No Subject" msgstr "Pas d'objet" -#: ../../include/network.php:2146 ../../include/network.php:2147 -msgid "Friendica" -msgstr "Friendica" - -#: ../../include/network.php:2148 +#: ../../include/network.php:2244 msgid "OStatus" msgstr "OStatus" -#: ../../include/network.php:2149 +#: ../../include/network.php:2245 msgid "GNU-Social" -msgstr "" +msgstr "GNU-Social" -#: ../../include/network.php:2150 +#: ../../include/network.php:2246 msgid "RSS/Atom" msgstr "RSS/Atom" -#: ../../include/network.php:2152 -msgid "Diaspora" -msgstr "Diaspora" - -#: ../../include/network.php:2153 +#: ../../include/network.php:2249 msgid "Facebook" msgstr "Facebook" -#: ../../include/network.php:2154 +#: ../../include/network.php:2250 msgid "Zot" msgstr "Zot" -#: ../../include/network.php:2155 +#: ../../include/network.php:2251 msgid "LinkedIn" msgstr "Linkedin" -#: ../../include/network.php:2156 +#: ../../include/network.php:2252 msgid "XMPP/IM" msgstr "XMPP/IM" -#: ../../include/network.php:2157 +#: ../../include/network.php:2253 msgid "MySpace" msgstr "MySpace" -#: ../../include/photos.php:110 +#: ../../include/oembed.php:308 +msgid " by " +msgstr "par" + +#: ../../include/oembed.php:309 +msgid " on " +msgstr "sur" + +#: ../../include/oembed.php:338 +msgid "Embedded content" +msgstr "Contenu imbriqué" + +#: ../../include/oembed.php:347 +msgid "Embedding disabled" +msgstr "Imbrication désactivée" + +#: ../../include/photos.php:115 #, php-format msgid "Image exceeds website size limit of %lu bytes" msgstr "L'image dépasse la taille limite de %lu octets" -#: ../../include/photos.php:117 +#: ../../include/photos.php:122 msgid "Image file is empty." msgstr "L'image est vide." -#: ../../include/photos.php:255 +#: ../../include/photos.php:260 msgid "Photo storage failed." msgstr "Le stockage de l'image a échoué." -#: ../../include/photos.php:295 +#: ../../include/photos.php:300 msgid "a new photo" msgstr "une nouvelle photo" -#: ../../include/photos.php:299 +#: ../../include/photos.php:304 #, php-format msgctxt "photo_upload" msgid "%1$s posted %2$s to %3$s" msgstr "%1$s a publié %2$s pour %3$s" -#: ../../include/photos.php:506 +#: ../../include/photos.php:519 msgid "Upload New Photos" msgstr "Ajouter des photos" -#: ../../include/zot.php:699 -msgid "Invalid data packet" -msgstr "Paquet de données invalide" +#: ../../include/text.php:460 +msgid "prev" +msgstr "préc." -#: ../../include/zot.php:715 -msgid "Unable to verify channel signature" -msgstr "Impossible de vérifier la signature du canal" +#: ../../include/text.php:462 +msgid "first" +msgstr "premier" + +#: ../../include/text.php:491 +msgid "last" +msgstr "dernier" + +#: ../../include/text.php:494 +msgid "next" +msgstr "Suivant" + +#: ../../include/text.php:505 +msgid "older" +msgstr "plus ancien" + +#: ../../include/text.php:507 +msgid "newer" +msgstr "plus récent" + +#: ../../include/text.php:922 +msgid "No connections" +msgstr "Pas de relations." -#: ../../include/zot.php:2363 +#: ../../include/text.php:947 #, php-format -msgid "Unable to verify site signature for %s" -msgstr "Impossible de vérifier la signature de site pour %s" +msgid "View all %s connections" +msgstr "Voir les %s contacts" -#: ../../include/zot.php:3712 -msgid "invalid target signature" -msgstr "signature de la cible invalide" +#: ../../include/text.php:1092 ../../include/text.php:1097 +msgid "poke" +msgstr "tapoter" -#: ../../include/page_widgets.php:6 -msgid "New Page" -msgstr "Nouvelle page" +#: ../../include/text.php:1098 +msgid "ping" +msgstr "ping" -#: ../../include/page_widgets.php:43 -msgid "Title" -msgstr "Titre" +#: ../../include/text.php:1098 +msgid "pinged" +msgstr "pingé" -#: ../../include/permissions.php:26 -msgid "Can view my normal stream and posts" -msgstr "Peut voir les publications ordinaires sur mon canal." +#: ../../include/text.php:1099 +msgid "prod" +msgstr "encourager" -#: ../../include/permissions.php:27 -msgid "Can view my default channel profile" -msgstr "Peut voir le profil du canal par défaut." +#: ../../include/text.php:1099 +msgid "prodded" +msgstr "encouragé" -#: ../../include/permissions.php:28 -msgid "Can view my connections" -msgstr "Peut voir mes contacts" +#: ../../include/text.php:1100 +msgid "slap" +msgstr "giffler" -#: ../../include/permissions.php:29 -msgid "Can view my file storage and photos" -msgstr "Peut voir mes fichiers et photos" +#: ../../include/text.php:1100 +msgid "slapped" +msgstr "gifflé(e)" -#: ../../include/permissions.php:30 -msgid "Can view my webpages" -msgstr "Peut voir mes pages web" +#: ../../include/text.php:1101 +msgid "finger" +msgstr "pointer" -#: ../../include/permissions.php:33 -msgid "Can send me their channel stream and posts" -msgstr "Peuvent m'envoyer leur flux et les publications de leur canal" +#: ../../include/text.php:1101 +msgid "fingered" +msgstr "pointé" -#: ../../include/permissions.php:34 -msgid "Can post on my channel page (\"wall\")" -msgstr "Peuvent poster sur la page de mon canal (\"mur\")" +#: ../../include/text.php:1102 +msgid "rebuff" +msgstr "rejetter" + +#: ../../include/text.php:1102 +msgid "rebuffed" +msgstr "rejeté" + +#: ../../include/text.php:1114 +msgid "happy" +msgstr "heureux" + +#: ../../include/text.php:1115 +msgid "sad" +msgstr "triste" + +#: ../../include/text.php:1116 +msgid "mellow" +msgstr "mélancolique" + +#: ../../include/text.php:1117 +msgid "tired" +msgstr "fatigué" + +#: ../../include/text.php:1118 +msgid "perky" +msgstr "impertinent" + +#: ../../include/text.php:1119 +msgid "angry" +msgstr "en colère" + +#: ../../include/text.php:1120 +msgid "stupefied" +msgstr "stupéfait" + +#: ../../include/text.php:1121 +msgid "puzzled" +msgstr "perplexe" + +#: ../../include/text.php:1122 +msgid "interested" +msgstr "intéressé" + +#: ../../include/text.php:1123 +msgid "bitter" +msgstr "amer" + +#: ../../include/text.php:1124 +msgid "cheerful" +msgstr "plein d'entrain" + +#: ../../include/text.php:1125 +msgid "alive" +msgstr "vivant" + +#: ../../include/text.php:1126 +msgid "annoyed" +msgstr "agaçé" + +#: ../../include/text.php:1127 +msgid "anxious" +msgstr "anxieux" + +#: ../../include/text.php:1128 +msgid "cranky" +msgstr "énervé" + +#: ../../include/text.php:1129 +msgid "disturbed" +msgstr "perturbé" + +#: ../../include/text.php:1130 +msgid "frustrated" +msgstr "frustré" + +#: ../../include/text.php:1131 +msgid "depressed" +msgstr "déprimé" + +#: ../../include/text.php:1132 +msgid "motivated" +msgstr "motivé" + +#: ../../include/text.php:1133 +msgid "relaxed" +msgstr "détendu" + +#: ../../include/text.php:1134 +msgid "surprised" +msgstr "surpris" + +#: ../../include/text.php:1325 +msgid "May" +msgstr "Mai" + +#: ../../include/text.php:1402 ../../include/text.php:1406 +msgid "Unknown Attachment" +msgstr "Pièce jointe inconnue" + +#: ../../include/text.php:1408 +msgid "unknown" +msgstr "Inconnu" + +#: ../../include/text.php:1444 +msgid "remove category" +msgstr "supprimer la catégorie" + +#: ../../include/text.php:1521 +msgid "remove from file" +msgstr "retirer du fichier" + +#: ../../include/text.php:1791 +msgid "Page layout" +msgstr "Mise en page" + +#: ../../include/text.php:1791 +msgid "You can create your own with the layouts tool" +msgstr "Créez les vôtres avec les outils de mise en page" + +#: ../../include/text.php:1833 +msgid "Page content type" +msgstr "Type de contenu de la page" + +#: ../../include/text.php:1966 +msgid "activity" +msgstr "activité" + +#: ../../include/text.php:2280 +msgid "Design Tools" +msgstr "Outils de conception" + +#: ../../include/text.php:2286 +msgid "Pages" +msgstr "Pages" + +#: ../../include/text.php:2308 +msgid "Import website..." +msgstr "Importer le site web…" + +#: ../../include/text.php:2309 +msgid "Select folder to import" +msgstr "Sélectionner le dossier à importer" + +#: ../../include/text.php:2310 +msgid "Import from a zipped folder:" +msgstr "Importer à partir d'un dossier zippé :" + +#: ../../include/text.php:2311 +msgid "Import from cloud files:" +msgstr "Importer à partir de fichiers dans le cloud :" + +#: ../../include/text.php:2312 +msgid "/cloud/channel/path/to/folder" +msgstr "/cloud/channel/chemain/du/repertoire" + +#: ../../include/text.php:2313 +msgid "Enter path to website files" +msgstr "Entrer le chemin vers les fichiers du site web" + +#: ../../include/text.php:2314 +msgid "Select folder" +msgstr "Sélectionner un répertoire" + +#: ../../include/text.php:2315 +msgid "Export website..." +msgstr "Exporter le site web…" + +#: ../../include/text.php:2316 +msgid "Export to a zip file" +msgstr "Exporter dans un fichier zip" + +#: ../../include/text.php:2317 +msgid "website.zip" +msgstr "website.zip" + +#: ../../include/text.php:2318 +msgid "Enter a name for the zip file." +msgstr "Entrer un nom pour le fichier zip." + +#: ../../include/text.php:2319 +msgid "Export to cloud files" +msgstr "Exporter dans des fichiers sur le cloud" + +#: ../../include/text.php:2320 +msgid "/path/to/export/folder" +msgstr "/chemin/vers/le/dossier/d'export" + +#: ../../include/text.php:2321 +msgid "Enter a path to a cloud files destination." +msgstr "Entrer le chemin vers le cloud de fichiers" + +#: ../../include/text.php:2322 +msgid "Specify folder" +msgstr "Spécifier un répertoire" + +#: ../../include/nav.php:88 +msgid "Remote authentication" +msgstr "Authentification distante" + +#: ../../include/nav.php:88 +msgid "Click to authenticate to your home hub" +msgstr "S'authentifier auprès de votre hub principal" + +#: ../../include/nav.php:99 ../../include/nav.php:140 ../../boot.php:1731 +msgid "Logout" +msgstr "Déconnexion" + +#: ../../include/nav.php:99 ../../include/nav.php:140 +msgid "End this session" +msgstr "Mettre fin à la session" + +#: ../../include/nav.php:103 +msgid "Your profile page" +msgstr "Votre profil" + +#: ../../include/nav.php:105 +msgid "Manage/Edit profiles" +msgstr "Gérer/modifier vos profils" + +#: ../../include/nav.php:107 +msgid "Edit your profile" +msgstr "Modifier votre profil" + +#: ../../include/nav.php:130 +msgid "Sign in" +msgstr "Connexion" + +#: ../../include/nav.php:155 +msgid "Get me home" +msgstr "Rentrer chez moi" + +#: ../../include/nav.php:157 +msgid "Log me out of this site" +msgstr "Déconnectez-moi de ce site" + +#: ../../include/nav.php:162 +msgid "Create an account" +msgstr "Créer un compte" + +#: ../../include/nav.php:174 +msgid "Help and documentation" +msgstr "Aide et documentation" + +#: ../../include/nav.php:178 +msgid "Applications, utilities, links, games" +msgstr "Applications, utilitaires, liens, jeux" + +#: ../../include/nav.php:180 +msgid "Search site @name, #tag, ?docs, content" +msgstr "Recherche @nom, #tag, contenu" + +#: ../../include/nav.php:182 +msgid "Channel Directory" +msgstr "Annuaire des canaux" + +#: ../../include/nav.php:194 +msgid "Your grid" +msgstr "Votre réseau" + +#: ../../include/nav.php:195 +msgid "View your network/grid" +msgstr "Voir votre réseau" + +#: ../../include/nav.php:196 +msgid "Mark all grid notifications seen" +msgstr "Marquer toutes les notifications du réseau comme vues" + +#: ../../include/nav.php:198 +msgid "Channel home" +msgstr "Mon canal" + +#: ../../include/nav.php:199 +msgid "View your channel home" +msgstr "Voir la page d'accueil de votre canal" + +#: ../../include/nav.php:200 +msgid "Mark all channel notifications seen" +msgstr "Marquer toutes les notifications du canal comme vues" + +#: ../../include/nav.php:206 +msgid "Notices" +msgstr "Notifications" + +#: ../../include/nav.php:206 +msgid "Notifications" +msgstr "Notifications" + +#: ../../include/nav.php:207 +msgid "View all notifications" +msgstr "Voir toutes les notifications" + +#: ../../include/nav.php:210 +msgid "Private mail" +msgstr "Messages privés" + +#: ../../include/nav.php:211 +msgid "View your private messages" +msgstr "Voir vos messages privés" + +#: ../../include/nav.php:212 +msgid "Mark all private messages seen" +msgstr "Marquer tous les messages privés comme vus" + +#: ../../include/nav.php:218 +msgid "Event Calendar" +msgstr "Calendrier des événements" + +#: ../../include/nav.php:219 +msgid "View events" +msgstr "Voir les événements" + +#: ../../include/nav.php:220 +msgid "Mark all events seen" +msgstr "Marquer tous les événements comme vus" + +#: ../../include/nav.php:223 +msgid "Manage Your Channels" +msgstr "Gérer vos canaux" + +#: ../../include/nav.php:225 +msgid "Account/Channel Settings" +msgstr "Paramètres du Compte/Canal" + +#: ../../include/nav.php:233 +msgid "Site Setup and Configuration" +msgstr "Configuration du site" + +#: ../../include/nav.php:288 +msgid "Documentation" +msgstr "Documentation" + +#: ../../include/nav.php:297 +msgid "@name, #tag, ?doc, content" +msgstr "@nom, #étiquette, ?doc, contenu" + +#: ../../include/nav.php:298 +msgid "Please wait..." +msgstr "Merci de patienter..." + +#: ../../include/import.php:30 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "L'import a échoué. Un canal existe déjà avec ce nom" + +#: ../../include/import.php:90 +msgid "Channel clone failed. Import failed." +msgstr "Echec du clonage du canal. Echec de l'impot." + +#: ../../include/import.php:100 +msgid "Cloned channel not found. Import failed." +msgstr "Canal cloné non trouvé. Echec de l'import." + +#: ../../include/import.php:1373 +msgid "Unable to import element \"" +msgstr "Impossible d'importer l'élément \"" + +#: ../../include/auth.php:148 +msgid "Logged out." +msgstr "Deconnecté." + +#: ../../include/auth.php:275 +msgid "Failed authentication" +msgstr "Échec de l'authentification" + +#: ../../include/follow.php:26 +msgid "Channel is blocked on this site." +msgstr "Ce canal est bloqué sur ce site." + +#: ../../include/follow.php:31 +msgid "Channel location missing." +msgstr "Emplacement du canal introuvable." + +#: ../../include/follow.php:73 +msgid "Response from remote channel was incomplete." +msgstr "La réponse du canal distant était incomplète." + +#: ../../include/follow.php:90 +msgid "Channel was deleted and no longer exists." +msgstr "Le canal a été supprimé et n'existe plus." + +#: ../../include/follow.php:140 ../../include/follow.php:175 +msgid "Protocol disabled." +msgstr "Protocole désactivé." + +#: ../../include/follow.php:163 +msgid "Channel discovery failed." +msgstr "La tentative d'accéder au canal a échoué." + +#: ../../include/follow.php:202 +msgid "Cannot connect to yourself." +msgstr "Ne peut pas se connecter à vous." + +#: ../../include/activities.php:41 +msgid " and " +msgstr "et" + +#: ../../include/activities.php:49 +msgid "public profile" +msgstr "profil public" + +#: ../../include/activities.php:58 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "%1$s a changé %2$s en “%3$s”" + +#: ../../include/activities.php:59 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "Visiter %2$s de %1$s" + +#: ../../include/activities.php:62 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "%1$s a mis à jour %2$s, modifiant %3$s." + +#: ../../include/bbcode.php:134 ../../include/bbcode.php:1040 +#: ../../include/bbcode.php:1043 ../../include/bbcode.php:1048 +#: ../../include/bbcode.php:1051 ../../include/bbcode.php:1054 +#: ../../include/bbcode.php:1057 ../../include/bbcode.php:1062 +#: ../../include/bbcode.php:1065 ../../include/bbcode.php:1070 +#: ../../include/bbcode.php:1073 ../../include/bbcode.php:1076 +#: ../../include/bbcode.php:1079 +msgid "Image/photo" +msgstr "Image/photo" + +#: ../../include/bbcode.php:173 ../../include/bbcode.php:1090 +msgid "Encrypted content" +msgstr "Contenu chiffré" + +#: ../../include/bbcode.php:189 +#, php-format +msgid "Install %s element: " +msgstr "Installer %s élément" + +#: ../../include/bbcode.php:193 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." +msgstr "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site." + +#: ../../include/bbcode.php:272 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" +msgstr "%1$s a écrit %2$s qui suit %3$s" + +#: ../../include/bbcode.php:349 ../../include/bbcode.php:357 +msgid "Click to open/close" +msgstr "Cliquer pour ouvrir/fermer" + +#: ../../include/bbcode.php:357 +msgid "spoiler" +msgstr "spoiler" + +#: ../../include/bbcode.php:1028 +msgid "$1 wrote:" +msgstr "$1 a écrit :" + +#: ../../include/bookmarks.php:34 +#, php-format +msgid "%1$s's bookmarks" +msgstr "Favoris de %1$s" + +#: ../../include/group.php:26 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." +msgstr "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent." + +#: ../../include/group.php:268 +msgid "Add new connections to this privacy group" +msgstr "Ajouter de nouveaux contacts à ce groupe d'accès" + +#: ../../include/group.php:309 +msgid "edit" +msgstr "modifier" + +#: ../../include/group.php:331 ../../include/features.php:292 +msgid "Privacy Groups" +msgstr "Groupes d'accès" + +#: ../../include/group.php:332 +msgid "Edit group" +msgstr "Modifier le groupe" + +#: ../../include/group.php:333 +msgid "Add privacy group" +msgstr "Ajouter un groupe d'accès" + +#: ../../include/group.php:334 +msgid "Channels not in any privacy group" +msgstr "Canaux n'étant dans aucun groupe d'accès" + +#: ../../include/event.php:863 +msgid "This event has been added to your calendar." +msgstr "Cet évènement a été ajouté dans votre calendrier." + +#: ../../include/event.php:1063 +msgid "Not specified" +msgstr "Non spécifié" + +#: ../../include/event.php:1064 +msgid "Needs Action" +msgstr "Besoin d'une action" + +#: ../../include/event.php:1065 +msgid "Completed" +msgstr "Terminé" + +#: ../../include/event.php:1066 +msgid "In Process" +msgstr "En cours" + +#: ../../include/event.php:1067 +msgid "Cancelled" +msgstr "Annulé" + +#: ../../include/items.php:841 ../../include/items.php:888 +msgid "(Unknown)" +msgstr "(Inconnu)" + +#: ../../include/items.php:1089 +msgid "Visible to anybody on the internet." +msgstr "Visible pour tout le monde sur internet." + +#: ../../include/items.php:1091 +msgid "Visible to you only." +msgstr "Visible pour vous seulement." + +#: ../../include/items.php:1093 +msgid "Visible to anybody in this network." +msgstr "Visible pour tout le monde sur ce réseau." + +#: ../../include/items.php:1095 +msgid "Visible to anybody authenticated." +msgstr "Visible aux utilisateurs authentifiés." + +#: ../../include/items.php:1097 +#, php-format +msgid "Visible to anybody on %s." +msgstr "Visible pour tous sur %s." + +#: ../../include/items.php:1099 +msgid "Visible to all connections." +msgstr "Visible pour tous les contacts." + +#: ../../include/items.php:1101 +msgid "Visible to approved connections." +msgstr "Visible aux contacts approuvés." + +#: ../../include/items.php:1103 +msgid "Visible to specific connections." +msgstr "Visible pour certains contacts." + +#: ../../include/items.php:3915 +msgid "Privacy group is empty." +msgstr "Groupe d'accès vide." + +#: ../../include/items.php:3922 +#, php-format +msgid "Privacy group: %s" +msgstr "Groupe d'accès : %s" + +#: ../../include/items.php:3934 +msgid "Connection not found." +msgstr "Contact non trouvé." + +#: ../../include/items.php:4283 +msgid "profile photo" +msgstr "photo de profil" + +#: ../../include/items.php:4479 +#, php-format +msgid "[Edited %s]" +msgstr "[%s édité]" + +#: ../../include/items.php:4479 +msgctxt "edit_activity" +msgid "Post" +msgstr "Publier" + +#: ../../include/items.php:4479 +msgctxt "edit_activity" +msgid "Comment" +msgstr "Commenter" #: ../../include/permissions.php:35 -msgid "Can comment on or like my posts" -msgstr "Peuvent commenter et/ou aimer mes publications" +msgid "Can view my normal stream and posts" +msgstr "Peut voir les publications ordinaires sur mon canal." -#: ../../include/permissions.php:36 -msgid "Can send me private mail messages" -msgstr "Peuvent m'envoyer des messages privés" +#: ../../include/permissions.php:39 +msgid "Can view my webpages" +msgstr "Peut voir mes pages web" -#: ../../include/permissions.php:37 +#: ../../include/permissions.php:43 +msgid "Can post on my channel page (\"wall\")" +msgstr "Peuvent poster sur la page de mon canal (\"mur\")" + +#: ../../include/permissions.php:46 msgid "Can like/dislike stuff" msgstr "Peuvent aimer/ne pas aimer" -#: ../../include/permissions.php:37 +#: ../../include/permissions.php:46 msgid "Profiles and things other than posts/comments" msgstr "Profils et autres excluant les publications/commentaires." -#: ../../include/permissions.php:39 +#: ../../include/permissions.php:48 msgid "Can forward to all my channel contacts via post @mentions" msgstr "Peut faire suivre à tous les contacts de mon canal via \"@mention\"" -#: ../../include/permissions.php:39 +#: ../../include/permissions.php:48 msgid "Advanced - useful for creating group forum channels" msgstr "Avancé - utile pour les canaux de type \"forum/groupe\"" -#: ../../include/permissions.php:40 +#: ../../include/permissions.php:49 msgid "Can chat with me (when available)" msgstr "Peut discuter avec moi (quand disponibie)" -#: ../../include/permissions.php:41 +#: ../../include/permissions.php:50 msgid "Can write to my file storage and photos" msgstr "Peut charger des fichiers et des photos dans mon canal" -#: ../../include/permissions.php:42 +#: ../../include/permissions.php:51 msgid "Can edit my webpages" msgstr "Peut modifier mes pages web" -#: ../../include/permissions.php:44 -msgid "Can source my public posts in derived channels" -msgstr "Peut rediriger mes publications publiques vers des canaux dérivés" - -#: ../../include/permissions.php:44 +#: ../../include/permissions.php:53 msgid "Somewhat advanced - very useful in open communities" msgstr "Plutôt avancé - très utile dans les communautés ouvertes" -#: ../../include/permissions.php:46 +#: ../../include/permissions.php:55 msgid "Can administer my channel resources" msgstr "Peut administrer les ressources de mon canal" -#: ../../include/permissions.php:46 +#: ../../include/permissions.php:55 msgid "" "Extremely advanced. Leave this alone unless you know what you are doing" msgstr "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes" -#: ../../include/permissions.php:877 -msgid "Social Networking" -msgstr "Réseau social" +#: ../../include/features.php:58 +msgid "General Features" +msgstr "Fonctionnalités générales" -#: ../../include/permissions.php:877 -msgid "Social - Mostly Public" -msgstr "Social - surtout public" +#: ../../include/features.php:63 +msgid "Multiple Profiles" +msgstr "Profils multiples" -#: ../../include/permissions.php:877 -msgid "Social - Restricted" -msgstr "Social - restreint" +#: ../../include/features.php:64 +msgid "Ability to create multiple profiles" +msgstr "Possibilité de créer plusieurs profils" -#: ../../include/permissions.php:877 -msgid "Social - Private" -msgstr "Social - privé" +#: ../../include/features.php:72 +msgid "Advanced Profiles" +msgstr "Profils Avancés" -#: ../../include/permissions.php:878 -msgid "Community Forum" -msgstr "Forum communautaire" +#: ../../include/features.php:73 +msgid "Additional profile sections and selections" +msgstr "Sections et sélections supplémentaires du profil" -#: ../../include/permissions.php:878 -msgid "Forum - Mostly Public" -msgstr "Forum - surtout public" +#: ../../include/features.php:81 +msgid "Profile Import/Export" +msgstr "Importer/Exporter le profil" -#: ../../include/permissions.php:878 -msgid "Forum - Restricted" -msgstr "Forum - restreint" +#: ../../include/features.php:82 +msgid "Save and load profile details across sites/channels" +msgstr "Sauvegarder et charger les détails d'un profil entre sites/canaux" -#: ../../include/permissions.php:878 -msgid "Forum - Private" -msgstr "Forum - privé" +#: ../../include/features.php:90 +msgid "Web Pages" +msgstr "Pages web" -#: ../../include/permissions.php:879 -msgid "Feed Republish" -msgstr "Republication de flux" +#: ../../include/features.php:91 +msgid "Provide managed web pages on your channel" +msgstr "Fournir des pages web, sous votre contrôle, sur votre canal" -#: ../../include/permissions.php:879 -msgid "Feed - Mostly Public" -msgstr "Flux - surtout public" +#: ../../include/features.php:100 +msgid "Provide a wiki for your channel" +msgstr "Fournir un wiki pour votre canal." -#: ../../include/permissions.php:879 -msgid "Feed - Restricted" -msgstr "Flux - restreint" +#: ../../include/features.php:117 +msgid "Private Notes" +msgstr "Notes privées" -#: ../../include/permissions.php:880 -msgid "Special Purpose" -msgstr "Utilisation spécifique" +#: ../../include/features.php:118 +msgid "Enables a tool to store notes and reminders (note: not encrypted)" +msgstr "Active un outil pour stocker des notes et des rappels (note :non chiffré)" -#: ../../include/permissions.php:880 -msgid "Special - Celebrity/Soapbox" -msgstr "Spécial - célébrité/promotion" +#: ../../include/features.php:126 +msgid "Navigation Channel Select" +msgstr "Sélection du canal par la navigation" -#: ../../include/permissions.php:880 -msgid "Special - Group Repository" -msgstr "Spécial - dépôt partagé" +#: ../../include/features.php:127 +msgid "Change channels directly from within the navigation dropdown menu" +msgstr "Changez de canal directement depuis le menu de navigation déroulant" -#: ../../include/permissions.php:881 -msgid "Custom/Expert Mode" -msgstr "Mode expert/spécifique" +#: ../../include/features.php:135 +msgid "Photo Location" +msgstr "Site de prise de vue" -#: ../../include/activities.php:41 -msgid " and " -msgstr "et" +#: ../../include/features.php:136 +msgid "If location data is available on uploaded photos, link this to a map." +msgstr "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte." -#: ../../include/activities.php:49 -msgid "public profile" -msgstr "profil public" +#: ../../include/features.php:144 +msgid "Access Controlled Chatrooms" +msgstr "Accéder au salons de discussions contrôlés." -#: ../../include/activities.php:58 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" -msgstr "%1$s a changé %2$s en “%3$s”" +#: ../../include/features.php:145 +msgid "Provide chatrooms and chat services with access control." +msgstr "Fournir des salons de discussions et des services de discussions avec contrôle d'accès." -#: ../../include/activities.php:59 -#, php-format -msgid "Visit %1$s's %2$s" -msgstr "Visiter %2$s de %1$s" +#: ../../include/features.php:154 +msgid "Provide alternate connection permission roles." +msgstr "Fournir des rôles d'autorisation différents pour ce contact." -#: ../../include/activities.php:62 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." -msgstr "%1$s a mis à jour %2$s, modifiant %3$s." +#: ../../include/features.php:162 +msgid "Smart Birthdays" +msgstr "Anniversaires intelligents" -#: ../../include/bb2diaspora.php:398 -msgid "Attachments:" -msgstr "Pièces jointes :" +#: ../../include/features.php:163 +msgid "" +"Make birthday events timezone aware in case your friends are scattered " +"across the planet." +msgstr "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents." -#: ../../include/bb2diaspora.php:487 -msgid "$Projectname event notification:" -msgstr "Notification d'événement de $Projectname :" +#: ../../include/features.php:171 +msgid "Event Timezone Selection" +msgstr "Sélection du fuseau horaire de l'événement" + +#: ../../include/features.php:172 +msgid "Allow event creation in timezones other than your own." +msgstr "Autorise la création d’événements sur d'autres fuseaux horaires que le vôtre." + +#: ../../include/features.php:180 +msgid "Advanced Directory Search" +msgstr "Recherche avancée dans les répertoires" + +#: ../../include/features.php:181 +msgid "Allows creation of complex directory search queries" +msgstr "Autoriser la création d'entrées complexes de recherche de répertoire" + +#: ../../include/features.php:189 +msgid "Advanced Theme and Layout Settings" +msgstr "Paramètres avancés du thème et de l'agencement." + +#: ../../include/features.php:190 +msgid "Allows fine tuning of themes and page layouts" +msgstr "Autoriser la personnalisation fine des thèmes et des agencements." + +#: ../../include/features.php:200 +msgid "Post Composition Features" +msgstr "Fonctionnalités de composition" + +#: ../../include/features.php:204 +msgid "Large Photos" +msgstr "Grandes photos" + +#: ../../include/features.php:205 +msgid "" +"Include large (1024px) photo thumbnails in posts. If not enabled, use small " +"(640px) photo thumbnails" +msgstr "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px)." + +#: ../../include/features.php:214 +msgid "Automatically import channel content from other channels or feeds" +msgstr "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif" + +#: ../../include/features.php:222 +msgid "Even More Encryption" +msgstr "Encore plus de chiffrement" + +#: ../../include/features.php:223 +msgid "" +"Allow optional encryption of content end-to-end with a shared secret key" +msgstr "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé" + +#: ../../include/features.php:231 +msgid "Enable Voting Tools" +msgstr "Activer les outils de vote" + +#: ../../include/features.php:232 +msgid "Provide a class of post which others can vote on" +msgstr "Fournit un type de publication sur lequel les utilisateurs peuvent voter" + +#: ../../include/features.php:240 +msgid "Disable Comments" +msgstr "Désactiver les commentaires" + +#: ../../include/features.php:241 +msgid "Provide the option to disable comments for a post" +msgstr "Fournir la possibilité de désactiver les commentaires pour une publication." + +#: ../../include/features.php:249 +msgid "Delayed Posting" +msgstr "Publication plus tard" + +#: ../../include/features.php:250 +msgid "Allow posts to be published at a later date" +msgstr "Permettre de publier des messages à une date programmée" + +#: ../../include/features.php:258 +msgid "Content Expiration" +msgstr "Expiration du contenu" + +#: ../../include/features.php:259 +msgid "Remove posts/comments and/or private messages at a future time" +msgstr "Supprimer les contributions/commentaires et/ou messages privés plus tard" + +#: ../../include/features.php:267 +msgid "Suppress Duplicate Posts/Comments" +msgstr "Supprimer les publications/commentaires en doublon" + +#: ../../include/features.php:268 +msgid "" +"Prevent posts with identical content to be published with less than two " +"minutes in between submissions." +msgstr "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle" + +#: ../../include/features.php:279 +msgid "Network and Stream Filtering" +msgstr "Filtrage du réseau et des flux" + +#: ../../include/features.php:283 +msgid "Search by Date" +msgstr "Chercher par date" + +#: ../../include/features.php:284 +msgid "Ability to select posts by date ranges" +msgstr "Pouvoir choisir des publications par date" + +#: ../../include/features.php:293 +msgid "Enable management and selection of privacy groups" +msgstr "Active la gestion et la sélection des groupes d'accès" + +#: ../../include/features.php:302 +msgid "Save search terms for re-use" +msgstr "Sauvegarder des termes de recherche pour utilisation ultérieure" + +#: ../../include/features.php:310 +msgid "Network Personal Tab" +msgstr "Onglet \"Me concernant\"" + +#: ../../include/features.php:311 +msgid "Enable tab to display only Network posts that you've interacted on" +msgstr "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu" + +#: ../../include/features.php:319 +msgid "Network New Tab" +msgstr "Onglet \"nouveautés réseau\"" -#: ../../view/theme/redbasic/php/config.php:82 +#: ../../include/features.php:320 +msgid "Enable tab to display all new Network activity" +msgstr "Activer un onglet présentant toute l'activité récente sur le réseau" + +#: ../../include/features.php:328 +msgid "Affinity Tool" +msgstr "Gérer l'affinité" + +#: ../../include/features.php:329 +msgid "Filter stream activity by depth of relationships" +msgstr "Filtrer le flux d'activité en fonction de la profondeur des relations" + +#: ../../include/features.php:338 +msgid "Show friend and connection suggestions" +msgstr "Afficher un ami et les suggestions de relations" + +#: ../../include/features.php:346 +msgid "Connection Filtering" +msgstr "Filtrage des contacts" + +#: ../../include/features.php:347 +msgid "Filter incoming posts from connections based on keywords/content" +msgstr "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs" + +#: ../../include/features.php:359 +msgid "Post/Comment Tools" +msgstr "Gérer les publications/commentaires" + +#: ../../include/features.php:363 +msgid "Community Tagging" +msgstr "Etiquetage communautaire" + +#: ../../include/features.php:364 +msgid "Ability to tag existing posts" +msgstr "Permettre de marquer les publications existantes" + +#: ../../include/features.php:372 +msgid "Post Categories" +msgstr "Catégoriser les publications" + +#: ../../include/features.php:373 +msgid "Add categories to your posts" +msgstr "Ajouter des catégories à vos publications" + +#: ../../include/features.php:381 +msgid "Emoji Reactions" +msgstr "Réactions par émoticônes" + +#: ../../include/features.php:382 +msgid "Add emoji reaction ability to posts" +msgstr "Ajouter la possibilité de réagir aux publications par émoticônes" + +#: ../../include/features.php:391 +msgid "Ability to file posts under folders" +msgstr "Permettre de classer les publications dans des dossiers" + +#: ../../include/features.php:399 +msgid "Dislike Posts" +msgstr "\"Ne pas aimer\" les publications" + +#: ../../include/features.php:400 +msgid "Ability to dislike posts/comments" +msgstr "Possibilité de \"ne pas aimer\" les publications/commentaires" + +#: ../../include/features.php:408 +msgid "Star Posts" +msgstr "Pouvoir mettre en avant les publications" + +#: ../../include/features.php:409 +msgid "Ability to mark special posts with a star indicator" +msgstr "Pouvoir marquer certaines publications d'une étoile" + +#: ../../include/features.php:417 +msgid "Tag Cloud" +msgstr "Nuage de tags" + +#: ../../include/features.php:418 +msgid "Provide a personal tag cloud on your channel page" +msgstr "Afficher un nuage de vos tags sur votre canal" + +#: ../../include/features.php:430 +msgid "Premium Channel" +msgstr "Canal VIP" + +#: ../../include/features.php:431 +msgid "" +"Allows you to set restrictions and terms on those that connect with your " +"channel" +msgstr "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal" + +#: ../../include/help.php:31 +msgid "Help:" +msgstr "Aide :" + +#: ../../include/help.php:63 +msgid "Not Found" +msgstr "Introuvable" + +#: ../../util/nconfig.php:34 +msgid "Source channel not found." +msgstr "Source du canal introuvable." + +#: ../../view/theme/redbasic/php/config.php:9 msgid "Focus (Hubzilla default)" msgstr "Focus (par défaut pour Hubzilla)" -#: ../../view/theme/redbasic/php/config.php:103 +#: ../../view/theme/redbasic/php/config.php:110 msgid "Theme settings" msgstr "Paramètres du thème" -#: ../../view/theme/redbasic/php/config.php:104 -msgid "Select scheme" -msgstr "Définir la palette de couleurs" - -#: ../../view/theme/redbasic/php/config.php:105 +#: ../../view/theme/redbasic/php/config.php:111 msgid "Narrow navbar" msgstr "Barre de navigation fine" -#: ../../view/theme/redbasic/php/config.php:106 +#: ../../view/theme/redbasic/php/config.php:112 msgid "Navigation bar background color" msgstr "Couleur de fond de la barre de navigation" -#: ../../view/theme/redbasic/php/config.php:107 +#: ../../view/theme/redbasic/php/config.php:113 msgid "Navigation bar gradient top color" msgstr "Dégradé de la barre de navigation - couleur du haut" -#: ../../view/theme/redbasic/php/config.php:108 +#: ../../view/theme/redbasic/php/config.php:114 msgid "Navigation bar gradient bottom color" msgstr "Dégradé de la barre de navigation - couleur du bas" -#: ../../view/theme/redbasic/php/config.php:109 +#: ../../view/theme/redbasic/php/config.php:115 msgid "Navigation active button gradient top color" msgstr "Dégradé du bouton de navigation actif - couleur du haut" -#: ../../view/theme/redbasic/php/config.php:110 +#: ../../view/theme/redbasic/php/config.php:116 msgid "Navigation active button gradient bottom color" msgstr "Dégradé du bouton de navigation actif - couleur du bas" -#: ../../view/theme/redbasic/php/config.php:111 +#: ../../view/theme/redbasic/php/config.php:117 msgid "Navigation bar border color " msgstr "Couleur de la bordure de la barre de navigation" -#: ../../view/theme/redbasic/php/config.php:112 +#: ../../view/theme/redbasic/php/config.php:118 msgid "Navigation bar icon color " msgstr "Couleur des icônes de la barre de navigation" -#: ../../view/theme/redbasic/php/config.php:113 +#: ../../view/theme/redbasic/php/config.php:119 msgid "Navigation bar active icon color " msgstr "Couleur de l'icône active de la barre de navigation" -#: ../../view/theme/redbasic/php/config.php:114 +#: ../../view/theme/redbasic/php/config.php:120 msgid "link color" msgstr "couleur des liens" -#: ../../view/theme/redbasic/php/config.php:115 +#: ../../view/theme/redbasic/php/config.php:121 msgid "Set font-color for banner" msgstr "Définir la couleur du texte de la bannière" -#: ../../view/theme/redbasic/php/config.php:116 +#: ../../view/theme/redbasic/php/config.php:122 msgid "Set the background color" msgstr "Définir la couleur d'arrière-plan" -#: ../../view/theme/redbasic/php/config.php:117 +#: ../../view/theme/redbasic/php/config.php:123 msgid "Set the background image" msgstr "Définir l'image d'arrière-plan" -#: ../../view/theme/redbasic/php/config.php:118 +#: ../../view/theme/redbasic/php/config.php:124 msgid "Set the background color of items" msgstr "Définir la couleur de fond des contributions" -#: ../../view/theme/redbasic/php/config.php:119 +#: ../../view/theme/redbasic/php/config.php:125 msgid "Set the background color of comments" msgstr "Couleur de fond des commentaires" -#: ../../view/theme/redbasic/php/config.php:120 +#: ../../view/theme/redbasic/php/config.php:126 msgid "Set the border color of comments" msgstr "Couleur de la bordure des commentaires" -#: ../../view/theme/redbasic/php/config.php:121 +#: ../../view/theme/redbasic/php/config.php:127 msgid "Set the indent for comments" msgstr "Indentation des commentaires" -#: ../../view/theme/redbasic/php/config.php:122 +#: ../../view/theme/redbasic/php/config.php:128 msgid "Set the basic color for item icons" msgstr "Définir la couleur de base pour les icônes des éléments" -#: ../../view/theme/redbasic/php/config.php:123 +#: ../../view/theme/redbasic/php/config.php:129 msgid "Set the hover color for item icons" msgstr "Définir la couleur de survol des icônes des éléments" -#: ../../view/theme/redbasic/php/config.php:124 +#: ../../view/theme/redbasic/php/config.php:130 msgid "Set font-size for the entire application" msgstr "Définir la taille de police pour l'application entière" -#: ../../view/theme/redbasic/php/config.php:124 +#: ../../view/theme/redbasic/php/config.php:130 msgid "Example: 14px" msgstr "Exemple : 14px" -#: ../../view/theme/redbasic/php/config.php:125 +#: ../../view/theme/redbasic/php/config.php:131 msgid "Set font-size for posts and comments" msgstr "Définir la taille de police pour les contributions et commentaires" -#: ../../view/theme/redbasic/php/config.php:126 +#: ../../view/theme/redbasic/php/config.php:132 msgid "Set font-color for posts and comments" msgstr "Définir la couleur de police pour les contributions et commentaires" -#: ../../view/theme/redbasic/php/config.php:127 +#: ../../view/theme/redbasic/php/config.php:133 msgid "Set radius of corners" msgstr "Définir le rayon des arrondis" -#: ../../view/theme/redbasic/php/config.php:128 +#: ../../view/theme/redbasic/php/config.php:134 msgid "Set shadow depth of photos" msgstr "Définir la profondeur de l'ombre des photos" -#: ../../view/theme/redbasic/php/config.php:129 +#: ../../view/theme/redbasic/php/config.php:135 msgid "Set maximum width of content region in pixel" msgstr "Définir la largeur maximale de la zone des contenus" -#: ../../view/theme/redbasic/php/config.php:129 +#: ../../view/theme/redbasic/php/config.php:135 msgid "Leave empty for default width" msgstr "Laissez vide pour avoir la largeur par défaut" -#: ../../view/theme/redbasic/php/config.php:130 +#: ../../view/theme/redbasic/php/config.php:136 msgid "Left align page content" msgstr "Aligner à gauche le contenu de la page" -#: ../../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 "Définir l'opacité minimum du bandeau de navigation - pour le cacher" -#: ../../view/theme/redbasic/php/config.php:132 +#: ../../view/theme/redbasic/php/config.php:138 msgid "Set size of conversation author photo" msgstr "Définir la taille de la photo de l'auteur d'une conversation" -#: ../../view/theme/redbasic/php/config.php:133 +#: ../../view/theme/redbasic/php/config.php:139 msgid "Set size of followup author photos" msgstr "Définir la taille de la photo de l'auteur d'une réponse" -#: ../../boot.php:1162 -#, php-format -msgctxt "opensearch" -msgid "Search %1$s (%2$s)" -msgstr "" - -#: ../../boot.php:1162 -msgctxt "opensearch" -msgid "$Projectname" -msgstr "" - -#: ../../boot.php:1480 +#: ../../boot.php:1505 #, php-format msgid "Update %s failed. See error logs." msgstr "La mise-à -jour %s a échoué. Merci de consulter les journaux d'erreur." -#: ../../boot.php:1483 +#: ../../boot.php:1508 #, php-format msgid "Update Error at %s" msgstr "Erreur de mise à jour sur %s" -#: ../../boot.php:1684 -msgid "" -"Create an account to access services and applications within the Hubzilla" -msgstr "Créez un compte pour pouvoir accéder aux services et applications de Hubzilla" +#: ../../boot.php:1712 +msgid "Create an account to access services and applications" +msgstr "Créer un compte pour accéder aux services et applications" + +#: ../../boot.php:1734 +msgid "Login/Email" +msgstr "pseudo / email" -#: ../../boot.php:1706 +#: ../../boot.php:1735 msgid "Password" msgstr "Mot de passe" -#: ../../boot.php:1707 +#: ../../boot.php:1736 msgid "Remember me" msgstr "Se souvenir de moi" -#: ../../boot.php:1710 +#: ../../boot.php:1739 msgid "Forgot your password?" msgstr "Mot de passe oublié ?" -#: ../../boot.php:2276 +#: ../../boot.php:2300 msgid "toggle mobile" msgstr "(dés)activer mobile" -#: ../../boot.php:2425 +#: ../../boot.php:2455 msgid "Website SSL certificate is not valid. Please correct." msgstr "Le certificat SSL n'est pas valide. Corrigez le." -#: ../../boot.php:2428 +#: ../../boot.php:2458 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "[hubzilla] Erreur SSL pour %s" -#: ../../boot.php:2469 +#: ../../boot.php:2577 msgid "Cron/Scheduled tasks not running." msgstr "Les taches planifiées ne tournent pas." -#: ../../boot.php:2473 +#: ../../boot.php:2581 #, php-format msgid "[hubzilla] Cron tasks not running on %s" msgstr "[hubzilla] Les tâches planifiées ne tournent pas sur %s" diff --git a/view/fr/hstrings.php b/view/fr/hstrings.php index a1ff9f868..e7ef0bbc8 100644 --- a/view/fr/hstrings.php +++ b/view/fr/hstrings.php @@ -4,7 +4,41 @@ if(! function_exists("string_plural_select_fr")) { function string_plural_select_fr($n){ return ($n > 1);; }} -; +App::$rtl = 0; +App::$strings["Social Networking"] = "Réseau social"; +App::$strings["Social - Mostly Public"] = "Social - principalement public"; +App::$strings["Social - Restricted"] = "Social - restreint"; +App::$strings["Social - Private"] = "Social - privé"; +App::$strings["Community Forum"] = "Forum communautaire"; +App::$strings["Forum - Mostly Public"] = "Forum - principalement public"; +App::$strings["Forum - Restricted"] = "Forum - restreint"; +App::$strings["Forum - Private"] = "Forum - privé"; +App::$strings["Feed Republish"] = "Republication de flux"; +App::$strings["Feed - Mostly Public"] = "Flux - principalement public"; +App::$strings["Feed - Restricted"] = "Flux - restreint"; +App::$strings["Special Purpose"] = "Utilisation spécifique"; +App::$strings["Special - Celebrity/Soapbox"] = "Spécial - célébrité/vitrine"; +App::$strings["Special - Group Repository"] = "Spécial - dépôt partagé"; +App::$strings["Other"] = "Autre"; +App::$strings["Custom/Expert Mode"] = "Mode expert/spécifique"; +App::$strings["Can view my channel stream and posts"] = "Peut voir mon canal et mes publicatiosn"; +App::$strings["Can send me their channel stream and posts"] = "Peuvent m'envoyer leur flux et les publications de leur canal"; +App::$strings["Can view my default channel profile"] = "Peut voir le profil par défaut du canal."; +App::$strings["Can view my connections"] = "Peut voir mes contacts"; +App::$strings["Can view my file storage and photos"] = "Peut voir mes fichiers et photos"; +App::$strings["Can upload/modify my file storage and photos"] = "Peut télécharger/modifier mes fichiers et mes photos"; +App::$strings["Can view my channel webpages"] = "Peut voir les pages web de mon canal"; +App::$strings["Can view my wiki pages"] = "Peut voir les pages de mon wiki"; +App::$strings["Can create/edit my channel webpages"] = "Peut créer ou modifier les pages web de mon canal"; +App::$strings["Can write to my wiki pages"] = "Peut écrire sur mon wiki"; +App::$strings["Can post on my channel (wall) page"] = "Peut écrire sur le mur de mon canal (mur)"; +App::$strings["Can comment on or like my posts"] = "Peuvent commenter et/ou aimer mes publications"; +App::$strings["Can send me private mail messages"] = "Peuvent m'envoyer des messages privés"; +App::$strings["Can like/dislike profiles and profile things"] = "Peut aimer ou détester des profiles"; +App::$strings["Can forward to all my channel connections via @+ mentions in posts"] = "Peut faire suivre à tous mes contacts avec la mention @+ dans une publication"; +App::$strings["Can chat with me"] = "Peut discuter avec moi"; +App::$strings["Can source my public posts in derived channels"] = "Peut rediriger mes publications publiques vers des canaux dérivés"; +App::$strings["Can administer my channel"] = "Peut administrer mon canal"; App::$strings["parent"] = "retour"; App::$strings["Collection"] = "Groupe de contacts"; App::$strings["Principal"] = "Principal"; @@ -29,59 +63,138 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s%) App::$strings["WARNING:"] = "AVERTISSEMENT :"; App::$strings["Create new folder"] = "Nouveau dossier"; App::$strings["Upload file"] = "Téléverser un fichier"; +App::$strings["Drop files here to immediately upload"] = "Mettez un fichier ici pour le télécharger immédiatement"; App::$strings["Permission denied"] = "Accès refusé"; App::$strings["Permission denied."] = "Permission refusée."; -App::$strings["Not Found"] = "Introuvable"; App::$strings["Page not found."] = "Page introuvable."; App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer."; App::$strings["Welcome %s. Remote authentication successful."] = "Bienvenue %s. L'authentification distante a fonctionné."; App::$strings["Requested profile is not available."] = "Profil demandé non disponible."; App::$strings["Some blurb about what to do when you're new here"] = "Quelques mots sur quoi faire quand on est nouveau ici"; -App::$strings["Block Name"] = "Nom du Bloc"; -App::$strings["Blocks"] = "Blocs"; -App::$strings["Block Title"] = "Titre du bloc"; -App::$strings["Created"] = "Créé(e)"; -App::$strings["Edited"] = "Modifié(e)"; -App::$strings["Share"] = "Partager"; -App::$strings["View"] = "Voir"; -App::$strings["Channel not found."] = "Canal introuvable."; -App::$strings["Permissions denied."] = "Permissions refusées."; -App::$strings["l, F j"] = "l, F j"; -App::$strings["Link to Source"] = "Lien vers la Source"; -App::$strings["Edit Event"] = "Modifier l'événement"; -App::$strings["Create Event"] = "Créer un événement"; +App::$strings["Public access denied."] = "Accès public refusé."; +App::$strings["Item not found."] = "Élément introuvable"; +App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Nombre d'inscriptions quotidiennes dépassé. Merci d'essayer à nouveau demain."; +App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Merci d'indiquer votre adhésion aux conditions de service. L'inscription a échoué."; +App::$strings["Passwords do not match."] = "Les mots de passe ne concordent pas."; +App::$strings["Registration successful. Please check your email for validation instructions."] = "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte."; +App::$strings["Your registration is pending approval by the site owner."] = "Votre inscription est en attente d'approbation par l'administrateur."; +App::$strings["Your registration can not be processed."] = "Votre inscription ne peut être traîtée."; +App::$strings["Registration on this hub is disabled."] = "La création de nouveaux comptes est désactivée pour ce site."; +App::$strings["Registration on this hub is by approval only."] = "La création de compte sur ce site est soumise à approbation."; +App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>"; +App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain."; +App::$strings["Terms of Service"] = "Conditions de service"; +App::$strings["I accept the %s for this website"] = "J'accepte les %s de ce site"; +App::$strings["I am over 13 years of age and accept the %s for this website"] = "J'ai plus de 13 ans et j'accepte les %s de ce site"; +App::$strings["Your email address"] = "Votre adresse de courriel"; +App::$strings["Choose a password"] = "Choisissez un mot de passe"; +App::$strings["Please re-enter your password"] = "Merci de saisir à nouveau votre mot de passe"; +App::$strings["Please enter your invitation code"] = "Merci de saisir votre code d'invitation"; +App::$strings["Name or caption"] = "Nom ou libellé"; +App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Exemples : \"Jérôme Dutilleul\", \"Louise et ses chevaux\", \"Football\", \"Club d'aéromodélisme\""; +App::$strings["Choose a short nickname"] = "Choisissez un alias"; +App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Votre pseudo sera utilisé pour créer une adresse de canal facile à mémoriser, par ex. pseudo%s"; +App::$strings["Channel role and privacy"] = "Rôle et confidentialité du canal"; +App::$strings["Select a channel role with your privacy requirements."] = "Sélectionner un rôle de canal adapté à vos besoins de confidentialité."; +App::$strings["Read more about roles"] = "En savoir plus sur les rôles"; +App::$strings["no"] = "non"; +App::$strings["yes"] = "oui"; +App::$strings["Registration"] = "Inscription"; +App::$strings["Membership on this site is by invitation only."] = "L'inscription à ce site se fait uniquement sur invitation."; +App::$strings["Register"] = "S'inscrire"; +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."] = "Ce site peut demander une validation de votre email. Si vous revenez sur le formulaire de connexion, vérifiez vos emails et suivez les instructions. Regardez aussi les spams."; +App::$strings["Fetching URL returns error: %1\$s"] = "Récupération d'URL échouée : %1\$s"; +App::$strings["Page owner information could not be retrieved."] = "Impossible d'obtenir des informations sur le propriétaire de la page."; +App::$strings["Profile Photos"] = "Photos du profil"; +App::$strings["Album not found."] = "Album introuvable."; +App::$strings["Delete Album"] = "Supprimer l'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"] = "Plusieurs dossiers de stockage existent avec ce nom d'album, mais dans différents répertoires. Veuillez supprimer le ou les dossier(s) désiré(s) à l'aide du Gestionnaire de fichiers."; +App::$strings["Delete Photo"] = "Supprimer la photo"; +App::$strings["No photos selected"] = "Aucune photo selectionnée"; +App::$strings["Access to this item is restricted."] = "L'accès à l'élément est restreint."; +App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos."; +App::$strings["%1$.2f MB photo storage used."] = "%1$.2f méga-octets utilisés pour le stockage des photos."; +App::$strings["Upload Photos"] = "Téléverser des photos"; +App::$strings["Enter an album name"] = "Entrer un nom d'album"; +App::$strings["or select an existing album (doubleclick)"] = "ou sélectionner un album existant (double-clic)"; +App::$strings["Create a status post for this upload"] = "Créer une publication de statut pour cet envoi"; +App::$strings["No"] = "Non"; +App::$strings["Yes"] = "Oui"; +App::$strings["Caption (optional):"] = "Légende (facultative)"; +App::$strings["Description (optional):"] = "Description (facultative)"; +App::$strings["Permissions"] = "Autorisations"; +App::$strings["Submit"] = "Envoyer"; +App::$strings["Album name could not be decoded"] = "Le nom de l'Album n'a pu être décodé"; +App::$strings["Contact Photos"] = "Photos de contact"; +App::$strings["Show Newest First"] = "Les plus récent(e)s en premier"; +App::$strings["Show Oldest First"] = "Les moins récent(e)s en premier"; +App::$strings["View Photo"] = "Voir la photo"; +App::$strings["Edit Album"] = "Modifier l'album"; +App::$strings["Permission denied. Access to this item may be restricted."] = "Permission refusée. L'accès à cet élément peut avoir été restreint."; +App::$strings["Photo not available"] = "Photo non disponible"; +App::$strings["Use as profile photo"] = "Utiliser comme photo du profil"; +App::$strings["Use as cover photo"] = "Utilisez comme bannière"; +App::$strings["Private Photo"] = "Photo privée"; App::$strings["Previous"] = "Précédent"; +App::$strings["View Full Size"] = "Voir en taille réelle"; App::$strings["Next"] = "Suivant"; -App::$strings["Export"] = "Export"; -App::$strings["Import"] = "Import"; -App::$strings["Submit"] = "Envoyer"; -App::$strings["Today"] = "Aujourd'hui"; -App::$strings["You must be logged in to see this page."] = "Vous devez vous connecter pour voir cette page."; -App::$strings["Posts and comments"] = ""; -App::$strings["Only posts"] = ""; -App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permissions insuffisantes. Demande redirigée vers la page du profil."; -App::$strings["Room not found"] = "Salon introuvable"; -App::$strings["Leave Room"] = "Quitter le salon"; -App::$strings["Delete Room"] = ""; -App::$strings["I am away right now"] = "Je suis absent en ce moment"; -App::$strings["I am online"] = "Je suis en ligne"; -App::$strings["Bookmark this room"] = "Marquer ce salon comme favori"; -App::$strings["Please enter a link URL:"] = "Merci d'entrer l'URL d'un lien :"; -App::$strings["Encrypt text"] = "Chiffrer le texte"; -App::$strings["Insert web link"] = "Insérer lien web"; -App::$strings["Feature disabled."] = ""; -App::$strings["New Chatroom"] = "Nouveau salon de discussion"; -App::$strings["Chatroom name"] = ""; -App::$strings["Expiration of chats (minutes)"] = "Expiration des discussions (en minutes)"; -App::$strings["Permissions"] = "Autorisations"; -App::$strings["%1\$s's Chatrooms"] = "Salons de %1\$s"; -App::$strings["No chatrooms available"] = ""; -App::$strings["Create New"] = ""; -App::$strings["Expiration"] = ""; -App::$strings["min"] = ""; -App::$strings["Away"] = "Absent"; -App::$strings["Online"] = "En ligne"; -App::$strings["Invalid item."] = "Élément invalide."; +App::$strings["Remove"] = "Retirer"; +App::$strings["Edit photo"] = "Modifier la photo"; +App::$strings["Rotate CW (right)"] = "Rotation horaire (droite)"; +App::$strings["Rotate CCW (left)"] = "Rotation anti-horaire (gauche)"; +App::$strings["Move photo to album"] = "Déplacer la photo dans l'album"; +App::$strings["Enter a new album name"] = "Entrer un nouveau nom d'album"; +App::$strings["or select an existing one (doubleclick)"] = "ou en sélectionner un existant (double-clic)"; +App::$strings["Caption"] = "Titre/légende"; +App::$strings["Add a Tag"] = "Ajouter une étiquette"; +App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple : @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon"; +App::$strings["Flag as adult in album view"] = "Marquer comme \"adulte\" dans l'affichage de l'album"; +App::$strings["I like this (toggle)"] = "J'aime (oui/non)"; +App::$strings["I don't like this (toggle)"] = "Je n'aime pas (oui/non)"; +App::$strings["Share"] = "Partager"; +App::$strings["Please wait"] = "Merci de patienter"; +App::$strings["This is you"] = "C'est vous"; +App::$strings["Comment"] = "Commenter"; +App::$strings["Preview"] = "Aperçu"; +App::$strings["__ctx:title__ Likes"] = "Aime"; +App::$strings["__ctx:title__ Dislikes"] = "N'aime pas"; +App::$strings["__ctx:title__ Agree"] = "D'accord"; +App::$strings["__ctx:title__ Disagree"] = "Pas d'accord"; +App::$strings["__ctx:title__ Abstain"] = "Abstention"; +App::$strings["__ctx:title__ Attending"] = "Participations"; +App::$strings["__ctx:title__ Not attending"] = "Non-participations"; +App::$strings["__ctx:title__ Might attend"] = "Participation possible"; +App::$strings["View all"] = "Voir tout"; +App::$strings["__ctx:noun__ Like"] = array( + 0 => "Aime", + 1 => "Aime", +); +App::$strings["__ctx:noun__ Dislike"] = array( + 0 => "N'aime pas", + 1 => "N'aime pas", +); +App::$strings["Photo Tools"] = "Ouitls pour photos"; +App::$strings["In This Photo:"] = "Dans cette photo :"; +App::$strings["Map"] = "Carte"; +App::$strings["__ctx:noun__ Likes"] = "Aime"; +App::$strings["__ctx:noun__ Dislikes"] = "N'aime pas"; +App::$strings["Close"] = "Fermer"; +App::$strings["View Album"] = "Voir l'album"; +App::$strings["Recent Photos"] = "Photos récentes"; +App::$strings["Item not found"] = "Élément introuvable"; +App::$strings["Item is not editable"] = "Elément non modifiable"; +App::$strings["Edit post"] = "Modifier la publication"; +App::$strings["__ctx:acl__ Profile"] = ""; +App::$strings["network"] = "réseau"; +App::$strings["RSS"] = "RSS"; +App::$strings["Documentation Search"] = "Chercher dans la documentation"; +App::$strings["About"] = "À propos"; +App::$strings["Members"] = "Membres"; +App::$strings["Administrators"] = "Administrateurs"; +App::$strings["Developers"] = "Développeurs"; +App::$strings["Tutorials"] = "Tutoriels"; +App::$strings["\$Projectname Documentation"] = "Documentation \$Projectname"; +App::$strings["Contents"] = "Contenus"; App::$strings["Bookmark added"] = "Favori ajouté"; App::$strings["My Bookmarks"] = "Mes Favoris"; App::$strings["My Connections Bookmarks"] = "Favoris de mes contacts"; @@ -94,120 +207,45 @@ App::$strings["Potential connections will then see the following text before pro App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "En continuant, je certifie que je me suis conformé à toutes les instructions indiquées sur cette page."; App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Aucune instruction spécifique n'a été fournie par le propriétaire du canal.)"; App::$strings["Restricted or Premium Channel"] = "Canal VIP ou restreint"; -App::$strings["Could not access contact record."] = "Impossible d'accéder aux détails du contact."; -App::$strings["Could not locate selected profile."] = "Impossible de localiser le profil sélectionné."; -App::$strings["Connection updated."] = "Contact mis à jour."; -App::$strings["Failed to update connection record."] = "Impossible de mettre à jour les détails du contact."; -App::$strings["is now connected to"] = "est maintenant connecté avec"; -App::$strings["No"] = "Non"; -App::$strings["Yes"] = "Oui"; -App::$strings["Could not access address book record."] = "Impossible d'accéder aux détails du carnet d'adresses."; -App::$strings["Refresh failed - channel is currently unavailable."] = "Actualisation impossible - le canal est indisponible."; -App::$strings["Unable to set address book parameters."] = "Impossible de régler les paramètres du carnet d'adresses."; -App::$strings["Connection has been removed."] = "Le contact a été supprimé."; -App::$strings["View Profile"] = "Voir le profil"; -App::$strings["View %s's profile"] = "Voir le profil de %s"; -App::$strings["Refresh Permissions"] = "Actualiser les autorisations"; -App::$strings["Fetch updated permissions"] = "Récupérer les autorisations les plus récentes"; -App::$strings["Recent Activity"] = "Activité récente"; -App::$strings["View recent posts and comments"] = "Voir les publications et commentaires récents"; -App::$strings["Unblock"] = "Débloquer"; -App::$strings["Block"] = "Bloquer"; -App::$strings["Block (or Unblock) all communications with this connection"] = "Bloquer ou débloquer toute communication avec ce contact"; -App::$strings["This connection is blocked!"] = "Ce contact est bloqué !"; -App::$strings["Unignore"] = "Ne plus ignorer"; -App::$strings["Ignore"] = "Ignorer"; -App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorer ou ne plus ignorer toute communication venant de ce contact"; -App::$strings["This connection is ignored!"] = "Ce contact est ignoré !"; -App::$strings["Unarchive"] = "Désarchiver"; -App::$strings["Archive"] = "Archiver"; -App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu"; -App::$strings["This connection is archived!"] = "Ce contact est archivé !"; -App::$strings["Unhide"] = "Ne plus cacher"; -App::$strings["Hide"] = "Cacher"; -App::$strings["Hide or Unhide this connection from your other connections"] = "Cacher ou ne plus cacher ce contact vis-à -vis de vos autres contacts"; -App::$strings["This connection is hidden!"] = "Ce contact est caché !"; -App::$strings["Delete this connection"] = "Supprimer ce contact"; -App::$strings["Me"] = "Moi"; -App::$strings["Family"] = "Famille"; -App::$strings["Friends"] = "Amis"; -App::$strings["Acquaintances"] = "Connaissances"; -App::$strings["All"] = "Tous"; -App::$strings["Approve this connection"] = "Autoriser ce contact"; -App::$strings["Accept connection to allow communication"] = "Accepter le contact pour permettre la communication"; -App::$strings["Set Affinity"] = "Définir le degré d'affinité"; -App::$strings["Set Profile"] = "Définir le profil"; -App::$strings["Set Affinity & Profile"] = "Définir le degré d'affinité et le profil"; -App::$strings["none"] = "Aucun"; -App::$strings["Connection Default Permissions"] = "Autorisations par défaut des contacts"; -App::$strings["Connection: %s"] = "Contact : %s"; -App::$strings["Apply these permissions automatically"] = "Appliquer ces permissions automatiquement"; -App::$strings["Connection requests will be approved without your interaction"] = "Les demandes de contact seront approuvées automatiquement"; -App::$strings["This connection's primary address is"] = "L'adresse principale de ce contact est"; -App::$strings["Available locations:"] = "Emplacements disponibles :"; -App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts."; -App::$strings["Connection Tools"] = ""; -App::$strings["Slide to adjust your degree of friendship"] = "Faites glisser pour ajuster votre proximité avec le contact"; -App::$strings["Rating"] = "Evaluation"; -App::$strings["Slide to adjust your rating"] = "Faîtes glisser pour ajuster votre note"; -App::$strings["Optionally explain your rating"] = "Explication facultative de votre évaluation"; -App::$strings["Custom Filter"] = "Filtre personnalisé"; -App::$strings["Only import posts with this text"] = "N'importer que les publications comprenant ce texte"; -App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "un mot par ligne ou #étiquettes ou /motif/ ou lang=xx, laisser vide pour importer toutes les publications"; -App::$strings["Do not import posts with this text"] = "Ne pas importer les publications comprenant ce texte"; -App::$strings["This information is public!"] = "Cette information est publique !"; -App::$strings["Connection Pending Approval"] = "Contact en attente d'approbation"; -App::$strings["inherited"] = "héritée"; -App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée."; -App::$strings["Their Settings"] = "Leurs paramètres"; -App::$strings["My Settings"] = "Mes paramètres"; -App::$strings["Individual Permissions"] = "Permissions individuelles"; -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."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."; -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."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."; -App::$strings["Last update:"] = "Dernière mise à jour :"; -App::$strings["Public access denied."] = "Accès public refusé."; -App::$strings["%d rating"] = array( - 0 => "%d évaluation", - 1 => "%d évaluations", -); -App::$strings["Gender: "] = "Sexe/genre :"; -App::$strings["Status: "] = "État :"; -App::$strings["Homepage: "] = "Site web :"; -App::$strings["Age:"] = "Age :"; -App::$strings["Location:"] = "Emplacement :"; -App::$strings["Description:"] = "Description :"; -App::$strings["Hometown:"] = "Ville natale :"; -App::$strings["About:"] = "À propos :"; -App::$strings["Connect"] = "Ajouter/Suivre"; -App::$strings["Public Forum:"] = "Forum public :"; -App::$strings["Keywords: "] = "Mots-clefs :"; -App::$strings["Don't suggest"] = "Ne pas suggérer"; -App::$strings["Common connections:"] = "Contacts en commun :"; -App::$strings["Global Directory"] = "Annuaire global"; -App::$strings["Local Directory"] = "Annuaire local"; -App::$strings["Find"] = "Trouver"; -App::$strings["Finding:"] = "Recherche :"; -App::$strings["Channel Suggestions"] = "Canaux suggérés"; -App::$strings["next page"] = "page suivante"; -App::$strings["previous page"] = "page précédente"; -App::$strings["Sort options"] = "Options de tri"; -App::$strings["Alphabetic"] = "Alphabétique"; -App::$strings["Reverse Alphabetic"] = "Alphabétique inversé"; -App::$strings["Newest to Oldest"] = "Du plus récent au moins récent"; -App::$strings["Oldest to Newest"] = "Du moins récent du plus récent"; -App::$strings["No entries (some entries may be hidden)."] = "Pas d'entrées (certaines peuvent être cachées)."; -App::$strings["Item not found."] = "Élément introuvable"; -App::$strings["Item not found"] = "Élément introuvable"; +App::$strings["# Accounts"] = "# Comptes"; +App::$strings["# blocked accounts"] = "# comptes bloqués"; +App::$strings["# expired accounts"] = "# comptes expirés"; +App::$strings["# expiring accounts"] = "# comptes expirant"; +App::$strings["# Channels"] = "# Canaux"; +App::$strings["# primary"] = "# primaire"; +App::$strings["# clones"] = "# clones"; +App::$strings["Message queues"] = "File des messages"; +App::$strings["Your software should be updated"] = "Votre logiciel doit d'être mis à jour"; +App::$strings["Administration"] = "Administration"; +App::$strings["Summary"] = "Résumé"; +App::$strings["Registered accounts"] = "Comptes enregistrés"; +App::$strings["Pending registrations"] = "Inscriptions en attente"; +App::$strings["Registered channels"] = "Canaux enregistrés"; +App::$strings["Active plugins"] = "Greffons actifs"; +App::$strings["Version"] = "Version"; +App::$strings["Repository version (master)"] = "Version du dépôt (maître)"; +App::$strings["Repository version (dev)"] = "Version du dépôt (développeur)"; +App::$strings["Block Name"] = "Nom du Bloc"; +App::$strings["Insert web link"] = "Insérer lien web"; App::$strings["Title (optional)"] = "Titre (facultatif)"; App::$strings["Edit Block"] = "Modifier le bloc"; -App::$strings["No channel."] = "Pas de canal."; -App::$strings["Common connections"] = "Contacts en commun"; -App::$strings["No connections in common."] = "Pas de contacts en commun."; +App::$strings["Invalid item."] = "Élément invalide."; +App::$strings["Channel not found."] = "Canal introuvable."; +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:"] = "Classer dans le dossier :"; +App::$strings["- select -"] = "- choisir -"; +App::$strings["Save"] = "Enregistrer"; +App::$strings["sent you a private message"] = "vous a envoyé un message privé"; +App::$strings["added your channel"] = "a ajouté votre canal"; +App::$strings["g A l F d"] = "g A l F d"; +App::$strings["[today]"] = "[aujourd'hui]"; +App::$strings["posted an event"] = "a publié un événement"; App::$strings["Blocked"] = "Bloqué(e)"; App::$strings["Ignored"] = "Ignoré(e)"; App::$strings["Hidden"] = "Caché"; App::$strings["Archived"] = "Archivé"; App::$strings["New"] = "Nouveautés"; +App::$strings["All"] = "Tous"; App::$strings["New Connections"] = "Nouveaux contacts"; App::$strings["Show pending (new) connections"] = "Voir les (nouveaux) contacts en attente"; App::$strings["All Connections"] = "Tous les contacts"; @@ -222,16 +260,19 @@ App::$strings["Edit connection"] = "Modifier le contact"; App::$strings["Delete connection"] = "Supprimer le contact"; App::$strings["Channel address"] = "Adresse du canal"; App::$strings["Network"] = "Réseau"; +App::$strings["Call"] = "Appeler"; App::$strings["Status"] = "État"; App::$strings["Connected"] = "Connecté"; App::$strings["Approve connection"] = "Valider le contact"; App::$strings["Approve"] = "Approuver"; App::$strings["Ignore connection"] = "Ignorer le contact"; +App::$strings["Ignore"] = "Ignorer"; App::$strings["Recent activity"] = "Activité récente"; App::$strings["Connections"] = "Contacts"; App::$strings["Search"] = "Recherche"; App::$strings["Search your connections"] = "Chercher parmi vos contacts"; App::$strings["Connections search"] = "Chercher des contacts"; +App::$strings["Find"] = "Trouver"; App::$strings["Image uploaded but image cropping failed."] = "L'image a été téléversée, mais le recadrage a échoué."; App::$strings["Cover Photos"] = "Photos de couverture"; App::$strings["Image resize failed."] = "Le redimensionnement de l'image a échoué."; @@ -254,168 +295,263 @@ App::$strings["select a photo from your photo albums"] = "choisir une photo dans App::$strings["Crop Image"] = "Recadrer l'image"; App::$strings["Please adjust the image cropping for optimum viewing."] = "Merci d'ajuster le cadre pour une visualisation optimale."; App::$strings["Done Editing"] = "J'ai terminé"; -App::$strings["Item is not editable"] = "Elément non modifiable"; -App::$strings["Edit post"] = "Modifier la publication"; -App::$strings["Calendar entries imported."] = "Entrées du calendrier importées."; -App::$strings["No calendar entries found."] = "Aucune entrée du calendrier trouvée."; -App::$strings["Event can not end before it has started."] = "La fin de l'événement ne peut être antérieure à son début."; -App::$strings["Unable to generate preview."] = "Impossible de générer l'aperçu."; -App::$strings["Event title and start time are required."] = "Un titre et une date de début sont requises pour l'événement."; -App::$strings["Event not found."] = "Événement introuvable."; -App::$strings["event"] = "événement"; -App::$strings["Edit event title"] = "Modifier le titre de l'événement"; -App::$strings["Event title"] = "Titre de l'événement"; -App::$strings["Required"] = "Requis"; -App::$strings["Categories (comma-separated list)"] = "Catégories (séparées par des virgules)"; -App::$strings["Edit Category"] = "Modifier la catégorie"; -App::$strings["Category"] = "Catégorie"; -App::$strings["Edit start date and time"] = "Modifier la date et l'heure de début"; -App::$strings["Start date and time"] = "Date et heure de début"; -App::$strings["Finish date and time are not known or not relevant"] = "Date et heure de fin inconnues ou sans objet"; -App::$strings["Edit finish date and time"] = "Modifier la date et l'heure de fin"; -App::$strings["Finish date and time"] = "Date et heure de fin"; -App::$strings["Adjust for viewer timezone"] = "Ajuster au fuseau horaire du visiteur"; -App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde."; -App::$strings["Edit Description"] = "Modifier la description"; -App::$strings["Description"] = "Description"; -App::$strings["Edit Location"] = "Modifier l'emplacement"; -App::$strings["Location"] = "Emplacement"; -App::$strings["Share this event"] = "Partager cet événement"; -App::$strings["Preview"] = "Aperçu"; -App::$strings["Permission settings"] = "Gérer les autorisations"; -App::$strings["Advanced Options"] = "Options avancées"; -App::$strings["Edit event"] = "Modifier l'événement"; -App::$strings["Delete event"] = "Supprimer l'événement"; -App::$strings["calendar"] = "calendrier"; -App::$strings["Event removed"] = "Événement supprimé"; -App::$strings["Failed to remove event"] = "Impossible de supprimer l'événement"; -App::$strings["Photos"] = "Photos"; +App::$strings["Off"] = "Inactif"; +App::$strings["On"] = "Actif"; +App::$strings["Lock feature %s"] = "Verrouiller fonctionnalité %s"; +App::$strings["Manage Additional Features"] = "Gérer les fonctionnalités additionnelles"; +App::$strings["Log settings updated."] = "Paramètres du journal mis à jour."; +App::$strings["Logs"] = "Journaux"; +App::$strings["Clear"] = "Vider"; +App::$strings["Debugging"] = "Débogage"; +App::$strings["Log file"] = "Fichier du journal"; +App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Doit être permettre d'écrire par le serveur web. En relation avec le répertoire de votre site."; +App::$strings["Log level"] = "Niveau de journalisation"; +App::$strings["New Profile Field"] = "Nouveau champ de profil"; +App::$strings["Field nickname"] = "Nom court du champ"; +App::$strings["System name of field"] = "Nom système du champ"; +App::$strings["Input type"] = "Type de champ"; +App::$strings["Field Name"] = "Nom du champ"; +App::$strings["Label on profile pages"] = "Étiquette sur les pages de profil"; +App::$strings["Help text"] = "Aide à la saisie"; +App::$strings["Additional info (optional)"] = "Informations additionnelles (facultatif)"; +App::$strings["Field definition not found"] = "Définition du champ introuvable"; +App::$strings["Edit Profile Field"] = "Modifier le champ de profil"; +App::$strings["Profile Fields"] = "Champs de profil"; +App::$strings["Basic Profile Fields"] = "Champs de profil de base"; +App::$strings["Advanced Profile Fields"] = "Champs de profil avancés"; +App::$strings["(In addition to basic fields)"] = "(en plus des champs de base)"; +App::$strings["All available fields"] = "Tous les champs disponibles"; +App::$strings["Custom Fields"] = "Champs personnalisés"; +App::$strings["Create Custom Field"] = "Créer un champ personnalisé"; +App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Par défaut le code HTML est autorisé pour les média par exemple les vidéos embarquées. Cependant cela peut poser un faille de sécurité."; +App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Ce paramétrage autorisant le HTML pour les sites suivants."; +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."] = "Les contenus html seront filtrés <strong>sauf</strong> ceux des sites explicitement bloqués."; +App::$strings["Security"] = "Sécurité"; +App::$strings["Block public"] = "Bloquer \"public\""; +App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Sélectionner pour ne permettre l'accès aux pages personnelles \"publiques\" du site qu'aux personnes authentifiées, pas aux personnes anonymes du web."; +App::$strings["Set \"Transport Security\" HTTP header"] = "Paramétrer \"Transport Security\" pour l'entête HTTP"; +App::$strings["Set \"Content Security Policy\" HTTP header"] = "Paramétrer \"Content Security Policy\" pour l'entête HTTP"; +App::$strings["Allowed email domains"] = "Domaines de courriels autorisés"; +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 de noms de domaines séparés par des virgules dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."; +App::$strings["Not allowed email domains"] = "Domaines de courriel non autorisés"; +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."] = "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel ne seront pas autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines, sauf si des domaines autorisés ont été définis."; +App::$strings["Allow communications only from these sites"] = "N'autorisez que les communications venant de ces sites"; +App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un site par ligne. Laisser vide pour autoriser les communications de tous les sites, par défaut."; +App::$strings["Block communications from these sites"] = "Bloquer les communications de ces sites"; +App::$strings["Allow communications only from these channels"] = "N'autoriser que les communications de ces canaux"; +App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (adresse) par ligne. Laisser vide pour autoriser les communications de tous les canaux, par défaut"; +App::$strings["Block communications from these channels"] = "Bloquer les communications de ces canaux"; +App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Seuls les sites et liens sécurisés sont autorisé pour intégrer du code HTML"; +App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Autoriser le contenu HTML embarqué uniquement à partir de ces domaines"; +App::$strings["One site per line. By default embedded content is filtered."] = "Un site par ligne. Par défaut le contenu embarqué est filtré."; +App::$strings["Block embedded HTML from these domains"] = "Bloquer le HTML embarqué à partir de ces domaines"; +App::$strings["Theme settings updated."] = "Paramètres du thème mis à jour."; +App::$strings["No themes found."] = "Aucun thème trouvé."; +App::$strings["Disable"] = "Désactiver"; +App::$strings["Enable"] = "Activer"; +App::$strings["Screenshot"] = "Capture d'écran"; +App::$strings["Themes"] = "Thèmes"; +App::$strings["Toggle"] = "(Dés)activer"; +App::$strings["Settings"] = "Paramètres"; +App::$strings["Author: "] = "Auteur :"; +App::$strings["Maintainer: "] = "Maintenu par :"; +App::$strings["[Experimental]"] = "[Expérimental]"; +App::$strings["[Unsupported]"] = "[Non maintenu]"; +App::$strings["Password changed for account %d."] = "Le mot de passe a été modifié pour le compte %d."; +App::$strings["Account settings updated."] = "Paramétrage du compte mis à jour"; +App::$strings["Account not found."] = "Compte introuvable"; +App::$strings["Account Edit"] = "Modifier votre compte"; +App::$strings["New Password"] = "Nouveau mot de passe"; +App::$strings["New Password again"] = "Nouveau mot de passe (encore)"; +App::$strings["Technical skill level"] = "Niveau technique"; +App::$strings["Account language (for emails)"] = "Langue de votre compte (pour email)"; +App::$strings["Service class"] = "Classe de service"; +App::$strings["%s account blocked/unblocked"] = array( + 0 => "%s compte bloqué/débloqué", + 1 => "%s comptes bloqués/débloqués", +); +App::$strings["%s account deleted"] = array( + 0 => "%s compte supprimé", + 1 => "%s comptes supprimés", +); +App::$strings["Account not found"] = "Compte introuvable"; +App::$strings["Account '%s' deleted"] = "Compte '%s' supprimé"; +App::$strings["Account '%s' blocked"] = "Compte '%s' bloqué"; +App::$strings["Account '%s' unblocked"] = "Compte '%s' débloqué"; +App::$strings["Accounts"] = "Comptes"; +App::$strings["select all"] = "tout sélectionner"; +App::$strings["Registrations waiting for confirm"] = "Inscriptions en attente d'approbation"; +App::$strings["Request date"] = "Date de la demande"; +App::$strings["Email"] = "Courriel"; +App::$strings["No registrations."] = "Pas d'inscriptions."; +App::$strings["Deny"] = "Refuser"; +App::$strings["Block"] = "Bloquer"; +App::$strings["Unblock"] = "Débloquer"; +App::$strings["ID"] = "Identifiant"; +App::$strings["All Channels"] = "Tous les canaux"; +App::$strings["Register date"] = "Date d'inscription"; +App::$strings["Last login"] = "Dernière connexion"; +App::$strings["Expires"] = "Expire le"; +App::$strings["Service Class"] = "Classe de service"; +App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Les comptes sélectionnés seront supprimés !\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?"; +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?"] = "Le compte {0} sera supprimé !\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?"; +App::$strings["%s channel censored/uncensored"] = array( + 0 => "%s canal censuré/dé-censuré", + 1 => "%s canaux censurés/dé-censurés", +); +App::$strings["%s channel code allowed/disallowed"] = array( + 0 => "code autorisé/interdit pour %s canal", + 1 => "code autorisé/interdit pour %s canaux", +); +App::$strings["%s channel deleted"] = array( + 0 => "%s canal supprimé", + 1 => "%s canaux supprimés", +); +App::$strings["Channel not found"] = "Canal introuvable"; +App::$strings["Channel '%s' deleted"] = "Canal '%s' supprimé"; +App::$strings["Channel '%s' censored"] = "Canal '%s' censuré"; +App::$strings["Channel '%s' uncensored"] = "Canal '%s' non censuré"; +App::$strings["Channel '%s' code allowed"] = "Code autorisé pour le canal '%s'"; +App::$strings["Channel '%s' code disallowed"] = "Code interdit pour le canal '%s'"; +App::$strings["Channels"] = "Canaux"; +App::$strings["Censor"] = "Censurer"; +App::$strings["Uncensor"] = "Ne plus censurer"; +App::$strings["Allow Code"] = "Autoriser le code"; +App::$strings["Disallow Code"] = "Interdire le code"; +App::$strings["Channel"] = "Canal"; +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?"] = "Les canaux sélectionnés seront supprimés !\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé !\\n\\nÊtes-vous sûr ?"; +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?"] = "Le canal {0} sera supprimé !\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé !\\n\\nÊtes-vous sûr(e) ?"; +App::$strings["Update has been marked successful"] = "La mise à jour a été marquée comme réussie"; +App::$strings["Executing %s failed. Check system logs."] = "L'éxecution de %s a échoué. Merci de vérifier les journaux du système."; +App::$strings["Update %s was successfully applied."] = "La mise à jour %s a été appliquée avec succès."; +App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non."; +App::$strings["Update function %s could not be found."] = "La fonction de mise à jour %s est introuvable."; +App::$strings["No failed updates."] = "Aucune mise à jour défaillante."; +App::$strings["Failed Updates"] = "Mises à jour défaillantes"; +App::$strings["Mark success (if update was manually applied)"] = "Marquer comme réussie (si la mise à jour a été réalisée manuellement)"; +App::$strings["Attempt to execute this update step automatically"] = "Tenter de réaliser cette étape de mise à jour automatiquement"; +App::$strings["Site settings updated."] = "Paramètres du site sauvegardés."; +App::$strings["Default"] = "Défaut"; +App::$strings["mobile"] = "mobile"; +App::$strings["experimental"] = "expérimental"; +App::$strings["unsupported"] = "non maintenu"; +App::$strings["Yes - with approval"] = "Oui - avec approbation"; +App::$strings["My site is not a public server"] = "Mon site n'est pas un serveur public"; +App::$strings["My site has paid access only"] = "Mon site est à accès payant uniquement"; +App::$strings["My site has free access only"] = "Mon site est gratuit uniquement"; +App::$strings["My site offers free accounts with optional paid upgrades"] = "Mon site offre des comptes gratuits avec des améliorations payantes facultatives"; +App::$strings["Basic/Minimal Social Networking"] = "Réseau social de base"; +App::$strings["Standard Configuration (default)"] = "Configuration standard par défaut"; +App::$strings["Professional"] = "Professionel"; +App::$strings["Beginner/Basic"] = "Pour débutant/ de base"; +App::$strings["Novice - not skilled but willing to learn"] = "Novice - pas qualifiés, mais prêt à apprendre"; +App::$strings["Intermediate - somewhat comfortable"] = "Intermédiaire - assez confortable"; +App::$strings["Advanced - very comfortable"] = "Niveau avancé - trés confortable"; +App::$strings["Expert - I can write computer code"] = "Niveau expert - Je peux programmer"; +App::$strings["Wizard - I probably know more than you do"] = "Crack - J'en sais probablement plus que beaucoup"; +App::$strings["Site"] = "Site"; +App::$strings["File upload"] = "Envoi de fichier"; +App::$strings["Policies"] = "Stratégies"; +App::$strings["Advanced"] = "Avancé"; +App::$strings["Site name"] = "Nom du site"; +App::$strings["Server Configuration/Role"] = "Configuration du site."; +App::$strings["Site default technical skill level"] = "Niveau technique par défaut pour le site"; +App::$strings["Used to provide a member experience matched to technical comfort level"] = "Utilisé pour fournir une expérience utilisateur correspondant au niveau de confort technique"; +App::$strings["Lock the technical skill level setting"] = "Bloque le niveau technique du paramétrage"; +App::$strings["Members can set their own technical comfort level by default"] = "Les utilisateurs peuvent paramétrer leur propre niveau technique."; +App::$strings["Banner/Logo"] = "Bannière/logo"; +App::$strings["Administrator Information"] = "Informations de l'administrateur"; +App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Coordonnées de l'administrateur du site. Affichées sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici"; +App::$strings["Site Information"] = "Site information"; +App::$strings["Publicly visible description of this site. Displayed on siteinfo page. BBCode can be used here"] = "Description du site visible publiquement. Affiché sur la page d'information du site. BBCode peut être utilisé ici."; +App::$strings["System language"] = "Langue du système"; +App::$strings["System theme"] = "Thème du système"; +App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>"; +App::$strings["Mobile system theme"] = "Thème par défaut pour les mobiles"; +App::$strings["Theme for mobile devices"] = "Thème pour les mobiles"; +App::$strings["Allow Feeds as Connections"] = "Autoriser les Flux (RSS) comme contacts"; +App::$strings["(Heavy system resource usage)"] = "(Impact important sur les ressources)"; +App::$strings["Maximum image size"] = "Taille maximale des images"; +App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite."; +App::$strings["Does this site allow new member registration?"] = "Est-ce que l'enregistrement de nouveaux membres est autorisé sur ce site ?"; +App::$strings["Invitation only"] = "Sur invitation seulement"; +App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "N'autoriser que les nouvelles inscriptions avec code d'invitation. La stratégie d'inscription ci-dessus doit être mise sur \"Oui\"."; +App::$strings["Which best describes the types of account offered by this hub?"] = "Quelle est la meilleure description des types de comptes proposés sur ce hub ?"; +App::$strings["Register text"] = "Texte d'inscription"; +App::$strings["Will be displayed prominently on the registration page."] = "Sera affiché de manière bien visible sur le formulaire d'inscription."; +App::$strings["Site homepage to show visitors (default: login box)"] = "Page d'accueil du site à montrer aux visiteurs (par défaut : boîte de dialogue de connexion)"; +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."] = "exemple :'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier."; +App::$strings["Preserve site homepage URL"] = "Préserver l'adresse d'accueil du site"; +App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger"; +App::$strings["Accounts abandoned after x days"] = "Les comptes sont abandonnés après x jours"; +App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviter de gaspiller les ressources du système en interrogeant des hubs distants pour des canaux abandonnés. Mettez 0 pour ne pas avoir de limite de temps."; +App::$strings["Allowed friend domains"] = "Domaines amicaux autorisés"; +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 de noms de domaines séparés par des virgules pour lesquels ce site acceptera les demandes d'amitié. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."; +App::$strings["Verify Email Addresses"] = "Demander vérification des adresses de courriel"; +App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé)."; +App::$strings["Force publish"] = "Publicité forcée"; +App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Cocher pour forcer la publication de tous les profils du site dans l'annuaire."; +App::$strings["Import Public Streams"] = "Flux publics importés"; +App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention : ce contenu n'est pas modéré."; +App::$strings["Login on Homepage"] = "Connexion sur la page d'accueil"; +App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré."; +App::$strings["Enable context help"] = "Permettre l'aide contextuelle"; +App::$strings["Display contextual help for the current page when the help button is pressed."] = "Afficher l'aide contextuel en cliquant sur le bouton aide."; +App::$strings["Directory Server URL"] = "URL du serveur d'annuaire"; +App::$strings["Default directory server"] = "Serveur d'annuaire par défaut"; +App::$strings["Proxy user"] = "Utilisateur du proxy"; +App::$strings["Proxy URL"] = "URL du proxy"; +App::$strings["Network timeout"] = "Délai maximal du réseau"; +App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (non recommandé)."; +App::$strings["Delivery interval"] = "Intervalle de distribution"; +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."] = "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées : 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés."; +App::$strings["Deliveries per process"] = "Distributions par processus"; +App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Nombre de distributions à tenter au sein d'un seul processus système. Ajuster si nécessaire pour affiner la performance du système. Recommandé :1-5."; +App::$strings["Poll interval"] = "Intervalle de scrutation"; +App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution."; +App::$strings["Maximum Load Average"] = "Charge maximale moyenne"; +App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Charge système maximale au-delà de laquelle distribution et scrutation sont reportées - par défaut 50."; +App::$strings["Expiration period in days for imported (grid/network) content"] = "Délai d'expiration pour le contenu importé (réseau)"; +App::$strings["0 for no expiration of imported content"] = "0 pour ne pas expirer le contenu importé"; +App::$strings["Plugin %s disabled."] = "Greffon %s désactivé."; +App::$strings["Plugin %s enabled."] = "Greffon %s activé."; +App::$strings["Plugins"] = "Greffons"; +App::$strings["Minimum project version: "] = "Version minimum du projet :"; +App::$strings["Maximum project version: "] = "Version maximum du projet :"; +App::$strings["Minimum PHP version: "] = "Version minimum de PHP :"; +App::$strings["Compatible Server Roles: "] = "Rôles du serveur "; +App::$strings["Requires: "] = "Requiert :"; +App::$strings["Disabled - version incompatibility"] = "Désactivé - version incompatible"; +App::$strings["Enter the public git repository URL of the plugin repo."] = "Entrer l'URL du dépôt git public pour les greffons"; +App::$strings["Plugin repo git URL"] = "URL du git pour les plugin"; +App::$strings["Custom repo name"] = "Nom du dépôt"; +App::$strings["(optional)"] = "(en option)"; +App::$strings["Download Plugin Repo"] = "Télécharger l'extension"; +App::$strings["Install new repo"] = "Installer un nouveau dépôt"; +App::$strings["Install"] = "Installer"; App::$strings["Cancel"] = "Annuler"; -App::$strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire"; -App::$strings["This directory server requires an access token"] = "Ce serveur d'annuaire requiert un jeton d'accès"; -App::$strings["Save to Folder:"] = "Classer dans le dossier :"; -App::$strings["- select -"] = "- choisir -"; -App::$strings["Save"] = "Enregistrer"; -App::$strings["Invalid message"] = "Message non valide"; -App::$strings["no results"] = "aucun résultat"; -App::$strings["Delivery report for %1\$s"] = "Rapport de distribution pour %1\$s"; -App::$strings["channel sync processed"] = "Synchro de canal effectuée"; -App::$strings["queued"] = "mis dans la file d'attente"; -App::$strings["posted"] = "publié"; -App::$strings["accepted for delivery"] = "accepté pour la distribution"; -App::$strings["updated"] = "mis à jour"; -App::$strings["update ignored"] = "mise à jour ignorée"; -App::$strings["permission denied"] = "permission refusée"; -App::$strings["recipient not found"] = "destinataire introuvable"; -App::$strings["mail recalled"] = "courriel rappelé"; -App::$strings["duplicate mail received"] = "courriel reçu en double"; -App::$strings["mail delivered"] = "courriel distribué"; +App::$strings["Manage Repos"] = "Gérer les dépôts"; +App::$strings["Installed Plugin Repositories"] = "Dépôt des extensions installées"; +App::$strings["Install a New Plugin Repository"] = "Installer un nouveau dépôt pour extensions"; +App::$strings["Update"] = "Mise à jour"; +App::$strings["Switch branch"] = "Changer de branche"; +App::$strings["Queue Statistics"] = "Statistiques de file d'attente"; +App::$strings["Total Entries"] = "Nombre d'entrées total"; +App::$strings["Priority"] = "Priorité"; +App::$strings["Destination URL"] = "URL de destination"; +App::$strings["Mark hub permanently offline"] = "Marquer le hub comme étant hors ligne de manière permanente"; +App::$strings["Empty queue for this hub"] = "Vider la file d'attente pour ce hub"; +App::$strings["Last known contact"] = "Dernier contact connu"; +App::$strings["Items tagged with: %s"] = "Eléments étiquetés avec : %s"; +App::$strings["Search results for: %s"] = "Résultats de recherche pour : %s"; App::$strings["Layout Name"] = "Nom de la mise en page"; App::$strings["Layout Description (Optional)"] = "Description de la mise en page (facultatif)"; App::$strings["Edit Layout"] = "Modifier la mise en page"; -App::$strings["Page link"] = ""; +App::$strings["Page link"] = "Lien"; App::$strings["Edit Webpage"] = "Modifier la page web"; -App::$strings["Channel added."] = "Canal ajouté."; -App::$strings["network"] = "réseau"; -App::$strings["RSS"] = "RSS"; -App::$strings["Privacy group created."] = "Groupe d'accès créé."; -App::$strings["Could not create privacy group."] = "Impossible de créer le groupe d'accès."; -App::$strings["Privacy group not found."] = "Groupe d'accès introuvable."; -App::$strings["Privacy group updated."] = "Groupe d'accès mis à jour."; -App::$strings["Create a group of channels."] = "Créer un groupe de canaux."; -App::$strings["Privacy group name: "] = "Nom du groupe d'accès :"; -App::$strings["Members are visible to other channels"] = "Les membres sont visibles par les autres canaux"; -App::$strings["Privacy group removed."] = "Groupe d'accès supprimé."; -App::$strings["Unable to remove privacy group."] = "Impossible de supprimer le groupe d'accès."; -App::$strings["Privacy group editor"] = "Editeur de groupe d'accès."; -App::$strings["Members"] = "Membres"; -App::$strings["All Connected Channels"] = "Tous les canaux connectés"; -App::$strings["Click on a channel to add or remove."] = "Cliquer sur un canal pour l'ajouter ou le supprimer"; -App::$strings["Share content from Firefox to \$Projectname"] = "Partager du contenu depuis Firefox avec \$Projectname"; -App::$strings["Activate the Firefox \$Projectname provider"] = "Activer le connecteur \$Projectname pour Firefox"; -App::$strings["Authorize application connection"] = "Autoriser l'application à se connecter"; -App::$strings["Return to your app and insert this Securty Code:"] = "Merci de retourner vers votre application, et d'y insérer ce Code de Sécurité :"; -App::$strings["Please login to continue."] = "Merci de vous identifier pour continuer."; -App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?"; -App::$strings["Documentation Search"] = "Chercher dans la documentation"; -App::$strings["Help:"] = "Aide :"; -App::$strings["Help"] = "Aide"; -App::$strings["\$Projectname Documentation"] = "Documentation \$Projectname"; -App::$strings["Permission Denied."] = "Permission refusée."; -App::$strings["File not found."] = "Fichier introuvable."; -App::$strings["Edit file permissions"] = "Modifier les autorisations d'accès au fichier"; -App::$strings["Set/edit permissions"] = "Définir/modifier les autorisations"; -App::$strings["Include all files and sub folders"] = "Inclure tous fichiers et sous-répertoires"; -App::$strings["Return to file list"] = "Retourner à la liste des fichiers"; -App::$strings["Copy/paste this code to attach file to a post"] = "Copiez/collez ce code pour joindre le fichier à une publication"; -App::$strings["Copy/paste this URL to link file from a web page"] = "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web"; -App::$strings["Share this file"] = "Partager ce fichier"; -App::$strings["Show URL to this file"] = "Montrer l'URL de ce fichier"; -App::$strings["Notify your contacts about this file"] = "Notifier vos contacts à propos de ce fichier"; -App::$strings["Apps"] = "Applications"; -App::$strings["Item not available."] = "Élément indisponible."; -App::$strings["Your service plan only allows %d channels."] = "Votre forfait n'autorise que %d canaux."; -App::$strings["Nothing to import."] = "Rien à importer."; -App::$strings["Unable to download data from old server"] = "Impossible de récupérer les données de l'ancien serveur"; -App::$strings["Imported file is empty."] = "Le fichier importé est vide."; -App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attention : les versions de bases de données diffèrent de %1\$d mises à jour."; -App::$strings["Cloned channel not found. Import failed."] = "Canal cloné non trouvé. Echec de l'import."; -App::$strings["No channel. Import failed."] = "Pas de canal. Echec de l'import."; -App::$strings["Import completed."] = "L'import est terminé."; -App::$strings["You must be logged in to use this feature."] = "Vous devez vous connecter pour utiliser cette fonctionnalité."; -App::$strings["Import Channel"] = "Importation de 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."] = "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import."; -App::$strings["File to Upload"] = "Fichier à envoyer"; -App::$strings["Or provide the old server/hub details"] = "Ou fournissez les détails de l'ancien serveur/hub"; -App::$strings["Your old identity address (xyz@example.com)"] = "Votre ancienne identité (zyx@exemple.com)"; -App::$strings["Your old login email address"] = "Votre ancienne adresse de courriel"; -App::$strings["Your old login password"] = "Votre ancien mot de passe"; -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."] = "Quelle que soit l'option choisie, merci de décider si ce hub sera votre nouvelle adresse primaire, ou si votre ancien hub continuera à jouer ce rôle. Vous pourrez publier depuis l'emplacement de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media."; -App::$strings["Make this hub my primary location"] = "Faire de ce hub mon emplacement primaire"; -App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importer les publications existantes si possible (expérimental - limité par la mémoire disponible)"; -App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin."; -App::$strings["Unable to locate original post."] = "Impossible de localiser la publication initiale."; -App::$strings["Empty post discarded."] = "Publication vide annulée."; -App::$strings["Executable content type not permitted to this channel."] = "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal."; -App::$strings["Duplicate post suppressed."] = "Publication en doublon supprimée."; -App::$strings["System error. Post not saved."] = "Erreur système. Publication non sauvegardée."; -App::$strings["Unable to obtain post information from database."] = "Impossible d'obtenir les informations de publication depuis la base de données."; -App::$strings["You have reached your limit of %1$.0f top level posts."] = "Vous avez atteint votre limite de %1$.0f contributions \"racines\"."; -App::$strings["You have reached your limit of %1$.0f webpages."] = "Vous avez atteint votre limite de %1$.0f pages web."; -App::$strings["Layouts"] = "Mises-en-page"; -App::$strings["Comanche page description language help"] = "Aide sur le langage de description de page Comanche"; -App::$strings["Layout Description"] = "Description de la mise en page"; -App::$strings["Download PDL file"] = "Télécharger le fichier PDL"; -App::$strings["\$Projectname"] = "\$Projectname"; -App::$strings["Welcome to %s"] = "Bienvenue sur %s"; -App::$strings["First Name"] = "Prénom"; -App::$strings["Last Name"] = "Nom de famille"; -App::$strings["Nickname"] = "Surnom"; -App::$strings["Full Name"] = "Nom complet"; -App::$strings["Email"] = "Courriel"; -App::$strings["Profile Photo"] = "Photo du Profil"; -App::$strings["Profile Photo 16px"] = "Photo de profil 16px"; -App::$strings["Profile Photo 32px"] = "Photo de profil 32px"; -App::$strings["Profile Photo 48px"] = "Photo de profil 48px"; -App::$strings["Profile Photo 64px"] = "Photo de profil 64px"; -App::$strings["Profile Photo 80px"] = "Photo de profil 80px"; -App::$strings["Profile Photo 128px"] = "Photo de profil 128px"; -App::$strings["Timezone"] = "Fuseau horaire"; -App::$strings["Homepage URL"] = "URL de mon site Internet :"; -App::$strings["Language"] = "Langue"; -App::$strings["Birth Year"] = "Année de naissance"; -App::$strings["Birth Month"] = "Mois de naissance"; -App::$strings["Birth Day"] = "Jour de naissance"; -App::$strings["Birthdate"] = "Date de naissance"; -App::$strings["Gender"] = "Sexe"; -App::$strings["Male"] = "Homme"; -App::$strings["Female"] = "Femme"; -App::$strings["webpage"] = "pages web"; -App::$strings["block"] = "bloquer"; -App::$strings["layout"] = "mise en page"; -App::$strings["menu"] = "menu"; -App::$strings["%s element installed"] = "Elément %s installé"; -App::$strings["%s element installation failed"] = "L'installation de l'élément %s a échoué"; App::$strings["Like/Dislike"] = "Aime/n'aime pas"; App::$strings["This action is restricted to members."] = "Cette action est réservée aux membres."; 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."] = "S'il vous plait, <a href=\"rmagic\">identifiez vous avec votre identifant de \$Projectname </a> ou <a href=\"register\">inscrivez vous comme nouveau membre de \$Projectname </a> pour continuer."; @@ -426,6 +562,7 @@ App::$strings["Channel unavailable."] = "Canal indisponible."; App::$strings["Previous action reversed."] = "Action précédente annulée."; App::$strings["photo"] = "photo"; App::$strings["status"] = "état"; +App::$strings["event"] = "événement"; App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s aime %3\$s de %2\$s"; App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s n'aime pas %3\$s de %2\$s"; App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s approuve %3\$s de %2\$s"; @@ -436,93 +573,15 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s ne participe pas App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s participe peut-être à %3\$s de %2\$s"; App::$strings["Action completed."] = "Action terminée."; App::$strings["Thank you."] = "Merci."; -App::$strings["Import completed"] = "L'import est terminé."; -App::$strings["Import Items"] = "Importer"; -App::$strings["Use this form to import existing posts and content from an export file."] = "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export."; -App::$strings["Total invitation limit exceeded."] = "Limite du nombre total d'invitation dépassée."; -App::$strings["%s : Not a valid email address."] = "%s : adresse courriel invalide."; -App::$strings["Please join us on \$Projectname"] = "Rejoignez-nous sur \$Projectname"; -App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limite d'invitations dépassée. Merci de contacter l'administration de votre site."; -App::$strings["%s : Message delivery failed."] = "%s : Échec de distribution du message."; -App::$strings["%d message sent."] = array( - 0 => "%d message envoyé.", - 1 => "%d messages envoyés.", -); -App::$strings["You have no more invitations available"] = "Vous ne disposez plus d'aucune invitation"; -App::$strings["Send invitations"] = "Envoyer des invitations"; -App::$strings["Enter email addresses, one per line:"] = "Entrez les adresses de courriel, une par ligne :"; -App::$strings["Your message:"] = "Votre message :"; -App::$strings["Please join my community on \$Projectname."] = "Rejoignez ma communauté sur \$Projectname."; -App::$strings["You will need to supply this invitation code:"] = "Vous devrez fournir le code suivant :"; -App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveur \$Projectname (ils sont tous inter-connectés)"; -App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal \$Projectname dans la barre de recherche du site."; -App::$strings["or visit"] = "ou rendez-vous sur"; -App::$strings["3. Click [Connect]"] = "3. Cliquez sur [Ajouter]"; -App::$strings["Remote privacy information not available."] = "Les informations distantes de confidentialité ne sont pas disponibles."; -App::$strings["Visible to:"] = "Visible par :"; -App::$strings["Location not found."] = "Emplacement introuvable."; -App::$strings["Location lookup failed."] = "Echec de la recherche de l'emplacement."; -App::$strings["Please select another location to become primary before removing the primary location."] = "Merci de sélectionner un autre emplacement comme nouvel emplacement primaire avant de supprimer l'emplacement primaire actuel."; -App::$strings["Syncing locations"] = "Synchronisation des emplacements"; -App::$strings["No locations found."] = "Emplacement(s) introuvable."; -App::$strings["Manage Channel Locations"] = "Gérer les emplacements des canaux"; -App::$strings["Address"] = "Adresse"; -App::$strings["Primary"] = ""; -App::$strings["Drop"] = "Supprimer"; -App::$strings["Sync Now"] = ""; -App::$strings["Please wait several minutes between consecutive operations."] = "Merci d'attendre plusieurs minutes entre opérations successives."; -App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quand c'est possible, abandonnez un emplacement en vous connectant sur le site/hub et en supprimant votre canal."; -App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Utilisez ce formulaire pour abandonner l'emplacement si le hub n'est plus actif."; -App::$strings["Hub not found."] = "Hub introuvable."; -App::$strings["Unable to lookup recipient."] = "Impossible de localiser le destinataire."; -App::$strings["Unable to communicate with requested channel."] = "Impossible de communiquer avec le canal demandé."; -App::$strings["Cannot verify requested channel."] = "Impossible de vérifier le canal demandé."; -App::$strings["Selected channel has private message restrictions. Send failed."] = "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué."; -App::$strings["Messages"] = "Messages"; -App::$strings["Message recalled."] = "Message rappelé."; -App::$strings["Conversation removed."] = "Conversation supprimée."; -App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expire le YYYY-MM-DD à HH:MM"; -App::$strings["Requested channel is not in this network"] = "Le canal demandé n'est pas sur ce réseau"; -App::$strings["Send Private Message"] = "Envoyer un message privé"; -App::$strings["To:"] = "À :"; -App::$strings["Subject:"] = "Objet :"; -App::$strings["Attach file"] = "Joindre un fichier"; -App::$strings["Send"] = "Envoyer"; -App::$strings["Set expiration date"] = "Définir la date d'expiration"; -App::$strings["Delete message"] = "Supprimer le message"; -App::$strings["Delivery report"] = "Rapport de distribution"; -App::$strings["Recall message"] = "Rappeler le message"; -App::$strings["Message has been recalled."] = "Le message a été rappelé."; -App::$strings["Delete Conversation"] = "Supprimer la conversation"; -App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur."; -App::$strings["Send Reply"] = "Envoyer la réponse"; -App::$strings["Your message for %s (%s):"] = "Votre message pour %s (%s) :"; -App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Vous avez créé %1$.0f des %2$.0f canaux autorisés."; -App::$strings["Create a new channel"] = "Créer un nouveau canal"; -App::$strings["Channel Manager"] = "Gérer les canaux"; -App::$strings["Current Channel"] = "Canal actif"; -App::$strings["Switch to one of your channels by selecting it."] = "Pour changer de canal, sélectionnez-en un"; -App::$strings["Default Channel"] = "Canal par défaut"; -App::$strings["Make Default"] = "Définir comme défaut"; -App::$strings["%d new messages"] = "%d nouveaux messages"; -App::$strings["%d new introductions"] = "%d nouvelles présentations"; -App::$strings["Delegated Channel"] = ""; -App::$strings["No valid account found."] = "Aucun compte valide trouvé."; -App::$strings["Password reset request issued. Check your email."] = "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels."; -App::$strings["Site Member (%s)"] = "Membre du site (%s)"; -App::$strings["Password reset requested at %s"] = "Demande de réinitialisation du mot de passe sur %s"; -App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué."; -App::$strings["Password Reset"] = "Réinitialiser le mot de passe"; -App::$strings["Your password has been reset as requested."] = "Votre mot de passe a bien été réinitialisé."; -App::$strings["Your new password is"] = "Votre nouveau mot de passe est"; -App::$strings["Save or copy your new password - and then"] = "Enregistrez ou copiez votre nouveau mot de passe, puis"; -App::$strings["click here to login"] = "cliquez ici pour vous connecter"; -App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté."; -App::$strings["Your password has changed at %s"] = "Votre mot de passe de %s a été changé"; -App::$strings["Forgot your Password?"] = "Mot de passe oublié ?"; -App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions."; -App::$strings["Email Address"] = "Adresse de courriel"; -App::$strings["Reset"] = "Réinitialiser"; +App::$strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire"; +App::$strings["This directory server requires an access token"] = "Ce serveur d'annuaire requiert un jeton d'accès"; +App::$strings["No such group"] = "Groupe introuvable"; +App::$strings["No such channel"] = "Canal introuvable"; +App::$strings["forum"] = "forum"; +App::$strings["Search Results For:"] = "Résultats de recherche pour :"; +App::$strings["Privacy group is empty"] = "Groupe d'accès vide"; +App::$strings["Privacy group: "] = "Groupe d'accès :"; +App::$strings["Invalid connection."] = "Contact non valide."; App::$strings["Unable to update menu."] = "Impossible de mettre le menu à jour."; App::$strings["Unable to create menu."] = "Impossible de créer le menu."; App::$strings["Menu Name"] = "Nom du menu"; @@ -533,6 +592,9 @@ App::$strings["Allow Bookmarks"] = "Autoriser l'usage de favoris"; App::$strings["Menu may be used to store saved bookmarks"] = "Le menu pourra être utilisé pour stocker des favoris"; App::$strings["Submit and proceed"] = "Valider et continuer"; App::$strings["Menus"] = "Menus"; +App::$strings["Drop"] = "Supprimer"; +App::$strings["Created"] = "Créé(e)"; +App::$strings["Edited"] = "Modifié(e)"; App::$strings["Bookmarks allowed"] = "Favoris autorisés"; App::$strings["Delete this menu"] = "Supprimer ce menu"; App::$strings["Edit menu contents"] = "Modifier le contenu du menu"; @@ -547,22 +609,213 @@ App::$strings["Menu title"] = "Titre du menu"; App::$strings["Menu title as seen by others"] = "Titre du menu tel que vu par les visiteurs"; App::$strings["Allow bookmarks"] = "Autoriser l'usage de favoris"; App::$strings["Not found."] = "Introuvable."; -App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s est %2\$s"; -App::$strings["Mood"] = "Humeur"; -App::$strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis"; -App::$strings["Profile Match"] = "Profils similaires"; -App::$strings["No keywords to match. Please add keywords to your default profile."] = "Aucun mot-clef à comparer. Merci d'ajouter des mots-clefs à votre profil par défaut."; -App::$strings["is interested in:"] = "s'intéresse à :"; -App::$strings["No matches"] = "Pas de correspondance"; -App::$strings["No such group"] = "Groupe introuvable"; -App::$strings["No such channel"] = "Canal introuvable"; -App::$strings["forum"] = "forum"; -App::$strings["Search Results For:"] = "Résultats de recherche pour :"; -App::$strings["Privacy group is empty"] = "Groupe d'accès vide"; -App::$strings["Privacy group: "] = "Groupe d'accès :"; -App::$strings["Invalid connection."] = "Contact non valide."; -App::$strings["No more system notifications."] = "Pas d'autre notification du système."; -App::$strings["System Notifications"] = "Notifications du système"; +App::$strings["Location not found."] = "Emplacement introuvable."; +App::$strings["Location lookup failed."] = "Echec de la recherche de l'emplacement."; +App::$strings["Please select another location to become primary before removing the primary location."] = "Merci de sélectionner un autre emplacement comme nouvel emplacement primaire avant de supprimer l'emplacement primaire actuel."; +App::$strings["Syncing locations"] = "Synchronisation des emplacements"; +App::$strings["No locations found."] = "Emplacement(s) introuvable."; +App::$strings["Manage Channel Locations"] = "Gérer les emplacements des canaux"; +App::$strings["Location"] = "Emplacement"; +App::$strings["Primary"] = "Primaire"; +App::$strings["Sync Now"] = "Synchronisez maintenant"; +App::$strings["Please wait several minutes between consecutive operations."] = "Merci d'attendre plusieurs minutes entre opérations successives."; +App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quand c'est possible, abandonnez un emplacement en vous connectant sur le site/hub et en supprimant votre canal."; +App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Utilisez ce formulaire pour abandonner l'emplacement si le hub n'est plus actif."; +App::$strings["Public Hubs"] = "Instances publiques"; +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."] = "Les sites listés permettent l'enregistrement public de comptes pour le réseau \$Projectname. Tous les sites du réseau sont reliés entre eux, être membre d'un site revient à être membre de tous. Certains sites peuvent demander une souscription ou proposer différents niveaux de service. Chaque site <strong>peut</strong> fournir des détails supplémentaires."; +App::$strings["Hub URL"] = "URL du site"; +App::$strings["Access Type"] = "Type d'accès"; +App::$strings["Registration Policy"] = "Politique d'inscription"; +App::$strings["Stats"] = "Statistiques"; +App::$strings["Software"] = "Logiciel"; +App::$strings["Ratings"] = "Evaluations"; +App::$strings["Rate"] = "Evaluer"; +App::$strings["View"] = "Voir"; +App::$strings["Could not access contact record."] = "Impossible d'accéder aux détails du contact."; +App::$strings["Could not locate selected profile."] = "Impossible de localiser le profil sélectionné."; +App::$strings["Connection updated."] = "Contact mis à jour."; +App::$strings["Failed to update connection record."] = "Impossible de mettre à jour les détails du contact."; +App::$strings["is now connected to"] = "est maintenant connecté avec"; +App::$strings["Could not access address book record."] = "Impossible d'accéder aux détails du carnet d'adresses."; +App::$strings["Refresh failed - channel is currently unavailable."] = "Actualisation impossible - le canal est indisponible."; +App::$strings["Unable to set address book parameters."] = "Impossible de régler les paramètres du carnet d'adresses."; +App::$strings["Connection has been removed."] = "Le contact a été supprimé."; +App::$strings["View Profile"] = "Voir mon profil"; +App::$strings["View %s's profile"] = "Voir le profil de %s"; +App::$strings["Refresh Permissions"] = "Actualiser les autorisations"; +App::$strings["Fetch updated permissions"] = "Récupérer les autorisations les plus récentes"; +App::$strings["Recent Activity"] = "Activité récente"; +App::$strings["View recent posts and comments"] = "Voir les publications et commentaires récents"; +App::$strings["Block (or Unblock) all communications with this connection"] = "Bloquer ou débloquer toute communication avec ce contact"; +App::$strings["This connection is blocked!"] = "Ce contact est bloqué !"; +App::$strings["Unignore"] = "Ne plus ignorer"; +App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorer ou ne plus ignorer toute communication venant de ce contact"; +App::$strings["This connection is ignored!"] = "Ce contact est ignoré !"; +App::$strings["Unarchive"] = "Désarchiver"; +App::$strings["Archive"] = "Archiver"; +App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu"; +App::$strings["This connection is archived!"] = "Ce contact est archivé !"; +App::$strings["Unhide"] = "Ne plus cacher"; +App::$strings["Hide"] = "Cacher"; +App::$strings["Hide or Unhide this connection from your other connections"] = "Cacher ou ne plus cacher ce contact vis-à -vis de vos autres contacts"; +App::$strings["This connection is hidden!"] = "Ce contact est caché !"; +App::$strings["Delete this connection"] = "Supprimer ce contact"; +App::$strings["Open Individual Permissions section by default"] = "Ouvrir par défaut la section des autorisations individuelles"; +App::$strings["Affinity"] = "Affinité"; +App::$strings["Open Set Affinity section by default"] = "Ouvrir par défaut la section Définir le degré d'affinité"; +App::$strings["Me"] = "Moi"; +App::$strings["Family"] = "Famille"; +App::$strings["Friends"] = "Amis"; +App::$strings["Acquaintances"] = "Connaissances"; +App::$strings["Filter"] = "Filtrer"; +App::$strings["Open Custom Filter section by default"] = "Ouvrir par défaut la section Filtre personnalisé"; +App::$strings["Approve this connection"] = "Autoriser ce contact"; +App::$strings["Accept connection to allow communication"] = "Accepter le contact pour permettre la communication"; +App::$strings["Set Affinity"] = "Définir le degré d'affinité"; +App::$strings["Set Profile"] = "Définir le profil"; +App::$strings["Set Affinity & Profile"] = "Définir le degré d'affinité et le profil"; +App::$strings["none"] = "Aucun"; +App::$strings["Connection Default Permissions"] = "Autorisations par défaut des contacts"; +App::$strings["Connection: %s"] = "Contact : %s"; +App::$strings["Apply these permissions automatically"] = "Appliquer ces permissions automatiquement"; +App::$strings["Connection requests will be approved without your interaction"] = "Les demandes de contact seront approuvées automatiquement"; +App::$strings["Permission role"] = "Rôle d'accès"; +App::$strings["Add permission role"] = "Ajouter un rôle d'accès"; +App::$strings["This connection's primary address is"] = "L'adresse principale de ce contact est"; +App::$strings["Available locations:"] = "Emplacements disponibles :"; +App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts."; +App::$strings["Connection Tools"] = "Outils de connexion"; +App::$strings["Slide to adjust your degree of friendship"] = "Faites glisser pour ajuster votre proximité avec le contact"; +App::$strings["Rating"] = "Evaluation"; +App::$strings["Slide to adjust your rating"] = "Faîtes glisser pour ajuster votre note"; +App::$strings["Optionally explain your rating"] = "Explication facultative de votre évaluation"; +App::$strings["Custom Filter"] = "Filtre personnalisé"; +App::$strings["Only import posts with this text"] = "N'importer que les publications comprenant ce texte"; +App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "un mot par ligne ou #étiquettes ou /motif/ ou lang=xx, laisser vide pour importer toutes les publications"; +App::$strings["Do not import posts with this text"] = "Ne pas importer les publications comprenant ce texte"; +App::$strings["This information is public!"] = "Cette information est publique !"; +App::$strings["Connection Pending Approval"] = "Contact en attente d'approbation"; +App::$strings["inherited"] = "héritée"; +App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée."; +App::$strings["Their Settings"] = "Leurs paramètres"; +App::$strings["My Settings"] = "Mes paramètres"; +App::$strings["Individual Permissions"] = "Permissions individuelles"; +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."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."; +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."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."; +App::$strings["Last update:"] = "Dernière mise à jour :"; +App::$strings["Details"] = "Détails"; +App::$strings["Organisation"] = "Organisation"; +App::$strings["Title"] = "Titre"; +App::$strings["Phone"] = "Téléphone"; +App::$strings["Instant messenger"] = "Instant messenger"; +App::$strings["Website"] = "Site web"; +App::$strings["Note"] = "Note"; +App::$strings["Mobile"] = "Mobile"; +App::$strings["Home"] = "Mon canal"; +App::$strings["Work"] = "Travail"; +App::$strings["Add Contact"] = "Ajouter un contact"; +App::$strings["Add Field"] = "Ajouter un champ"; +App::$strings["P.O. Box"] = "P.O. Box"; +App::$strings["Additional"] = "Information complémentaires"; +App::$strings["Street"] = "Rue"; +App::$strings["Locality"] = "Localité"; +App::$strings["Region"] = "Région"; +App::$strings["ZIP Code"] = "ZIP code"; +App::$strings["Country"] = "Pays"; +App::$strings["\$Projectname"] = "\$Projectname"; +App::$strings["Welcome to %s"] = "Bienvenue sur %s"; +App::$strings["Permission Denied."] = "Permission refusée."; +App::$strings["File not found."] = "Fichier introuvable."; +App::$strings["Edit file permissions"] = "Modifier les autorisations d'accès au fichier"; +App::$strings["Set/edit permissions"] = "Définir/modifier les autorisations"; +App::$strings["Include all files and sub folders"] = "Inclure tous fichiers et sous-répertoires"; +App::$strings["Return to file list"] = "Retourner à la liste des fichiers"; +App::$strings["Copy/paste this code to attach file to a post"] = "Copiez/collez ce code pour joindre le fichier à une publication"; +App::$strings["Copy/paste this URL to link file from a web page"] = "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web"; +App::$strings["Share this file"] = "Partager ce fichier"; +App::$strings["Show URL to this file"] = "Montrer l'URL de ce fichier"; +App::$strings["Notify your contacts about this file"] = "Notifier vos contacts à propos de ce fichier"; +App::$strings["Photos"] = "Photos"; +App::$strings["Apps"] = "Applications"; +App::$strings["Permissions denied."] = "Permissions refusées."; +App::$strings["l, F j"] = "l, F j"; +App::$strings["Link to Source"] = "Lien vers la Source"; +App::$strings["Edit Event"] = "Modifier l'événement"; +App::$strings["Create Event"] = "Créer un événement"; +App::$strings["Export"] = "Export"; +App::$strings["Import"] = "Import"; +App::$strings["Today"] = "Aujourd'hui"; +App::$strings["Privacy group created."] = "Groupe d'accès créé."; +App::$strings["Could not create privacy group."] = "Impossible de créer le groupe d'accès."; +App::$strings["Privacy group not found."] = "Groupe d'accès introuvable."; +App::$strings["Privacy group updated."] = "Groupe d'accès mis à jour."; +App::$strings["Create a group of channels."] = "Créer un groupe de canaux."; +App::$strings["Privacy group name: "] = "Nom du groupe d'accès :"; +App::$strings["Members are visible to other channels"] = "Les membres sont visibles par les autres canaux"; +App::$strings["Privacy group removed."] = "Groupe d'accès supprimé."; +App::$strings["Unable to remove privacy group."] = "Impossible de supprimer le groupe d'accès."; +App::$strings["Privacy group editor"] = "Editeur de groupe d'accès."; +App::$strings["All Connected Channels"] = "Tous les canaux connectés"; +App::$strings["Click on a channel to add or remove."] = "Cliquer sur un canal pour l'ajouter ou le supprimer"; +App::$strings["Invalid message"] = "Message non valide"; +App::$strings["no results"] = "aucun résultat"; +App::$strings["channel sync processed"] = "Synchro de canal effectuée"; +App::$strings["queued"] = "mis dans la file d'attente"; +App::$strings["posted"] = "publié"; +App::$strings["accepted for delivery"] = "accepté pour la distribution"; +App::$strings["updated"] = "mis à jour"; +App::$strings["update ignored"] = "mise à jour ignorée"; +App::$strings["permission denied"] = "permission refusée"; +App::$strings["recipient not found"] = "destinataire introuvable"; +App::$strings["mail recalled"] = "courriel rappelé"; +App::$strings["duplicate mail received"] = "courriel reçu en double"; +App::$strings["mail delivered"] = "courriel distribué"; +App::$strings["Delivery report for %1\$s"] = "Rapport de distribution pour %1\$s"; +App::$strings["Options"] = "Options"; +App::$strings["Redeliver"] = "Transférer à nouveau"; +App::$strings["webpage"] = "pages web"; +App::$strings["block"] = "bloquer"; +App::$strings["layout"] = "mise en page"; +App::$strings["menu"] = "menu"; +App::$strings["%s element installed"] = "Elément %s installé"; +App::$strings["%s element installation failed"] = "L'installation de l'élément %s a échoué"; +App::$strings["Nothing to import."] = "Rien à importer."; +App::$strings["Unable to download data from old server"] = "Impossible de récupérer les données de l'ancien serveur"; +App::$strings["Imported file is empty."] = "Le fichier importé est vide."; +App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attention : les versions de bases de données diffèrent de %1\$d mises à jour."; +App::$strings["Import completed"] = "L'import est terminé."; +App::$strings["Import Items"] = "Importer"; +App::$strings["Use this form to import existing posts and content from an export file."] = "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export."; +App::$strings["File to Upload"] = "Fichier à envoyer"; +App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Vous avez créé %1$.0f des %2$.0f canaux autorisés."; +App::$strings["Create a new channel"] = "Créer un nouveau canal"; +App::$strings["Create New"] = "Nouveau"; +App::$strings["Channel Manager"] = "Gérer mes canaux"; +App::$strings["Current Channel"] = "Canal actif"; +App::$strings["Switch to one of your channels by selecting it."] = "Pour changer de canal, sélectionnez-en un"; +App::$strings["Default Channel"] = "Canal par défaut"; +App::$strings["Make Default"] = "Définir comme défaut"; +App::$strings["%d new messages"] = "%d nouveaux messages"; +App::$strings["%d new introductions"] = "%d nouvelles relations"; +App::$strings["Delegated Channel"] = "Canaux délégués"; +App::$strings["Your service plan only allows %d channels."] = "Votre forfait n'autorise que %d canaux."; +App::$strings["No channel. Import failed."] = "Pas de canal. Echec de l'import."; +App::$strings["Import completed."] = "L'import est terminé."; +App::$strings["You must be logged in to use this feature."] = "Vous devez vous connecter pour utiliser cette fonctionnalité."; +App::$strings["Import Channel"] = "Importation de 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."] = "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import."; +App::$strings["Or provide the old server/hub details"] = "Ou fournissez les détails de l'ancien serveur/hub"; +App::$strings["Your old identity address (xyz@example.com)"] = "Votre ancienne identité (zyx@exemple.com)"; +App::$strings["Your old login email address"] = "Votre ancienne adresse de courriel"; +App::$strings["Your old login password"] = "Votre ancien mot de passe"; +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."] = "Quelle que soit l'option choisie, merci de décider si ce hub sera votre nouvelle adresse primaire, ou si votre ancien hub continuera à jouer ce rôle. Vous pourrez publier depuis l'emplacement de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media."; +App::$strings["Make this hub my primary location"] = "Faire de ce hub mon emplacement primaire"; +App::$strings["Move this channel (disable all previous locations)"] = "Déplacer ce canal (désactiver tous les emplacements précédents)"; +App::$strings["Import a few months of posts if possible (limited by available memory"] = "Importer plusieurs mois de messages si possible (limité par la mémoire disponible)"; +App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Ce processus peut prendre plusieurs minutes. Merci de ne valider le formulaire qu'une seule fois et de laisser cette page ouverte jusqu'à la fin."; +App::$strings["Remote privacy information not available."] = "Les informations distantes de confidentialité ne sont pas disponibles."; +App::$strings["Visible to:"] = "Visible par :"; +App::$strings["Hub not found."] = "Hub introuvable."; App::$strings["Unable to create element."] = "Impossible de créer l'entrée."; App::$strings["Unable to update menu element."] = "Impossible de mettre à jour l'entrée de menu."; App::$strings["Unable to add menu element."] = "Impossible d'ajouter l'entrée de menu."; @@ -592,113 +845,31 @@ App::$strings["Menu item deleted."] = "Entrée de menu supprimée."; App::$strings["Menu item could not be deleted."] = "Impossible de supprimer l'entrée de menu."; App::$strings["Edit Menu Element"] = "Modifier l'entrée de menu"; App::$strings["Link text"] = "Texte du lien"; -App::$strings["Name or caption"] = "Nom ou libellé"; -App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Exemples : \"Jérôme Dutilleul\", \"Louise et ses chevaux\", \"Football\", \"Club d'aéromodélisme\""; -App::$strings["Choose a short nickname"] = "Choisissez un alias"; -App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Votre pseudo sera utilisé pour créer une adresse de canal facile à mémoriser, par ex. pseudo%s"; -App::$strings["Channel role and privacy"] = "Rôle et confidentialité du canal"; -App::$strings["Select a channel role with your privacy requirements."] = "Sélectionner un rôle de canal adapté à vos besoins de confidentialité."; -App::$strings["Read more about roles"] = "En savoir plus sur les rôles"; -App::$strings["Create Channel"] = "Créer le canal"; -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."] = "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines."; -App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur."; -App::$strings["Invalid request identifier."] = "Identifiant de requête invalide."; -App::$strings["Discard"] = "Annuler"; -App::$strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme vues"; -App::$strings["Page owner information could not be retrieved."] = "Impossible d'obtenir des informations sur le propriétaire de la page."; -App::$strings["Profile Photos"] = "Photos du profil"; -App::$strings["Album not found."] = "Album introuvable."; -App::$strings["Delete Album"] = "Supprimer l'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"] = ""; -App::$strings["Delete Photo"] = "Supprimer la photo"; -App::$strings["No photos selected"] = "Aucune photo selectionnée"; -App::$strings["Access to this item is restricted."] = "L'accès à l'élément est restreint."; -App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos."; -App::$strings["%1$.2f MB photo storage used."] = "%1$.2f méga-octets utilisés pour le stockage des photos."; -App::$strings["Upload Photos"] = "Téléverser des photos"; -App::$strings["Enter an album name"] = "Entrer un nom d'album"; -App::$strings["or select an existing album (doubleclick)"] = "ou sélectionner un album existant (double-clic)"; -App::$strings["Create a status post for this upload"] = "Créer une publication de statut pour cet envoi"; -App::$strings["Caption (optional):"] = "Légende (facultative)"; -App::$strings["Description (optional):"] = "Description (facultative)"; -App::$strings["Album name could not be decoded"] = "Le nom de l'Album n'a pu être décodé"; -App::$strings["Contact Photos"] = "Photos de contact"; -App::$strings["Show Newest First"] = "Les plus récent(e)s en premier"; -App::$strings["Show Oldest First"] = "Les moins récent(e)s en premier"; -App::$strings["View Photo"] = "Voir la photo"; -App::$strings["Edit Album"] = "Modifier l'album"; -App::$strings["Permission denied. Access to this item may be restricted."] = "Permission refusée. L'accès à cet élément peut avoir été restreint."; -App::$strings["Photo not available"] = "Photo non disponible"; -App::$strings["Use as profile photo"] = "Utiliser comme photo du profil"; -App::$strings["Use as cover photo"] = ""; -App::$strings["Private Photo"] = "Photo privée"; -App::$strings["View Full Size"] = "Voir en taille réelle"; -App::$strings["Remove"] = "Retirer"; -App::$strings["Edit photo"] = "Modifier la photo"; -App::$strings["Rotate CW (right)"] = "Rotation horaire (droite)"; -App::$strings["Rotate CCW (left)"] = "Rotation anti-horaire (gauche)"; -App::$strings["Enter a new album name"] = "Entrer un nouveau nom d'album"; -App::$strings["or select an existing one (doubleclick)"] = "ou en sélectionner un existant (double-clic)"; -App::$strings["Caption"] = "Titre/légende"; -App::$strings["Add a Tag"] = "Ajouter une étiquette"; -App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple : @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon"; -App::$strings["Flag as adult in album view"] = "Marquer comme \"adulte\" dans l'affichage de l'album"; -App::$strings["I like this (toggle)"] = "J'aime (oui/non)"; -App::$strings["I don't like this (toggle)"] = "Je n'aime pas (oui/non)"; -App::$strings["Please wait"] = "Merci de patienter"; -App::$strings["This is you"] = "C'est vous"; -App::$strings["Comment"] = "Commenter"; -App::$strings["__ctx:title__ Likes"] = "Aime"; -App::$strings["__ctx:title__ Dislikes"] = "N'aime pas"; -App::$strings["__ctx:title__ Agree"] = "D'accord"; -App::$strings["__ctx:title__ Disagree"] = "Pas d'accord"; -App::$strings["__ctx:title__ Abstain"] = "Abstention"; -App::$strings["__ctx:title__ Attending"] = "Participations"; -App::$strings["__ctx:title__ Not attending"] = "Non-participations"; -App::$strings["__ctx:title__ Might attend"] = "Participation possible"; -App::$strings["View all"] = "Voir tout"; -App::$strings["__ctx:noun__ Like"] = array( - 0 => "Aime", - 1 => "Aime", -); -App::$strings["__ctx:noun__ Dislike"] = array( - 0 => "N'aime pas", - 1 => "N'aime pas", -); -App::$strings["Photo Tools"] = ""; -App::$strings["In This Photo:"] = "Dans cette photo :"; -App::$strings["Map"] = "Carte"; -App::$strings["__ctx:noun__ Likes"] = "Aime"; -App::$strings["__ctx:noun__ Dislikes"] = "N'aime pas"; -App::$strings["Close"] = "Fermer"; -App::$strings["View Album"] = "Voir l'album"; -App::$strings["Recent Photos"] = "Photos récentes"; -App::$strings["sent you a private message"] = "vous a envoyé un message privé"; -App::$strings["added your channel"] = "a ajouté votre canal"; -App::$strings["g A l F d"] = "g A l F d"; -App::$strings["[today]"] = "[aujourd'hui]"; -App::$strings["posted an event"] = "a publié un événement"; -App::$strings["Unable to find your hub."] = "Impossible de trouver votre hub."; -App::$strings["Post successful."] = "Publication réussie."; -App::$strings["OpenID protocol error. No ID returned."] = "Erreur du protocole OpenID. Pas d'ID retourné."; -App::$strings["Login failed."] = "Échec de la connexion."; -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["This setting requires special processing and editing has been blocked."] = "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées."; -App::$strings["Configuration Editor"] = "Editeur de configuration"; -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."] = "Attention :modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité."; -App::$strings["Layout updated."] = "Mise en page mise à jour."; -App::$strings["Edit System Page Description"] = "Modifier la description de la page du système"; -App::$strings["Layout not found."] = "Mise en page introuvable."; -App::$strings["Module Name:"] = "Nom du module :"; -App::$strings["Layout Help"] = "Aide à la mise en page"; -App::$strings["Poke"] = "Tapoter"; -App::$strings["Poke somebody"] = "Taquiner quelqu'un"; -App::$strings["Poke/Prod"] = "Tapoter/Encourager"; -App::$strings["Poke, prod or do other things to somebody"] = "Taquiner, pousser ou faire autre chose à quelqu'un"; -App::$strings["Recipient"] = "Destinataire"; -App::$strings["Choose what you wish to do to recipient"] = "Choisir ce que vous voulez faire au destinataire"; -App::$strings["Make this post private"] = "Rendre cette publication privée"; -App::$strings["Fetching URL returns error: %1\$s"] = "Récupération d'URL échouée : %1\$s"; +App::$strings["App installed."] = "Application installée."; +App::$strings["Malformed app."] = "Erreur de l'application - Malformée."; +App::$strings["Embed code"] = "Imbriquer le code"; +App::$strings["Edit App"] = "Modifier l'application"; +App::$strings["Create App"] = "Créer une application"; +App::$strings["Name of app"] = "Nom de l'application"; +App::$strings["Required"] = "Requis"; +App::$strings["Location (URL) of app"] = "Emplacement (URL) de l'application"; +App::$strings["Description"] = "Description"; +App::$strings["Photo icon URL"] = "URL de l'icône à utiliser pour cette photo"; +App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - facultatif"; +App::$strings["Categories (optional, comma separated list)"] = "Catégories (séparées par des virgules)"; +App::$strings["Version ID"] = "Identifiant de version"; +App::$strings["Price of app"] = "Prix de l'application"; +App::$strings["Location (URL) to purchase app"] = "Emplacement (URL) pour l'achat de l'application"; +App::$strings["No ratings"] = "Pas de note"; +App::$strings["Rating: "] = "Evaluation :"; +App::$strings["Website: "] = "Site web :"; +App::$strings["Description: "] = "Description :"; +App::$strings["Item not available."] = "Élément indisponible."; +App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s est %2\$s"; +App::$strings["Mood"] = "Humeur"; +App::$strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis"; +App::$strings["No more system notifications."] = "Pas d'autre notification du système."; +App::$strings["System Notifications"] = "Notifications du système"; App::$strings["Profile not found."] = "Profil introuvable."; App::$strings["Profile deleted."] = "Profil supprimé."; App::$strings["Profile-"] = "Profil-"; @@ -713,363 +884,288 @@ App::$strings["Dislikes"] = "N'aime pas"; App::$strings["Work/Employment"] = "Travail/Occupation"; App::$strings["Religion"] = "Religion/Croyance"; App::$strings["Political Views"] = "Opinions politiques"; +App::$strings["Gender"] = "Sexe"; App::$strings["Sexual Preference"] = "Préférences sexuelle"; App::$strings["Homepage"] = "Site Internet"; App::$strings["Interests"] = "Centres d'intérêt"; App::$strings["Profile updated."] = "Profil mis à jour."; -App::$strings["Hide your connections list from viewers of this profile"] = ""; +App::$strings["Hide your connections list from viewers of this profile"] = "Cacher la liste des relations pour les visiteurs de votre profile"; App::$strings["Edit Profile Details"] = "Modifier les détails du profil"; App::$strings["View this profile"] = "Voir ce profil"; App::$strings["Edit visibility"] = "Changer la visibilité"; -App::$strings["Profile Tools"] = ""; -App::$strings["Change cover photo"] = ""; +App::$strings["Profile Tools"] = "Ouitls pour votre profile"; +App::$strings["Change cover photo"] = "Modifier votre bannière"; App::$strings["Change profile photo"] = "Changer la photo du profil"; App::$strings["Create a new profile using these settings"] = "Créer un nouveau profil avec ces paramètres"; App::$strings["Clone this profile"] = "Cloner ce profil"; App::$strings["Delete this profile"] = "Supprimer ce profil"; App::$strings["Add profile things"] = "Ajouter des éléments de profil"; App::$strings["Personal"] = "Me concernant"; -App::$strings["Relation"] = ""; +App::$strings["Relation"] = "Contacts"; App::$strings["Miscellaneous"] = "Divers"; App::$strings["Import profile from file"] = "Importer le profil à partir d'un fichier"; App::$strings["Export profile to file"] = "Exporter le profil vers un fichier."; -App::$strings["Your gender"] = ""; -App::$strings["Marital status"] = ""; -App::$strings["Sexual preference"] = ""; -App::$strings["Profile name"] = ""; +App::$strings["Your gender"] = "Votre genre"; +App::$strings["Marital status"] = "Etat civil"; +App::$strings["Sexual preference"] = "préférence sexuelle"; +App::$strings["Profile name"] = "Nom du profile"; App::$strings["This is your default profile."] = "Ceci est votre profil par défaut."; -App::$strings["Your full name"] = ""; +App::$strings["Your full name"] = "Votre nom complet"; App::$strings["Title/Description"] = "Titre/description"; -App::$strings["Street address"] = ""; +App::$strings["Street address"] = "Rue"; App::$strings["Locality/City"] = "Ville"; App::$strings["Region/State"] = "Région"; -App::$strings["Postal/Zip code"] = ""; -App::$strings["Country"] = "Pays"; +App::$strings["Postal/Zip code"] = "Code postal"; App::$strings["Who (if applicable)"] = "Qui (si applicable)"; App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Exemples : marie123, Marie Deschamps, marie@exemple.com"; -App::$strings["Since (date)"] = ""; -App::$strings["Tell us about yourself"] = ""; +App::$strings["Since (date)"] = "Depuis (date)"; +App::$strings["Tell us about yourself"] = "Parlez nous de vous..."; +App::$strings["Homepage URL"] = "URL de mon site Internet :"; App::$strings["Hometown"] = "Ville de naissance"; -App::$strings["Political views"] = ""; -App::$strings["Religious views"] = ""; -App::$strings["Keywords used in directory listings"] = ""; +App::$strings["Political views"] = "Opinions politiques"; +App::$strings["Religious views"] = "Convictions religieuses"; +App::$strings["Keywords used in directory listings"] = "Mots clés pour l'annuaire"; App::$strings["Example: fishing photography software"] = "Exemple : escrime photographie modélisme"; App::$strings["Musical interests"] = "Goûts musicaux"; App::$strings["Books, literature"] = "Livres, littérature"; App::$strings["Television"] = "Télévision"; -App::$strings["Film/Dance/Culture/Entertainment"] = ""; +App::$strings["Film/Dance/Culture/Entertainment"] = "Cinéma/Danse/Culture/Divertissement"; App::$strings["Hobbies/Interests"] = "Loisirs/Centres d'intêret"; -App::$strings["Love/Romance"] = ""; -App::$strings["School/Education"] = ""; -App::$strings["Contact information and social networks"] = ""; +App::$strings["Love/Romance"] = "Amour/Relation amoureuse"; +App::$strings["School/Education"] = "Niveau d'étude"; +App::$strings["Contact information and social networks"] = "Coordonnées et autres réseaux sociaux"; App::$strings["My other channels"] = "Mes autres canaux"; App::$strings["Profile Image"] = "Image du profil"; -App::$strings["Edit Profiles"] = "Modifier les profils"; +App::$strings["Edit Profiles"] = "Modifier mes profils"; +App::$strings["Authorize application connection"] = "Autoriser l'application à se connecter"; +App::$strings["Return to your app and insert this Security Code:"] = "Revenez dans votre application et mettez le code de sécurité"; +App::$strings["Please login to continue."] = "Merci de vous identifier pour continuer."; +App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?"; +App::$strings["Total invitation limit exceeded."] = "Limite du nombre total d'invitation dépassée."; +App::$strings["%s : Not a valid email address."] = "%s : adresse courriel invalide."; +App::$strings["Please join us on \$Projectname"] = "Rejoignez-nous sur \$Projectname"; +App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limite d'invitations dépassée. Merci de contacter l'administration de votre site."; +App::$strings["%s : Message delivery failed."] = "%s : Échec de distribution du message."; +App::$strings["%d message sent."] = array( + 0 => "%d message envoyé.", + 1 => "%d messages envoyés.", +); +App::$strings["You have no more invitations available"] = "Vous ne disposez plus d'aucune invitation"; +App::$strings["Send invitations"] = "Envoyer des invitations"; +App::$strings["Enter email addresses, one per line:"] = "Entrez les adresses de courriel, une par ligne :"; +App::$strings["Your message:"] = "Votre message :"; +App::$strings["Please join my community on \$Projectname."] = "Rejoignez ma communauté sur \$Projectname."; +App::$strings["You will need to supply this invitation code:"] = "Vous devrez fournir le code suivant :"; +App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveur \$Projectname (ils sont tous inter-connectés)"; +App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal \$Projectname dans la barre de recherche du site."; +App::$strings["or visit"] = "ou rendez-vous sur"; +App::$strings["3. Click [Connect]"] = "3. Cliquez sur [Ajouter]"; +App::$strings["About this site"] = "À propos de ce site"; +App::$strings["Site Name"] = "Nom du site"; +App::$strings["Administrator"] = "Administrateur"; +App::$strings["Software and Project information"] = "Informations sur le logiciel et le projet"; +App::$strings["This site is powered by \$Projectname"] = "Ce site est propulsé par "; +App::$strings["Federated and decentralised networking and identity services provided by Zot"] = "Réseau fédéré et décentralisé, et services d'identification fournies par Zot"; +App::$strings["Version %s"] = "Version %s"; +App::$strings["Project homepage"] = "Page d'accueil du projet"; +App::$strings["Developer homepage"] = "Page d'accueil des développeurs"; +App::$strings["Create Channel"] = "Créer le canal"; +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."] = "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines."; +App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur."; +App::$strings["\$Projectname Server - Setup"] = "Serveur \$Projectname - configuration"; +App::$strings["Could not connect to database."] = "Impossible de se connecter à la base de données."; +App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Impossible de se connecter à l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS."; +App::$strings["Could not create table."] = "Impossible de créer la table."; +App::$strings["Your site database has been installed."] = "La base de données de votre site a été installée."; +App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin)."; +App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Merci de consulter le fichier \"install/INSTALL.txt\"."; +App::$strings["System check"] = "Vérification du système"; +App::$strings["Check again"] = "Re-vérifier"; +App::$strings["Database connection"] = "Connexion à la base de données"; +App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Pour installer \$Projectname, nous avons besoin de savoir comment se connecter à votre base de données."; +App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Merci de contacter votre prestataire d'hébergement ou votre administrateur de site si vous avez des questions à propos de ces paramètres."; +App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer."; +App::$strings["Database Server Name"] = "Nom du serveur de base de données"; +App::$strings["Default is 127.0.0.1"] = "Par défaut 127.0.0.1"; +App::$strings["Database Port"] = "Port de la base de données"; +App::$strings["Communication port number - use 0 for default"] = "Numéro TCP du port - utilisez 0 pour la valeur par défaut"; +App::$strings["Database Login Name"] = "Identifiant de connexion à la Base de Données"; +App::$strings["Database Login Password"] = "Mot de passe de connexion à la Base de Données"; +App::$strings["Database Name"] = "Nom de la Base de Données"; +App::$strings["Database Type"] = "Type de base de données"; +App::$strings["Site administrator email address"] = "Adresse de courriel de l'administrateur du site"; +App::$strings["Your account email address must match this in order to use the web admin panel."] = "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web."; +App::$strings["Website URL"] = "URL du site web"; +App::$strings["Please use SSL (https) URL if available."] = "Veuillez utiliser SSL/TLS (https) si disponible."; +App::$strings["Please select a default timezone for your website"] = "Veuillez choisir un fuseau horaire par défaut pour votre site"; +App::$strings["Site settings"] = "Paramètres du site"; +App::$strings["PHP version 5.5 or greater is required."] = "PHP version 5.5 ou supérieur est requis"; +App::$strings["PHP version"] = "Version de PHP"; +App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Impossible de trouver une version CLI de PHP dans le PATH du serveur 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."] = "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la synchronisation en arrière-plan via cron."; +App::$strings["PHP executable path"] = "Chemin vers l'éxecutable PHP"; +App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans."; +App::$strings["Command line PHP"] = "PHP en ligne de commande (CLI)"; +App::$strings["Unable to check command line PHP, as shell_exec() is disabled. This is required."] = "Impossible de vérifier la ligne de commande PHP, car shell_exec () est désactivé. Ceci est nécessaire."; +App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée."; +App::$strings["This is required for message delivery to work."] = "Elle est nécessaire pour la distribution des messages."; +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."] = "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois."; +App::$strings["You can adjust these settings in the server php.ini file."] = "Vous pouvez ajuster ces paramètres dans le fichier php.ini du serveur."; +App::$strings["PHP upload limits"] = "Limites de téléversement de PHP"; +App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Erreur : la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement"; +App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\"."; +App::$strings["Generate encryption keys"] = "Générer les clefs de chiffrement"; +App::$strings["libCurl PHP module"] = "module PHP libCurl"; +App::$strings["GD graphics PHP module"] = "module PHP GD graphics"; +App::$strings["OpenSSL PHP module"] = "module PHP OpenSSL"; +App::$strings["PDO database PHP module"] = "module PDO de la base de données PHP"; +App::$strings["mb_string PHP module"] = "module PHP mb_string"; +App::$strings["xml PHP module"] = "module PHP xml"; +App::$strings["Apache mod_rewrite module"] = "module Apache mod_rewrite"; +App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erreur : le module mod-rewrite du serveur web Apache est requis, mais pas installé."; +App::$strings["exec"] = "exécuter"; +App::$strings["Error: exec is required but is either not installed or has been disabled in php.ini"] = "Erreur: exec est requis mais soit il n'est pas installé, soit il a été désactivé dans php.ini"; +App::$strings["shell_exec"] = "shell_exec"; +App::$strings["Error: shell_exec is required but is either not installed or has been disabled in php.ini"] = "Erreur: shell_exec est requis mais soit il n'est pas installé, soit il a été désactivé dans php.ini"; +App::$strings["Error: libCURL PHP module required but not installed."] = "Erreur : le module libCURL de PHP est requis, mais pas installé."; +App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Erreur : le module GD de PHP avec support JPEG est requis, mais pas installé."; +App::$strings["Error: openssl PHP module required but not installed."] = "Erreur : le module openssl de PHP est requis, mais pas installé."; +App::$strings["Error: PDO database PHP module required but not installed."] = "Erreur: le module PDO de base de données PHP est requis mais n'est pas installé."; +App::$strings["Error: mb_string PHP module required but not installed."] = "Erreur : le module mb_string de PHP est requis, mais pas installé."; +App::$strings["Error: xml PHP module required for DAV but not installed."] = "Erreur : le module xml de PHP est requis pour le DAV, mais pas installé."; +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'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable."; +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."] = "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit."; +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."] = "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de \$Projectname."; +App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées."; +App::$strings[".htconfig.php is writable"] = "Le fichier .htconfig.php est accessible en écriture"; +App::$strings["This software uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Ce logiciel utilise Smarty3 comme moteur de modèles pour afficher ses vues Web. Smarty3 compile ses modèles en PHP pour accélérer le rendu."; +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."] = "Afin de stocker ces modèles compilés, le serveur Web doit disposer d'un accès en écriture au répertoire %s selon le dossier Web racine."; +App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire."; +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."] = "Note: Comme mesure de sécurité, assurez vous de donner les droits d'écriture au serveur web sur %s uniquement, pas sur les fichiers individuels (.tpl) qu'il contient."; +App::$strings["%s is writable"] = "Permission d'écriture sur %s activée"; +App::$strings["This software uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the top level web folder"] = "Ce logiciel utilise le répertoire de stockage pour enregistrer les fichiers téléversés. Le serveur Web doit disposer d'un accès en écriture au répertoire de stockage selon le dossier web racine."; +App::$strings["store is writable"] = "'store' est accessible en écriture"; +App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Le certificat SSL/TLS n'a pas pu être validé. Merci de le corriger, ou de désactiver l'accès https à ce site (non recommandé)."; +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!"] = "Si votre serveur accepte les connexions https ou s'il permet les connexions sur le port TCP 443 (le port utilisé par le protocole https), vous DEVEZ utiliser un certificat valide. Vous ne DEVEZ PAS utiliser un certificat que vous avez vous-mêmes signé !"; +App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Nous avons ajouté cette contrainte pour éviter que vos publications publiques ne fassent référence par exemple à des images sur votre propre hub."; +App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Si votre certificat n'est pas reconnu, les membres des autres sites (qui eux peuvent avoir des certificats valides) recevront des messages d'avertissement sur leur propre site se plaignant de problèmes de sécurité."; +App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ceci peut causer des problèmes d'ergonomie ailleurs (pas seulement sur votre site), nous devons donc insister sur ce prérequis."; +App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Il existe des autorités de certification qui vous fourniront gratuitement un certificat valide."; +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."] = "Si vous êtes certain que le certificat est valide et signé par une autorité de confiance, vérifiez si l'installation d'un certificat intermédiaire aurait échoué. Ceux-ci ne sont normalement pas requis par les navigateurs, mais ils sont requis pour les communications entre serveurs."; +App::$strings["SSL certificate validation"] = "Validation du certificat SSL/TLS"; +App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Vérifiez votre configuration serveur. Test :"; +App::$strings["Url rewrite is working"] = "La réécriture d'URL fonctionne"; +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."] = "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web."; +App::$strings["Errors encountered creating database tables."] = "Erreurs rencontrées pendant la création de tables de BDD."; +App::$strings["<h1>What next</h1>"] = "<h1>Et maintenant</h1>"; +App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT : Vous devez créer [manuellement] une tâche planifiée pour les mises à jour du réseau."; +App::$strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme vues"; +App::$strings["Poke"] = "Tapoter"; +App::$strings["Poke somebody"] = "Taquiner quelqu'un"; +App::$strings["Poke/Prod"] = "Tapoter/Encourager"; +App::$strings["Poke, prod or do other things to somebody"] = "Taquiner, pousser ou faire autre chose à quelqu'un"; +App::$strings["Recipient"] = "Destinataire"; +App::$strings["Choose what you wish to do to recipient"] = "Choisir ce que vous voulez faire au destinataire"; +App::$strings["Make this post private"] = "Rendre cette publication privée"; +App::$strings["Unable to find your hub."] = "Impossible de trouver votre hub."; +App::$strings["Post successful."] = "Publication réussie."; +App::$strings["Unable to locate original post."] = "Impossible de localiser la publication initiale."; +App::$strings["Empty post discarded."] = "Publication vide annulée."; +App::$strings["Executable content type not permitted to this channel."] = "Les contenus de type 'exécutable' ne sont pas autorisés sur ce canal."; +App::$strings["Duplicate post suppressed."] = "Publication en doublon supprimée."; +App::$strings["System error. Post not saved."] = "Erreur système. Publication non sauvegardée."; +App::$strings["Unable to obtain post information from database."] = "Impossible d'obtenir les informations de publication depuis la base de données."; +App::$strings["You have reached your limit of %1$.0f top level posts."] = "Vous avez atteint votre limite de %1$.0f contributions \"racines\"."; +App::$strings["You have reached your limit of %1$.0f webpages."] = "Vous avez atteint votre limite de %1$.0f pages web."; +App::$strings["This setting requires special processing and editing has been blocked."] = "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées."; +App::$strings["Configuration Editor"] = "Editeur de configuration"; +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."] = "Attention :modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité."; +App::$strings["vcard"] = "vcard"; +App::$strings["Blocks"] = "Blocs"; +App::$strings["Block Title"] = "Titre du bloc"; +App::$strings["Layouts"] = "Mises-en-page"; +App::$strings["Help"] = "Aide"; +App::$strings["Comanche page description language help"] = "Aide sur le langage de description de page Comanche"; +App::$strings["Layout Description"] = "Description de la mise en page"; +App::$strings["Download PDL file"] = "Télécharger le fichier PDL"; +App::$strings["Website:"] = "Site web :"; +App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal distant [%s] (encore inconnu sur ce site)"; +App::$strings["Rating (this information is public)"] = "Evaluation (cette information est publique)"; +App::$strings["Optionally explain your rating (this information is public)"] = "Explication facultative de votre évaluation (cette information est publique)"; App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement."; +App::$strings["Use Photo for Profile"] = "Utiliser la photo pour le profil"; App::$strings["Upload Profile Photo"] = "Téléverser une photo de profil"; +App::$strings["Use"] = "Utiliser"; +App::$strings["Calendar entries imported."] = "Entrées du calendrier importées."; +App::$strings["No calendar entries found."] = "Aucune entrée du calendrier trouvée."; +App::$strings["Event can not end before it has started."] = "La fin de l'événement ne peut être antérieure à son début."; +App::$strings["Unable to generate preview."] = "Impossible de générer l'aperçu."; +App::$strings["Event title and start time are required."] = "Un titre et une date de début sont requises pour l'événement."; +App::$strings["Event not found."] = "Événement introuvable."; +App::$strings["Edit event title"] = "Modifier le titre de l'événement"; +App::$strings["Event title"] = "Titre de l'événement"; +App::$strings["Categories (comma-separated list)"] = "Catégories (séparées par des virgules)"; +App::$strings["Edit Category"] = "Modifier la catégorie"; +App::$strings["Category"] = "Catégorie"; +App::$strings["Edit start date and time"] = "Modifier la date et l'heure de début"; +App::$strings["Start date and time"] = "Date et heure de début"; +App::$strings["Finish date and time are not known or not relevant"] = "Date et heure de fin inconnues ou sans objet"; +App::$strings["Edit finish date and time"] = "Modifier la date et l'heure de fin"; +App::$strings["Finish date and time"] = "Date et heure de fin"; +App::$strings["Adjust for viewer timezone"] = "Ajuster au fuseau horaire du visiteur"; +App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde."; +App::$strings["Edit Description"] = "Modifier la description"; +App::$strings["Edit Location"] = "Modifier l'emplacement"; +App::$strings["Permission settings"] = "Gérer les autorisations"; +App::$strings["Timezone:"] = "Fuseau horaire :"; +App::$strings["Advanced Options"] = "Options avancées"; +App::$strings["Edit event"] = "Modifier l'événement"; +App::$strings["Delete event"] = "Supprimer l'événement"; +App::$strings["calendar"] = "calendrier"; +App::$strings["Month"] = "Mois"; +App::$strings["Week"] = "Semaine"; +App::$strings["Day"] = "Jour"; +App::$strings["Event removed"] = "Événement supprimé"; +App::$strings["Failed to remove event"] = "Impossible de supprimer l'événement"; +App::$strings["No channel."] = "Pas de canal."; +App::$strings["Common connections"] = "Contacts en commun"; +App::$strings["No connections in common."] = "Pas de contacts en commun."; +App::$strings["toggle full screen mode"] = "Basculer en mode plein écran."; App::$strings["Invalid profile identifier."] = "Identifiant de profil invalide."; App::$strings["Profile Visibility Editor"] = "Éditeur de visibilité de profil"; App::$strings["Profile"] = "Profil"; App::$strings["Click on a contact to add or remove."] = "Cliquer sur un contact pour l'ajouter ou le retirer."; App::$strings["Visible To"] = "Visible par"; -App::$strings["Public Hubs"] = "Instances publiques"; -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."] = "Les sites listés permettent l'enregistrement public de comptes pour le réseau \$Projectname. Tous les sites du réseau sont reliés entre eux, être membre d'un site revient à être membre de tous. Certains sites peuvent demander une souscription ou proposer différents niveaux de service. Chaque site <strong>peut</strong> fournir des détails supplémentaires."; -App::$strings["Hub URL"] = "URL du site"; -App::$strings["Access Type"] = "Type d'accès"; -App::$strings["Registration Policy"] = "Politique d'inscription"; -App::$strings["Stats"] = ""; -App::$strings["Software"] = ""; -App::$strings["Ratings"] = "Evaluations"; -App::$strings["Rate"] = "Evaluer"; -App::$strings["Website:"] = "Site web :"; -App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal distant [%s] (encore inconnu sur ce site)"; -App::$strings["Rating (this information is public)"] = "Evaluation (cette information est publique)"; -App::$strings["Optionally explain your rating (this information is public)"] = "Explication facultative de votre évaluation (cette information est publique)"; -App::$strings["No ratings"] = "Pas de note"; -App::$strings["Rating: "] = "Evaluation :"; -App::$strings["Website: "] = "Site web :"; -App::$strings["Description: "] = "Description :"; -App::$strings["Theme settings updated."] = "Paramètres du thème mis à jour."; -App::$strings["# Accounts"] = "# Comptes"; -App::$strings["# blocked accounts"] = "# comptes bloqués"; -App::$strings["# expired accounts"] = "# comptes expirés"; -App::$strings["# expiring accounts"] = "# comptes expirant"; -App::$strings["# Channels"] = "# Canaux"; -App::$strings["# primary"] = "# primaire"; -App::$strings["# clones"] = "# clones"; -App::$strings["Message queues"] = "File des messages"; -App::$strings["Your software should be updated"] = ""; -App::$strings["Administration"] = "Administration"; -App::$strings["Summary"] = "Résumé"; -App::$strings["Registered accounts"] = "Comptes enregistrés"; -App::$strings["Pending registrations"] = "Inscriptions en attente"; -App::$strings["Registered channels"] = "Canaux enregistrés"; -App::$strings["Active plugins"] = "Greffons actifs"; -App::$strings["Version"] = "Version"; -App::$strings["Repository version (master)"] = ""; -App::$strings["Repository version (dev)"] = ""; -App::$strings["Site settings updated."] = "Paramètres du site sauvegardés."; -App::$strings["Default"] = "Défaut"; -App::$strings["mobile"] = "mobile"; -App::$strings["experimental"] = "expérimental"; -App::$strings["unsupported"] = "non maintenu"; -App::$strings["Yes - with approval"] = "Oui - avec approbation"; -App::$strings["My site is not a public server"] = "Mon site n'est pas un serveur public"; -App::$strings["My site has paid access only"] = "Mon site est à accès payant uniquement"; -App::$strings["My site has free access only"] = "Mon site est gratuit uniquement"; -App::$strings["My site offers free accounts with optional paid upgrades"] = "Mon site offre des comptes gratuits avec des améliorations payantes facultatives"; -App::$strings["Site"] = "Site"; -App::$strings["Registration"] = "Inscription"; -App::$strings["File upload"] = "Envoi de fichier"; -App::$strings["Policies"] = "Stratégies"; -App::$strings["Advanced"] = "Avancé"; -App::$strings["Site name"] = "Nom du site"; -App::$strings["Banner/Logo"] = "Bannière/logo"; -App::$strings["Administrator Information"] = "Informations de l'administrateur"; -App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Coordonnées de l'administrateur du site. Affichées sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici"; -App::$strings["System language"] = "Langue du système"; -App::$strings["System theme"] = "Thème du système"; -App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>"; -App::$strings["Mobile system theme"] = "Thème par défaut pour les mobiles"; -App::$strings["Theme for mobile devices"] = "Thème pour les mobiles"; -App::$strings["Allow Feeds as Connections"] = "Autoriser les Flux (RSS) comme contacts"; -App::$strings["(Heavy system resource usage)"] = "(Impact important sur les ressources)"; -App::$strings["Maximum image size"] = "Taille maximale des images"; -App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite."; -App::$strings["Does this site allow new member registration?"] = "Est-ce que l'enregistrement de nouveaux membres est autorisé sur ce site ?"; -App::$strings["Invitation only"] = "Sur invitation seulement"; -App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "N'autoriser que les nouvelles inscriptions avec code d'invitation. La stratégie d'inscription ci-dessus doit être mise sur \"Oui\"."; -App::$strings["Which best describes the types of account offered by this hub?"] = "Quelle est la meilleure description des types de comptes proposés sur ce hub ?"; -App::$strings["Register text"] = "Texte d'inscription"; -App::$strings["Will be displayed prominently on the registration page."] = "Sera affiché de manière bien visible sur le formulaire d'inscription."; -App::$strings["Site homepage to show visitors (default: login box)"] = "Page d'accueil du site à montrer aux visiteurs (par défaut :boîte de dialogue de connexion)"; -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."] = "exemple :'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier."; -App::$strings["Preserve site homepage URL"] = "Préserver l'adresse d'accueil du site"; -App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger"; -App::$strings["Accounts abandoned after x days"] = "Les comptes sont abandonnés après x jours"; -App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviter de gaspiller les ressources du système en interrogeant des hubs distants pour des canaux abandonnés. Mettez 0 pour ne pas avoir de limite de temps."; -App::$strings["Allowed friend domains"] = "Domaines amicaux autorisés"; -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 de noms de domaines séparés par des virgules pour lesquels ce site acceptera les demandes d'amitié. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."; -App::$strings["Allowed email domains"] = "Domaines de courriels autorisés"; -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 de noms de domaines séparés par des virgules dont les adresses de courriel seront autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."; -App::$strings["Not allowed email domains"] = "Domaines de courriel non autorisés"; -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."] = "Liste de noms de domaines - séparés par des virgules - dont les adresses de courriel ne seront pas autorisées lors de l'inscription à ce site. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines, sauf si des domaines autorisés ont été définis."; -App::$strings["Verify Email Addresses"] = "Demander vérification des adresses de courriel"; -App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé)."; -App::$strings["Force publish"] = "Publicité forcée"; -App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Cocher pour forcer la publication de tous les profils du site dans l'annuaire."; -App::$strings["Import Public Streams"] = "Flux publics importés"; -App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention : ce contenu n'est pas modéré."; -App::$strings["Login on Homepage"] = ""; -App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré."; -App::$strings["Enable context help"] = ""; -App::$strings["Display contextual help for the current page when the help button is pressed."] = ""; -App::$strings["Directory Server URL"] = "URL du serveur d'annuaire"; -App::$strings["Default directory server"] = "Serveur d'annuaire par défaut"; -App::$strings["Proxy user"] = "Utilisateur du proxy"; -App::$strings["Proxy URL"] = "URL du proxy"; -App::$strings["Network timeout"] = "Délai maximal du réseau"; -App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (non recommandé)."; -App::$strings["Delivery interval"] = "Intervalle de distribution"; -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."] = "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées : 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés."; -App::$strings["Deliveries per process"] = "Distributions par processus"; -App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Nombre de distributions à tenter au sein d'un seul processus système. Ajuster si nécessaire pour affiner la performance du système. Recommandé :1-5."; -App::$strings["Poll interval"] = "Intervalle de scrutation"; -App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution."; -App::$strings["Maximum Load Average"] = "Charge maximale moyenne"; -App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Charge système maximale au-delà de laquelle distribution et scrutation sont reportées - par défaut 50."; -App::$strings["Expiration period in days for imported (grid/network) content"] = "Délai d'expiration pour le contenu importé (réseau)"; -App::$strings["0 for no expiration of imported content"] = "0 pour ne pas expirer le contenu importé"; -App::$strings["Off"] = "Inactif"; -App::$strings["On"] = "Actif"; -App::$strings["Lock feature %s"] = "Verrouiller fonctionnalité %s"; -App::$strings["Manage Additional Features"] = "Gérer les fonctionnalités additionnelles"; -App::$strings["No server found"] = "Serveur introuvable"; -App::$strings["ID"] = "Identifiant"; -App::$strings["for channel"] = "pour le canal"; -App::$strings["on server"] = "sur le serveur"; -App::$strings["Server"] = "Serveur"; -App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = ""; -App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = ""; -App::$strings["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."] = ""; -App::$strings["Security"] = "Sécurité"; -App::$strings["Block public"] = "Bloquer \"public\""; -App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Sélectionner pour ne permettre l'accès aux pages personnelles \"publiques\" du site qu'aux personnes authentifiées, pas aux personnes anonymes du web."; -App::$strings["Set \"Transport Security\" HTTP header"] = ""; -App::$strings["Set \"Content Security Policy\" HTTP header"] = ""; -App::$strings["Allow communications only from these sites"] = "N'autorisez que les communications venant de ces sites"; -App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un site par ligne. Laisser vide pour autoriser les communications de tous les sites, par défaut."; -App::$strings["Block communications from these sites"] = "Bloquer les communications de ces sites"; -App::$strings["Allow communications only from these channels"] = "N'autoriser que les communications de ces canaux"; -App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (adresse) par ligne. Laisser vide pour autoriser les communications de tous les canaux, par défaut"; -App::$strings["Block communications from these channels"] = "Bloquer les communications de ces canaux"; -App::$strings["Only allow embeds from secure (SSL) websites and links."] = ""; -App::$strings["Allow unfiltered embedded HTML content only from these domains"] = ""; -App::$strings["One site per line. By default embedded content is filtered."] = ""; -App::$strings["Block embedded HTML from these domains"] = "Bloquer le HTML embarqué à partir de ces domaines"; -App::$strings["Update has been marked successful"] = "La mise à jour a été marquée comme réussie"; -App::$strings["Executing %s failed. Check system logs."] = "L'éxecution de %s a échoué. Merci de vérifier les journaux du système."; -App::$strings["Update %s was successfully applied."] = "La mise à jour %s a été appliquée avec succès."; -App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non."; -App::$strings["Update function %s could not be found."] = "La fonction de mise à jour %s est introuvable."; -App::$strings["No failed updates."] = "Aucune mise à jour défaillante."; -App::$strings["Failed Updates"] = "Mises à jour défaillantes"; -App::$strings["Mark success (if update was manually applied)"] = "Marquer comme réussie (si la mise à jour a été réalisée manuellement)"; -App::$strings["Attempt to execute this update step automatically"] = "Tenter de réaliser cette étape de mise à jour automatiquement"; -App::$strings["Queue Statistics"] = "Statistiques de file d'attente"; -App::$strings["Total Entries"] = "Nombre d'entrées total"; -App::$strings["Priority"] = "Priorité"; -App::$strings["Destination URL"] = "URL de destination"; -App::$strings["Mark hub permanently offline"] = "Marquer le hub comme étant hors ligne de manière permanente"; -App::$strings["Empty queue for this hub"] = "Vider la file d'attente pour ce hub"; -App::$strings["Last known contact"] = "Dernier contact connu"; -App::$strings["%s account blocked/unblocked"] = array( - 0 => "%s compte bloqué/débloqué", - 1 => "%s comptes bloqués/débloqués", -); -App::$strings["%s account deleted"] = array( - 0 => "%s compte supprimé", - 1 => "%s comptes supprimés", -); -App::$strings["Account not found"] = "Compte introuvable"; -App::$strings["Account '%s' deleted"] = "Compte '%s' supprimé"; -App::$strings["Account '%s' blocked"] = "Compte '%s' bloqué"; -App::$strings["Account '%s' unblocked"] = "Compte '%s' débloqué"; -App::$strings["Accounts"] = "Comptes"; -App::$strings["select all"] = "tout sélectionner"; -App::$strings["Registrations waiting for confirm"] = ""; -App::$strings["Request date"] = "Date de la demande"; -App::$strings["No registrations."] = "Pas d'inscriptions."; -App::$strings["Deny"] = "Refuser"; -App::$strings["All Channels"] = "Tous les canaux"; -App::$strings["Register date"] = "Date d'inscription"; -App::$strings["Last login"] = "Dernière connexion"; -App::$strings["Expires"] = "Expire le"; -App::$strings["Service Class"] = "Classe de service"; -App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Les comptes sélectionnés seront supprimés !\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?"; -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?"] = "Le compte {0} sera supprimé !\\n\\nTout ce que cet utilisateur a publié sur ce site sera détruit de manière définitive !\\n\\nÊtes-vous sûr ?"; -App::$strings["%s channel censored/uncensored"] = array( - 0 => "%s canal censuré/dé-censuré", - 1 => "%s canaux censurés/dé-censurés", -); -App::$strings["%s channel code allowed/disallowed"] = array( - 0 => "code autorisé/interdit pour %s canal", - 1 => "code autorisé/interdit pour %s canaux", -); -App::$strings["%s channel deleted"] = array( - 0 => "%s canal supprimé", - 1 => "%s canaux supprimés", -); -App::$strings["Channel not found"] = "Canal introuvable"; -App::$strings["Channel '%s' deleted"] = "Canal '%s' supprimé"; -App::$strings["Channel '%s' censored"] = "Canal '%s' censuré"; -App::$strings["Channel '%s' uncensored"] = "Canal '%s' non censuré"; -App::$strings["Channel '%s' code allowed"] = "Code autorisé pour le canal '%s'"; -App::$strings["Channel '%s' code disallowed"] = "Code interdit pour le canal '%s'"; -App::$strings["Channels"] = "Canaux"; -App::$strings["Censor"] = "Censurer"; -App::$strings["Uncensor"] = "Ne plus censurer"; -App::$strings["Allow Code"] = "Autoriser le code"; -App::$strings["Disallow Code"] = "Interdire le code"; -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?"] = "Les canaux sélectionnés seront supprimés !\\n\\nTout ce qui a été publié dans ces canaux sur ce site sera définitivement supprimé !\\n\\nÊtes-vous sûr ?"; -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?"] = "Le canal {0} sera supprimé !\\n\\nTout ce qui a été publié sur ce canal sera définitivement supprimé !\\n\\nÊtes-vous sûr(e) ?"; -App::$strings["Plugin %s disabled."] = "Greffon %s désactivé."; -App::$strings["Plugin %s enabled."] = "Greffon %s activé."; -App::$strings["Disable"] = "Désactiver"; -App::$strings["Enable"] = "Activer"; -App::$strings["Plugins"] = "Greffons"; -App::$strings["Toggle"] = "(Dés)activer"; -App::$strings["Settings"] = "Paramètres"; -App::$strings["Author: "] = "Auteur :"; -App::$strings["Maintainer: "] = "Maintenu par :"; -App::$strings["Minimum project version: "] = "Version minimum du projet :"; -App::$strings["Maximum project version: "] = "Version maximum du projet :"; -App::$strings["Minimum PHP version: "] = "Version minimum de PHP :"; -App::$strings["Requires: "] = "Requiert :"; -App::$strings["Disabled - version incompatibility"] = "Désactivé - version incompatible"; -App::$strings["Enter the public git repository URL of the plugin repo."] = ""; -App::$strings["Plugin repo git URL"] = ""; -App::$strings["Custom repo name"] = ""; -App::$strings["(optional)"] = ""; -App::$strings["Download Plugin Repo"] = ""; -App::$strings["Install new repo"] = ""; -App::$strings["Install"] = "Installer"; -App::$strings["Manage Repos"] = ""; -App::$strings["Installed Plugin Repositories"] = ""; -App::$strings["Install a New Plugin Repository"] = ""; -App::$strings["Update"] = "Mise à jour"; -App::$strings["Switch branch"] = ""; -App::$strings["No themes found."] = "Aucun thème trouvé."; -App::$strings["Screenshot"] = "Capture d'écran"; -App::$strings["Themes"] = "Thèmes"; -App::$strings["[Experimental]"] = "[Expérimental]"; -App::$strings["[Unsupported]"] = "[Non maintenu]"; -App::$strings["Log settings updated."] = "Paramètres du journal mis à jour."; -App::$strings["Logs"] = "Journaux"; -App::$strings["Clear"] = "Vider"; -App::$strings["Debugging"] = "Débogage"; -App::$strings["Log file"] = "Fichier du journal"; -App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = ""; -App::$strings["Log level"] = "Niveau de journalisation"; -App::$strings["New Profile Field"] = "Nouveau champ de profil"; -App::$strings["Field nickname"] = "Nom court du champ"; -App::$strings["System name of field"] = "Nom système du champ"; -App::$strings["Input type"] = "Type de champ"; -App::$strings["Field Name"] = "Nom du champ"; -App::$strings["Label on profile pages"] = "Étiquette sur les pages de profil"; -App::$strings["Help text"] = "Aide à la saisie"; -App::$strings["Additional info (optional)"] = "Informations additionnelles (facultatif)"; -App::$strings["Field definition not found"] = "Définition du champ introuvable"; -App::$strings["Edit Profile Field"] = "Modifier le champ de profil"; -App::$strings["Profile Fields"] = "Champs de profil"; -App::$strings["Basic Profile Fields"] = "Champs de profil de base"; -App::$strings["Advanced Profile Fields"] = "Champs de profil avancés"; -App::$strings["(In addition to basic fields)"] = "(en plus des champs de base)"; -App::$strings["All available fields"] = "Tous les champs disponibles"; -App::$strings["Custom Fields"] = "Champs personnalisés"; -App::$strings["Create Custom Field"] = "Créer un champ personnalisé"; -App::$strings["App installed."] = "Application installée."; -App::$strings["Malformed app."] = "Erreur de l'application - Malformée."; -App::$strings["Embed code"] = "Imbriquer le code"; -App::$strings["Edit App"] = "Modifier l'application"; -App::$strings["Create App"] = "Créer une application"; -App::$strings["Name of app"] = "Nom de l'application"; -App::$strings["Location (URL) of app"] = "Emplacement (URL) de l'application"; -App::$strings["Photo icon URL"] = "URL de l'icône à utiliser pour cette photo"; -App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixels - facultatif"; -App::$strings["Categories (optional, comma separated list)"] = ""; -App::$strings["Version ID"] = "Identifiant de version"; -App::$strings["Price of app"] = "Prix de l'application"; -App::$strings["Location (URL) to purchase app"] = "Emplacement (URL) pour l'achat de l'application"; +App::$strings["You must be logged in to see this page."] = "Vous devez vous connecter pour voir cette page."; +App::$strings["Posts and comments"] = "Publications et commentaires"; +App::$strings["Only posts"] = "Seulement les publications"; +App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permissions insuffisantes. Demande redirigée vers la page du profil."; +App::$strings["No valid account found."] = "Aucun compte valide trouvé."; +App::$strings["Password reset request issued. Check your email."] = "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels."; +App::$strings["Site Member (%s)"] = "Membre du site (%s)"; +App::$strings["Password reset requested at %s"] = "Demande de réinitialisation du mot de passe sur %s"; +App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué."; +App::$strings["Password Reset"] = "Réinitialiser le mot de passe"; +App::$strings["Your password has been reset as requested."] = "Votre mot de passe a bien été réinitialisé."; +App::$strings["Your new password is"] = "Votre nouveau mot de passe est"; +App::$strings["Save or copy your new password - and then"] = "Enregistrez ou copiez votre nouveau mot de passe, puis"; +App::$strings["click here to login"] = "cliquez ici pour vous connecter"; +App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Votre mot de passe peut être changé depuis la page des <em>Paramètres</em> une fois connecté."; +App::$strings["Your password has changed at %s"] = "Votre mot de passe de %s a été changé"; +App::$strings["Forgot your Password?"] = "Mot de passe oublié ?"; +App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions."; +App::$strings["Email Address"] = "Adresse de courriel"; +App::$strings["Reset"] = "Réinitialiser"; App::$strings["Select a bookmark folder"] = "Choisir un dossier de favoris"; App::$strings["Save Bookmark"] = "Enregistrer le favori"; App::$strings["URL of bookmark"] = "URL du favori"; App::$strings["Or enter new bookmark folder name"] = "Ou entrez un nouveau nom de dossier de favoris"; -App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Nombre d'inscriptions quotidiennes dépassé. Merci d'essayer à nouveau demain."; -App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Merci d'indiquer votre adhésion aux conditions de service. L'inscription a échoué."; -App::$strings["Passwords do not match."] = "Les mots de passe ne concordent pas."; -App::$strings["Registration successful. Please check your email for validation instructions."] = "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte."; -App::$strings["Your registration is pending approval by the site owner."] = "Votre inscription est en attente d'approbation par l'administrateur."; -App::$strings["Your registration can not be processed."] = "Votre inscription ne peut être traîtée."; -App::$strings["Registration on this hub is disabled."] = "La création de nouveaux comptes est désactivée pour ce site."; -App::$strings["Registration on this hub is by approval only."] = "La création de compte sur ce site est soumise à approbation."; -App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>"; -App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain."; -App::$strings["Terms of Service"] = "Conditions de service"; -App::$strings["I accept the %s for this website"] = "J'accepte les %s de ce site"; -App::$strings["I am over 13 years of age and accept the %s for this website"] = "J'ai plus de 13 ans et j'accepte les %s de ce site"; -App::$strings["Your email address"] = "Votre adresse de courriel"; -App::$strings["Choose a password"] = "Choisissez un mot de passe"; -App::$strings["Please re-enter your password"] = "Merci de saisir à nouveau votre mot de passe"; -App::$strings["Please enter your invitation code"] = "Merci de saisir votre code d'invitation"; -App::$strings["no"] = "non"; -App::$strings["yes"] = "oui"; -App::$strings["Membership on this site is by invitation only."] = "L'inscription à ce site se fait uniquement sur invitation."; -App::$strings["Register"] = "S'inscrire"; -App::$strings["Proceed to create your first channel"] = "Continuer pour créer votre premier canal"; +App::$strings["Channel added."] = "Canal ajouté."; +App::$strings["Authentication failed."] = "Échec de l'authentification."; +App::$strings["Remote Authentication"] = "Authentification distante"; +App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Entrez l'adresse de votre canal (par ex. moncanal@monsite.com)"; +App::$strings["Authenticate"] = "Authentifier"; App::$strings["Please login."] = "Merci de vous connecter."; App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un compte dans les 48 heures après avoir changé le mot de passe du compte."; App::$strings["Remove This Account"] = "Supprimer ce compte"; @@ -1080,32 +1176,139 @@ App::$strings["Please enter your password for verification:"] = "Merci de saisir App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Supprimer du réseau ce compte, tous ses canaux et tous les clones de ses canaux."; App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Par défaut, seules les instances des canaux situés sur ce hub seront supprimées du réseau"; App::$strings["Remove Account"] = "Supprimer le compte"; +App::$strings["Layout updated."] = "Mise en page mise à jour."; +App::$strings["Feature disabled."] = "Fonctionnalité désactivée"; +App::$strings["Edit System Page Description"] = "Modifier la description de la page du système"; +App::$strings["Layout not found."] = "Mise en page introuvable."; +App::$strings["Module Name:"] = "Nom du module :"; +App::$strings["Layout Help"] = "Aide à la mise en page"; +App::$strings["Export Channel"] = "Exporter le 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."] = "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus."; +App::$strings["Export Content"] = "Exporter le contenu"; +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."] = "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence."; +App::$strings["Export your posts from a given year."] = "Exporter vos publications d'une année en particulier"; +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."] = "Vous pouvez également exporter vos publications et conversations pour une année ou un mois particulier. Ajustez la date dans la barre de votre navigateur pour sélectionner d'autres dates. Si l'export échoue (possible en cas de pénurie de mémoire sur le serveur de votre hub), essayez à nouveau en sélectionnant un intervalle de dates plus petit."; +App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Pour sélectionner toutes les publications pour une année donnée, telle que cette année, visitez <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>"] = "Pour sélectionner toutes les publications pour un mois donné, par exemple janvier, visitez <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)."] = "Ces fichiers de contenu peuvent être importés ou restaurés en visitant <a href=\"%1\$s\">%2\$s</a> sur n'importe quel site hébergeant votre canal. Pour de meilleurs résultats merci de les importer par ordre chronologique (les plus anciens d'abord)."; +App::$strings["%d rating"] = array( + 0 => "%d évaluation", + 1 => "%d évaluations", +); +App::$strings["Gender: "] = "Sexe/genre :"; +App::$strings["Status: "] = "État :"; +App::$strings["Homepage: "] = "Site web :"; +App::$strings["Age:"] = "Age :"; +App::$strings["Location:"] = "Emplacement :"; +App::$strings["Description:"] = "Description :"; +App::$strings["Hometown:"] = "Ville natale :"; +App::$strings["About:"] = "À propos :"; +App::$strings["Connect"] = "Ajouter/Suivre"; +App::$strings["Public Forum:"] = "Forum public :"; +App::$strings["Keywords: "] = "Mots-clefs :"; +App::$strings["Don't suggest"] = "Ne pas suggérer"; +App::$strings["Common connections:"] = "Contacts en commun :"; +App::$strings["Global Directory"] = "Annuaire global"; +App::$strings["Local Directory"] = "Annuaire local"; +App::$strings["Finding:"] = "Recherche :"; +App::$strings["Channel Suggestions"] = "Canaux suggérés"; +App::$strings["next page"] = "page suivante"; +App::$strings["previous page"] = "page précédente"; +App::$strings["Sort options"] = "Options de tri"; +App::$strings["Alphabetic"] = "Alphabétique"; +App::$strings["Reverse Alphabetic"] = "Alphabétique inversé"; +App::$strings["Newest to Oldest"] = "Du plus récent au moins récent"; +App::$strings["Oldest to Newest"] = "Du moins récent du plus récent"; +App::$strings["No entries (some entries may be hidden)."] = "Pas d'entrées (certaines peuvent être cachées)."; +App::$strings["Away"] = "Absent"; +App::$strings["Online"] = "En ligne"; +App::$strings["No service class restrictions found."] = "Aucune restriction de classe de service trouvée."; +App::$strings["Import Webpage Elements"] = "Importer éléments de page web"; +App::$strings["Import selected"] = "Importation sélectionnée"; +App::$strings["Export Webpage Elements"] = "Exporter éléments de pages web"; +App::$strings["Export selected"] = "Export sélectionné"; +App::$strings["Webpages"] = "Pages web"; +App::$strings["Actions"] = "Actions"; +App::$strings["Page Link"] = "Lien vers la page"; +App::$strings["Page Title"] = "Titre de la page"; +App::$strings["Invalid file type."] = "Type de fichier invalide"; +App::$strings["Error opening zip file"] = "Erreur lors de l'ouverture du fichier zip"; +App::$strings["Invalid folder path."] = "Chemin du dossier invalide"; +App::$strings["No webpage elements detected."] = "Aucun élément de page Web détecté."; +App::$strings["Import complete."] = "Importation terminée"; App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un canal moins de 48 heures après avoir changé le mot de passe d'un compte."; App::$strings["Remove This Channel"] = "Supprimer ce canal"; App::$strings["This channel will be completely removed from the network. "] = "Ce canal sera complètement supprimé du réseau."; App::$strings["Remove this channel and all its clones from the network"] = "Supprimer ce canal ainsi que tous ses clones sur le réseau"; App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Par défaut, seule l'instance du canal présente sur ce hub sera supprimée du réseau"; App::$strings["Remove Channel"] = "Supprimer le canal"; -App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Nous avons rencontré un problème avec l'OpenID que vous nous avez fourni. Merci de vérifier que l'ID est correctement saisi."; -App::$strings["The error message was:"] = "Le message d'erreur était :"; -App::$strings["Authentication failed."] = "Échec de l'authentification."; -App::$strings["Remote Authentication"] = "Authentification distante"; -App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Entrez l'adresse de votre canal (par ex. moncanal@monsite.com)"; -App::$strings["Authenticate"] = "Authentifier"; -App::$strings["Items tagged with: %s"] = "Eléments étiquetés avec : %s"; -App::$strings["Search results for: %s"] = "Résultats de recherche pour : %s"; -App::$strings["No service class restrictions found."] = "Aucune restriction de classe de service trouvée."; +App::$strings["Files: shared with me"] = "Fichiers : partagés avec moi"; +App::$strings["NEW"] = "NOUVEAU"; +App::$strings["Remove all files"] = "Supprimer tous les fichiers"; +App::$strings["Remove this file"] = "Supprimer ce fichier"; +App::$strings["Profile Unavailable."] = "Profil non disponible."; +App::$strings["Not found"] = "Non trouvé"; +App::$strings["Invalid channel"] = "Canal invalide."; +App::$strings["Wikis"] = "Wikis"; +App::$strings["Download"] = "Téléchargement"; +App::$strings["Wiki name"] = "Nom du wiki"; +App::$strings["Content type"] = "Type de contenu"; +App::$strings["Create a status post for this wiki"] = "Créer un statut de publication pour ce wiki"; +App::$strings["Wiki not found"] = "Wiki introuvable"; +App::$strings["Rename page"] = "Renommer la page"; +App::$strings["Error retrieving page content"] = "Erreur lors de la récupération du contenu de la page"; +App::$strings["Revision Comparison"] = "Comparaison des révisions"; +App::$strings["Revert"] = "Revenir"; +App::$strings["Short description of your changes (optional)"] = "Description courte de vos modifications (optionnel)"; +App::$strings["Source"] = "Source"; +App::$strings["New page name"] = "Nouveau nom de la page"; +App::$strings["Embed image from photo albums"] = "Intégrer une image d'un album photo"; +App::$strings["Embed an image from your albums"] = "Intégrer une image de votre album photo"; +App::$strings["OK"] = "OK"; +App::$strings["Choose images to embed"] = "Choisissez des images à intégrer"; +App::$strings["Choose an album"] = "Choisir un album"; +App::$strings["Choose a different album"] = "Choisissez un autre album"; +App::$strings["Error getting album list"] = "Erreur venant de la liste de l'album"; +App::$strings["Error getting photo link"] = "Erreur provenant du lien de la photo"; +App::$strings["Error getting album"] = "Erreur venant de l'album"; +App::$strings["Error creating wiki. Invalid name."] = "Erreur lors de la création du wiki. Nom invalide."; +App::$strings["Wiki created, but error creating Home page."] = "Le wiki a été créé, mais une erreur est survenue lors de la création de sa page d'accueil."; +App::$strings["Error creating wiki"] = "Erreur lors de la création du wiki."; +App::$strings["Wiki delete permission denied."] = "Permission de supprimer le wiki refusée."; +App::$strings["Error deleting wiki"] = "Erreur durant la suppression du wiki"; +App::$strings["New page created"] = "Nouvelle page créée"; +App::$strings["Cannot delete Home"] = "Impossible de supprimer la racine"; +App::$strings["Current Revision"] = "Version actuelle"; +App::$strings["Selected Revision"] = "Version sélectionnée"; +App::$strings["You must be authenticated."] = "Vous devez être connecté."; +App::$strings["Failed to create source. No channel selected."] = "Impossible de créer la source. Aucun canal selectionné."; +App::$strings["Source created."] = "Source créée."; +App::$strings["Source updated."] = "Source mise à jour."; +App::$strings["*"] = "*"; +App::$strings["Channel Sources"] = "Sources du canal"; +App::$strings["Manage remote sources of content for your channel."] = "Gérer les sources distantes de contenu pour votre canal."; +App::$strings["New Source"] = "Nouvelle source"; +App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer le contenu sélectionné ou tout le contenu du canal suivant vers ce canal et le distribuer selon vos paramètres de canal."; +App::$strings["Only import content with these words (one per line)"] = "N'importer le contenu que s'il contient ces mots (un par ligne)"; +App::$strings["Leave blank to import all public content"] = "Laissez vide pour importer tout le contenu public"; +App::$strings["Channel Name"] = "Nom du canal"; +App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Ajouter les catégories suivantes aux publications importées à partir de cette source (séparer par des virgules)"; +App::$strings["Optional"] = "Facultatif"; +App::$strings["Source not found."] = "Source introuvable."; +App::$strings["Edit Source"] = "Modifier la source"; +App::$strings["Delete Source"] = "Supprimer la source"; +App::$strings["Source removed"] = "Source supprimée"; +App::$strings["Unable to remove source."] = "Impossible de supprimer la source."; +App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s suit %3\$s de %2\$s"; +App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ne suit plus %3\$s de %2\$s"; +App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Aucune suggestion disponible. Si le site est récent, merci de re-tenter dans 24 heures."; +App::$strings["Ignore/Hide"] = "Ignorer/Cacher"; +App::$strings["post"] = "publication"; +App::$strings["comment"] = "commentaire"; +App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s a étiqueté le %3\$s de %2\$s avec %4\$s"; +App::$strings["Additional Features"] = "Fonctionnalités additionnelles"; App::$strings["Name is required"] = "Le nom est requis"; App::$strings["Key and Secret are required"] = "Clef et secret sont requis"; -App::$strings["Not valid email."] = "Adresse de courriel non valide."; -App::$strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser."; -App::$strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau."; -App::$strings["Password verification failed."] = "La vérification du mot de passe a échoué."; -App::$strings["Passwords do not match. Password unchanged."] = "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé."; -App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé."; -App::$strings["Password changed."] = "Le mot de passe a été changé."; -App::$strings["Password update failed. Please try again."] = "La mise à jour du mot de passe a échoué. Merci d'essayer à nouveau."; -App::$strings["Settings updated."] = "Paramètres mis à jour."; App::$strings["Add application"] = "Ajouter une application"; App::$strings["Name of application"] = "Nom de l'application"; App::$strings["Consumer Key"] = "Clef client"; @@ -1114,47 +1317,45 @@ App::$strings["Consumer Secret"] = "Secret client"; App::$strings["Redirect"] = "Redirection"; App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement"; App::$strings["Icon url"] = "URL de l'icône"; -App::$strings["Optional"] = "Facultatif"; App::$strings["Application not found."] = "Application introuvable."; App::$strings["Connected Apps"] = "Applications connectées"; App::$strings["Client key starts with"] = "La clef partagée commence par"; App::$strings["No name"] = "Sans nom"; App::$strings["Remove authorization"] = "Révoquer l'autorisation"; -App::$strings["No feature settings configured"] = "Aucun paramètre de fonctionnalité configuré"; -App::$strings["Feature/Addon Settings"] = "Paramètres des extensions/greffons"; +App::$strings["Not valid email."] = "Adresse de courriel non valide."; +App::$strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser."; +App::$strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau."; +App::$strings["Technical skill level updated"] = "Niveau technique mis à jour"; +App::$strings["Password verification failed."] = "La vérification du mot de passe a échoué."; +App::$strings["Passwords do not match. Password unchanged."] = "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé."; +App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé."; +App::$strings["Password changed."] = "Le mot de passe a été changé."; +App::$strings["Password update failed. Please try again."] = "La mise à jour du mot de passe a échoué. Merci d'essayer à nouveau."; App::$strings["Account Settings"] = "Paramètres du compte"; App::$strings["Current Password"] = "Mot de passe actuel"; App::$strings["Enter New Password"] = "Entrez votre nouveau mot de passe"; App::$strings["Confirm New Password"] = "Confirmez le nouveau mot de passe"; App::$strings["Leave password fields blank unless changing"] = "Laissez les mots de passe vides si vous ne voulez pas les modifier"; +App::$strings["Your technical skill level"] = "Votre niveau technique"; +App::$strings["Used to provide a member experience matched to your comfort level"] = "Utilisé pour fournir une expérience utilisateur correspondant à votre niveau de confort"; App::$strings["Email Address:"] = "Adresse de courriel :"; App::$strings["Remove this account including all its channels"] = "Supprimer ce compte et tous ses canaux"; -App::$strings["Additional Features"] = "Fonctionnalités additionnelles"; -App::$strings["Connector Settings"] = "Paramètres du connecteur"; -App::$strings["No special theme for mobile devices"] = "Pas de thème spécifique aux mobiles"; -App::$strings["%s - (Experimental)"] = "%s - (Expérimental)"; -App::$strings["Display Settings"] = "Afficher les paramètres"; -App::$strings["Theme Settings"] = "Paramètres du thème"; -App::$strings["Custom Theme Settings"] = "Paramètres personnels du thème"; -App::$strings["Content Settings"] = "Paramètres liés au contenu"; -App::$strings["Display Theme:"] = "Afficher le thème :"; -App::$strings["Mobile Theme:"] = "Thème mobile :"; -App::$strings["Preload images before rendering the page"] = "Pré-charger les images avant d'afficher la page"; -App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera"; -App::$strings["Enable user zoom on mobile devices"] = "Permettre à l'utilisateur d'un mobile d'agrandir le contenu"; -App::$strings["Update browser every xx seconds"] = "Mettre à jour le navigateur toutes les xx secondes"; -App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 secondes, pas de maximum"; -App::$strings["Maximum number of conversations to load at any time:"] = "Nombre maximal de conversations pouvant être chargées en même temps :"; -App::$strings["Maximum of 100 items"] = "100 éléments au maximum"; -App::$strings["Show emoticons (smilies) as images"] = "Remplacer les émoticônes (smileys) par des images"; -App::$strings["Link post titles to source"] = "Lier les titres des publications à leur source"; -App::$strings["System Page Layout Editor - (advanced)"] = "Editeur de mise en page des pages systèmes - (avancé)"; -App::$strings["Use blog/list mode on channel page"] = "Utiliser le mode blog/liste sur la page du canal"; -App::$strings["(comments displayed separately)"] = "(commentaires affichés séparément)"; -App::$strings["Use blog/list mode on grid page"] = "Utiliser le mode blog/liste sur la page du réseau"; -App::$strings["Channel page max height of content (in pixels)"] = "Hauteur maximale du contenu pour la page du canal (en pixels)"; -App::$strings["click to expand content exceeding this height"] = "cliquer pour dérouler le contenu dépassant cette limite"; -App::$strings["Grid page max height of content (in pixels)"] = "Hauteur maximale du contenu sur la page du réseau (en pixels)"; +App::$strings["This channel is limited to %d tokens"] = "Ce canal est limité à %d jetons"; +App::$strings["Name and Password are required."] = "Le nom et le mot de passe sont requis"; +App::$strings["Token saved."] = "Jeton sauvegardé"; +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."] = "Utilisez ce formulaire pour créer des identifiants d'accès temporaires pour partager des informations avec des non-membres. Ces identités peuvent être utilisées dans les listes de contrôle d'accès et les visiteurs peuvent se connecter en utilisant ces certificats d'identification pour accéder au contenu privé."; +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:"] = "Vous pouvez également fournir des liens d'accès, style <em>dropbox</em>, aux amis et aux associés en ajoutant le mot de passe de connexion à l'URL d'un site spécifique, comme indiqué. Exemples:"; +App::$strings["Guest Access Tokens"] = "Jeton d'accès pour un invité"; +App::$strings["Login Name"] = "Nom d'utilisateur"; +App::$strings["Login Password"] = "Mot de passe"; +App::$strings["Expires (yyyy-mm-dd)"] = "Date d'expiration sous la forme année mois jour (AAAA-MM-JJ)"; +App::$strings["Affinity Slider settings updated."] = "Paramètres de la réglette d'affinité mis à jour."; +App::$strings["No feature settings configured"] = "Aucun paramètre de fonctionnalité configuré"; +App::$strings["Default maximum affinity level"] = "Niveau d'affinité maximum par défaut"; +App::$strings["Default minimum affinity level"] = "Niveau d'affinité minimum par défaut"; +App::$strings["Affinity Slider Settings"] = "Paramètres de la réglette d'affinité"; +App::$strings["Feature/Addon Settings"] = "Paramètres des extensions/greffons"; +App::$strings["Settings updated."] = "Paramètres mis à jour."; App::$strings["Nobody except yourself"] = "Personne sauf vous"; App::$strings["Only those you specifically allow"] = "Seulement ceux que vous autorisez spécifiquement"; App::$strings["Approved connections"] = "Contacts approuvés"; @@ -1166,6 +1367,7 @@ App::$strings["Anybody on the internet"] = "Tous les utilisateurs d'Internet"; App::$strings["Publish your default profile in the network directory"] = "Publier votre profil par défaut dans l'annuaire du réseau"; App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Nous autoriser à vous suggérer comme ami(e) potentiel(le) aux nouveaux membres?"; App::$strings["Your channel address is"] = "L'adresse de votre canal est"; +App::$strings["Your files/photos are accessible via WebDAV at"] = "Vos fichiers/photos sont accessibles via WebDAV à "; App::$strings["Channel Settings"] = "Paramètres du canal"; App::$strings["Basic Settings"] = "Paramètres standard"; App::$strings["Full Name:"] = "Nom complet :"; @@ -1186,17 +1388,18 @@ App::$strings["Private - <em>default private, never open or public</em>"] = "Pri App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>"; App::$strings["Allow others to tag your posts"] = "Autoriser les autres à \"étiqueter\" vos publications"; App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Souvent utilisé par la communauté pour identifier un contenu inapproprié a posteriori "; -App::$strings["Advanced Privacy Settings"] = "Paramètres de confidentialité avancés"; +App::$strings["Channel Permission Limits"] = "Limites des permissions du canal"; App::$strings["Expire other channel content after this many days"] = "Faire expirer le contenu des autres canaux après n jours"; -App::$strings["0 or blank to use the website limit."] = ""; -App::$strings["This website expires after %d days."] = ""; -App::$strings["This website does not expire imported content."] = ""; -App::$strings["The website limit takes precedence if lower than your limit."] = ""; +App::$strings["0 or blank to use the website limit."] = "0 ou vide pour utiliser la limite du site web"; +App::$strings["This website expires after %d days."] = "Ce site web expirera après %d jours."; +App::$strings["This website does not expire imported content."] = "Ce site web ne périme pas le contenu importé."; +App::$strings["The website limit takes precedence if lower than your limit."] = "La limite du site Web a priorité si elle est inférieure à votre limite."; App::$strings["Maximum Friend Requests/Day:"] = "Nombre maximum de demandes de contact par jour :"; App::$strings["May reduce spam activity"] = "Contribue à réduire l'impact des indésirables"; -App::$strings["Default Post and Publish Permissions"] = ""; -App::$strings["Use my default audience setting for the type of object published"] = ""; +App::$strings["Default Access Control List (ACL)"] = "Default Access Control List (ACL)"; +App::$strings["Use my default audience setting for the type of object published"] = "Utiliser mon paramètre de publication par défaut pour le type d'objet publié"; App::$strings["Channel permissions category:"] = "Catégorie de permissions du canal :"; +App::$strings["Default Permissions Group"] = ""; App::$strings["Maximum private messages per day from unknown people:"] = "Nombre maximum de messages privés émanant d'inconnus, par jour :"; App::$strings["Useful to reduce spamming"] = "Utile pour réduire les indésirables"; App::$strings["Notification Settings"] = "Paramètres de notification"; @@ -1213,6 +1416,7 @@ App::$strings["You receive a private message"] = "Vous recevez un message privé App::$strings["You receive a friend suggestion"] = "Vous recevez une suggestion d'amitié/contact"; App::$strings["You are tagged in a post"] = "Vous êtes étiqueté dans une publication"; App::$strings["You are poked/prodded/etc. in a post"] = "Vous êtes tapoté/encouragé/etc. dans une publication"; +App::$strings["Someone likes your post/comment"] = "Quelqu'un aime votre publication/commentaire"; App::$strings["Show visual notifications including:"] = "Afficher des notifications visuelles y compris :"; App::$strings["Unseen grid activity"] = "Activité du réseau pas encore consultée"; App::$strings["Unseen channel activity"] = "Activité non vue sur le canal"; @@ -1232,7 +1436,6 @@ App::$strings["Notify me of events this many days in advance"] = "Me prévenir d App::$strings["Must be greater than 0"] = "Doit être supérieur à 0"; App::$strings["Advanced Account/Page Type Settings"] = "Paramètres avancés de compte/type de page"; App::$strings["Change the behaviour of this account for special situations"] = "Modifie le comportement de ce compte pour des situations particulières"; -App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Mode expert requis (<a href=\"settings/features\">Paramètres > Fonctions supplémentaires</a>) pour ajuster !"; App::$strings["Miscellaneous Settings"] = "Paramètres divers"; App::$strings["Default photo upload folder"] = "Répertoire par défaut pour les photos téléversées"; App::$strings["%Y - current year, %m - current month"] = "%Y - année en cours, %m - mois en cours"; @@ -1241,135 +1444,37 @@ App::$strings["Personal menu to display in your channel pages"] = "Menu personne App::$strings["Remove this channel."] = "Supprimer ce canal"; App::$strings["Firefox Share \$Projectname provider"] = "Connecteur \$Projectname pour Firefox Share"; App::$strings["Start calendar week on monday"] = "Commencer la semaine du calendrier le lundi"; -App::$strings["\$Projectname Server - Setup"] = "Serveur \$Projectname - configuration"; -App::$strings["Could not connect to database."] = "Impossible de se connecter à la base de données."; -App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Impossible de se connecter à l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS."; -App::$strings["Could not create table."] = "Impossible de créer la table."; -App::$strings["Your site database has been installed."] = "La base de données de votre site a été installée."; -App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin)."; -App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Merci de consulter le fichier \"install/INSTALL.txt\"."; -App::$strings["System check"] = "Vérification du système"; -App::$strings["Check again"] = "Re-vérifier"; -App::$strings["Database connection"] = "Connexion à la base de données"; -App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Pour installer \$Projectname, nous avons besoin de savoir comment se connecter à votre base de données."; -App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Merci de contacter votre prestataire d'hébergement ou votre administrateur de site si vous avez des questions à propos de ces paramètres."; -App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer."; -App::$strings["Database Server Name"] = "Nom du serveur de base de données"; -App::$strings["Default is 127.0.0.1"] = "Par défaut 127.0.0.1"; -App::$strings["Database Port"] = "Port de la base de données"; -App::$strings["Communication port number - use 0 for default"] = "Numéro TCP du port - utilisez 0 pour la valeur par défaut"; -App::$strings["Database Login Name"] = "Identifiant de connexion à la Base de Données"; -App::$strings["Database Login Password"] = "Mot de passe de connexion à la Base de Données"; -App::$strings["Database Name"] = "Nom de la Base de Données"; -App::$strings["Database Type"] = "Type de base de données"; -App::$strings["Site administrator email address"] = "Adresse de courriel de l'administrateur du site"; -App::$strings["Your account email address must match this in order to use the web admin panel."] = "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web."; -App::$strings["Website URL"] = "URL du site web"; -App::$strings["Please use SSL (https) URL if available."] = "Veuillez utiliser SSL/TLS (https) si disponible."; -App::$strings["Please select a default timezone for your website"] = "Veuillez choisir un fuseau horaire par défaut pour votre site"; -App::$strings["Site settings"] = "Paramètres du site"; -App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "Activer les fonctionnalités <strong>avancées</strong> de \$Projectname ?"; -App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Certaines fonctionnalités avancées, bien qu'utiles, sont plus adaptées aux utilisateurs chevronnés."; -App::$strings["PHP version 5.5 or greater is required."] = ""; -App::$strings["PHP version"] = ""; -App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Impossible de trouver une version CLI de PHP dans le PATH du serveur 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."] = "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la synchronisation en arrière-plan via cron."; -App::$strings["PHP executable path"] = "Chemin vers l'éxecutable PHP"; -App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans."; -App::$strings["Command line PHP"] = "PHP en ligne de commande (CLI)"; -App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée."; -App::$strings["This is required for message delivery to work."] = "Elle est nécessaire pour la distribution des messages."; -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."] = "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois."; -App::$strings["You can adjust these settings in the servers php.ini."] = "Vous pouvez ajuster ces paramètres dans le php.ini du serveur."; -App::$strings["PHP upload limits"] = "Limites de téléversement de PHP"; -App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Erreur : la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement"; -App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\"."; -App::$strings["Generate encryption keys"] = "Générer les clefs de chiffrement"; -App::$strings["libCurl PHP module"] = "module PHP libCurl"; -App::$strings["GD graphics PHP module"] = "module PHP GD graphics"; -App::$strings["OpenSSL PHP module"] = "module PHP OpenSSL"; -App::$strings["mysqli or postgres PHP module"] = "module PHP postgres ou mysqli"; -App::$strings["mb_string PHP module"] = "module PHP mb_string"; -App::$strings["mcrypt PHP module"] = "module PHP mcrypt"; -App::$strings["xml PHP module"] = "module PHP xml"; -App::$strings["Apache mod_rewrite module"] = "module Apache mod_rewrite"; -App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erreur : le module mod-rewrite du serveur web Apache est requis, mais pas installé."; -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"] = "Erreur : proc_open est requis, mais soit n'est pas installé, soit est désactivé dans le php.ini"; -App::$strings["Error: libCURL PHP module required but not installed."] = "Erreur : le module libCURL de PHP est requis, mais pas installé."; -App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Erreur : le module GD de PHP avec support JPEG est requis, mais pas installé."; -App::$strings["Error: openssl PHP module required but not installed."] = "Erreur : le module openssl de PHP est requis, mais pas installé."; -App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Erreur : un module PHP mysqli ou postgres est requis, mais aucun des deux n'est installé."; -App::$strings["Error: mb_string PHP module required but not installed."] = "Erreur : le module mb_string de PHP est requis, mais pas installé."; -App::$strings["Error: mcrypt PHP module required but not installed."] = "Erreur : le module mcrypt de PHP est requis, mais pas installé."; -App::$strings["Error: xml PHP module required for DAV but not installed."] = "Erreur : le module xml de PHP est requis pour le DAV, mais pas installé."; -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'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable."; -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."] = "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit."; -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."] = "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de \$Projectname."; -App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées."; -App::$strings[".htconfig.php is writable"] = "Le fichier .htconfig.php est accessible en écriture"; -App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "\$Projectname utilise le moteur de gabarits Smarty3 pour mettre son contenu en forme. Smarty3 compile ses modèles vers du PHP natif pour accélérer le rendu."; -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."] = ""; -App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire."; -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."] = "Note: Comme mesure de sécurité, assurez vous de donner les droits d'écriture au serveur web sur %s uniquement, pas sur les fichiers individuels (.tpl) qu'il contient."; -App::$strings["%s is writable"] = "Permission d'écriture sur %s activée"; -App::$strings["Red 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"] = "\$Projectname utilise le répertoire 'store' - situé à la racine de votre installation de \$Projectname - pour sauvegarder les fichiers envoyés. Le serveur web aura donc besoin de pouvoir y écrire."; -App::$strings["store is writable"] = "'store' est accessible en écriture"; -App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Le certificat SSL/TLS n'a pas pu être validé. Merci de le corriger, ou de désactiver l'accès https à ce site (non recommandé)."; -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!"] = "Si votre serveur accepte les connexions https ou s'il permet les connexions sur le port TCP 443 (le port utilisé par le protocole https), vous DEVEZ utiliser un certificat valide. Vous ne DEVEZ PAS utiliser un certificat que vous avez vous-mêmes signé !"; -App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Nous avons ajouté cette contrainte pour éviter que vos publications publiques ne fassent référence par exemple à des images sur votre propre hub."; -App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Si votre certificat n'est pas reconnu, les membres des autres sites (qui eux peuvent avoir des certificats valides) recevront des messages d'avertissement sur leur propre site se plaignant de problèmes de sécurité."; -App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ceci peut causer des problèmes d'ergonomie ailleurs (pas seulement sur votre site), nous devons donc insister sur ce prérequis."; -App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Il existe des autorités de certification qui vous fourniront gratuitement un certificat valide."; -App::$strings["SSL certificate validation"] = "Validation du certificat SSL/TLS"; -App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Vérifiez votre configuration serveur. Test :"; -App::$strings["Url rewrite is working"] = "La réécriture d'URL fonctionne"; -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."] = "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web."; -App::$strings["Errors encountered creating database tables."] = "Erreurs rencontrées pendant la création de tables de BDD."; -App::$strings["<h1>What next</h1>"] = "<h1>Et maintenant</h1>"; -App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT : Vous devez créer [manuellement] une tâche planifiée pour les mises à jour du réseau."; -App::$strings["Files: shared with me"] = "Fichiers : partagés avec moi"; -App::$strings["NEW"] = "NOUVEAU"; -App::$strings["Remove all files"] = "Supprimer tous les fichiers"; -App::$strings["Remove this file"] = "Supprimer ce fichier"; -App::$strings["Version %s"] = "Version %s"; -App::$strings["Installed plugins/addons/apps:"] = "Greffons/extensions/applications installés :"; -App::$strings["No installed plugins/addons/apps"] = "Aucun greffon/extension/application installé"; -App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Ceci est un serveur \$Projectname - un réseau collaboratif mondial de serveurs décentralisés à la confidentialité améliorée."; -App::$strings["Tag: "] = "Étiquette :"; -App::$strings["Last background fetch: "] = "Dernière récupération en tâche de fond :"; -App::$strings["Current load average: "] = "Charge moyenne actuelle :"; -App::$strings["Running at web location"] = "Tourne à l'adresse internet"; -App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Merci de visiter <a href=\"http://hubzilla.org\">hubzilla.org</a> pour en apprendre davantage sur \$Projectname."; -App::$strings["Bug reports and issues: please visit"] = "Pour remonter bogues et problèmes, merci de visiter"; -App::$strings["\$projectname issues"] = "Problèmes \$projectname"; -App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Suggestions, demandes, etc. - merci de vous adresser à \"redmatrix\" à librelist - point com"; -App::$strings["Site Administrators"] = "Administrateurs du site"; -App::$strings["Failed to create source. No channel selected."] = "Impossible de créer la source. Aucun canal selectionné."; -App::$strings["Source created."] = "Source créée."; -App::$strings["Source updated."] = "Source mise à jour."; -App::$strings["*"] = "*"; -App::$strings["Channel Sources"] = "Sources du canal"; -App::$strings["Manage remote sources of content for your channel."] = "Gérer les sources distantes de contenu pour votre canal."; -App::$strings["New Source"] = "Nouvelle source"; -App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer le contenu sélectionné ou tout le contenu du canal suivant vers ce canal et le distribuer selon vos paramètres de canal."; -App::$strings["Only import content with these words (one per line)"] = "N'importer le contenu que s'il contient ces mots (un par ligne)"; -App::$strings["Leave blank to import all public content"] = "Laissez vide pour importer tout le contenu public"; -App::$strings["Channel Name"] = "Nom du canal"; -App::$strings["Add the following categories to posts imported from this source (comma separated)"] = ""; -App::$strings["Source not found."] = "Source introuvable."; -App::$strings["Edit Source"] = "Modifier la source"; -App::$strings["Delete Source"] = "Supprimer la source"; -App::$strings["Source removed"] = "Source supprimée"; -App::$strings["Unable to remove source."] = "Impossible de supprimer la source."; -App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s suit %3\$s de %2\$s"; -App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ne suit plus %3\$s de %2\$s"; -App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Aucune suggestion disponible. Si le site est récent, merci de re-tenter dans 24 heures."; -App::$strings["Ignore/Hide"] = "Ignorer/Cacher"; -App::$strings["post"] = "publication"; -App::$strings["comment"] = "commentaire"; -App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s a étiqueté le %3\$s de %2\$s avec %4\$s"; +App::$strings["No special theme for mobile devices"] = "Pas de thème spécifique aux mobiles"; +App::$strings["%s - (Experimental)"] = "%s - (Expérimental)"; +App::$strings["Display Settings"] = "Afficher les paramètres"; +App::$strings["Theme Settings"] = "Paramètres du thème"; +App::$strings["Custom Theme Settings"] = "Paramètres personnels du thème"; +App::$strings["Content Settings"] = "Paramètres liés au contenu"; +App::$strings["Display Theme:"] = "Afficher le thème :"; +App::$strings["Select scheme"] = "Définir la palette de couleurs"; +App::$strings["Mobile Theme:"] = "Thème mobile :"; +App::$strings["Preload images before rendering the page"] = "Pré-charger les images avant d'afficher la page"; +App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera"; +App::$strings["Enable user zoom on mobile devices"] = "Permettre à l'utilisateur d'un mobile d'agrandir le contenu"; +App::$strings["Update browser every xx seconds"] = "Mettre à jour le navigateur toutes les xx secondes"; +App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 secondes, pas de maximum"; +App::$strings["Maximum number of conversations to load at any time:"] = "Nombre maximal de conversations pouvant être chargées en même temps :"; +App::$strings["Maximum of 100 items"] = "100 éléments au maximum"; +App::$strings["Show emoticons (smilies) as images"] = "Remplacer les émoticônes (smileys) par des images"; +App::$strings["Manual conversation updates"] = "Manuel de mises à jour des conversations"; +App::$strings["Default is on, turning this off may increase screen jumping"] = "Activé par défaut, le désactiver peut accroître les sauts d'écran"; +App::$strings["Link post titles to source"] = "Lier les titres des publications à leur source"; +App::$strings["System Page Layout Editor - (advanced)"] = "Editeur de mise en page des pages systèmes - (avancé)"; +App::$strings["Use blog/list mode on channel page"] = "Utiliser le mode blog/liste sur la page du canal"; +App::$strings["(comments displayed separately)"] = "(commentaires affichés séparément)"; +App::$strings["Use blog/list mode on grid page"] = "Utiliser le mode blog/liste sur la page du réseau"; +App::$strings["Channel page max height of content (in pixels)"] = "Hauteur maximale du contenu pour la page du canal (en pixels)"; +App::$strings["click to expand content exceeding this height"] = "cliquer pour dérouler le contenu dépassant cette limite"; +App::$strings["Grid page max height of content (in pixels)"] = "Hauteur maximale du contenu sur la page du réseau (en pixels)"; +App::$strings["Permission category saved."] = "Catégorie d'autorisation enregistrée."; +App::$strings["Use this form to create permission rules for various classes of people or connections."] = "Utilisez ce formulaire pour créer des règles d'accès pour différentes catégories de personnes ou de contacts."; +App::$strings["Permission Categories"] = "Catégories d'autorisation"; +App::$strings["Permission Name"] = "Nom de l'autorisation"; App::$strings["Tag removed"] = "Étiquette retirée"; App::$strings["Remove Item Tag"] = "Retirer une étiquette à l'élément"; App::$strings["Select a tag to remove: "] = "Étiquette à retirer :"; @@ -1387,46 +1492,50 @@ App::$strings["Name of thing e.g. something"] = "Nom de l'élément, p.ex. quelq App::$strings["URL of thing (optional)"] = "URL de l'élément (facultatif)"; App::$strings["URL for photo of thing (optional)"] = "URL d'une photo de l'élément (facultatif)"; App::$strings["Add Thing to your Profile"] = "Ajouter l'élément à votre profil"; -App::$strings["Export Channel"] = "Exporter le 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."] = "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus."; -App::$strings["Export Content"] = "Exporter le contenu"; -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."] = "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence."; -App::$strings["Export your posts from a given year."] = "Exporter vos publications d'une année en particulier"; -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."] = "Vous pouvez également exporter vos publications et conversations pour une année ou un mois particulier. Ajustez la date dans la barre de votre navigateur pour sélectionner d'autres dates. Si l'export échoue (possible en cas de pénurie de mémoire sur le serveur de votre hub), essayez à nouveau en sélectionnant un intervalle de dates plus petit."; -App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Pour sélectionner toutes les publications pour une année donnée, telle que cette année, visitez <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>"] = "Pour sélectionner toutes les publications pour un mois donné, par exemple janvier, visitez <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)."] = "Ces fichiers de contenu peuvent être importés ou restaurés en visitant <a href=\"%1\$s\">%2\$s</a> sur n'importe quel site hébergeant votre canal. Pour de meilleurs résultats merci de les importer par ordre chronologique (les plus anciens d'abord)."; +App::$strings["Unable to lookup recipient."] = "Impossible de localiser le destinataire."; +App::$strings["Unable to communicate with requested channel."] = "Impossible de communiquer avec le canal demandé."; +App::$strings["Cannot verify requested channel."] = "Impossible de vérifier le canal demandé."; +App::$strings["Selected channel has private message restrictions. Send failed."] = "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué."; +App::$strings["Messages"] = "Messages"; +App::$strings["Message recalled."] = "Message rappelé."; +App::$strings["Conversation removed."] = "Conversation supprimée."; +App::$strings["Please enter a link URL:"] = "Merci d'entrer l'URL d'un lien :"; +App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expire le YYYY-MM-DD à HH:MM"; +App::$strings["Requested channel is not in this network"] = "Le canal demandé n'est pas sur ce réseau"; +App::$strings["Send Private Message"] = "Envoyer un message privé"; +App::$strings["To:"] = "À :"; +App::$strings["Subject:"] = "Objet :"; +App::$strings["Attach file"] = "Joindre un fichier"; +App::$strings["Send"] = "Envoyer"; +App::$strings["Set expiration date"] = "Définir la date d'expiration"; +App::$strings["Encrypt text"] = "Chiffrer le texte"; +App::$strings["Delete message"] = "Supprimer le message"; +App::$strings["Delivery report"] = "Rapport de distribution"; +App::$strings["Recall message"] = "Rappeler le message"; +App::$strings["Message has been recalled."] = "Le message a été rappelé."; +App::$strings["Delete Conversation"] = "Supprimer la conversation"; +App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur."; +App::$strings["Send Reply"] = "Envoyer la réponse"; +App::$strings["Your message for %s (%s):"] = "Votre message pour %s (%s) :"; App::$strings["No connections."] = "Aucun contact."; App::$strings["Visit %s's profile [%s]"] = "Visiter le profil de %s [%s]"; App::$strings["View Connections"] = "Voir les contacts"; App::$strings["Source of Item"] = "Source de l'élément"; -App::$strings["Webpages"] = "Pages web"; -App::$strings["Actions"] = "Actions"; -App::$strings["Page Link"] = "Lien vers la page"; -App::$strings["Page Title"] = "Titre de la page"; +App::$strings["Room not found"] = "Salon introuvable"; +App::$strings["Leave Room"] = "Quitter le salon"; +App::$strings["Delete Room"] = "Supprimer le salon"; +App::$strings["I am away right now"] = "Je suis absent en ce moment"; +App::$strings["I am online"] = "Je suis en ligne"; +App::$strings["Bookmark this room"] = "Marquer ce salon comme favori"; +App::$strings["New Chatroom"] = "Nouveau salon de discussion"; +App::$strings["Chatroom name"] = "Nom du salon de conversation"; +App::$strings["Expiration of chats (minutes)"] = "Expiration des discussions (en minutes)"; +App::$strings["%1\$s's Chatrooms"] = "Salons de %1\$s"; +App::$strings["No chatrooms available"] = "Aucun salon de conversation disponible"; +App::$strings["Expiration"] = "Expiration"; +App::$strings["min"] = "min"; App::$strings["Xchan Lookup"] = "Recherche xchan"; App::$strings["Lookup xchan beginning with (or webbie): "] = "Recherche xchan commençant par (ou adresse \"webbie\") :"; -App::$strings["Site Admin"] = "Administrateur"; -App::$strings["Bug Report"] = ""; -App::$strings["View Bookmarks"] = ""; -App::$strings["My Chatrooms"] = ""; -App::$strings["Firefox Share"] = ""; -App::$strings["Remote Diagnostics"] = ""; -App::$strings["Suggest Channels"] = "Suggérer des canaux"; -App::$strings["Login"] = "Connexion"; -App::$strings["Grid"] = "Réseau"; -App::$strings["Channel Home"] = "Mon canal"; -App::$strings["Events"] = "Événements"; -App::$strings["Directory"] = "Annuaire"; -App::$strings["Mail"] = "Messages"; -App::$strings["Chat"] = "Clavardage"; -App::$strings["Probe"] = "Sonder"; -App::$strings["Suggest"] = "Suggérer"; -App::$strings["Random Channel"] = "Un canal au hasard"; -App::$strings["Invite"] = "Invitation"; -App::$strings["Features"] = "Fonctionalités"; -App::$strings["Post"] = "Envoyer"; -App::$strings["Purchase"] = "Acheter"; App::$strings["Missing room name"] = "Il manque le nom du salon"; App::$strings["Duplicate room name"] = "Un salon avec ce nom existe déjà "; App::$strings["Invalid room specifier."] = "Identifiant de salon invalide."; @@ -1437,7 +1546,7 @@ App::$strings["\$projectname"] = "\$projectname"; App::$strings["Thank You,"] = "Merci,"; App::$strings["%s Administrator"] = "l'administrateur de %s"; App::$strings["%s <!item_type!>"] = "%s <!item_type!>"; -App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notify] Nouveau courriel reçu à %s"; +App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Notify] Nouveau mail reçu sur %s"; App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, vous avez reçu un message privé sur %3\$s, de la part de %2\$s."; App::$strings["%1\$s sent you %2\$s."] = "%1\$s vous a envoyé %2\$s."; App::$strings["a private message"] = "un message privé"; @@ -1445,35 +1554,52 @@ 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 a commenté sur [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 a commenté sur [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 a commenté [zrl=%3\$s]votre %4\$s[/zrl]"; -App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notify] Commentaire de %2\$s sur conversation #%1\$d"; +App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Commentaire effectué sur la conversation #%1\$d par %2\$s"; App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s a commenté un élément de conversation que vous suivez."; App::$strings["Please visit %s to view and/or reply to the conversation."] = "Merci de visiter %s pour voir et/ou répondre sur cette conversation."; -App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notify] %s a publié sur votre profil"; +App::$strings["%1\$s, %2\$s liked [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s aiment [zrl=%3\$s]votre %4\$s[/zrl]"; +App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Aime reçu à la convesation #%1\$d par %2\$s"; +App::$strings["%1\$s, %2\$s liked an item/conversation you created."] = "%1\$s, %2\$s a aimé un élément ou une conversation que vous avez créée."; +App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Notify] %s a publié sur le mur de votre profil"; App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s a publié sur votre profil à %3\$s"; App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s a publié sur [zrl=%3\$s]votre profil[/zrl]"; -App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notify] %s vous a étiqueté"; +App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Notify] %s vous a étiquetté"; App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, vous avez été étiqueté sur %3\$s par %2\$s"; App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]vous a étiqueté[/zrl]."; -App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notify] %1\$s vous a tapoté"; +App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Notify] %1\$s vous a poké"; App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s vous a tapoté sur %3\$s"; App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]vous a tapoté[/zrl]."; -App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notify] %s a étiqueté votre publication"; +App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Notify] %s a étiquetté votre publication"; App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s a étiqueté votre publication sur %3\$s"; App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s a étiqueté [zrl=%3\$s]votre publication[/zrl]"; -App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notify] Nouvelle présentation"; +App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Notify] Demande de relation reçue"; App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une demande de contact de '%2\$s' sur %3\$s"; App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, vous avez reçu [zrl=%2\$s]une demande de contact[/zrl] de %3\$s."; App::$strings["You may visit their profile at %s"] = "Vous pouvez visiter leur profil sur %s"; App::$strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s avant d'approuver (ou non) cette demande de contact."; -App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notify] Nouvel(le) ami(e) suggéré(e)"; +App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Notify] Suggestion d'amitié reçue"; App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une suggestion d'ami(e) de '%2\$s' à %3\$s"; App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, avez reçu %3\$s comme [zrl=%2\$s]une suggestion d'ami(e)[/zrl] de %4\$s."; App::$strings["Name:"] = "Nom :"; App::$strings["Photo:"] = "Photo :"; App::$strings["Please visit %s to approve or reject the suggestion."] = "Merci de visiter %s pour donner suite (ou non) à cette suggestion."; -App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notify]"; +App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Notify]"; App::$strings["created a new post"] = "a publié un nouveau message"; App::$strings["commented on %s's post"] = "a commenté la publication de %s"; +App::$strings["Visible to your default audience"] = "Visible pour vos contacts seulement"; +App::$strings["Only me"] = "Seulement moi"; +App::$strings["Public"] = "Public"; +App::$strings["Anybody in the \$Projectname network"] = "N'importe qui dans le réseau de \$Projectname"; +App::$strings["Any account on %s"] = "N'importe quel compte sur %s"; +App::$strings["Any of my connections"] = "N'importe laquelle de mes connexions"; +App::$strings["Only connections I specifically allow"] = "Uniquement les connexions que j'ai expréssément autorisées"; +App::$strings["Anybody authenticated (could include visitors from other networks)"] = "N'importe qui d'authentifié (cela peut inclure des visiteurs d'autres réseaux)"; +App::$strings["Any connections including those who haven't yet been approved"] = "N'importe quelle connexions, y compris celles qui n'ont pas encore été approuvées"; +App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Ceci est votre réglage par défaut de l'audience de vos publications sur votre canal normal."; +App::$strings["This is your default setting for who can view your default channel profile"] = "Ceci est votre réglage par défaut à propos de qui peut voir votre canal de profil par défaut."; +App::$strings["This is your default setting for who can view your connections"] = "Ceci est votre réglage par défaut à propos de qui peut voir vos relations."; +App::$strings["This is your default setting for who can view your file storage and photos"] = "Ceci est votre réglage par défaut à propos de qui peut voir vos fichiers ou photos stocké(e)s"; +App::$strings["This is your default setting for the audience of your webpages"] = "Ceci est votre réglage par défaut de l'audience de vos pages web."; App::$strings["Private Message"] = "Message Privé"; App::$strings["Select"] = "Sélectionner"; App::$strings["Save to Folder"] = "Enregistrer dans le dossier"; @@ -1507,10 +1633,14 @@ App::$strings["via Wall-To-Wall:"] = "par Mur-à -mur :"; App::$strings["from %s"] = "de %s"; App::$strings["last edited: %s"] = "dernière modification : %s"; App::$strings["Expires: %s"] = "Expire : %s"; +App::$strings["Attend"] = "En attente"; +App::$strings["Attendance Options"] = "Options d'attente"; +App::$strings["Vote"] = "Vote"; +App::$strings["Voting Options"] = "Options de vote"; App::$strings["Save Bookmarks"] = "Enregistrer les favoris"; App::$strings["Add to Calendar"] = "Ajouter au Calendrier"; App::$strings["Mark all seen"] = "Tout marquer comme vu"; -App::$strings["[+] show all"] = "[+] voir tous"; +App::$strings["%s show all"] = "%s montre tout"; App::$strings["Bold"] = "Gras"; App::$strings["Italic"] = "Italique"; App::$strings["Underline"] = "Souligné"; @@ -1519,9 +1649,739 @@ App::$strings["Code"] = "Code"; App::$strings["Image"] = "Image"; App::$strings["Insert Link"] = "Insérer un lien"; App::$strings["Video"] = "Vidéo"; +App::$strings["Site Admin"] = "Administrateur"; +App::$strings["Report Bug"] = "Reporter des bogues"; +App::$strings["View Bookmarks"] = "Voir les marques-pages"; +App::$strings["My Chatrooms"] = "Mes salons de discussions"; +App::$strings["Firefox Share"] = "Partager via Firefox"; +App::$strings["Remote Diagnostics"] = "Diagnostiques à distance"; +App::$strings["Suggest Channels"] = "Suggérer des canaux"; +App::$strings["Login"] = "Connexion"; +App::$strings["Grid"] = "Réseau"; +App::$strings["Wiki"] = "Wiki"; +App::$strings["Channel Home"] = "Mon canal"; +App::$strings["Events"] = "Événements"; +App::$strings["Directory"] = "Annuaire"; +App::$strings["Mail"] = "Messages"; +App::$strings["Chat"] = "Clavardage"; +App::$strings["Probe"] = "Sonder"; +App::$strings["Suggest"] = "Suggérer"; +App::$strings["Random Channel"] = "Un canal au hasard"; +App::$strings["Invite"] = "Invitation"; +App::$strings["Features"] = "Fonctionalités"; +App::$strings["Language"] = "Langue"; +App::$strings["Post"] = "Envoyer"; +App::$strings["Profile Photo"] = "Photo du Profil"; +App::$strings["Purchase"] = "Acheter"; +App::$strings["Undelete"] = "Restaurer"; +App::$strings["Wiki files deleted successfully"] = "Fichiers du wiki supprimés avec succès"; +App::$strings["__ctx:permcat__ default"] = "défaut"; +App::$strings["__ctx:permcat__ follower"] = "abonné"; +App::$strings["__ctx:permcat__ contributor"] = "contributeur"; +App::$strings["__ctx:permcat__ publisher"] = "rédacteur"; +App::$strings["(No Title)"] = "(Pas de titre)"; +App::$strings["Wiki page create failed."] = "Échec de création de la page wiki."; +App::$strings["Wiki not found."] = "Wiki introuvable."; +App::$strings["Destination name already exists"] = "Le nom de destination est déjà pris"; +App::$strings["Page not found"] = "Page introuvable"; +App::$strings["Error reading page content"] = "Erreur de lecture du contenu de la page"; +App::$strings["Error reading wiki"] = "Erreur de lecture du wiki"; +App::$strings["Page update failed."] = "Echec de modification de la page."; +App::$strings["Nothing deleted"] = "Rien n'a été supprimé"; +App::$strings["Compare: object not found."] = "Comparaison : objet introuvable."; +App::$strings["Page updated"] = "Page modifiée"; +App::$strings["Untitled"] = "Sans titre"; +App::$strings["Wiki resource_id required for git commit"] = "\"resource_id\" du wiki nécessaire pour l'enregistrement dans git."; +App::$strings["Different viewers will see this text differently"] = "Ce texte aura un rendu différent en fonction des utilisateurs"; +App::$strings["Flag Adult Photos"] = "Photo pour adulte"; +App::$strings["Provide photo edit option to hide inappropriate photos from default album view"] = "Fourni l'option d'édition d'une photo afin de cacher des photos inappropriées de la vue d''album par défaut"; +App::$strings["This is a fairly comprehensive and complete guitar chord dictionary which will list most of the available ways to play a certain chord, starting from the base of the fingerboard up to a few frets beyond the twelfth fret (beyond which everything repeats). A couple of non-standard tunings are provided for the benefit of slide players, etc."] = "Ceci est un dictionnaire d'accords de guitare assez complet et facile qui énumère la plupart des manières possibles de jouer un certain accord, à partir de la base de la touche jusqu'à quelques frettes au-delà de la douzième frette (au-delà de laquelle tout se répète). Un couple d'accordages non standard sont fournis au profit des joueurs de diapositives, etc."; +App::$strings["Chord names start with a root note (A-G) and may include sharps (#) and flats (b). This software will parse most of the standard naming conventions such as maj, min, dim, sus(2 or 4), aug, with optional repeating elements."] = "Les noms des accords commencent par une note racine (A-G) et peuvent inclure des dièses (#) et des bémols (b). Ce logiciel analysera la plupart des conventions de dénomination standard telles que maj, min, dim, sus (2 ou 4), aug, avec des éléments répétitifs facultatifs."; +App::$strings["Valid examples include A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, E7b13b11 ..."] = "Exemples valides comprennent A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, E7b13b11 ..."; +App::$strings["Guitar Chords"] = "Acords de guitar"; +App::$strings["The complete online chord dictionary"] = "Le dictionnaire en ligne complet des accords"; +App::$strings["Tuning"] = "Réglage"; +App::$strings["Chord name: example: Em7"] = "Nom d'accord. Exemple : Em7."; +App::$strings["Show for left handed stringing"] = "Montrer pour les gauchers"; +App::$strings["Quick Reference"] = "Référence rapide"; App::$strings["No username found in import file."] = "Aucun nom d'utilisateur dans le fichier d'import."; App::$strings["Unable to create a unique channel address. Import failed."] = "Impossible de créer une adresse de canal unique. Echec de l'import."; +App::$strings["Diaspora Protocol Settings updated."] = "Les réglages du protocole Diaspora ont été mis à jour"; +App::$strings["Enable the Diaspora protocol for this channel"] = "Activer le protocole Diaspora pour ce canal."; +App::$strings["Allow any Diaspora member to comment on your public posts"] = "Autoriser n'importe quel membre de Diaspora à commenter vos messages publics"; +App::$strings["Prevent your hashtags from being redirected to other sites"] = "Empêche vos hashtags d'être redirigés vers d'autres sites"; +App::$strings["Followed hashtags (comma separated, do not include the #)"] = "Hashtags suivis (séparer par une virgule ; ne pas mettre le #)"; +App::$strings["Diaspora Protocol Settings"] = "Compatibilité avec Diaspora"; +App::$strings["Hubzilla Directory Stats"] = "Statistiques de l'annuaire Hubzilla"; +App::$strings["Total Hubs"] = "Total de Hubs"; +App::$strings["Hubzilla Hubs"] = "Hubs Hubzilla"; +App::$strings["Friendica Hubs"] = "Hubs Friendica"; +App::$strings["Diaspora Pods"] = "Pods Diaspora"; +App::$strings["Hubzilla Channels"] = "Canaux Hubzilla"; +App::$strings["Friendica Channels"] = "Canaux Friendica"; +App::$strings["Diaspora Channels"] = "Canaux Diaspora"; +App::$strings["Aged 35 and above"] = "Âgé de 35 ans et plus"; +App::$strings["Aged 34 and under"] = "Âgé de 34 et moins"; +App::$strings["Average Age"] = "Âge moyen"; +App::$strings["Known Chatrooms"] = "Salons de discussion connus"; +App::$strings["Known Tags"] = "Étiquettes connues"; +App::$strings["Please note Diaspora and Friendica statistics are merely those **this directory** is aware of, and not all those known in the network. This also applies to chatrooms,"] = "Veuillez noter que les statistiques de Diaspora et Friendica sont simplement celles dont **ce répertoire** est au courant, et pas toutes celles connues dans le réseau. Cela s'applique également aux salles de discussion,"; +App::$strings["Project Servers and Resources"] = "Serveurs et ressources du projet"; +App::$strings["Project Creator and Tech Lead"] = "Créateur et Responsable Technique du projet"; +App::$strings["Admin, developer, directorymin, support bloke"] = "Administrateur, développeur, responsable d'annuaire, équipe support"; +App::$strings["And the hundreds of other people and organisations who helped make the Hubzilla possible."] = "Et les centaines d'autres personnes et organisations qui ont contribué à rendre le Hubzilla possible."; +App::$strings["The Redmatrix/Hubzilla projects are provided primarily by volunteers giving their time and expertise - and often paying out of pocket for services they share with others."] = "Les projets Redmatrix / Hubzilla sont fournis principalement par des bénévoles qui donnent de leur temps et de leur expertise - et paient souvent de leur poche pour des services qu'ils partagent avec d'autres."; +App::$strings["There is no corporate funding and no ads, and we do not collect and sell your personal information. (We don't control your personal information - <strong>you do</strong>.)"] = "Il n'y a ni financement d'entreprise ni publicités, et nous ne recueillons ni ne vendons vos données personnelles. (Nous ne contrôlons pas vos informations personnelles - vous le faites !)"; +App::$strings["Help support our ground-breaking work in decentralisation, web identity, and privacy."] = "Aider à soutenir notre travail novateur en matière de décentralisation, d'identité Web et de confidentialité."; +App::$strings["Your donations keep servers and services running and also helps us to provide innovative new features and continued development."] = "Vos dons maintiennent les serveurs et les services en marche et nous aident également à fournir de nouvelles fonctionnalités innovantes et un développement continu."; +App::$strings["Donate"] = "Donner"; +App::$strings["Choose a project, developer, or public hub to support with a one-time donation"] = "Choisissez un projet, un développeur ou un hub public à soutenir à l'aide d'un don unique"; +App::$strings["Donate Now"] = "Donner maintenant"; +App::$strings["<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"] = "Or devenez un sponsor du projet (projet Hubzilla uniquement)"; +App::$strings["Please indicate if you would like your first name or full name (or nothing) to appear in our sponsor listing"] = "Veuillez indiquer si vous souhaitez que votre nom ou prénom (ou rien) apparaisse dans la liste de nos sponsors."; +App::$strings["Sponsor"] = "Sponsors"; +App::$strings["Special thanks to: "] = "Remerciements particuliers à :"; +App::$strings["Post to Dreamwidth"] = "Publier sur Dreamwidth"; +App::$strings["Enable Dreamwidth Post Plugin"] = "Activer le plugin de publication Dreamwidth"; +App::$strings["Dreamwidth username"] = "Nom d'utilisateur Dreamwidth"; +App::$strings["Dreamwidth password"] = "Mot de passe Dreamwidth"; +App::$strings["Post to Dreamwidth by default"] = "Publication avec Dreamwidth par défaut"; +App::$strings["Dreamwidth Post Settings"] = "Paramètres de publication Dreamwidth"; +App::$strings["Flattr this!"] = "Flattr this!"; +App::$strings["Flattr widget settings updated."] = "Les paramètres du widget Flattr ont été mis à jour"; +App::$strings["Flattr user"] = "Utilisateur de Flattr"; +App::$strings["URL of the Thing to flattr"] = "URL de ce que vous voulez flattr"; +App::$strings["If empty channel URL is used"] = "Si une url vide est utilisée"; +App::$strings["Title of the Thing to flattr"] = "Titre de ce que vous voulez flattr"; +App::$strings["If empty \"channel name on The Hubzilla\" will be used"] = "Si vide, \"nom du canal sur Hubzilla\" sera utilisé"; +App::$strings["Static or dynamic flattr button"] = "Statique ou dynamique bouton Flattr"; +App::$strings["static"] = "statique"; +App::$strings["dynamic"] = "dynamique"; +App::$strings["Alignment of the widget"] = "Alignement du widget"; +App::$strings["left"] = "gauche"; +App::$strings["right"] = "droite"; +App::$strings["Enable Flattr widget"] = "Activer le widget Flattr"; +App::$strings["Flattr Widget Settings"] = "Paramètres du widget Flattr"; +App::$strings["Contact not found."] = "Contact introuvable."; +App::$strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "Ceci peut parfois se produire lorsque le contact a été demandé par les deux personnes à la fois et a déjà été approuvé."; +App::$strings["Response from remote site was not understood."] = "La réponse du site de contrôle à distance n'a pas été comprise."; +App::$strings["Unexpected response from remote site: "] = "Réponse inattendue du site de contrôle à distance :"; +App::$strings["Confirmation completed successfully."] = "Complété avec succès confirmé."; +App::$strings["Remote site reported: "] = "Contrôle à distance du site reporté :"; +App::$strings["Temporary failure. Please wait and try again."] = "Défaillance temporaire. Veuillez attendre et essayer à nouveau."; +App::$strings["Introduction failed or was revoked."] = "La demande de relation a échoué ou a été révoquée."; +App::$strings["Unable to set contact photo."] = "Impossible de définir la photo du contact."; +App::$strings["%1\$s is now friends with %2\$s"] = "%1\$s est maintenant ami avec %2\$s"; +App::$strings["No user record found for '%s' "] = "Aucun utilisateur enregistré ne correspond à '%s' "; +App::$strings["Our site encryption key is apparently messed up."] = "Notre clé de chiffrement du site est apparemment corrompue."; +App::$strings["Empty site URL was provided or URL could not be decrypted by us."] = "L'URL fournie est vide ou ne peut être déchiffrée par nous."; +App::$strings["Contact record was not found for you on our site."] = "Le contact enregistré n'a pas été trouvé sur notre site."; +App::$strings["Site public key not available in contact record for URL %s."] = "La clé publique du site n'est pas disponible dans l'enregistrement de contact pour l'URL %s."; +App::$strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "L'ID fournie par votre système est un duplicata sur notre système. Cela devrait fonctionner si vous essayez à nouveau."; +App::$strings["Unable to set your contact credentials on our system."] = "Impossible de définir vos informations de connexion sur notre système."; +App::$strings["Unable to update your contact profile details on our system"] = "Impossible de mettre à jour les détails de votre profil de contact sur notre système."; +App::$strings["[Name Withheld]"] = "[Nom refusé]"; +App::$strings["%1\$s has joined %2\$s"] = "%1\$s a rejoint %2\$s"; +App::$strings["%1\$s welcomes %2\$s"] = "%1\$s souhaite la bienvenue à %2\$s"; +App::$strings["This introduction has already been accepted."] = "Cette relation a déjà été acceptée."; +App::$strings["Profile location is not valid or does not contain profile information."] = "L'emplacement de profil n'est pas valide ou ne contient pas d'informations sur le profil."; +App::$strings["Warning: profile location has no identifiable owner name."] = "Attention : l'emplacement de profil n'a pas de nom de propriétaire identifiable."; +App::$strings["Warning: profile location has no profile photo."] = "Attention : l'emplacement de profil n'a pas de photo de profil."; +App::$strings["%d required parameter was not found at the given location"] = array( + 0 => "%d paramètre non trouvé à l'emplacement indiqué", + 1 => "%d paramètres non trouvés à l'emplacement indiqué", +); +App::$strings["Introduction complete."] = "Relation confirmée."; +App::$strings["Unrecoverable protocol error."] = "Erreur de protocole irrécupérable."; +App::$strings["Profile unavailable."] = "Profil indisponible."; +App::$strings["%s has received too many connection requests today."] = "%s a reçu trop de demandes de connexion aujourd'hui."; +App::$strings["Spam protection measures have been invoked."] = "Des mesures de protection anti-spam ont été mises en place."; +App::$strings["Friends are advised to please try again in 24 hours."] = "Les amis sont invités à essayer de nouveau dans 24 heures."; +App::$strings["Invalid locator"] = "Localisateur innvalide"; +App::$strings["Invalid email address."] = "Adresse mail invalide."; +App::$strings["This account has not been configured for email. Request failed."] = "Le mail de ce compte n'a pas été configuré. La requête a échouée."; +App::$strings["Unable to resolve your name at the provided location."] = "Impossible de résoudre votre nom à l'emplacement spécifié."; +App::$strings["You have already introduced yourself here."] = "Vous vous êtes déjà introduit ici."; +App::$strings["Apparently you are already friends with %s."] = "Apparemment vous êtes déjà ami avec %s."; +App::$strings["Invalid profile URL."] = "Adresse de profil invalide."; +App::$strings["Disallowed profile URL."] = "Adresse de profil non-autorisée."; +App::$strings["Failed to update contact record."] = "Échec de la mise jour de l'enregistrement du contact."; +App::$strings["Your introduction has been sent."] = "Votre demande de relation a été envoyée."; +App::$strings["Please login to confirm introduction."] = "Veuillez vous connecter pour confirmer la relation."; +App::$strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "L'identité de connexion actuelle est incorrecte. Veuillez vous connecter à <strong>ce</strong> profil."; +App::$strings["Confirm"] = "Confirmer"; +App::$strings["Hide this contact"] = "Cacher ce contact"; +App::$strings["Welcome home %s."] = "Bienvenue %s."; +App::$strings["Please confirm your introduction/connection request to %s."] = "Veuillez confirmer votre demande de relation à %s."; +App::$strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = "Veuillez entrer votre 'adresse d'identification' à partir de l'un des réseaux sociaux supportés suivants :"; +App::$strings["If you are not yet a member of the free social web, <a href=\"%s/siteinfo\">follow this link to find a public Friendica site and join us today</a>."] = "Si vous n'êtes pas déjà membre d'un réseau social libre, <a href=\"%s/siteinfo\">suivre ce lien pour trouver un site public de Friendica et nous rejoindre dès maintenant</a>."; +App::$strings["Friend/Connection Request"] = "Requête d'ami/connection"; +App::$strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "Exemples : jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"; +App::$strings["Please answer the following:"] = "Veuillez répondre aux questions suivantes :"; +App::$strings["Does %s know you?"] = "Est-ce que %s vous connaît ?"; +App::$strings["Add a personal note:"] = "Ajouter une note personnelle :"; +App::$strings["Friendica"] = "Friendica"; +App::$strings["StatusNet/Federated Social Web"] = "StatusNet/Réseau Social Fédéré"; +App::$strings["Diaspora"] = "Diaspora"; +App::$strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = "- veuillez ne pas utiliser ce formulaire. À la place, entrez %s dans la barre de recherche de Diaspora."; +App::$strings["Your Identity Address:"] = "Votre adresse d'identification :"; +App::$strings["Submit Request"] = "Envoyer la demande"; +App::$strings["GNU-Social Protocol Settings updated."] = "Les paramètres du protocole GNU-Social ont été mis à jour."; +App::$strings["Enable the (experimental) GNU-Social protocol for this channel"] = "Activer la connexion (expérimentale) du protocole GNU-Social pour ce canal"; +App::$strings["GNU-Social Protocol Settings"] = "Paramètres du protocole GNU-Social"; +App::$strings["Follow"] = "S'abonner"; +App::$strings["%1\$s is now following %2\$s"] = "%1\$s est maintenant abonné à %2\$s"; +App::$strings["Friendica Photo Album Import"] = "Importation de l'album photo Friendica "; +App::$strings["This will import all your Friendica photo albums to this Red channel."] = "Ceci importera toutes vos albums photos Friendica dans ce canal Hubzilla."; +App::$strings["Friendica Server base URL"] = "URL de base du serveur Friendica"; +App::$strings["Friendica Login Username"] = "Identifiant de connexion Friendica"; +App::$strings["Friendica Login Password"] = "Mot de passe de connexion Friendica"; +App::$strings["Send email to all members"] = "Envoyer un mail à tous les membres"; +App::$strings["$1%s Administrator"] = "$1%s administrateur"; +App::$strings["No recipients found."] = "Aucun destinataire trouvé."; +App::$strings["%1\$d of %2\$d messages sent."] = "%1\$d message(s) envoyés sur %2\$d."; +App::$strings["Send email to all hub members."] = "Envoyer un e-mail à tous les membres du hub."; +App::$strings["Message subject"] = "Objet du message"; +App::$strings["Sender Email address"] = "Adresse mail de l'expéditeur"; +App::$strings["Test mode (only send to hub administrator)"] = "Mode test (uniquement envoyé à l'administrateur du hub)"; +App::$strings["Post to Insanejournal"] = "Publier sur InsaneJournal"; +App::$strings["Enable InsaneJournal Post Plugin"] = "Activer le plugin de publication InsaneJournal"; +App::$strings["InsaneJournal username"] = "Identifiant InsaneJournal"; +App::$strings["InsaneJournal password"] = "Mot de passe InsaneJournal"; +App::$strings["Post to InsaneJournal by default"] = "Par défaut, publier dans InsaneJournal"; +App::$strings["InsaneJournal Post Settings"] = "Paramètres de publication de InsaneJournal"; +App::$strings["Insane Journal Settings saved."] = "Les paramètres d'InsaneJournal ont été sauvegardés"; +App::$strings["Channels to auto connect"] = "Canaux à connecter automatiqument"; +App::$strings["Comma separated list"] = "Liste séparée par des virgules"; +App::$strings["Popular Channels"] = "Canaux populaires"; +App::$strings["IRC Settings"] = "Paramètres IRC"; +App::$strings["IRC settings saved."] = "Paramètres IRC sauvegardés"; +App::$strings["IRC Chatroom"] = "Salon de discussion IRC"; +App::$strings["Status:"] = "État :"; +App::$strings["Activate addon"] = "Activer l'extension"; +App::$strings["Hide Jappixmini Chat-Widget from the webinterface"] = "Cacher le widget de chat Jappixmini de l'interface web"; +App::$strings["Jabber username"] = "Identifiant Jabber"; +App::$strings["Jabber server"] = "Serveur Jabber"; +App::$strings["Jabber BOSH host URL"] = "Adresse hôte pour Jabber BOSH"; +App::$strings["Jabber password"] = "Mot de passe Jabber"; +App::$strings["Encrypt Jabber password with Hubzilla password"] = "Chiffrer le mot de passe Jabber avec le mot de passe Hubzilla"; +App::$strings["Hubzilla password"] = "Mot de passe Hubzilla"; +App::$strings["Approve subscription requests from Hubzilla contacts automatically"] = "Approuver automatiquement les demandes de connexion des contacts Hubzilla"; +App::$strings["Purge internal list of jabber addresses of contacts"] = "Purger la liste interne des adresses jabber des contacts"; +App::$strings["Configuration Help"] = "Aide pour la configuration"; +App::$strings["Jappix Mini Settings"] = "Paramètres de Jappix mini"; +App::$strings["Upload a file"] = "Téléverser un fichier"; +App::$strings["Drop files here to upload"] = "Glisser les fichiers ici pour téléversement"; +App::$strings["Failed"] = "Échec"; +App::$strings["No files were uploaded."] = "Aucun fichier n'a été téléversé."; +App::$strings["Uploaded file is empty"] = "Le fichier téléversé est vide"; +App::$strings["Image exceeds size limit of "] = "L'image excède la taille limite de"; +App::$strings["File has an invalid extension, it should be one of "] = "L'extension du fichier est invalide, elle doit être l'une des suivantes"; +App::$strings["Upload was cancelled, or server error encountered"] = "Le téléversement a été annulé, ou le serveur a rencontré une erreur"; +App::$strings["An account has been created for you."] = "Un compte a été créé pour vous."; +App::$strings["Authentication successful but rejected: account creation is disabled."] = "L'authentification a réussi mais a été rejetée : la création de comptes est désactivée."; +App::$strings["Post to Libertree"] = "Publier sur Libertree"; +App::$strings["Enable Libertree Post Plugin"] = "Activer le plugin de publication Libertree"; +App::$strings["Libertree API token"] = "Jeton de l'API Libertree"; +App::$strings["Libertree site URL"] = "Adresse du site Libertree"; +App::$strings["Post to Libertree by default"] = "Par défaut, publier sur Libertree"; +App::$strings["Libertree Post Settings"] = "Paramètres de publication pour Libertree"; +App::$strings["Libertree Settings saved."] = "Paramètres de Libertree sauvegardés."; +App::$strings["Post to LiveJournal"] = "Publier sur LiveJournal"; +App::$strings["Enable LiveJournal Post Plugin"] = "Activer le plugin de publication LiveJournal"; +App::$strings["LiveJournal username"] = "Identifiant LiveJournal"; +App::$strings["LiveJournal password"] = "Mot de passe LiveJournal"; +App::$strings["Post to LiveJournal by default"] = "Par défaut, publier sur LiveJournal"; +App::$strings["LiveJournal Post Settings"] = "Paramètres de publication LiveJournal"; +App::$strings["LiveJournal Settings saved."] = "Paramètres LiveJournal sauvegardés."; +App::$strings["Logfile archive directory"] = "Répertoire d'archivage du fichier journal"; +App::$strings["Directory to store rotated logs"] = "Répertoire où stocker les journaux de rotation"; +App::$strings["Logfile size in bytes before rotating"] = "Taille du fichier journal en octets avant la rotation"; +App::$strings["Number of logfiles to retain"] = "Nombre de fichiers de journal à conserver"; +App::$strings["Email notification hub"] = "Notification par mail du hub"; +App::$strings["Hostname"] = "Nom d'hôte"; +App::$strings["Mailhost Settings"] = "Paramètres mail de l'hôte"; +App::$strings["MAILHOST Settings saved."] = "Paramètres mail de l'hôte sauvegardés."; +App::$strings["lonely"] = "isolé"; +App::$strings["drunk"] = "saoul"; +App::$strings["horny"] = "libidineux"; +App::$strings["stoned"] = "défoncé"; +App::$strings["fucked up"] = "cramé"; +App::$strings["clusterfucked"] = "énervé"; +App::$strings["crazy"] = "cinglé"; +App::$strings["hurt"] = "dommage"; +App::$strings["sleepy"] = "somnolent"; +App::$strings["grumpy"] = "grognon"; +App::$strings["high"] = "allumé"; +App::$strings["semi-conscious"] = "à demi-conscient"; +App::$strings["in love"] = "amoureux"; +App::$strings["in lust"] = "convoitise"; +App::$strings["naked"] = "nu"; +App::$strings["stinky"] = "puant"; +App::$strings["sweaty"] = "en sueur"; +App::$strings["bleeding out"] = "en sang"; +App::$strings["victorious"] = "victorieux"; +App::$strings["defeated"] = "vaincu"; +App::$strings["envious"] = "envieux"; +App::$strings["jealous"] = "jaloux"; +App::$strings["bitchslap"] = "giffler"; +App::$strings["bitchslapped"] = "gifflé(e)"; +App::$strings["shag"] = "baiser"; +App::$strings["shagged"] = "baisé"; +App::$strings["patent"] = "breveté"; +App::$strings["patented"] = "être breveté"; +App::$strings["hug"] = "étreindre"; +App::$strings["hugged"] = "être étreint"; +App::$strings["murder"] = "assassiner"; +App::$strings["murdered"] = "être assassiné"; +App::$strings["worship"] = "vénérer"; +App::$strings["worshipped"] = "être vénéré"; +App::$strings["kiss"] = "embrasser"; +App::$strings["kissed"] = "embrassé"; +App::$strings["tempt"] = "tenter"; +App::$strings["tempted"] = "tenté"; +App::$strings["raise eyebrows at"] = "soulever les sourcils à la vue de"; +App::$strings["raised their eyebrows at"] = "sourcils soulevés à la vue de"; +App::$strings["insult"] = "insulter"; +App::$strings["insulted"] = "insulté"; +App::$strings["praise"] = "louer"; +App::$strings["praised"] = "loué"; +App::$strings["be dubious of"] = "douter de"; +App::$strings["was dubious of"] = "avoir douté de"; +App::$strings["eat"] = "manger"; +App::$strings["ate"] = "a mangé"; +App::$strings["giggle and fawn at"] = "séduire, charmer"; +App::$strings["giggled and fawned at"] = "séduit(e), charmé(e)"; +App::$strings["doubt"] = "doute"; +App::$strings["doubted"] = "a douté"; +App::$strings["glare"] = "jeter un regard"; +App::$strings["glared at"] = "a jeté un regard à "; +App::$strings["fuck"] = "baiser"; +App::$strings["fucked"] = "être baisé"; +App::$strings["bonk"] = "baiser"; +App::$strings["bonked"] = "baisé(e)"; +App::$strings["declare undying love for"] = "Déclarer un amour éternel pour"; +App::$strings["declared undying love for"] = "A déclaré l'amour éternel pour"; +App::$strings["Save Settings"] = "Sauvegarder les paramètres"; +App::$strings["text to include in all outgoing posts from this site"] = "Texte à inclure dans tous les messages sortants de ce site"; +App::$strings["Federate"] = "Fédérer"; +App::$strings["nofed Settings saved."] = "Les paramètres nfed ont été enregistrés."; +App::$strings["Allow Federation Toggle"] = "Autoriser la fédération avec Toggle"; +App::$strings["Federate posts by default"] = "Par défaut, fédérer les publications."; +App::$strings["NoFed Settings"] = "Paramètres NoFed"; +App::$strings["Nsabait Settings updated."] = "Les paramètres Nsabait ont été enregistrés."; +App::$strings["Enable NSAbait Plugin"] = "Activer le plugin NSAbait"; +App::$strings["NSAbait Settings"] = "Paramètres NSAbait"; +App::$strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Ce plugin cherche dans les publications les mots/textes que vous spécifiez ci-dessous, et réduit tout contenu contenant ces mots-clés afin qu'ils ne s'affichent pas à des moments inappropriés, tels que les insinuations sexuelles qui peuvent être inappropriées dans un contexte de travail. Il est poli et recommandé de marquer tout contenu contenant de la nudité avec #NSFW. Ce filtre peut également correspondre à tout autre mot/texte que vous spécifiez et peut ainsi être utilisé comme un filtre de contenu à usage général."; +App::$strings["Enable Content filter"] = "Activer le filtrage des contenus"; +App::$strings["Comma separated list of keywords to hide"] = "Liste séparée par des virgules des mots-clés à cacher"; +App::$strings["Word, /regular-expression/, lang=xx, lang!=xx"] = "Mot, /expression-régulière/, lang=xx, lang!=xx"; +App::$strings["Not Safe For Work Settings"] = "Paramètres NSFW (Not Safe For Work)"; +App::$strings["General Purpose Content Filter"] = "Filtre de contenu sujet général"; +App::$strings["NSFW Settings saved."] = "Paramètres NSFW sauvegardés."; +App::$strings["Possible adult content"] = "Contenu pour adulte probable"; +App::$strings["%s - view"] = ""; +App::$strings["System defaults:"] = "Paramètres par défaut du système :"; +App::$strings["Preferred Clipart IDs"] = "ID Clipart préférées"; +App::$strings["List of preferred clipart ids. These will be shown first."] = "Liste des ids clipart préférése. Celles-ci seront montrées en premier."; +App::$strings["Default Search Term"] = "Terme de recherche par défaut"; +App::$strings["The default search term. These will be shown second."] = "Le terme de recherche par défaut. Ceci sera affiché en second."; +App::$strings["Return After"] = "Retourner ensuite"; +App::$strings["Page to load after image selection."] = "Page à afficher après la sélection de l'image."; +App::$strings["Edit Profile"] = "Éditeur de profil"; +App::$strings["Profile List"] = "Liste de profil"; +App::$strings["Order of Preferred"] = "Tri selon les préférences"; +App::$strings["Sort order of preferred clipart ids."] = "Ordre de tri des ids de clipart préférés."; +App::$strings["Newest first"] = "Les plus récents en premier"; +App::$strings["As entered"] = "Comme entrés"; +App::$strings["Order of other"] = "Tri selon autre"; +App::$strings["Sort order of other clipart ids."] = "Ordre de tri des autres clipart ids."; +App::$strings["Most downloaded first"] = "Les plus téléchargés en premier"; +App::$strings["Most liked first"] = "Les plus aimés en premier"; +App::$strings["Preferred IDs Message"] = "IDs des messages préférés"; +App::$strings["Message to display above preferred results."] = "Message à afficher au-dessus de la liste des résultats préférés."; +App::$strings["Uploaded by: "] = "Téléversé par :"; +App::$strings["Drawn by: "] = "Dessiné par :"; +App::$strings["Or select from a free OpenClipart.org image:"] = "ou sélectionner une image libre d'OpenClipart.org :"; +App::$strings["Search Term"] = "Terme de recherche"; +App::$strings["Unknown error. Please try again later."] = "Erreur inconnue. Veuillez essayer à nouveau plus tard."; +App::$strings["Profile photo updated successfully."] = "Photo de profil actualisée avec succès."; +App::$strings["View Larger"] = "Afficher en plus grand"; +App::$strings["Tile Server URL"] = "URL de la tuile du serveur"; +App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Une liste de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">serveurs de cartes publics</a>"; +App::$strings["Nominatim (reverse geocoding) Server URL"] = "URL du serveur Nominatim (géocodage inversé)"; +App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">Nominatim servers</a>"] = "Une liste de <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">serveurs Nominatim</a>"; +App::$strings["Default zoom"] = "Zoom par défaut"; +App::$strings["The default zoom level. (1:world, 18:highest, also depends on tile server)"] = "Le niveau de zoom par défaut. (1: monde, 18: plus élevé, dépend également du serveur de tuiles)"; +App::$strings["Include marker on map"] = "Inclure le marqueur sur la carte"; +App::$strings["Include a marker on the map."] = "Inclure un marqueur sur la carte."; +App::$strings["Message to display on every page on this server"] = "Message à afficher sur chaque page de ce serveur"; +App::$strings["Pageheader Settings"] = "Paramètres du haut de page"; +App::$strings["pageheader Settings saved."] = "Paramètres du haut de page sauvegardés."; +App::$strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Ce site web est surveillé grâce à l'outil d'analyse <a href='http://www.piwik.org'>Piwik</a>."; +App::$strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Si vous ne souhaitez pas que vos visites soient enregistrées de cette façon, <a href='%s'>vous pouvez\ndéfinir un cookie pour empêcher Piwik de suivre davantage de visites du site</a> (opt-out)."; +App::$strings["Piwik Base URL"] = "URL de base Piwik"; +App::$strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "Chemin absolu vers votre installation Piwik. (sans le http/s, avec antislash)"; +App::$strings["Site ID"] = "ID du site"; +App::$strings["Show opt-out cookie link?"] = "Afficher le lien opt-out du cookie ?"; +App::$strings["Asynchronous tracking"] = "Traqueur asynchrone"; +App::$strings["Enable frontend JavaScript error tracking"] = "Activer le traqueur d'erreur du frontend JavaScript"; +App::$strings["This feature requires Piwik >= 2.2.0"] = "Cette fonctionnalité requiert une version de Piwik >=2.2.0"; +App::$strings["Planets Settings updated."] = "Paramètres Planets mis à jour."; +App::$strings["Enable Planets Plugin"] = "Activer le plugin Planets"; +App::$strings["Planets Settings"] = "Paramètres Planets"; +App::$strings["You are now authenticated to pumpio."] = "Vous êtes maintenant connecté à pumpio."; +App::$strings["return to the featured settings page"] = "retourner à la page des paramètres des fonctionnalités"; +App::$strings["Post to Pump.io"] = "Publier sur Pump.io"; +App::$strings["Pump.io servername"] = "Nom du serveur Pump.io"; +App::$strings["Without \"http://\" or \"https://\""] = "Sans \"http://\" ou \"https://\""; +App::$strings["Pump.io username"] = "Identifiant Pump.io"; +App::$strings["Without the servername"] = "Sans le nom de serveur"; +App::$strings["You are not authenticated to pumpio"] = "Vous n'êtes pas connecté à Pump.io"; +App::$strings["(Re-)Authenticate your pump.io connection"] = "Authentifiez-vous à nouveau auprès de Pump.io"; +App::$strings["Enable pump.io Post Plugin"] = "Activer le plugin de publication Pump.io"; +App::$strings["Post to pump.io by default"] = "Par défaut, publier sur Pump.io"; +App::$strings["Should posts be public"] = "Les publications doivent-elles être publiques ?"; +App::$strings["Mirror all public posts"] = "Créer une copie miroir de toutes les publications publiques"; +App::$strings["Pump.io Post Settings"] = "Paramètres de publication Pump.io"; +App::$strings["PumpIO Settings saved."] = "Paramètres Pump.io sauvegardés."; +App::$strings["QR code"] = "QR code"; +App::$strings["QR Generator"] = "Générateur de QRcode"; +App::$strings["Enter some text"] = "Entrer du texte"; +App::$strings["Enable Rainbowtag"] = "Activer Rainbowtag"; +App::$strings["Rainbowtag Settings"] = "Paramètres Rainbowtag"; +App::$strings["Rainbowtag Settings saved."] = "Paramètres Rainbowtag sauvegardés."; +App::$strings["You're welcome."] = "Bienvenue."; +App::$strings["Ah shucks..."] = "Ah m…"; +App::$strings["Don't mention it."] = "De rien."; +App::$strings["<blush>"] = "<rougit>"; +App::$strings["Redmatrix File Storage Import"] = "Importation du fichier de stockage Redmatrix"; +App::$strings["This will import all your Redmatrix cloud files to this channel."] = "Ceci importera tous vos fichiers Redmatrix dans ce canal."; +App::$strings["Redmatrix Server base URL"] = "URL de base du serveur Redmatrix"; +App::$strings["Redmatrix Login Username"] = "Identifiant de connexion Redmatrix"; +App::$strings["Redmatrix Login Password"] = "Mot de passe de connexion Redmatrix"; +App::$strings["file"] = "fichier"; +App::$strings["Photos imported"] = "Photos importées"; +App::$strings["Redmatrix Photo Album Import"] = "Import de l'album photo Redmatrix"; +App::$strings["This will import all your Redmatrix photo albums to this channel."] = "Ceci va importer l'intégralité de vos albums photos Redmatrix dans ce canal."; +App::$strings["Import just this album"] = "Importer uniquement cet album"; +App::$strings["Leave blank to import all albums"] = "Laisser vide pour importer tous les albums"; +App::$strings["Maximum count to import"] = "Nombre maximum de comptes à importer"; +App::$strings["0 or blank to import all available"] = "0 ou vide pour importer tout ce qui est disponible"; +App::$strings["Post to Red"] = "Publier sur Red"; +App::$strings["Channel is required."] = "Un canal est requis."; +App::$strings["Invalid channel."] = "Canal invalide."; +App::$strings["redred Settings saved."] = "Paramètres redred sauvegardés."; +App::$strings["Allow posting to another Hubzilla Channel"] = "Autoriser la publication sur un autre canal Hubzilla"; +App::$strings["Send public postings to Hubzilla channel by default"] = "Par défaut, envoyer les publications publiques sur le canal Hubzilla"; +App::$strings["Hubzilla API Path"] = "Chemin de l'API Hubzilla"; +App::$strings["https://{sitename}/api"] = "https://{nomdusite}/api"; +App::$strings["Hubzilla login name"] = "Identifiant de connexion Hubzilla"; +App::$strings["Hubzilla channel name"] = "Nom du canal Hubzilla"; +App::$strings["Nickname"] = "Surnom"; +App::$strings["Hubzilla Crosspost Settings"] = "Paramètres Crosspost Hubzilla"; +App::$strings["Post to Friendica"] = "Publier sur Friendica"; +App::$strings["rtof Settings saved."] = "Paramètres rtof sauvegardés."; +App::$strings["Allow posting to Friendica"] = "Autoriser la publication sur Friendica"; +App::$strings["Send public postings to Friendica by default"] = "Par défaut, envoyer les publications publiques sur Friendica"; +App::$strings["Friendica API Path"] = "Chemin de l'API Friendica"; +App::$strings["Friendica login name"] = "Identifiant de connexion Friendica"; +App::$strings["Friendica password"] = "Mot de passe de connexion Friendica"; +App::$strings["Hubzilla to Friendica Post Settings"] = "Paramètres de publication de Hubzilla vers Friendica"; +App::$strings["Extended Identity Sharing"] = "Partage d'identification étendu"; +App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Partagez votre identification avec tous les sites Web sur Internet. Lorsqu'elle est désactivée, l'identification n'est partagée qu'avec les sites de la matrice."; +App::$strings["Some setting"] = "Un certain paramètre"; +App::$strings["A setting"] = "Un paramètre"; +App::$strings["Skeleton Settings"] = "Paramètres du squelette"; +App::$strings["Deactivate the feature"] = "Désactiver la fonctionnalité"; +App::$strings["Hide the button and show the smilies directly."] = "Cacher le bouton et afficher les émoticônes directement."; +App::$strings["Smileybutton Settings"] = "Paramètres du bouton des émoticônes"; +App::$strings["Page to load after login"] = "Page à charger après l'identification"; +App::$strings["Examples: "apps", "network?f=&gid=37" (privacy collection), "channel" or "notifications/system" (leave blank for default network page (grid)."] = "Exemples: "apps", "network?f=&gid=37" (privacy collection), "channel" or "notifications/system" (laisser vide pour la page par défaut du réseau (grille)."; +App::$strings["Startpage Settings"] = "Paramètres de la page de démarrage"; +App::$strings["Post to GNU social"] = "Publier sur GNU-social"; +App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Veuillez contacter l'administrateur de votre site. L'URL de l'API n'est pas valide."; +App::$strings["We could not contact the GNU social API with the Path you entered."] = "Nous ne pouvons pas contacter l'API de GNU-social avec le chemin que vous avez entré."; +App::$strings["GNU social settings updated."] = "Les paramètres GNU-social ont été mis à jour."; +App::$strings["Globally Available GNU social OAuthKeys"] = "Les OAuthKeys GNU-social sont globalement disponibles."; +App::$strings["There are preconfigured OAuth key pairs for some GNU social servers available. If you are using one of them, please use these credentials.<br />If not feel free to connect to any other GNU social instance (see below)."] = "Il existe des paires de clés OAuth préconfigurées pour certains serveurs GNU-social disponibles. Si vous utilisez l'un d'eux, utilisez ces informations d'identification.\nSi vous ne voulez pas vous connecter à une autre instance GNU social (voir ci-dessous)."; +App::$strings["Provide your own OAuth Credentials"] = "Fournissez vos propres informations d'identification OAuth"; +App::$strings["No consumer key pair for GNU social found. Register your Hubzilla Account as an desktop client on your GNU social account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Hubzilla installation at your favourite GNU social installation."] = "Aucune paire de clés utilisateur n'a été trouvée pour GNU-social. Enregistrer votre compte Hubzilla en tant que client de bureau sur votre compte GNU-social, puis copier la paire de clés utilisateur ici et entrer la racine de base de l'API.\nAvant d'enregistrer votre propre paire de clés OAuth, demandez à l'administrateur s'il existe déjà une paire de clés pour cette installation de Hubzilla à votre installation GNU-social préférée."; +App::$strings["OAuth Consumer Key"] = "Clé d'utilisateur OAuth"; +App::$strings["OAuth Consumer Secret"] = "Secret d'utilisateur OAuth"; +App::$strings["Base API Path"] = "Chemin de l'API de base"; +App::$strings["Remember the trailing /"] = "N'oubliez pas le / final"; +App::$strings["GNU social application name"] = "Nom de l'application GNU-social"; +App::$strings["To connect to your GNU social account click the button below to get a security code from GNU social which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to GNU social."] = "Pour vous connecter à votre compte GNU-social, cliquez sur le bouton ci-dessous pour obtenir un code de sécurité de GNU-social. Vous devez le copier dans la zone de saisie ci-dessous, puis soumettre le formulaire. Seuls vos messages publics seront visibles sur GNU-social."; +App::$strings["Log in with GNU social"] = "Vous connecter avec GNU-social"; +App::$strings["Copy the security code from GNU social here"] = "Copier ici le code de sécurité de GNU-social."; +App::$strings["Cancel Connection Process"] = "Annuler le processus de connexion"; +App::$strings["Current GNU social API is"] = "L'API GNU-social courante est"; +App::$strings["Cancel GNU social Connection"] = "Annuler la connexion GNU-social"; +App::$strings["Currently connected to: "] = "Actuellement connecté à :"; +App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "Remarque : en raison de vos paramètres de confidentialité (masquer les détails de votre profil aux visiteurs inconnus? ), le lien potentiellement inclus dans les annonces publiques relayées sur GNU-social amènera le visiteur à une page vierge informant le visiteur que l'accès à votre profil a été restreint."; +App::$strings["Allow posting to GNU social"] = "Autoriser la publication sur GNU-social"; +App::$strings["If enabled your public postings can be posted to the associated GNU-social account"] = "Si cette option est activée, vos publications publiques peuvent être publiées sur le compte GNU-social associé."; +App::$strings["Post to GNU social by default"] = "Par défaut, publier sur GNU-social"; +App::$strings["If enabled your public postings will be posted to the associated GNU-social account by default"] = "Si cette option est activée, par défaut, vos publications publiques seront publiées sur le compte GNU-social associé"; +App::$strings["Clear OAuth configuration"] = "Effacer la configuration OAuth"; +App::$strings["GNU social Post Settings"] = "Paramètres de publication GNU-social"; +App::$strings["API URL"] = "URL de l'API"; +App::$strings["Application name"] = "Nom de l'application"; +App::$strings["Currently blocked"] = "Actuellement bloqué"; +App::$strings["No channels currently blocked"] = "Aucun canal n'est actuellement bloqué"; +App::$strings["\"Superblock\" Settings"] = "Paramètres \"Superblock\""; +App::$strings["Block Completely"] = "Bloquer complètement"; +App::$strings["superblock settings updated"] = "Les paramètres du superblock ont été mis à jour"; +App::$strings["Your account on %s will expire in a few days."] = "Votre compte sur %s expirera dans quelques jours."; +App::$strings["Your $Productname test account is about to expire."] = "Votre compte de test $NomDeProduit est sur le point d'expirer."; +App::$strings["Three Dimensional Tic-Tac-Toe"] = "Tic-tac-toe en 3 dimensions"; +App::$strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe"; +App::$strings["New game"] = "Nouveau jeu"; +App::$strings["New game with handicap"] = "Nouveau jeu avec handicap"; +App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Trois dimensions tic-tac-toe est juste comme le jeu traditionnel, sauf qu'il est joué sur plusieurs niveaux simultanément."; +App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "Dans ce cas, il y a trois niveaux. Vous gagnez en obtenant trois dans une rangée à n'importe quel niveau, que ce soit vers le haut, le bas, ou en diagonale à travers les différents niveaux."; +App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "Le jeu handicap désactive la position centrale au niveau intermédiaire, car le joueur qui revendique ce carré a souvent un avantage indu."; +App::$strings["You go first..."] = "Vous commencez…"; +App::$strings["I'm going first this time..."] = "Cette fois, je commence…"; +App::$strings["You won!"] = "Vous avez gagné !"; +App::$strings["\"Cat\" game!"] = "Jeu de \"Chat\" !"; +App::$strings["I won!"] = "J'ai gagné !"; +App::$strings["Edit your profile and change settings."] = "Éditer votre profil et changer les paramètres."; +App::$strings["Click here to see activity from your connections."] = "Cliquer ici pour voir l'activité de vos connections."; +App::$strings["Click here to see your channel home."] = "Cliquer ici pour voir votre canal principal."; +App::$strings["You can access your private messages from here."] = "Vous pouvez accéder à vos messages privés à partir d'ici."; +App::$strings["Create new events here."] = "Créer de nouveaux événements ici."; +App::$strings["You can accept new connections and change permissions for existing ones here. You can also e.g. create groups of contacts."] = "Vous pouvez accepter de nouvelles connections et changer les permissions des connections existantes. Vous pouvez également créer des groupes de contacts."; +App::$strings["System notifications will arrive here"] = "Les notifications du système arriveront ici."; +App::$strings["Search for content and users"] = "Rechercher du contenu ou des utilisateurs"; +App::$strings["Browse for new contacts"] = "Rechercher de nouveaux contacts"; +App::$strings["Launch installed apps"] = "Démarrer des applications installées"; +App::$strings["Looking for help? Click here."] = "Un peu d'aide ? Cliquer ici."; +App::$strings["New events have occurred in your network. Click here to see what has happened!"] = "De nouveaux événement se sont produits dans votre réseau. Cliquer ici pour voir ce qui s'est passé !"; +App::$strings["You have received a new private message. Click here to see from who!"] = "Vous avez reçu un nouveau message privé. Cliquer ici pour voir qui vous écrit !"; +App::$strings["There are events this week. Click here too see which!"] = "Il y a des événements cette semaine. Cliquer ici pour voir lesquels !"; +App::$strings["You have received a new introduction. Click here to see who!"] = "Vous avez reçu une nouvelle demande de relation. Cliquer ici pour voir de qui !"; +App::$strings["There is a new system notification. Click here to see what has happened!"] = "Vous avez reçu une notification du système. Cliquer ici pour voir ce qui se passe !"; +App::$strings["Click here to share text, images, videos and sound."] = "Cliquer ici pour partager du texte, des images, des vidéos ou du son."; +App::$strings["You can write an optional title for your update (good for long posts)."] = "Vous pouvez ajouter à votre mise à jour un titre facultatif (pratique pour de longues publications)."; +App::$strings["Entering some categories here makes it easier to find your post later."] = "Renseigner certaines catégories ici permet de retrouver plus facilement votre message plus tard."; +App::$strings["Share photos, links, location, etc."] = "Partager des photos, des liens, des localisations, etc."; +App::$strings["Only want to share content for a while? Make it expire at a certain date."] = "Envie de partager un contenu pour une durée limitée ? Faites-le expirer à une certaine date."; +App::$strings["You can password protect content."] = "Vous pouvez protéger un contenu avec un mot de passe."; +App::$strings["Choose who you share with."] = "Choisir avec qui vous partagez."; +App::$strings["Click here when you are done."] = "Cliquer ici quand vous avez fini."; +App::$strings["Adjust from which channels posts should be displayed."] = "Préciser de quels canaux les publications seront affichées."; +App::$strings["Only show posts from channels in the specified privacy group."] = "Afficher uniquement les messages des canaux du groupe de confidentialité spécifié."; +App::$strings["Easily find posts containing tags (keywords preceded by the \"#\" symbol)."] = "Trouvez facilement des publications contenant des tags (mots-clés précédés du symbole \"#\")."; +App::$strings["Easily find posts in given category."] = "Trouvez facilement des publications dans une catégorie donnée."; +App::$strings["Easily find posts by date."] = "Trouvez facilement des publications en fonction de leur date."; +App::$strings["Suggested users who have volounteered to be shown as suggestions, and who we think you might find interesting."] = "Voici des utilisateurs que vous pourriez trouver intéressants. Ces utilisateurs se sont portés volontaires pour être affichés comme exemples."; +App::$strings["Here you see channels you have connected to."] = "Retrouvez ici les canaux auxquels vous vous êtes connectés."; +App::$strings["Save your search so you can repeat it at a later date."] = "Enregistrer votre recherche de façon à pouvoir la répéter plus tard."; +App::$strings["If you see this icon you can be sure that the sender is who it say it is. It is normal that it is not always possible to verify the sender, so the icon will be missing sometimes. There is usually no need to worry about that."] = "Si vous voyez cette icône, vous pouvez être sûr que l'expéditeur est qui il dit qu'il est. Il est normal qu'il ne soit pas toujours possible de vérifier l'expéditeur, donc l'icône manquera parfois. Il n'est généralement pas nécessaire de s'inquiéter à ce sujet."; +App::$strings["Danger! It seems someone tried to forge a message! This message is not necessarily from who it says it is from!"] = "Attention ! Il semble que quelqu'un a essayé de contrefaire un message ! Ce message n'a pas nécessairement été envoyé par la personne annoncée !"; +App::$strings["Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can pause it at any time and continue where you left off by reloading the page, or navigting to another page.</p><p>You can also advance by pressing the return key"] = "Bienvenue sur Hubzilla! Voulez-vous faire un tour de l'interface utilisateur? Vous pouvez le mettre en pause à tout moment et continuer où vous l'avez laissé en rechargeant la page ou en naviguant vers une autre page. Vous pouvez également avancer en appuyant sur la touche de retour."; +App::$strings["Post to Twitter"] = "Publier sur Twitter"; +App::$strings["Twitter settings updated."] = "Les paramètres de Twitter ont été mis à jour."; +App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Aucune paire de clés d'utilisateur pour Twitter n'a été trouvée. Veuillez contacter l'administrateur de votre site."; +App::$strings["At this Hubzilla instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Dans cette instance de Hubzilla, le plugin Twitter a été activé, mais vous n'avez pas encore connecté votre compte à votre compte Twitter. Pour ce faire, cliquez sur le bouton ci-dessous pour obtenir un code PIN de Twitter que vous devez copier dans la zone de saisie ci-dessous, puis soumettre le formulaire. Seuls vos messages publics seront publiés sur Twitter."; +App::$strings["Log in with Twitter"] = "Connectez-vous avec votre compte Twitter"; +App::$strings["Copy the PIN from Twitter here"] = "Copier ici le PIN fourni par Twitter"; +App::$strings["<strong>Note:</strong> Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "Note : En raison de vos paramètres de confidentialité (Masquer les détails de votre profil aux visiteurs inconnus?), le lien potentiellement inclus dans les annonces publiques relayées vers Twitter amènera le visiteur à une page vierge l'informant que l'accès à votre profil a été restreint."; +App::$strings["Allow posting to Twitter"] = "Autoriser la publication sur Twitter"; +App::$strings["If enabled your public postings can be posted to the associated Twitter account"] = "Si cette option est activée, vos publications publiques peuvent être publiées sur le compte Twitter associé."; +App::$strings["Send public postings to Twitter by default"] = "Par défaut, envoyer vos publications publiques sur Twitter."; +App::$strings["If enabled your public postings will be posted to the associated Twitter account by default"] = "Si cette option est activée, par défaut, vos publications publiques seront publiées sur le compte Twitter associé."; +App::$strings["Twitter Post Settings"] = "Paramètres des publications Twitter"; +App::$strings["Submit Settings"] = "Emvoyer les paramètres"; +App::$strings["Show Upload Limits"] = "Afficher les limites de débit ascendant (upload)"; +App::$strings["Hubzilla configured maximum size: "] = "Taille maximale configurée par Hubzilla:"; +App::$strings["PHP upload_max_filesize: "] = "PHP upload_max_filesize: "; +App::$strings["PHP post_max_size (must be larger than upload_max_filesize): "] = "PHP post_max_size (must be larger than upload_max_filesize): "; +App::$strings["Recent Channel/Profile Viewers"] = "Visiteurs récents du canal/profil"; +App::$strings["This plugin/addon has not been configured."] = "Cette extension n'a pas été configurée."; +App::$strings["Please visit the Visage settings on %s"] = "Veuillez visiter les paramètres de Visage sur %s"; +App::$strings["your feature settings page"] = "La page des paramètres de vos fonctionnalités"; +App::$strings["No entries."] = "Aucune entrée."; +App::$strings["Enable Visage Visitor Logging"] = "Activer la connexion Visage Visitor"; +App::$strings["Visage Settings"] = "Paramètres Visage"; +App::$strings["Who likes me?"] = "Qui m'aime?"; +App::$strings["Post to WordPress"] = "Publier sur Wordpress"; +App::$strings["Enable WordPress Post Plugin"] = "Activer l'extension de publication WordPress"; +App::$strings["WordPress username"] = "Identifiant de connexion WordPress"; +App::$strings["WordPress password"] = "Mot de passe de connexion WordPress"; +App::$strings["WordPress API URL"] = "URL de l'API WordPress"; +App::$strings["Typically https://your-blog.tld/xmlrpc.php"] = "Typiquement https://your-blog.tld/xmlrpc.php"; +App::$strings["WordPress blogid"] = "ID de votre blog WordPress"; +App::$strings["For multi-user sites such as wordpress.com, otherwise leave blank"] = "Pour les sites multi-utilisateurs comme wordpress.com, sinon laisser vide"; +App::$strings["Post to WordPress by default"] = "Par défaut, publier sur WordPress"; +App::$strings["Forward comments (requires hubzilla_wp plugin)"] = "Transférer les commentaires (nécessite le plugin hubzila_wp)"; +App::$strings["WordPress Post Settings"] = "Paramètres de publications WordPress"; +App::$strings["Wordpress Settings saved."] = "Les paramètres WordPress ont été sauvegardés."; +App::$strings["XMPP settings updated."] = "Les paramètres XMPP ont été mis à jour."; +App::$strings["Enable Chat"] = "Activer le Chat"; +App::$strings["Individual credentials"] = "Informations d'identifications individuelles"; +App::$strings["Jabber BOSH server"] = "serveur Jabber BOSH"; +App::$strings["XMPP Settings"] = "Paramètres XMPP"; +App::$strings["Jabber BOSH host"] = "Hôte Jabber BOSH"; +App::$strings["Use central userbase"] = "Utiliser la base d'utilisateurs centrale"; +App::$strings["If enabled, members will automatically login to an ejabberd server that has to be installed on this machine with synchronized credentials via the \"auth_ejabberd.php\" script."] = "Si cette option est activée, les membres se connecteront automatiquement à un serveur ejabberd qui doit être installé sur cette machine avec des informations d'identification synchronisées via le script \"auth_ejabberd.php\"."; +App::$strings["Select Channel"] = "Sélectionner un canal"; +App::$strings["Read-write"] = "Lire et écrire"; +App::$strings["Read-only"] = "Lire uniquement"; +App::$strings["My Calendars"] = "Mes agendas"; +App::$strings["Shared Calendars"] = "Agendas partagés"; +App::$strings["Share this calendar"] = "Partager cet agenda"; +App::$strings["Calendar name and color"] = "Nom et couleur de l'agenda"; +App::$strings["Create new calendar"] = "Créer un nouvel agenda"; +App::$strings["Calendar Name"] = "Nom de l'agenda"; +App::$strings["Calendar Tools"] = "Outils pour les agendas"; +App::$strings["Import calendar"] = "Importer un agenda"; +App::$strings["Select a calendar to import to"] = "Sélectionner un agenda à importer dans"; +App::$strings["Addressbooks"] = "Carnet d'adresses"; +App::$strings["Addressbook name"] = "Nom du carnet d'adresses"; +App::$strings["Create new addressbook"] = "Créer un nouveau carnet d'adresses"; +App::$strings["Addressbook Name"] = "Nom du carnet d'adresses"; +App::$strings["Addressbook Tools"] = "Outils pour les carnets d'adresses"; +App::$strings["Import addressbook"] = "Importer un carnet d'adresses"; +App::$strings["Select an addressbook to import to"] = "Sélectionner un carnet d'adresses à importer dans"; +App::$strings["INVALID EVENT DISMISSED!"] = "ÉVÉNEMENT INVALIDE REJETÉ!"; +App::$strings["Summary: "] = "Sommaire :"; +App::$strings["Date: "] = "Date :"; +App::$strings["Reason: "] = "Raison :"; +App::$strings["INVALID CARD DISMISSED!"] = "ÉVÉNEMENT INVALIDE REJETÉ!"; +App::$strings["Name: "] = "Nom :"; +App::$strings["You have to enable this plugin in Feature/Addon Settings > CalDAV/CardDAV Settings before you can use it."] = "Vous avez activé ce plugin dans Fonctionalités/Paramètres des extensions > CalDAV/CardDAV Paramètres avant que vous puissiez l'utiliser."; +App::$strings["Example: YYYY-MM-DD HH:mm"] = "Exemple : YYYY-MM-DD HH:mm"; +App::$strings["End date and time"] = "Date et heure de fin"; +App::$strings["List month"] = "Liste mois"; +App::$strings["List week"] = "Liste semaine"; +App::$strings["List day"] = "Liste jour"; +App::$strings["More"] = "Plus"; +App::$strings["Less"] = "Moins"; +App::$strings["Select calendar"] = "Sélectionner un calendrier"; +App::$strings["Delete all"] = "Tout supprimer"; +App::$strings["Sorry! Editing of recurrent events is not yet implemented."] = "Désolé ! L'édition d'événements récurrents n'est pas encore implémenté."; +App::$strings["Errors encountered creating database table: "] = "Des erreurs se sont produites lors de la création de la table de la base de données :"; +App::$strings["Default Calendar"] = "Agenda par défaut"; +App::$strings["Default Addressbook"] = "Carnet d'adresses par défaut"; +App::$strings["CalDAV/CardDAV Settings saved."] = "Les paramètres CalDAV/CardDAV ont été sauvegardés."; +App::$strings["Enable CalDAV/CardDAV Server for this channel"] = "Activer le serveur CalDAV/CardDAV pour ce canal"; +App::$strings["Your CalDAV resources are located at %s "] = "Vos ressources CalDAV sont situées à %s"; +App::$strings["Your CardDAV resources are located at %s "] = "Vos ressources CardDAV sont situées à %s"; +App::$strings["CalDAV/CardDAV Settings"] = "Paramètres CalDAV/CardDAV"; +App::$strings["Home, Voice"] = "Domicile, Voix"; +App::$strings["Home, Fax"] = "Domicile, Fax"; +App::$strings["Work, Voice"] = "Travail, Voix"; +App::$strings["Work, Fax"] = "Travail, Fax"; +App::$strings["Invalid game."] = "Jeu invalide"; +App::$strings["You are not a player in this game."] = "Vous n'êtes pas un joueur de ce jeu."; +App::$strings["You must be a local channel to create a game."] = "Vous devez être un canal local pour créer un jeu."; +App::$strings["You must select one opponent that is not yourself."] = "Vous devez sélectionner un adversaire qui ne soit pas vous-même."; +App::$strings["Creating new game..."] = "en train de créer un nouveau jeu…"; +App::$strings["You must select white or black."] = "Vous devez sélectionner les blancs ou les noirs."; +App::$strings["Error creating new game."] = "Erreur lors de la création du nouveau jeu."; +App::$strings["Requested channel is not available."] = "Canal demandé non disponible."; +App::$strings["You must select a local channel /chess/channelname"] = "Vous devez sélectionner un canal local /échecs/nomducanal"; +App::$strings["Enable notifications"] = "Activer les notifications"; +App::$strings["Your Webbie:"] = "Vous êtes Webbie :"; +App::$strings["Fontsize (px):"] = "Taille de la police (px) :"; +App::$strings["Link:"] = "Lien :"; +App::$strings["Like us on Hubzilla"] = "Aimez-nous sur Hubzilla"; +App::$strings["Embed:"] = "Embarqué :"; +App::$strings["Male"] = "Homme"; +App::$strings["Female"] = "Femme"; +App::$strings["First Name"] = "Prénom"; +App::$strings["Last Name"] = "Nom"; +App::$strings["Full Name"] = "Nom complet"; +App::$strings["Profile Photo 16px"] = "Photo de profil 16px"; +App::$strings["Profile Photo 32px"] = "Photo de profil 32px"; +App::$strings["Profile Photo 48px"] = "Photo de profil 48px"; +App::$strings["Profile Photo 64px"] = "Photo de profil 64px"; +App::$strings["Profile Photo 80px"] = "Photo de profil 80px"; +App::$strings["Profile Photo 128px"] = "Photo de profil 128px"; +App::$strings["Timezone"] = "Fuseau horaire"; +App::$strings["Birth Year"] = "Années de naissance"; +App::$strings["Birth Month"] = "Mois de naissance"; +App::$strings["Birth Day"] = "Jour de naissance"; +App::$strings["Birthdate"] = "Date de naissance"; +App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Nous avons rencontrons un problème lors de l'identification avec l'OpenID que vous avez fournie. Veuillez vérifier que vous avez correctement écrit votre ID."; +App::$strings["The error message was:"] = "Le message d'erreur était :"; +App::$strings["OpenID protocol error. No ID returned."] = "Erreur du protocole OpenID. Aucune ID trouvée."; +App::$strings["Login failed."] = "Échec de la connexion."; +App::$strings["Reconnecting %d connections"] = "Reconnection des relations de %d"; +App::$strings["Diaspora Reconnect"] = "Reconnexion de Diaspora"; +App::$strings["Use this form to re-establish Diaspora connections which were initially made from a different hub."] = "Utiliser ce formulaire pour établir à nouveau les connexions avec Diaspora qui avait été initialement créées sur un hub différent."; +App::$strings["Reconnect"] = "Reconnecter"; +App::$strings["Send test email"] = "Envoyer un mail de test"; +App::$strings["Mail sent."] = "Mail envoyé."; +App::$strings["Sending of mail failed."] = "L'envoi du mail a échoué."; +App::$strings["Mail Test"] = "Test du mail"; +App::$strings["Errors encountered deleting database table "] = "Des erreurs ont eu lieu lors de la suppression de la table de la base de données."; +App::$strings["Drop tables when uninstalling?"] = "Lors de la désinstallation, purger les tables?"; +App::$strings["If checked, the Rendezvous database tables will be deleted when the plugin is uninstalled."] = "Si cette case est cochée, les tables de la base Rendezvous seront supprimées lorsque le plugin sera désinstallé."; +App::$strings["Mapbox Access Token"] = "Jeton d'accès à la mapbox."; +App::$strings["If you enter a Mapbox access token, it will be used to retrieve map tiles from Mapbox instead of the default OpenStreetMap tile server."] = "Si vous entrez un jeton d'accès Mapbox, il doit être utilisé pour récupérer les cartes à partir de Mapbox au lieu du serveur par défaut OpenStreetMap."; +App::$strings["Rendezvous"] = "Rendezvous"; +App::$strings["This identity has been deleted by another member due to inactivity. Please press the \"New identity\" button or refresh the page to register a new identity. You may use the same name."] = "Cette identité a été supprimée par un autre membre en raison de l'inactivité. Appuyez sur le bouton \"Nouvelle identité\" ou actualisez la page pour enregistrer une nouvelle identité. Vous pouvez utiliser le même nom."; +App::$strings["Welcome to Rendezvous!"] = "Bienvenue dans Rendevzvous!"; +App::$strings["Enter your name to join this rendezvous. To begin sharing your location with the other members, tap the GPS control. When your location is discovered, a red dot will appear and others will be able to see you on the map."] = "Entrez votre nom pour rejoindre ce rendez-vous. Pour commencer à partager votre emplacement avec les autres membres, appuyez sur le contrôle GPS. Lorsque votre emplacement est découvert, un point rouge apparaîtra et les autres seront en mesure de vous voir sur la carte."; +App::$strings["Let's meet here"] = "Rencontrez-vous ici"; +App::$strings["New marker"] = "Nouveau marqueur"; +App::$strings["Edit marker"] = "Éditer le marqueur"; +App::$strings["New identity"] = "Nouvelle identité"; +App::$strings["Delete marker"] = "Supprimer le marqueur"; +App::$strings["Delete member"] = "Supprimer le membre"; +App::$strings["Edit proximity alert"] = "Éditer l'alerte de proximité"; +App::$strings["A proximity alert will be issued when this member is within a certain radius of you.<br><br>Enter a radius in meters (0 to disable):"] = "Une alerte de proximité sera émise lorsque ce membre se trouve dans un certain périmètre autour de vous. Entrer un rayon en mètres (0 pour désactiver):"; +App::$strings["distance"] = "distance"; +App::$strings["Proximity alert distance (meters)"] = "Distance d'alerte de proximité (mètres)"; +App::$strings["A proximity alert will be issued when you are within a certain radius of the marker location.<br><br>Enter a radius in meters (0 to disable):"] = "Une alerte de proximité sera déclenchée quand vous serez à une certaine distance du marqueur d'emplacement.<br><br>Indiquez une distance en mètres (0 pour désactiver) :"; +App::$strings["Marker proximity alert"] = "Alerte de proximité de marqueur"; +App::$strings["Reminder note"] = "Note de rappel"; +App::$strings["Enter a note to be displayed when you are within the specified proximity..."] = "Saisissez une note à afficher quand vous serez à la distance indiquée..."; +App::$strings["Add new rendezvous"] = "Ajouter un nouveau rendezvous"; +App::$strings["Create a new rendezvous and share the access link with those you wish to invite to the group. Those who open the link become members of the rendezvous. They can view other member locations, add markers to the map, or share their own locations with the group."] = "Créez un nouveau rendez-vous et partagez le lien d'accès avec les gens que vous souhaitez inviter au groupe. Ceux qui ouvrent le lien deviennent membres du rendez-vous. Ils peuvent afficher les emplacements des autres membres, ajouter des marqueurs à la carte ou partager leurs propres emplacements avec le groupe."; +App::$strings["Install Firefox Sharing Tools"] = "Installer Firefox Sharing Tools"; +App::$strings["Share content from Firefox to \$Projectname"] = "Partager du contenu depuis Firefox avec \$Projectname"; +App::$strings["Install Firefox Sharing Tools to this web browser"] = "Installer Firefox Sharing Tools sur ce navigateur"; +App::$strings["Error retrieving wiki"] = "Erreur lors de la récupération du wiki"; +App::$strings["Error creating zip file export folder"] = "Erreur lors de la création du dossier d'exportation du fichier zip"; +App::$strings["Error downloading wiki: "] = "Erreur lors du téléchargement du wiki:"; +App::$strings["Wiki Pages"] = "Pages wiki"; +App::$strings["Add new page"] = "Ajouter une nouvelle page"; +App::$strings["Page name"] = "Nom de la page"; +App::$strings["Wiki List"] = "Liste de wikis"; +App::$strings["Enable the GNU-Social protocol for this channel"] = "Activer le protocole GNU-Social pour ce canal"; +App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Recherche %1\$s (%2\$s)"; +App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname"; +App::$strings["Search \$Projectname"] = "Chercher dans \$Projectname"; App::$strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de BDD '%s'"; +App::$strings["default"] = "défaut"; +App::$strings["Select an alternate language"] = "Choisir une langue alternative"; +App::$strings["Not a valid email address"] = "Ce n'est pas une adresse de courriel valide"; +App::$strings["Your email domain is not among those allowed on this site"] = "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site"; +App::$strings["Your email address is already registered at this site."] = "Votre adresse de courriel est déjà inscrite sur ce site."; +App::$strings["An invitation is required."] = "Une invitation est requise."; +App::$strings["Invitation could not be verified."] = "Votre invitation n'a pas pu être vérifiée."; +App::$strings["Please enter the required information."] = "Merci d'entrer les informations requises."; +App::$strings["Failed to store account information."] = "Impossible de stocker les informations liées au compte."; +App::$strings["Registration confirmation for %s"] = "Confirmation de l'inscription pour %s"; +App::$strings["Registration request at %s"] = "Demande d'inscription sur %s"; +App::$strings["your registration password"] = "votre mot de passe d'inscription"; +App::$strings["Registration details for %s"] = "Détails de l'inscription pour %s"; +App::$strings["Account approved."] = "Compte approuvé."; +App::$strings["Registration revoked for %s"] = "Inscription révoquée pour %s"; +App::$strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour."; +App::$strings["This action exceeds the limits set by your subscription plan."] = "Cette action outrepasserait les limites prévues par votre forfait."; +App::$strings["This action is not available under your subscription plan."] = "Cette action n'est pas disponible avec votre forfait."; +App::$strings["Who can see this?"] = "Qui peut voir cela"; +App::$strings["Custom selection"] = "Sélection personnalisée"; +App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Sélectionnez \"Afficher\" pour permettre l'affichage. \"Ne pas afficher\" vous permet de remplacer et de limiter la portée de \"Afficher\"."; +App::$strings["Show"] = "Montrer"; +App::$strings["Don't show"] = "Cacher"; +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."] = "Les autorisations d'accès d'un message %s ne peuvent pas être modifiées %s une fois le message envoyé. Ces autorisations définissent qui est autorisé à afficher le message."; App::$strings["Categories"] = "Catégories"; App::$strings["Tags"] = "Étiquettes"; App::$strings["Keywords"] = "Mots-clefs"; @@ -1531,262 +2391,119 @@ App::$strings["want"] = "veulent"; App::$strings["wants"] = "veut"; App::$strings["likes"] = "aime"; App::$strings["dislikes"] = "n'aime pas"; +App::$strings["Attachments:"] = "Pièces jointes :"; App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\à G\\hi"; +App::$strings["\$Projectname event notification:"] = "Notification d'événement de \$Projectname :"; App::$strings["Starts:"] = "Début :"; App::$strings["Finishes:"] = "Fin :"; -App::$strings["This event has been added to your calendar."] = "Cet évènement a été ajouté dans votre calendrier."; -App::$strings["Not specified"] = "Non spécifié"; -App::$strings["Needs Action"] = "Besoin d'une action"; -App::$strings["Completed"] = "Terminé"; -App::$strings["In Process"] = "En cours"; -App::$strings["Cancelled"] = "Annulé"; -App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "L'import a échoué. Un canal existe déjà avec ce nom"; -App::$strings["Channel clone failed. Import failed."] = "Echec du clonage du canal. Echec de l'impot."; -App::$strings["(Unknown)"] = "(Inconnu)"; -App::$strings["Visible to anybody on the internet."] = "Visible pour tout le monde sur internet."; -App::$strings["Visible to you only."] = "Visible pour vous seulement."; -App::$strings["Visible to anybody in this network."] = "Visible pour tout le monde sur ce réseau."; -App::$strings["Visible to anybody authenticated."] = "Visible aux utilisateurs authentifiés."; -App::$strings["Visible to anybody on %s."] = "Visible pour tous sur %s."; -App::$strings["Visible to all connections."] = "Visible pour tous les contacts."; -App::$strings["Visible to approved connections."] = "Visible aux contacts approuvés."; -App::$strings["Visible to specific connections."] = "Visible pour certains contacts."; -App::$strings["Privacy group is empty."] = "Groupe d'accès vide."; -App::$strings["Privacy group: %s"] = "Groupe d'accès : %s"; -App::$strings["Connection not found."] = "Contact non trouvé."; -App::$strings["profile photo"] = "photo de profil"; -App::$strings["No recipient provided."] = "Pas de destinataire."; -App::$strings["[no subject]"] = "[sans objet]"; -App::$strings["Unable to determine sender."] = "Impossible de déterminer l'émetteur."; -App::$strings["Stored post could not be verified."] = "Le message stocké n'a pas pu être vérifié."; -App::$strings["prev"] = "préc."; -App::$strings["first"] = "premier"; -App::$strings["last"] = "dernier"; -App::$strings["next"] = "Suivant"; -App::$strings["older"] = "plus ancien"; -App::$strings["newer"] = "plus récent"; -App::$strings["No connections"] = "Pas de relations."; -App::$strings["View all %s connections"] = "Voir les %s contacts"; -App::$strings["poke"] = "tapoter"; -App::$strings["poked"] = "a tapoté"; -App::$strings["ping"] = "ping"; -App::$strings["pinged"] = "pingé"; -App::$strings["prod"] = "encourager"; -App::$strings["prodded"] = "encouragé"; -App::$strings["slap"] = "giffler"; -App::$strings["slapped"] = "gifflé(e)"; -App::$strings["finger"] = "pointer"; -App::$strings["fingered"] = "pointé"; -App::$strings["rebuff"] = "rejetter"; -App::$strings["rebuffed"] = "rejeté"; -App::$strings["happy"] = "heureux"; -App::$strings["sad"] = "triste"; -App::$strings["mellow"] = "mélancolique"; -App::$strings["tired"] = "fatigué"; -App::$strings["perky"] = "impertinent"; -App::$strings["angry"] = "en colère"; -App::$strings["stupefied"] = "stupéfait"; -App::$strings["puzzled"] = "perplexe"; -App::$strings["interested"] = "intéressé"; -App::$strings["bitter"] = "amer"; -App::$strings["cheerful"] = "plein d'entrain"; -App::$strings["alive"] = "vivant"; -App::$strings["annoyed"] = "agaçé"; -App::$strings["anxious"] = "anxieux"; -App::$strings["cranky"] = "énervé"; -App::$strings["disturbed"] = "perturbé"; -App::$strings["frustrated"] = "frustré"; -App::$strings["depressed"] = "déprimé"; -App::$strings["motivated"] = "motivé"; -App::$strings["relaxed"] = "détendu"; -App::$strings["surprised"] = "surpris"; -App::$strings["Monday"] = "Lundi"; -App::$strings["Tuesday"] = "Mardi"; -App::$strings["Wednesday"] = "Mercredi"; -App::$strings["Thursday"] = "Jeudi"; -App::$strings["Friday"] = "Vendredi"; -App::$strings["Saturday"] = "Samedi"; -App::$strings["Sunday"] = "Dimanche"; -App::$strings["January"] = "Janvier"; -App::$strings["February"] = "Février"; -App::$strings["March"] = "Mars"; -App::$strings["April"] = "Avril"; -App::$strings["May"] = "Mai"; -App::$strings["June"] = "Juin"; -App::$strings["July"] = "Juillet"; -App::$strings["August"] = "Août"; -App::$strings["September"] = "Septembre"; -App::$strings["October"] = "Octobre"; -App::$strings["November"] = "Novembre"; -App::$strings["December"] = "Décembre"; -App::$strings["Unknown Attachment"] = "Pièce jointe inconnue"; -App::$strings["unknown"] = "Inconnu"; -App::$strings["remove category"] = "supprimer la catégorie"; -App::$strings["remove from file"] = "retirer du fichier"; -App::$strings["default"] = "défaut"; -App::$strings["Page layout"] = "Mise en page"; -App::$strings["You can create your own with the layouts tool"] = "Créez les vôtres avec les outils de mise en page"; -App::$strings["Page content type"] = "Type de contenu de la page"; -App::$strings["Select an alternate language"] = "Choisir une langue alternative"; -App::$strings["activity"] = "activité"; -App::$strings["Design Tools"] = "Outils de conception"; -App::$strings["Pages"] = "Pages"; -App::$strings["System"] = "Système"; -App::$strings["New App"] = ""; -App::$strings["Suggestions"] = "Suggestions"; -App::$strings["See more..."] = "Voir plus..."; -App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Vous avez %1$.0f sur %2$.0f contacts autorisés."; -App::$strings["Add New Connection"] = "Ajouter un nouveau contact"; -App::$strings["Enter channel address"] = "Saisissez l'adresse du canal"; -App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Exemples : pierre@exemple.com, https://exemple.com/sophie"; -App::$strings["Notes"] = "Notes"; -App::$strings["Remove term"] = "Retirer le terme"; -App::$strings["Saved Searches"] = "Recherches sauvegardées"; -App::$strings["add"] = "ajouter"; -App::$strings["Saved Folders"] = "Dossiers sauvegardés"; -App::$strings["Everything"] = "Tout"; -App::$strings["Archives"] = "Archives"; -App::$strings["Refresh"] = "Actualiser"; -App::$strings["Account settings"] = "Paramètres du compte"; -App::$strings["Channel settings"] = "Paramètres du canal"; -App::$strings["Additional features"] = "Fonctionnalités supplémentaires"; -App::$strings["Feature/Addon settings"] = "Paramètres des extensions/greffons"; -App::$strings["Display settings"] = "Paramètres d'affichage"; -App::$strings["Manage locations"] = ""; -App::$strings["Export channel"] = "Exporter le canal"; -App::$strings["Connected apps"] = "Applications connectées"; -App::$strings["Premium Channel Settings"] = "Paramètres de canal VIP"; -App::$strings["Private Mail Menu"] = "Menu des messages privés"; -App::$strings["Combined View"] = "Vue combinée"; -App::$strings["Inbox"] = "Boîte de réception"; -App::$strings["Outbox"] = "Boîte d'envoi"; -App::$strings["New Message"] = "Nouveau message"; -App::$strings["Conversations"] = "Conversations"; -App::$strings["Received Messages"] = "Messages reçus"; -App::$strings["Sent Messages"] = "Messages envoyés"; -App::$strings["No messages."] = "Pas de message."; -App::$strings["Delete conversation"] = "Supprimer la conversation"; -App::$strings["Events Menu"] = "Menu Evènements"; -App::$strings["Day View"] = "Vue Jour"; -App::$strings["Week View"] = "Vue Semaine"; -App::$strings["Month View"] = "Vue Mois"; -App::$strings["Events Tools"] = "Outils Evènements"; -App::$strings["Export Calendar"] = "Exporter le calendrier"; -App::$strings["Import Calendar"] = "Importer un calendrier"; -App::$strings["Chatrooms"] = "Salons de clavardage"; -App::$strings["Overview"] = ""; -App::$strings["Chat Members"] = ""; -App::$strings["Bookmarked Chatrooms"] = "Salons favoris"; -App::$strings["Suggested Chatrooms"] = "Salons suggérés"; -App::$strings["photo/image"] = "photo/image"; -App::$strings["Click to show more"] = "Cliquer pour voir plus"; -App::$strings["Rating Tools"] = "Outils d'évaluation"; -App::$strings["Rate Me"] = "M'évaluer"; -App::$strings["View Ratings"] = "Voir mes évaluations"; -App::$strings["Forums"] = "Membres du forum"; -App::$strings["Tasks"] = "Tâches"; -App::$strings["Documentation"] = "Documentation"; -App::$strings["Project/Site Information"] = "Information sur le site/projet"; -App::$strings["For Members"] = "Pour les membres"; -App::$strings["For Administrators"] = "Pour les administrateurs"; -App::$strings["For Developers"] = "Pour les développeurs"; -App::$strings["Member registrations waiting for confirmation"] = ""; -App::$strings["Inspect queue"] = "Analyser la file d'attente"; -App::$strings["DB updates"] = "Mises à jour BDD"; -App::$strings["Admin"] = "Administrateur"; -App::$strings["Plugin Features"] = "Fonctionnalités des greffons"; -App::$strings["Channel is blocked on this site."] = "Ce canal est bloqué sur ce site."; -App::$strings["Channel location missing."] = "Emplacement du canal introuvable."; -App::$strings["Response from remote channel was incomplete."] = "La réponse du canal distant était incomplète."; -App::$strings["Channel was deleted and no longer exists."] = "Le canal a été supprimé et n'existe plus."; -App::$strings["Protocol disabled."] = "Protocole désactivé."; -App::$strings["Channel discovery failed."] = "La tentative d'accéder au canal a échoué."; -App::$strings["Cannot connect to yourself."] = "Ne peut pas se connecter à vous."; -App::$strings["%1\$s's bookmarks"] = "Favoris de %1\$s"; -App::$strings["Public Timeline"] = "Fil public"; -App::$strings["Image/photo"] = "Image/photo"; -App::$strings["Encrypted content"] = "Contenu chiffré"; -App::$strings["Install %s element: "] = "Installer %s élément"; -App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site."; -App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s"; -App::$strings["Click to open/close"] = "Cliquer pour ouvrir/fermer"; -App::$strings["spoiler"] = ""; -App::$strings["Different viewers will see this text differently"] = "Ce texte aura un rendu différent en fonction des utilisateurs"; -App::$strings["$1 wrote:"] = "$1 a écrit :"; -App::$strings["Directory Options"] = "Options d'annuaire"; -App::$strings["Safe Mode"] = "Mode sûr"; -App::$strings["Public Forums Only"] = "Les forums publics uniquement"; -App::$strings["This Website Only"] = "Ce site uniquement"; -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."] = "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)."; -App::$strings["Logout"] = "Déconnexion"; -App::$strings["End this session"] = "Mettre fin à la session"; -App::$strings["Home"] = "Mon canal"; -App::$strings["Your posts and conversations"] = "Vos publications et conversations"; -App::$strings["Your profile page"] = "Votre profil"; -App::$strings["Manage/Edit profiles"] = "Gérer/modifier les profils"; -App::$strings["Edit Profile"] = "Éditeur de profil"; -App::$strings["Edit your profile"] = "Modifier votre profil"; -App::$strings["Your photos"] = "Vos photos"; -App::$strings["Your files"] = "Vos fichiers"; -App::$strings["Your chatrooms"] = "Vos salons"; -App::$strings["Bookmarks"] = "Favoris"; -App::$strings["Your bookmarks"] = "Vos favoris"; -App::$strings["Your webpages"] = "Vos pages web"; -App::$strings["Sign in"] = "Connexion"; -App::$strings["%s - click to logout"] = "%s - cliquer ici pour déconnecter"; -App::$strings["Remote authentication"] = "Authentification distante"; -App::$strings["Click to authenticate to your home hub"] = "S'authentifier auprès de votre hub principal"; -App::$strings["Home Page"] = "Page d'accueil"; -App::$strings["Create an account"] = "Créer un compte"; -App::$strings["Help and documentation"] = "Aide et documentation"; -App::$strings["Applications, utilities, links, games"] = "Applications, utilitaires, liens, jeux"; -App::$strings["Search site @name, #tag, ?docs, content"] = "Recherche @nom, #tag, contenu"; -App::$strings["Channel Directory"] = "Annuaire des canaux"; -App::$strings["Your grid"] = "Votre réseau"; -App::$strings["Mark all grid notifications seen"] = "Marquer toutes les notifications du réseau comme vues"; -App::$strings["Channel home"] = "Mon canal"; -App::$strings["Mark all channel notifications seen"] = "Marquer toutes les notifications du canal comme vues"; -App::$strings["Notices"] = "Notifications"; -App::$strings["Notifications"] = "Notifications"; -App::$strings["See all notifications"] = "Voir toutes les notifications"; -App::$strings["Private mail"] = "Messages privés"; -App::$strings["See all private messages"] = "Voir tous les messages privés"; -App::$strings["Mark all private messages seen"] = "Marquer tous les messages privés comme vus"; -App::$strings["Event Calendar"] = "Calendrier des événements"; -App::$strings["See all events"] = "Voir tous les événements"; -App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus"; -App::$strings["Manage Your Channels"] = "Gérer vos canaux"; -App::$strings["Account/Channel Settings"] = "Paramètres du Compte/Canal"; -App::$strings["Site Setup and Configuration"] = "Configuration du site"; -App::$strings["Loading..."] = "Chargement..."; -App::$strings["@name, #tag, ?doc, content"] = "@nom, #étiquette, ?doc, contenu"; -App::$strings["Please wait..."] = "Merci de patienter..."; +App::$strings["Birthday"] = "Anniversaire"; +App::$strings["Age: "] = "Age :"; +App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-JJ ou MM-JJ"; +App::$strings["never"] = "jamais"; +App::$strings["less than a second ago"] = "à l'instant"; +App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "il y a %1\$d %2\$s"; +App::$strings["__ctx:relative_date__ year"] = array( + 0 => "an", + 1 => "ans", +); +App::$strings["__ctx:relative_date__ month"] = array( + 0 => "mois", + 1 => "mois", +); +App::$strings["__ctx:relative_date__ week"] = array( + 0 => "semaine", + 1 => "semaines", +); +App::$strings["__ctx:relative_date__ day"] = array( + 0 => "jour", + 1 => "jours", +); +App::$strings["__ctx:relative_date__ hour"] = array( + 0 => "heure", + 1 => "heures", +); +App::$strings["__ctx:relative_date__ minute"] = array( + 0 => "minute", + 1 => "minutes", +); +App::$strings["__ctx:relative_date__ second"] = array( + 0 => "seconde", + 1 => "secondes", +); +App::$strings["%1\$s's birthday"] = "Anniversaire de %1\$s"; +App::$strings["Happy Birthday %1\$s"] = "Joyeux Anniversaire %1\$s"; +App::$strings["Frequently"] = "Fréquemment"; +App::$strings["Hourly"] = "Toutes les heures"; +App::$strings["Twice daily"] = "Deux fois par jour"; +App::$strings["Daily"] = "Chaque jour"; +App::$strings["Weekly"] = "Chaque semaine"; +App::$strings["Monthly"] = "Chaque mois"; +App::$strings["Currently Male"] = "Actuellement homme"; +App::$strings["Currently Female"] = "Actuellement femme"; +App::$strings["Mostly Male"] = "Surtout homme"; +App::$strings["Mostly Female"] = "Surtout femme"; +App::$strings["Transgender"] = "Transgenre"; +App::$strings["Intersex"] = "Intersexuel"; +App::$strings["Transsexual"] = "Transsexuel"; +App::$strings["Hermaphrodite"] = "Hermaphrodite"; +App::$strings["Neuter"] = "Neutre"; +App::$strings["Non-specific"] = "Non spécifique"; +App::$strings["Undecided"] = "Indécis"; +App::$strings["Males"] = "Hommes"; +App::$strings["Females"] = "Femmes"; +App::$strings["Gay"] = "Gay"; +App::$strings["Lesbian"] = "Lesbienne"; +App::$strings["No Preference"] = "Sans préférence"; +App::$strings["Bisexual"] = "Bisexuel"; +App::$strings["Autosexual"] = "Autosexuel"; +App::$strings["Abstinent"] = "Abstinent"; +App::$strings["Virgin"] = "Vierge"; +App::$strings["Deviant"] = "Déviant"; +App::$strings["Fetish"] = "Fétichiste"; +App::$strings["Oodles"] = "Une floppée"; +App::$strings["Nonsexual"] = "Non-sexuel"; +App::$strings["Single"] = "Célibataire"; +App::$strings["Lonely"] = "Solitaire"; +App::$strings["Available"] = "Disponible"; +App::$strings["Unavailable"] = "Indisponible"; +App::$strings["Has crush"] = "A un béguin"; +App::$strings["Infatuated"] = "Amoureux transi"; +App::$strings["Dating"] = "Sort avec quelqu'un"; +App::$strings["Unfaithful"] = "Infidèle"; +App::$strings["Sex Addict"] = "Accro au sexe"; +App::$strings["Friends/Benefits"] = "Amis avec bénéfices"; +App::$strings["Casual"] = "Sans engagement"; +App::$strings["Engaged"] = "Fiancé(e)"; +App::$strings["Married"] = "Marié(e)"; +App::$strings["Imaginarily married"] = "Marié(e) dans ses rêves"; +App::$strings["Partners"] = "Partenaires"; +App::$strings["Cohabiting"] = "En cohabitation"; +App::$strings["Common law"] = "Conjoints de fait"; +App::$strings["Happy"] = "Heureux"; +App::$strings["Not looking"] = "Pas en recherche"; +App::$strings["Swinger"] = "Echangiste"; +App::$strings["Betrayed"] = "Trahi(e)"; +App::$strings["Separated"] = "Séparé(e)"; +App::$strings["Unstable"] = "Instable"; +App::$strings["Divorced"] = "Divorcé(e)"; +App::$strings["Imaginarily divorced"] = "Divorcé(e) dans ses rêves"; +App::$strings["Widowed"] = "Veuf/veuve"; +App::$strings["Uncertain"] = "Incertain"; +App::$strings["It's complicated"] = "C'est compliqué"; +App::$strings["Don't care"] = "S'en fiche"; +App::$strings["Ask me"] = "Me demander"; App::$strings["New window"] = "Nouvelle fenêtre"; App::$strings["Open the selected location in a different window or browser tab"] = "Ouvrir l'emplacement dans une fenêtre ou un onglet différent"; App::$strings["User '%s' deleted"] = "Utilisateur '%s' supprimé"; -App::$strings["%d invitation available"] = array( - 0 => "%d invitation disponible", - 1 => "%d invitations disponibles", -); -App::$strings["Find Channels"] = "Trouver des canaux"; -App::$strings["Enter name or interest"] = "Saisir nom ou centre d'intérêt"; -App::$strings["Connect/Follow"] = "Ajouter/Suivre"; -App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Guillaume Martin, Course à pieds"; -App::$strings["Random Profile"] = "Un profil au hasard"; -App::$strings["Invite Friends"] = "Inviter des amis"; -App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avancé : name=fred and country=iceland"; -App::$strings["%d connection in common"] = array( - 0 => "%d contact en commun", - 1 => "%d contacts en commun", -); -App::$strings["show more"] = "montrer plus"; App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ajoute %2\$s à ses contacts"; App::$strings["%1\$s poked %2\$s"] = "%1\$s a tapoté %2\$s"; +App::$strings["poked"] = "a tapoté"; App::$strings["View %s's profile @ %s"] = "Voir le profil de %s @ %s"; App::$strings["Categories:"] = "Catégories :"; App::$strings["Filed under:"] = "Classé sous :"; App::$strings["View in context"] = "Voir en contexte"; App::$strings["remove"] = "supprimer"; +App::$strings["Loading..."] = "Chargement..."; App::$strings["Delete Selected Items"] = "Supprimer les éléments selectionnés"; App::$strings["View Source"] = "Voir source"; App::$strings["Follow Thread"] = "Suivre la discussion"; @@ -1815,12 +2532,17 @@ App::$strings["Set your location"] = "Spécifier votre emplacement géographique App::$strings["Clear browser location"] = "Supprimer l'emplacement géographique du navigateur"; App::$strings["Tag term:"] = "Étiquette :"; App::$strings["Where are you right now?"] = "Où êtes-vous en ce moment ?"; +App::$strings["Choose a different album..."] = "Choisissez un autre album"; +App::$strings["Comments enabled"] = "Commentaires activés"; +App::$strings["Comments disabled"] = "Commentaires désactivés"; App::$strings["Page link name"] = "Nom du lien vers la page"; App::$strings["Post as"] = "Publier en tant que"; App::$strings["Toggle voting"] = "(Dés)activer le vote"; +App::$strings["Disable comments"] = "Désactiver les commentaires"; +App::$strings["Toggle comments"] = "Basculer les commentaires"; App::$strings["Categories (optional, comma-separated list)"] = "Catégories (facultatives, séparées par des virgules)"; +App::$strings["Other networks and post services"] = "Autres réseaux et services de messagerie"; App::$strings["Set publish date"] = "Définir la date de publication"; -App::$strings["OK"] = "OK"; App::$strings["Discover"] = "À découvrir"; App::$strings["Imported public streams"] = "Flux publics importés"; App::$strings["Commented Order"] = "Par date de commentaire"; @@ -1829,17 +2551,18 @@ App::$strings["Posted Order"] = "Par date de publication"; App::$strings["Sort by Post Date"] = "Trier par date de publication"; App::$strings["Posts that mention or involve you"] = "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre"; App::$strings["Activity Stream - by date"] = "Flux d'activité - par date"; -App::$strings["Starred"] = "Mis en avant (étoiles)"; +App::$strings["Starred"] = "Avec étoile"; App::$strings["Favourite Posts"] = "Publications préférées"; App::$strings["Spam"] = "Indésirable"; App::$strings["Posts flagged as SPAM"] = "Publications marquées comme indésirables"; App::$strings["Status Messages and Posts"] = "Messages d'état et contributions"; -App::$strings["About"] = "À propos"; App::$strings["Profile Details"] = "Détails du profil"; App::$strings["Photo Albums"] = "Albums photo"; App::$strings["Files and Storage"] = "Fichiers et Stockage"; +App::$strings["Chatrooms"] = "Salons de clavardage"; +App::$strings["Bookmarks"] = "Favoris"; App::$strings["Saved Bookmarks"] = "Favoris sauvegardés"; -App::$strings["Manage Webpages"] = "Gérer les pages web"; +App::$strings["View Webpages"] = "Voir les pages web"; App::$strings["__ctx:noun__ Attending"] = array( 0 => "Participe", 1 => "Participent", @@ -1864,114 +2587,73 @@ App::$strings["__ctx:noun__ Abstain"] = array( 0 => "S'abstient", 1 => "S'abstiennent", ); -App::$strings["Frequently"] = "Fréquemment"; -App::$strings["Hourly"] = "Toutes les heures"; -App::$strings["Twice daily"] = "Deux fois par jour"; -App::$strings["Daily"] = "Chaque jour"; -App::$strings["Weekly"] = "Chaque semaine"; -App::$strings["Monthly"] = "Chaque mois"; -App::$strings["Currently Male"] = "Actuellement homme"; -App::$strings["Currently Female"] = "Actuellement femme"; -App::$strings["Mostly Male"] = "Surtout homme"; -App::$strings["Mostly Female"] = "Surtout femme"; -App::$strings["Transgender"] = "Transgenre"; -App::$strings["Intersex"] = "Intersexuel"; -App::$strings["Transsexual"] = "Transsexuel"; -App::$strings["Hermaphrodite"] = "Hermaphrodite"; -App::$strings["Neuter"] = "Neutre"; -App::$strings["Non-specific"] = "Non spécifique"; -App::$strings["Other"] = "Autre"; -App::$strings["Undecided"] = "Indécis"; -App::$strings["Males"] = "Hommes"; -App::$strings["Females"] = "Femmes"; -App::$strings["Gay"] = "Gay"; -App::$strings["Lesbian"] = "Lesbienne"; -App::$strings["No Preference"] = "Sans préférence"; -App::$strings["Bisexual"] = "Bisexuel"; -App::$strings["Autosexual"] = "Autosexuel"; -App::$strings["Abstinent"] = "Abstinent"; -App::$strings["Virgin"] = "Vierge"; -App::$strings["Deviant"] = "Déviant"; -App::$strings["Fetish"] = "Fétichiste"; -App::$strings["Oodles"] = "Une floppée"; -App::$strings["Nonsexual"] = "Non-sexuel"; -App::$strings["Single"] = "Célibataire"; -App::$strings["Lonely"] = "Solitaire"; -App::$strings["Available"] = "Disponible"; -App::$strings["Unavailable"] = "Indisponible"; -App::$strings["Has crush"] = "A un béguin"; -App::$strings["Infatuated"] = "Amoureux transi"; -App::$strings["Dating"] = "Sort avec quelqu'un"; -App::$strings["Unfaithful"] = "Infidèle"; -App::$strings["Sex Addict"] = "Accro au sexe"; -App::$strings["Friends/Benefits"] = "Amis avec bénéfices"; -App::$strings["Casual"] = "Sans engagement"; -App::$strings["Engaged"] = "Fiancé(e)"; -App::$strings["Married"] = "Marié(e)"; -App::$strings["Imaginarily married"] = "Marié(e) dans ses rêves"; -App::$strings["Partners"] = "Partenaires"; -App::$strings["Cohabiting"] = "En cohabitation"; -App::$strings["Common law"] = "Conjoints de fait"; -App::$strings["Happy"] = "Heureux"; -App::$strings["Not looking"] = "Pas en recherche"; -App::$strings["Swinger"] = "Echangiste"; -App::$strings["Betrayed"] = "Trahi(e)"; -App::$strings["Separated"] = "Séparé(e)"; -App::$strings["Unstable"] = "Instable"; -App::$strings["Divorced"] = "Divorcé(e)"; -App::$strings["Imaginarily divorced"] = "Divorcé(e) dans ses rêves"; -App::$strings["Widowed"] = "Veuf/veuve"; -App::$strings["Uncertain"] = "Incertain"; -App::$strings["It's complicated"] = "C'est compliqué"; -App::$strings["Don't care"] = "S'en fiche"; -App::$strings["Ask me"] = "Me demander"; -App::$strings["Visible to your default audience"] = "Visible pour vos contacts seulement"; -App::$strings["Only me"] = ""; -App::$strings["Public"] = "Public"; -App::$strings["Anybody in the \$Projectname network"] = ""; -App::$strings["Any account on %s"] = ""; -App::$strings["Any of my connections"] = ""; -App::$strings["Only connections I specifically allow"] = ""; -App::$strings["Anybody authenticated (could include visitors from other networks)"] = ""; -App::$strings["Any connections including those who haven't yet been approved"] = ""; -App::$strings["This is your default setting for the audience of your normal stream, and posts."] = ""; -App::$strings["This is your default setting for who can view your default channel profile"] = ""; -App::$strings["This is your default setting for who can view your connections"] = ""; -App::$strings["This is your default setting for who can view your file storage and photos"] = ""; -App::$strings["This is your default setting for the audience of your webpages"] = ""; -App::$strings["Not a valid email address"] = "Ce n'est pas une adresse de courriel valide"; -App::$strings["Your email domain is not among those allowed on this site"] = "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site"; -App::$strings["Your email address is already registered at this site."] = "Votre adresse de courriel est déjà inscrite sur ce site."; -App::$strings["An invitation is required."] = "Une invitation est requise."; -App::$strings["Invitation could not be verified."] = "Votre invitation n'a pas pu être vérifiée."; -App::$strings["Please enter the required information."] = "Merci d'entrer les informations requises."; -App::$strings["Failed to store account information."] = "Impossible de stocker les informations liées au compte."; -App::$strings["Registration confirmation for %s"] = "Confirmation de l'inscription pour %s"; -App::$strings["Registration request at %s"] = "Demande d'inscription sur %s"; -App::$strings["Administrator"] = "Administrateur"; -App::$strings["your registration password"] = "votre mot de passe d'inscription"; -App::$strings["Registration details for %s"] = "Détails de l'inscription pour %s"; -App::$strings["Account approved."] = "Compte approuvé."; -App::$strings["Registration revoked for %s"] = "Inscription révoquée pour %s"; -App::$strings["Account verified. Please login."] = "Compte vérifié. Veuillez vous connecter."; -App::$strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour."; -App::$strings["This action exceeds the limits set by your subscription plan."] = "Cette action outrepasserait les limites prévues par votre forfait."; -App::$strings["This action is not available under your subscription plan."] = "Cette action n'est pas disponible avec votre forfait."; -App::$strings["Item was not found."] = "Élément introuvable."; -App::$strings["No source file."] = "Pas de fichier source."; -App::$strings["Cannot locate file to replace"] = "Impossible de trouver le fichier à remplacer."; -App::$strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre à jour"; -App::$strings["File exceeds size limit of %d"] = "Le fichier dépasse la taille limite de %d"; -App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes."; -App::$strings["File upload failed. Possible system limit or action terminated."] = "Envoi du fichier impossible. Limite système ou action avortée."; -App::$strings["Stored file could not be verified. Upload failed."] = "Le fichier stocké n'a pu être vérifié. Echec de l'envoi."; -App::$strings["Path not available."] = "Chemin non disponible."; -App::$strings["Empty pathname"] = "Chemin vide"; -App::$strings["duplicate filename or path"] = "doublon de chemin ou de fichier"; -App::$strings["Path not found."] = "Chemin introuvable."; -App::$strings["mkdir failed."] = "mkdir a échoué."; -App::$strings["database storage failed."] = "l'écriture dans la base de données a échoué."; -App::$strings["Empty path"] = "Chemin vide"; +App::$strings["Unable to determine sender."] = "Impossible de déterminer l'émetteur."; +App::$strings["No recipient provided."] = "Pas de destinataire."; +App::$strings["[no subject]"] = "[sans objet]"; +App::$strings["Stored post could not be verified."] = "Le message stocké n'a pas pu être vérifié."; +App::$strings["guest:"] = "Visiteur"; +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."] = "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)."; +App::$strings["System"] = "Système"; +App::$strings["New App"] = "Nouvelle application"; +App::$strings["Edit Apps"] = "Modifier les apps"; +App::$strings["Suggestions"] = "Suggestions"; +App::$strings["See more..."] = "Voir plus..."; +App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Vous avez %1$.0f sur %2$.0f contacts autorisés."; +App::$strings["Add New Connection"] = "Ajouter un nouveau contact"; +App::$strings["Enter channel address"] = "Saisissez l'adresse du canal"; +App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Exemples : pierre@exemple.com, https://exemple.com/sophie"; +App::$strings["Notes"] = "Notes"; +App::$strings["Remove term"] = "Retirer le terme"; +App::$strings["Saved Searches"] = "Recherches sauvegardées"; +App::$strings["add"] = "ajouter"; +App::$strings["Saved Folders"] = "Dossiers sauvegardés"; +App::$strings["Everything"] = "Tout"; +App::$strings["Archives"] = "Archives"; +App::$strings["Refresh"] = "Actualiser"; +App::$strings["Account settings"] = "Paramètres du compte"; +App::$strings["Channel settings"] = "Paramètres du canal"; +App::$strings["Additional features"] = "Fonctionnalités supplémentaires"; +App::$strings["Feature/Addon settings"] = "Paramètres des extensions/greffons"; +App::$strings["Display settings"] = "Paramètres d'affichage"; +App::$strings["Manage locations"] = "Gérer les emplacements"; +App::$strings["Export channel"] = "Exporter le canal"; +App::$strings["Connected apps"] = "Applications connectées"; +App::$strings["Permission Groups"] = "Groupes d'autorisation"; +App::$strings["Premium Channel Settings"] = "Paramètres de canal VIP"; +App::$strings["Private Mail Menu"] = "Menu des messages privés"; +App::$strings["Combined View"] = "Vue combinée"; +App::$strings["Inbox"] = "Boîte de réception"; +App::$strings["Outbox"] = "Boîte d'envoi"; +App::$strings["New Message"] = "Nouveau message"; +App::$strings["Conversations"] = "Conversations"; +App::$strings["Received Messages"] = "Messages reçus"; +App::$strings["Sent Messages"] = "Messages envoyés"; +App::$strings["No messages."] = "Pas de message."; +App::$strings["Delete conversation"] = "Supprimer la conversation"; +App::$strings["Events Tools"] = "Outils Evènements"; +App::$strings["Export Calendar"] = "Exporter le calendrier"; +App::$strings["Import Calendar"] = "Importer un calendrier"; +App::$strings["Overview"] = "Aperçu"; +App::$strings["Chat Members"] = "Membres du salon de discussion"; +App::$strings["__ctx:wiki_history__ Message"] = "Message"; +App::$strings["Bookmarked Chatrooms"] = "Salons favoris"; +App::$strings["Suggested Chatrooms"] = "Salons suggérés"; +App::$strings["photo/image"] = "photo/image"; +App::$strings["Click to show more"] = "Cliquer pour voir plus"; +App::$strings["Rating Tools"] = "Outils d'évaluation"; +App::$strings["Rate Me"] = "M'évaluer"; +App::$strings["View Ratings"] = "Voir mes évaluations"; +App::$strings["Forums"] = "Forums"; +App::$strings["Tasks"] = "Tâches"; +App::$strings["Member registrations waiting for confirmation"] = "Inscriptions en attente d'approbation"; +App::$strings["Inspect queue"] = "Analyser la file d'attente"; +App::$strings["DB updates"] = "Mises à jour BDD"; +App::$strings["Admin"] = "Administrateur"; +App::$strings["Plugin Features"] = "Fonctionnalités des greffons"; +App::$strings["Invalid data packet"] = "Paquet de données invalide"; +App::$strings["Unable to verify channel signature"] = "Impossible de vérifier la signature du canal"; +App::$strings["Unable to verify site signature for %s"] = "Impossible de vérifier la signature de site pour %s"; +App::$strings["invalid target signature"] = "signature de la cible invalide"; App::$strings["Unable to obtain identity information from database"] = "Impossible d'obtenir les données d'identité depuis la base de données"; App::$strings["Empty name"] = "Nom vide"; App::$strings["Name too long"] = "Nom trop long"; @@ -1981,11 +2663,9 @@ App::$strings["Reserved nickname. Please choose another."] = "Surnom réservé. App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Le surnom contient des caractères interdits ou est déjà pris sur ce site."; App::$strings["Unable to retrieve created identity"] = "Impossible de récupérer l'identité créée"; App::$strings["Default Profile"] = "Profil par défaut"; -App::$strings["Requested channel is not available."] = "Canal demandé non disponible."; App::$strings["Create New Profile"] = "Créer un nouveau profil"; App::$strings["Visible to everybody"] = "Visible de tous"; App::$strings["Gender:"] = "Sexe :"; -App::$strings["Status:"] = "État :"; App::$strings["Homepage:"] = "Site Internet :"; App::$strings["Online Now"] = "Connecté"; App::$strings["Like this channel"] = "J'aime ce canal"; @@ -2010,131 +2690,27 @@ App::$strings["Love/Romance:"] = "Vie sentimentale/amoureuse :"; App::$strings["Work/employment:"] = "Travail/Occupation "; App::$strings["School/education:"] = "Études "; App::$strings["Like this thing"] = "J'aime ceci"; -App::$strings["General Features"] = "Fonctionnalités générales"; -App::$strings["Content Expiration"] = "Expiration du contenu"; -App::$strings["Remove posts/comments and/or private messages at a future time"] = "Supprimer les contributions/commentaires et/ou messages privés plus tard"; -App::$strings["Multiple Profiles"] = "Profils multiples"; -App::$strings["Ability to create multiple profiles"] = "Possibilité de créer plusieurs profils"; -App::$strings["Advanced Profiles"] = "Profils Avancés"; -App::$strings["Additional profile sections and selections"] = "Sections et sélections supplémentaires du profil"; -App::$strings["Profile Import/Export"] = "Importer/Exporter le profil"; -App::$strings["Save and load profile details across sites/channels"] = "Sauvegarder et charger les détails d'un profil entre sites/canaux"; -App::$strings["Web Pages"] = "Pages web"; -App::$strings["Provide managed web pages on your channel"] = "Fournir des pages web, sous votre contrôle, sur votre canal"; -App::$strings["Hide Rating"] = "Masquer l'évaluation"; -App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Masquer les boutons d'évaluation sur les pages de votre canal et de votre profil. NB : vous pourrez toujours être évalué(e) ailleurs."; -App::$strings["Private Notes"] = "Notes privées"; -App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Active un outil pour stocker des notes et des rappels (note :non chiffré)"; -App::$strings["Navigation Channel Select"] = "Sélection du canal par la navigation"; -App::$strings["Change channels directly from within the navigation dropdown menu"] = "Changez de canal directement depuis le menu de navigation déroulant"; -App::$strings["Photo Location"] = "Site de prise de vue"; -App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte."; -App::$strings["Access Controlled Chatrooms"] = ""; -App::$strings["Provide chatrooms and chat services with access control."] = ""; -App::$strings["Smart Birthdays"] = "Anniversaires intelligents"; -App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents."; -App::$strings["Expert Mode"] = "Mode expert"; -App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Activer le mode expert pour accéder aux options avancées"; -App::$strings["Premium Channel"] = "Canal VIP"; -App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal"; -App::$strings["Post Composition Features"] = "Fonctionnalités de composition"; -App::$strings["Large Photos"] = "Grandes photos"; -App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px)."; -App::$strings["Automatically import channel content from other channels or feeds"] = "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif"; -App::$strings["Even More Encryption"] = "Encore plus de chiffrement"; -App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé"; -App::$strings["Enable Voting Tools"] = "Activer les outils de vote"; -App::$strings["Provide a class of post which others can vote on"] = "Fournit un type de publication sur lequel les utilisateurs peuvent voter"; -App::$strings["Delayed Posting"] = "Publication plus tard"; -App::$strings["Allow posts to be published at a later date"] = "Permettre de publier des messages à une date programmée"; -App::$strings["Suppress Duplicate Posts/Comments"] = "Supprimer les publications/commentaires en doublon"; -App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle"; -App::$strings["Network and Stream Filtering"] = "Filtrage du réseau et des flux"; -App::$strings["Search by Date"] = "Chercher par date"; -App::$strings["Ability to select posts by date ranges"] = "Pouvoir choisir des publications par date"; -App::$strings["Privacy Groups"] = "Groupes d'accès"; -App::$strings["Enable management and selection of privacy groups"] = "Active la gestion et la sélection des groupes d'accès"; -App::$strings["Save search terms for re-use"] = "Sauvegarder des termes de recherche pour utilisation ultérieure"; -App::$strings["Network Personal Tab"] = "Onglet \"Me concernant\""; -App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu"; -App::$strings["Network New Tab"] = "Onglet \"nouveautés réseau\""; -App::$strings["Enable tab to display all new Network activity"] = "Activer un onglet présentant toute l'activité récente sur le réseau"; -App::$strings["Affinity Tool"] = "Gérer l'affinité"; -App::$strings["Filter stream activity by depth of relationships"] = "Filtrer le flux d'activité en fonction de la profondeur des relations"; -App::$strings["Connection Filtering"] = "Filtrage des contacts"; -App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs"; -App::$strings["Show channel suggestions"] = "Montrer les suggestions de canaux"; -App::$strings["Post/Comment Tools"] = "Gérer les publications/commentaires"; -App::$strings["Community Tagging"] = "Etiquetage communautaire"; -App::$strings["Ability to tag existing posts"] = "Permettre de marquer les publications existantes"; -App::$strings["Post Categories"] = "Catégoriser les publications"; -App::$strings["Add categories to your posts"] = "Ajouter des catégories à vos publications"; -App::$strings["Emoji Reactions"] = ""; -App::$strings["Add emoji reaction ability to posts"] = ""; -App::$strings["Ability to file posts under folders"] = "Permettre de classer les publications dans des dossiers"; -App::$strings["Dislike Posts"] = "\"Ne pas aimer\" les publications"; -App::$strings["Ability to dislike posts/comments"] = "Possibilité de \"ne pas aimer\" les publications/commentaires"; -App::$strings["Star Posts"] = "Pouvoir mettre en avant les publications"; -App::$strings["Ability to mark special posts with a star indicator"] = "Pouvoir marquer certaines publications d'une étoile"; -App::$strings["Tag Cloud"] = "Nuage de tags"; -App::$strings["Provide a personal tag cloud on your channel page"] = "Afficher un nuage de vos tags sur votre canal"; -App::$strings["Embedded content"] = "Contenu imbriqué"; -App::$strings["Embedding disabled"] = "Imbrication désactivée"; -App::$strings["Who can see this?"] = ""; -App::$strings["Custom selection"] = ""; -App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = ""; -App::$strings["Show"] = "Montrer"; -App::$strings["Don't show"] = "Cacher"; -App::$strings["Other networks and post services"] = "Autres réseaux et services de messagerie"; -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."] = ""; -App::$strings["Logged out."] = "Deconnecté."; -App::$strings["Failed authentication"] = "Échec de l'authentification"; -App::$strings["Birthday"] = "Anniversaire"; -App::$strings["Age: "] = "Age :"; -App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-JJ ou MM-JJ"; -App::$strings["never"] = "jamais"; -App::$strings["less than a second ago"] = "à l'instant"; -App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "il y a %1\$d %2\$s"; -App::$strings["__ctx:relative_date__ year"] = array( - 0 => "an", - 1 => "ans", -); -App::$strings["__ctx:relative_date__ month"] = array( - 0 => "mois", - 1 => "mois", -); -App::$strings["__ctx:relative_date__ week"] = array( - 0 => "semaine", - 1 => "semaines", -); -App::$strings["__ctx:relative_date__ day"] = array( - 0 => "jour", - 1 => "jours", -); -App::$strings["__ctx:relative_date__ hour"] = array( - 0 => "heure", - 1 => "heures", -); -App::$strings["__ctx:relative_date__ minute"] = array( - 0 => "minute", - 1 => "minutes", +App::$strings["New Page"] = "Nouvelle page"; +App::$strings["%d invitation available"] = array( + 0 => "%d invitation disponible", + 1 => "%d invitations disponibles", ); -App::$strings["__ctx:relative_date__ second"] = array( - 0 => "seconde", - 1 => "secondes", +App::$strings["Find Channels"] = "Trouver des canaux"; +App::$strings["Enter name or interest"] = "Saisir nom ou centre d'intérêt"; +App::$strings["Connect/Follow"] = "Ajouter/Suivre"; +App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Guillaume Martin, Course à pieds"; +App::$strings["Random Profile"] = "Un profil au hasard"; +App::$strings["Invite Friends"] = "Inviter des amis"; +App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avancé : name=fred and country=iceland"; +App::$strings["%d connection in common"] = array( + 0 => "%d contact en commun", + 1 => "%d contacts en commun", ); -App::$strings["%1\$s's birthday"] = "Anniversaire de %1\$s"; -App::$strings["Happy Birthday %1\$s"] = "Joyeux Anniversaire %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 groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent."; -App::$strings["Add new connections to this privacy group"] = "Ajouter de nouveaux contacts à ce groupe d'accès"; -App::$strings["edit"] = "modifier"; -App::$strings["Edit group"] = "Modifier le groupe"; -App::$strings["Add privacy group"] = "Ajouter un groupe d'accès"; -App::$strings["Channels not in any privacy group"] = "Canaux n'étant dans aucun groupe d'accès"; +App::$strings["show more"] = "montrer plus"; App::$strings["Delete this item?"] = "Supprimer cet élément?"; -App::$strings["[-] show less"] = "[-] montrer moins"; -App::$strings["[+] expand"] = "[+] déplier"; -App::$strings["[-] collapse"] = "[-] replier"; +App::$strings["%s show less"] = "%s afficher moins"; +App::$strings["%s expand"] = "%s dérouler"; +App::$strings["%s collapse"] = "%s enrouler"; App::$strings["Password too short"] = "Mot de passe trop court"; App::$strings["Passwords do not match"] = "Les mots de passe ne correspondent pas"; App::$strings["everybody"] = "tout le monde"; @@ -2162,9 +2738,20 @@ App::$strings["about a month"] = "environ un mois"; App::$strings["%d months"] = "%d mois"; App::$strings["about a year"] = "environ un an"; App::$strings["%d years"] = "%d années"; -App::$strings[" "] = ""; +App::$strings[" "] = " "; App::$strings["timeago.numbers"] = "timeago.numbers"; +App::$strings["January"] = "Janvier"; +App::$strings["February"] = "Février"; +App::$strings["March"] = "Mars"; +App::$strings["April"] = "Avril"; App::$strings["__ctx:long__ May"] = "Mai"; +App::$strings["June"] = "Juin"; +App::$strings["July"] = "Juillet"; +App::$strings["August"] = "Août"; +App::$strings["September"] = "Septembre"; +App::$strings["October"] = "Octobre"; +App::$strings["November"] = "Novembre"; +App::$strings["December"] = "Décembre"; App::$strings["Jan"] = "Jan"; App::$strings["Feb"] = "Fev"; App::$strings["Mar"] = "Mar"; @@ -2177,6 +2764,13 @@ App::$strings["Sep"] = "Sep"; App::$strings["Oct"] = "Oct"; App::$strings["Nov"] = "Nov"; App::$strings["Dec"] = "Dec"; +App::$strings["Sunday"] = "Dimanche"; +App::$strings["Monday"] = "Lundi"; +App::$strings["Tuesday"] = "Mardi"; +App::$strings["Wednesday"] = "Mercredi"; +App::$strings["Thursday"] = "Jeudi"; +App::$strings["Friday"] = "Vendredi"; +App::$strings["Saturday"] = "Samedi"; App::$strings["Sun"] = "Dim"; App::$strings["Mon"] = "Lun"; App::$strings["Tue"] = "Mar"; @@ -2189,39 +2783,206 @@ App::$strings["__ctx:calendar__ month"] = "mois"; App::$strings["__ctx:calendar__ week"] = "semaine"; App::$strings["__ctx:calendar__ day"] = "jour"; App::$strings["__ctx:calendar__ All day"] = "Toute la journée"; +App::$strings["Directory Options"] = "Options d'annuaire"; +App::$strings["Safe Mode"] = "Mode sûr"; +App::$strings["Public Forums Only"] = "Les forums publics uniquement"; +App::$strings["This Website Only"] = "Ce site uniquement"; +App::$strings["Item was not found."] = "Élément introuvable."; +App::$strings["No source file."] = "Pas de fichier source."; +App::$strings["Cannot locate file to replace"] = "Impossible de trouver le fichier à remplacer."; +App::$strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre à jour"; +App::$strings["File exceeds size limit of %d"] = "Le fichier dépasse la taille limite de %d"; +App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes."; +App::$strings["File upload failed. Possible system limit or action terminated."] = "Envoi du fichier impossible. Limite système ou action avortée."; +App::$strings["Stored file could not be verified. Upload failed."] = "Le fichier stocké n'a pu être vérifié. Echec de l'envoi."; +App::$strings["Path not available."] = "Chemin non disponible."; +App::$strings["Empty pathname"] = "Chemin vide"; +App::$strings["duplicate filename or path"] = "doublon de chemin ou de fichier"; +App::$strings["Path not found."] = "Chemin introuvable."; +App::$strings["mkdir failed."] = "mkdir a échoué."; +App::$strings["database storage failed."] = "l'écriture dans la base de données a échoué."; +App::$strings["Empty path"] = "Chemin vide"; App::$strings["view full size"] = "voir en taille réelle"; App::$strings["No Subject"] = "Pas d'objet"; -App::$strings["Friendica"] = "Friendica"; App::$strings["OStatus"] = "OStatus"; -App::$strings["GNU-Social"] = ""; +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[" by "] = "par"; +App::$strings[" on "] = "sur"; +App::$strings["Embedded content"] = "Contenu imbriqué"; +App::$strings["Embedding disabled"] = "Imbrication désactivée"; App::$strings["Image exceeds website size limit of %lu bytes"] = "L'image dépasse la taille limite de %lu octets"; App::$strings["Image file is empty."] = "L'image est vide."; App::$strings["Photo storage failed."] = "Le stockage de l'image a échoué."; App::$strings["a new photo"] = "une nouvelle photo"; App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s a publié %2\$s pour %3\$s"; App::$strings["Upload New Photos"] = "Ajouter des photos"; -App::$strings["Invalid data packet"] = "Paquet de données invalide"; -App::$strings["Unable to verify channel signature"] = "Impossible de vérifier la signature du canal"; -App::$strings["Unable to verify site signature for %s"] = "Impossible de vérifier la signature de site pour %s"; -App::$strings["invalid target signature"] = "signature de la cible invalide"; -App::$strings["New Page"] = "Nouvelle page"; -App::$strings["Title"] = "Titre"; +App::$strings["prev"] = "préc."; +App::$strings["first"] = "premier"; +App::$strings["last"] = "dernier"; +App::$strings["next"] = "Suivant"; +App::$strings["older"] = "plus ancien"; +App::$strings["newer"] = "plus récent"; +App::$strings["No connections"] = "Pas de relations."; +App::$strings["View all %s connections"] = "Voir les %s contacts"; +App::$strings["poke"] = "tapoter"; +App::$strings["ping"] = "ping"; +App::$strings["pinged"] = "pingé"; +App::$strings["prod"] = "encourager"; +App::$strings["prodded"] = "encouragé"; +App::$strings["slap"] = "giffler"; +App::$strings["slapped"] = "gifflé(e)"; +App::$strings["finger"] = "pointer"; +App::$strings["fingered"] = "pointé"; +App::$strings["rebuff"] = "rejetter"; +App::$strings["rebuffed"] = "rejeté"; +App::$strings["happy"] = "heureux"; +App::$strings["sad"] = "triste"; +App::$strings["mellow"] = "mélancolique"; +App::$strings["tired"] = "fatigué"; +App::$strings["perky"] = "impertinent"; +App::$strings["angry"] = "en colère"; +App::$strings["stupefied"] = "stupéfait"; +App::$strings["puzzled"] = "perplexe"; +App::$strings["interested"] = "intéressé"; +App::$strings["bitter"] = "amer"; +App::$strings["cheerful"] = "plein d'entrain"; +App::$strings["alive"] = "vivant"; +App::$strings["annoyed"] = "agaçé"; +App::$strings["anxious"] = "anxieux"; +App::$strings["cranky"] = "énervé"; +App::$strings["disturbed"] = "perturbé"; +App::$strings["frustrated"] = "frustré"; +App::$strings["depressed"] = "déprimé"; +App::$strings["motivated"] = "motivé"; +App::$strings["relaxed"] = "détendu"; +App::$strings["surprised"] = "surpris"; +App::$strings["May"] = "Mai"; +App::$strings["Unknown Attachment"] = "Pièce jointe inconnue"; +App::$strings["unknown"] = "Inconnu"; +App::$strings["remove category"] = "supprimer la catégorie"; +App::$strings["remove from file"] = "retirer du fichier"; +App::$strings["Page layout"] = "Mise en page"; +App::$strings["You can create your own with the layouts tool"] = "Créez les vôtres avec les outils de mise en page"; +App::$strings["Page content type"] = "Type de contenu de la page"; +App::$strings["activity"] = "activité"; +App::$strings["Design Tools"] = "Outils de conception"; +App::$strings["Pages"] = "Pages"; +App::$strings["Import website..."] = "Importer le site web…"; +App::$strings["Select folder to import"] = "Sélectionner le dossier à importer"; +App::$strings["Import from a zipped folder:"] = "Importer à partir d'un dossier zippé :"; +App::$strings["Import from cloud files:"] = "Importer à partir de fichiers dans le cloud :"; +App::$strings["/cloud/channel/path/to/folder"] = "/cloud/channel/chemain/du/repertoire"; +App::$strings["Enter path to website files"] = "Entrer le chemin vers les fichiers du site web"; +App::$strings["Select folder"] = "Sélectionner un répertoire"; +App::$strings["Export website..."] = "Exporter le site web…"; +App::$strings["Export to a zip file"] = "Exporter dans un fichier zip"; +App::$strings["website.zip"] = "website.zip"; +App::$strings["Enter a name for the zip file."] = "Entrer un nom pour le fichier zip."; +App::$strings["Export to cloud files"] = "Exporter dans des fichiers sur le cloud"; +App::$strings["/path/to/export/folder"] = "/chemin/vers/le/dossier/d'export"; +App::$strings["Enter a path to a cloud files destination."] = "Entrer le chemin vers le cloud de fichiers"; +App::$strings["Specify folder"] = "Spécifier un répertoire"; +App::$strings["Remote authentication"] = "Authentification distante"; +App::$strings["Click to authenticate to your home hub"] = "S'authentifier auprès de votre hub principal"; +App::$strings["Logout"] = "Déconnexion"; +App::$strings["End this session"] = "Mettre fin à la session"; +App::$strings["Your profile page"] = "Votre profil"; +App::$strings["Manage/Edit profiles"] = "Gérer/modifier vos profils"; +App::$strings["Edit your profile"] = "Modifier votre profil"; +App::$strings["Sign in"] = "Connexion"; +App::$strings["Get me home"] = "Rentrer chez moi"; +App::$strings["Log me out of this site"] = "Déconnectez-moi de ce site"; +App::$strings["Create an account"] = "Créer un compte"; +App::$strings["Help and documentation"] = "Aide et documentation"; +App::$strings["Applications, utilities, links, games"] = "Applications, utilitaires, liens, jeux"; +App::$strings["Search site @name, #tag, ?docs, content"] = "Recherche @nom, #tag, contenu"; +App::$strings["Channel Directory"] = "Annuaire des canaux"; +App::$strings["Your grid"] = "Votre réseau"; +App::$strings["View your network/grid"] = "Voir votre réseau"; +App::$strings["Mark all grid notifications seen"] = "Marquer toutes les notifications du réseau comme vues"; +App::$strings["Channel home"] = "Mon canal"; +App::$strings["View your channel home"] = "Voir la page d'accueil de votre canal"; +App::$strings["Mark all channel notifications seen"] = "Marquer toutes les notifications du canal comme vues"; +App::$strings["Notices"] = "Notifications"; +App::$strings["Notifications"] = "Notifications"; +App::$strings["View all notifications"] = "Voir toutes les notifications"; +App::$strings["Private mail"] = "Messages privés"; +App::$strings["View your private messages"] = "Voir vos messages privés"; +App::$strings["Mark all private messages seen"] = "Marquer tous les messages privés comme vus"; +App::$strings["Event Calendar"] = "Calendrier des événements"; +App::$strings["View events"] = "Voir les événements"; +App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus"; +App::$strings["Manage Your Channels"] = "Gérer vos canaux"; +App::$strings["Account/Channel Settings"] = "Paramètres du Compte/Canal"; +App::$strings["Site Setup and Configuration"] = "Configuration du site"; +App::$strings["Documentation"] = "Documentation"; +App::$strings["@name, #tag, ?doc, content"] = "@nom, #étiquette, ?doc, contenu"; +App::$strings["Please wait..."] = "Merci de patienter..."; +App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "L'import a échoué. Un canal existe déjà avec ce nom"; +App::$strings["Channel clone failed. Import failed."] = "Echec du clonage du canal. Echec de l'impot."; +App::$strings["Cloned channel not found. Import failed."] = "Canal cloné non trouvé. Echec de l'import."; +App::$strings["Unable to import element \""] = "Impossible d'importer l'élément \""; +App::$strings["Logged out."] = "Deconnecté."; +App::$strings["Failed authentication"] = "Échec de l'authentification"; +App::$strings["Channel is blocked on this site."] = "Ce canal est bloqué sur ce site."; +App::$strings["Channel location missing."] = "Emplacement du canal introuvable."; +App::$strings["Response from remote channel was incomplete."] = "La réponse du canal distant était incomplète."; +App::$strings["Channel was deleted and no longer exists."] = "Le canal a été supprimé et n'existe plus."; +App::$strings["Protocol disabled."] = "Protocole désactivé."; +App::$strings["Channel discovery failed."] = "La tentative d'accéder au canal a échoué."; +App::$strings["Cannot connect to yourself."] = "Ne peut pas se connecter à vous."; +App::$strings[" and "] = "et"; +App::$strings["public profile"] = "profil public"; +App::$strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s a changé %2\$s en “%3\$s”"; +App::$strings["Visit %1\$s's %2\$s"] = "Visiter %2\$s de %1\$s"; +App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis à jour %2\$s, modifiant %3\$s."; +App::$strings["Image/photo"] = "Image/photo"; +App::$strings["Encrypted content"] = "Contenu chiffré"; +App::$strings["Install %s element: "] = "Installer %s élément"; +App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site."; +App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s"; +App::$strings["Click to open/close"] = "Cliquer pour ouvrir/fermer"; +App::$strings["spoiler"] = "spoiler"; +App::$strings["$1 wrote:"] = "$1 a écrit :"; +App::$strings["%1\$s's bookmarks"] = "Favoris 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 groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent."; +App::$strings["Add new connections to this privacy group"] = "Ajouter de nouveaux contacts à ce groupe d'accès"; +App::$strings["edit"] = "modifier"; +App::$strings["Privacy Groups"] = "Groupes d'accès"; +App::$strings["Edit group"] = "Modifier le groupe"; +App::$strings["Add privacy group"] = "Ajouter un groupe d'accès"; +App::$strings["Channels not in any privacy group"] = "Canaux n'étant dans aucun groupe d'accès"; +App::$strings["This event has been added to your calendar."] = "Cet évènement a été ajouté dans votre calendrier."; +App::$strings["Not specified"] = "Non spécifié"; +App::$strings["Needs Action"] = "Besoin d'une action"; +App::$strings["Completed"] = "Terminé"; +App::$strings["In Process"] = "En cours"; +App::$strings["Cancelled"] = "Annulé"; +App::$strings["(Unknown)"] = "(Inconnu)"; +App::$strings["Visible to anybody on the internet."] = "Visible pour tout le monde sur internet."; +App::$strings["Visible to you only."] = "Visible pour vous seulement."; +App::$strings["Visible to anybody in this network."] = "Visible pour tout le monde sur ce réseau."; +App::$strings["Visible to anybody authenticated."] = "Visible aux utilisateurs authentifiés."; +App::$strings["Visible to anybody on %s."] = "Visible pour tous sur %s."; +App::$strings["Visible to all connections."] = "Visible pour tous les contacts."; +App::$strings["Visible to approved connections."] = "Visible aux contacts approuvés."; +App::$strings["Visible to specific connections."] = "Visible pour certains contacts."; +App::$strings["Privacy group is empty."] = "Groupe d'accès vide."; +App::$strings["Privacy group: %s"] = "Groupe d'accès : %s"; +App::$strings["Connection not found."] = "Contact non trouvé."; +App::$strings["profile photo"] = "photo de profil"; +App::$strings["[Edited %s]"] = "[%s édité]"; +App::$strings["__ctx:edit_activity__ Post"] = "Publier"; +App::$strings["__ctx:edit_activity__ Comment"] = "Commenter"; App::$strings["Can view my normal stream and posts"] = "Peut voir les publications ordinaires sur mon canal."; -App::$strings["Can view my default channel profile"] = "Peut voir le profil du canal par défaut."; -App::$strings["Can view my connections"] = "Peut voir mes contacts"; -App::$strings["Can view my file storage and photos"] = "Peut voir mes fichiers et photos"; App::$strings["Can view my webpages"] = "Peut voir mes pages web"; -App::$strings["Can send me their channel stream and posts"] = "Peuvent m'envoyer leur flux et les publications de leur canal"; App::$strings["Can post on my channel page (\"wall\")"] = "Peuvent poster sur la page de mon canal (\"mur\")"; -App::$strings["Can comment on or like my posts"] = "Peuvent commenter et/ou aimer mes publications"; -App::$strings["Can send me private mail messages"] = "Peuvent m'envoyer des messages privés"; App::$strings["Can like/dislike stuff"] = "Peuvent aimer/ne pas aimer"; App::$strings["Profiles and things other than posts/comments"] = "Profils et autres excluant les publications/commentaires."; App::$strings["Can forward to all my channel contacts via post @mentions"] = "Peut faire suivre à tous les contacts de mon canal via \"@mention\""; @@ -2229,35 +2990,87 @@ App::$strings["Advanced - useful for creating group forum channels"] = "Avancé App::$strings["Can chat with me (when available)"] = "Peut discuter avec moi (quand disponibie)"; App::$strings["Can write to my file storage and photos"] = "Peut charger des fichiers et des photos dans mon canal"; App::$strings["Can edit my webpages"] = "Peut modifier mes pages web"; -App::$strings["Can source my public posts in derived channels"] = "Peut rediriger mes publications publiques vers des canaux dérivés"; App::$strings["Somewhat advanced - very useful in open communities"] = "Plutôt avancé - très utile dans les communautés ouvertes"; App::$strings["Can administer my channel resources"] = "Peut administrer les ressources de mon canal"; App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes"; -App::$strings["Social Networking"] = "Réseau social"; -App::$strings["Social - Mostly Public"] = "Social - surtout public"; -App::$strings["Social - Restricted"] = "Social - restreint"; -App::$strings["Social - Private"] = "Social - privé"; -App::$strings["Community Forum"] = "Forum communautaire"; -App::$strings["Forum - Mostly Public"] = "Forum - surtout public"; -App::$strings["Forum - Restricted"] = "Forum - restreint"; -App::$strings["Forum - Private"] = "Forum - privé"; -App::$strings["Feed Republish"] = "Republication de flux"; -App::$strings["Feed - Mostly Public"] = "Flux - surtout public"; -App::$strings["Feed - Restricted"] = "Flux - restreint"; -App::$strings["Special Purpose"] = "Utilisation spécifique"; -App::$strings["Special - Celebrity/Soapbox"] = "Spécial - célébrité/promotion"; -App::$strings["Special - Group Repository"] = "Spécial - dépôt partagé"; -App::$strings["Custom/Expert Mode"] = "Mode expert/spécifique"; -App::$strings[" and "] = "et"; -App::$strings["public profile"] = "profil public"; -App::$strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s a changé %2\$s en “%3\$s”"; -App::$strings["Visit %1\$s's %2\$s"] = "Visiter %2\$s de %1\$s"; -App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis à jour %2\$s, modifiant %3\$s."; -App::$strings["Attachments:"] = "Pièces jointes :"; -App::$strings["\$Projectname event notification:"] = "Notification d'événement de \$Projectname :"; +App::$strings["General Features"] = "Fonctionnalités générales"; +App::$strings["Multiple Profiles"] = "Profils multiples"; +App::$strings["Ability to create multiple profiles"] = "Possibilité de créer plusieurs profils"; +App::$strings["Advanced Profiles"] = "Profils Avancés"; +App::$strings["Additional profile sections and selections"] = "Sections et sélections supplémentaires du profil"; +App::$strings["Profile Import/Export"] = "Importer/Exporter le profil"; +App::$strings["Save and load profile details across sites/channels"] = "Sauvegarder et charger les détails d'un profil entre sites/canaux"; +App::$strings["Web Pages"] = "Pages web"; +App::$strings["Provide managed web pages on your channel"] = "Fournir des pages web, sous votre contrôle, sur votre canal"; +App::$strings["Provide a wiki for your channel"] = "Fournir un wiki pour votre canal."; +App::$strings["Private Notes"] = "Notes privées"; +App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Active un outil pour stocker des notes et des rappels (note :non chiffré)"; +App::$strings["Navigation Channel Select"] = "Sélection du canal par la navigation"; +App::$strings["Change channels directly from within the navigation dropdown menu"] = "Changez de canal directement depuis le menu de navigation déroulant"; +App::$strings["Photo Location"] = "Site de prise de vue"; +App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte."; +App::$strings["Access Controlled Chatrooms"] = "Accéder au salons de discussions contrôlés."; +App::$strings["Provide chatrooms and chat services with access control."] = "Fournir des salons de discussions et des services de discussions avec contrôle d'accès."; +App::$strings["Provide alternate connection permission roles."] = "Fournir des rôles d'autorisation différents pour ce contact."; +App::$strings["Smart Birthdays"] = "Anniversaires intelligents"; +App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents."; +App::$strings["Event Timezone Selection"] = "Sélection du fuseau horaire de l'événement"; +App::$strings["Allow event creation in timezones other than your own."] = "Autorise la création d’événements sur d'autres fuseaux horaires que le vôtre."; +App::$strings["Advanced Directory Search"] = "Recherche avancée dans les répertoires"; +App::$strings["Allows creation of complex directory search queries"] = "Autoriser la création d'entrées complexes de recherche de répertoire"; +App::$strings["Advanced Theme and Layout Settings"] = "Paramètres avancés du thème et de l'agencement."; +App::$strings["Allows fine tuning of themes and page layouts"] = "Autoriser la personnalisation fine des thèmes et des agencements."; +App::$strings["Post Composition Features"] = "Fonctionnalités de composition"; +App::$strings["Large Photos"] = "Grandes photos"; +App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px)."; +App::$strings["Automatically import channel content from other channels or feeds"] = "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif"; +App::$strings["Even More Encryption"] = "Encore plus de chiffrement"; +App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé"; +App::$strings["Enable Voting Tools"] = "Activer les outils de vote"; +App::$strings["Provide a class of post which others can vote on"] = "Fournit un type de publication sur lequel les utilisateurs peuvent voter"; +App::$strings["Disable Comments"] = "Désactiver les commentaires"; +App::$strings["Provide the option to disable comments for a post"] = "Fournir la possibilité de désactiver les commentaires pour une publication."; +App::$strings["Delayed Posting"] = "Publication plus tard"; +App::$strings["Allow posts to be published at a later date"] = "Permettre de publier des messages à une date programmée"; +App::$strings["Content Expiration"] = "Expiration du contenu"; +App::$strings["Remove posts/comments and/or private messages at a future time"] = "Supprimer les contributions/commentaires et/ou messages privés plus tard"; +App::$strings["Suppress Duplicate Posts/Comments"] = "Supprimer les publications/commentaires en doublon"; +App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle"; +App::$strings["Network and Stream Filtering"] = "Filtrage du réseau et des flux"; +App::$strings["Search by Date"] = "Chercher par date"; +App::$strings["Ability to select posts by date ranges"] = "Pouvoir choisir des publications par date"; +App::$strings["Enable management and selection of privacy groups"] = "Active la gestion et la sélection des groupes d'accès"; +App::$strings["Save search terms for re-use"] = "Sauvegarder des termes de recherche pour utilisation ultérieure"; +App::$strings["Network Personal Tab"] = "Onglet \"Me concernant\""; +App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu"; +App::$strings["Network New Tab"] = "Onglet \"nouveautés réseau\""; +App::$strings["Enable tab to display all new Network activity"] = "Activer un onglet présentant toute l'activité récente sur le réseau"; +App::$strings["Affinity Tool"] = "Gérer l'affinité"; +App::$strings["Filter stream activity by depth of relationships"] = "Filtrer le flux d'activité en fonction de la profondeur des relations"; +App::$strings["Show friend and connection suggestions"] = "Afficher un ami et les suggestions de relations"; +App::$strings["Connection Filtering"] = "Filtrage des contacts"; +App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs"; +App::$strings["Post/Comment Tools"] = "Gérer les publications/commentaires"; +App::$strings["Community Tagging"] = "Etiquetage communautaire"; +App::$strings["Ability to tag existing posts"] = "Permettre de marquer les publications existantes"; +App::$strings["Post Categories"] = "Catégoriser les publications"; +App::$strings["Add categories to your posts"] = "Ajouter des catégories à vos publications"; +App::$strings["Emoji Reactions"] = "Réactions par émoticônes"; +App::$strings["Add emoji reaction ability to posts"] = "Ajouter la possibilité de réagir aux publications par émoticônes"; +App::$strings["Ability to file posts under folders"] = "Permettre de classer les publications dans des dossiers"; +App::$strings["Dislike Posts"] = "\"Ne pas aimer\" les publications"; +App::$strings["Ability to dislike posts/comments"] = "Possibilité de \"ne pas aimer\" les publications/commentaires"; +App::$strings["Star Posts"] = "Pouvoir mettre en avant les publications"; +App::$strings["Ability to mark special posts with a star indicator"] = "Pouvoir marquer certaines publications d'une étoile"; +App::$strings["Tag Cloud"] = "Nuage de tags"; +App::$strings["Provide a personal tag cloud on your channel page"] = "Afficher un nuage de vos tags sur votre canal"; +App::$strings["Premium Channel"] = "Canal VIP"; +App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal"; +App::$strings["Help:"] = "Aide :"; +App::$strings["Not Found"] = "Introuvable"; +App::$strings["Source channel not found."] = "Source du canal introuvable."; App::$strings["Focus (Hubzilla default)"] = "Focus (par défaut pour Hubzilla)"; App::$strings["Theme settings"] = "Paramètres du thème"; -App::$strings["Select scheme"] = "Définir la palette de couleurs"; App::$strings["Narrow navbar"] = "Barre de navigation fine"; App::$strings["Navigation bar background color"] = "Couleur de fond de la barre de navigation"; App::$strings["Navigation bar gradient top color"] = "Dégradé de la barre de navigation - couleur du haut"; @@ -2289,11 +3102,10 @@ App::$strings["Left align page content"] = "Aligner à gauche le contenu de la p App::$strings["Set minimum opacity of nav bar - to hide it"] = "Définir l'opacité minimum du bandeau de navigation - pour le cacher"; App::$strings["Set size of conversation author photo"] = "Définir la taille de la photo de l'auteur d'une conversation"; App::$strings["Set size of followup author photos"] = "Définir la taille de la photo de l'auteur d'une réponse"; -App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = ""; -App::$strings["__ctx:opensearch__ \$Projectname"] = ""; App::$strings["Update %s failed. See error logs."] = "La mise-à -jour %s a échoué. Merci de consulter les journaux d'erreur."; App::$strings["Update Error at %s"] = "Erreur de mise à jour sur %s"; -App::$strings["Create an account to access services and applications within the Hubzilla"] = "Créez un compte pour pouvoir accéder aux services et applications de Hubzilla"; +App::$strings["Create an account to access services and applications"] = "Créer un compte pour accéder aux services et applications"; +App::$strings["Login/Email"] = "pseudo / email"; App::$strings["Password"] = "Mot de passe"; App::$strings["Remember me"] = "Se souvenir de moi"; App::$strings["Forgot your password?"] = "Mot de passe oublié ?"; diff --git a/view/js/mod_connedit.js b/view/js/mod_connedit.js index 4739c490c..7100e0d07 100644 --- a/view/js/mod_connedit.js +++ b/view/js/mod_connedit.js @@ -82,7 +82,7 @@ $(document).ready(function() { function doRemove() { var what = $(this).data('remove'); var element = $(this).parents('div.form-' + what); - var where = '#abook_edit_form' + $(this).data('id'); + var where = '#abook-edit-form' + $(this).data('id'); if(what === 'vcard-org' || what === 'vcard-title' || what === 'vcard-note') { $(where + ' .add-' + what).show() diff --git a/view/js/mod_display.js b/view/js/mod_display.js new file mode 100644 index 000000000..60a1cdaa8 --- /dev/null +++ b/view/js/mod_display.js @@ -0,0 +1,7 @@ +<script> +$(document).ready(function() { + $(".comment-edit-wrapper textarea").editor_autocomplete(baseurl+"/acl?f=&n=1"); + // make auto-complete work in more places + $(".wall-item-comment-wrapper textarea").editor_autocomplete(baseurl+"/acl?f=&n=1"); +}); +</script> diff --git a/view/js/mod_profiles.js b/view/js/mod_profiles.js index acc9f9953..784f64458 100644 --- a/view/js/mod_profiles.js +++ b/view/js/mod_profiles.js @@ -38,7 +38,7 @@ $(document).ready(function() { var what = $(this).data('add'); var id = $(this).data('id'); var element = '#template-form-' + what; - var where = '#abook-edit-form'; + var where = '#profile-edit-form'; $(element + ' .remove-field').attr('data-id', id) @@ -58,7 +58,7 @@ $(document).ready(function() { function doRemove() { var what = $(this).data('remove'); var element = $(this).parents('div.form-' + what); - var where = '#abook_edit_form' + $(this).data('id'); + var where = '#profile-edit-form' + $(this).data('id'); if(what === 'vcard-org' || what === 'vcard-title' || what === 'vcard-note') { $(where + ' .add-' + what).show() diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js index 5c729fa48..f9faa3d5c 100644 --- a/view/js/mod_settings.js +++ b/view/js/mod_settings.js @@ -37,12 +37,19 @@ function setTheme(elm) { function previewTheme(elm) { theme = $(elm).val(); + var schema = $('#id_schema').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(data.schemas.length) { + $(data.schemas).each(function(index,item) { + $('<option/>',{value:item['key'],text:item['val']}).appendTo('#id_schema'); + }); + $('#id_schema').val(schema ? schema : '---'); + } + else { + $('<option/>',{value:'',text:'No schemes available'}).appendTo('#id_schema'); + } $('#custom-settings-content .section-content-tools-wrapper').html(data.config); }); } diff --git a/view/pdl/mod_apps.pdl b/view/pdl/mod_apps.pdl index 32fef28e9..1209d85b9 100644 --- a/view/pdl/mod_apps.pdl +++ b/view/pdl/mod_apps.pdl @@ -1,4 +1,3 @@ [region=aside] -[widget=appselect][/widget] [widget=appcategories][/widget] [/region] diff --git a/view/php/theme_init.php b/view/php/theme_init.php index 85da4d782..869b97473 100644 --- a/view/php/theme_init.php +++ b/view/php/theme_init.php @@ -2,51 +2,45 @@ require_once('include/plugin.php'); -head_add_css('library/tiptip/tipTip.css'); -head_add_css('library/jgrowl/jquery.jgrowl.css'); -head_add_css('library/jRange/jquery.range.css'); +head_add_css('/library/tiptip/tipTip.css'); +head_add_css('/library/jgrowl/jquery.jgrowl.css'); +head_add_css('/library/jRange/jquery.range.css'); -head_add_css('view/css/conversation.css'); -head_add_css('view/css/widgets.css'); -head_add_css('view/css/colorbox.css'); -head_add_css('library/justifiedGallery/justifiedGallery.min.css'); -head_add_css('library/Text_Highlighter/sample.css'); +head_add_css('/view/css/conversation.css'); +head_add_css('/view/css/widgets.css'); +head_add_css('/view/css/colorbox.css'); +head_add_css('/library/justifiedGallery/justifiedGallery.min.css'); +head_add_css('/library/Text_Highlighter/sample.css'); head_add_js('jquery.js'); -//head_add_js('jquery.migrate-3.0.0.js'); -head_add_js('library/justifiedGallery/jquery.justifiedGallery.min.js'); -head_add_js('library/sprintf.js/dist/sprintf.min.js'); +head_add_js('/library/justifiedGallery/jquery.justifiedGallery.min.js'); +head_add_js('/library/sprintf.js/dist/sprintf.min.js'); -//head_add_js('jquery-compat.js'); head_add_js('spin.js'); head_add_js('jquery.spin.js'); head_add_js('jquery.textinputs.js'); head_add_js('autocomplete.js'); -head_add_js('library/jquery-textcomplete/jquery.textcomplete.js'); -//head_add_js('library/colorbox/jquery.colorbox.js'); -head_add_js('library/jquery.timeago.js'); -head_add_js('library/readmore.js/readmore.js'); -head_add_js('library/sticky-kit/sticky-kit.js'); -//head_add_js('library/jquery_ac/friendica.complete.js'); -//head_add_js('library/tiptip/jquery.tipTip.minified.js'); -head_add_js('library/jgrowl/jquery.jgrowl_minimized.js'); -//head_add_js('library/tinymce/jscripts/tiny_mce/tiny_mce.js'); -head_add_js('library/cryptojs/components/core-min.js'); -head_add_js('library/cryptojs/rollups/aes.js'); -head_add_js('library/cryptojs/rollups/rabbit.js'); -head_add_js('library/cryptojs/rollups/tripledes.js'); -//head_add_js('library/stylish_select/jquery.stylish-select.js'); +head_add_js('/library/jquery-textcomplete/jquery.textcomplete.js'); + +head_add_js('/library/jquery.timeago.js'); +head_add_js('/library/readmore.js/readmore.js'); +head_add_js('/library/sticky-kit/sticky-kit.js'); +head_add_js('/library/jgrowl/jquery.jgrowl_minimized.js'); +head_add_js('/library/cryptojs/components/core-min.js'); +head_add_js('/library/cryptojs/rollups/aes.js'); +head_add_js('/library/cryptojs/rollups/rabbit.js'); +head_add_js('/library/cryptojs/rollups/tripledes.js'); + head_add_js('acl.js'); head_add_js('webtoolkit.base64.js'); head_add_js('main.js'); head_add_js('crypto.js'); -head_add_js('library/jRange/jquery.range.js'); -//head_add_js('docready.js'); -head_add_js('library/colorbox/jquery.colorbox-min.js'); +head_add_js('/library/jRange/jquery.range.js'); +head_add_js('/library/colorbox/jquery.colorbox-min.js'); -head_add_js('library/jquery.AreYouSure/jquery.are-you-sure.js'); -head_add_js('library/tableofcontents/jquery.toc.js'); -head_add_js('library/imagesloaded/imagesloaded.pkgd.min.js'); +head_add_js('/library/jquery.AreYouSure/jquery.are-you-sure.js'); +head_add_js('/library/tableofcontents/jquery.toc.js'); +head_add_js('/library/imagesloaded/imagesloaded.pkgd.min.js'); /** * Those who require this feature will know what to do with it. * Those who don't, won't. diff --git a/view/theme/redbasic/css/narrow_navbar.css b/view/theme/redbasic/css/narrow_navbar.css index 6b09b031a..689b67168 100644 --- a/view/theme/redbasic/css/narrow_navbar.css +++ b/view/theme/redbasic/css/narrow_navbar.css @@ -53,10 +53,6 @@ top: 30px !important; } - nav .badge { - top: -29px; - } - #jGrowl.top-right { top: 30px; right: 15px; diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 7551dfe87..c632dbc74 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -48,6 +48,7 @@ main { left: 0; width: 100%; height: 100%; + background: rgba(0, 0, 0, .5); cursor: pointer; z-index: 1029; } @@ -253,6 +254,7 @@ header #banner #logo-text { position: fixed; top: 51px; left: 0px; + width: 100%; max-height: 50%; background: $comment_item_colour; padding: 20px; @@ -1825,16 +1827,25 @@ nav .badge.mail-update { background-color: $nav_active_icon_colour; } -#expand-aside, -#expand-tabs, -#doco-return-to-top-btn, -#context-help-btn, -#notifications-btn, -#login_nav_btn_collapse { +.navbar-toggle-extra { color: $nav_active_icon_colour; padding: 7px 10px; } +.navbar-toggle-extra-left { + float: left; + margin-left: 15px; + margin-right: 0px; + color: $nav_active_icon_colour; + padding: 7px 10px; +} + +a.navbar-toggle-extra:hover, +a.navbar-toggle-extra-left:hover { + color: $nav_active_icon_colour; + text-decoration: none; +} + .nav-tabs.nav-justified { background-color: rgba(254,254,254,.5); border-top-left-radius: 4px; @@ -1873,7 +1884,6 @@ nav .badge.mail-update { @media screen and (max-width: 767px) { aside#region_1 { - background: rgba(0, 0, 0, .1); border-right: 1px solid $nav_bd; } diff --git a/view/theme/redbasic/php/theme.php b/view/theme/redbasic/php/theme.php index 997b59750..95d5a2001 100644 --- a/view/theme/redbasic/php/theme.php +++ b/view/theme/redbasic/php/theme.php @@ -3,7 +3,9 @@ /** * * Name: Redbasic * * Description: Hubzilla standard theme - * * Version: 1.0 + * * Version: 2.0 + * * MinVersion: 2.2RC + * * MaxVersion: 3.0 * * Author: Fabrixxm * * Maintainer: Mike Macgirvin * * Maintainer: Mario Vavti diff --git a/view/theme/redbasic/php/theme_init.php b/view/theme/redbasic/php/theme_init.php index 3179c7078..020bda363 100644 --- a/view/theme/redbasic/php/theme_init.php +++ b/view/theme/redbasic/php/theme_init.php @@ -1,19 +1,17 @@ <?php -head_add_css('library/font_awesome/css/font-awesome.min.css'); -head_add_css('library/bootstrap/css/bootstrap.min.css'); -head_add_css('library/bootstrap-tagsinput/bootstrap-tagsinput.css'); -head_add_css('view/css/bootstrap-red.css'); -head_add_css('library/datetimepicker/jquery.datetimepicker.css'); -//head_add_css('library/colorpicker/css/colorpicker.css'); -head_add_css('library/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css'); +head_add_css('/library/font_awesome/css/font-awesome.min.css'); +head_add_css('/library/bootstrap/css/bootstrap.min.css'); +head_add_css('/library/bootstrap-tagsinput/bootstrap-tagsinput.css'); +head_add_css('/view/css/bootstrap-red.css'); +head_add_css('/library/datetimepicker/jquery.datetimepicker.css'); +head_add_css('/library/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css'); require_once('view/php/theme_init.php'); -head_add_js('library/bootstrap/js/bootstrap.min.js'); -head_add_js('library/bootbox/bootbox.min.js'); -head_add_js('library/bootstrap-tagsinput/bootstrap-tagsinput.js'); -head_add_js('library/datetimepicker/jquery.datetimepicker.js'); -//head_add_js('library/colorpicker/js/colorpicker.js'); -head_add_js('library/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js'); -//head_add_js('library/bootstrap-colorpicker/src/js/docs.js'); +head_add_js('/library/bootstrap/js/bootstrap.min.js'); +head_add_js('/library/bootbox/bootbox.min.js'); +head_add_js('/library/bootstrap-tagsinput/bootstrap-tagsinput.js'); +head_add_js('/library/datetimepicker/jquery.datetimepicker.js'); +head_add_js('/library/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js'); + diff --git a/view/theme/redbasic/schema/dark.css b/view/theme/redbasic/schema/dark.css index f9114141d..ebef68a52 100644 --- a/view/theme/redbasic/schema/dark.css +++ b/view/theme/redbasic/schema/dark.css @@ -417,7 +417,6 @@ pre { .contextual-help-content-open { background: $nav_bg; - top: 50px; border-bottom: #555 1px solid; box-shadow: 0px 3px 3px rgba(85,85,85,0.2); } diff --git a/view/theme/redbasic/schema/simple_black_on_white.css b/view/theme/redbasic/schema/simple_black_on_white.css index f06fd3667..915cc4e18 100644 --- a/view/theme/redbasic/schema/simple_black_on_white.css +++ b/view/theme/redbasic/schema/simple_black_on_white.css @@ -294,8 +294,6 @@ pre { .contextual-help-content-open { background: #FFF; - top: 50px; - } .profile-match-wrapper { diff --git a/view/theme/redbasic/schema/simple_green_on_black.css b/view/theme/redbasic/schema/simple_green_on_black.css index c7bb99334..7f3f99fce 100644 --- a/view/theme/redbasic/schema/simple_green_on_black.css +++ b/view/theme/redbasic/schema/simple_green_on_black.css @@ -367,7 +367,6 @@ pre { .contextual-help-content-open { background: $nav_bg; - top: 50px; border-bottom: #1C5419 1px solid; box-shadow: 0px 3px 3px rgba(28,84,25,0.2); } diff --git a/view/theme/redbasic/schema/simple_white_on_black.css b/view/theme/redbasic/schema/simple_white_on_black.css index dabc26743..7e7f80f2f 100644 --- a/view/theme/redbasic/schema/simple_white_on_black.css +++ b/view/theme/redbasic/schema/simple_white_on_black.css @@ -340,7 +340,6 @@ pre { .contextual-help-content-open { background: $nav_bg; - top: 50px; border-bottom: #FFF 1px solid; box-shadow: 0px 3px 3px rgba(255,255,255,0.2); } diff --git a/view/tpl/abook_edit.tpl b/view/tpl/abook_edit.tpl index ebc69c5f8..82f900bae 100755 --- a/view/tpl/abook_edit.tpl +++ b/view/tpl/abook_edit.tpl @@ -9,8 +9,12 @@ <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dLabel"> <li><a href="{{$tools.view.url}}" title="{{$tools.view.title}}">{{$tools.view.label}}</a></li> <li><a href="{{$tools.recent.url}}" title="{{$tools.recent.title}}">{{$tools.recent.label}}</a></li> - <li class="divider"></li> + {{if $tools.fetchvc}} + <li><a href="{{$tools.fetchvc.url}}" title="{{$tools.fetchvc.title}}">{{$tools.fetchvc.label}}</a></li> + {{/if}} <li><a href="#" title="{{$tools.refresh.title}}" onclick="window.location.href='{{$tools.refresh.url}}'; return false;">{{$tools.refresh.label}}</a></li> + <li><a href="#" title="{{$tools.rephoto.title}}" onclick="window.location.href='{{$tools.rephoto.url}}'; return false;">{{$tools.rephoto.label}}</a></li> + <li class="divider"></li> <li><a href="#" title="{{$tools.block.title}}" onclick="window.location.href='{{$tools.block.url}}'; return false;">{{$tools.block.label}}</a></li> <li><a href="#" title="{{$tools.ignore.title}}" onclick="window.location.href='{{$tools.ignore.url}}'; return false;">{{$tools.ignore.label}}</a></li> <li><a href="#" title="{{$tools.archive.title}}" onclick="window.location.href='{{$tools.archive.url}}'; return false;">{{$tools.archive.label}}</a></li> diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl index ba97ad501..5ff205c53 100644 --- a/view/tpl/app.tpl +++ b/view/tpl/app.tpl @@ -18,7 +18,7 @@ {{if $install}}<button type="submit" name="install" value="{{$install}}" class="btn btn-default btn-xs" title="{{$install}}" ><i class="fa fa-arrow-circle-o-down" ></i></button>{{/if}} {{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-default btn-xs" title="{{$edit}}" ><i class="fa fa-pencil" ></i></button>{{/if}} {{if $delete}}<button type="submit" name="delete" value="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" class="btn btn-default btn-xs" title="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" ><i class="fa fa-trash-o drop-icons"></i></button>{{/if}} - {{if $feature}}<button type="submit" name="feature" value="feature" class="btn btn-default btn-xs" ><i class="fa fa-star"{{if $featured}} style="color: gold"{{/if}}></i></button>{{/if}} + {{if $feature}}<button type="submit" name="feature" value="feature" class="btn btn-default btn-xs" title="{{if $featured}}{{$remove}}{{else}}{{$add}}{{/if}}"><i class="fa fa-star"{{if $featured}} style="color: gold"{{/if}}></i></button>{{/if}} </form> </div> {{/if}} diff --git a/view/tpl/app_select.tpl b/view/tpl/app_select.tpl deleted file mode 100644 index 86ea0b1de..000000000 --- a/view/tpl/app_select.tpl +++ /dev/null @@ -1,10 +0,0 @@ -{{if $authed}} -<div class="widget"> -<h3>{{$title}}</h3> -<ul class="nav nav-pills nav-stacked"> -<li><a href="appman"><i class="fa fa-plus"></i> {{$new}}</a></li> -<li><a href="apps/edit{{if $cat}}/?f=&cat={{$cat}}{{/if}}"><i class="fa fa-pencil"></i> {{$edit}}</a></li> -</ul> -</div> -{{/if}} - diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl index 91bb0bfc0..a76d4e549 100755 --- a/view/tpl/build_query.tpl +++ b/view/tpl/build_query.tpl @@ -20,6 +20,7 @@ var bParam_static = {{$static}}; var bParam_search = "{{$search}}"; + var bParam_xchan = "{{$xchan}}"; var bParam_order = "{{$order}}"; var bParam_file = "{{$file}}"; var bParam_cats = "{{$cats}}"; @@ -47,6 +48,7 @@ if(bParam_list != 0) bCmd = bCmd + "&list=" + bParam_list; if(bParam_fh != 0) bCmd = bCmd + "&fh=" + bParam_fh; if(bParam_search != "") bCmd = bCmd + "&search=" + bParam_search; + if(bParam_xchan != "") bCmd = bCmd + "&xchan=" + bParam_xchan; if(bParam_order != "") bCmd = bCmd + "&order=" + bParam_order; if(bParam_file != "") bCmd = bCmd + "&file=" + bParam_file; if(bParam_cats != "") bCmd = bCmd + "&cat=" + bParam_cats; diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl index 36edc3b44..95ad29da2 100644 --- a/view/tpl/cloud_actionspanel.tpl +++ b/view/tpl/cloud_actionspanel.tpl @@ -19,7 +19,7 @@ <div class="clear"></div> </div> <div id="files-upload-tools" class="section-content-tools-wrapper"> - {{if $quota.limit || $quota.used}}<div class="{{if $quota.warning}}section-content-danger-wrapper{{else}}section-content-info-wrapper{{/if}}">{{if $quota.warning}}<strong>{{$quota.warning}} </strong>{{/if}}{{$quota.desc}}</div>{{/if}} + {{if $quota.limit || $quota.used}}<div class="{{if $quota.warning}}section-content-danger-wrapper{{else}}section-content-info-wrapper{{/if}}">{{if $quota.warning}}<strong>{{$quota.warning}} </strong>{{/if}}{{if $quota.desc}}{{$quota.desc}}<br><br>{{/if}}{{$info}}</div>{{/if}} <form id="ajax-upload-files" method="post" action="file_upload" enctype="multipart/form-data" class="acl-form" data-form_id="ajax-upload-files" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'> <input type="hidden" name="directory" value="{{$path}}" /> <input type="hidden" name="channick" value="{{$channick}}" /> diff --git a/view/tpl/connections.tpl b/view/tpl/connections.tpl index 1f7aa05b7..f85adc592 100755 --- a/view/tpl/connections.tpl +++ b/view/tpl/connections.tpl @@ -17,12 +17,10 @@ </div> <div id="contacts-search-form" class="section-content-tools-wrapper"> <form action="{{$cmd}}" method="get" > - <div class="form-group"> - <div class="input-group"> - <input type="text" name="search" id="contacts-search" class="widget-input" onfocus="this.select();" value="{{$search}}" placeholder="{{$desc}}" /> - <div class="input-group-btn"> - <button id="contacts-search-submit" class="btn btn-default btn-sm" type="submit" name="submit" value="{{$submit}}"><i class="fa fa-search"></i></button> - </div> + <div class="input-group form-group"> + <input type="text" name="search" id="contacts-search" class="form-control input-sm" onfocus="this.select();" value="{{$search}}" placeholder="{{$desc}}" /> + <div class="input-group-btn"> + <button id="contacts-search-submit" class="btn btn-default btn-sm" type="submit" name="submit" value="{{$submit}}"><i class="fa fa-fw fa-search"></i></button> </div> </div> </form> diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl index b5ff475b2..e73ee7fb5 100755 --- a/view/tpl/conv_item.tpl +++ b/view/tpl/conv_item.tpl @@ -143,38 +143,38 @@ </button> <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="wall-item-menu-{{$item.id}}"> {{if $item.share}} - <li role="presentation"><a role="menuitem" href="#" onclick="jotShare({{$item.id}}); return false"><i class="fa fa-retweet" title="{{$item.share.0}}"></i> {{$item.share.0}}</a></li> + <li role="presentation"><a role="menuitem" href="#" onclick="jotShare({{$item.id}}); return false"><i class="generic-icons-nav fa fa-fw fa-retweet" title="{{$item.share.0}}"></i>{{$item.share.0}}</a></li> {{/if}} {{if $item.plink}} - <li role="presentation"><a role="menuitem" href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="u-url"><i class="fa fa-external-link"></i> {{$item.plink.title}}</a></li> + <li role="presentation"><a role="menuitem" href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="u-url"><i class="generic-icons-nav fa fa-fw fa-external-link"></i>{{$item.plink.title}}</a></li> {{/if}} {{if $item.edpost}} - <li role="presentation"><a role="menuitem" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="editpost fa fa-pencil"></i> {{$item.edpost.1}}</a></li> + <li role="presentation"><a role="menuitem" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="generic-icons-nav fa fa-fw fa-pencil"></i>{{$item.edpost.1}}</a></li> {{/if}} {{if $item.tagger}} - <li role="presentation"><a role="menuitem" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="fa fa-tag" title="{{$item.tagger.tagit}}"></i> {{$item.tagger.tagit}}</a></li> + <li role="presentation"><a role="menuitem" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-tag" title="{{$item.tagger.tagit}}"></i>{{$item.tagger.tagit}}</a></li> {{/if}} {{if $item.filer}} - <li role="presentation"><a role="menuitem" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="fa fa-folder-open" title="{{$item.filer}}"></i> {{$item.filer}}</a></li> + <li role="presentation"><a role="menuitem" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-folder-open" title="{{$item.filer}}"></i>{{$item.filer}}</a></li> {{/if}} {{if $item.bookmark}} - <li role="presentation"><a role="menuitem" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="fa fa-bookmark" title="{{$item.bookmark}}"></i> {{$item.bookmark}}</a></li> + <li role="presentation"><a role="menuitem" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-bookmark" title="{{$item.bookmark}}"></i>{{$item.bookmark}}</a></li> {{/if}} {{if $item.addtocal}} - <li role="presentation"><a role="menuitem" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="fa fa-calendar" title="{{$item.addtocal}}"></i> {{$item.addtocal}}</a></li> + <li role="presentation"><a role="menuitem" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-calendar" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a></li> {{/if}} {{if $item.star}} - <li role="presentation"><a role="menuitem" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="fa fa-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i> {{$item.star.toggle}}</a></li> + <li role="presentation"><a role="menuitem" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a></li> {{/if}} {{if $item.thread_action_menu}} {{foreach $item.thread_action_menu as $mitem}} - <li role="presentation"><a role="menuitem" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="fa fa-{{$mitem.icon}}"></i> {{$mitem.title}}</a></li> + <li role="presentation"><a role="menuitem" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="generic-icons-nav fa fa-fw fa-{{$mitem.icon}}"></i>{{$mitem.title}}</a></li> {{/foreach}} {{/if}} {{if $item.drop.dropping}} - <li role="presentation"><a role="menuitem" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}'); return false;" title="{{$item.drop.delete}}" ><i class="fa fa-trash-o"></i> {{$item.drop.delete}}</a></li> + <li role="presentation"><a role="menuitem" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav fa fa-fw fa-trash-o"></i>{{$item.drop.delete}}</a></li> {{/if}} {{if $item.thread_author_menu}} diff --git a/view/tpl/follow.tpl b/view/tpl/follow.tpl index 9c19a288d..a211a65b6 100755 --- a/view/tpl/follow.tpl +++ b/view/tpl/follow.tpl @@ -1,12 +1,10 @@ <div id="follow-sidebar" class="widget"> <h3>{{$connect}}</h3> <form action="follow" method="post" /> - <div class="form-group"> - <div class="input-group"> - <input class="widget-input" type="text" name="url" title="{{$hint}}" placeholder="{{$desc}}" /> - <div class="input-group-btn"> - <button class="btn btn-default btn-sm" type="submit" name="submit" value="{{$follow}}"><i class="fa fa-plus"></i></button> - </div> + <div class="input-group"> + <input class="form-control input-sm" type="text" name="url" title="{{$hint}}" placeholder="{{$desc}}" /> + <div class="input-group-btn"> + <button class="btn btn-success btn-sm" type="submit" name="submit" value="{{$follow}}" title="{{$follow}}"><i class="fa fa-fw fa-plus"></i></button> </div> </div> </form> @@ -14,4 +12,3 @@ <div class="usage-message" id="abook-usage-message">{{$abook_usage_message}}</div> {{/if}} </div> - diff --git a/view/tpl/hdr.tpl b/view/tpl/hdr.tpl index 6a14906f6..577269b6f 100644 --- a/view/tpl/hdr.tpl +++ b/view/tpl/hdr.tpl @@ -1,5 +1,5 @@ <div id="banner" class="hidden-sm hidden-xs">{{$banner}}</div> <ul id="nav-notifications-template" rel="template"> - <li class="{5}"><a href="{0}" title="{2} {3}"><img class="dropdown-menu-img-sm" data-src="{1}"><span class="contactname">{2}</span><span class="dropdown-sub-text">{3}<br>{4}</span></a></li> + <li class="{5}"><a href="{0}" title="{2} {3}"><img class="dropdown-menu-img-sm" data-src="{1}"><span class="contactname">{2}</span><span class="dropdown-sub-text">{3}<br>{4}</span><div class="clear"></div></a></li> </ul> diff --git a/view/tpl/myapps.tpl b/view/tpl/myapps.tpl index 074965985..d0c741bf4 100755 --- a/view/tpl/myapps.tpl +++ b/view/tpl/myapps.tpl @@ -1,6 +1,13 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <h2>{{$title}}{{$cat}}</h2> + {{if $authed}} + {{if $create}} + <a href="appman" class="pull-right btn btn-success btn-xs"><i class="fa fa-pencil-square-o"></i> {{$create}}</a> + {{else}} + <a href="apps/edit{{if $cat}}/?f=&cat={{$cat}}{{/if}}" class="pull-right btn btn-primary btn-xs">{{$manage}}</a> + {{/if}} + {{/if}} + <h2>{{$title}}{{if $cat}} - {{$cat}}{{/if}}</h2> </div> <div class="section-content-wrapper"> {{foreach $apps as $ap}} diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl index 7037881ec..0581989ec 100755 --- a/view/tpl/nav.tpl +++ b/view/tpl/nav.tpl @@ -1,28 +1,33 @@ <div class="container-fluid"> - <div class="navbar-header"> + <div class="navbar-header dropdown"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-2"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> {{if $nav.login && !$userinfo}} - <button type="button" class="navbar-toggle" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}_collapse" data-toggle="modal" data-target="#nav-login"> + <button type="button" class="navbar-toggle navbar-toggle-extra-left" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}_collapse" data-toggle="modal" data-target="#nav-login"> {{$nav.loginmenu.1.1}} </button> + {{if $nav.register}} + <a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}" class="navbar-toggle navbar-toggle-extra-left"> + {{$nav.register.1}} + </a> + {{/if}} {{/if}} {{if $localuser}} - <button id="notifications-btn" type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1" style="color: grey;"> + <button id="notifications-btn" type="button" class="navbar-toggle navbar-toggle-extra" data-toggle="collapse" data-target="#navbar-collapse-1" style="color: grey;"> <i class="fa fa-exclamation-circle"></i> </button> {{/if}} - <button id="expand-tabs" type="button" class="navbar-toggle" data-toggle="collapse" data-target="#tabs-collapse-1"> + <button id="expand-tabs" type="button" class="navbar-toggle navbar-toggle-extra" data-toggle="collapse" data-target="#tabs-collapse-1"> <i class="fa fa-arrow-circle-down" id="expand-tabs-icon"></i> </button> - <button id="expand-aside" type="button" class="navbar-toggle" data-toggle="offcanvas" data-target="#region_1"> + <button id="expand-aside" type="button" class="navbar-toggle navbar-toggle-extra" data-toggle="offcanvas" data-target="#region_1"> <i class="fa fa-arrow-circle-right" id="expand-aside-icon"></i> </button> {{if $nav.help.6}} - <button id="context-help-btn" class="navbar-toggle" type="button" onclick="contextualHelp(); return false;"> + <button id="context-help-btn" class="navbar-toggle navbar-toggle-extra" type="button" onclick="contextualHelp(); return false;"> <i class="fa fa-question-circle"></i> </button> {{/if}} @@ -180,7 +185,7 @@ {{/foreach}} {{if $localuser}} <li class="divider"></li> - <li><a href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>Add Apps</a></li> + <li><a href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a></li> {{/if}} </ul> </li> @@ -193,7 +198,7 @@ {{/foreach}} {{if $localuser}} <li class="divider"></li> - <li><a href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>Add Apps</a></li> + <li><a href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a></li> {{/if}} </ul> </div> @@ -202,8 +207,8 @@ <div id="contextual-help-content" class="contextual-help-content"> {{$nav.help.5}} <div class="pull-right"> - <a class="contextual-help-tool btn btn-primary btn-xs" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}"><i class="fa fa-question"></i> {{$fulldocs}}</a> - <a class="contextual-help-tool btn btn-default btn-xs" href="#" onclick="contextualHelp(); return false;"><i class="fa fa-times"></i></a> + <a class="btn btn-primary btn-xs" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}"><i class="fa fa-fw fa-question"></i> {{$fulldocs}}</a> + <a class="contextual-help-tool" href="#" onclick="contextualHelp(); return false;"><i class="fa fa-fw fa-times"></i></a> </div> </div> {{/if}} diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl index ae0b7f1ea..8318f050d 100755 --- a/view/tpl/peoplefind.tpl +++ b/view/tpl/peoplefind.tpl @@ -1,12 +1,10 @@ <div id="peoplefind-sidebar" class="widget"> <h3>{{$findpeople}}</h3> <form action="directory" method="post" /> - <div class="form-group"> - <div class="input-group"> - <input class="widget-input" type="text" name="search" title="{{$hint}}{{if $advanced_search}}{{$advanced_hint}}{{/if}}" placeholder="{{$desc}}" /> - <div class="input-group-btn"> - <button class="btn btn-default btn-sm" type="submit" name="submit"><i class="fa fa-search"></i></button> - </div> + <div class="input-group form-group"> + <input class="form-control input-sm" type="text" name="search" title="{{$hint}}{{if $advanced_search}}{{$advanced_hint}}{{/if}}" placeholder="{{$desc}}" /> + <div class="input-group-btn"> + <button class="btn btn-default btn-sm" type="submit" name="submit"><i class="fa fa-fw fa-search"></i></button> </div> </div> </form> diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl index 4000f39d6..ba0efe999 100755 --- a/view/tpl/profile_advanced.tpl +++ b/view/tpl/profile_advanced.tpl @@ -47,6 +47,28 @@ {{foreach $fields as $f}} + + + + + + + + + + + + + + + + + + + + + + {{if $f == 'name'}} <dl id="aprofile-fullname" class="aprofile"> <dt>{{$profile.fullname.0}}</dt> diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl index b0211d697..a50d11136 100755 --- a/view/tpl/profile_edit.tpl +++ b/view/tpl/profile_edit.tpl @@ -108,6 +108,128 @@ </div> </div> </div> + + {{if $fields.comms }} + + <div id="template-form-vcard-tel" class="form-group form-vcard-tel"> + <select name="tel_type[]"> + <option value="CELL">{{$mobile}}</option> + <option value="HOME">{{$home}}</option> + <option value="WORK">{{$work}}</option> + <option value="OTHER">{{$other}}</option> + </select> + <input type="text" name="tel[]" value="" placeholder="{{$tel_label}}"> + <i data-remove="vcard-tel" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + </div> + + <div id="template-form-vcard-email" class="form-group form-vcard-email"> + <select name="email_type[]"> + <option value="HOME">{{$home}}</option> + <option value="WORK">{{$work}}</option> + <option value="OTHER">{{$other}}</option> + </select> + <input type="text" name="email[]" value="" placeholder="{{$email_label}}"> + <i data-remove="vcard-email" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + </div> + + <div id="template-form-vcard-impp" class="form-group form-vcard-impp"> + <select name="impp_type[]"> + <option value="HOME">{{$home}}</option> + <option value="WORK">{{$work}}</option> + <option value="OTHER">{{$other}}</option> + </select> + <input type="text" name="impp[]" value="" placeholder="{{$impp_label}}"> + <i data-remove="vcard-impp" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + </div> + + <div class="section-content-wrapper-np"> + <div id="vcard-cancel-{{$vcard.id}}" class="vcard-cancel vcard-cancel-btn" data-id="{{$vcard.id}}" data-action="cancel"><i class="fa fa-close"></i></div> + <div id="vcard-add-field-{{$vcard.id}}" class="dropdown pull-right vcard-add-field"> + <button data-toggle="dropdown" type="button" class="btn btn-default btn-sm dropdown-toggle"><i class="fa fa-plus"></i> {{$add_field}}</button> + <ul class="dropdown-menu"> + <li class="add-vcard-tel"><a href="#" data-add="vcard-tel" data-id="{{$vcard.id}}" class="add-field" onclick="return false;">{{$tel_label}}</a></li> + <li class="add-vcard-email"><a href="#" data-add="vcard-email" data-id="{{$vcard.id}}" class="add-field" onclick="return false;">{{$email_label}}</a></li> + <li class="add-vcard-impp"><a href="#" data-add="vcard-impp" data-id="{{$vcard.id}}" class="add-field" onclick="return false;">{{$impp_label}}</a></li> + </ul> + </div> + <div id="vcard-header-{{$vcard.id}}" class="vcard-header" data-id="{{$vcard.id}}" data-action="open"> + <i class="vcard-fn-preview fa fa-address-card-o"></i> + <span id="vcard-preview-{{$vcard.id}}" class="vcard-preview"> + {{if $vcard.fn}}<span class="vcard-fn-preview">{{$vcard.fn}}</span>{{/if}} + {{if $vcard.emails.0.address}}<span class="vcard-email-preview hidden-xs"><a href="mailto:{{$vcard.emails.0.address}}">{{$vcard.emails.0.address}}</a></span>{{/if}} + {{if $vcard.tels.0}}<span class="vcard-tel-preview hidden-xs">{{$vcard.tels.0.nr}}{{if $is_mobile}} <a class="btn btn-default btn-xs" href="tel:{{$vcard.tels.0.nr}}"><i class="fa fa-phone connphone"></i></a>{{/if}}</span>{{/if}} + </span> + <input id="vcard-fn-{{$vcard.id}}" class="vcard-fn" type="text" name="fn" value="{{$vcard.fn}}" size="{{$vcard.fn|count_characters:true}}" placeholder="{{$name_label}}"> + </div> + </div> + <div id="vcard-info-{{$vcard.id}}" class="vcard-info section-content-wrapper"> + + <div class="vcard-tel form-group"> + <div class="form-vcard-tel-wrapper"> + {{if $vcard.tels}} + {{foreach $vcard.tels as $tel}} + <div class="form-group form-vcard-tel"> + <select name="tel_type[]"> + <option value=""{{if $tel.type.0 != 'CELL' && $tel.type.0 != 'HOME' && $tel.type.0 != 'WORK' && $tel.type.0 != 'OTHER'}} selected="selected"{{/if}}>{{$tel.type.1}}</option> + <option value="CELL"{{if $tel.type.0 == 'CELL'}} selected="selected"{{/if}}>{{$mobile}}</option> + <option value="HOME"{{if $tel.type.0 == 'HOME'}} selected="selected"{{/if}}>{{$home}}</option> + <option value="WORK"{{if $tel.type.0 == 'WORK'}} selected="selected"{{/if}}>{{$work}}</option> + <option value="OTHER"{{if $tel.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> + </select> + <input type="text" name="tel[]" value="{{$tel.nr}}" size="{{$tel.nr|count_characters:true}}" placeholder="{{$tel_label}}"> + <i data-remove="vcard-tel" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + </div> + {{/foreach}} + {{/if}} + </div> + </div> + + + <div class="vcard-email form-group"> + <div class="form-vcard-email-wrapper"> + {{if $vcard.emails}} + {{foreach $vcard.emails as $email}} + <div class="form-group form-vcard-email"> + <select name="email_type[]"> + <option value=""{{if $email.type.0 != 'HOME' && $email.type.0 != 'WORK' && $email.type.0 != 'OTHER'}} selected="selected"{{/if}}>{{$email.type.1}}</option> + <option value="HOME"{{if $email.type.0 == 'HOME'}} selected="selected"{{/if}}>{{$home}}</option> + <option value="WORK"{{if $email.type.0 == 'WORK'}} selected="selected"{{/if}}>{{$work}}</option> + <option value="OTHER"{{if $email.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> + </select> + <input type="text" name="email[]" value="{{$email.address}}" size="{{$email.address|count_characters:true}}" placeholder="{{$email_label}}"> + <i data-remove="vcard-email" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + </div> + {{/foreach}} + {{/if}} + </div> + </div> + + <div class="vcard-impp form-group"> + <div class="form-vcard-impp-wrapper"> + {{if $vcard.impps}} + {{foreach $vcard.impps as $impp}} + <div class="form-group form-vcard-impp"> + <select name="impp_type[]"> + <option value=""{{if $impp.type.0 != 'HOME' && $impp.type.0 != 'WORK' && $impp.type.0 != 'OTHER'}} selected="selected"{{/if}}>{{$impp.type.1}}</option> + <option value="HOME"{{if $impp.type.0 == 'HOME'}} selected="selected"{{/if}}>{{$home}}</option> + <option value="WORK"{{if $impp.type.0 == 'WORK'}} selected="selected"{{/if}}>{{$work}}</option> + <option value="OTHER"{{if $impp.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> + </select> + <input type="text" name="impp[]" value="{{$impp.address}}" size="{{$impp.address|count_characters:true}}" placeholder="{{$impp_label}}"> + <i data-remove="vcard-impp" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + </div> + {{/foreach}} + {{/if}} + </div> + </div> + + <div class="settings-submit-wrapper" > + <button type="submit" name="done" value="{{$submit}}" class="btn btn-primary">{{$submit}}</button> + </div> + </div> + {{/if}} + + {{if $fields.address || $fields.locality || $fields.postal_code || $fields.region || $fields.country_name || $fields.hometown}} <div class="panel"> <div class="section-subtitle-wrapper" role="tab" id="location"> @@ -150,7 +272,9 @@ </div> </div> </div> + {{/if}} + {{if $fields.marital || $fields.sexual}} <div class="panel"> <div class="section-subtitle-wrapper" role="tab" id="relation"> @@ -270,7 +394,7 @@ {{/if}} {{if $fields.employment}} - {{include file="field_textarea.tpl" field=$work}} + {{include file="field_textarea.tpl" field=$employ}} {{/if}} {{if $fields.education}} diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl index af6b6800e..ea31c23a3 100644 --- a/view/tpl/wiki.tpl +++ b/view/tpl/wiki.tpl @@ -107,7 +107,7 @@ <script> window.wiki_resource_id = '{{$resource_id}}'; window.wiki_page_name = '{{$page}}'; - window.wiki_page_content = {{if !$mimeType || $mimeType == 'text/markdown'}}{{$content}}{{else}}`{{$content}}`{{/if}}; + window.wiki_page_content = `{{$content}}`; window.wiki_page_commit = '{{$commit}}'; $("#generic-modal-ok-{{$wikiModalID}}").removeClass('btn-primary'); |