diff options
286 files changed, 49251 insertions, 47204 deletions
@@ -28,3 +28,4 @@ AddType audio/ogg .oga RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] </IfModule> + diff --git a/Zotlabs/Identity/BasicId.php b/Zotlabs/Identity/BasicId.php new file mode 100644 index 000000000..3c149808f --- /dev/null +++ b/Zotlabs/Identity/BasicId.php @@ -0,0 +1,18 @@ +<?php + +namespace Zotlabs\Identity\BasicId; + +class BasicId { + + private $name; + private $profile_photo; + private $profile_url; + private $address; + private $protocol; + + + + + +} + diff --git a/Zotlabs/Identity/ProfilePhoto.php b/Zotlabs/Identity/ProfilePhoto.php new file mode 100644 index 000000000..2891136c7 --- /dev/null +++ b/Zotlabs/Identity/ProfilePhoto.php @@ -0,0 +1,16 @@ +<?php +namespace Zotlabs\Identity\ProfilePhoto; + +class ProfilePhoto { + + private $photo_large_url; + private $photo_medium_url; + private $photo_small_url; + private $photo_mimetype; + private $photo_updated; + + + + +} + diff --git a/Zotlabs/Zot/Auth.php b/Zotlabs/Zot/Auth.php new file mode 100644 index 000000000..fed253923 --- /dev/null +++ b/Zotlabs/Zot/Auth.php @@ -0,0 +1,345 @@ +<?php + +namespace Zotlabs\Zot; + +class Auth { + + protected $test; + protected $test_results; + protected $debug_msg; + + protected $address; + protected $desturl; + protected $sec; + protected $version; + protected $delegate; + protected $success; + protected $delegate_success; + + protected $remote; + protected $remote_service_class; + protected $remote_level; + protected $remote_hub; + protected $dnt; + + function __construct($req) { + + + $this->test = ((array_key_exists('test',$req)) ? intval($req['test']) : 0); + $this->test_results = array('success' => false); + $this->debug_msg = ''; + + $this->success = false; + $this->address = $req['auth']; + $this->desturl = $req['dest']; + $this->sec = $req['sec']; + $this->version = $req['version']; + $this->delegate = $req['delegate']; + + $c = get_sys_channel(); + if(! $c) { + logger('unable to obtain response (sys) channel'); + $this->Debug('no local channels found.'); + $this->Finalise(); + } + + $x = $this->GetHublocs($this->address); + + if($x) { + foreach($x as $xx) { + if($this->Verify($c,$xx)) + break; + } + } + + /** + * @FIXME we really want to save the return_url in the session before we + * visit rmagic. This does however prevent a recursion if you visit + * rmagic directly, as it would otherwise send you back here again. + * But z_root() probably isn't where you really want to go. + */ + + if(strstr($this->desturl,z_root() . '/rmagic')) + goaway(z_root()); + + $this->Finalise(); + + } + + function GetHublocs($address) { + + // Try and find a hubloc for the person attempting to auth. + // Since we're matching by address, we have to return all entries + // some of which may be from re-installed hubs; and we'll need to + // try each sequentially to see if one can pass the test + + $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash + where hubloc_addr = '%s' order by hubloc_id desc", + dbesc($address) + ); + + if(! $x) { + // finger them if they can't be found. + $ret = zot_finger($address, null); + if ($ret['success']) { + $j = json_decode($ret['body'], true); + if($j) + import_xchan($j); + $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash + where hubloc_addr = '%s' order by hubloc_id desc", + dbesc($address) + ); + } + } + if(! $x) { + logger('mod_zot: auth: unable to finger ' . $address); + $this->Debug('no hubloc found for ' . $address . ' and probing failed.'); + $this->Finalise(); + } + + return $x; + } + + + function Verify($channel,$hubloc) { + + logger('auth request received from ' . $hubloc['hubloc_addr'] ); + + $this->remote = remote_channel(); + $this->remote_service_class = ''; + $this->remote_level = 0; + $this->remote_hub = $hubloc['hubloc_url']; + $this->dnt = 0; + + // check credentials and access + + // If they are already authenticated and haven't changed credentials, + // we can save an expensive network round trip and improve performance. + + // Also check that they are coming from the same site as they authenticated with originally. + + $already_authed = (((remote_channel()) && ($hubloc['hubloc_hash'] == remote_channel()) + && ($hubloc['hubloc_url'] === $_SESSION['remote_hub'])) ? true : false); + + if($this->delegate && $this->delegate !== $_SESSION['delegate_channel']) + $already_authed = false; + + if($already_authed) + return true; + + if(local_channel()) { + + // tell them to logout if they're logged in locally as anything but the target remote account + // in which case just shut up because they don't need to be doing this at all. + + if (get_app()->channel['channel_hash'] == $hubloc['xchan_hash']) { + return true; + } + else { + logger('already authenticated locally as somebody else.'); + notice( t('Remote authentication blocked. You are logged into this site locally. Please logout and retry.') . EOL); + if($this->test) { + $this->Debug('already logged in locally with a conflicting identity.'); + return false; + } + } + return false; + } + + // Auth packets MUST use ultra top-secret hush-hush mode - e.g. the entire packet is encrypted using the + // site private key + // The actual channel sending the packet ($c[0]) is not important, but this provides a + // generic zot packet with a sender which can be verified + + $p = zot_build_packet($channel,$type = 'auth_check', + array(array('guid' => $hubloc['hubloc_guid'],'guid_sig' => $hubloc['hubloc_guid_sig'])), + $hubloc['hubloc_sitekey'], $this->sec); + + $this->Debug('auth check packet created using sitekey ' . $hubloc['hubloc_sitekey']); + $this->Debug('packet contents: ' . $p); + + $result = zot_zot($hubloc['hubloc_callback'],$p); + if(! $result['success']) { + logger('auth_check callback failed.'); + if($this->test) + $this->Debug('auth check request to your site returned .' . print_r($result, true)); + return false; + } + + $j = json_decode($result['body'], true); + if(! $j) { + logger('auth_check json data malformed.'); + if($this->test) + $this->Debug('json malformed: ' . $result['body']); + return false; + } + + $this->Debug('auth check request returned .' . print_r($j, true)); + + if(! $j['success']) + return false; + + // legit response, but we do need to check that this wasn't answered by a man-in-middle + + if (! rsa_verify($this->sec . $hubloc['xchan_hash'],base64url_decode($j['confirm']),$hubloc['xchan_pubkey'])) { + logger('final confirmation failed.'); + if($this->test) + $this->Debug('final confirmation failed. ' . $sec . print_r($j,true) . print_r($hubloc,true)); + return false; + } + + if (array_key_exists('service_class',$j)) + $this->remote_service_class = $j['service_class']; + if (array_key_exists('level',$j)) + $this->remote_level = $j['level']; + if (array_key_exists('DNT',$j)) + $this->dnt = $j['DNT']; + + + // log them in + + if ($this->test) { + // testing only - return the success result + $this->test_results['success'] = true; + $this->Debug('Authentication Success!'); + $this->Finalise(); + } + + $_SESSION['authenticated'] = 1; + + // check for delegation and if all is well, log them in locally with delegation restrictions + + $this->delegate_success = false; + + if($this->delegate) { + $r = q("select * from channel left join xchan on channel_hash = xchan_hash where xchan_addr = '%s' limit 1", + dbesc($this->delegate) + ); + if ($r && intval($r[0]['channel_id'])) { + $allowed = perm_is_allowed($r[0]['channel_id'],$hubloc['xchan_hash'],'delegate'); + if($allowed) { + $_SESSION['delegate_channel'] = $r[0]['channel_id']; + $_SESSION['delegate'] = $hubloc['xchan_hash']; + $_SESSION['account_id'] = intval($r[0]['channel_account_id']); + require_once('include/security.php'); + // this will set the local_channel authentication in the session + change_channel($r[0]['channel_id']); + $this->delegate_success = true; + } + } + } + + if (! $this->delegate_success) { + // normal visitor (remote_channel) login session credentials + $_SESSION['visitor_id'] = $hubloc['xchan_hash']; + $_SESSION['my_url'] = $hubloc['xchan_url']; + $_SESSION['my_address'] = $this->address; + $_SESSION['remote_service_class'] = $this->remote_service_class; + $_SESSION['remote_level'] = $this->remote_level; + $_SESSION['remote_hub'] = $this->remote_hub; + $_SESSION['DNT'] = $this->dnt; + } + + $arr = array('xchan' => $hubloc, 'url' => $this->desturl, 'session' => $_SESSION); + call_hooks('magic_auth_success',$arr); + get_app()->set_observer($hubloc); + require_once('include/security.php'); + get_app()->set_groups(init_groups_visitor($_SESSION['visitor_id'])); + info(sprintf( t('Welcome %s. Remote authentication successful.'),$hubloc['xchan_name'])); + logger('mod_zot: auth success from ' . $hubloc['xchan_addr']); + $this->success = true; + return true; + } + + function Debug($msg) { + $this->debug_msg .= $msg . EOL; + } + + + function Finalise() { + + if($this->test) { + $this->test_results['message'] = $this->debug_msg; + json_return_and_die($this->test_results); + } + + goaway($this->desturl); + } + +} + + +/** + * + * Magic Auth + * ========== + * + * So-called "magic auth" takes place by a special exchange. On the site where the "channel to be authenticated" lives (e.g. $mysite), + * a redirection is made via $mysite/magic to the zot endpoint of the remote site ($remotesite) with special GET parameters. + * + * The endpoint is typically https://$remotesite/post - or whatever was specified as the callback url in prior communications + * (we will bootstrap an address and fetch a zot info packet if possible where no prior communications exist) + * + * Five GET parameters are supplied: + * * auth => the urlencoded webbie (channel@host.domain) of the channel requesting access + * * dest => the desired destination URL (urlencoded) + * * sec => a random string which is also stored on $mysite for use during the verification phase. + * * version => the zot revision + * * delegate => optional urlencoded webbie of a local channel to invoke delegation rights for + * + * * test => (optional 1 or 0 - debugs the authentication exchange and returns a json response instead of redirecting the browser session) + * + * When this packet is received, an "auth-check" zot message is sent to $mysite. + * (e.g. if $_GET['auth'] is foobar@podunk.edu, a zot packet is sent to the podunk.edu zot endpoint, which is typically /post) + * If no information has been recorded about the requesting identity a zot information packet will be retrieved before + * continuing. + * + * The sender of this packet is an arbitrary/random site channel. The recipients will be a single recipient corresponding + * to the guid and guid_sig we have associated with the requesting auth identity + * + * \code{.json} + * { + * "type":"auth_check", + * "sender":{ + * "guid":"kgVFf_...", + * "guid_sig":"PT9-TApz...", + * "url":"http:\/\/podunk.edu", + * "url_sig":"T8Bp7j...", + * "sitekey":"aMtgKTiirXrICP..." + * }, + * "recipients":{ + * { + * "guid":"ZHSqb...", + * "guid_sig":"JsAAXi..." + * } + * } + * "callback":"\/post", + * "version":1, + * "secret":"1eaa661", + * "secret_sig":"eKV968b1..." + * } + * \endcode + * + * auth_check messages MUST use encapsulated encryption. This message is sent to the origination site, which checks the 'secret' to see + * if it is the same as the 'sec' which it passed originally. It also checks the secret_sig which is the secret signed by the + * destination channel's private key and base64url encoded. If everything checks out, a json packet is returned: + * + * \code{.json} + * { + * "success":1, + * "confirm":"q0Ysovd1u...", + * "service_class":(optional) + * "level":(optional) + * "DNT": (optional do-not-track - 1 or 0) + * } + * \endcode + * + * 'confirm' in this case is the base64url encoded RSA signature of the concatenation of 'secret' with the + * base64url encoded whirlpool hash of the requestor's guid and guid_sig; signed with the source channel private key. + * This prevents a man-in-the-middle from inserting a rogue success packet. Upon receipt and successful + * verification of this packet, the destination site will redirect to the original destination URL and indicate a successful remote login. + * Service_class can be used by cooperating sites to provide different access rights based on account rights and subscription plans. It is + * a string whose contents are not defined by protocol. Example: "basic" or "gold". + * + * @param[in,out] App &$a + */ diff --git a/Zotlabs/Zot/IHandler.php b/Zotlabs/Zot/IHandler.php new file mode 100644 index 000000000..eeca1555c --- /dev/null +++ b/Zotlabs/Zot/IHandler.php @@ -0,0 +1,22 @@ +<?php + +namespace Zotlabs\Zot; + +interface IHandler { + + function Ping(); + + function Pickup($data); + + function Notify($data); + + function Request($data); + + function AuthCheck($data,$encrypted); + + function Purge($sender,$recipients); + + function Refresh($sender,$recipients); + +} + diff --git a/Zotlabs/Zot/Receiver.php b/Zotlabs/Zot/Receiver.php new file mode 100644 index 000000000..238de1332 --- /dev/null +++ b/Zotlabs/Zot/Receiver.php @@ -0,0 +1,296 @@ +<?php + +namespace Zotlabs\Zot; + +class Receiver { + + protected $data; + protected $encrypted; + protected $error; + protected $messagetype; + protected $sender; + protected $validated; + protected $recipients; + protected $response; + protected $handler; + + function __construct($data,$prvkey,$handler) { + + $this->error = false; + $this->validated = false; + $this->messagetype = ''; + $this->response = array('success' => false); + + $this->handler = $handler; + + if(! is_array($data)) + $data = json_decode($data,true); + + if($data && is_array($data)) { + $this->encrypted = ((array_key_exists('iv',$data)) ? true : false); + + if($this->encrypted) { + $this->data = @json_decode(@crypto_unencapsulate($data,$prvkey),true); + } + if(! $this->data) + $this->data = $data; + + if($this->data && is_array($this->data) && array_key_exists('type',$this->data)) + $this->messagetype = $this->data['type']; + } + if(! $this->messagetype) + $this->error = true; + + $this->sender = ((array_key_exists('sender',$this->data)) ? $this->data['sender'] : null); + $this->recipients = ((array_key_exists('recipients',$this->data)) ? $this->data['recipients'] : null); + + + if($this->sender) + $this->ValidateSender(); + + $this->Dispatch(); + } + + function ValidateSender() { + $hubs = zot_gethub($this->sender,true); + if (! $hubs) { + + /* Have never seen this guid or this guid coming from this location. Check it and register it. */ + /* (!!) this will validate the sender. */ + + $result = zot_register_hub($this->sender); + + if ((! $result['success']) || (! ($hubs = zot_gethub($this->sender,true)))) { + $this->response['message'] = 'Hub not available.'; + json_return_and_die($this->response); + } + } + foreach($hubs as $hub) { + update_hub_connected($hub,((array_key_exists('sitekey',$this->sender)) ? $this->sender['sitekey'] : '')); + } + $this->validated = true; + } + + + function Dispatch() { + + /* Handle tasks which don't require sender validation */ + + switch($this->messagetype) { + case 'ping': + /* no validation needed */ + $this->handler->Ping(); + break; + case 'pickup': + /* perform site validation, as opposed to sender validation */ + $this->handler->Pickup($this->data); + break; + + default: + if(! $this->validated) { + $this->response['message'] = 'Sender not valid'; + json_return_and_die($this->response); + } + break; + } + + /* Now handle tasks which require sender validation */ + + switch($this->messagetype) { + + case 'auth_check': + $this->handler->AuthCheck($this->data,$this->encrypted); + break; + + case 'request': + $this->handler->Request($this->data); + break; + + case 'purge': + $this->handler->Purge($this->sender,$this->recipients); + break; + + case 'refresh': + case 'force_refresh': + $this->handler->Refresh($this->sender,$this->recipients); + break; + + case 'notify': + $this->handler->Notify($this->data); + break; + + default: + $this->response['message'] = 'Not implemented'; + json_return_and_die($this->response); + break; + } + + } +} + + + +/** + * @brief zot communications and messaging. + * + * Sender HTTP posts to this endpoint ($site/post typically) with 'data' parameter set to json zot message packet. + * This packet is optionally encrypted, which we will discover if the json has an 'iv' element. + * $contents => array( 'alg' => 'aes256cbc', 'iv' => initialisation vector, 'key' => decryption key, 'data' => encrypted data); + * $contents->iv and $contents->key are random strings encrypted with this site's RSA public key and then base64url encoded. + * Currently only 'aes256cbc' is used, but this is extensible should that algorithm prove inadequate. + * + * Once decrypted, one will find the normal json_encoded zot message packet. + * + * Defined packet types are: notify, purge, refresh, force_refresh, auth_check, ping, and pickup + * + * Standard packet: (used by notify, purge, refresh, force_refresh, and auth_check) + * \code{.json} + * { + * "type": "notify", + * "sender":{ + * "guid":"kgVFf_1...", + * "guid_sig":"PT9-TApzp...", + * "url":"http:\/\/podunk.edu", + * "url_sig":"T8Bp7j5...", + * }, + * "recipients": { optional recipient array }, + * "callback":"\/post", + * "version":1, + * "secret":"1eaa...", + * "secret_sig": "df89025470fac8..." + * } + * \endcode + * + * Signature fields are all signed with the sender channel private key and base64url encoded. + * Recipients are arrays of guid and guid_sig, which were previously signed with the recipients private + * key and base64url encoded and later obtained via channel discovery. Absence of recipients indicates + * a public message or visible to all potential listeners on this site. + * + * "pickup" packet: + * The pickup packet is sent in response to a notify packet from another site + * \code{.json} + * { + * "type":"pickup", + * "url":"http:\/\/example.com", + * "callback":"http:\/\/example.com\/post", + * "callback_sig":"teE1_fLI...", + * "secret":"1eaa...", + * "secret_sig":"O7nB4_..." + * } + * \endcode + * + * In the pickup packet, the sig fields correspond to the respective data + * element signed with this site's system private key and then base64url encoded. + * The "secret" is the same as the original secret from the notify packet. + * + * If verification is successful, a json structure is returned containing a + * success indicator and an array of type 'pickup'. + * Each pickup element contains the original notify request and a message field + * whose contents are dependent on the message type. + * + * This JSON array is AES encapsulated using the site public key of the site + * that sent the initial zot pickup packet. + * Using the above example, this would be example.com. + * + * \code{.json} + * { + * "success":1, + * "pickup":{ + * "notify":{ + * "type":"notify", + * "sender":{ + * "guid":"kgVFf_...", + * "guid_sig":"PT9-TApz...", + * "url":"http:\/\/z.podunk.edu", + * "url_sig":"T8Bp7j5D..." + * }, + * "callback":"\/post", + * "version":1, + * "secret":"1eaa661..." + * }, + * "message":{ + * "type":"activity", + * "message_id":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu", + * "message_top":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu", + * "message_parent":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu", + * "created":"2012-11-20 04:04:16", + * "edited":"2012-11-20 04:04:16", + * "title":"", + * "body":"Hi Nickordo", + * "app":"", + * "verb":"post", + * "object_type":"", + * "target_type":"", + * "permalink":"", + * "location":"", + * "longlat":"", + * "owner":{ + * "name":"Indigo", + * "address":"indigo@podunk.edu", + * "url":"http:\/\/podunk.edu", + * "photo":{ + * "mimetype":"image\/jpeg", + * "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5" + * }, + * "guid":"kgVFf_...", + * "guid_sig":"PT9-TAp...", + * }, + * "author":{ + * "name":"Indigo", + * "address":"indigo@podunk.edu", + * "url":"http:\/\/podunk.edu", + * "photo":{ + * "mimetype":"image\/jpeg", + * "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5" + * }, + * "guid":"kgVFf_...", + * "guid_sig":"PT9-TAp..." + * } + * } + * } + * } + * \endcode + * + * Currently defined message types are 'activity', 'mail', 'profile', 'location' + * and 'channel_sync', which each have different content schemas. + * + * Ping packet: + * A ping packet does not require any parameters except the type. It may or may + * not be encrypted. + * + * \code{.json} + * { + * "type": "ping" + * } + * \endcode + * + * On receipt of a ping packet a ping response will be returned: + * + * \code{.json} + * { + * "success" : 1, + * "site" { + * "url": "http:\/\/podunk.edu", + * "url_sig": "T8Bp7j5...", + * "sitekey": "-----BEGIN PUBLIC KEY----- + * MIICIjANBgkqhkiG9w0BAQE..." + * } + * } + * \endcode + * + * The ping packet can be used to verify that a site has not been re-installed, and to + * initiate corrective action if it has. The url_sig is signed with the site private key + * and base64url encoded - and this should verify with the enclosed sitekey. Failure to + * verify indicates the site is corrupt or otherwise unable to communicate using zot. + * This return packet is not otherwise verified, so should be compared with other + * results obtained from this site which were verified prior to taking action. For instance + * if you have one verified result with this signature and key, and other records for this + * url which have different signatures and keys, it indicates that the site was re-installed + * and corrective action may commence (remove or mark invalid any entries with different + * signatures). + * If you have no records which match this url_sig and key - no corrective action should + * be taken as this packet may have been returned by an imposter. + * + * @param[in,out] App &$a + */ + diff --git a/Zotlabs/Zot/ZotHandler.php b/Zotlabs/Zot/ZotHandler.php new file mode 100644 index 000000000..f9bb05410 --- /dev/null +++ b/Zotlabs/Zot/ZotHandler.php @@ -0,0 +1,38 @@ +<?php + +namespace Zotlabs\Zot; + +require_once('Zotlabs/Zot/IHandler.php'); + + +class ZotHandler implements IHandler { + + function Ping() { + zot_reply_ping(); + } + + function Pickup($data) { + zot_reply_pickup($data); + } + + function Notify($data) { + zot_reply_notify($data); + } + + function Request($data) { + zot_reply_message_request($data); + } + + function AuthCheck($data,$encrypted) { + zot_reply_auth_check($data,$encrypted); + } + + function Purge($sender,$recipients) { + zot_reply_purge($sender,$recipients); + } + + function Refresh($sender,$recipients) { + zot_reply_refresh($sender,$recipients); + } + +} @@ -48,9 +48,10 @@ require_once('include/AccessList.php'); define ( 'PLATFORM_NAME', 'hubzilla' ); define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'H'); +define ( 'STD_VERSION', '1.0' ); define ( 'ZOT_REVISION', 1 ); -define ( 'DB_UPDATE_VERSION', 1160 ); +define ( 'DB_UPDATE_VERSION', 1161 ); /** @@ -65,10 +66,10 @@ define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); //define ( 'NULL_DATE', '0000-00-00 00:00:00' ); define ( 'TEMPLATE_BUILD_PATH', 'store/[data]/smarty3' ); -define ( 'DIRECTORY_MODE_NORMAL', 0x0000); // This is technically DIRECTORY_MODE_TERTIARY, but it's the default, hence 0x0000 -define ( 'DIRECTORY_MODE_PRIMARY', 0x0001); -define ( 'DIRECTORY_MODE_SECONDARY', 0x0002); -define ( 'DIRECTORY_MODE_STANDALONE', 0x0100); +define ( 'DIRECTORY_MODE_NORMAL', 0x0000); // A directory client +define ( 'DIRECTORY_MODE_PRIMARY', 0x0001); // There can only be *one* primary directory server in a directory_realm. +define ( 'DIRECTORY_MODE_SECONDARY', 0x0002); // All other mirror directory servers +define ( 'DIRECTORY_MODE_STANDALONE', 0x0100); // A detached (off the grid) hub with itself as directory server. // We will look for upstream directories whenever me make contact // with other sites, but if this is a new installation and isn't @@ -82,9 +83,9 @@ $DIRECTORY_FALLBACK_SERVERS = array( 'https://zothub.com', 'https://hubzilla.site', 'https://red.zottel.red', - 'https://gravizot.de', - 'https://blablanet.com', - 'https://my.federated.social' + 'https://hub.pixelbits.de', + 'https://my.federated.social', + 'https://hubzilla.nl' ); @@ -621,10 +622,10 @@ class App { public $poi = null; // "person of interest", generally a referenced connection private $oauth_key = null; // consumer_id of oauth request, if used public $layout = array(); // Comanche parsed template - public $pdl = null; + public $pdl = null; // Comanche page description private $perms = null; // observer permissions private $widgets = array(); // widgets for this page - //private $widgetlist = null; // widget ordering and inclusion directives + public $groups; public $language; @@ -1157,7 +1158,7 @@ function z_root() { } /** - * @brief Return absolut URL for given $path. + * @brief Return absolute URL for given $path. * * @param string $path * @@ -1323,7 +1324,7 @@ function check_config(&$a) { * */ - $r = q("SELECT * FROM `addon` WHERE `installed` = 1"); + $r = q("SELECT * FROM addon WHERE installed = 1"); if($r) $installed = $r; else @@ -1469,12 +1470,6 @@ function login($register = false, $form_id = 'main-login', $hiddens=false) { $tpl = get_markup_template("logout.tpl"); } else { -// There's no such thing as login_head.tpl, has never been in Red, removed from Friendica 1 Jun 2013... - -// $a->page['htmlhead'] .= replace_macros(get_markup_template("login_head.tpl"), array( -// '$baseurl' => $a->get_baseurl(true) -// )); - $tpl = get_markup_template("login.tpl"); if(strlen($a->query_string)) $_SESSION['login_return_url'] = $a->query_string; diff --git a/doc/Hubzilla_on_OpenShift.bb b/doc/Hubzilla_on_OpenShift.bb index 9b2c539dc..9ccd66284 100644 --- a/doc/Hubzilla_on_OpenShift.bb +++ b/doc/Hubzilla_on_OpenShift.bb @@ -8,7 +8,7 @@ Create an account on OpenShift, then use the registration e-mail and password to [code]rhc app-create your_app_name php-5.4 mysql-5.5 cron phpmyadmin --namespace your_domain --from-code https://github.com/redmatrix/hubzilla.git -l your@email.address -p your_account_password [/code] -Make a note of the database username and password OpenShift creates for your instance, and use these at [url=https://your_app_name-your_domain.rhcloud.com/]https://your_app_name-your_domain.rhcloud.com/[/url] to complete the setup. +Make a note of the database username and password OpenShift creates for your instance, and use these at [url=https://your_app_name-your_domain.rhcloud.com/]https://your_app_name-your_domain.rhcloud.com/[/url] to complete the setup. You MUST change server address from 127.0.0.1 to localhost. NOTE: PostgreSQL is NOT supported by the deploy script yet, see [zrl=https://zot-mor.rhcloud.com/display/3c7035f2a6febf87057d84ea0ae511223e9b38dc27913177bc0df053edecac7c@zot-mor.rhcloud.com?zid=haakon%40zot-mor.rhcloud.com]this thread[/zrl]. diff --git a/doc/database/db_abook.bb b/doc/database/db_abook.bb index 2e4b9c4a7..364429884 100644 --- a/doc/database/db_abook.bb +++ b/doc/database/db_abook.bb @@ -39,8 +39,9 @@ [tr][td]abook_unconnected[/td][td]currently unused. Projected usage is to indicate "one-way" connections which were insitgated on this end but are still pending on the remote end. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] [tr][td]abook_self[/td][td]is a special case where the owner is the target. Every channel has one abook entry with abook_self and with a target abook_xchan set to channel.channel_hash . When this flag is present, abook_my_perms is the default permissions granted to all new connections and several other fields are unused.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] [tr][td]abook_feed[/td][td]indicates this connection is an RSS/Atom feed and may trigger special handling.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] -[tr][td]abook_incl[/td][td]connection filter allow rules separated by LF[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] -[tr][td]abook_excl[/td][td]connection filter deny rules separated by LF[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] +[tr][td]abook_incl[/td][td]connection filter allow rules separated by LF[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] +[tr][td]abook_excl[/td][td]connection filter deny rules separated by LF[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] +[tr][td]abook_instance[/td][td]comma separated list of site urls of all channel clones that this connection is connected with (used only for singleton networks which don't support cloning)[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td] [/table] diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb index 1323730aa..8a02a23f2 100644 --- a/doc/hidden_configs.bb +++ b/doc/hidden_configs.bb @@ -65,7 +65,7 @@ This document assumes you're an administrator. this website. Can be overwritten by user settings. [b]system > projecthome[/b] Set the project homepage as the homepage of your hub. - [b]system > workflowchannelnext[/b] + [b]system > workflow_channel_next[/b] The page to direct users to immediately after creating a channel. [b]system > max_daily_registrations[/b] Set the maximum number of new registrations allowed on any day. @@ -154,6 +154,8 @@ This document assumes you're an administrator. Needed in some Windows installations to locate the openssl configuration file on the system. [b]system > hide_help[/b] Don't display help documentation link in nav bar + [b]system > expire_delivery_reports[/b] + Expiration in days for delivery reports - default 30 [b]Directory config[/b] [b]Directory search defaults[/b] diff --git a/doc/hook/check_channelallowed.bb b/doc/hook/check_channelallowed.bb new file mode 100644 index 000000000..e7559c92f --- /dev/null +++ b/doc/hook/check_channelallowed.bb @@ -0,0 +1,11 @@ +[h2]check_channelallowed[/h2] + +Called when checking the channel (xchan) black and white lists to see if a channel is blocked. + +Hook data + + array('hash' => xchan_hash of xchan to check); + + create and set array element 'allowed' to true or false to override the system checks + + diff --git a/doc/hook/check_siteallowed.bb b/doc/hook/check_siteallowed.bb new file mode 100644 index 000000000..28134cbd2 --- /dev/null +++ b/doc/hook/check_siteallowed.bb @@ -0,0 +1,10 @@ +[h2]check_siteallowed[/h2] + +Called when checking the site black and white lists to see if a site is blocked. + +Hook data + + array('url' => URL of site to check); + + create and set array element 'allowed' to true or false to override the system checks + diff --git a/doc/hooklist.bb b/doc/hooklist.bb index 45a4861d9..9172628a0 100644 --- a/doc/hooklist.bb +++ b/doc/hooklist.bb @@ -82,6 +82,12 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the [zrl=[baseurl]/help/hook/check_account_password]check_account_password[/zrl] Used to provide policy control over account passwords (minimum length, character set inclusion, etc.) +[zrl=[baseurl]/help/hook/check_channelallowed]check_channelallowed[/zrl] + Used to over-ride or bypass the channel black/white block lists + +[zrl=[baseurl]/help/hook/check_siteallowed]check_siteallowed[/zrl] + Used to over-ride or bypass the site black/white block lists + [zrl=[baseurl]/help/hook/connect_premium]connect_premium[/zrl] Called when connecting to a premium channel diff --git a/include/RedDAV/RedBrowser.php b/include/RedDAV/RedBrowser.php index efea5d92f..1aa5f435e 100644 --- a/include/RedDAV/RedBrowser.php +++ b/include/RedDAV/RedBrowser.php @@ -188,7 +188,7 @@ class RedBrowser extends DAV\Browser\Plugin { $parentHash = ''; $owner = $this->auth->owner_id; - $splitPath = split('/', $fullPath); + $splitPath = explode('/', $fullPath); if (count($splitPath) > 3) { for ($i = 3; $i < count($splitPath); $i++) { $attachName = urldecode($splitPath[$i]); diff --git a/include/account.php b/include/account.php index b3a520fd4..e448bdcc6 100644 --- a/include/account.php +++ b/include/account.php @@ -67,7 +67,7 @@ function check_account_invite($invite_code) { $result['message'] .= t('An invitation is required.') . EOL; } $r = q("select * from register where `hash` = '%s' limit 1", dbesc($invite_code)); - if(! results($r)) { + if(! $r) { $result['message'] .= t('Invitation could not be verified.') . EOL; } } @@ -718,4 +718,4 @@ function upgrade_message($bbcode = false) { function upgrade_bool_message($bbcode = false) { $x = upgrade_link($bbcode); return t('This action is not available under your subscription plan.') . (($x) ? ' ' . $x : '') ; -}
\ No newline at end of file +} diff --git a/include/api.php b/include/api.php index f279b2aa3..4ad915c03 100644 --- a/include/api.php +++ b/include/api.php @@ -1,10 +1,10 @@ <?php /** @file */ -require_once("bbcode.php"); -require_once("datetime.php"); -require_once("conversation.php"); -require_once("oauth.php"); -require_once("html2plain.php"); +require_once("include/bbcode.php"); +require_once("include/datetime.php"); +require_once("include/conversation.php"); +require_once("include/oauth.php"); +require_once("include/html2plain.php"); require_once('include/security.php'); require_once('include/photos.php'); require_once('include/items.php'); @@ -382,7 +382,6 @@ require_once('include/api_auth.php'); function api_item_get_user(&$a, $item) { - global $usercache; // The author is our direct contact, in a conversation with us. @@ -396,11 +395,11 @@ require_once('include/api_auth.php'); $name = $item['author']['xchan_name']; // Generating a random ID - if (is_null($usercache[$nick]) or !array_key_exists($nick, $usercache)) - $usercache[$nick] = mt_rand(2000000, 2100000); + if (! $nick) + $nick = mt_rand(2000000, 2100000); $ret = array( - 'id' => $usercache[$nick], + 'id' => $nick, 'name' => $name, 'screen_name' => $nick, 'location' => '', //$uinfo[0]['default-location'], @@ -2299,12 +2298,11 @@ require_once('include/api_auth.php'); api_register_func('api/direct_messages','api_direct_messages_inbox',true); - function api_oauth_request_token(&$a, $type){ try{ - $oauth = new FKOAuth1(); + $oauth = new ZotOAuth1(); $req = OAuthRequest::from_request(); -logger('Req: ' . var_export($req,true)); + logger('Req: ' . var_export($req,true),LOGGER_DATA); $r = $oauth->fetch_request_token($req); }catch(Exception $e){ logger('oauth_exception: ' . print_r($e->getMessage(),true)); @@ -2314,9 +2312,10 @@ logger('Req: ' . var_export($req,true)); echo $r; killme(); } + function api_oauth_access_token(&$a, $type){ try{ - $oauth = new FKOAuth1(); + $oauth = new ZotOAuth1(); $req = OAuthRequest::from_request(); $r = $oauth->fetch_access_token($req); }catch(Exception $e){ diff --git a/include/api_auth.php b/include/api_auth.php index ee9db3f55..c9978c99d 100644 --- a/include/api_auth.php +++ b/include/api_auth.php @@ -1,16 +1,18 @@ <?php /** @file */ -require_once("oauth.php"); - - /** - * Simple HTTP Login + * API Login via basic-auth or OAuth */ function api_login(&$a){ + + $record = null; + + require_once('include/oauth.php'); + // login with oauth try { - $oauth = new FKOAuth1(); + $oauth = new ZotOAuth1(); $req = OAuthRequest::from_request(); list($consumer,$token) = $oauth->verify_request($req); @@ -23,16 +25,14 @@ function api_login(&$a){ call_hooks('logged_in', $a->user); return; } - echo __file__.__line__.__function__."<pre>"; -// var_dump($consumer, $token); - die(); + killme(); } catch(Exception $e) { logger(__file__.__line__.__function__."\n".$e); } - - // workaround for HTTP-auth in CGI mode + // workarounds for HTTP-auth in CGI mode + if(x($_SERVER,'REDIRECT_REMOTE_USER')) { $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"],6)) ; if(strlen($userpass)) { @@ -51,45 +51,49 @@ function api_login(&$a){ } } + require_once('include/auth.php'); + require_once('include/security.php'); - if (!isset($_SERVER['PHP_AUTH_USER'])) { - logger('API_login: ' . print_r($_SERVER,true), LOGGER_DEBUG); - header('WWW-Authenticate: Basic realm="Red"'); - header('HTTP/1.0 401 Unauthorized'); - die('This api requires login'); - } - // process normal login request - require_once('include/auth.php'); - $channel_login = 0; - $record = account_verify_password($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); - if(! $record) { - $r = q("select * from channel where channel_address = '%s' limit 1", + + if(isset($_SERVER['PHP_AUTH_USER'])) { + $channel_login = 0; + $record = account_verify_password($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); + if(! $record) { + $r = q("select * from channel left join account on account.account_id = channel.channel_account_id + where channel.channel_address = '%s' limit 1", dbesc($_SERVER['PHP_AUTH_USER']) ); if ($r) { - $x = q("select * from account where account_id = %d limit 1", - intval($r[0]['channel_account_id']) - ); - if ($x) { - $record = account_verify_password($x[0]['account_email'],$_SERVER['PHP_AUTH_PW']); + $record = account_verify_password($r[0]['account_email'],$_SERVER['PHP_AUTH_PW']); if($record) $channel_login = $r[0]['channel_id']; } } - if(! $record) { - logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG); - header('WWW-Authenticate: Basic realm="Red"'); - header('HTTP/1.0 401 Unauthorized'); - die('This api requires login'); - } } - require_once('include/security.php'); - authenticate_success($record); + if($record) { + authenticate_success($record); - if($channel_login) - change_channel($channel_login); + if($channel_login) + change_channel($channel_login); + + $_SESSION['allow_api'] = true; + return true; + } + else { + $_SERVER['PHP_AUTH_PW'] = '*****'; + logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG); + log_failed_login('API login failure'); + retry_basic_auth(); + } - $_SESSION['allow_api'] = true; } + + +function retry_basic_auth() { + header('WWW-Authenticate: Basic realm="Hubzilla"'); + header('HTTP/1.0 401 Unauthorized'); + echo('This api requires login'); + killme(); +}
\ No newline at end of file diff --git a/include/comanche.php b/include/comanche.php index 9585a6578..ef71886f2 100644 --- a/include/comanche.php +++ b/include/comanche.php @@ -282,15 +282,16 @@ function comanche_widget($name, $text) { } } - if(file_exists('widget/' . trim($name) . '.php')) + $func = 'widget_' . trim($name); + + if((! function_exists($func)) && file_exists('widget/' . trim($name) . '.php')) require_once('widget/' . trim($name) . '.php'); else { - $theme_widget = 'widget_' . trim($name) . '.php'; - if(theme_include($theme_widget)) + $theme_widget = $func . '.php'; + if((! function_exists($func)) && theme_include($theme_widget)) require_once(theme_include($theme_widget)); } - $func = 'widget_' . trim($name); if (function_exists($func)) return $func($vars); } diff --git a/include/externals.php b/include/externals.php index 18c034bb2..3a3a32420 100644 --- a/include/externals.php +++ b/include/externals.php @@ -28,7 +28,10 @@ function externals_run($argv, $argc){ } else { $randfunc = db_getfunc('RAND'); - $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d and site_type = %d order by $randfunc limit 1", + + // fixme this query does not deal with directory realms. + + $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d and site_type = %d and site_dead = 0 order by $randfunc limit 1", dbesc(z_root()), intval(DIRECTORY_MODE_STANDALONE), intval(SITE_TYPE_ZOT) @@ -37,19 +40,11 @@ function externals_run($argv, $argc){ $url = $r[0]['site_url']; } - // Note: blacklisted sites must be stored in the config as an array. - // No simple way to turn this into a personal config because we have no identity here. - // For that we probably need a variant of superblock. - $blacklisted = false; - $bl1 = get_config('system','blacklisted_sites'); - if(is_array($bl1) && $bl1) { - foreach($bl1 as $bl) { - if($bl && strpos($url,$bl) !== false) { - $blacklisted = true; - break; - } - } + + if(! check_siteallowed($url)) { + logger('blacklisted site: ' . $url); + $blacklisted = true; } $attempts ++; diff --git a/include/follow.php b/include/follow.php index 40ad2c299..97be82da7 100644 --- a/include/follow.php +++ b/include/follow.php @@ -161,6 +161,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) } } if($r) { + $xchan = $r[0]; $xchan_hash = $r[0]['xchan_hash']; $their_perms = 0; } @@ -172,7 +173,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) return $result; } - $x = array('channel_id' => $uid, 'follow_address' => $url, 'xchan' => $r[0], 'allowed' => 1); + $x = array('channel_id' => $uid, 'follow_address' => $url, 'xchan' => $r[0], 'allowed' => 1, 'singleton' => 0); call_hooks('follow_allow',$x); @@ -180,7 +181,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) $result['message'] = t('Protocol disabled.'); return $result; } - + $singleton = intval($x['singleton']); if((local_channel()) && $uid == local_channel()) { $aid = get_account_id(); @@ -221,13 +222,22 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) return $result; } - $r = q("select abook_xchan from abook where abook_xchan = '%s' and abook_channel = %d limit 1", + $r = q("select abook_xchan, abook_instance from abook where abook_xchan = '%s' and abook_channel = %d limit 1", dbesc($xchan_hash), intval($uid) ); if($r) { - $x = q("update abook set abook_their_perms = %d where abook_id = %d", + $abook_instance = $r[0]['abook_instance']; + + if(($singleton) && strpos($abook_instance,z_root()) === false) { + if($abook_instance) + $abook_instance .= ','; + $abook_instance .= z_root(); + } + + $x = q("update abook set abook_their_perms = %d, abook_instance = '%s' where abook_id = %d", intval($their_perms), + dbesc($abook_instance), intval($r[0]['abook_id']) ); } @@ -237,8 +247,8 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) if($closeness === false) $closeness = 80; - $r = q("insert into abook ( abook_account, abook_channel, abook_closeness, abook_xchan, abook_feed, abook_their_perms, abook_my_perms, abook_created, abook_updated ) - values( %d, %d, %d, '%s', %d, %d, %d, '%s', '%s' ) ", + $r = q("insert into abook ( abook_account, abook_channel, abook_closeness, abook_xchan, abook_feed, abook_their_perms, abook_my_perms, abook_created, abook_updated, abook_instance ) + values( %d, %d, %d, '%s', %d, %d, %d, '%s', '%s', '%s' ) ", intval($aid), intval($uid), intval($closeness), @@ -247,7 +257,8 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) intval(($is_http) ? $their_perms|PERMS_R_STREAM|PERMS_A_REPUBLISH : $their_perms), intval($my_perms), dbesc(datetime_convert()), - dbesc(datetime_convert()) + dbesc(datetime_convert()), + dbesc(($singleton) ? z_root() : '') ); } diff --git a/include/identity.php b/include/identity.php index 95ade3b28..98ba26bd8 100644 --- a/include/identity.php +++ b/include/identity.php @@ -896,12 +896,6 @@ function profile_load(&$a, $nickname, $profile = '') { $_SESSION['theme'] = $p[0]['channel_theme']; -// $a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one - -// $theme_info_file = "view/theme/".current_theme()."/php/theme.php"; -// if (file_exists($theme_info_file)){ -// require_once($theme_info_file); -// } } /** diff --git a/include/items.php b/include/items.php index 7d349c631..ef1867c14 100755 --- a/include/items.php +++ b/include/items.php @@ -550,6 +550,7 @@ function get_public_feed($channel, $params) { $params['direction'] = ((x($params,'direction')) ? $params['direction'] : 'desc'); $params['pages'] = ((x($params,'pages')) ? intval($params['pages']) : 0); $params['top'] = ((x($params,'top')) ? intval($params['top']) : 0); + $params['cat'] = ((x($params,'cat')) ? $params['cat'] : ''); switch($params['type']) { case 'json': @@ -593,7 +594,8 @@ function get_feed_for($channel, $observer_hash, $params) { 'direction' => $params['direction'], // FIXME 'pages' => $params['pages'], 'order' => 'post', - 'top' => $params['top'] + 'top' => $params['top'], + 'cat' => $params['cat'] ), $channel, $observer_hash, CLIENT_MODE_NORMAL, get_app()->module); @@ -3472,7 +3474,7 @@ function post_is_importable($item,$abook) { unobscure($item); $text = prepare_text($item['body'],$item['mimetype']); - $text = html2plain($text); + $text = html2plain(($item['title']) ? $item['title'] . ' ' . $text : $text); $lang = null; @@ -4817,6 +4819,9 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C if($arr['since_id']) $sql_extra .= " and item.id > " . $since_id . " "; + if($arr['cat']) + $sql_extra .= protect_sprintf(term_query('item', $arr['cat'], TERM_CATEGORY)); + if($arr['gid'] && $uid) { $r = q("SELECT * FROM `groups` WHERE id = %d AND uid = %d LIMIT 1", intval($arr['group']), diff --git a/include/message.php b/include/message.php index 820d814b6..940fcc275 100644 --- a/include/message.php +++ b/include/message.php @@ -13,6 +13,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto=' $ret = array('success' => false); $a = get_app(); + $observer_hash = get_observer_hash(); if(! $recipient) { $ret['message'] = t('No recipient provided.'); @@ -148,8 +149,8 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto=' $match = null; $images = null; - if(preg_match_all("/\[zmg\](.*?)\[\/zmg\]/",((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$match)) - $images = $match[1]; + if(preg_match_all("/\[zmg\=([0-9]*)x([0-9]*)\](.*?)\[\/zmg\]/",((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$match)) + $images = $match[3]; $match = false; @@ -173,7 +174,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto=' 'revision' => $r['data']['revision'] ); } - $body = str_replace($match[1],'',$body); + $body = trim(str_replace($match[1],'',$body)); } } @@ -230,7 +231,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto=' dbesc($image_uri), intval($channel['channel_id']), dbesc('<' . $channel['channel_hash'] . '>') - ); + ); $r = q("UPDATE attach SET allow_cid = '%s' WHERE hash = '%s' AND is_photo = 1 and uid = %d and allow_cid = '%s'", dbesc('<' . $recipient . '>'), dbesc($image_uri), @@ -239,7 +240,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto=' ); } } - + if($attaches) { foreach($attaches as $attach) { $hash = substr($attach,0,strpos($attach,',')); @@ -505,3 +506,4 @@ function private_messages_fetch_conversation($channel_id, $messageitem_id, $upda return $messages; } + diff --git a/include/network.php b/include/network.php index 026f5ee0a..68452c3d1 100644 --- a/include/network.php +++ b/include/network.php @@ -1709,3 +1709,190 @@ function do_delivery($deliveries) { } + + +function get_site_info() { + + global $db; + global $a; + + $register_policy = Array('REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN'); + $directory_mode = Array('DIRECTORY_MODE_NORMAL', 'DIRECTORY_MODE_SECONDARY','DIRECTORY_MODE_PRIMARY', 256 => 'DIRECTORY_MODE_STANDALONE'); + + $sql_extra = ''; + + $r = q("select * from channel left join account on account_id = channel_account_id where ( account_roles & 4096 )>0 and account_default_channel = channel_id"); + + + if($r) { + $admin = array(); + foreach($r as $rr) { + if($rr['channel_pageflags'] & PAGE_HUBADMIN) + $admin[] = array( 'name' => $rr['channel_name'], 'address' => $rr['channel_address'] . '@' . get_app()->get_hostname(), 'channel' => z_root() . '/channel/' . $rr['channel_address']); + } + if(! $admin) { + foreach($r as $rr) { + $admin[] = array( 'name' => $rr['channel_name'], 'address' => $rr['channel_address'] . '@' . get_app()->get_hostname(), 'channel' => z_root() . '/channel/' . $rr['channel_address']); + } + } + } + else { + $admin = false; + } + + $def_service_class = get_config('system','default_service_class'); + if($def_service_class) + $service_class = get_config('service_class',$def_service_class); + else + $service_class = false; + + $visible_plugins = array(); + if(is_array($a->plugins) && count($a->plugins)) { + $r = q("select * from addon where hidden = 0"); + if(count($r)) + foreach($r as $rr) + $visible_plugins[] = $rr['name']; + } + sort($visible_plugins); + + if(@is_dir('.git') && function_exists('shell_exec')) + $commit = trim(@shell_exec('git log -1 --format="%h"')); + if(! isset($commit) || strlen($commit) > 16) + $commit = ''; + + $site_info = get_config('system','info'); + $site_name = get_config('system','sitename'); + if(! get_config('system','hidden_version_siteinfo')) { + $version = RED_VERSION; + $tag = get_std_version(); + + if(@is_dir('.git') && function_exists('shell_exec')) { + $commit = trim( @shell_exec('git log -1 --format="%h"')); +// if(! get_config('system','hidden_tag_siteinfo')) +// $tag = trim( @shell_exec('git describe --tags --abbrev=0')); +// else +// $tag = ''; + } + if(! isset($commit) || strlen($commit) > 16) + $commit = ''; + } + else { + $version = $commit = ''; + } + + //Statistics + $channels_total_stat = intval(get_config('system','channels_total_stat')); + $channels_active_halfyear_stat = intval(get_config('system','channels_active_halfyear_stat')); + $channels_active_monthly_stat = intval(get_config('system','channels_active_monthly_stat')); + $local_posts_stat = intval(get_config('system','local_posts_stat')); + $hide_in_statistics = intval(get_config('system','hide_in_statistics')); + $site_expire = intval(get_config('system', 'default_expire_days')); + + + $data = Array( + 'version' => $version, + 'version_tag' => $tag, + 'commit' => $commit, + 'url' => z_root(), + 'plugins' => $visible_plugins, + 'register_policy' => $register_policy[get_config('system','register_policy')], + 'directory_mode' => $directory_mode[get_config('system','directory_mode')], + 'language' => get_config('system','language'), + 'rss_connections' => get_config('system','feed_contacts'), + 'expiration' => $site_expire, + 'default_service_restrictions' => $service_class, + 'admin' => $admin, + 'site_name' => (($site_name) ? $site_name : ''), + 'platform' => PLATFORM_NAME, + 'dbdriver' => $db->getdriver(), + 'lastpoll' => get_config('system','lastpoll'), + 'info' => (($site_info) ? $site_info : ''), + 'channels_total' => $channels_total_stat, + 'channels_active_halfyear' => $channels_active_halfyear_stat, + 'channels_active_monthly' => $channels_active_monthly_stat, + 'local_posts' => $local_posts_stat, + 'hide_in_statistics' => $hide_in_statistics + ); + return $data; +} + + + +function check_siteallowed($url) { + + $retvalue = true; + + + $arr = array('url' => $url); + call_hooks('check_siteallowed',$arr); + + if(array_key_exists('allowed',$arr)) + return $arr['allowed']; + + $bl1 = get_config('system','whitelisted_sites'); + if(is_array($bl1) && $bl1) { + foreach($bl1 as $bl) { + if($bl1 === '*') + $retvalue = true; + if($bl && strpos($url,$bl) !== false) + return true; + } + } + $bl1 = get_config('system','blacklisted_sites'); + if(is_array($bl1) && $bl1) { + foreach($bl1 as $bl) { + if($bl1 === '*') + $retvalue = false; + if($bl && strpos($url,$bl) !== false) { + return false; + } + } + } + return $retvalue; +} + +function check_channelallowed($hash) { + + $retvalue = true; + + $arr = array('hash' => $hash); + call_hooks('check_channelallowed',$arr); + + if(array_key_exists('allowed',$arr)) + return $arr['allowed']; + + $bl1 = get_config('system','whitelisted_channels'); + if(is_array($bl1) && $bl1) { + foreach($bl1 as $bl) { + if($bl1 === '*') + $retvalue = true; + if($bl && strpos($hash,$bl) !== false) + return true; + } + } + $bl1 = get_config('system','blacklisted_channels'); + if(is_array($bl1) && $bl1) { + foreach($bl1 as $bl) { + if($bl1 === '*') + $retvalue = false; + if($bl && strpos($hash,$bl) !== false) { + return false; + } + } + } + return $retvalue; +} + +function deliverable_singleton($xchan) { + $r = q("select abook_instance from abook where abook_xchan = '%s' limit 1", + dbesc($xchan['xchan_hash']) + ); + if($r) { + if(! $r[0]['abook_instance']) + return true; + if(strpos($r[0]['abook_instance'],z_root()) !== false) + return true; + } + return false; +} + diff --git a/include/notifier.php b/include/notifier.php index b7830285a..66b6160e4 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -57,6 +57,8 @@ require_once('include/html2plain.php'); * purge_all channel_id * expire channel_id * relay item_id (item was relayed to owner, we will deliver it as owner) + * single_activity item_id (deliver to a singleton network from the appropriate clone) + * single_mail mail_id (deliver to a singleton network from the appropriate clone) * location channel_id * request channel_id xchan_hash message_id * rating xlink_id diff --git a/include/oauth.php b/include/oauth.php index 80336f906..4e5e4ecf8 100644 --- a/include/oauth.php +++ b/include/oauth.php @@ -1,4 +1,5 @@ <?php /** @file */ + /** * OAuth server * Based on oauth2-php <http://code.google.com/p/oauth2-php/> @@ -9,16 +10,17 @@ define('REQUEST_TOKEN_DURATION', 300); define('ACCESS_TOKEN_DURATION', 31536000); require_once("library/OAuth1.php"); -require_once("library/oauth2-php/lib/OAuth2.inc"); -class FKOAuthDataStore extends OAuthDataStore { - function gen_token(){ +//require_once("library/oauth2-php/lib/OAuth2.inc"); + +class ZotOAuthDataStore extends OAuthDataStore { + + function gen_token(){ return md5(base64_encode(pack('N6', mt_rand(), mt_rand(), mt_rand(), mt_rand(), mt_rand(), uniqid()))); - } + } - function lookup_consumer($consumer_key) { - logger(__function__.":".$consumer_key); -// echo "<pre>"; var_dump($consumer_key); killme(); + function lookup_consumer($consumer_key) { + logger('consumer_key: ' . $consumer_key, LOGGER_DEBUG); $r = q("SELECT client_id, pw, redirect_uri FROM clients WHERE client_id = '%s'", dbesc($consumer_key) @@ -29,10 +31,11 @@ class FKOAuthDataStore extends OAuthDataStore { return new OAuthConsumer($r[0]['client_id'],$r[0]['pw'],$r[0]['redirect_uri']); } return null; - } + } - function lookup_token($consumer, $token_type, $token) { - logger(__function__.":".$consumer.", ". $token_type.", ".$token); + function lookup_token($consumer, $token_type, $token) { + + logger(__function__.":".$consumer.", ". $token_type.", ".$token, LOGGER_DEBUG); $r = q("SELECT id, secret, scope, expires, uid FROM tokens WHERE client_id = '%s' AND scope = '%s' AND id = '%s'", dbesc($consumer->key), @@ -48,10 +51,9 @@ class FKOAuthDataStore extends OAuthDataStore { return $ot; } return null; - } + } - function lookup_nonce($consumer, $token, $nonce, $timestamp) { -// echo __file__.":".__line__."<pre>"; var_dump($consumer,$key); killme(); + function lookup_nonce($consumer, $token, $nonce, $timestamp) { $r = q("SELECT id, secret FROM tokens WHERE client_id = '%s' AND id = '%s' AND expires = %d", dbesc($consumer->key), @@ -62,10 +64,12 @@ class FKOAuthDataStore extends OAuthDataStore { if (count($r)) return new OAuthToken($r[0]['id'],$r[0]['secret']); return null; - } + } + + function new_request_token($consumer, $callback = null) { + + logger(__function__.":".$consumer.", ". $callback, LOGGER_DEBUG); - function new_request_token($consumer, $callback = null) { - logger(__function__.":".$consumer.", ". $callback); $key = $this->gen_token(); $sec = $this->gen_token(); @@ -82,29 +86,31 @@ class FKOAuthDataStore extends OAuthDataStore { 'request', time()+intval(REQUEST_TOKEN_DURATION)); - if (!$r) return null; + if(! $r) + return null; return new OAuthToken($key,$sec); - } + } - function new_access_token($token, $consumer, $verifier = null) { - logger(__function__.":".$token.", ". $consumer.", ". $verifier); - - // return a new access token attached to this consumer - // for the user associated with this token if the request token - // is authorized - // should also invalidate the request token - - $ret=Null; + function new_access_token($token, $consumer, $verifier = null) { + + logger(__function__.":".$token.", ". $consumer.", ". $verifier, LOGGER_DEBUG); - // get user for this verifier - $uverifier = get_config("oauth", $verifier); - logger(__function__.":".$verifier.",".$uverifier); - if (is_null($verifier) || ($uverifier!==false)){ + // return a new access token attached to this consumer + // for the user associated with this token if the request token + // is authorized + // should also invalidate the request token + + $ret=Null; + + // get user for this verifier + $uverifier = get_config("oauth", $verifier); + logger(__function__.":".$verifier.",".$uverifier, LOGGER_DEBUG); + if (is_null($verifier) || ($uverifier!==false)) { - $key = $this->gen_token(); - $sec = $this->gen_token(); + $key = $this->gen_token(); + $sec = $this->gen_token(); - $r = q("INSERT INTO tokens (id, secret, client_id, scope, expires, uid) VALUES ('%s','%s','%s','%s', %d, %d)", + $r = q("INSERT INTO tokens (id, secret, client_id, scope, expires, uid) VALUES ('%s','%s','%s','%s', %d, %d)", dbesc($key), dbesc($sec), dbesc($consumer->key), @@ -112,81 +118,70 @@ class FKOAuthDataStore extends OAuthDataStore { time()+intval(ACCESS_TOKEN_DURATION), intval($uverifier)); - if ($r) - $ret = new OAuthToken($key,$sec); - } + if ($r) + $ret = new OAuthToken($key,$sec); + } - q("DELETE FROM tokens WHERE id='%s'", $token->key); + q("DELETE FROM tokens WHERE id='%s'", $token->key); - if (!is_null($ret) && $uverifier!==false){ - del_config("oauth", $verifier); - /* $apps = get_pconfig($uverifier, "oauth", "apps"); - if ($apps===false) $apps=array(); - $apps[] = $consumer->key; - set_pconfig($uverifier, "oauth", "apps", $apps);*/ + if (!is_null($ret) && $uverifier!==false) { + del_config("oauth", $verifier); + + // $apps = get_pconfig($uverifier, "oauth", "apps"); + // if ($apps===false) $apps=array(); + // $apps[] = $consumer->key; + // set_pconfig($uverifier, "oauth", "apps", $apps); + } + return $ret; } - - return $ret; - - } } -class FKOAuth1 extends OAuthServer { +class ZotOAuth1 extends OAuthServer { function __construct() { - parent::__construct(new FKOAuthDataStore()); + parent::__construct(new ZotOAuthDataStore()); $this->add_signature_method(new OAuthSignatureMethod_PLAINTEXT()); $this->add_signature_method(new OAuthSignatureMethod_HMAC_SHA1()); } function loginUser($uid){ - logger("RedOAuth1::loginUser $uid"); - $a = get_app(); + + logger("ZotOAuth1::loginUser $uid"); + $r = q("SELECT * FROM channel WHERE channel_id = %d LIMIT 1", intval($uid) ); if(count($r)){ $record = $r[0]; } else { - logger('FKOAuth1::loginUser failure: ' . print_r($_SERVER,true), LOGGER_DEBUG); - header('HTTP/1.0 401 Unauthorized'); - die('This api requires login'); + logger('ZotOAuth1::loginUser failure: ' . print_r($_SERVER,true), LOGGER_DEBUG); + header('HTTP/1.0 401 Unauthorized'); + echo('This api requires login'); + killme(); } $_SESSION['uid'] = $record['channel_id']; - $_SESSION['theme'] = $record['channel_theme']; - $_SESSION['account_id'] = $record['channel_account_id']; - $_SESSION['mobile_theme'] = get_pconfig($record['channel_id'], 'system', 'mobile_theme'); - $_SESSION['authenticated'] = 1; - $_SESSION['my_url'] = $a->get_baseurl() . '/channel/' . $record['channel_address']; $_SESSION['addr'] = $_SERVER['REMOTE_ADDR']; - $_SESSION['allow_api'] = true; + $x = q("select * from account where account_id = %d limit 1", intval($record['channel_account_id']) ); - if($x) - $a->account = $x[0]; - - change_channel($record['channel_id']); - - $a->channel = $record; - - if(strlen($a->channel['channel_timezone'])) { - date_default_timezone_set($a->channel['channel_timezone']); + if($x) { + require_once('include/security.php'); + authenticate_success($x[0],true,false,true,true); + $_SESSION['allow_api'] = true; } - -// q("UPDATE `user` SET `login_date` = '%s' WHERE `uid` = %d LIMIT 1", -// dbesc(datetime_convert()), -// intval($_SESSION['uid']) -// ); -// -// call_hooks('logged_in', $a->user); } } + /* + * + + not yet used + class FKOAuth2 extends OAuth2 { private function db_secret($client_secret){ diff --git a/include/plugin.php b/include/plugin.php index 8749f3fbf..1f4d60736 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -495,6 +495,15 @@ function format_css_if_exists($source) { return '<link rel="stylesheet" href="' . script_path() . '/' . $path . '" type="text/css" media="' . $source[1] . '">' . "\r\n"; } +/* + * This basically calculates the baseurl. We have other functions to do that, but + * there was an issue with script paths and mixed-content whose details are arcane + * and perhaps lost in the message archives. The short answer is that we're ignoring + * the URL which we are "supposed" to use, and generating script paths relative to + * the URL which we are currently using; in order to ensure they are found and aren't + * blocked due to mixed content issues. + */ + function script_path() { if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS']) $scheme = 'https'; @@ -616,3 +625,14 @@ function get_markup_template($s, $root = '') { $template = $t->get_markup_template($s, $root); return $template; } + +// return the standardised version. Since we can't easily compare +// before the STD_VERSION definition was applied, we have to treat +// all prior release versions the same. You can dig through them +// with other means (such as RED_VERSION) if necessary. + +function get_std_version() { + if(defined('STD_VERSION')) + return STD_VERSION; + return '0.0.0'; +} diff --git a/include/security.php b/include/security.php index 9a25d9e0e..d4ebe0024 100644 --- a/include/security.php +++ b/include/security.php @@ -93,6 +93,7 @@ function change_channel($change_channel) { $ret = false; if($change_channel) { + $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_account_id = %d and channel_removed = 0 limit 1", intval($change_channel), intval(get_account_id()) @@ -136,14 +137,14 @@ function change_channel($change_channel) { } /** - * @brief Creates an addiontal SQL where statement to check permissions. + * @brief Creates an additional SQL where statement to check permissions. * * @param int $owner_id - * @param bool $remote_verified default false, not used at all - * @param string $groups this param is not used at all + * @param bool $remote_observer - if unset use current observer * * @return string additional SQL where statement */ + function permissions_sql($owner_id, $remote_observer = null) { $local_channel = local_channel(); @@ -208,8 +209,7 @@ function permissions_sql($owner_id, $remote_observer = null) { * @brief Creates an addiontal SQL where statement to check permissions for an item. * * @param int $owner_id - * @param bool $remote_verified default false, not used at all - * @param string $groups this param is not used at all + * @param bool $remote_observer, use current observer if unset * * @return string additional SQL where statement */ @@ -400,11 +400,9 @@ function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'f } -// Returns an array of group id's this contact is a member of. -// This array will only contain group id's related to the uid of this -// DFRN contact. They are *not* neccessarily unique across the entire site. +// Returns an array of group hash id's on this entire site (across all channels) that this connection is a member of. +// var $contact_id = xchan_hash of connection -if(! function_exists('init_groups_visitor')) { function init_groups_visitor($contact_id) { $groups = array(); $r = q("SELECT hash FROM `groups` left join group_member on groups.id = group_member.gid WHERE xchan = '%s' ", @@ -415,7 +413,7 @@ function init_groups_visitor($contact_id) { $groups[] = $rr['hash']; } return $groups; -}} +} diff --git a/include/widgets.php b/include/widgets.php index a3f7444ec..4b14d6c94 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -666,7 +666,7 @@ function widget_eventsmenu($arr) { if (! local_channel()) return; - return replace_macros(get_markup_template('events_side.tpl'), array( + return replace_macros(get_markup_template('events_menu_side.tpl'), array( '$title' => t('Events Menu'), '$day' => t('Day View'), '$week' => t('Week View'), @@ -677,6 +677,18 @@ function widget_eventsmenu($arr) { )); } +function widget_eventstools($arr) { + if (! local_channel()) + return; + + return replace_macros(get_markup_template('events_tools_side.tpl'), array( + '$title' => t('Events Tools'), + '$export' => t('Export Calendar'), + '$import' => t('Import Calendar'), + '$submit' => t('Submit') + )); +} + function widget_design_tools($arr) { $a = get_app(); @@ -1136,7 +1148,7 @@ function widget_forums($arr) { foreach($r1 as $rr) { if($unseen && (! intval($rr['unseen']))) continue; - $o .= '<li><span class="pull-right">' . ((intval($rr['unseen'])) ? intval($rr['unseen']) : '') . '</span><a href="network?f=&pf=1&cid=' . $rr['abook_id'] . '" ><img src="' . $rr['xchan_photo_s'] . '" style="width: 16px; height: 16px;" /> ' . $rr['xchan_name'] . '</a></li>'; + $o .= '<li><a href="network?f=&pf=1&cid=' . $rr['abook_id'] . '" ><span class="badge pull-right">' . ((intval($rr['unseen'])) ? intval($rr['unseen']) : '') . '</span><img src="' . $rr['xchan_photo_s'] . '" style="width: 16px; height: 16px;" /> ' . $rr['xchan_name'] . '</a></li>'; } $o .= '</ul></div>'; } @@ -1147,6 +1159,8 @@ function widget_forums($arr) { function widget_tasklist($arr) { + if (! local_channel()) + return; require_once('include/event.php'); $o .= '<script>var tasksShowAll = 0; $(document).ready(function() { tasksFetch(); $("#tasklist-new-form").submit(function(event) { event.preventDefault(); $.post( "tasks/new", $("#tasklist-new-form").serialize(), function(data) { tasksFetch(); $("#tasklist-new-summary").val(""); } ); return false; } )});</script>'; @@ -1285,7 +1299,6 @@ function widget_album($args) { //edit album name $album_edit = null; - $photos = array(); if($r) { $twist = 'rotright'; @@ -1324,6 +1337,7 @@ function widget_album($args) { $o .= replace_macros($tpl, array( '$photos' => $photos, '$album' => (($title) ? $title : $album), + '$album_id' => rand(), '$album_edit' => array(t('Edit Album'), $album_edit), '$can_post' => false, '$upload' => array(t('Upload'), z_root() . '/photos/' . get_app()->profile['channel_address'] . '/upload/' . bin2hex($album)), diff --git a/include/zot.php b/include/zot.php index c0d537eb9..390407e4e 100644 --- a/include/zot.php +++ b/include/zot.php @@ -554,18 +554,8 @@ function zot_gethub($arr,$multiple = false) { if($arr['guid'] && $arr['guid_sig'] && $arr['url'] && $arr['url_sig']) { - $blacklisted = false; - $bl1 = get_config('system','blacklisted_sites'); - if(is_array($bl1) && $bl1) { - foreach($bl1 as $bl) { - if($bl && strpos($arr['url'],$bl) !== false) { - $blacklisted = true; - break; - } - } - } - if($blacklisted) { - logger('zot_gethub: blacklisted site: ' . $arr['url']); + if(! check_siteallowed($arr['url'])) { + logger('blacklisted site: ' . $arr['url']); return null; } @@ -1246,6 +1236,10 @@ function zot_import($arr, $sender_url) { $no_dups = array(); if($deliveries) { foreach($deliveries as $d) { + if(! is_array($d)) { + logger('Delivery hash array is not an array: ' . print_r($d,true)); + continue; + } if(! in_array($d['hash'],$no_dups)) $no_dups[] = $d['hash']; } @@ -1617,6 +1611,14 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $ $channel = $r[0]; $DR->addto_recipient($channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>'); + /* blacklisted channels get a permission denied, no special message to tip them off */ + + if(! check_channelallowed($sender['hash'])) { + $DR->update('permission denied'); + $result[] = $DR->get(); + continue; + } + /** * @FIXME: Somehow we need to block normal message delivery from our clones, as the delivered * message doesn't have ACL information in it as the cloned copy does. That copy @@ -2088,6 +2090,14 @@ function process_mail_delivery($sender, $arr, $deliveries) { $channel = $r[0]; $DR->addto_recipient($channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>'); + /* blacklisted channels get a permission denied, no special message to tip them off */ + + if(! check_channelallowed($sender['hash'])) { + $DR->update('permission denied'); + $result[] = $DR->get(); + continue; + } + if(! perm_is_allowed($channel['channel_id'],$sender['hash'],'post_mail')) { logger("permission denied for mail delivery {$channel['channel_id']}"); $DR->update('permission denied'); @@ -3484,13 +3494,13 @@ function import_author_zot($x) { * @param array $data * @return array */ -function zot_process_message_request($data) { +function zot_reply_message_request($data) { $ret = array('success' => false); if (! $data['message_id']) { $ret['message'] = 'no message_id'; logger('no message_id'); - return $ret; + json_return_and_die($ret); } $sender = $data['sender']; @@ -3508,7 +3518,7 @@ function zot_process_message_request($data) { if (! $c) { logger('recipient channel not found.'); $ret['message'] .= 'recipient not found.' . EOL; - return $ret; + json_return_and_die($ret); } /* @@ -3526,7 +3536,7 @@ function zot_process_message_request($data) { ); if (! $r) { logger('no hubs'); - return $ret; + json_return_and_die($ret); } $hubs = $r; @@ -3567,8 +3577,7 @@ function zot_process_message_request($data) { } } $ret['success'] = true; - - return $ret; + json_return_and_die($ret); } @@ -3789,6 +3798,7 @@ function zotinfo($arr) { $ret['site'] = array(); $ret['site']['url'] = z_root(); $ret['site']['url_sig'] = base64url_encode(rsa_sign(z_root(),$e['channel_prvkey'])); + $ret['site']['zot_auth'] = z_root() . '/magic'; $dirmode = get_config('system','directory_mode'); if(($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL)) @@ -3979,3 +3989,421 @@ function delivery_report_is_storable($dr) { } + +function update_hub_connected($hub,$sitekey = '') { + + if($sitekey) { + + /* + * This hub has now been proven to be valid. + * Any hub with the same URL and a different sitekey cannot be valid. + * Get rid of them (mark them deleted). There's a good chance they were re-installs. + */ + + q("update hubloc set hubloc_deleted = 1, hubloc_error = 1 where hubloc_url = '%s' and hubloc_sitekey != '%s' ", + dbesc($hub['hubloc_url']), + dbesc($sitekey) + ); + + } + else { + $sitekey = $hub['sitekey']; + } + + // $sender['sitekey'] is a new addition to the protcol to distinguish + // hublocs coming from re-installed sites. Older sites will not provide + // this field and we have to still mark them valid, since we can't tell + // if this hubloc has the same sitekey as the packet we received. + + + // Update our DB to show when we last communicated successfully with this hub + // This will allow us to prune dead hubs from using up resources + + $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d and hubloc_sitekey = '%s' ", + dbesc(datetime_convert()), + intval($hub['hubloc_id']), + dbesc($sitekey) + ); + + // a dead hub came back to life - reset any tombstones we might have + + if(intval($hub['hubloc_error'])) { + q("update hubloc set hubloc_error = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ", + intval($hub['hubloc_id']), + dbesc($sitekey) + ); + if(intval($r[0]['hubloc_orphancheck'])) { + q("update hubloc set hubloc_orhpancheck = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ", + intval($hub['hubloc_id']), + dbesc($sitekey) + ); + } + q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'", + dbesc($hub['hubloc_hash']) + ); + } + + return $hub['hubloc_url']; +} + + +function zot_reply_ping() { + + $ret = array('success'=> false); + + // Useful to get a health check on a remote site. + // This will let us know if any important communication details + // that we may have stored are no longer valid, regardless of xchan details. + logger('POST: got ping send pong now back: ' . z_root() , LOGGER_DEBUG ); + + $ret['success'] = true; + $ret['site'] = array(); + $ret['site']['url'] = z_root(); + $ret['site']['url_sig'] = base64url_encode(rsa_sign(z_root(),get_config('system','prvkey'))); + $ret['site']['sitekey'] = get_config('system','pubkey'); + json_return_and_die($ret); +} + +function zot_reply_pickup($data) { + + $ret = array('success'=> false); + + /* + * The 'pickup' message arrives with a tracking ID which is associated with a particular outq_hash + * First verify that that the returned signatures verify, then check that we have an outbound queue item + * with the correct hash. + * If everything verifies, find any/all outbound messages in the queue for this hubloc and send them back + */ + + if((! $data['secret']) || (! $data['secret_sig'])) { + $ret['message'] = 'no verification signature'; + logger('mod_zot: pickup: ' . $ret['message'], LOGGER_DEBUG); + json_return_and_die($ret); + } + + $r = q("select distinct hubloc_sitekey from hubloc where hubloc_url = '%s' and hubloc_callback = '%s' and hubloc_sitekey != '' group by hubloc_sitekey ", + dbesc($data['url']), + dbesc($data['callback']) + ); + if(! $r) { + $ret['message'] = 'site not found'; + logger('mod_zot: pickup: ' . $ret['message']); + json_return_and_die($ret); + } + + foreach ($r as $hubsite) { + + // verify the url_sig + // If the server was re-installed at some point, there could be multiple hubs with the same url and callback. + // Only one will have a valid key. + + $forgery = true; + $secret_fail = true; + + $sitekey = $hubsite['hubloc_sitekey']; + + logger('mod_zot: Checking sitekey: ' . $sitekey, LOGGER_DATA); + + if(rsa_verify($data['callback'],base64url_decode($data['callback_sig']),$sitekey)) { + $forgery = false; + } + if(rsa_verify($data['secret'],base64url_decode($data['secret_sig']),$sitekey)) { + $secret_fail = false; + } + if((! $forgery) && (! $secret_fail)) + break; + } + + if($forgery) { + $ret['message'] = 'possible site forgery'; + logger('mod_zot: pickup: ' . $ret['message']); + json_return_and_die($ret); + } + + if($secret_fail) { + $ret['message'] = 'secret validation failed'; + logger('mod_zot: pickup: ' . $ret['message']); + json_return_and_die($ret); + } + + /* + * If we made it to here, the signatures verify, but we still don't know if the tracking ID is valid. + * It wouldn't be an error if the tracking ID isn't found, because we may have sent this particular + * queue item with another pickup (after the tracking ID for the other pickup was verified). + */ + + $r = q("select outq_posturl from outq where outq_hash = '%s' and outq_posturl = '%s' limit 1", + dbesc($data['secret']), + dbesc($data['callback']) + ); + if(! $r) { + $ret['message'] = 'nothing to pick up'; + logger('mod_zot: pickup: ' . $ret['message']); + json_return_and_die($ret); + } + + /* + * Everything is good if we made it here, so find all messages that are going to this location + * and send them all. + */ + + $r = q("select * from outq where outq_posturl = '%s'", + dbesc($data['callback']) + ); + if($r) { + logger('mod_zot: successful pickup message received from ' . $data['callback'] . ' ' . count($r) . ' message(s) picked up', LOGGER_DEBUG); + + $ret['success'] = true; + $ret['pickup'] = array(); + foreach($r as $rr) { + if($rr['outq_msg']) { + $x = json_decode($rr['outq_msg'],true); + + if(! $x) + continue; + + if(array_key_exists('message_list',$x)) { + foreach($x['message_list'] as $xx) { + $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $xx); + } + } + else + $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $x); + $x = q("delete from outq where outq_hash = '%s'", + dbesc($rr['outq_hash']) + ); + } + } + } + + $encrypted = crypto_encapsulate(json_encode($ret),$sitekey); + json_return_and_die($encrypted); + + /* pickup: end */ +} + + + +function zot_reply_auth_check($data,$encrypted_packet) { + + $ret = array('success' => false); + + /* + * Requestor visits /magic/?dest=somewhere on their own site with a browser + * magic redirects them to $destsite/post [with auth args....] + * $destsite sends an auth_check packet to originator site + * The auth_check packet is handled here by the originator's site + * - the browser session is still waiting + * inside $destsite/post for everything to verify + * If everything checks out we'll return a token to $destsite + * and then $destsite will verify the token, authenticate the browser + * session and then redirect to the original destination. + * If authentication fails, the redirection to the original destination + * will still take place but without authentication. + */ + logger('mod_zot: auth_check', LOGGER_DEBUG); + + if (! $encrypted_packet) { + logger('mod_zot: auth_check packet was not encrypted.'); + $ret['message'] .= 'no packet encryption' . EOL; + json_return_and_die($ret); + } + + $arr = $data['sender']; + $sender_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']); + + // garbage collect any old unused notifications + + // This was and should be 10 minutes but my hosting provider has time lag between the DB and + // the web server. We should probably convert this to webserver time rather than DB time so + // that the different clocks won't affect it and allow us to keep the time short. + + q("delete from verify where type = 'auth' and created < %s - INTERVAL %s", + db_utcnow(), db_quoteinterval('30 MINUTE') + ); + + $y = q("select xchan_pubkey from xchan where xchan_hash = '%s' limit 1", + dbesc($sender_hash) + ); + + // We created a unique hash in mod/magic.php when we invoked remote auth, and stored it in + // the verify table. It is now coming back to us as 'secret' and is signed by a channel at the other end. + // First verify their signature. We will have obtained a zot-info packet from them as part of the sender + // verification. + + if ((! $y) || (! rsa_verify($data['secret'], base64url_decode($data['secret_sig']),$y[0]['xchan_pubkey']))) { + logger('mod_zot: auth_check: sender not found or secret_sig invalid.'); + $ret['message'] .= 'sender not found or sig invalid ' . print_r($y,true) . EOL; + json_return_and_die($ret); + } + + // There should be exactly one recipient, the original auth requestor + + $ret['message'] .= 'recipients ' . print_r($recipients,true) . EOL; + + if ($data['recipients']) { + + $arr = $data['recipients'][0]; + $recip_hash = make_xchan_hash($arr['guid'], $arr['guid_sig']); + $c = q("select channel_id, channel_account_id, channel_prvkey from channel where channel_hash = '%s' limit 1", + dbesc($recip_hash) + ); + if (! $c) { + logger('mod_zot: auth_check: recipient channel not found.'); + $ret['message'] .= 'recipient not found.' . EOL; + json_return_and_die($ret); + } + + $confirm = base64url_encode(rsa_sign($data['secret'] . $recip_hash,$c[0]['channel_prvkey'])); + + // This additionally checks for forged sites since we already stored the expected result in meta + // and we've already verified that this is them via zot_gethub() and that their key signed our token + + $z = q("select id from verify where channel = %d and type = 'auth' and token = '%s' and meta = '%s' limit 1", + intval($c[0]['channel_id']), + dbesc($data['secret']), + dbesc($data['sender']['url']) + ); + if (! $z) { + logger('mod_zot: auth_check: verification key not found.'); + $ret['message'] .= 'verification key not found' . EOL; + json_return_and_die($ret); + } + $r = q("delete from verify where id = %d", + intval($z[0]['id']) + ); + + $u = q("select account_service_class from account where account_id = %d limit 1", + intval($c[0]['channel_account_id']) + ); + + logger('mod_zot: auth_check: success', LOGGER_DEBUG); + $ret['success'] = true; + $ret['confirm'] = $confirm; + if ($u && $u[0]['account_service_class']) + $ret['service_class'] = $u[0]['account_service_class']; + + // Set "do not track" flag if this site or this channel's profile is restricted + // in some way + + if (intval(get_config('system','block_public'))) + $ret['DNT'] = true; + if (! perm_is_allowed($c[0]['channel_id'],'','view_profile')) + $ret['DNT'] = true; + if (get_pconfig($c[0]['channel_id'],'system','do_not_track')) + $ret['DNT'] = true; + if (get_pconfig($c[0]['channel_id'],'system','hide_online_status')) + $ret['DNT'] = true; + + json_return_and_die($ret); + } + json_return_and_die($ret); +} + + +function zot_reply_purge($sender,$recipients) { + + $ret = array('success' => false); + + if ($recipients) { + // basically this means "unfriend" + foreach ($recipients as $recip) { + $r = q("select channel.*,xchan.* from channel + left join xchan on channel_hash = xchan_hash + where channel_guid = '%s' and channel_guid_sig = '%s' limit 1", + dbesc($recip['guid']), + dbesc($recip['guid_sig']) + ); + if ($r) { + $r = q("select abook_id from abook where uid = %d and abook_xchan = '%s' limit 1", + intval($r[0]['channel_id']), + dbesc(make_xchan_hash($sender['guid'],$sender['guid_sig'])) + ); + if ($r) { + contact_remove($r[0]['channel_id'],$r[0]['abook_id']); + } + } + } + $ret['success'] = true; + } + else { + // Unfriend everybody - basically this means the channel has committed suicide + $arr = $sender; + $sender_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']); + + require_once('include/Contact.php'); + remove_all_xchan_resources($sender_hash); + + $ret['success'] = true; + } + + json_return_and_die($ret); +} + + +function zot_reply_refresh($sender,$recipients) { + + $ret = array('success' => false); + + // remote channel info (such as permissions or photo or something) + // has been updated. Grab a fresh copy and sync it. + // The difference between refresh and force_refresh is that + // force_refresh unconditionally creates a directory update record, + // even if no changes were detected upon processing. + + if($recipients) { + + // This would be a permissions update, typically for one connection + + foreach ($recipients as $recip) { + $r = q("select channel.*,xchan.* from channel + left join xchan on channel_hash = xchan_hash + where channel_guid = '%s' and channel_guid_sig = '%s' limit 1", + dbesc($recip['guid']), + dbesc($recip['guid_sig']) + ); + + $x = zot_refresh(array( + 'xchan_guid' => $sender['guid'], + 'xchan_guid_sig' => $sender['guid_sig'], + 'hubloc_url' => $sender['url'] + ), $r[0], (($msgtype === 'force_refresh') ? true : false)); + } + } + else { + // system wide refresh + + $x = zot_refresh(array( + 'xchan_guid' => $sender['guid'], + 'xchan_guid_sig' => $sender['guid_sig'], + 'hubloc_url' => $sender['url'] + ), null, (($msgtype === 'force_refresh') ? true : false)); + } + + $ret['success'] = true; + json_return_and_die($ret); + +} + + +function zot_reply_notify($data) { + + $ret = array('success' => false); + + logger('notify received from ' . $data['sender']['url']); + + $async = get_config('system','queued_fetch'); + + if($async) { + // add to receive queue + // qreceive_add($data); + } + else { + $x = zot_fetch($data); + $ret['delivery_report'] = $x; + } + + $ret['success'] = true; + json_return_and_die($ret); + +}
\ No newline at end of file diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index 3dab6c822..9c24cbd94 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -23,6 +23,7 @@ CREATE TABLE IF NOT EXISTS `abook` ( `abook_profile` char(64) NOT NULL DEFAULT '', `abook_incl` TEXT NOT NULL DEFAULT '', `abook_excl` TEXT NOT NULL DEFAULT '', + `abook_instance` TEXT NOT NULL DEFAULT '', PRIMARY KEY (`abook_id`), KEY `abook_account` (`abook_account`), KEY `abook_channel` (`abook_channel`), diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index 95ed9acb7..0214c0c2a 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -22,6 +22,7 @@ CREATE TABLE "abook" ( "abook_profile" char(64) NOT NULL DEFAULT '', "abook_incl" TEXT NOT NULL DEFAULT '', "abook_excl" TEXT NOT NULL DEFAULT '', + "abook_instance" TEXT NOT NULL DEFAULT '', PRIMARY KEY ("abook_id") ); create index "abook_account" on abook ("abook_account"); diff --git a/install/update.php b/install/update.php index 10ae6725e..24f4f21d5 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1160 ); +define( 'UPDATE_VERSION' , 1161 ); /** * @@ -1950,3 +1950,10 @@ function update_r1159() { } +function update_r1160() { + $r = q("alter table abook add abook_instance text not null default '' "); + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} + diff --git a/library/Smarty/NEW_FEATURES.txt b/library/Smarty/NEW_FEATURES.txt new file mode 100644 index 000000000..67d391a52 --- /dev/null +++ b/library/Smarty/NEW_FEATURES.txt @@ -0,0 +1,128 @@ + + +This file contains a brief description of new features which have been added to Smarty 3.1 + +Smarty 3.1.28 + + OPCACHE + ======= + Smarty does now invalidate automatically updated and cleared compiled or cached template files in OPCACHE. + Correct operation is no longer dependent on OPCACHE configuration settings. + + Template inheritance + ==================== + Template inheritance is now processed in run time. + See the INHERITANCE_RELEASE_NOTES + + Modifier regex_replace + ====================== + An optional limit parameter was added + + fetch() and display() + ===================== + The fetch() and display() methods of the template object accept now optionally the same parameter + as the corresponding Smarty methods the get tne content of another template. + + File: resource + ============== + Multiple template_dir entries can now be selected by a comma separated list of indices. + The template_dir array is searched in the order of the indices. (could be used to change the default search order) + + Filter support + ============== + Optional filter names + An optional filter name was added to $smarty->registerFilter(). It can be used to unregister a filter by name. + - $smarty->registerFilter('output', $callback, 'name'); + $smarty->unregister('output', 'name'); + + Closures + $smarty->registerFilter() does now accept closures. + - $smarty->registerFilter('pre', function($source) {return $source;}); + If no optional filter name was specified it gets the default name 'closure'. + If you register multiple closures register each with a unique filter name. + - $smarty->registerFilter('pre', function($source) {return $source;}, 'clousre_1'); + - $smarty->registerFilter('pre', function($source) {return $source;}, 'clousre_2'); + + +Smarty 3.1.22 + + Namespace support within templates + ================================== + Within templates you can now use namespace specifications on: + - Constants like foo\bar\FOO + - Class names like foo\bar\Baz::FOO, foo\bar\Baz::$foo, foo\bar\Baz::foo() + - PHP function names like foo\bar\baz() + + Security + ======== + - disable special $smarty variable - + The Smarty_Security class has the new property $disabled_special_smarty_vars. + It's an array which can be loaded with the $smarty special variable names like + 'template_object', 'template', 'current_dir' and others which will be disabled. + Note: That this security check is performed at compile time. + + - limit template nesting - + Property $max_template_nesting of Smarty_Security does set the maximum template nesting level. + The main template is level 1. The nesting level is checked at run time. When the maximum will be exceeded + an Exception will be thrown. The default setting is 0 which does disable this check. + + - trusted static methods - + The Smarty_Security class has the new property $trusted_static_methods to restrict access to static methods. + It's an nested array of trusted class and method names. + Format: + array ( + 'class_1' => array('method_1', 'method_2'), // allowed methods + 'class_2' => array(), // all methods of class allowed + ) + To disable access for all methods of all classes set $trusted_static_methods = null; + The default value is an empty array() which does enables all methods of all classes, but for backward compatibility + the setting of $static_classes will be checked. + Note: That this security check is performed at compile time. + + - trusted static properties - + The Smarty_Security class has the new property $trusted_static_properties to restrict access to static properties. + It's an nested array of trusted class and property names. + Format: + array ( + 'class_1' => array('prop_1', 'prop_2'), // allowed properties listed + 'class_2' => array(), // all properties of class allowed + } + To disable access for all properties of all classes set $trusted_static_properties = null; + The default value is an empty array() which does enables all properties of all classes, but for backward compatibility + the setting of $static_classes will be checked. + Note: That this security check is performed at compile time. + + - trusted constants . + The Smarty_Security class has the new property $trusted_constants to restrict access to constants. + It's an array of trusted constant names. + Format: + array ( + 'SMARTY_DIR' , // allowed constant + } + If the array is empty (default) the usage of constants can be controlled with the + Smarty_Security::$allow_constants property (default true) + + + + Compiled Templates + ================== + Smarty does now automatically detects a change of the $merge_compiled_includes and $escape_html + property and creates different compiled templates files depending on the setting. + + Same applies to config files and the $config_overwrite, $config_booleanize and + $config_read_hidden properties. + + Debugging + ========= + The layout of the debug window has been changed for better readability + + New class constants + Smarty::DEBUG_OFF + Smarty::DEBUG_ON + Smarty::DEBUG_INDIVIDUAL + have been introduced for setting the $debugging property. + + Smarty::DEBUG_INDIVIDUAL will create for each display() and fetch() call an individual debug window. + + . +
\ No newline at end of file diff --git a/library/Smarty/README b/library/Smarty/README index 6367f030e..08b397c3f 100644 --- a/library/Smarty/README +++ b/library/Smarty/README @@ -1,4 +1,4 @@ -Smarty 3.1.21 +Smarty 3.x Author: Monte Ohrt <monte at ohrt dot com > Author: Uwe Tews @@ -460,12 +460,13 @@ included template. PLUGINS ======= -Smarty3 are following the same coding rules as in Smarty2. -The only difference is that the template object is passed as additional third parameter. +Smarty 3 plugins follow the same coding rules as in Smarty 2. +The main difference is that the template object is now passed in place of the smarty object. +The smarty object can be still be accessed through $template->smarty. -smarty_plugintype_name (array $params, object $smarty, object $template) +smarty_plugintype_name (array $params, Smarty_Internal_Template $template) -The Smarty 2 plugins are still compatible as long as they do not make use of specific Smarty2 internals. +The Smarty 2 plugins are still compatible as long as they do not make use of specific Smarty 2 internals. TEMPLATE INHERITANCE: diff --git a/library/Smarty/SMARTY_2_BC_NOTES.txt b/library/Smarty/SMARTY_2_BC_NOTES.txt deleted file mode 100644 index 79a2cb1b6..000000000 --- a/library/Smarty/SMARTY_2_BC_NOTES.txt +++ /dev/null @@ -1,109 +0,0 @@ -= Known incompatibilities with Smarty 2 = - -== Syntax == - -Smarty 3 API has a new syntax. Much of the Smarty 2 syntax is supported -by a wrapper but deprecated. See the README that comes with Smarty 3 for more -information. - -The {$array|@mod} syntax has always been a bit confusing, where an "@" is required -to apply a modifier to an array instead of the individual elements. Normally you -always want the modifier to apply to the variable regardless of its type. In Smarty 3, -{$array|mod} and {$array|@mod} behave identical. It is safe to drop the "@" and the -modifier will still apply to the array. If you really want the modifier to apply to -each array element, you must loop the array in-template, or use a custom modifier that -supports array iteration. Most smarty functions already escape values where necessary -such as {html_options} - -== PHP Version == -Smarty 3 is PHP 5 only. It will not work with PHP 4. - -== {php} Tag == -The {php} tag is disabled by default. The use of {php} tags is -deprecated. It can be enabled with $smarty->allow_php_tag=true. - -But if you scatter PHP code which belongs together into several -{php} tags it may not work any longer. - -== Delimiters and whitespace == -Delimiters surrounded by whitespace are no longer treated as Smarty tags. -Therefore, { foo } will not compile as a tag, you must use {foo}. This change -Makes Javascript/CSS easier to work with, eliminating the need for {literal}. -This can be disabled by setting $smarty->auto_literal = false; - -== Unquoted Strings == -Smarty 2 was a bit more forgiving (and ambiguous) when it comes to unquoted strings -in parameters. Smarty3 is more restrictive. You can still pass strings without quotes -so long as they contain no special characters. (anything outside of A-Za-z0-9_) - -For example filename strings must be quoted -<source lang="smarty"> -{include file='path/foo.tpl'} -</source> - -== Extending the Smarty class == -Smarty 3 makes use of the __construct method for initialization. If you are extending -the Smarty class, its constructor is not called implicitly if the your child class defines -its own constructor. In order to run Smarty's constructor, a call to parent::__construct() -within your child constructor is required. - -<source lang="php"> -class MySmarty extends Smarty { - function __construct() { - parent::__construct(); - - // your initialization code goes here - - } -} -</source> - -== Autoloader == -Smarty 3 does register its own autoloader with spl_autoload_register. If your code has -an existing __autoload function then this function must be explicitly registered on -the __autoload stack. See http://us3.php.net/manual/en/function.spl-autoload-register.php -for further details. - -== Plugin Filenames == -Smarty 3 optionally supports the PHP spl_autoloader. The autoloader requires filenames -to be lower case. Because of this, Smarty plugin file names must also be lowercase. -In Smarty 2, mixed case file names did work. - -== Scope of Special Smarty Variables == -In Smarty 2 the special Smarty variables $smarty.section... and $smarty.foreach... -had global scope. If you had loops with the same name in subtemplates you could accidentally -overwrite values of parent template. - -In Smarty 3 these special Smarty variable have only local scope in the template which -is defining the loop. If you need their value in a subtemplate you have to pass them -as parameter. -<source lang="smarty"> -{include file='path/foo.tpl' index=$smarty.section.foo.index} -</source> - -== SMARTY_RESOURCE_CHAR_SET == -Smarty 3 sets the constant SMARTY_RESOURCE_CHAR_SET to utf-8 as default template charset. -This is now used also on modifiers like escape as default charset. If your templates use -other charsets make sure that you define the constant accordingly. Otherwise you may not -get any output. - -== newline at {if} tags == -A \n was added to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source. -If one of the {if} tags is at the line end you will now get a newline in the HTML output. - -== trigger_error() == -The API function trigger_error() has been removed because it did just map to PHP trigger_error. -However it's still included in the Smarty2 API wrapper. - -== Smarty constants == -The constants -SMARTY_PHP_PASSTHRU -SMARTY_PHP_QUOTE -SMARTY_PHP_REMOVE -SMARTY_PHP_ALLOW -have been replaced with class constants -Smarty::PHP_PASSTHRU -Smarty::PHP_QUOTE -Smarty::PHP_REMOVE -Smarty::PHP_ALLOW - diff --git a/library/Smarty/SMARTY_3.0_BC_NOTES.txt b/library/Smarty/SMARTY_3.0_BC_NOTES.txt deleted file mode 100644 index fd8b540c2..000000000 --- a/library/Smarty/SMARTY_3.0_BC_NOTES.txt +++ /dev/null @@ -1,24 +0,0 @@ -== Smarty2 backward compatibility == -All Smarty2 specific API functions and deprecated functionallity has been moved -to the SmartyBC class. - -== {php} Tag == -The {php} tag is no longer available in the standard Smarty calls. -The use of {php} tags is deprecated and only available in the SmartyBC class. - -== {include_php} Tag == -The {include_php} tag is no longer available in the standard Smarty calls. -The use of {include_php} tags is deprecated and only available in the SmartyBC class. - -== php template resource == -The support of the php template resource is removed. - -== $cache_dir, $compile_dir, $config_dir, $template_dir access == -The mentioned properties can't be accessed directly any longer. You must use -corresponding getter/setters like addConfigDir(), setConfigDir(), getConfigDir() - -== obsolete Smarty class properties == -The following no longer used properties are removed: -$allow_php_tag -$allow_php_template -$deprecation_notices
\ No newline at end of file diff --git a/library/Smarty/SMARTY_3.1_NOTES.txt b/library/Smarty/SMARTY_3.1_NOTES.txt deleted file mode 100644 index 57709f0d7..000000000 --- a/library/Smarty/SMARTY_3.1_NOTES.txt +++ /dev/null @@ -1,306 +0,0 @@ -Smarty 3.1 Notes -================ - -Smarty 3.1 is a departure from 2.0 compatibility. Most notably, all -backward compatibility has been moved to a separate class file named -SmartyBC.class.php. If you require compatibility with 2.0, you will -need to use this class. - -Some differences from 3.0 are also present. 3.1 begins the journey of -requiring setters/getters for property access. So far this is only -implemented on the five directory properties: template_dir, -plugins_dir, configs_dir, compile_dir and cache_dir. These properties -are now protected, it is required to use the setters/getters instead. -That said, direct property access will still work, however slightly -slower since they will now fall through __set() and __get() and in -turn passed through the setter/getter methods. 3.2 will exhibit a full -list of setter/getter methods for all (currently) public properties, -so code-completion in your IDE will work as expected. - -There is absolutely no PHP allowed in templates any more. All -deprecated features of Smarty 2.0 are gone. Again, use the SmartyBC -class if you need any backward compatibility. - -Internal Changes - - Full UTF-8 Compatibility - -The plugins shipped with Smarty 3.1 have been rewritten to fully -support UTF-8 strings if Multibyte String is available. Without -MBString UTF-8 cannot be handled properly. For those rare cases where -templates themselves have to juggle encodings, the new modifiers -to_charset and from_charset may come in handy. - - Plugin API and Performance - -All Plugins (modifiers, functions, blocks, resources, -default_template_handlers, etc) are now receiving the -Smarty_Internal_Template instance, where they were supplied with the -Smarty instance in Smarty 3.0. *. As The Smarty_Internal_Template -mimics the behavior of Smarty, this API simplification should not -require any changes to custom plugins. - -The plugins shipped with Smarty 3.1 have been rewritten for better -performance. Most notably {html_select_date} and {html_select_time} -have been improved vastly. Performance aside, plugins have also been -reviewed and generalized in their API. {html_select_date} and -{html_select_time} now share almost all available options. - -The escape modifier now knows the $double_encode option, which will -prevent entities from being encoded again. - -The capitalize modifier now know the $lc_rest option, which makes sure -all letters following a captial letter are lower-cased. - -The count_sentences modifier now accepts (.?!) as -legitimate endings of a sentence - previously only (.) was -accepted - -The new unescape modifier is there to reverse the effects of the -escape modifier. This applies to the escape formats html, htmlall and -entity. - - default_template_handler_func - -The invocation of $smarty->$default_template_handler_func had to be -altered. Instead of a Smarty_Internal_Template, the fifth argument is -now provided with the Smarty instance. New footprint: - - -/** - * Default Template Handler - * - * called when Smarty's file: resource is unable to load a requested file - * - * @param string $type resource type (e.g. "file", "string", "eval", "resource") - * @param string $name resource name (e.g. "foo/bar.tpl") - * @param string &$content template's content - * @param integer &$modified template's modification time - * @param Smarty $smarty Smarty instance - * @return string|boolean path to file or boolean true if $content and $modified - * have been filled, boolean false if no default template - * could be loaded - */ -function default_template_handler_func($type, $name, &$content, &$modified, Smarty $smarty) { - if (false) { - // return corrected filepath - return "/tmp/some/foobar.tpl"; - } elseif (false) { - // return a template directly - $content = "the template source"; - $modified = time(); - return true; - } else { - // tell smarty that we failed - return false; - } -} - - Stuff done to the compiler - -Many performance improvements have happened internally. One notable -improvement is that all compiled templates are now handled as PHP -functions. This speeds up repeated templates tremendously, as each one -calls an (in-memory) PHP function instead of performing another file -include/scan. - -New Features - - Template syntax - - {block}..{/block} - -The {block} tag has a new hide option flag. It does suppress the block -content if no corresponding child block exists. -EXAMPLE: -parent.tpl -{block name=body hide} child content "{$smarty.block.child}" was -inserted {block} -In the above example the whole block will be suppressed if no child -block "body" is existing. - - {setfilter}..{/setfilter} - -The new {setfilter} block tag allows the definition of filters which -run on variable output. -SYNTAX: -{setfilter filter1|filter2|filter3....} -Smarty3 will lookup up matching filters in the following search order: -1. varibale filter plugin in plugins_dir. -2. a valid modifier. A modifier specification will also accept -additional parameter like filter2:'foo' -3. a PHP function -{/setfilter} will turn previous filter setting off again. -{setfilter} tags can be nested. -EXAMPLE: -{setfilter filter1} - {$foo} - {setfilter filter2} - {$bar} - {/setfilter} - {$buh} -{/setfilter} -{$blar} -In the above example filter1 will run on the output of $foo, filter2 -on $bar, filter1 again on $buh and no filter on $blar. -NOTES: -- {$foo nofilter} will suppress the filters -- These filters will run in addition to filters defined by -registerFilter('variable',...), autoLoadFilter('variable',...) and -defined default modifier. -- {setfilter} will effect only the current template, not included -subtemplates. - - Resource API - -Smarty 3.1 features a new approach to resource management. The -Smarty_Resource API allows simple, yet powerful integration of custom -resources for templates and configuration files. It offers simple -functions for loading data from a custom resource (e.g. database) as -well as define new template types adhering to the special -non-compiling (e,g, plain php) and non-compile-caching (e.g. eval: -resource type) resources. - -See demo/plugins/resource.mysql.php for an example custom database -resource. - -Note that old-fashioned registration of callbacks for resource -management has been deprecated but is still possible with SmartyBC. - - CacheResource API - -In line with the Resource API, the CacheResource API offers a more -comfortable handling of output-cache data. With the -Smarty_CacheResource_Custom accessing databases is made simple. With -the introduction of Smarty_CacheResource_KeyValueStore the -implementation of resources like memcache or APC became a no-brainer; -simple hash-based storage systems are now supporting hierarchical -output-caches. - -See demo/plugins/cacheresource.mysql.php for an example custom -database CacheResource. -See demo/plugins/cacheresource.memcache.php for an example custom -memcache CacheResource using the KeyValueStore helper. - -Note that old-fashioned registration of $cache_handler is not possible -anymore. As the functionality had not been ported to Smarty 3.0.x -properly, it has been dropped from 3.1 completely. - -Locking facilities have been implemented to avoid concurrent cache -generation. Enable cache locking by setting -$smarty->cache_locking = true; - - Relative Paths in Templates (File-Resource) - -As of Smarty 3.1 {include file="../foo.tpl"} and {include -file="./foo.tpl"} will resolve relative to the template they're in. -Relative paths are available with {include file="..."} and -{extends file="..."}. As $smarty->fetch('../foo.tpl') and -$smarty->fetch('./foo.tpl') cannot be relative to a template, an -exception is thrown. - - Addressing a specific $template_dir - -Smarty 3.1 introduces the $template_dir index notation. -$smarty->fetch('[foo]bar.tpl') and {include file="[foo]bar.tpl"} -require the template bar.tpl to be loaded from $template_dir['foo']; -Smarty::setTemplateDir() and Smarty::addTemplateDir() offer ways to -define indexes along with the actual directories. - - Mixing Resources in extends-Resource - -Taking the php extends: template resource one step further, it is now -possible to mix resources within an extends: call like -$smarty->fetch("extends:file:foo.tpl|db:bar.tpl"); - -To make eval: and string: resources available to the inheritance -chain, eval:base64:TPL_STRING and eval:urlencode:TPL_STRING have been -introduced. Supplying the base64 or urlencode flags will trigger -decoding the TPL_STRING in with either base64_decode() or urldecode(). - - extends-Resource in template inheritance - -Template based inheritance may now inherit from php's extends: -resource like {extends file="extends:foo.tpl|db:bar.tpl"}. - - New Smarty property escape_html - -$smarty->escape_html = true will autoescape all template variable -output by calling htmlspecialchars({$output}, ENT_QUOTES, -SMARTY_RESOURCE_CHAR_SET). -NOTE: -This is a compile time option. If you change the setting you must make -sure that the templates get recompiled. - - New option at Smarty property compile_check - -The automatic recompilation of modified templates can now be -controlled by the following settings: -$smarty->compile_check = COMPILECHECK_OFF (false) - template files -will not be checked -$smarty->compile_check = COMPILECHECK_ON (true) - template files will -always be checked -$smarty->compile_check = COMPILECHECK_CACHEMISS - template files will -be checked if caching is enabled and there is no existing cache file -or it has expired - - Automatic recompilation on Smarty version change - -Templates will now be automatically recompiled on Smarty version -changes to avoide incompatibillities in the compiled code. Compiled -template checked against the current setting of the SMARTY_VERSION -constant. - - default_config_handler_func() - -Analogous to the default_template_handler_func() -default_config_handler_func() has been introduced. - - default_plugin_handler_func() - -An optional default_plugin_handler_func() can be defined which gets called -by the compiler on tags which can't be resolved internally or by plugins. -The default_plugin_handler() can map tags to plugins on the fly. - -New getters/setters - -The following setters/getters will be part of the official -documentation, and will be strongly recommended. Direct property -access will still work for the foreseeable future... it will be -transparently routed through the setters/getters, and consequently a -bit slower. - -array|string getTemplateDir( [string $index] ) -replaces $smarty->template_dir; and $smarty->template_dir[$index]; -Smarty setTemplateDir( array|string $path ) -replaces $smarty->template_dir = "foo"; and $smarty->template_dir = -array("foo", "bar"); -Smarty addTemplateDir( array|string $path, [string $index]) -replaces $smarty->template_dir[] = "bar"; and -$smarty->template_dir[$index] = "bar"; - -array|string getConfigDir( [string $index] ) -replaces $smarty->config_dir; and $smarty->config_dir[$index]; -Smarty setConfigDir( array|string $path ) -replaces $smarty->config_dir = "foo"; and $smarty->config_dir = -array("foo", "bar"); -Smarty addConfigDir( array|string $path, [string $index]) -replaces $smarty->config_dir[] = "bar"; and -$smarty->config_dir[$index] = "bar"; - -array getPluginsDir() -replaces $smarty->plugins_dir; -Smarty setPluginsDir( array|string $path ) -replaces $smarty->plugins_dir = "foo"; -Smarty addPluginsDir( array|string $path ) -replaces $smarty->plugins_dir[] = "bar"; - -string getCompileDir() -replaces $smarty->compile_dir; -Smarty setCompileDir( string $path ) -replaces $smarty->compile_dir = "foo"; - -string getCacheDir() -replaces $smarty->cache_dir; -Smarty setCacheDir( string $path ) -replaces $smarty->cache_dir; diff --git a/library/Smarty/change_log.txt b/library/Smarty/change_log.txt index a0161659d..2bcdfd024 100644 --- a/library/Smarty/change_log.txt +++ b/library/Smarty/change_log.txt @@ -1,8 +1,407 @@ - ===== 3.1.22-dev ===== (xx.xx.2014) + ===== 3.1.28-dev===== (xx.xx.2015) + 05.12.2015 + -bugfix {strip} should insert a single space https://github.com/smarty-php/smarty/issues/111 + + 25.11.2015 + -bugfix a left delimter like '[%' did fail on [%$var_[%$variable%]%] (forum topic 25798) + + 02.11.2015 + - bugfix {include} with variable file name like {include file="foo_`$bar`.tpl"} did fail in 3.1.28-dev https://github.com/smarty-php/smarty/issues/102 + + 01.11.2015 + - update config file processing + + 31.10.2015 + - bugfix add missing $trusted_dir property to SmartyBC class (forum topic 25751) + + 29.10.2015 + - improve template scope handling + + 24.10.2015 + - more optimizations of template processing + - bugfix Error when using {include} within {capture} https://github.com/smarty-php/smarty/issues/100 + + 21.10.2015 + - move some code into runtime extensions + + 18.10.2015 + - optimize filepath normalization + - rework of template inheritance + - speed and size optimizations + - bugfix under HHVM temporary cache file must only be created when caches template was updated + - fix compiled code for new {block} assign attribute + - update code generated by template function call handler + + 18.09.2015 + - bugfix {if $foo instanceof $bar} failed to compile if 2nd value is a variable https://github.com/smarty-php/smarty/issues/92 + + 17.09.2015 + - bugfix {foreach} first attribute was not correctly reset since commit 05a8fa2 of 02.08.2015 https://github.com/smarty-php/smarty/issues/90 + + 16.09.2015 + - update compiler by moving no longer needed properties, code optimizations and other + + 14.09.2015 + - optimize autoloader + - optimize subtemplate handling + - update template inheritance processing + - move code of {call} processing back into Smarty_Internal_Template class + - improvement invalidate OPCACHE for cleared compiled and cached template files (forum topic 25557) + - bugfix unintended multiple debug windows (forum topic 25699) + + 30.08.2015 + - size optimization move some runtime functions into extension + - optimize inline template processing + - optimization merge inheritance child and parent templates into one compiled template file + + 29.08.2015 + - improvement convert template inheritance into runtime processing + - bugfix {$smarty.block.parent} did always reference the root parent block https://github.com/smarty-php/smarty/issues/68 + + 23.08.2015 + - introduce Smarty::$resource_cache_mode and cache template object of {include} inside loop + - load seldom used Smarty API methods dynamically to reduce memory footprint + - cache template object of {include} if same template is included several times + - convert debug console processing to object + - use output buffers for better performance and less memory usage + - optimize nocache hash processing + - remove not really needed properties + - optimize rendering + - move caching to Smarty::_cache + - remove properties with redundant content + - optimize Smarty::templateExists() + - optimize use_include_path processing + - relocate properties for size optimization + - remove redundant code + - bugfix compiling super globals like {$smarty.get.foo} did fail in the master branch https://github.com/smarty-php/smarty/issues/77 + + 06.08.2015 + - avoid possible circular object references caused by parser/lexer objects + - rewrite compileAll... utility methods + - commit several internal improvements + - bugfix Smarty failed when compile_id did contain "|" + + 03.08.2015 + - rework clear cache methods + - bugfix compileAllConfig() was broken since 3.1.22 because of the changes in config file processing + - improve getIncludePath() to return directory if no file was given + + 02.08.2015 + - optimization and code cleanup of {foreach} and {section} compiler + - rework {capture} compiler + + 01.08.2015 + - update DateTime object can be instance of DateTimeImmutable since PHP5.5 https://github.com/smarty-php/smarty/pull/75 + - improvement show resource type and start of template source instead of uid on eval: and string: resource (forum topic 25630) + + 31.07.2015 + - optimize {foreach} and {section} compiler + + 29.07.2015 + - optimize {section} compiler for speed and size of compiled code + + 28.07.2015 + - update for PHP 7 compatibility + + 26.07.2015 + - improvement impement workaround for HHVM PHP incompatibillity https://github.com/facebook/hhvm/issues/4797 + + 25.07.2015 + - bugfix parser did hang on text starting <?something https://github.com/smarty-php/smarty/issues/74 + + 20.07.2015 + - bugfix config files got recompiled on each request + - improvement invalidate PHP 5.5 opcache for recompiled and cached templates https://github.com/smarty-php/smarty/issues/72 + + 12.07.2015 + - optimize {extends} compilation + + 10.07.2015 + - bugfix force file: resource in demo resource.extendsall.php + + 08.07.2015 + - bugfix convert each word of class names to ucfirst in in compiler. (forum topic 25588) + + 07.07.2015 + - improvement allow fetch() or display() called on a template object to get output from other template + like $template->fetch('foo.tpl') https://github.com/smarty-php/smarty/issues/70 + - improvement Added $limit parameter to regex_replace modifier #71 + - new feature multiple indices on file: resource + + 06.07.2015 + - optimize {block} compilation + - optimization get rid of __get and __set in source object + + 01.07.2015 + - optimize compile check handling + - update {foreach} compiler + - bugfix debugging console did not display string values containing \n, \r or \t correctly https://github.com/smarty-php/smarty/issues/66 + - optimize source resources + + 28.06.2015 + - move $smarty->enableSecurity() into Smarty_Security class + - optimize security isTrustedResourceDir() + - move auto load filter methods into extension + - move $smarty->getTemplateVars() into extension + - move getStreamVariable() into extension + - move $smarty->append() and $smarty->appendByRef() into extension + - optimize autoloader + - optimize file path normalization + - bugfix PATH_SEPARATOR was replaced by mistake in autoloader + - remove redundant code + + 27.06.2015 + - bugfix resolve naming conflict between custom Smarty delimiter '<%' and PHP ASP tags https://github.com/smarty-php/smarty/issues/64 + - update $smarty->_realpath for relative path not starting with './' + - update Smarty security with new realpath handling + - update {include_php} with new realpath handling + - move $smarty->loadPlugin() into extension + - minor compiler optimizations + - bugfix allow function plugins with name ending with 'close' https://github.com/smarty-php/smarty/issues/52 + - rework of $smarty->clearCompiledTemplate() and move it to its own extension + + 19.06.2015 + - improvement allow closures as callback at $smarty->registerFilter() https://github.com/smarty-php/smarty/issues/59 + + ===== 3.1.27===== (18.06.2015) + 18.06.2015 + - bugfix another update on file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56 + + ===== 3.1.26===== (18.06.2015) + 18.06.2015 + - bugfix file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56 + + 17.06.2015 + - bugfix calling a plugin with nocache option but no other attributes like {foo nocache} caused call to undefined function https://github.com/smarty-php/smarty/issues/55 + + ===== 3.1.25===== (15.06.2015) + 15.06.2015 + - optimization of smarty_cachereource_keyvaluestore.php code + + 14.06.2015 + - bugfix a relative sub template path could fail if template_dir path did contain /../ https://github.com/smarty-php/smarty/issues/50 + - optimization rework of path normalization + - bugfix an output tag with variable, modifier followed by an operator like {$foo|modifier+1} did fail https://github.com/smarty-php/smarty/issues/53 + + 13.06.2015 + - bugfix a custom cache resource using smarty_cachereource_keyvaluestore.php did fail if php.ini mbstring.func_overload = 2 (forum topic 25568) + + 11.06.2015 + - bugfix the lexer could hang on very large quoted strings (forum topic 25570) + + 08.06.2015 + - bugfix using {$foo} as array index like $bar.{$foo} or in double quoted string like "some {$foo} thing" failed https://github.com/smarty-php/smarty/issues/49 + + 04.06.2015 + - bugfix possible error message on unset() while compiling {block} tags https://github.com/smarty-php/smarty/issues/46 + + 01.06.2015 + - bugfix <?xml ... ?> including template variables broken since 3.1.22 https://github.com/smarty-php/smarty/issues/47 + + 27.05.2015 + - bugfix {include} with variable file name must not create by default individual cache file (since 3.1.22) https://github.com/smarty-php/smarty/issues/43 + + 24.05.2015 + - bugfix if condition string 'neq' broken due to a typo https://github.com/smarty-php/smarty/issues/42 + + ===== 3.1.24===== (23.05.2015) + 23.05.2015 + - improvement on php_handling to allow very large PHP sections, better error handling + - improvement allow extreme large comment sections (forum 25538) + + 21.05.2015 + - bugfix broken PHP 5.2 compatibility when compiling <?php tags https://github.com/smarty-php/smarty/issues/40 + - bugfix named {foreach} comparison like $smarty.foreach.foobar.index > 1 did compile into wrong code https://github.com/smarty-php/smarty/issues/41 + + 19.05.2015 + - bugfix compiler did overwrite existing variable value when setting the nocache attribute https://github.com/smarty-php/smarty/issues/39 + - bugfix output filter trimwhitespace could run into the pcre.backtrack_limit on large output (code.google issue 220) + - bugfix compiler could run into the pcre.backtrack_limit on larger comment or {php} tag sections (forum 25538) + + 18.05.2015 + - improvement introduce shortcuts in lexer/parser rules for most frequent terms for higher + compilation speed + + 16.05.2015 + - bugfix {php}{/php} did work just for single lines https://github.com/smarty-php/smarty/issues/33 + - improvement remove not needed ?><?php transitions from compiled code + - improvement reduce number of lexer tokens on operators and if conditions + - improvement higher compilation speed by modified lexer/parser generator at "smarty/smarty-lexer" + + 13.05.2015 + - improvement remove not needed ?><?php transitions from compiled code + - improvement of debugging: + - use fresh Smarty object to display the debug console because of possible problems when the Smarty + was extended or Smarty properties had been modified in the class source + - display Smarty version number + - Truncate lenght of Origin display and extend strin value display to 80 character + - bugfix in Smarty_Security 'nl2br' should be a trusted modifier, not PHP function (code.google issue 223) + + 12.05.2015 + - bugfix {$smarty.constant.TEST} did fail on undefined constant https://github.com/smarty-php/smarty/issues/28 + - bugfix access to undefined config variable like {#undef#} did fail https://github.com/smarty-php/smarty/issues/29 + - bugfix in nested {foreach} saved item attributes got overwritten https://github.com/smarty-php/smarty/issues/33 + + ===== 3.1.23 ===== (12.05.2015) + 12.05.2015 + - bugfix of smaller performance issue introduce in 3.1.22 when caching is enabled + - bugfix missig entry for smarty-temmplate-config in autoloader + + ===== 3.1.22 ===== tag was deleted because 3.1.22 did fail caused by the missing entry for smarty-temmplate-config in autoloader + 10.05.2015 + - bugfix custom cache resource did not observe compile_id and cache_id when $cache_locking == true + - bugfix cache lock was not handled correctly after timeout when $cache_locking == true + - improvement added constants for $debugging + + 07.05.2015 + - improvement of the debugging console. Read NEW_FEATURES.txt + - optimization of resource class loading + + 06.05.2015 + - bugfix in 3.1.22-dev cache resource must not be loaded for subtemplates + - bugfix/improvement in 3.1.22-dev cache locking did not work as expected + + 05.05.2015 + - optimization on cache update when main template is modified + - optimization move <?php ?> handling from parser to new compiler module + + 05.05.2015 + - bugfix code could be messed up when {tags} are used in multiple attributes https://github.com/smarty-php/smarty/issues/23 + + 04.05.2015 + - bugfix Smarty_Resource::parseResourceName incompatible with Google AppEngine (https://github.com/smarty-php/smarty/issues/22) + - improvement use is_file() checks to avoid errors suppressed by @ which could still cause problems (https://github.com/smarty-php/smarty/issues/24) + + 28.04.2015 + - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508) 2nd fix + + 28.04.2015 + - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508) + + 23.04.2015 + - bugfix a nocache template variable used as parameter at {insert} was by mistake cached + + 20.04.2015 + - bugfix at a template function containing nocache code a parmeter could overwrite a template variable of same name + + 27.03.2015 + - bugfix Smarty_Security->allow_constants=false; did also disable true, false and null (change of 16.03.2015) + - improvement added a whitelist for trusted constants to security Smarty_Security::$trusted_constants (forum topic 25471) + + 20.03.2015 + - bugfix make sure that function properties get saved only in compiled files containing the fuction definition {forum topic 25452} + - bugfix correct update of global variable values on exit of template functions. (reported under Smarty Developers) + + 16.03.2015 + - bugfix problems with {function}{/function} and {call} tags in different subtemplate cache files {forum topic 25452} + - bugfix Smarty_Security->allow_constants=false; did not disallow direct usage of defined constants like {SMARTY_DIR} {forum topic 25457} + - bugfix {block}{/block} tags did not work inside double quoted strings https://github.com/smarty-php/smarty/issues/18 + + + 15.03.2015 + - bugfix $smarty->compile_check must be restored before rendering of a just updated cache file {forum 25452} + + 14.03.2015 + - bugfix {nocache} {/nocache} tags corrupted code when used within a nocache section caused by a nocache template variable. + + - bugfix template functions defined with {function} in an included subtemplate could not be called in nocache + mode with {call... nocache} if the subtemplate had it's own cache file {forum 25452} + + 10.03.2015 + - bugfix {include ... nocache} whith variable file or compile_id attribute was not executed in nocache mode. + + 12.02.2015 + - bugfix multiple Smarty::fetch() of same template when $smarty->merge_compiled_includes = true; could cause function already defined error + + 11.02.2015 + - bugfix recursive {includes} did create E_NOTICE message when $smarty->merge_compiled_includes = true; (github issue #16) + + 22.01.2015 + - new feature security can now control access to static methods and properties + see also NEW_FEATURES.txt + + 21.01.2015 + - bugfix clearCompiledTemplates(), clearAll() and clear() could try to delete whole drive at wrong path permissions because realpath() fail (forum 25397) + - bugfix 'self::' and 'parent::' was interpreted in template syntax as static class + + 04.01.2015 + - push last weeks changes to github + + - different optimizations + - improvement automatically create different versions of compiled templates and config files depending + on property settings. + - optimization restructure template processing by moving code into classes it better belongs to + - optimization restructure config file processing + + 31.12.2014 + - bugfix use function_exists('mb_get_info') for setting Smarty::$_MBSTRING. + Function mb_split could be overloaded depending on php.ini mbstring.func_overload + + + 29.12.2014 + - new feature security can now limit the template nesting level by property $max_template_nesting + see also NEW_FEATURES.txt (forum 25370) + + 29.12.2014 + - new feature security can now disable special $smarty variables listed in property $disabled_special_smarty_vars + see also NEW_FEATURES.txt (forum 25370) + + 27.12.2014 + - bugfix clear internal _is_file_cache when plugins_dir was modified + + 13.12.2014 + - improvement optimization of lexer and parser resulting in a up to 30% higher compiling speed + + 11.12.2014 + - bugfix resolve parser ambiguity between constant print tag {CONST} and other smarty tags after change of 09.12.2014 + + 09.12.2014 + - bugfix variables $null, $true and $false did not work after the change of 12.11.2014 (forum 25342) + - bugfix call of template function by a variable name did not work after latest changes (forum 25342) + + 23.11.2014 + - bugfix a plugin with attached modifier could fail if the tag was immediately followed by another Smarty tag (since 3.1.21) (forum 25326) + + 13.11.2014 + - improvement move autoload code into Autoloader.php. Use Composer autoloader when possible + + 12.11.2014 + - new feature added support of namespaces to template code + + 08.11.2014 - 10.11.2014 + - bugfix subtemplate called in nocache mode could be called with wrong compile_id when it did change on one of the calling templates + - improvement add code of template functions called in nocache mode dynamically to cache file (related to bugfix of 01.11.2014) + - bugfix Debug Console did not include all data from merged compiled subtemplates + + 04.11.2014 + - new feature $smarty->debugging = true; => overwrite existing Debug Console window (old behaviour) + $smarty->debugging = 2; => individual Debug Console window by template name + + 03.11.2014 + - bugfix Debug Console did not show included subtemplates since 3.1.17 (forum 25301) + - bugfix Modifier debug_print_var did not limit recursion or prevent recursive object display at Debug Console + (ATTENTION: parameter order has changed to be able to specify maximum recursion) + - bugfix Debug consol did not include subtemplate information with $smarty->merge_compiled_includes = true + - improvement The template variables are no longer displayed as objects on the Debug Console + - improvement $smarty->createData($parent = null, $name = null) new optional name parameter for display at Debug Console + - addition of some hooks for future extension of Debug Console + + 01.11.2014 + - bugfix and enhancement on subtemplate {include} and template {function} tags. + * Calling a template which has a nocache section could fail if it was called from a cached and a not cached subtemplate. + * Calling the same subtemplate cached and not cached with the $smarty->merge_compiled_includes enabled could cause problems + * Many smaller related changes + + 30.10.2014 + - bugfix access to class constant by object like {$object::CONST} or variable class name {$class::CONST} did not work (forum 25301) + + 26.10.2014 + - bugfix E_NOTICE message was created during compilation when ASP tags '<%' or '%>' are in template source text + - bugfix merge_compiled_includes option failed when caching enables and same subtemplate was included cached and not cached + ===== 3.1.21 ===== (18.10.2014) 18.10.2014 - - composer moved to github - - add COMPOSER_RELEASE_NOTES + - composer moved to github 17.10.2014 - bugfix on $php_handling security and optimization of smarty_internal_parsetree (Thue Kristensen) @@ -43,7 +442,7 @@ 04.07.2014 - bugfix the bufix of 02.06.2014 broke correct handling of child templates with same name but different template folders in extends resource (issue 194 and topic 25099) - ===== 3.1.19 ===== (06.30.2014) + ===== 3.1.19 ===== (30.06.2014) 20.06.2014 - bugfix template variables could not be passed as parameter in {include} when the include was in a {nocache} section (topic 25131) @@ -732,7 +1131,7 @@ 15/07/2011 - bugfix individual cache_lifetime of {include} did not work correctly inside {block} tags -- added caches for Smarty_Template_Source and Smarty_Template_Compiled to reduce I/O for multiple cache_id rendering +- added caches for Smarty_Internal_TemplateSource and Smarty_Internal_TemplateCompiled to reduce I/O for multiple cache_id rendering 14/07/2011 - made Smarty::loadPlugin() respect the include_path if required diff --git a/library/Smarty/demo/configs/test.conf b/library/Smarty/demo/configs/test.conf deleted file mode 100644 index 5eac748ec..000000000 --- a/library/Smarty/demo/configs/test.conf +++ /dev/null @@ -1,5 +0,0 @@ -title = Welcome to Smarty! -cutoff_size = 40 - -[setup] -bold = true diff --git a/library/Smarty/demo/index.php b/library/Smarty/demo/index.php deleted file mode 100644 index 33f3035c5..000000000 --- a/library/Smarty/demo/index.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -/** - * Example Application - * - * @package Example-application - */ - -require '../libs/Smarty.class.php'; - -$smarty = new Smarty; - -//$smarty->force_compile = true; -$smarty->debugging = true; -$smarty->caching = true; -$smarty->cache_lifetime = 120; - -$smarty->assign("Name", "Fred Irving Johnathan Bradley Peppergill", true); -$smarty->assign("FirstName", array("John", "Mary", "James", "Henry")); -$smarty->assign("LastName", array("Doe", "Smith", "Johnson", "Case")); -$smarty->assign("Class", array(array("A", "B", "C", "D"), array("E", "F", "G", "H"), - array("I", "J", "K", "L"), array("M", "N", "O", "P"))); - -$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), - array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); - -$smarty->assign("option_values", array("NY", "NE", "KS", "IA", "OK", "TX")); -$smarty->assign("option_output", array("New York", "Nebraska", "Kansas", "Iowa", "Oklahoma", "Texas")); -$smarty->assign("option_selected", "NE"); - -$smarty->display('index.tpl'); diff --git a/library/Smarty/demo/plugins/cacheresource.apc.php b/library/Smarty/demo/plugins/cacheresource.apc.php deleted file mode 100644 index d7336f2bf..000000000 --- a/library/Smarty/demo/plugins/cacheresource.apc.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php - -/** - * APC CacheResource - * CacheResource Implementation based on the KeyValueStore API to use - * memcache as the storage resource for Smarty's output caching. - * * - * - * @package CacheResource-examples - * @author Uwe Tews - */ -class Smarty_CacheResource_Apc extends Smarty_CacheResource_KeyValueStore -{ - public function __construct() - { - // test if APC is present - if (!function_exists('apc_cache_info')) { - throw new Exception('APC Template Caching Error: APC is not installed'); - } - } - - /** - * Read values for a set of keys from cache - * - * @param array $keys list of keys to fetch - * - * @return array list of values with the given keys used as indexes - * @return boolean true on success, false on failure - */ - protected function read(array $keys) - { - $_res = array(); - $res = apc_fetch($keys); - foreach ($res as $k => $v) { - $_res[$k] = $v; - } - - return $_res; - } - - /** - * Save values for a set of keys to cache - * - * @param array $keys list of values to save - * @param int $expire expiration time - * - * @return boolean true on success, false on failure - */ - protected function write(array $keys, $expire = null) - { - foreach ($keys as $k => $v) { - apc_store($k, $v, $expire); - } - - return true; - } - - /** - * Remove values from cache - * - * @param array $keys list of keys to delete - * - * @return boolean true on success, false on failure - */ - protected function delete(array $keys) - { - foreach ($keys as $k) { - apc_delete($k); - } - - return true; - } - - /** - * Remove *all* values from cache - * - * @return boolean true on success, false on failure - */ - protected function purge() - { - return apc_clear_cache('user'); - } -} diff --git a/library/Smarty/demo/plugins/cacheresource.memcache.php b/library/Smarty/demo/plugins/cacheresource.memcache.php deleted file mode 100644 index e265365fb..000000000 --- a/library/Smarty/demo/plugins/cacheresource.memcache.php +++ /dev/null @@ -1,97 +0,0 @@ -<?php - -/** - * Memcache CacheResource - * CacheResource Implementation based on the KeyValueStore API to use - * memcache as the storage resource for Smarty's output caching. - * Note that memcache has a limitation of 256 characters per cache-key. - * To avoid complications all cache-keys are translated to a sha1 hash. - * - * @package CacheResource-examples - * @author Rodney Rehm - */ -class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore -{ - /** - * memcache instance - * - * @var Memcache - */ - protected $memcache = null; - - public function __construct() - { - $this->memcache = new Memcache(); - $this->memcache->addServer('127.0.0.1', 11211); - } - - /** - * Read values for a set of keys from cache - * - * @param array $keys list of keys to fetch - * - * @return array list of values with the given keys used as indexes - * @return boolean true on success, false on failure - */ - protected function read(array $keys) - { - $_keys = $lookup = array(); - foreach ($keys as $k) { - $_k = sha1($k); - $_keys[] = $_k; - $lookup[$_k] = $k; - } - $_res = array(); - $res = $this->memcache->get($_keys); - foreach ($res as $k => $v) { - $_res[$lookup[$k]] = $v; - } - - return $_res; - } - - /** - * Save values for a set of keys to cache - * - * @param array $keys list of values to save - * @param int $expire expiration time - * - * @return boolean true on success, false on failure - */ - protected function write(array $keys, $expire = null) - { - foreach ($keys as $k => $v) { - $k = sha1($k); - $this->memcache->set($k, $v, 0, $expire); - } - - return true; - } - - /** - * Remove values from cache - * - * @param array $keys list of keys to delete - * - * @return boolean true on success, false on failure - */ - protected function delete(array $keys) - { - foreach ($keys as $k) { - $k = sha1($k); - $this->memcache->delete($k); - } - - return true; - } - - /** - * Remove *all* values from cache - * - * @return boolean true on success, false on failure - */ - protected function purge() - { - $this->memcache->flush(); - } -} diff --git a/library/Smarty/demo/plugins/cacheresource.mysql.php b/library/Smarty/demo/plugins/cacheresource.mysql.php deleted file mode 100644 index d8d00ab26..000000000 --- a/library/Smarty/demo/plugins/cacheresource.mysql.php +++ /dev/null @@ -1,162 +0,0 @@ -<?php - -/** - * MySQL CacheResource - * CacheResource Implementation based on the Custom API to use - * MySQL as the storage resource for Smarty's output caching. - * Table definition: - * <pre>CREATE TABLE IF NOT EXISTS `output_cache` ( - * `id` CHAR(40) NOT NULL COMMENT 'sha1 hash', - * `name` VARCHAR(250) NOT NULL, - * `cache_id` VARCHAR(250) NULL DEFAULT NULL, - * `compile_id` VARCHAR(250) NULL DEFAULT NULL, - * `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - * `content` LONGTEXT NOT NULL, - * PRIMARY KEY (`id`), - * INDEX(`name`), - * INDEX(`cache_id`), - * INDEX(`compile_id`), - * INDEX(`modified`) - * ) ENGINE = InnoDB;</pre> - * - * @package CacheResource-examples - * @author Rodney Rehm - */ -class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom -{ - // PDO instance - protected $db; - protected $fetch; - protected $fetchTimestamp; - protected $save; - - public function __construct() - { - try { - $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty"); - } - catch (PDOException $e) { - throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); - } - $this->fetch = $this->db->prepare('SELECT modified, content FROM output_cache WHERE id = :id'); - $this->fetchTimestamp = $this->db->prepare('SELECT modified FROM output_cache WHERE id = :id'); - $this->save = $this->db->prepare('REPLACE INTO output_cache (id, name, cache_id, compile_id, content) - VALUES (:id, :name, :cache_id, :compile_id, :content)'); - } - - /** - * fetch cached content and its modification time from data source - * - * @param string $id unique cache content identifier - * @param string $name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * @param string $content cached content - * @param integer $mtime cache modification timestamp (epoch) - * - * @return void - */ - protected function fetch($id, $name, $cache_id, $compile_id, &$content, &$mtime) - { - $this->fetch->execute(array('id' => $id)); - $row = $this->fetch->fetch(); - $this->fetch->closeCursor(); - if ($row) { - $content = $row['content']; - $mtime = strtotime($row['modified']); - } else { - $content = null; - $mtime = null; - } - } - - /** - * Fetch cached content's modification timestamp from data source - * - * @note implementing this method is optional. Only implement it if modification times can be accessed faster than loading the complete cached content. - * - * @param string $id unique cache content identifier - * @param string $name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * - * @return integer|boolean timestamp (epoch) the template was modified, or false if not found - */ - protected function fetchTimestamp($id, $name, $cache_id, $compile_id) - { - $this->fetchTimestamp->execute(array('id' => $id)); - $mtime = strtotime($this->fetchTimestamp->fetchColumn()); - $this->fetchTimestamp->closeCursor(); - - return $mtime; - } - - /** - * Save content to cache - * - * @param string $id unique cache content identifier - * @param string $name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * @param integer|null $exp_time seconds till expiration time in seconds or null - * @param string $content content to cache - * - * @return boolean success - */ - protected function save($id, $name, $cache_id, $compile_id, $exp_time, $content) - { - $this->save->execute(array( - 'id' => $id, - 'name' => $name, - 'cache_id' => $cache_id, - 'compile_id' => $compile_id, - 'content' => $content, - )); - - return !!$this->save->rowCount(); - } - - /** - * Delete content from cache - * - * @param string $name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * @param integer|null $exp_time seconds till expiration or null - * - * @return integer number of deleted caches - */ - protected function delete($name, $cache_id, $compile_id, $exp_time) - { - // delete the whole cache - if ($name === null && $cache_id === null && $compile_id === null && $exp_time === null) { - // returning the number of deleted caches would require a second query to count them - $query = $this->db->query('TRUNCATE TABLE output_cache'); - - return - 1; - } - // build the filter - $where = array(); - // equal test name - if ($name !== null) { - $where[] = 'name = ' . $this->db->quote($name); - } - // equal test compile_id - if ($compile_id !== null) { - $where[] = 'compile_id = ' . $this->db->quote($compile_id); - } - // range test expiration time - if ($exp_time !== null) { - $where[] = 'modified < DATE_SUB(NOW(), INTERVAL ' . intval($exp_time) . ' SECOND)'; - } - // equal test cache_id and match sub-groups - if ($cache_id !== null) { - $where[] = '(cache_id = ' . $this->db->quote($cache_id) - . ' OR cache_id LIKE ' . $this->db->quote($cache_id . '|%') . ')'; - } - // run delete query - $query = $this->db->query('DELETE FROM output_cache WHERE ' . join(' AND ', $where)); - - return $query->rowCount(); - } -} diff --git a/library/Smarty/demo/plugins/resource.extendsall.php b/library/Smarty/demo/plugins/resource.extendsall.php deleted file mode 100644 index 500b3c862..000000000 --- a/library/Smarty/demo/plugins/resource.extendsall.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php - -/** - * Extends All Resource - * Resource Implementation modifying the extends-Resource to walk - * through the template_dirs and inherit all templates of the same name - * - * @package Resource-examples - * @author Rodney Rehm - */ -class Smarty_Resource_Extendsall extends Smarty_Internal_Resource_Extends -{ - /** - * populate Source Object with meta data from Resource - * - * @param Smarty_Template_Source $source source object - * @param Smarty_Internal_Template $_template template object - * - * @return void - */ - public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null) - { - $uid = ''; - $sources = array(); - $exists = true; - foreach ($_template->smarty->getTemplateDir() as $key => $directory) { - try { - $s = Smarty_Resource::source(null, $source->smarty, '[' . $key . ']' . $source->name); - if (!$s->exists) { - continue; - } - $sources[$s->uid] = $s; - $uid .= $s->filepath; - } - catch (SmartyException $e) { - } - } - - if (!$sources) { - $source->exists = false; - $source->template = $_template; - - return; - } - - $sources = array_reverse($sources, true); - reset($sources); - $s = current($sources); - - $source->components = $sources; - $source->filepath = $s->filepath; - $source->uid = sha1($uid); - $source->exists = $exists; - if ($_template && $_template->smarty->compile_check) { - $source->timestamp = $s->timestamp; - } - // need the template at getContent() - $source->template = $_template; - } -} diff --git a/library/Smarty/demo/plugins/resource.mysql.php b/library/Smarty/demo/plugins/resource.mysql.php deleted file mode 100644 index dfc9606b4..000000000 --- a/library/Smarty/demo/plugins/resource.mysql.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -/** - * MySQL Resource - * Resource Implementation based on the Custom API to use - * MySQL as the storage resource for Smarty's templates and configs. - * Table definition: - * <pre>CREATE TABLE IF NOT EXISTS `templates` ( - * `name` varchar(100) NOT NULL, - * `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - * `source` text, - * PRIMARY KEY (`name`) - * ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre> - * Demo data: - * <pre>INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');</pre> - * - * @package Resource-examples - * @author Rodney Rehm - */ -class Smarty_Resource_Mysql extends Smarty_Resource_Custom -{ - // PDO instance - protected $db; - // prepared fetch() statement - protected $fetch; - // prepared fetchTimestamp() statement - protected $mtime; - - public function __construct() - { - try { - $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty"); - } - catch (PDOException $e) { - throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); - } - $this->fetch = $this->db->prepare('SELECT modified, source FROM templates WHERE name = :name'); - $this->mtime = $this->db->prepare('SELECT modified FROM templates WHERE name = :name'); - } - - /** - * Fetch a template and its modification time from database - * - * @param string $name template name - * @param string $source template source - * @param integer $mtime template modification timestamp (epoch) - * - * @return void - */ - protected function fetch($name, &$source, &$mtime) - { - $this->fetch->execute(array('name' => $name)); - $row = $this->fetch->fetch(); - $this->fetch->closeCursor(); - if ($row) { - $source = $row['source']; - $mtime = strtotime($row['modified']); - } else { - $source = null; - $mtime = null; - } - } - - /** - * Fetch a template's modification time from database - * - * @note implementing this method is optional. Only implement it if modification times can be accessed faster than loading the comple template source. - * - * @param string $name template name - * - * @return integer timestamp (epoch) the template was modified - */ - protected function fetchTimestamp($name) - { - $this->mtime->execute(array('name' => $name)); - $mtime = $this->mtime->fetchColumn(); - $this->mtime->closeCursor(); - - return strtotime($mtime); - } -} diff --git a/library/Smarty/demo/plugins/resource.mysqls.php b/library/Smarty/demo/plugins/resource.mysqls.php deleted file mode 100644 index f694ddf11..000000000 --- a/library/Smarty/demo/plugins/resource.mysqls.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php - -/** - * MySQL Resource - * Resource Implementation based on the Custom API to use - * MySQL as the storage resource for Smarty's templates and configs. - * Note that this MySQL implementation fetches the source and timestamps in - * a single database query, instead of two separate like resource.mysql.php does. - * Table definition: - * <pre>CREATE TABLE IF NOT EXISTS `templates` ( - * `name` varchar(100) NOT NULL, - * `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - * `source` text, - * PRIMARY KEY (`name`) - * ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre> - * Demo data: - * <pre>INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');</pre> - * - * @package Resource-examples - * @author Rodney Rehm - */ -class Smarty_Resource_Mysqls extends Smarty_Resource_Custom -{ - // PDO instance - protected $db; - // prepared fetch() statement - protected $fetch; - - public function __construct() - { - try { - $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty"); - } - catch (PDOException $e) { - throw new SmartyException('Mysql Resource failed: ' . $e->getMessage()); - } - $this->fetch = $this->db->prepare('SELECT modified, source FROM templates WHERE name = :name'); - } - - /** - * Fetch a template and its modification time from database - * - * @param string $name template name - * @param string $source template source - * @param integer $mtime template modification timestamp (epoch) - * - * @return void - */ - protected function fetch($name, &$source, &$mtime) - { - $this->fetch->execute(array('name' => $name)); - $row = $this->fetch->fetch(); - $this->fetch->closeCursor(); - if ($row) { - $source = $row['source']; - $mtime = strtotime($row['modified']); - } else { - $source = null; - $mtime = null; - } - } -} diff --git a/library/Smarty/demo/templates/footer.tpl b/library/Smarty/demo/templates/footer.tpl deleted file mode 100644 index e04310fdd..000000000 --- a/library/Smarty/demo/templates/footer.tpl +++ /dev/null @@ -1,2 +0,0 @@ -</BODY> -</HTML> diff --git a/library/Smarty/demo/templates/header.tpl b/library/Smarty/demo/templates/header.tpl deleted file mode 100644 index 13fa6cb5a..000000000 --- a/library/Smarty/demo/templates/header.tpl +++ /dev/null @@ -1,5 +0,0 @@ -<HTML> -<HEAD> - <TITLE>{$title} - {$Name}</TITLE> -</HEAD> -<BODY bgcolor="#ffffff"> diff --git a/library/Smarty/demo/templates/index.tpl b/library/Smarty/demo/templates/index.tpl deleted file mode 100644 index 1fbb6d379..000000000 --- a/library/Smarty/demo/templates/index.tpl +++ /dev/null @@ -1,87 +0,0 @@ -{config_load file="test.conf" section="setup"} -{include file="header.tpl" title=foo} - -<PRE> - -{* bold and title are read from the config file *} - {if #bold#}<b>{/if} - {* capitalize the first letters of each word of the title *} - Title: {#title#|capitalize} - {if #bold#}</b>{/if} - - The current date and time is {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} - - The value of global assigned variable $SCRIPT_NAME is {$SCRIPT_NAME} - - Example of accessing server environment variable SERVER_NAME: {$smarty.server.SERVER_NAME} - - The value of {ldelim}$Name{rdelim} is <b>{$Name}</b> - -variable modifier example of {ldelim}$Name|upper{rdelim} - -<b>{$Name|upper}</b> - - -An example of a section loop: - - {section name=outer - loop=$FirstName} - {if $smarty.section.outer.index is odd by 2} - {$smarty.section.outer.rownum} . {$FirstName[outer]} {$LastName[outer]} - {else} - {$smarty.section.outer.rownum} * {$FirstName[outer]} {$LastName[outer]} - {/if} - {sectionelse} - none - {/section} - - An example of section looped key values: - - {section name=sec1 loop=$contacts} - phone: {$contacts[sec1].phone} - <br> - - fax: {$contacts[sec1].fax} - <br> - - cell: {$contacts[sec1].cell} - <br> - {/section} - <p> - - testing strip tags - {strip} -<table border=0> - <tr> - <td> - <A HREF="{$SCRIPT_NAME}"> - <font color="red">This is a test </font> - </A> - </td> - </tr> -</table> - {/strip} - -</PRE> - -This is an example of the html_select_date function: - -<form> - {html_select_date start_year=1998 end_year=2010} -</form> - -This is an example of the html_select_time function: - -<form> - {html_select_time use_24_hours=false} -</form> - -This is an example of the html_options function: - -<form> - <select name=states> - {html_options values=$option_values selected=$option_selected output=$option_output} - </select> -</form> - -{include file="footer.tpl"} diff --git a/library/Smarty/libs/Autoloader.php b/library/Smarty/libs/Autoloader.php new file mode 100644 index 000000000..7d0c388a6 --- /dev/null +++ b/library/Smarty/libs/Autoloader.php @@ -0,0 +1,124 @@ +<?php +/** + * Smarty Autoloader + * + * @package Smarty + */ + +/** + * Smarty Autoloader + * + * @package Smarty + * @author Uwe Tews + * Usage: + * require_once '...path/Autoloader.php'; + * Smarty_Autoloader::register(); + * $smarty = new Smarty(); + * Note: This autoloader is not needed if you use Composer. + * Composer will automatically add the classes of the Smarty package to it common autoloader. + */ +class Smarty_Autoloader +{ + /** + * Filepath to Smarty root + * + * @var string + */ + public static $SMARTY_DIR = ''; + + /** + * Filepath to Smarty internal plugins + * + * @var string + */ + public static $SMARTY_SYSPLUGINS_DIR = ''; + + /** + * Array with Smarty core classes and their filename + * + * @var array + */ + public static $rootClasses = array('smarty' => 'Smarty.class.php', 'smartybc' => 'SmartyBC.class.php',); + + /** + * Registers Smarty_Autoloader backward compatible to older installations. + * + * @param bool $prepend Whether to prepend the autoloader or not. + */ + public static function registerBC($prepend = false) + { + /** + * register the class autoloader + */ + if (!defined('SMARTY_SPL_AUTOLOAD')) { + define('SMARTY_SPL_AUTOLOAD', 0); + } + if (SMARTY_SPL_AUTOLOAD && + set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false + ) { + $registeredAutoLoadFunctions = spl_autoload_functions(); + if (!isset($registeredAutoLoadFunctions['spl_autoload'])) { + spl_autoload_register(); + } + } else { + self::register($prepend); + } + } + + /** + * Registers Smarty_Autoloader as an SPL autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not. + */ + public static function register($prepend = false) + { + self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR; + self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR : + self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR; + if (version_compare(phpversion(), '5.3.0', '>=')) { + spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend); + } else { + spl_autoload_register(array(__CLASS__, 'autoload')); + } + } + + /** + * Handles auto loading of classes. + * + * @param string $class A class name. + */ + public static function autoload($class) + { + $_class = strtolower($class); + $file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php'; + if (strpos($_class, 'smarty_internal_') === 0) { + if (strpos($_class, 'smarty_internal_compile_') === 0) { + if (is_file($file)) { + require $file; + } + return; + } + @include $file; + return; + } + if (preg_match('/^(smarty_(((template_(source|config|cache|compiled|resource_base))|((cached|compiled)?resource)|(variable|security)))|(smarty(bc)?)$)/', + $_class, $match)) { + if (!empty($match[3])) { + @include $file; + return; + } elseif (!empty($match[9]) && isset(self::$rootClasses[$_class])) { + $file = self::$rootClasses[$_class]; + require $file; + return; + } + } + if (0 !== strpos($_class, 'smarty')) { + return; + } + if (is_file($file)) { + require $file; + return; + } + return; + } +} diff --git a/library/Smarty/libs/Smarty.class.php b/library/Smarty/libs/Smarty.class.php index 832b0d309..ac09d0a43 100644 --- a/library/Smarty/libs/Smarty.class.php +++ b/library/Smarty/libs/Smarty.class.php @@ -2,15 +2,17 @@ /** * Project: Smarty: the PHP compiling template engine * File: Smarty.class.php - * SVN: $Id: Smarty.class.php 4897 2014-10-14 22:29:58Z Uwe.Tews@googlemail.com $ + * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA @@ -19,12 +21,13 @@ * smarty-discussion-subscribe@googlegroups.com * * @link http://www.smarty.net/ - * @copyright 2008 New Digital Group, Inc. + * @copyright 2015 New Digital Group, Inc. + * @copyright 2015 Uwe Tews * @author Monte Ohrt <monte at ohrt dot com> * @author Uwe Tews * @author Rodney Rehm * @package Smarty - * @version 3.1.21 + * @version 3.1.28-dev */ /** @@ -53,7 +56,7 @@ if (!defined('SMARTY_PLUGINS_DIR')) { define('SMARTY_PLUGINS_DIR', SMARTY_DIR . 'plugins' . DS); } if (!defined('SMARTY_MBSTRING')) { - define('SMARTY_MBSTRING', function_exists('mb_split')); + define('SMARTY_MBSTRING', function_exists('mb_get_info')); } if (!defined('SMARTY_RESOURCE_CHAR_SET')) { // UTF-8 can only be done properly when mbstring is available! @@ -70,36 +73,41 @@ if (!defined('SMARTY_RESOURCE_DATE_FORMAT')) { } /** - * register the class autoloader + * Try loading the Smarty_Internal_Data class + * If we fail we must load Smarty's autoloader. + * Otherwise we may have a global autoloader like Composer */ -if (!defined('SMARTY_SPL_AUTOLOAD')) { - define('SMARTY_SPL_AUTOLOAD', 0); -} - -if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false) { - $registeredAutoLoadFunctions = spl_autoload_functions(); - if (!isset($registeredAutoLoadFunctions['spl_autoload'])) { - spl_autoload_register(); +if (!class_exists('Smarty_Autoloader', false)) { + if (!class_exists('Smarty_Internal_Data', true)) { + require_once dirname(__FILE__) . '/Autoloader.php'; + Smarty_Autoloader::registerBC(); } -} else { - spl_autoload_register('smartyAutoload'); } /** * Load always needed external class files */ -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_data.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_templatebase.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_template.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_resource.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_resource_file.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_cacheresource_file.php'; +if (!class_exists('Smarty_Internal_Data', false)) { + require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_data.php'; +} +require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_extension_handler.php'; +require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_templatebase.php'; +require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_template.php'; +require_once SMARTY_SYSPLUGINS_DIR . 'smarty_resource.php'; +require_once SMARTY_SYSPLUGINS_DIR . 'smarty_variable.php'; +require_once SMARTY_SYSPLUGINS_DIR . 'smarty_template_source.php'; +require_once SMARTY_SYSPLUGINS_DIR . 'smarty_template_resource_base.php'; /** * This is the main Smarty class * * @package Smarty + * + * @method int clearAllCache(int $exp_time = null, string $type = null) + * @method int clearCache(string $template_name, string $cache_id = null, string $compile_id = null, int $exp_time = null, string $type = null) + * @method int compileAllTemplates(Smarty $smarty, string $extension = '.tpl', bool $force_compile = false, int $time_limit = 0, int $max_errors = null) + * @method int compileAllConfig(Smarty $smarty, string $extension = '.conf', bool $force_compile = false, int $time_limit = 0, int $max_errors = null) + * */ class Smarty extends Smarty_Internal_TemplateBase { @@ -110,23 +118,36 @@ class Smarty extends Smarty_Internal_TemplateBase /** * smarty version */ - const SMARTY_VERSION = 'Smarty-3.1.21-dev'; + const SMARTY_VERSION = '3.1.28-dev/77'; /** * define variable scopes */ const SCOPE_LOCAL = 0; - const SCOPE_PARENT = 1; - const SCOPE_ROOT = 2; - const SCOPE_GLOBAL = 3; + + const SCOPE_PARENT = 2; + + const SCOPE_TPL_ROOT = 4; + + const SCOPE_ROOT = 8; + + const SCOPE_SMARTY = 16; + + const SCOPE_GLOBAL = 32; + + const SCOPE_BUBBLE_UP = 64; + /** * define caching modes */ const CACHING_OFF = 0; + const CACHING_LIFETIME_CURRENT = 1; + const CACHING_LIFETIME_SAVED = 2; + /** - * define constant for clearing cache files be saved expiration datees + * define constant for clearing cache files be saved expiration dates */ const CLEAR_EXPIRED = - 1; @@ -134,31 +155,66 @@ class Smarty extends Smarty_Internal_TemplateBase * define compile check modes */ const COMPILECHECK_OFF = 0; + const COMPILECHECK_ON = 1; + const COMPILECHECK_CACHEMISS = 2; + + /** + * define debug modes + */ + const DEBUG_OFF = 0; + + const DEBUG_ON = 1; + + const DEBUG_INDIVIDUAL = 2; + /** * modes for handling of "<?php ... ?>" tags in templates. */ const PHP_PASSTHRU = 0; //-> print tags as plain text + const PHP_QUOTE = 1; //-> escape tags as entities + const PHP_REMOVE = 2; //-> escape tags as entities + const PHP_ALLOW = 3; //-> escape tags as entities + /** * filter types */ const FILTER_POST = 'post'; + const FILTER_PRE = 'pre'; + const FILTER_OUTPUT = 'output'; + const FILTER_VARIABLE = 'variable'; + /** * plugin types */ const PLUGIN_FUNCTION = 'function'; + const PLUGIN_BLOCK = 'block'; + const PLUGIN_COMPILER = 'compiler'; + const PLUGIN_MODIFIER = 'modifier'; + const PLUGIN_MODIFIERCOMPILER = 'modifiercompiler'; + /** + * Resource caching modes + */ + const RESOURCE_CACHE_OFF = 0; + + const RESOURCE_CACHE_AUTOMATIC = 1; // cache template objects by rules + + const RESOURCE_CACHE_TEMPLATE = 2; // cache all template objects + + const RESOURCE_CACHE_ON = 4; // cache source and compiled resources + /**#@-*/ /** @@ -167,26 +223,31 @@ class Smarty extends Smarty_Internal_TemplateBase public static $global_tpl_vars = array(); /** - * error handler returned by set_error_hanlder() in Smarty::muteExpectedErrors() + * error handler returned by set_error_handler() in Smarty::muteExpectedErrors() */ public static $_previous_error_handler = null; + /** * contains directories outside of SMARTY_DIR that are to be muted by muteExpectedErrors() */ public static $_muted_directories = array(); + /** * Flag denoting if Multibyte String functions are available */ public static $_MBSTRING = SMARTY_MBSTRING; + /** * The character set to adhere to (e.g. "UTF-8") */ public static $_CHARSET = SMARTY_RESOURCE_CHAR_SET; + /** * The date format to be used internally * (accepts date() and strftime()) */ public static $_DATE_FORMAT = SMARTY_RESOURCE_DATE_FORMAT; + /** * Flag denoting if PCRE should run in UTF-8 mode */ @@ -202,163 +263,152 @@ class Smarty extends Smarty_Internal_TemplateBase */ /** - * auto literal on delimiters with whitspace + * auto literal on delimiters with whitespace * * @var boolean */ public $auto_literal = true; + /** * display error on not assigned variables * * @var boolean */ public $error_unassigned = false; + /** - * look up relative filepaths in include_path + * look up relative file path in include_path * * @var boolean */ public $use_include_path = false; + /** * template directory * * @var array */ - private $template_dir = array(); + private $template_dir = array('./templates/'); + /** * joined template directory string used in cache keys * * @var string */ - public $joined_template_dir = null; + public $_joined_template_dir = null; + /** * joined config directory string used in cache keys * * @var string */ - public $joined_config_dir = null; + public $_joined_config_dir = null; + /** * default template handler * * @var callable */ public $default_template_handler_func = null; + /** * default config handler * * @var callable */ public $default_config_handler_func = null; + /** * default plugin handler * * @var callable */ public $default_plugin_handler_func = null; + /** * compile directory * * @var string */ - private $compile_dir = null; + private $compile_dir = './templates_c/'; + /** * plugins directory * * @var array */ - private $plugins_dir = array(); + private $plugins_dir = null; + /** * cache directory * * @var string */ - private $cache_dir = null; + private $cache_dir = './cache/'; + /** * config directory * * @var array */ - private $config_dir = array(); + private $config_dir = array('./configs/'); + /** * force template compiling? * * @var boolean */ public $force_compile = false; + /** * check template for modifications? * * @var boolean */ public $compile_check = true; + /** * use sub dirs for compiled/cached files? * * @var boolean */ public $use_sub_dirs = false; + /** * allow ambiguous resources (that are made unique by the resource handler) * * @var boolean */ public $allow_ambiguous_resources = false; - /** - * caching enabled - * - * @var boolean - */ - public $caching = false; + /** * merge compiled includes * * @var boolean */ public $merge_compiled_includes = false; - /** - * template inheritance merge compiled includes - * - * @var boolean - */ - public $inheritance_merge_compiled_includes = true; - /** - * cache lifetime in seconds - * - * @var integer - */ - public $cache_lifetime = 3600; + /** * force cache file creation * * @var boolean */ public $force_cache = false; - /** - * Set this if you want different sets of cache files for the same - * templates. - * - * @var string - */ - public $cache_id = null; - /** - * Set this if you want different sets of compiled files for the same - * templates. - * - * @var string - */ - public $compile_id = null; + /** * template left-delimiter * * @var string */ public $left_delimiter = "{"; + /** * template right-delimiter * * @var string */ public $right_delimiter = "}"; + /**#@+ * security */ @@ -370,33 +420,28 @@ class Smarty extends Smarty_Internal_TemplateBase * @see Smarty_Security */ public $security_class = 'Smarty_Security'; + /** * implementation of security class * * @var Smarty_Security */ public $security_policy = null; + /** * controls handling of PHP-blocks * * @var integer */ public $php_handling = self::PHP_PASSTHRU; + /** * controls if the php template file resource is allowed * * @var bool */ public $allow_php_templates = false; - /** - * Should compiled-templates be prevented from being called directly? - * {@internal - * Currently used by Smarty_Internal_Template only. - * }} - * - * @var boolean - */ - public $direct_access_security = true; + /**#@-*/ /** * debug mode @@ -405,6 +450,7 @@ class Smarty extends Smarty_Internal_TemplateBase * @var boolean */ public $debugging = false; + /** * This determines if debugging is enable-able from the browser. * <ul> @@ -415,32 +461,29 @@ class Smarty extends Smarty_Internal_TemplateBase * @var string */ public $debugging_ctrl = 'NONE'; + /** * Name of debugging URL-param. * Only used when $debugging_ctrl is set to 'URL'. * The name of the URL-parameter that activates debugging. * - * @var type + * @var string */ public $smarty_debug_id = 'SMARTY_DEBUG'; + /** * Path of debug template. * * @var string */ public $debug_tpl = null; + /** * When set, smarty uses this value as error_reporting-level. * * @var int */ public $error_reporting = null; - /** - * Internal flag for getTags() - * - * @var boolean - */ - public $get_used_tags = false; /**#@+ * config var settings @@ -452,12 +495,14 @@ class Smarty extends Smarty_Internal_TemplateBase * @var boolean */ public $config_overwrite = true; + /** * Controls whether config values of on/true/yes and off/false/no get converted to boolean. * * @var boolean */ public $config_booleanize = true; + /** * Controls whether hidden config sections/vars are read from the file. * @@ -477,12 +522,14 @@ class Smarty extends Smarty_Internal_TemplateBase * @var boolean */ public $compile_locking = true; + /** - * Controls whether cache resources should emply locking mechanism + * Controls whether cache resources should use locking mechanism * * @var boolean */ public $cache_locking = false; + /** * seconds to wait for acquiring a lock before ignoring the write lock * @@ -493,18 +540,13 @@ class Smarty extends Smarty_Internal_TemplateBase /**#@-*/ /** - * global template functions - * - * @var array - */ - public $template_functions = array(); - /** * resource type used if none given * Must be an valid key of $registered_resources. * * @var string */ public $default_resource_type = 'file'; + /** * caching type * Must be an element of $cache_resource_types. @@ -512,255 +554,162 @@ class Smarty extends Smarty_Internal_TemplateBase * @var string */ public $caching_type = 'file'; - /** - * internal config properties - * - * @var array - */ - public $properties = array(); + /** * config type * * @var string */ public $default_config_type = 'file'; + /** - * cached template objects + * enable resource caching * - * @var array + * @var bool */ - public $template_objects = array(); + public $resource_cache_mode = 1; + /** * check If-Modified-Since headers * * @var boolean */ public $cache_modified_check = false; + /** * registered plugins * * @var array */ public $registered_plugins = array(); - /** - * plugin search order - * - * @var array - */ - public $plugin_search_order = array('function', 'block', 'compiler', 'class'); + /** * registered objects * * @var array */ public $registered_objects = array(); + /** * registered classes * * @var array */ public $registered_classes = array(); + /** * registered filters * * @var array */ public $registered_filters = array(); + /** * registered resources * * @var array */ public $registered_resources = array(); - /** - * resource handler cache - * - * @var array - */ - public $_resource_handlers = array(); + /** * registered cache resources * * @var array */ public $registered_cache_resources = array(); - /** - * cache resource handler cache - * - * @var array - */ - public $_cacheresource_handlers = array(); + /** * autoload filter * * @var array */ public $autoload_filters = array(); + /** * default modifier * * @var array */ public $default_modifiers = array(); + /** * autoescape variable output * * @var boolean */ public $escape_html = false; - /** - * global internal smarty vars - * - * @var array - */ - public static $_smarty_vars = array(); + /** * start time for execution time calculation * * @var int */ public $start_time = 0; - /** - * default file permissions - * - * @var int - */ - public $_file_perms = 0644; - /** - * default dir permissions - * - * @var int - */ - public $_dir_perms = 0771; - /** - * block tag hierarchy - * - * @var array - */ - public $_tag_stack = array(); - /** - * self pointer to Smarty object - * - * @var Smarty - */ - public $smarty; + /** * required by the compiler for BC * * @var string */ public $_current_file = null; + /** * internal flag to enable parser debugging * * @var bool */ public $_parserdebug = false; + /** - * Saved parameter of merged templates during compilation + * This object type (Smarty = 1, template = 2, data = 4) * - * @var array + * @var int + */ + public $_objType = 1; + + /** + * Debug object + * + * @var Smarty_Internal_Debug */ - public $merged_templates_func = array(); + public $_debug = null; /** - * Cache of is_file results of loadPlugin() - * + * removed properties + * * @var array */ - public static $_is_file_cache= array(); + private static $obsoleteProperties = array('resource_caching', 'template_resource_caching', + 'direct_access_security', '_dir_perms', '_file_perms', + 'plugin_search_order', 'inheritance_merge_compiled_includes'); + + private static $accessMap = array('template_dir' => 'getTemplateDir', 'config_dir' => 'getConfigDir', + 'plugins_dir' => 'getPluginsDir', 'compile_dir' => 'getCompileDir', + 'cache_dir' => 'getCacheDir',); /**#@-*/ /** * Initialize new Smarty object - */ public function __construct() { - // selfpointer needed by some other class methods - $this->smarty = $this; + parent::__construct(); if (is_callable('mb_internal_encoding')) { mb_internal_encoding(Smarty::$_CHARSET); } $this->start_time = microtime(true); - // set default dirs - $this->setTemplateDir('.' . DS . 'templates' . DS) - ->setCompileDir('.' . DS . 'templates_c' . DS) - ->setPluginsDir(SMARTY_PLUGINS_DIR) - ->setCacheDir('.' . DS . 'cache' . DS) - ->setConfigDir('.' . DS . 'configs' . DS); - - $this->debug_tpl = 'file:' . dirname(__FILE__) . '/debug.tpl'; + if (isset($_SERVER['SCRIPT_NAME'])) { - $this->assignGlobal('SCRIPT_NAME', $_SERVER['SCRIPT_NAME']); + Smarty::$global_tpl_vars['SCRIPT_NAME'] = new Smarty_Variable($_SERVER['SCRIPT_NAME']); } - } - /** - * Class destructor - */ - public function __destruct() - { - // intentionally left blank - } - - /** - * <<magic>> set selfpointer on cloned object - */ - public function __clone() - { - $this->smarty = $this; - } - - /** - * <<magic>> Generic getter. - * Calls the appropriate getter function. - * Issues an E_USER_NOTICE if no valid getter is found. - * - * @param string $name property name - * - * @return mixed - */ - public function __get($name) - { - $allowed = array( - 'template_dir' => 'getTemplateDir', - 'config_dir' => 'getConfigDir', - 'plugins_dir' => 'getPluginsDir', - 'compile_dir' => 'getCompileDir', - 'cache_dir' => 'getCacheDir', - ); - - if (isset($allowed[$name])) { - return $this->{$allowed[$name]}(); - } else { - trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); - } - } + // Check if we're running on windows + Smarty::$_IS_WINDOWS = strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; - /** - * <<magic>> Generic setter. - * Calls the appropriate setter function. - * Issues an E_USER_NOTICE if no valid setter is found. - * - * @param string $name property name - * @param mixed $value parameter passed to setter - */ - public function __set($name, $value) - { - $allowed = array( - 'template_dir' => 'setTemplateDir', - 'config_dir' => 'setConfigDir', - 'plugins_dir' => 'setPluginsDir', - 'compile_dir' => 'setCompileDir', - 'cache_dir' => 'setCacheDir', - ); - - if (isset($allowed[$name])) { - $this->{$allowed[$name]}($value); - } else { - trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); + // let PCRE (preg_*) treat strings as ISO-8859-1 if we're not dealing with UTF-8 + if (Smarty::$_CHARSET !== 'UTF-8') { + Smarty::$_UTF8_MODIFIER = ''; } } @@ -773,14 +722,9 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function templateExists($resource_name) { - // create template object - $save = $this->template_objects; - $tpl = new $this->template_class($resource_name, $this); - // check if it does exists - $result = $tpl->source->exists; - $this->template_objects = $save; - - return $result; + // create source object + $source = Smarty_Template_Source::load(null, $this, $resource_name); + return $source->exists; } /** @@ -809,43 +753,6 @@ class Smarty extends Smarty_Internal_TemplateBase } /** - * Empty cache folder - * - * @param integer $exp_time expiration time - * @param string $type resource type - * - * @return integer number of cache files deleted - */ - public function clearAllCache($exp_time = null, $type = null) - { - // load cache resource and call clearAll - $_cache_resource = Smarty_CacheResource::load($this, $type); - Smarty_CacheResource::invalidLoadedCache($this); - - return $_cache_resource->clearAll($this, $exp_time); - } - - /** - * Empty cache for a specific template - * - * @param string $template_name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * @param integer $exp_time expiration time - * @param string $type resource type - * - * @return integer number of cache files deleted - */ - public function clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) - { - // load cache resource and call clear - $_cache_resource = Smarty_CacheResource::load($this, $type); - Smarty_CacheResource::invalidLoadedCache($this); - - return $_cache_resource->clear($this, $template_name, $cache_id, $compile_id, $exp_time); - } - - /** * Loads security class and enables security * * @param string|Smarty_Security $security_class if a string is used, it must be class-name @@ -855,24 +762,7 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function enableSecurity($security_class = null) { - if ($security_class instanceof Smarty_Security) { - $this->security_policy = $security_class; - - return $this; - } elseif (is_object($security_class)) { - throw new SmartyException("Class '" . get_class($security_class) . "' must extend Smarty_Security."); - } - if ($security_class == null) { - $security_class = $this->security_class; - } - if (!class_exists($security_class)) { - throw new SmartyException("Security class '$security_class' is not defined"); - } elseif ($security_class !== 'Smarty_Security' && !is_subclass_of($security_class, 'Smarty_Security')) { - throw new SmartyException("Class '$security_class' must extend Smarty_Security."); - } else { - $this->security_policy = new $security_class($this); - } - + Smarty_Security::enableSecurity($this, $security_class); return $this; } @@ -892,18 +782,18 @@ class Smarty extends Smarty_Internal_TemplateBase * Set template directory * * @param string|array $template_dir directory(s) of template sources + * @param bool $isConfig true for config_dir * - * @return Smarty current Smarty instance for chaining + * @return \Smarty current Smarty instance for chaining */ - public function setTemplateDir($template_dir) + public function setTemplateDir($template_dir, $isConfig = false) { - $this->template_dir = array(); - foreach ((array) $template_dir as $k => $v) { - $this->template_dir[$k] = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - } - - $this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir); - + $type = $isConfig ? 'config_dir' : 'template_dir'; + $joined = '_joined_' . $type; + $this->{$type} = (array) $template_dir; + $this->{$joined} = join(' # ', $this->{$type}); + $this->_cache[$type . '_new'] = true; + $this->_cache[$type] = false; return $this; } @@ -912,55 +802,53 @@ class Smarty extends Smarty_Internal_TemplateBase * * @param string|array $template_dir directory(s) of template sources * @param string $key of the array element to assign the template dir to + * @param bool $isConfig true for config_dir * * @return Smarty current Smarty instance for chaining - * @throws SmartyException when the given template directory is not valid */ - public function addTemplateDir($template_dir, $key = null) + public function addTemplateDir($template_dir, $key = null, $isConfig = false) { - // make sure we're dealing with an array - $this->template_dir = (array) $this->template_dir; - - if (is_array($template_dir)) { - foreach ($template_dir as $k => $v) { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - if (is_int($k)) { - // indexes are not merged but appended - $this->template_dir[] = $v; - } else { - // string indexes are overridden - $this->template_dir[$k] = $v; - } - } - } else { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($template_dir, '/\\')) . DS; - if ($key !== null) { - // override directory at specified index - $this->template_dir[$key] = $v; - } else { - // append new directory - $this->template_dir[] = $v; - } + $type = $isConfig ? 'config_dir' : 'template_dir'; + $joined = '_joined_' . $type; + if (!isset($this->_cache[$type])) { + $this->{$type} = (array) $this->{$type}; + $this->{$joined} = join(' # ', $this->{$type}); + $this->_cache[$type . '_new'] = true; + $this->_cache[$type] = false; } - $this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir); - + $this->{$joined} .= ' # ' . join(' # ', (array) $template_dir); + $this->_addDir($type, $template_dir, $key); return $this; } /** * Get template directories * - * @param mixed $index index of directory to get, null to get all + * @param mixed $index index of directory to get, null to get all + * @param bool $isConfig true for config_dir * - * @return array|string list of template directories, or directory of $index + * @return array list of template directories, or directory of $index */ - public function getTemplateDir($index = null) + public function getTemplateDir($index = null, $isConfig = false) { + $type = $isConfig ? 'config_dir' : 'template_dir'; + if (!isset($this->_cache[$type])) { + $joined = '_joined_' . $type; + $this->{$type} = (array) $this->{$type}; + $this->{$joined} = join(' # ', $this->{$type}); + $this->_cache[$type] = false; + } + if ($this->_cache[$type] == false) { + foreach ($this->{$type} as $k => $v) { + $this->{$type}[$k] = $this->_realpath($v . DS, true); + } + $this->_cache[$type . '_new'] = true; + $this->_cache[$type] = true; + } if ($index !== null) { - return isset($this->template_dir[$index]) ? $this->template_dir[$index] : null; + return isset($this->{$type}[$index]) ? $this->{$type}[$index] : null; } - - return (array) $this->template_dir; + return $this->{$type}; } /** @@ -972,54 +860,20 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function setConfigDir($config_dir) { - $this->config_dir = array(); - foreach ((array) $config_dir as $k => $v) { - $this->config_dir[$k] = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - } - - $this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir); - - return $this; + return $this->setTemplateDir($config_dir, true); } /** * Add config directory(s) * - * @param string|array $config_dir directory(s) of config sources - * @param mixed $key key of the array element to assign the config dir to + * @param string|array $config_dir directory(s) of config sources + * @param mixed $key key of the array element to assign the config dir to * * @return Smarty current Smarty instance for chaining */ public function addConfigDir($config_dir, $key = null) { - // make sure we're dealing with an array - $this->config_dir = (array) $this->config_dir; - - if (is_array($config_dir)) { - foreach ($config_dir as $k => $v) { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - if (is_int($k)) { - // indexes are not merged but appended - $this->config_dir[] = $v; - } else { - // string indexes are overridden - $this->config_dir[$k] = $v; - } - } - } else { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($config_dir, '/\\')) . DS; - if ($key !== null) { - // override directory at specified index - $this->config_dir[$key] = rtrim($v, '/\\') . DS; - } else { - // append new directory - $this->config_dir[] = rtrim($v, '/\\') . DS; - } - } - - $this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir); - - return $this; + return $this->addTemplateDir($config_dir, $key, true); } /** @@ -1027,15 +881,11 @@ class Smarty extends Smarty_Internal_TemplateBase * * @param mixed $index index of directory to get, null to get all * - * @return array|string configuration directory + * @return array configuration directory */ public function getConfigDir($index = null) { - if ($index !== null) { - return isset($this->config_dir[$index]) ? $this->config_dir[$index] : null; - } - - return (array) $this->config_dir; + return $this->getTemplateDir($index, true); } /** @@ -1047,11 +897,10 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function setPluginsDir($plugins_dir) { - $this->plugins_dir = array(); - foreach ((array) $plugins_dir as $k => $v) { - $this->plugins_dir[$k] = rtrim($v, '/\\') . DS; + $this->plugins_dir = (array) $plugins_dir; + if (isset($this->_cache['plugins_dir'])) { + unset($this->_cache['plugins_dir']); } - return $this; } @@ -1064,26 +913,13 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function addPluginsDir($plugins_dir) { - // make sure we're dealing with an array - $this->plugins_dir = (array) $this->plugins_dir; - - if (is_array($plugins_dir)) { - foreach ($plugins_dir as $k => $v) { - if (is_int($k)) { - // indexes are not merged but appended - $this->plugins_dir[] = rtrim($v, '/\\') . DS; - } else { - // string indexes are overridden - $this->plugins_dir[$k] = rtrim($v, '/\\') . DS; - } - } - } else { - // append new directory - $this->plugins_dir[] = rtrim($plugins_dir, '/\\') . DS; + if (!isset($this->plugins_dir)) { + $this->plugins_dir = array(SMARTY_PLUGINS_DIR); + } + $this->plugins_dir = array_merge((array) $this->plugins_dir, (array) $plugins_dir); + if (isset($this->_cache['plugins_dir'])) { + unset($this->_cache['plugins_dir']); } - - $this->plugins_dir = array_unique($this->plugins_dir); - return $this; } @@ -1094,7 +930,21 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function getPluginsDir() { - return (array) $this->plugins_dir; + if (!isset($this->_cache['plugins_dir'])) { + if (!isset($this->plugins_dir)) { + $this->plugins_dir = array(SMARTY_PLUGINS_DIR); + } else { + $plugins_dir = (array) $this->plugins_dir; + $this->plugins_dir = array(); + foreach ($plugins_dir as $v) { + $this->plugins_dir[] = $this->_realpath($v . DS, true); + } + $this->plugins_dir = array_unique($this->plugins_dir); + } + $this->_cache['plugin_files'] = array(); + $this->_cache['plugins_dir'] = true; + } + return $this->plugins_dir; } /** @@ -1106,11 +956,11 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function setCompileDir($compile_dir) { - $this->compile_dir = rtrim($compile_dir, '/\\') . DS; + $this->compile_dir = $this->_realpath($compile_dir . DS, true); if (!isset(Smarty::$_muted_directories[$this->compile_dir])) { Smarty::$_muted_directories[$this->compile_dir] = null; } - + $this->_cache['compile_dir'] = true; return $this; } @@ -1121,6 +971,13 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function getCompileDir() { + if (!isset($this->_cache['compile_dir'])) { + $this->compile_dir = $this->_realpath($this->compile_dir . DS, true); + if (!isset(Smarty::$_muted_directories[$this->compile_dir])) { + Smarty::$_muted_directories[$this->compile_dir] = null; + } + $this->_cache['compile_dir'] = true; + } return $this->compile_dir; } @@ -1133,11 +990,11 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function setCacheDir($cache_dir) { - $this->cache_dir = rtrim($cache_dir, '/\\') . DS; + $this->cache_dir = $this->_realpath($cache_dir . DS, true); if (!isset(Smarty::$_muted_directories[$this->cache_dir])) { Smarty::$_muted_directories[$this->cache_dir] = null; } - + $this->_cache['cache_dir'] = true; return $this; } @@ -1148,347 +1005,370 @@ class Smarty extends Smarty_Internal_TemplateBase */ public function getCacheDir() { + if (!isset($this->_cache['cache_dir'])) { + $this->cache_dir = $this->_realpath($this->cache_dir . DS, true); + if (!isset(Smarty::$_muted_directories[$this->cache_dir])) { + Smarty::$_muted_directories[$this->cache_dir] = null; + } + $this->_cache['cache_dir'] = true; + } return $this->cache_dir; } /** - * Set default modifiers + * add directories to given property name * - * @param array|string $modifiers modifier or list of modifiers to set - * - * @return Smarty current Smarty instance for chaining + * @param string $dirName directory property name + * @param string|array $dir directory string or array of strings + * @param mixed $key optional key */ - public function setDefaultModifiers($modifiers) + private function _addDir($dirName, $dir, $key = null) { - $this->default_modifiers = (array) $modifiers; - - return $this; + $rp = $this->_cache[$dirName]; + if (is_array($dir)) { + foreach ($dir as $k => $v) { + $path = $rp ? $this->_realpath($v . DS, true) : $v; + if (is_int($k)) { + // indexes are not merged but appended + $this->{$dirName}[] = $path; + } else { + // string indexes are overridden + $this->{$dirName}[$k] = $path; + } + } + } else { + $path = $rp ? $this->_realpath($dir . DS, true) : $dir; + if ($key !== null) { + // override directory at specified index + $this->{$dirName}[$key] = $path; + } else { + // append new directory + $this->{$dirName}[] = $path; + } + } } /** - * Add default modifiers + * creates a template object * - * @param array|string $modifiers modifier or list of modifiers to add + * @param string $template the resource handle of the template file + * @param mixed $cache_id cache id to be used with this template + * @param mixed $compile_id compile id to be used with this template + * @param object $parent next higher level of Smarty variables + * @param boolean $do_clone flag is Smarty object shall be cloned * - * @return Smarty current Smarty instance for chaining + * @return object template object */ - public function addDefaultModifiers($modifiers) + public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null, $do_clone = true) { - if (is_array($modifiers)) { - $this->default_modifiers = array_merge($this->default_modifiers, $modifiers); + if ($cache_id !== null && (is_object($cache_id) || is_array($cache_id))) { + $parent = $cache_id; + $cache_id = null; + } + if ($parent !== null && is_array($parent)) { + $data = $parent; + $parent = null; } else { - $this->default_modifiers[] = $modifiers; + $data = null; } - - return $this; + if ($this->caching && + isset($this->_cache['isCached'][$_templateId = $this->_getTemplateId($template, $cache_id, $compile_id)]) + ) { + $tpl = $do_clone ? clone $this->_cache['isCached'][$_templateId] : $this->_cache['isCached'][$_templateId]; + $tpl->parent = $parent; + $tpl->tpl_vars = array(); + $tpl->config_vars = array(); + } else { + /* @var Smarty_Internal_Template $tpl */ + $tpl = new $this->template_class($template, $this, $parent, $cache_id, $compile_id, null, null); + } + if ($do_clone) { + $tpl->smarty = clone $tpl->smarty; + } elseif ($parent === null) { + $tpl->parent = $this; + } + // fill data if present + if (!empty($data) && is_array($data)) { + // set up variable values + foreach ($data as $_key => $_val) { + $tpl->tpl_vars[$_key] = new Smarty_Variable($_val); + } + } + if ($this->debugging) { + $tpl->smarty->_debug = new Smarty_Internal_Debug(); + } + return $tpl; } /** - * Get default modifiers + * Takes unknown classes and loads plugin files for them + * class name format: Smarty_PluginType_PluginName + * plugin filename format: plugintype.pluginname.php + * + * @param string $plugin_name class plugin name to load + * @param bool $check check if already loaded * - * @return array list of default modifiers + * @throws SmartyException + * @return string |boolean filepath of loaded file or false */ - public function getDefaultModifiers() + public function loadPlugin($plugin_name, $check = true) { - return $this->default_modifiers; + return $this->ext->loadPlugin->loadPlugin($this, $plugin_name, $check); } /** - * Set autoload filters + * Get unique template id * - * @param array $filters filters to load automatically - * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types + * @param string $template_name + * @param null|mixed $cache_id + * @param null|mixed $compile_id + * @param null $caching * - * @return Smarty current Smarty instance for chaining + * @return string */ - public function setAutoloadFilters($filters, $type = null) + public function _getTemplateId($template_name, $cache_id = null, $compile_id = null, $caching = null) { - if ($type !== null) { - $this->autoload_filters[$type] = (array) $filters; + $cache_id = $cache_id === null ? $this->cache_id : $cache_id; + $compile_id = $compile_id === null ? $this->compile_id : $compile_id; + $caching = (int) ($caching === null ? $this->caching : $caching); + + if ($this->allow_ambiguous_resources) { + $_templateId = + Smarty_Resource::getUniqueTemplateName($this, $template_name) . "#{$cache_id}#{$compile_id}#{$caching}"; } else { - $this->autoload_filters = (array) $filters; + $_templateId = $this->_joined_template_dir . "#{$template_name}#{$cache_id}#{$compile_id}#{$caching}"; } - - return $this; + if (isset($_templateId[150])) { + $_templateId = sha1($_templateId); + } + return $_templateId; } /** - * Add autoload filters + * Normalize path + * - remove /./ and /../ + * - make it absolute if required * - * @param array $filters filters to load automatically - * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types + * @param string $path file path + * @param bool $realpath leave $path relative * - * @return Smarty current Smarty instance for chaining + * @return string */ - public function addAutoloadFilters($filters, $type = null) + public function _realpath($path, $realpath = null) { - if ($type !== null) { - if (!empty($this->autoload_filters[$type])) { - $this->autoload_filters[$type] = array_merge($this->autoload_filters[$type], (array) $filters); - } else { - $this->autoload_filters[$type] = (array) $filters; - } - } else { - foreach ((array) $filters as $key => $value) { - if (!empty($this->autoload_filters[$key])) { - $this->autoload_filters[$key] = array_merge($this->autoload_filters[$key], (array) $value); - } else { - $this->autoload_filters[$key] = (array) $value; - } - } + static $pattern = null; + static $nds = null; + if ($pattern == null) { + $nds = DS == '/' ? '\\' : '/'; + $ds = '\\' . DS; + $pattern = + "#([{$ds}]+[^{$ds}]+[{$ds}]+[.]([{$ds}]+[.])*[.][{$ds}]+([.][{$ds}]+)*)|([{$ds}]+([.][{$ds}]+)+)|[{$ds}]{2,}#"; + } + // normalize DS + if (strpos($path, $nds) !== false) { + $path = str_replace($nds, DS, $path); } - return $this; + if ($realpath === true && $path[0] !== '/' && $path[1] !== ':') { + $path = getcwd() . DS . $path; + } + while ((strpos($path, '.' . DS) !== false) || (strpos($path, DS . DS) !== false)) { + $path = preg_replace($pattern, DS, $path); + } + if ($realpath === false && ($path[0] == '/' || $path[1] == ':')) { + $path = str_ireplace(getcwd(), '.', $path); + } + return $path; } /** - * Get autoload filters - * - * @param string $type type of filter to get autoloads for. Defaults to all autoload filters - * - * @return array array( 'type1' => array( 'filter1', 'filter2', … ) ) or array( 'filter1', 'filter2', …) if $type was specified + * @param boolean $compile_check */ - public function getAutoloadFilters($type = null) + public function setCompileCheck($compile_check) { - if ($type !== null) { - return isset($this->autoload_filters[$type]) ? $this->autoload_filters[$type] : array(); - } + $this->compile_check = $compile_check; + } - return $this->autoload_filters; + /** + * @param boolean $use_sub_dirs + */ + public function setUseSubDirs($use_sub_dirs) + { + $this->use_sub_dirs = $use_sub_dirs; } /** - * return name of debugging template - * - * @return string + * @param int $error_reporting */ - public function getDebugTemplate() + public function setErrorReporting($error_reporting) { - return $this->debug_tpl; + $this->error_reporting = $error_reporting; } /** - * set the debug template - * - * @param string $tpl_name - * - * @return Smarty current Smarty instance for chaining - * @throws SmartyException if file is not readable + * @param boolean $escape_html */ - public function setDebugTemplate($tpl_name) + public function setEscapeHtml($escape_html) { - if (!is_readable($tpl_name)) { - throw new SmartyException("Unknown file '{$tpl_name}'"); - } - $this->debug_tpl = $tpl_name; + $this->escape_html = $escape_html; + } - return $this; + /** + * @param boolean $auto_literal + */ + public function setAutoLiteral($auto_literal) + { + $this->auto_literal = $auto_literal; } /** - * creates a template object - * - * @param string $template the resource handle of the template file - * @param mixed $cache_id cache id to be used with this template - * @param mixed $compile_id compile id to be used with this template - * @param object $parent next higher level of Smarty variables - * @param boolean $do_clone flag is Smarty object shall be cloned - * - * @return object template object + * @param boolean $force_compile */ - public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null, $do_clone = true) + public function setForceCompile($force_compile) { - if ($cache_id !== null && (is_object($cache_id) || is_array($cache_id))) { - $parent = $cache_id; - $cache_id = null; - } - if ($parent !== null && is_array($parent)) { - $data = $parent; - $parent = null; - } else { - $data = null; - } - // default to cache_id and compile_id of Smarty object - $cache_id = $cache_id === null ? $this->cache_id : $cache_id; - $compile_id = $compile_id === null ? $this->compile_id : $compile_id; - // already in template cache? - if ($this->allow_ambiguous_resources) { - $_templateId = Smarty_Resource::getUniqueTemplateName($this, $template) . $cache_id . $compile_id; - } else { - $_templateId = $this->joined_template_dir . '#' . $template . $cache_id . $compile_id; - } - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); - } - if ($do_clone) { - if (isset($this->template_objects[$_templateId])) { - // return cached template object - $tpl = clone $this->template_objects[$_templateId]; - $tpl->smarty = clone $tpl->smarty; - $tpl->parent = $parent; - $tpl->tpl_vars = array(); - $tpl->config_vars = array(); - } else { - $tpl = new $this->template_class($template, clone $this, $parent, $cache_id, $compile_id); - } - } else { - if (isset($this->template_objects[$_templateId])) { - // return cached template object - $tpl = $this->template_objects[$_templateId]; - $tpl->parent = $parent; - $tpl->tpl_vars = array(); - $tpl->config_vars = array(); - } else { - $tpl = new $this->template_class($template, $this, $parent, $cache_id, $compile_id); - } - } - // fill data if present - if (!empty($data) && is_array($data)) { - // set up variable values - foreach ($data as $_key => $_val) { - $tpl->tpl_vars[$_key] = new Smarty_variable($_val); - } - } + $this->force_compile = $force_compile; + } - return $tpl; + /** + * @param boolean $merge_compiled_includes + */ + public function setMergeCompiledIncludes($merge_compiled_includes) + { + $this->merge_compiled_includes = $merge_compiled_includes; } /** - * Takes unknown classes and loads plugin files for them - * class name format: Smarty_PluginType_PluginName - * plugin filename format: plugintype.pluginname.php - * - * @param string $plugin_name class plugin name to load - * @param bool $check check if already loaded - * - * @throws SmartyException - * @return string |boolean filepath of loaded file or false + * @param string $left_delimiter */ - public function loadPlugin($plugin_name, $check = true) + public function setLeftDelimiter($left_delimiter) { - // if function or class exists, exit silently (already loaded) - if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false))) { - return true; - } - // Plugin name is expected to be: Smarty_[Type]_[Name] - $_name_parts = explode('_', $plugin_name, 3); - // class name must have three parts to be valid plugin - // count($_name_parts) < 3 === !isset($_name_parts[2]) - if (!isset($_name_parts[2]) || strtolower($_name_parts[0]) !== 'smarty') { - throw new SmartyException("plugin {$plugin_name} is not a valid name format"); - } - // if type is "internal", get plugin from sysplugins - if (strtolower($_name_parts[1]) == 'internal') { - $file = SMARTY_SYSPLUGINS_DIR . strtolower($plugin_name) . '.php'; - if (isset(self::$_is_file_cache[$file]) ? self::$_is_file_cache[$file] : self::$_is_file_cache[$file] = is_file($file)) { - require_once($file); - return $file; - } else { - return false; - } - } - // plugin filename is expected to be: [type].[name].php - $_plugin_filename = "{$_name_parts[1]}.{$_name_parts[2]}.php"; - - $_stream_resolve_include_path = function_exists('stream_resolve_include_path'); - - // loop through plugin dirs and find the plugin - foreach ($this->getPluginsDir() as $_plugin_dir) { - $names = array( - $_plugin_dir . $_plugin_filename, - $_plugin_dir . strtolower($_plugin_filename), - ); - foreach ($names as $file) { - if (isset(self::$_is_file_cache[$file]) ? self::$_is_file_cache[$file] : self::$_is_file_cache[$file] = is_file($file)) { - require_once($file); - return $file; - } - if ($this->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_plugin_dir)) { - // try PHP include_path - if ($_stream_resolve_include_path) { - $file = stream_resolve_include_path($file); - } else { - $file = Smarty_Internal_Get_Include_Path::getIncludePath($file); - } - - if ($file !== false) { - require_once($file); - - return $file; - } - } - } - } - // no plugin loaded - return false; + $this->left_delimiter = $left_delimiter; } /** - * Compile all template files - * - * @param string $extension file extension - * @param bool $force_compile force all to recompile - * @param int $time_limit - * @param int $max_errors - * - * @return integer number of template files recompiled + * @param string $right_delimiter */ - public function compileAllTemplates($extension = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null) + public function setRightDelimiter($right_delimiter) { - return Smarty_Internal_Utility::compileAllTemplates($extension, $force_compile, $time_limit, $max_errors, $this); + $this->right_delimiter = $right_delimiter; } /** - * Compile all config files - * - * @param string $extension file extension - * @param bool $force_compile force all to recompile - * @param int $time_limit - * @param int $max_errors - * - * @return integer number of template files recompiled + * @param boolean $debugging */ - public function compileAllConfig($extension = '.conf', $force_compile = false, $time_limit = 0, $max_errors = null) + public function setDebugging($debugging) { - return Smarty_Internal_Utility::compileAllConfig($extension, $force_compile, $time_limit, $max_errors, $this); + $this->debugging = $debugging; } /** - * Delete compiled template file - * - * @param string $resource_name template name - * @param string $compile_id compile id - * @param integer $exp_time expiration time + * @param boolean $config_overwrite + */ + public function setConfigOverwrite($config_overwrite) + { + $this->config_overwrite = $config_overwrite; + } + + /** + * @param boolean $config_booleanize + */ + public function setConfigBooleanize($config_booleanize) + { + $this->config_booleanize = $config_booleanize; + } + + /** + * @param boolean $config_read_hidden + */ + public function setConfigReadHidden($config_read_hidden) + { + $this->config_read_hidden = $config_read_hidden; + } + + /** + * @param boolean $compile_locking + */ + public function setCompileLocking($compile_locking) + { + $this->compile_locking = $compile_locking; + } + + /** + * @param string $default_resource_type + */ + public function setDefaultResourceType($default_resource_type) + { + $this->default_resource_type = $default_resource_type; + } + + /** + * @param string $caching_type + */ + public function setCachingType($caching_type) + { + $this->caching_type = $caching_type; + } + + /** + * Test install * - * @return integer number of template files deleted + * @param null $errors */ - public function clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null) + public function testInstall(&$errors = null) + { + Smarty_Internal_TestInstall::testInstall($this, $errors); + } + + /** + * Class destructor + */ + public function __destruct() { - return Smarty_Internal_Utility::clearCompiledTemplate($resource_name, $compile_id, $exp_time, $this); + $i = 0;// intentionally left blank } /** - * Return array of tag/attributes of all tags used by an template + * <<magic>> Generic getter. + * Calls the appropriate getter function. + * Issues an E_USER_NOTICE if no valid getter is found. * - * @param Smarty_Internal_Template $template + * @param string $name property name * - * @return array of tag/attributes + * @return mixed */ - public function getTags(Smarty_Internal_Template $template) + public function __get($name) { - return Smarty_Internal_Utility::getTags($template); + + if (isset(self::$accessMap[$name])) { + return $this->{self::$accessMap[$name]}(); + } elseif (in_array($name, self::$obsoleteProperties)) { + return null; + } else { + trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); + } } /** - * Run installation test - * - * @param array $errors Array to write errors into, rather than outputting them + * <<magic>> Generic setter. + * Calls the appropriate setter function. + * Issues an E_USER_NOTICE if no valid setter is found. * - * @return boolean true if setup is fine, false if something is wrong + * @param string $name property name + * @param mixed $value parameter passed to setter */ - public function testInstall(&$errors = null) + public function __set($name, $value) { - return Smarty_Internal_Utility::testInstall($this, $errors); + if (isset(self::$accessMap[$name])) { + $this->{self::$accessMap[$name]}($value); + } elseif (in_array($name, self::$obsoleteProperties)) { + return; + } else { + if (is_object($value) && method_exists($value, $name)) { + $this->$name = $value; + } else { + trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); + } + } } /** @@ -1512,10 +1392,8 @@ class Smarty extends Smarty_Internal_TemplateBase if (!isset(Smarty::$_muted_directories[SMARTY_DIR])) { $smarty_dir = realpath(SMARTY_DIR); if ($smarty_dir !== false) { - Smarty::$_muted_directories[SMARTY_DIR] = array( - 'file' => $smarty_dir, - 'length' => strlen($smarty_dir), - ); + Smarty::$_muted_directories[SMARTY_DIR] = + array('file' => $smarty_dir, 'length' => strlen($smarty_dir),); } } @@ -1529,10 +1407,7 @@ class Smarty extends Smarty_Internal_TemplateBase unset(Smarty::$_muted_directories[$key]); continue; } - $dir = array( - 'file' => $file, - 'length' => strlen($file), - ); + $dir = array('file' => $file, 'length' => strlen($file),); } if (!strncmp($errfile, $dir['file'], $dir['length'])) { $_is_muted_directory = true; @@ -1544,7 +1419,8 @@ class Smarty extends Smarty_Internal_TemplateBase // or the error was within smarty but masked to be ignored if (!$_is_muted_directory || ($errno && $errno & error_reporting())) { if (Smarty::$_previous_error_handler) { - return call_user_func(Smarty::$_previous_error_handler, $errno, $errstr, $errfile, $errline, $errcontext); + return call_user_func(Smarty::$_previous_error_handler, $errno, $errstr, $errfile, $errline, + $errcontext); } else { return false; } @@ -1593,88 +1469,3 @@ class Smarty extends Smarty_Internal_TemplateBase restore_error_handler(); } } - -// Check if we're running on windows -Smarty::$_IS_WINDOWS = strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; - -// let PCRE (preg_*) treat strings as ISO-8859-1 if we're not dealing with UTF-8 -if (Smarty::$_CHARSET !== 'UTF-8') { - Smarty::$_UTF8_MODIFIER = ''; -} - -/** - * Smarty exception class - * - * @package Smarty - */ -class SmartyException extends Exception -{ - public static $escape = false; - - public function __toString() - { - return ' --> Smarty: ' . (self::$escape ? htmlentities($this->message) : $this->message) . ' <-- '; - } -} - -/** - * Smarty compiler exception class - * - * @package Smarty - */ -class SmartyCompilerException extends SmartyException -{ - public function __toString() - { - return ' --> Smarty Compiler: ' . $this->message . ' <-- '; - } - - /** - * The line number of the template error - * - * @type int|null - */ - public $line = null; - /** - * The template source snippet relating to the error - * - * @type string|null - */ - public $source = null; - /** - * The raw text of the error message - * - * @type string|null - */ - public $desc = null; - /** - * The resource identifier or template name - * - * @type string|null - */ - public $template = null; -} - -/** - * Autoloader - */ -function smartyAutoload($class) -{ - $_class = strtolower($class); - static $_classes = array( - 'smarty_config_source' => true, - 'smarty_config_compiled' => true, - 'smarty_security' => true, - 'smarty_cacheresource' => true, - 'smarty_cacheresource_custom' => true, - 'smarty_cacheresource_keyvaluestore' => true, - 'smarty_resource' => true, - 'smarty_resource_custom' => true, - 'smarty_resource_uncompiled' => true, - 'smarty_resource_recompiled' => true, - ); - - if (!strncmp($_class, 'smarty_internal_', 16) || isset($_classes[$_class])) { - include SMARTY_SYSPLUGINS_DIR . $_class . '.php'; - } -} diff --git a/library/Smarty/libs/SmartyBC.class.php b/library/Smarty/libs/SmartyBC.class.php index cec946746..1dd529c9c 100644 --- a/library/Smarty/libs/SmartyBC.class.php +++ b/library/Smarty/libs/SmartyBC.class.php @@ -45,6 +45,13 @@ class SmartyBC extends Smarty public $_version = self::SMARTY_VERSION; /** + * This is an array of directories where trusted php scripts reside. + * + * @var array + */ + public $trusted_dir = array(); + + /** * Initialize new SmartyBC object * * @param array $options options to set during initialization, e.g. array( 'forceCompile' => false ) @@ -52,8 +59,6 @@ class SmartyBC extends Smarty public function __construct(array $options = array()) { parent::__construct($options); - // register {php} tag - $this->registerPlugin('block', 'php', 'smarty_php_tag'); } /** @@ -115,10 +120,10 @@ class SmartyBC extends Smarty /** * Registers object to be used in templates * - * @param string $object name of template object - * @param object $object_impl the referenced PHP object to register - * @param array $allowed list of allowed methods (empty = all) - * @param boolean $smarty_args smarty argument format, else traditional + * @param string $object name of template object + * @param object $object_impl the referenced PHP object to register + * @param array $allowed list of allowed methods (empty = all) + * @param boolean $smarty_args smarty argument format, else traditional * @param array $block_methods list of methods that are block format * * @throws SmartyException @@ -448,20 +453,3 @@ class SmartyBC extends Smarty trigger_error("Smarty error: $error_msg", $error_type); } } - -/** - * Smarty {php}{/php} block function - * - * @param array $params parameter list - * @param string $content contents of the block - * @param object $template template object - * @param boolean &$repeat repeat flag - * - * @return string content re-formatted - */ -function smarty_php_tag($params, $content, $template, &$repeat) -{ - eval($content); - - return ''; -} diff --git a/library/Smarty/libs/debug.tpl b/library/Smarty/libs/debug.tpl index 61b8876a4..5526cbca8 100644 --- a/library/Smarty/libs/debug.tpl +++ b/library/Smarty/libs/debug.tpl @@ -5,7 +5,7 @@ <title>Smarty Debug Console</title> <style type="text/css"> {literal} - body, h1, h2, td, th, p { + body, h1, h2, h3, td, th, p { font-family: sans-serif; font-weight: normal; font-size: 0.9em; @@ -31,6 +31,13 @@ padding: 2px; border-top: 1px solid black; } + h3 { + text-align: left; + font-weight: bold; + color: black; + font-size: 0.7em; + padding: 2px; + } body { background: black; @@ -54,7 +61,6 @@ font-family: monospace; vertical-align: top; text-align: left; - width: 50%; } td { @@ -74,8 +80,20 @@ font-style: italic; } + #bold div { + color: black; + font-weight: bold; + } + #blue h3 { + color: blue; + } + #normal div { + color: black; + font-weight: normal; + } #table_assigned_vars th { color: blue; + font-weight: bold; } #table_config_vars th { @@ -87,18 +105,17 @@ </head> <body> - <h1>Smarty Debug Console - - {if isset($template_name)}{$template_name|debug_print_var nofilter}{else}Total Time {$execution_time|string_format:"%.5f"}{/if}</h1> + <h1>Smarty {Smarty::SMARTY_VERSION} Debug Console + - {if isset($template_name)}{$template_name|debug_print_var nofilter} {/if}{if !empty($template_data)}Total Time {$execution_time|string_format:"%.5f"}{/if}</h1> {if !empty($template_data)} <h2>included templates & config files (load time in seconds)</h2> <div> {foreach $template_data as $template} <font color=brown>{$template.name}</font> - <span class="exectime"> - (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"} - ) - </span> + <br> <span class="exectime"> + (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"}) + </span> <br> {/foreach} </div> @@ -109,19 +126,24 @@ <table id="table_assigned_vars"> {foreach $assigned_vars as $vars} <tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}"> - <th>${$vars@key|escape:'html'}</th> - <td>{$vars|debug_print_var nofilter}</td> - </tr> - {/foreach} + <td><h3><font color=blue>${$vars@key}</font></h3> + {if isset($vars['nocache'])}<b>Nocache</b></br>{/if} + {if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var nofilter}{/if} + </td> + <td><h3>Value</h3>{$vars['value']|debug_print_var:10:80 nofilter}</td> + <td>{if isset($vars['attributes'])}<h3>Attributes</h3>{$vars['attributes']|debug_print_var nofilter} {/if}</td> + {/foreach} </table> - <h2>assigned config file variables (outer template scope)</h2> + <h2>assigned config file variables</h2> <table id="table_config_vars"> {foreach $config_vars as $vars} <tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}"> - <th>{$vars@key|escape:'html'}</th> - <td>{$vars|debug_print_var nofilter}</td> + <td><h3><font color=blue>#{$vars@key}#</font></h3> + {if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var nofilter}{/if} + </td> + <td>{$vars['value']|debug_print_var:10:80 nofilter}</td> </tr> {/foreach} @@ -130,8 +152,9 @@ </html> {/capture} <script type="text/javascript"> - {$id = $template_name|default:''|md5} - _smarty_console = window.open("", "console{$id}", "width=680,height=600,resizable,scrollbars=yes"); + {$id = '__Smarty__'} + {if $display_mode}{$id = "$offset$template_name"|md5}{/if} + _smarty_console = window.open("", "console{$id}", "width=1024,height=600,left={$offset},top={$offset},resizable,scrollbars=yes"); _smarty_console.document.write("{$debug_output|escape:'javascript' nofilter}"); _smarty_console.document.close(); </script> diff --git a/library/Smarty/libs/plugins/modifier.date_format.php b/library/Smarty/libs/plugins/modifier.date_format.php index 5ad7540b1..28d6ff021 100644 --- a/library/Smarty/libs/plugins/modifier.date_format.php +++ b/library/Smarty/libs/plugins/modifier.date_format.php @@ -33,7 +33,7 @@ function smarty_modifier_date_format($string, $format = null, $default_date = '' $format = Smarty::$_DATE_FORMAT; } /** - * Include the {@link shared.make_timestamp.php} plugin + * require_once the {@link shared.make_timestamp.php} plugin */ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php'); if ($string != '' && $string != '0000-00-00' && $string != '0000-00-00 00:00:00') { diff --git a/library/Smarty/libs/plugins/modifier.debug_print_var.php b/library/Smarty/libs/plugins/modifier.debug_print_var.php index 66363d253..4ff8213ce 100644 --- a/library/Smarty/libs/plugins/modifier.debug_print_var.php +++ b/library/Smarty/libs/plugins/modifier.debug_print_var.php @@ -14,26 +14,30 @@ * * @author Monte Ohrt <monte at ohrt dot com> * - * @param array|object $var variable to be formatted - * @param integer $depth maximum recursion depth if $var is an array - * @param integer $length maximum string length if $var is a string + * @param array|object $var variable to be formatted + * @param int $max maximum recursion depth if $var is an array or object + * @param int $length maximum string length if $var is a string + * @param int $depth actual recursion depth + * @param array $objects processed objects in actual depth to prevent recursive object processing * * @return string */ -function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40) +function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth = 0, $objects = array()) { - $_replace = array("\n" => '<i>\n</i>', - "\r" => '<i>\r</i>', - "\t" => '<i>\t</i>' + $_replace = array("\n" => '\n', + "\r" => '\r', + "\t" => '\t' ); - switch (gettype($var)) { case 'array' : $results = '<b>Array (' . count($var) . ')</b>'; + if ($depth == $max) { + break; + } foreach ($var as $curr_key => $curr_val) { $results .= '<br>' . str_repeat(' ', $depth * 2) . '<b>' . strtr($curr_key, $_replace) . '</b> => ' - . smarty_modifier_debug_print_var($curr_val, ++$depth, $length); + . smarty_modifier_debug_print_var($curr_val, $max, $length, ++ $depth, $objects); $depth --; } break; @@ -41,10 +45,18 @@ function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40) case 'object' : $object_vars = get_object_vars($var); $results = '<b>' . get_class($var) . ' Object (' . count($object_vars) . ')</b>'; + if (in_array($var, $objects)) { + $results .= ' called recursive'; + break; + } + if ($depth == $max) { + break; + } + $objects[] = $var; foreach ($object_vars as $curr_key => $curr_val) { $results .= '<br>' . str_repeat(' ', $depth * 2) . '<b> ->' . strtr($curr_key, $_replace) . '</b> = ' - . smarty_modifier_debug_print_var($curr_val, ++$depth, $length); + . smarty_modifier_debug_print_var($curr_val, $max, $length, ++ $depth, $objects); $depth --; } break; diff --git a/library/Smarty/libs/plugins/modifier.regex_replace.php b/library/Smarty/libs/plugins/modifier.regex_replace.php index abb1ff548..ffea16755 100644 --- a/library/Smarty/libs/plugins/modifier.regex_replace.php +++ b/library/Smarty/libs/plugins/modifier.regex_replace.php @@ -19,10 +19,11 @@ * @param string $string input string * @param string|array $search regular expression(s) to search for * @param string|array $replace string(s) that should be replaced + * @param int $limit the maximum number of replacements * * @return string */ -function smarty_modifier_regex_replace($string, $search, $replace) +function smarty_modifier_regex_replace($string, $search, $replace, $limit = -1) { if (is_array($search)) { foreach ($search as $idx => $s) { @@ -32,7 +33,7 @@ function smarty_modifier_regex_replace($string, $search, $replace) $search = _smarty_regex_replace_check($search); } - return preg_replace($search, $replace, $string); + return preg_replace($search, $replace, $string, $limit); } /** diff --git a/library/Smarty/libs/plugins/modifiercompiler.escape.php b/library/Smarty/libs/plugins/modifiercompiler.escape.php index 7e848aaec..0b29220ef 100644 --- a/library/Smarty/libs/plugins/modifiercompiler.escape.php +++ b/library/Smarty/libs/plugins/modifiercompiler.escape.php @@ -115,11 +115,11 @@ function smarty_modifiercompiler_escape($params, $compiler) // could not optimize |escape call, so fallback to regular plugin if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) { - $compiler->template->required_plugins['nocache']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'modifier.escape.php'; - $compiler->template->required_plugins['nocache']['escape']['modifier']['function'] = 'smarty_modifier_escape'; + $compiler->parent_compiler->template->compiled->required_plugins['nocache']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'modifier.escape.php'; + $compiler->parent_compiler->template->compiled->required_plugins['nocache']['escape']['modifier']['function'] = 'smarty_modifier_escape'; } else { - $compiler->template->required_plugins['compiled']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'modifier.escape.php'; - $compiler->template->required_plugins['compiled']['escape']['modifier']['function'] = 'smarty_modifier_escape'; + $compiler->parent_compiler->template->compiled->required_plugins['compiled']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'modifier.escape.php'; + $compiler->parent_compiler->template->compiled->required_plugins['compiled']['escape']['modifier']['function'] = 'smarty_modifier_escape'; } return 'smarty_modifier_escape(' . join(', ', $params) . ')'; diff --git a/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php b/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php index 2ad928ea1..6bb63247d 100644 --- a/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php +++ b/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php @@ -34,11 +34,11 @@ function smarty_modifiercompiler_wordwrap($params, $compiler) $function = 'wordwrap'; if (Smarty::$_MBSTRING) { if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) { - $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; + $compiler->parent_compiler->template->compiled->required_plugins['nocache']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap'; } else { - $compiler->template->required_plugins['compiled']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; - $compiler->template->required_plugins['compiled']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap'; + $compiler->parent_compiler->template->compiled->required_plugins['compiled']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; + $compiler->parent_compiler->template->compiled->required_plugins['compiled']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap'; } $function = 'smarty_mb_wordwrap'; } diff --git a/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php b/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php index 62ab4e776..ad35d11a2 100644 --- a/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php +++ b/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php @@ -45,7 +45,7 @@ function smarty_outputfilter_trimwhitespace($source) // capture html elements not to be messed with $_offset = 0; - if (preg_match_all('#<(script|pre|textarea)[^>]*>.*?</\\1>#is', $source, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER)) { + if (preg_match_all('#(<script[^>]*>.*?</script[^>]*>)|(<textarea[^>]*>.*?</textarea[^>]*>)|(<pre[^>]*>.*?</pre[^>]*>)#is', $source, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER)) { foreach ($matches as $match) { $store[] = $match[0][0]; $_length = strlen($match[0][0]); @@ -62,7 +62,7 @@ function smarty_outputfilter_trimwhitespace($source) // can't remove them entirely, becaue that might break poorly implemented CSS display:inline-block elements '#(:SMARTY@!@|>)\s+(?=@!@SMARTY:|<)#s' => '\1 \2', // remove spaces between attributes (but not in attribute values!) - '#(([a-z0-9]\s*=\s*(["\'])[^\3]*?\3)|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \4', + '#(([a-z0-9]\s*=\s*("[^"]*?")|(\'[^\']*?\'))|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \5', // note: for some very weird reason trim() seems to remove spaces inside attributes. // maybe a \0 byte or something is interfering? '#^\s+<#Ss' => '<', diff --git a/library/Smarty/libs/plugins/shared.make_timestamp.php b/library/Smarty/libs/plugins/shared.make_timestamp.php index 7c94e5f59..f87d40c7e 100644 --- a/library/Smarty/libs/plugins/shared.make_timestamp.php +++ b/library/Smarty/libs/plugins/shared.make_timestamp.php @@ -21,8 +21,8 @@ function smarty_make_timestamp($string) if (empty($string)) { // use "now": return time(); - } elseif ($string instanceof DateTime) { - return $string->getTimestamp(); + } elseif ($string instanceof DateTime || (interface_exists('DateTimeInterface', false) && $string instanceof DateTimeInterface)) { + return (int) $string->format('U'); // PHP 5.2 BC } elseif (strlen($string) == 14 && ctype_digit($string)) { // it is mysql timestamp format of YYYYMMDDHHMMSS? return mktime(substr($string, 8, 2), substr($string, 10, 2), substr($string, 12, 2), diff --git a/library/Smarty/libs/sysplugins/smarty_cacheresource.php b/library/Smarty/libs/sysplugins/smarty_cacheresource.php index 667bee44f..8cd2805a5 100644 --- a/library/Smarty/libs/sysplugins/smarty_cacheresource.php +++ b/library/Smarty/libs/sysplugins/smarty_cacheresource.php @@ -16,20 +16,11 @@ abstract class Smarty_CacheResource { /** - * cache for Smarty_CacheResource instances - * - * @var array - */ - public static $resources = array(); - - /** * resource types provided by the core * * @var array */ - protected static $sysplugins = array( - 'file' => true, - ); + protected static $sysplugins = array('file' => 'smarty_internal_cacheresource_file.php',); /** * populate Cached Object with meta data from Resource @@ -55,10 +46,11 @@ abstract class Smarty_CacheResource * * @param Smarty_Internal_Template $_template template object * @param Smarty_Template_Cached $cached cached object + * @param bool $update flag if called because cache update * - * @return boolean true or false if the cached content does not exist + * @return bool true or false if the cached content does not exist */ - abstract public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null); + abstract public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null, $update = false); /** * Write the rendered template output to cache @@ -81,8 +73,8 @@ abstract class Smarty_CacheResource { if ($_template->cached->handler->process($_template)) { ob_start(); - $_template->properties['unifunc']($_template); - + $unifunc = $_template->cached->unifunc; + $unifunc($_template); return ob_get_clean(); } @@ -193,32 +185,24 @@ abstract class Smarty_CacheResource } // try smarty's cache - if (isset($smarty->_cacheresource_handlers[$type])) { - return $smarty->_cacheresource_handlers[$type]; + if (isset($smarty->_cache['cacheresource_handlers'][$type])) { + return $smarty->_cache['cacheresource_handlers'][$type]; } // try registered resource if (isset($smarty->registered_cache_resources[$type])) { // do not cache these instances as they may vary from instance to instance - return $smarty->_cacheresource_handlers[$type] = $smarty->registered_cache_resources[$type]; + return $smarty->_cache['cacheresource_handlers'][$type] = $smarty->registered_cache_resources[$type]; } // try sysplugins dir if (isset(self::$sysplugins[$type])) { - if (!isset(self::$resources[$type])) { - $cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type); - self::$resources[$type] = new $cache_resource_class(); - } - - return $smarty->_cacheresource_handlers[$type] = self::$resources[$type]; + $cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type); + return $smarty->_cache['cacheresource_handlers'][$type] = new $cache_resource_class(); } // try plugins dir $cache_resource_class = 'Smarty_CacheResource_' . ucfirst($type); if ($smarty->loadPlugin($cache_resource_class)) { - if (!isset(self::$resources[$type])) { - self::$resources[$type] = new $cache_resource_class(); - } - - return $smarty->_cacheresource_handlers[$type] = self::$resources[$type]; + return $smarty->_cache['cacheresource_handlers'][$type] = new $cache_resource_class(); } // give up throw new SmartyException("Unable to load cache resource '{$type}'"); @@ -229,214 +213,14 @@ abstract class Smarty_CacheResource * * @param Smarty $smarty Smarty object */ - public static function invalidLoadedCache(Smarty $smarty) - { - foreach ($smarty->template_objects as $tpl) { - if (isset($tpl->cached)) { - $tpl->cached->valid = false; - $tpl->cached->processed = false; - } - } - } -} - -/** - * Smarty Resource Data Object - * Cache Data Container for Template Files - * - * @package Smarty - * @subpackage TemplateResources - * @author Rodney Rehm - */ -class Smarty_Template_Cached -{ - /** - * Source Filepath - * - * @var string - */ - public $filepath = false; - - /** - * Source Content - * - * @var string - */ - public $content = null; - - /** - * Source Timestamp - * - * @var integer - */ - public $timestamp = false; - - /** - * Source Existence - * - * @var boolean - */ - public $exists = false; - - /** - * Cache Is Valid - * - * @var boolean - */ - public $valid = false; - - /** - * Cache was processed - * - * @var boolean - */ - public $processed = false; - - /** - * CacheResource Handler - * - * @var Smarty_CacheResource - */ - public $handler = null; - - /** - * Template Compile Id (Smarty_Internal_Template::$compile_id) - * - * @var string - */ - public $compile_id = null; - - /** - * Template Cache Id (Smarty_Internal_Template::$cache_id) - * - * @var string - */ - public $cache_id = null; - - /** - * Id for cache locking - * - * @var string - */ - public $lock_id = null; - - /** - * flag that cache is locked by this instance - * - * @var bool - */ - public $is_locked = false; - - /** - * Source Object - * - * @var Smarty_Template_Source - */ - public $source = null; - - /** - * create Cached Object container - * - * @param Smarty_Internal_Template $_template template object - */ - public function __construct(Smarty_Internal_Template $_template) + public function invalidLoadedCache(Smarty $smarty) { - $this->compile_id = $_template->compile_id; - $this->cache_id = $_template->cache_id; - $this->source = $_template->source; - $_template->cached = $this; - $smarty = $_template->smarty; - - // - // load resource handler - // - $this->handler = $handler = Smarty_CacheResource::load($smarty); // Note: prone to circular references - - // - // check if cache is valid - // - if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || $_template->source->recompiled) { - $handler->populate($this, $_template); - - return; - } - while (true) { - while (true) { - $handler->populate($this, $_template); - if ($this->timestamp === false || $smarty->force_compile || $smarty->force_cache) { - $this->valid = false; - } else { - $this->valid = true; - } - if ($this->valid && $_template->caching == Smarty::CACHING_LIFETIME_CURRENT && $_template->cache_lifetime >= 0 && time() > ($this->timestamp + $_template->cache_lifetime)) { - // lifetime expired - $this->valid = false; - } - if ($this->valid || !$_template->smarty->cache_locking) { - break; - } - if (!$this->handler->locked($_template->smarty, $this)) { - $this->handler->acquireLock($_template->smarty, $this); - break 2; + if (isset($smarty->_cache['template_objects'])) { + foreach ($smarty->_cache['template_objects'] as $key => $tpl) { + if (isset($tpl->cached)) { + unset ($smarty->_cache['template_objects'][$key]); } } - if ($this->valid) { - if (!$_template->smarty->cache_locking || $this->handler->locked($_template->smarty, $this) === null) { - // load cache file for the following checks - if ($smarty->debugging) { - Smarty_Internal_Debug::start_cache($_template); - } - if ($handler->process($_template, $this) === false) { - $this->valid = false; - } else { - $this->processed = true; - } - if ($smarty->debugging) { - Smarty_Internal_Debug::end_cache($_template); - } - } else { - continue; - } - } else { - return; - } - if ($this->valid && $_template->caching === Smarty::CACHING_LIFETIME_SAVED && $_template->properties['cache_lifetime'] >= 0 && (time() > ($_template->cached->timestamp + $_template->properties['cache_lifetime']))) { - $this->valid = false; - } - if (!$this->valid && $_template->smarty->cache_locking) { - $this->handler->acquireLock($_template->smarty, $this); - - return; - } else { - return; - } } } - - /** - * Write this cache object to handler - * - * @param Smarty_Internal_Template $_template template object - * @param string $content content to cache - * - * @return boolean success - */ - public function write(Smarty_Internal_Template $_template, $content) - { - if (!$_template->source->recompiled) { - if ($this->handler->writeCachedContent($_template, $content)) { - $this->content = null; - $this->timestamp = time(); - $this->exists = true; - $this->valid = true; - if ($_template->smarty->cache_locking) { - $this->handler->releaseLock($_template->smarty, $this); - } - - return true; - } - } - - return false; - } } diff --git a/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php b/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php index a258b2de7..4e9606ef1 100644 --- a/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php +++ b/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php @@ -83,9 +83,12 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource public function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template) { $_cache_id = isset($cached->cache_id) ? preg_replace('![^\w\|]+!', '_', $cached->cache_id) : null; - $_compile_id = isset($cached->compile_id) ? preg_replace('![^\w\|]+!', '_', $cached->compile_id) : null; - - $cached->filepath = sha1($cached->source->filepath . $_cache_id . $_compile_id); + $_compile_id = isset($cached->compile_id) ? preg_replace('![^\w]+!', '_', $cached->compile_id) : null; + $path = $cached->source->filepath . $_cache_id . $_compile_id; + $cached->filepath = sha1($path); + if ($_template->smarty->cache_locking) { + $cached->lock_id = sha1('lock.' . $path); + } $this->populateTimestamp($cached); } @@ -116,10 +119,11 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource * * @param Smarty_Internal_Template $_template template object * @param Smarty_Template_Cached $cached cached object + * @param bool $update flag if called because cache update * * @return boolean true or false if the cached content does not exist */ - public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null) + public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null, $update = false) { if (!$cached) { $cached = $_template->cached; @@ -127,14 +131,7 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource $content = $cached->content ? $cached->content : null; $timestamp = $cached->timestamp ? $cached->timestamp : null; if ($content === null || !$timestamp) { - $this->fetch( - $_template->cached->filepath, - $_template->source->name, - $_template->cache_id, - $_template->compile_id, - $content, - $timestamp - ); + $this->fetch($_template->cached->filepath, $_template->source->name, $_template->cache_id, $_template->compile_id, $content, $timestamp); } if (isset($content)) { /** @var Smarty_Internal_Template $_smarty_tpl @@ -142,7 +139,7 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource */ $_smarty_tpl = $_template; eval("?>" . $content); - + $cached->content = null; return true; } @@ -159,14 +156,28 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource */ public function writeCachedContent(Smarty_Internal_Template $_template, $content) { - return $this->save( - $_template->cached->filepath, - $_template->source->name, - $_template->cache_id, - $_template->compile_id, - $_template->properties['cache_lifetime'], - $content - ); + return $this->save($_template->cached->filepath, $_template->source->name, $_template->cache_id, $_template->compile_id, $_template->cache_lifetime, $content); + } + + /** + * Read cached template from cache + * + * @param Smarty_Internal_Template $_template template object + * + * @return string content + */ + public function readCachedContent(Smarty_Internal_Template $_template) + { + $content = $_template->cached->content ? $_template->cached->content : null; + $timestamp = null; + if ($content === null) { + $timestamp = null; + $this->fetch($_template->cached->filepath, $_template->source->name, $_template->cache_id, $_template->compile_id, $content, $timestamp); + } + if (isset($content)) { + return $content; + } + return false; } /** @@ -179,8 +190,6 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource */ public function clearAll(Smarty $smarty, $exp_time = null) { - $this->cache = array(); - return $this->delete(null, null, null, $exp_time); } @@ -197,32 +206,23 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource */ public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time) { - $this->cache = array(); $cache_name = null; if (isset($resource_name)) { - $_save_stat = $smarty->caching; - $smarty->caching = true; - $tpl = new $smarty->template_class($resource_name, $smarty); - $smarty->caching = $_save_stat; - - if ($tpl->source->exists) { - $cache_name = $tpl->source->name; + $source = Smarty_Template_Source::load(null, $smarty, $resource_name); + if ($source->exists) { + $cache_name = $source->name; } else { return 0; } // remove from template cache - if ($smarty->allow_ambiguous_resources) { - $_templateId = $tpl->source->unique_resource . $tpl->cache_id . $tpl->compile_id; - } else { - $_templateId = $smarty->joined_template_dir . '#' . $resource_name . $tpl->cache_id . $tpl->compile_id; - } - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); + if (isset($smarty->_cache['template_objects'])) { + foreach ($smarty->_cache['template_objects'] as $key => $_tpl) { + if (isset($_tpl->cached) && $_tpl->source->uid == $source->uid) { + unset($smarty->_cache['template_objects'][$key]); + } + } } - unset($smarty->template_objects[$_templateId]); - // template object no longer needed - unset($tpl); } return $this->delete($cache_name, $cache_id, $compile_id, $exp_time); @@ -238,15 +238,14 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource */ public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached) { - $id = $cached->filepath; + $id = $cached->lock_id; $name = $cached->source->name . '.lock'; - $mtime = $this->fetchTimestamp($id, $name, null, null); + $mtime = $this->fetchTimestamp($id, $name, $cached->cache_id, $cached->compile_id); if ($mtime === null) { - $this->fetch($id, $name, null, null, $content, $mtime); + $this->fetch($id, $name, $cached->cache_id, $cached->compile_id, $content, $mtime); } - - return $mtime && time() - $mtime < $smarty->locking_timeout; + return $mtime && ($t = time()) - $mtime < $smarty->locking_timeout; } /** @@ -260,10 +259,9 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached) { $cached->is_locked = true; - - $id = $cached->filepath; + $id = $cached->lock_id; $name = $cached->source->name . '.lock'; - $this->save($id, $name, null, null, $smarty->locking_timeout, ''); + $this->save($id, $name, $cached->cache_id, $cached->compile_id, $smarty->locking_timeout, ''); } /** @@ -277,8 +275,7 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached) { $cached->is_locked = false; - $name = $cached->source->name . '.lock'; - $this->delete($name, null, null, null); + $this->delete($name, $cached->cache_id, $cached->compile_id, null); } } diff --git a/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php b/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php index a4b365a82..ee4021a19 100644 --- a/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php +++ b/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php @@ -36,6 +36,7 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource * @var array */ protected $contents = array(); + /** * cache for timestamps * @@ -53,10 +54,8 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource */ public function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template) { - $cached->filepath = $_template->source->uid - . '#' . $this->sanitize($cached->source->resource) - . '#' . $this->sanitize($cached->cache_id) - . '#' . $this->sanitize($cached->compile_id); + $cached->filepath = $_template->source->uid . '#' . $this->sanitize($cached->source->resource) . '#' . + $this->sanitize($cached->cache_id) . '#' . $this->sanitize($cached->compile_id); $this->populateTimestamp($cached); } @@ -83,10 +82,11 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource * * @param Smarty_Internal_Template $_template template object * @param Smarty_Template_Cached $cached cached object + * @param bool $update flag if called because cache update * * @return boolean true or false if the cached content does not exist */ - public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null) + public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null, $update = false) { if (!$cached) { $cached = $_template->cached; @@ -123,7 +123,29 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource { $this->addMetaTimestamp($content); - return $this->write(array($_template->cached->filepath => $content), $_template->properties['cache_lifetime']); + return $this->write(array($_template->cached->filepath => $content), $_template->cache_lifetime); + } + + /** + * Read cached template from cache + * + * @param Smarty_Internal_Template $_template template object + * + * @return string content + */ + public function readCachedContent(Smarty_Internal_Template $_template) + { + $content = $_template->cached->content ? $_template->cached->content : null; + $timestamp = null; + if ($content === null) { + if (!$this->fetch($_template->cached->filepath, $_template->source->name, $_template->cache_id, $_template->compile_id, $content, $timestamp, $_template->source->uid)) { + return false; + } + } + if (isset($content)) { + return $content; + } + return false; } /** @@ -142,7 +164,14 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource if (!$this->purge()) { $this->invalidate(null); } - + // remove from template cache + if (isset($smarty->_cache['template_objects'])) { + foreach ($smarty->_cache['template_objects'] as $key => $tpl) { + if (isset($tpl->cached)) { + unset($smarty->_cache['template_objects'][$key]); + } + } + } return - 1; } @@ -163,11 +192,21 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource */ public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time) { - $uid = $this->getTemplateUid($smarty, $resource_name, $cache_id, $compile_id); - $cid = $uid . '#' . $this->sanitize($resource_name) . '#' . $this->sanitize($cache_id) . '#' . $this->sanitize($compile_id); + $uid = $this->getTemplateUid($smarty, $resource_name); + $cid = $uid . '#' . $this->sanitize($resource_name) . '#' . $this->sanitize($cache_id) . '#' . + $this->sanitize($compile_id); $this->delete(array($cid)); $this->invalidate($cid, $resource_name, $cache_id, $compile_id, $uid); - + // remove from template cache + if (isset($resource_name) && isset($smarty->_cache['template_objects'])) { + if (isset($smarty->_cache['template_objects'])) { + foreach ($smarty->_cache['template_objects'] as $key => $tpl) { + if ($tpl->source->uid == $uid && isset($tpl->cached)) { + unset($smarty->_cache['template_objects'][$key]); + } + } + } + } return - 1; } @@ -176,33 +215,20 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource * * @param Smarty $smarty Smarty object * @param string $resource_name template name - * @param string $cache_id cache id - * @param string $compile_id compile id * * @return string filepath of cache file + * @throws \SmartyException + * */ - protected function getTemplateUid(Smarty $smarty, $resource_name, $cache_id, $compile_id) + protected function getTemplateUid(Smarty $smarty, $resource_name) { - $uid = ''; if (isset($resource_name)) { - $tpl = new $smarty->template_class($resource_name, $smarty); - if ($tpl->source->exists) { - $uid = $tpl->source->uid; - } - - // remove from template cache - if ($smarty->allow_ambiguous_resources) { - $_templateId = $tpl->source->unique_resource . $tpl->cache_id . $tpl->compile_id; - } else { - $_templateId = $smarty->joined_template_dir . '#' . $resource_name . $tpl->cache_id . $tpl->compile_id; + $source = Smarty_Template_Source::load(null, $smarty, $resource_name); + if ($source->exists) { + return $source->uid; } - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); - } - unset($smarty->template_objects[$_templateId]); } - - return $uid; + return ''; } /** @@ -214,12 +240,10 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource */ protected function sanitize($string) { - // some poeple smoke bad weed $string = trim($string, '|'); if (!$string) { return null; } - return preg_replace('#[^\w\|]+#S', '_', $string); } @@ -275,11 +299,8 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource */ protected function getMetaTimestamp(&$content) { - $s = unpack("N", substr($content, 0, 4)); - $m = unpack("N", substr($content, 4, 4)); - $content = substr($content, 8); - - return $s[1] + ($m[1] / 100000000); + extract(unpack('N1s/N1m/a*content', $content)); + return $s + ($m / 100000000); } /** @@ -380,7 +401,6 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource $t[] = 'IVK#COMPILE' . $_compile; } $_name .= '#'; - // some poeple smoke bad weed $cid = trim($cache_id, '|'); if (!$cid) { return $t; diff --git a/library/Smarty/libs/sysplugins/smarty_config_source.php b/library/Smarty/libs/sysplugins/smarty_config_source.php deleted file mode 100644 index fd37e61f7..000000000 --- a/library/Smarty/libs/sysplugins/smarty_config_source.php +++ /dev/null @@ -1,94 +0,0 @@ -<?php -/** - * Smarty Internal Plugin - * - * @package Smarty - * @subpackage TemplateResources - */ - -/** - * Smarty Resource Data Object - * Meta Data Container for Config Files - * - * @package Smarty - * @subpackage TemplateResources - * @author Rodney Rehm - * @property string $content - * @property int $timestamp - * @property bool $exists - */ -class Smarty_Config_Source extends Smarty_Template_Source -{ - /** - * create Config Object container - * - * @param Smarty_Resource $handler Resource Handler this source object communicates with - * @param Smarty $smarty Smarty instance this source object belongs to - * @param string $resource full config_resource - * @param string $type type of resource - * @param string $name resource name - * @param string $unique_resource unqiue resource name - */ - public function __construct(Smarty_Resource $handler, Smarty $smarty, $resource, $type, $name, $unique_resource) - { - $this->handler = $handler; // Note: prone to circular references - - // Note: these may be ->config_compiler_class etc in the future - //$this->config_compiler_class = $handler->config_compiler_class; - //$this->config_lexer_class = $handler->config_lexer_class; - //$this->config_parser_class = $handler->config_parser_class; - - $this->smarty = $smarty; - $this->resource = $resource; - $this->type = $type; - $this->name = $name; - $this->unique_resource = $unique_resource; - } - - /** - * <<magic>> Generic setter. - * - * @param string $property_name valid: content, timestamp, exists - * @param mixed $value newly assigned value (not check for correct type) - * - * @throws SmartyException when the given property name is not valid - */ - public function __set($property_name, $value) - { - switch ($property_name) { - case 'content': - case 'timestamp': - case 'exists': - $this->$property_name = $value; - break; - - default: - throw new SmartyException("invalid config property '$property_name'."); - } - } - - /** - * <<magic>> Generic getter. - * - * @param string $property_name valid: content, timestamp, exists - * - * @return mixed|void - * @throws SmartyException when the given property name is not valid - */ - public function __get($property_name) - { - switch ($property_name) { - case 'timestamp': - case 'exists': - $this->handler->populateTimestamp($this); - - return $this->$property_name; - - case 'content': - return $this->content = $this->handler->getContent($this); - - default: - throw new SmartyException("config property '$property_name' does not exist."); - } - } -} diff --git a/library/Smarty/libs/sysplugins/smarty_data.php b/library/Smarty/libs/sysplugins/smarty_data.php new file mode 100644 index 000000000..7cf18a43e --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_data.php @@ -0,0 +1,68 @@ +<?php +/** + * Smarty Plugin Data + * This file contains the data object + * + * @package Smarty + * @subpackage Template + * @author Uwe Tews + */ + +/** + * class for the Smarty data object + * The Smarty data object will hold Smarty variables in the current scope + * + * @package Smarty + * @subpackage Template + */ +class Smarty_Data extends Smarty_Internal_Data +{ + /** + * Counter + * + * @var int + */ + static $count = 0; + + /** + * Data block name + * + * @var string + */ + public $dataObjectName = ''; + + /** + * Smarty object + * + * @var Smarty + */ + public $smarty = null; + + /** + * create Smarty data object + * + * @param Smarty|array $_parent parent template + * @param Smarty|Smarty_Internal_Template $smarty global smarty instance + * @param string $name optional data block name + * + * @throws SmartyException + */ + public function __construct($_parent = null, $smarty = null, $name = null) + { + parent::__construct(); + self::$count ++; + $this->dataObjectName = 'Data_object ' . (isset($name) ? "'{$name}'" : self::$count); + $this->smarty = $smarty; + if (is_object($_parent)) { + // when object set up back pointer + $this->parent = $_parent; + } elseif (is_array($_parent)) { + // set up variable values + foreach ($_parent as $_key => $_val) { + $this->tpl_vars[$_key] = new Smarty_Variable($_val); + } + } elseif ($_parent != null) { + throw new SmartyException("Wrong type for template variables"); + } + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php b/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php index b8e99cc69..64d02dfe5 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php @@ -29,14 +29,12 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource { $_source_file_path = str_replace(':', '.', $_template->source->filepath); $_cache_id = isset($_template->cache_id) ? preg_replace('![^\w\|]+!', '_', $_template->cache_id) : null; - $_compile_id = isset($_template->compile_id) ? preg_replace('![^\w\|]+!', '_', $_template->compile_id) : null; + $_compile_id = isset($_template->compile_id) ? preg_replace('![^\w]+!', '_', $_template->compile_id) : null; $_filepath = $_template->source->uid; // if use_sub_dirs, break file into directories if ($_template->smarty->use_sub_dirs) { - $_filepath = substr($_filepath, 0, 2) . DS - . substr($_filepath, 2, 2) . DS - . substr($_filepath, 4, 2) . DS - . $_filepath; + $_filepath = substr($_filepath, 0, 2) . DS . substr($_filepath, 2, 2) . DS . substr($_filepath, 4, 2) . DS . + $_filepath; } $_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^'; if (isset($_cache_id)) { @@ -60,9 +58,12 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource } $cached->lock_id = $_lock_dir . sha1($_cache_id . $_compile_id . $_template->source->uid) . '.lock'; } - $cached->filepath = $_cache_dir . $_cache_id . $_compile_id . $_filepath . '.' . basename($_source_file_path) . '.php'; - $cached->timestamp = @filemtime($cached->filepath); - $cached->exists = !!$cached->timestamp; + $cached->filepath = $_cache_dir . $_cache_id . $_compile_id . $_filepath . '.' . basename($_source_file_path) . + '.php'; + $cached->timestamp = $cached->exists = is_file($cached->filepath); + if ($cached->exists) { + $cached->timestamp = filemtime($cached->filepath); + } } /** @@ -74,8 +75,10 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource */ public function populateTimestamp(Smarty_Template_Cached $cached) { - $cached->timestamp = @filemtime($cached->filepath); - $cached->exists = !!$cached->timestamp; + $cached->timestamp = $cached->exists = is_file($cached->filepath); + if ($cached->exists) { + $cached->timestamp = filemtime($cached->filepath); + } } /** @@ -83,17 +86,22 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource * * @param Smarty_Internal_Template $_template template object * @param Smarty_Template_Cached $cached cached object + * @param bool $update flag if called because cache update * - * @return booleantrue or false if the cached content does not exist + * @return boolean true or false if the cached content does not exist */ - public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null) + public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null, $update = false) { /** @var Smarty_Internal_Template $_smarty_tpl * used in included file */ $_smarty_tpl = $_template; - - return @include $_template->cached->filepath; + $_template->cached->valid = false; + if ($update && defined('HHVM_VERSION')) { + return $_template->smarty->ext->_hhvm->includeHhvm($_template, $_template->cached->filepath); + } else { + return @include $_template->cached->filepath; + } } /** @@ -106,14 +114,32 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource */ public function writeCachedContent(Smarty_Internal_Template $_template, $content) { - if (Smarty_Internal_Write_File::writeFile($_template->cached->filepath, $content, $_template->smarty) === true) { - $_template->cached->timestamp = @filemtime($_template->cached->filepath); - $_template->cached->exists = !!$_template->cached->timestamp; - if ($_template->cached->exists) { + if ($_template->smarty->ext->_writeFile->writeFile($_template->cached->filepath, $content, $_template->smarty) === true) { + if (function_exists('opcache_invalidate')) { + opcache_invalidate($_template->cached->filepath); + } + $cached = $_template->cached; + $cached->timestamp = $cached->exists = is_file($cached->filepath); + if ($cached->exists) { + $cached->timestamp = filemtime($cached->filepath); return true; } } + return false; + } + /** + * Read cached template from cache + * + * @param Smarty_Internal_Template $_template template object + * + * @return string content + */ + public function readCachedContent(Smarty_Internal_Template $_template) + { + if (is_file($_template->cached->filepath)) { + return file_get_contents($_template->cached->filepath); + } return false; } @@ -127,7 +153,7 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource */ public function clearAll(Smarty $smarty, $exp_time = null) { - return $this->clear($smarty, null, null, null, $exp_time); + return Smarty_Internal_Extension_Clear::clear($smarty, null, null, null, $exp_time); } /** @@ -143,108 +169,7 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource */ public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time) { - $_cache_id = isset($cache_id) ? preg_replace('![^\w\|]+!', '_', $cache_id) : null; - $_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null; - $_dir_sep = $smarty->use_sub_dirs ? '/' : '^'; - $_compile_id_offset = $smarty->use_sub_dirs ? 3 : 0; - if (($_dir = realpath($smarty->getCacheDir())) === false) { - return 0; - } - $_dir .= '/'; - $_dir_length = strlen($_dir); - if (isset($_cache_id)) { - $_cache_id_parts = explode('|', $_cache_id); - $_cache_id_parts_count = count($_cache_id_parts); - if ($smarty->use_sub_dirs) { - foreach ($_cache_id_parts as $id_part) { - $_dir .= $id_part . DS; - } - } - } - if (isset($resource_name)) { - $_save_stat = $smarty->caching; - $smarty->caching = true; - $tpl = new $smarty->template_class($resource_name, $smarty); - $smarty->caching = $_save_stat; - - // remove from template cache - $tpl->source; // have the template registered before unset() - if ($smarty->allow_ambiguous_resources) { - $_templateId = $tpl->source->unique_resource . $tpl->cache_id . $tpl->compile_id; - } else { - $_templateId = $smarty->joined_template_dir . '#' . $resource_name . $tpl->cache_id . $tpl->compile_id; - } - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); - } - unset($smarty->template_objects[$_templateId]); - - if ($tpl->source->exists) { - $_resourcename_parts = basename(str_replace('^', '/', $tpl->cached->filepath)); - } else { - return 0; - } - } - $_count = 0; - $_time = time(); - if (file_exists($_dir)) { - $_cacheDirs = new RecursiveDirectoryIterator($_dir); - $_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST); - foreach ($_cache as $_file) { - if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { - continue; - } - // directory ? - if ($_file->isDir()) { - if (!$_cache->isDot()) { - // delete folder if empty - @rmdir($_file->getPathname()); - } - } else { - $_parts = explode($_dir_sep, str_replace('\\', '/', substr((string) $_file, $_dir_length))); - $_parts_count = count($_parts); - // check name - if (isset($resource_name)) { - if ($_parts[$_parts_count - 1] != $_resourcename_parts) { - continue; - } - } - // check compile id - if (isset($_compile_id) && (!isset($_parts[$_parts_count - 2 - $_compile_id_offset]) || $_parts[$_parts_count - 2 - $_compile_id_offset] != $_compile_id)) { - continue; - } - // check cache id - if (isset($_cache_id)) { - // count of cache id parts - $_parts_count = (isset($_compile_id)) ? $_parts_count - 2 - $_compile_id_offset : $_parts_count - 1 - $_compile_id_offset; - if ($_parts_count < $_cache_id_parts_count) { - continue; - } - for ($i = 0; $i < $_cache_id_parts_count; $i ++) { - if ($_parts[$i] != $_cache_id_parts[$i]) { - continue 2; - } - } - } - // expired ? - if (isset($exp_time)) { - if ($exp_time < 0) { - preg_match('#\'cache_lifetime\' =>\s*(\d*)#', file_get_contents($_file), $match); - if ($_time < (@filemtime($_file) + $match[1])) { - continue; - } - } else { - if ($_time - @filemtime($_file) < $exp_time) { - continue; - } - } - } - $_count += @unlink((string) $_file) ? 1 : 0; - } - } - } - - return $_count; + return Smarty_Internal_Extension_Clear::clear($smarty, $resource_name, $cache_id, $compile_id, $exp_time); } /** @@ -262,9 +187,12 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource } else { clearstatcache(); } - $t = @filemtime($cached->lock_id); - - return $t && (time() - $t < $smarty->locking_timeout); + if (is_file($cached->lock_id)) { + $t = @filemtime($cached->lock_id); + return $t && (time() - $t < $smarty->locking_timeout); + } else { + return false; + } } /** diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php index cbf65685b..bd2ffe474 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php @@ -19,13 +19,13 @@ class Smarty_Internal_Compile_Append extends Smarty_Internal_Compile_Assign /** * Compiles code for the {append} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // the following must be assigned at runtime because it will be overwritten in parent class $this->required_attributes = array('var', 'value'); diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php index caa34861f..5e3fce3cc 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php @@ -17,22 +17,30 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase { /** + * Valid scope names + * + * @var array + */ + public $valid_scopes = array('local' => true, 'parent' => true, 'root' => true, 'global' => true, + 'smarty' => true, 'tpl_root' => true); + + /** * Compiles code for the {assign} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // the following must be assigned at runtime because it will be overwritten in Smarty_Internal_Compile_Append $this->required_attributes = array('var', 'value'); $this->shorttag_order = array('var', 'value'); - $this->optional_attributes = array('scope'); + $this->optional_attributes = array('scope', 'bubble_up'); $_nocache = 'null'; - $_scope = Smarty::SCOPE_LOCAL; // check and get attributes $_attr = $this->getAttributes($compiler, $args); // nocache ? @@ -42,43 +50,47 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase if (isset($compiler->template->tpl_vars[trim($_attr['var'], "'")])) { $compiler->template->tpl_vars[trim($_attr['var'], "'")]->nocache = true; } else { - $compiler->template->tpl_vars[trim($_attr['var'], "'")] = new Smarty_variable(null, true); + $compiler->template->tpl_vars[trim($_attr['var'], "'")] = new Smarty_Variable(null, true); } } // scope setup + $_scope = Smarty::SCOPE_LOCAL; if (isset($_attr['scope'])) { $_attr['scope'] = trim($_attr['scope'], "'\""); - if ($_attr['scope'] == 'parent') { - $_scope = Smarty::SCOPE_PARENT; - } elseif ($_attr['scope'] == 'root') { - $_scope = Smarty::SCOPE_ROOT; - } elseif ($_attr['scope'] == 'global') { - $_scope = Smarty::SCOPE_GLOBAL; - } else { - $compiler->trigger_template_error('illegal value for "scope" attribute', $compiler->lex->taglineno); + if (!isset($this->valid_scopes[$_attr['scope']])) { + $compiler->trigger_template_error("illegal value '{$_attr['scope']}' for \"scope\" attribute", null, true); + } + if ($_attr['scope'] != 'local') { + if ($_attr['scope'] == 'parent') { + $_scope = Smarty::SCOPE_PARENT; + } elseif ($_attr['scope'] == 'root') { + $_scope = Smarty::SCOPE_ROOT; + } elseif ($_attr['scope'] == 'global') { + $_scope = Smarty::SCOPE_GLOBAL; + } elseif ($_attr['scope'] == 'smarty') { + $_scope = Smarty::SCOPE_SMARTY; + } elseif ($_attr['scope'] == 'tpl_root') { + $_scope = Smarty::SCOPE_TPL_ROOT; + } + $_scope += (isset($_attr['bubble_up']) && $_attr['bubble_up'] == 'false') ? 0 : Smarty::SCOPE_BUBBLE_UP; } } // compiled output if (isset($parameter['smarty_internal_index'])) { - $output = "<?php \$_smarty_tpl->createLocalArrayVariable($_attr[var], $_nocache, $_scope);\n\$_smarty_tpl->tpl_vars[$_attr[var]]->value$parameter[smarty_internal_index] = $_attr[value];"; + $output = + "<?php \$_smarty_tpl->smarty->ext->_var->createLocalArrayVariable(\$_smarty_tpl, $_attr[var], $_nocache);\n\$_smarty_tpl->tpl_vars[$_attr[var]]->value$parameter[smarty_internal_index] = $_attr[value];"; } else { // implement Smarty2's behaviour of variables assigned by reference if ($compiler->template->smarty instanceof SmartyBC) { - $output = "<?php if (isset(\$_smarty_tpl->tpl_vars[$_attr[var]])) {\$_smarty_tpl->tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];"; - $output .= "\n\$_smarty_tpl->tpl_vars[$_attr[var]]->value = $_attr[value]; \$_smarty_tpl->tpl_vars[$_attr[var]]->nocache = $_nocache; \$_smarty_tpl->tpl_vars[$_attr[var]]->scope = $_scope;"; - $output .= "\n} else \$_smarty_tpl->tpl_vars[$_attr[var]] = new Smarty_variable($_attr[value], $_nocache, $_scope);"; + $output = + "<?php if (isset(\$_smarty_tpl->tpl_vars[$_attr[var]])) {\$_smarty_tpl->tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];"; + $output .= "\n\$_smarty_tpl->tpl_vars[$_attr[var]]->value = $_attr[value]; \$_smarty_tpl->tpl_vars[$_attr[var]]->nocache = $_nocache;"; + $output .= "\n} else \$_smarty_tpl->tpl_vars[$_attr[var]] = new Smarty_Variable($_attr[value], $_nocache);"; } else { - $output = "<?php \$_smarty_tpl->tpl_vars[$_attr[var]] = new Smarty_variable($_attr[value], $_nocache, $_scope);"; + $output = "<?php \$_smarty_tpl->tpl_vars[$_attr[var]] = new Smarty_Variable($_attr[value], $_nocache);"; } } - if ($_scope == Smarty::SCOPE_PARENT) { - $output .= "\nif (\$_smarty_tpl->parent != null) \$_smarty_tpl->parent->tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];"; - } elseif ($_scope == Smarty::SCOPE_ROOT || $_scope == Smarty::SCOPE_GLOBAL) { - $output .= "\n\$_ptr = \$_smarty_tpl->parent; while (\$_ptr != null) {\$_ptr->tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]]; \$_ptr = \$_ptr->parent; }"; - } - if ($_scope == Smarty::SCOPE_GLOBAL) { - $output .= "\nSmarty::\$global_tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];"; - } + $output .= "\n\$_smarty_tpl->ext->_updateScope->updateScope(\$_smarty_tpl, $_attr[var], $_scope);"; $output .= '?>'; return $output; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php index 8c2fb975f..52a541ebd 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php @@ -1,24 +1,20 @@ <?php - -/** - * Smarty Internal Plugin Compile Block - * Compiles the {block}{/block} tags +/* + * This file is part of Smarty. * - * @package Smarty - * @subpackage Compiler - * @author Uwe Tews + * (c) 2015 Uwe Tews + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. */ /** * Smarty Internal Plugin Compile Block Class * - * @package Smarty - * @subpackage Compiler + * @author Uwe Tews <uwe.tews@googlemail.com> */ -class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase +class Smarty_Internal_Compile_Block extends Smarty_Internal_Compile_Shared_Inheritance { - - const parent = '____SMARTY_BLOCK_PARENT____'; /** * Attribute definition: Overwrites base class. * @@ -41,7 +37,7 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase * @var array * @see Smarty_Internal_CompileBase */ - public $option_flags = array('hide', 'append', 'prepend', 'nocache'); + public $option_flags = array('hide', 'nocache'); /** * Attribute definition: Overwrites base class. @@ -49,396 +45,248 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase * @var array * @see Smarty_Internal_CompileBase */ - public $optional_attributes = array('internal_file', 'internal_uid', 'internal_line'); + public $optional_attributes = array('assign'); + /** - * nested child block names + * nesting level of block tags * - * @var array + * @var int */ - public static $nested_block_names = array(); + public static $blockTagNestingLevel = 0; /** - * child block source buffer + * Saved compiler object * - * @var array + * @var Smarty_Internal_TemplateCompilerBase */ - public static $block_data = array(); + public $compiler = null; /** * Compiles code for the {block} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * - * @return boolean true + * @return bool true */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - $_name = trim($_attr['name'], "\"'"); - - // existing child must override parent settings - if (isset($compiler->template->block_data[$_name]) && $compiler->template->block_data[$_name]['mode'] == 'replace') { - $_attr['append'] = false; - $_attr['prepend'] = false; + if (!isset($compiler->_cache['blockNesting'])) { + $compiler->_cache['blockNesting'] = 0; } - - // check if we process an inheritance child template - if ($compiler->inheritance_child) { - array_unshift(self::$nested_block_names, $_name); - // build {block} for child block - self::$block_data[$_name]['source'] = - "{$compiler->smarty->left_delimiter}private_child_block name={$_attr['name']} file='{$compiler->template->source->filepath}' type='{$compiler->template->source->type}' resource='{$compiler->template->template_resource}'" . - " uid='{$compiler->template->source->uid}' line={$compiler->lex->line}"; - if ($_attr['nocache']) { - self::$block_data[$_name]['source'] .= ' nocache'; - } - self::$block_data[$_name]['source'] .= $compiler->smarty->right_delimiter; - - $save = array($_attr, $compiler->inheritance); - $this->openTag($compiler, 'block', $save); - // set flag for {block} tag - $compiler->inheritance = true; - $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK); - $compiler->has_code = false; - return; + if ($compiler->_cache['blockNesting'] == 0) { + // make sure that inheritance gets initialized in template code + $this->registerInit($compiler); + $this->option_flags = array('hide', 'nocache', 'append', 'prepend'); + } else { + $this->option_flags = array('hide', 'nocache'); } - // must merge includes - if ($_attr['nocache'] == true) { - $compiler->tag_nocache = true; + // check and get attributes + $_attr = $this->getAttributes($compiler, $args); + $compiler->_cache['blockNesting'] ++; + $compiler->_cache['blockName'][$compiler->_cache['blockNesting']] = $_attr['name']; + $compiler->_cache['blockParams'][$compiler->_cache['blockNesting']][0] = 'block_' . preg_replace('![^\w]+!', '_', uniqid(rand(), true)); + $compiler->_cache['blockParams'][$compiler->_cache['blockNesting']][1] = false; + $this->openTag($compiler, 'block', array($_attr, $compiler->nocache, $compiler->parser->current_buffer, + $compiler->template->compiled->has_nocache_code, + $compiler->template->caching)); + // must whole block be nocache ? + if ($compiler->tag_nocache) { + $i = 0; } - $save = array($_attr, $compiler->inheritance, $compiler->parser->current_buffer, $compiler->nocache); - $this->openTag($compiler, 'block', $save); - $compiler->inheritance = true; $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; - - $compiler->parser->current_buffer = new _smarty_template_buffer($compiler->parser); - $compiler->has_code = false; - - return true; + // $compiler->suppressNocacheProcessing = true; + if ($_attr['nocache'] === true) { + //$compiler->trigger_template_error('nocache option not allowed', $compiler->parser->lex->taglineno); + } + $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template(); + $compiler->template->compiled->has_nocache_code = false; + $compiler->suppressNocacheProcessing = true; } /** * Compile saved child block source * - * @param object $compiler compiler object - * @param string $_name optional name of child block + * @param \Smarty_Internal_TemplateCompilerBase compiler object + * @param string $_name optional name of child block * * @return string compiled code of child block */ - static function compileChildBlock($compiler, $_name = null) + static function compileChildBlock(Smarty_Internal_TemplateCompilerBase $compiler, $_name = null) { - if ($compiler->inheritance_child) { - $name1 = Smarty_Internal_Compile_Block::$nested_block_names[0]; - if (isset($compiler->template->block_data[$name1])) { - // replace inner block name with generic - Smarty_Internal_Compile_Block::$block_data[$name1]['source'] .= $compiler->template->block_data[$name1]['source']; - Smarty_Internal_Compile_Block::$block_data[$name1]['child'] = true; - } - $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK); - $compiler->has_code = false; - return; - } - // if called by {$smarty.block.child} we must search the name of enclosing {block} - if ($_name == null) { - $stack_count = count($compiler->_tag_stack); - while (--$stack_count >= 0) { - if ($compiler->_tag_stack[$stack_count][0] == 'block') { - $_name = trim($compiler->_tag_stack[$stack_count][1][0]['name'], "\"'"); - break; - } - } - } - if ($_name == null) { - $compiler->trigger_template_error(' tag {$smarty.block.child} used outside {block} tags ', $compiler->lex->taglineno); - } - // undefined child? - if (!isset($compiler->template->block_data[$_name]['source'])) { - $compiler->popTrace(); - return ''; - } - // flag that child is already compile by {$smarty.block.child} inclusion - $compiler->template->block_data[$_name]['compiled'] = true; - $_tpl = new Smarty_Internal_template('string:' . $compiler->template->block_data[$_name]['source'], $compiler->smarty, $compiler->template, $compiler->template->cache_id, - $compiler->template->compile_id, $compiler->template->caching, $compiler->template->cache_lifetime); - if ($compiler->smarty->debugging) { - Smarty_Internal_Debug::ignore($_tpl); + if (!isset($compiler->_cache['blockNesting'])) { + $compiler->trigger_template_error(' tag {$smarty.block.child} used outside {block} tags ', + $compiler->parser->lex->taglineno); } - $_tpl->tpl_vars = $compiler->template->tpl_vars; - $_tpl->variable_filters = $compiler->template->variable_filters; - $_tpl->properties['nocache_hash'] = $compiler->template->properties['nocache_hash']; - $_tpl->allow_relative_path = true; - $_tpl->compiler->inheritance = true; - $_tpl->compiler->suppressHeader = true; - $_tpl->compiler->suppressFilter = true; - $_tpl->compiler->suppressTemplatePropertyHeader = true; - $_tpl->compiler->suppressMergedTemplates = true; - $nocache = $compiler->nocache || $compiler->tag_nocache; - if (strpos($compiler->template->block_data[$_name]['source'], self::parent) !== false) { - $_output = str_replace(self::parent, $compiler->parser->current_buffer->to_smarty_php(), $_tpl->compiler->compileTemplate($_tpl, $nocache)); - } elseif ($compiler->template->block_data[$_name]['mode'] == 'prepend') { - $_output = $_tpl->compiler->compileTemplate($_tpl, $nocache) . $compiler->parser->current_buffer->to_smarty_php(); - } elseif ($compiler->template->block_data[$_name]['mode'] == 'append') { - $_output = $compiler->parser->current_buffer->to_smarty_php() . $_tpl->compiler->compileTemplate($_tpl, $nocache); - } elseif (!empty($compiler->template->block_data[$_name])) { - $_output = $_tpl->compiler->compileTemplate($_tpl, $nocache); - } - $compiler->template->properties['file_dependency'] = array_merge($compiler->template->properties['file_dependency'], $_tpl->properties['file_dependency']); - $compiler->template->properties['function'] = array_merge($compiler->template->properties['function'], $_tpl->properties['function']); - $compiler->merged_templates = array_merge($compiler->merged_templates, $_tpl->compiler->merged_templates); - $compiler->template->variable_filters = $_tpl->variable_filters; - if ($_tpl->has_nocache_code) { - $compiler->template->has_nocache_code = true; - } - foreach ($_tpl->required_plugins as $key => $tmp1) { - if ($compiler->nocache && $compiler->template->caching) { - $code = 'nocache'; - } else { - $code = $key; - } - foreach ($tmp1 as $name => $tmp) { - foreach ($tmp as $type => $data) { - $compiler->template->required_plugins[$code][$name][$type] = $data; - } - } - } - unset($_tpl); $compiler->has_code = true; - return $_output; + $compiler->suppressNocacheProcessing = true; + $compiler->_cache['blockParams'][$compiler->_cache['blockNesting']][1] = true; + $output = "<?php \n\$_smarty_tpl->ext->_inheritance->processBlock(\$_smarty_tpl, 2, {$compiler->_cache['blockName'][$compiler->_cache['blockNesting']]}, null, \$_blockParentStack);\n?>\n"; + return $output; } /** * Compile $smarty.block.parent * - * @param object $compiler compiler object - * @param string $_name optional name of child block + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param string $_name optional name of child block * * @return string compiled code of child block */ - static function compileParentBlock($compiler, $_name = null) + static function compileParentBlock(Smarty_Internal_TemplateCompilerBase $compiler, $_name = null) { - // if called by {$smarty.block.parent} we must search the name of enclosing {block} - if ($_name == null) { - $stack_count = count($compiler->_tag_stack); - while (--$stack_count >= 0) { - if ($compiler->_tag_stack[$stack_count][0] == 'block') { - $_name = trim($compiler->_tag_stack[$stack_count][1][0]['name'], "\"'"); - break; - } - } + if (!isset($compiler->_cache['blockNesting'])) { + $compiler->trigger_template_error(' tag {$smarty.block.parent} used outside {block} tags ', + $compiler->parser->lex->taglineno); } - if ($_name == null) { - $compiler->trigger_template_error(' tag {$smarty.block.parent} used outside {block} tags ', $compiler->lex->taglineno); - } - if (empty(Smarty_Internal_Compile_Block::$nested_block_names)) { - $compiler->trigger_template_error(' illegal {$smarty.block.parent} in parent template ', $compiler->lex->taglineno); - } - Smarty_Internal_Compile_Block::$block_data[Smarty_Internal_Compile_Block::$nested_block_names[0]]['source'] .= Smarty_Internal_Compile_Block::parent; - $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK); - $compiler->has_code = false; - return; - } - - /** - * Process block source - * - * @param $compiler - * @param string $source source text - * - */ - static function blockSource($compiler, $source) - { - Smarty_Internal_Compile_Block::$block_data[Smarty_Internal_Compile_Block::$nested_block_names[0]]['source'] .= $source; + $compiler->suppressNocacheProcessing = true; + $compiler->has_code = true; + $output = "<?php \n\$_smarty_tpl->ext->_inheritance->processBlock(\$_smarty_tpl, 3, {$compiler->_cache['blockName'][$compiler->_cache['blockNesting']]}, null, \$_blockParentStack);\n?>\n"; + return $output; } } /** * Smarty Internal Plugin Compile BlockClose Class * - * @package Smarty - * @subpackage Compiler */ -class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase +class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_Compile_Shared_Inheritance { /** * Compiles code for the {/block} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * - * @return string compiled code + * @return bool true */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { - $compiler->has_code = true; - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - $saved_data = $this->closeTag($compiler, array('block')); - $_name = trim($saved_data[0]['name'], "\"'"); - // reset flag for {block} tag - $compiler->inheritance = $saved_data[1]; - // check if we process an inheritance child template - if ($compiler->inheritance_child) { - $name1 = Smarty_Internal_Compile_Block::$nested_block_names[0]; - Smarty_Internal_Compile_Block::$block_data[$name1]['source'] .= "{$compiler->smarty->left_delimiter}/private_child_block{$compiler->smarty->right_delimiter}"; - array_shift(Smarty_Internal_Compile_Block::$nested_block_names); - if (!empty(Smarty_Internal_Compile_Block::$nested_block_names)) { - $name2 = Smarty_Internal_Compile_Block::$nested_block_names[0]; - if (isset($compiler->template->block_data[$name1]) || !$saved_data[0]['hide']) { - if (isset(Smarty_Internal_Compile_Block::$block_data[$name1]['child']) || !isset($compiler->template->block_data[$name1])) { - Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= Smarty_Internal_Compile_Block::$block_data[$name1]['source']; - } else { - if ($compiler->template->block_data[$name1]['mode'] == 'append') { - Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= Smarty_Internal_Compile_Block::$block_data[$name1]['source'] . $compiler->template->block_data[$name1]['source']; - } elseif ($compiler->template->block_data[$name1]['mode'] == 'prepend') { - Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= $compiler->template->block_data[$name1]['source'] . Smarty_Internal_Compile_Block::$block_data[$name1]['source']; - } else { - Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= $compiler->template->block_data[$name1]['source']; - } - } - } - unset(Smarty_Internal_Compile_Block::$block_data[$name1]); - $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK); - } else { - if (isset($compiler->template->block_data[$name1]) || !$saved_data[0]['hide']) { - if (isset($compiler->template->block_data[$name1]) && !isset(Smarty_Internal_Compile_Block::$block_data[$name1]['child'])) { - if (strpos($compiler->template->block_data[$name1]['source'], Smarty_Internal_Compile_Block::parent) !== false) { - $compiler->template->block_data[$name1]['source'] = - str_replace(Smarty_Internal_Compile_Block::parent, Smarty_Internal_Compile_Block::$block_data[$name1]['source'], $compiler->template->block_data[$name1]['source']); - } elseif ($compiler->template->block_data[$name1]['mode'] == 'prepend') { - $compiler->template->block_data[$name1]['source'] .= Smarty_Internal_Compile_Block::$block_data[$name1]['source']; - } elseif ($compiler->template->block_data[$name1]['mode'] == 'append') { - $compiler->template->block_data[$name1]['source'] = Smarty_Internal_Compile_Block::$block_data[$name1]['source'] . $compiler->template->block_data[$name1]['source']; - } - } else { - $compiler->template->block_data[$name1]['source'] = Smarty_Internal_Compile_Block::$block_data[$name1]['source']; - } - $compiler->template->block_data[$name1]['mode'] = 'replace'; - if ($saved_data[0]['append']) { - $compiler->template->block_data[$name1]['mode'] = 'append'; - } - if ($saved_data[0]['prepend']) { - $compiler->template->block_data[$name1]['mode'] = 'prepend'; - } - } - unset(Smarty_Internal_Compile_Block::$block_data[$name1]); - $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBODY); + list($_attr, $_nocache, $_buffer, $_has_nocache_code, $_caching) = $this->closeTag($compiler, array('block')); + // init block parameter + $_block = $compiler->_cache['blockParams'][$compiler->_cache['blockNesting']]; + unset($compiler->_cache['blockParams'][$compiler->_cache['blockNesting']]); + $_block[2] = $_block[3] = 0; + $_name = trim($_attr['name'], "'\""); + $_assign = isset($_attr['assign']) ? $_attr['assign'] : null; + unset($_attr['assign'], $_attr['name']); + foreach ($_attr as $name => $stat) { + if ((is_bool($stat) && $stat !== false) || (!is_bool($stat) && $stat != 'false')) { + $_block[$name] = is_string($stat) ? trim($stat, "'\"") : $stat; } - $compiler->has_code = false; - return; } - if (isset($compiler->template->block_data[$_name]) && !isset($compiler->template->block_data[$_name]['compiled'])) { - $_output = Smarty_Internal_Compile_Block::compileChildBlock($compiler, $_name); - } else { - if ($saved_data[0]['hide'] && !isset($compiler->template->block_data[$_name]['source'])) { - $_output = ''; - } else { - $_output = $compiler->parser->current_buffer->to_smarty_php(); + $_funcName = $_block[0]; + // get compiled block code + $_functionCode = $compiler->parser->current_buffer; + // setup buffer for template function code + $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template(); + + if ($compiler->template->compiled->has_nocache_code) { + // $compiler->parent_compiler->template->tpl_function[$_name]['call_name_caching'] = $_funcNameCaching; + $_block[6] = $_funcNameCaching = $_funcName . '_nocache'; + $output = "<?php\n"; + $output .= "/* {block '{$_name}'} {$compiler->template->source->type}:{$compiler->template->source->name} */\n"; + $output .= "function {$_funcNameCaching} (\$_smarty_tpl, \$_blockParentStack) {\n"; + $output .= "/*/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/\n"; + $output .= "\$_smarty_tpl->cached->hashes['{$compiler->template->compiled->nocache_hash}'] = true;\n"; + if (isset($_assign)) { + $output .= "ob_start();\n"; + } + $output .= "?>\n"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, + new Smarty_Internal_ParseTree_Tag($compiler->parser, + $output)); + $compiler->parser->current_buffer->append_subtree($compiler->parser, $_functionCode); + $output = "<?php\n"; + if (isset($_assign)) { + $output .= "\$_smarty_tpl->tpl_vars[{$_assign}] = new Smarty_Variable(ob_get_clean());\n"; } + $output .= "/*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/\n"; + $output .= "}\n"; + $output .= "/* {/block '{$_name}'} */\n\n"; + $output .= "?>\n"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, + new Smarty_Internal_ParseTree_Tag($compiler->parser, + $output)); + $compiler->blockOrFunctionCode .= $f = $compiler->parser->current_buffer->to_smarty_php($compiler->parser); + $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template(); + $this->compiler = $compiler; + $_functionCode = new Smarty_Internal_ParseTree_Tag($compiler->parser, + preg_replace_callback("/((<\?php )?echo '\/\*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%\*\/([\S\s]*?)\/\*\/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%\*\/';(\?>\n)?)/", + array($this, 'removeNocache'), + $_functionCode->to_smarty_php($compiler->parser))); + $this->compiler = null; } - unset($compiler->template->block_data[$_name]['compiled']); - // reset flags - $compiler->parser->current_buffer = $saved_data[2]; - if ($compiler->nocache) { - $compiler->tag_nocache = true; + $output = "<?php\n"; + $output .= "/* {block '{$_name}'} {$compiler->template->source->type}:{$compiler->template->source->name} */\n"; + $output .= "function {$_funcName}(\$_smarty_tpl, \$_blockParentStack) {\n"; + if (isset($_assign)) { + $output .= "ob_start();\n"; } - $compiler->nocache = $saved_data[3]; - // $_output content has already nocache code processed - $compiler->suppressNocacheProcessing = true; - - return $_output; - } -} - -/** - * Smarty Internal Plugin Compile Child Block Class - * - * @package Smarty - * @subpackage Compiler - */ -class Smarty_Internal_Compile_Private_Child_Block extends Smarty_Internal_CompileBase -{ - - /** - * Attribute definition: Overwrites base class. - * - * @var array - * @see Smarty_Internal_CompileBase - */ - public $required_attributes = array('name', 'file', 'uid', 'line', 'type', 'resource'); - - /** - * Compiles code for the {private_child_block} tag - * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * - * @return boolean true - */ - public function compile($args, $compiler) - { - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - - // update template with original template resource of {block} - if (trim($_attr['type'], "'") == 'file') { - $compiler->template->template_resource = 'file:' . realpath(trim($_attr['file'], "'")); - } else { - $compiler->template->template_resource = trim($_attr['resource'], "'"); + $output .= "?>\n"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, + new Smarty_Internal_ParseTree_Tag($compiler->parser, + $output)); + $compiler->parser->current_buffer->append_subtree($compiler->parser, $_functionCode); + $output = "<?php\n"; + if (isset($_assign)) { + $output .= "\$_smarty_tpl->tpl_vars[{$_assign}] = new Smarty_Variable(ob_get_clean());\n"; } - // source object - unset ($compiler->template->source); - $exists = $compiler->template->source->exists; - - // must merge includes - if ($_attr['nocache'] == true) { - $compiler->tag_nocache = true; + $output .= "}\n"; + $output .= "/* {/block '{$_name}'} */\n\n"; + $output .= "?>\n"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, + new Smarty_Internal_ParseTree_Tag($compiler->parser, + $output)); + $compiler->blockOrFunctionCode .= $compiler->parser->current_buffer->to_smarty_php($compiler->parser); + // nocache plugins must be copied + if (!empty($compiler->template->compiled->required_plugins['nocache'])) { + foreach ($compiler->template->compiled->required_plugins['nocache'] as $plugin => $tmp) { + foreach ($tmp as $type => $data) { + $compiler->parent_compiler->template->compiled->required_plugins['compiled'][$plugin][$type] = + $data; + } + } } - $save = array($_attr, $compiler->nocache); - - // set trace back to child block - $compiler->pushTrace(trim($_attr['file'], "\"'"), trim($_attr['uid'], "\"'"), $_attr['line'] - $compiler->lex->line); - $this->openTag($compiler, 'private_child_block', $save); - $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; - $compiler->has_code = false; + // restore old status + $compiler->template->compiled->has_nocache_code = $_has_nocache_code; + $compiler->tag_nocache = $compiler->nocache; + $compiler->nocache = $_nocache; + $compiler->parser->current_buffer = $_buffer; + $output = "<?php \n"; + if ($compiler->_cache['blockNesting'] == 1) { + $output .= "\$_smarty_tpl->ext->_inheritance->processBlock(\$_smarty_tpl, 0, {$compiler->_cache['blockName'][$compiler->_cache['blockNesting']]}, " . + var_export($_block, true) . ");\n"; + } else { + $output .= "\$_smarty_tpl->ext->_inheritance->processBlock(\$_smarty_tpl, 0, {$compiler->_cache['blockName'][$compiler->_cache['blockNesting']]}, " . + var_export($_block, true) . ", \$_blockParentStack);\n"; - return true; + } + $output .= "?>\n"; + $compiler->_cache['blockNesting'] --; + if ($compiler->_cache['blockNesting'] == 0) { + unset($compiler->_cache['blockNesting']); + } + $compiler->has_code = true; + $compiler->suppressNocacheProcessing = true; + return $output; } -} - -/** - * Smarty Internal Plugin Compile Child Block Close Class - * - * @package Smarty - * @subpackage Compiler - */ -class Smarty_Internal_Compile_Private_Child_Blockclose extends Smarty_Internal_CompileBase -{ /** - * Compiles code for the {/private_child_block} tag - * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param $match * - * @return boolean true + * @return mixed */ - public function compile($args, $compiler) + function removeNocache($match) { - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - - $saved_data = $this->closeTag($compiler, array('private_child_block')); - - // end of child block - $compiler->popTrace(); - - $compiler->nocache = $saved_data[1]; - $compiler->has_code = false; - - return true; + $code = + preg_replace("/((<\?php )?echo '\/\*%%SmartyNocache:{$this->compiler->template->compiled->nocache_hash}%%\*\/)|(\/\*\/%%SmartyNocache:{$this->compiler->template->compiled->nocache_hash}%%\*\/';(\?>\n)?)/", + '', $match[0]); + $code = str_replace(array('\\\'', '\\\\\''), array('\'', '\\\''), $code); + return $code; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php index b51e9e8f3..cbc73d36a 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Break extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $optional_attributes = array('levels'); + /** * Attribute definition: Overwrites base class. * @@ -34,25 +35,26 @@ class Smarty_Internal_Compile_Break extends Smarty_Internal_CompileBase /** * Compiles code for the {break} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true); // check and get attributes $_attr = $this->getAttributes($compiler, $args); if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); + $compiler->trigger_template_error('nocache option not allowed', null, true); } if (isset($_attr['levels'])) { if (!is_numeric($_attr['levels'])) { - $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno); + $compiler->trigger_template_error('level attribute must be a numeric constant', null, true); } $_levels = $_attr['levels']; } else { @@ -67,7 +69,7 @@ class Smarty_Internal_Compile_Break extends Smarty_Internal_CompileBase $stack_count --; } if ($level_count != 0) { - $compiler->trigger_template_error("cannot break {$_levels} level(s)", $compiler->lex->taglineno); + $compiler->trigger_template_error("cannot break {$_levels} level(s)", null, true); } return "<?php break {$_levels};?>"; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php index bfbd1f547..b7204bec0 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -30,6 +31,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -55,13 +57,11 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase // output will be stored in a smarty variable instead of being displayed $_assign = $_attr['assign']; } + //$_name = trim($_attr['name'], "'\""); $_name = $_attr['name']; - if ($compiler->compiles_template_function) { - $compiler->called_functions[] = trim($_name, "'\""); - } unset($_attr['name'], $_attr['assign'], $_attr['nocache']); // set flag (compiled code of {function} must be included in cache file - if ($compiler->nocache || $compiler->tag_nocache) { + if (!$compiler->template->caching || $compiler->nocache || $compiler->tag_nocache) { $_nocache = 'true'; } else { $_nocache = 'false'; @@ -74,54 +74,16 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase $_paramsArray[] = "'$_key'=>$_value"; } } - if (isset($compiler->template->properties['function'][$_name]['parameter'])) { - foreach ($compiler->template->properties['function'][$_name]['parameter'] as $_key => $_value) { - if (!isset($_attr[$_key])) { - if (is_int($_key)) { - $_paramsArray[] = "$_key=>$_value"; - } else { - $_paramsArray[] = "'$_key'=>$_value"; - } - } - } - } elseif (isset($compiler->smarty->template_functions[$_name]['parameter'])) { - foreach ($compiler->smarty->template_functions[$_name]['parameter'] as $_key => $_value) { - if (!isset($_attr[$_key])) { - if (is_int($_key)) { - $_paramsArray[] = "$_key=>$_value"; - } else { - $_paramsArray[] = "'$_key'=>$_value"; - } - } - } - } - //variable name? - if (!(strpos($_name, '$') === false)) { - $call_cache = $_name; - $call_function = '$tmp = "smarty_template_function_".' . $_name . '; $tmp'; - } else { - $_name = trim($_name, "'\""); - $call_cache = "'{$_name}'"; - $call_function = 'smarty_template_function_' . $_name; - } - $_params = 'array(' . implode(",", $_paramsArray) . ')'; - $_hash = str_replace('-', '_', $compiler->template->properties['nocache_hash']); + //$compiler->suppressNocacheProcessing = true; // was there an assign attribute if (isset($_assign)) { - if ($compiler->template->caching) { - $_output = "<?php ob_start(); Smarty_Internal_Function_Call_Handler::call ({$call_cache},\$_smarty_tpl,{$_params},'{$_hash}',{$_nocache}); \$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n"; - } else { - $_output = "<?php ob_start(); {$call_function}(\$_smarty_tpl,{$_params}); \$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n"; - } + $_output = + "<?php ob_start();\n\$_smarty_tpl->smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});\n\$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n"; } else { - if ($compiler->template->caching) { - $_output = "<?php Smarty_Internal_Function_Call_Handler::call ({$call_cache},\$_smarty_tpl,{$_params},'{$_hash}',{$_nocache});?>\n"; - } else { - $_output = "<?php {$call_function}(\$_smarty_tpl,{$_params});?>\n"; - } + $_output = + "<?php \$_smarty_tpl->smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});?>\n"; } - return $_output; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php index 34728e47a..95c75a4b1 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -34,12 +35,12 @@ class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase /** * Compiles code for the {capture} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); @@ -51,10 +52,31 @@ class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase $compiler->_capture_stack[0][] = array($buffer, $assign, $append, $compiler->nocache); // maybe nocache because of nocache variables $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; - $_output = "<?php \$_smarty_tpl->_capture_stack[0][] = array($buffer, $assign, $append); ob_start(); ?>"; + $_output = "<?php \$_smarty_tpl->_cache['capture_stack'][] = array($buffer, $assign, $append); ob_start(); ?>"; return $_output; } + + /** + * Compiles code for the {$smarty.capture.xxx} + * + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * + * @return string compiled code + * @throws \SmartyCompilerException + */ + public static function compileSpecialVariable($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) + { + // make all lower case + $parameter = array_map('strtolower', $parameter); + $tag = trim($parameter[0], '"\''); + if (!isset($parameter[1]) || false === $name = $compiler->getId($parameter[1])) { + $compiler->trigger_template_error("missing or illegal \$smarty.{$tag} name attribute", null, true); + } + return "isset(\$_smarty_tpl->_cache['__smarty_capture']['{$name}']) ? \$_smarty_tpl->_cache['__smarty_capture']['{$name}'] : null"; + } } /** @@ -68,12 +90,12 @@ class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase /** * Compiles code for the {/capture} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); @@ -84,11 +106,11 @@ class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase list($buffer, $assign, $append, $compiler->nocache) = array_pop($compiler->_capture_stack[0]); - $_output = "<?php list(\$_capture_buffer, \$_capture_assign, \$_capture_append) = array_pop(\$_smarty_tpl->_capture_stack[0]);\n"; + $_output = "<?php list(\$_capture_buffer, \$_capture_assign, \$_capture_append) = array_pop(\$_smarty_tpl->_cache['capture_stack']);\n"; $_output .= "if (!empty(\$_capture_buffer)) {\n"; $_output .= " if (isset(\$_capture_assign)) \$_smarty_tpl->assign(\$_capture_assign, ob_get_contents());\n"; $_output .= " if (isset( \$_capture_append)) \$_smarty_tpl->append( \$_capture_append, ob_get_contents());\n"; - $_output .= " Smarty::\$_smarty_vars['capture'][\$_capture_buffer]=ob_get_clean();\n"; + $_output .= "\$_smarty_tpl->_cache['__smarty_capture'][\$_capture_buffer]=ob_get_clean();\n"; $_output .= "} else \$_smarty_tpl->capture_error();?>"; return $_output; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php index 8813664d4..d2e50a08f 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('file'); + /** * Attribute definition: Overwrites base class. * @@ -30,30 +31,39 @@ class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('file', 'section'); + /** * Attribute definition: Overwrites base class. * * @var array * @see Smarty_Internal_CompileBase */ - public $optional_attributes = array('section', 'scope'); + public $optional_attributes = array('section', 'scope', 'bubble_up'); + + /** + * Valid scope names + * + * @var array + */ + public $valid_scopes = array('local' => true, 'parent' => true, 'root' => true, 'global' => true, + 'smarty' => true, 'tpl_root' => true); /** * Compiles code for the {config_load} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { - static $_is_legal_scope = array('local' => true, 'parent' => true, 'root' => true, 'global' => true); // check and get attributes $_attr = $this->getAttributes($compiler, $args); if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); + $compiler->trigger_template_error('nocache option not allowed', null, true); } // save possible attributes @@ -63,19 +73,31 @@ class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase } else { $section = 'null'; } - $scope = 'local'; - // scope setup + $_scope = Smarty::SCOPE_LOCAL; if (isset($_attr['scope'])) { $_attr['scope'] = trim($_attr['scope'], "'\""); - if (isset($_is_legal_scope[$_attr['scope']])) { - $scope = $_attr['scope']; - } else { - $compiler->trigger_template_error('illegal value for "scope" attribute', $compiler->lex->taglineno); + if (!isset($this->valid_scopes[$_attr['scope']])) { + $compiler->trigger_template_error("illegal value '{$_attr['scope']}' for \"scope\" attribute", null, true); + } + if ($_attr['scope'] != 'local') { + if ($_attr['scope'] == 'parent') { + $_scope = Smarty::SCOPE_PARENT; + } elseif ($_attr['scope'] == 'root') { + $_scope = Smarty::SCOPE_ROOT; + } elseif ($_attr['scope'] == 'global') { + $_scope = Smarty::SCOPE_GLOBAL; + } elseif ($_attr['scope'] == 'smarty') { + $_scope = Smarty::SCOPE_SMARTY; + } elseif ($_attr['scope'] == 'tpl_root') { + $_scope = Smarty::SCOPE_TPL_ROOT; + } + $_scope += (isset($_attr['bubble_up']) && $_attr['bubble_up'] == 'false') ? 0 : Smarty::SCOPE_BUBBLE_UP; } } + // create config object - $_output = "<?php \$_config = new Smarty_Internal_Config($conf_file, \$_smarty_tpl->smarty, \$_smarty_tpl);"; - $_output .= "\$_config->loadConfigVars($section, '$scope'); ?>"; + $_output = + "<?php\n\$_smarty_tpl->smarty->ext->configLoad->_loadConfigFile(\$_smarty_tpl, {$conf_file}, {$section}, {$_scope});\n?>\n"; return $_output; } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php index af3765128..2ee04c94e 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Continue extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $optional_attributes = array('levels'); + /** * Attribute definition: Overwrites base class. * @@ -34,25 +35,26 @@ class Smarty_Internal_Compile_Continue extends Smarty_Internal_CompileBase /** * Compiles code for the {continue} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true); // check and get attributes $_attr = $this->getAttributes($compiler, $args); if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); + $compiler->trigger_template_error('nocache option not allowed', null, true); } if (isset($_attr['levels'])) { if (!is_numeric($_attr['levels'])) { - $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno); + $compiler->trigger_template_error('level attribute must be a numeric constant', null, true); } $_levels = $_attr['levels']; } else { @@ -67,7 +69,7 @@ class Smarty_Internal_Compile_Continue extends Smarty_Internal_CompileBase $stack_count --; } if ($level_count != 0) { - $compiler->trigger_template_error("cannot continue {$_levels} level(s)", $compiler->lex->taglineno); + $compiler->trigger_template_error("cannot continue {$_levels} level(s)", null, true); } return "<?php continue {$_levels};?>"; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php index b184a746b..d73c81a10 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php @@ -34,8 +34,8 @@ class Smarty_Internal_Compile_Debug extends Smarty_Internal_CompileBase $compiler->tag_nocache = true; // display debug template - $_output = "<?php \$_smarty_tpl->smarty->loadPlugin('Smarty_Internal_Debug'); Smarty_Internal_Debug::display_debug(\$_smarty_tpl); ?>"; - + $_output = "<?php \$_smarty_debug = new Smarty_Internal_Debug;\n \$_smarty_debug->display_debug(\$_smarty_tpl);\n"; + $_output .= "unset(\$_smarty_debug);\n?>"; return $_output; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php index 2b541f2e3..7ce3dcf6f 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php @@ -15,7 +15,7 @@ * @package Smarty * @subpackage Compiler */ -class Smarty_Internal_Compile_Extends extends Smarty_Internal_CompileBase +class Smarty_Internal_Compile_Extends extends Smarty_Internal_Compile_Shared_Inheritance { /** * Attribute definition: Overwrites base class. @@ -24,6 +24,15 @@ class Smarty_Internal_Compile_Extends extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('file'); + + /** + * Array of names of optional attribute required by tag + * use array('_any') if there is no restriction of attributes names + * + * @var array + */ + public $optional_attributes = array('extends_resource'); + /** * Attribute definition: Overwrites base class. * @@ -33,53 +42,93 @@ class Smarty_Internal_Compile_Extends extends Smarty_Internal_CompileBase public $shorttag_order = array('file'); /** - * Compiles code for the {extends} tag + * Compiles code for the {extends} tag extends: resource * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code + * @throws \SmartyCompilerException + * @throws \SmartyException */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); + $compiler->trigger_template_error('nocache option not allowed', $compiler->parser->lex->line - 1); } if (strpos($_attr['file'], '$_tmp') !== false) { - $compiler->trigger_template_error('illegal value for file attribute', $compiler->lex->taglineno); - } - - $name = $_attr['file']; - /** @var Smarty_Internal_Template $_smarty_tpl - * used in evaluated code - */ - $_smarty_tpl = $compiler->template; - eval("\$tpl_name = $name;"); - // create template object - $_template = new $compiler->smarty->template_class($tpl_name, $compiler->smarty, $compiler->template); - // check for recursion - $uid = $_template->source->uid; - if (isset($compiler->extends_uid[$uid])) { - $compiler->trigger_template_error("illegal recursive call of \"$include_file\"", $compiler->lex->line - 1); + $compiler->trigger_template_error('illegal value for file attribute', $compiler->parser->lex->line - 1); } - $compiler->extends_uid[$uid] = true; - if (empty($_template->source->components)) { - array_unshift($compiler->sources, $_template->source); - } else { - foreach ($_template->source->components as $source) { - array_unshift($compiler->sources, $source); - $uid = $source->uid; - if (isset($compiler->extends_uid[$uid])) { - $compiler->trigger_template_error("illegal recursive call of \"{$source->filepath}\"", $compiler->lex->line - 1); + // add code to initialize inheritance + $this->registerInit($compiler, true); + $file = trim($_attr['file'], '\'"'); + if (strlen($file) > 8 && substr($file, 0, 8) == 'extends:') { + // generate code for each template + $files = array_reverse(explode('|', substr($file, 8))); + $i = 0; + foreach ($files as $file) { + if ($file[0] == '"') { + $file = trim($file, '".'); + } else { + $file = "'{$file}'"; + } + $i ++; + if ($i == count($files) && isset($_attr['extends_resource'])) { + $this->compileEndChild($compiler); } - $compiler->extends_uid[$uid] = true; + $this->compileInclude($compiler, $file); } + if (!isset($_attr['extends_resource'])) { + $this->compileEndChild($compiler); + } + } else { + $this->compileEndChild($compiler); + $this->compileInclude($compiler, $_attr['file']); } - unset ($_template); - $compiler->inheritance_child = true; - $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBODY); + $compiler->has_code = false; return ''; } + + /** + * Add code for inheritance endChild() method to end of template + * + * @param \Smarty_Internal_TemplateCompilerBase $compiler + */ + private function compileEndChild(Smarty_Internal_TemplateCompilerBase $compiler) + { + $compiler->parser->template_postfix[] = new Smarty_Internal_ParseTree_Tag($compiler->parser, + "<?php \$_smarty_tpl->ext->_inheritance->endChild(\$_smarty_tpl);\n?>\n"); + } + + /** + * Add code for including subtemplate to end of template + * + * @param \Smarty_Internal_TemplateCompilerBase $compiler + * @param string $file subtemplate name + */ + private function compileInclude(Smarty_Internal_TemplateCompilerBase $compiler, $file) + { + $compiler->parser->template_postfix[] = new Smarty_Internal_ParseTree_Tag($compiler->parser, + $compiler->compileTag('include', + array($file, + array('scope' => 'parent')))); + } + + /** + * Create source code for {extends} from source components array + * + * @param []\Smarty_Internal_Template_Source $components + * + * @return string + */ + public static function extendsSourceArrayCode($components) + { + $resources = array(); + foreach ($components as $source) { + $resources[] = $source->resource; + } + return '{extends file=\'extends:' . join('|', $resources) . '\' extends_resource=true}'; + } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php index a624b922c..7b86d4859 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php @@ -34,6 +34,7 @@ class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase */ public function compile($args, $compiler, $parameter) { + $compiler->loopNesting++; if ($parameter == 0) { $this->required_attributes = array('start', 'to'); $this->optional_attributes = array('max', 'step'); @@ -44,30 +45,51 @@ class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase // check and get attributes $_attr = $this->getAttributes($compiler, $args); - $output = "<?php "; + $output = "<?php\n"; if ($parameter == 1) { foreach ($_attr['start'] as $_statement) { - $output .= " \$_smarty_tpl->tpl_vars[$_statement[var]] = new Smarty_Variable;"; - $output .= " \$_smarty_tpl->tpl_vars[$_statement[var]]->value = $_statement[value];\n"; + if (is_array($_statement['var'])) { + $var = $_statement['var']['var']; + $index = $_statement['var']['smarty_internal_index']; + } else { + $var = $_statement['var']; + $index = ''; + } + $output .= "\$_smarty_tpl->tpl_vars[$var] = new Smarty_Variable;\n"; + $output .= "\$_smarty_tpl->tpl_vars[$var]->value{$index} = {$_statement['value']};\n"; } - $output .= " if ($_attr[ifexp]) { for (\$_foo=true;$_attr[ifexp]; \$_smarty_tpl->tpl_vars[$_attr[var]]->value$_attr[step]) {\n"; + if (is_array($_attr['var'])) { + $var = $_attr['var']['var']; + $index = $_attr['var']['smarty_internal_index']; + } else { + $var = $_attr['var']; + $index = ''; + } + $output .= "if ($_attr[ifexp]) {\nfor (\$_foo=true;$_attr[ifexp]; \$_smarty_tpl->tpl_vars[$var]->value{$index}$_attr[step]) {\n"; } else { $_statement = $_attr['start']; - $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]] = new Smarty_Variable;"; + if (is_array($_statement['var'])) { + $var = $_statement['var']['var']; + $index = $_statement['var']['smarty_internal_index']; + } else { + $var = $_statement['var']; + $index = ''; + } + $output .= "\$_smarty_tpl->tpl_vars[$var] = new Smarty_Variable;"; if (isset($_attr['step'])) { - $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->step = $_attr[step];"; + $output .= "\$_smarty_tpl->tpl_vars[$var]->step = $_attr[step];"; } else { - $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->step = 1;"; + $output .= "\$_smarty_tpl->tpl_vars[$var]->step = 1;"; } if (isset($_attr['max'])) { - $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int) min(ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step)),$_attr[max]);\n"; + $output .= "\$_smarty_tpl->tpl_vars[$var]->total = (int) min(ceil((\$_smarty_tpl->tpl_vars[$var]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$var]->step)),$_attr[max]);\n"; } else { - $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int) ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step));\n"; + $output .= "\$_smarty_tpl->tpl_vars[$var]->total = (int) ceil((\$_smarty_tpl->tpl_vars[$var]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$var]->step));\n"; } - $output .= "if (\$_smarty_tpl->tpl_vars[$_statement[var]]->total > 0) {\n"; - $output .= "for (\$_smarty_tpl->tpl_vars[$_statement[var]]->value = $_statement[value], \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration = 1;\$_smarty_tpl->tpl_vars[$_statement[var]]->iteration <= \$_smarty_tpl->tpl_vars[$_statement[var]]->total;\$_smarty_tpl->tpl_vars[$_statement[var]]->value += \$_smarty_tpl->tpl_vars[$_statement[var]]->step, \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration++) {\n"; - $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->first = \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration == 1;"; - $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->last = \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration == \$_smarty_tpl->tpl_vars[$_statement[var]]->total;"; + $output .= "if (\$_smarty_tpl->tpl_vars[$var]->total > 0) {\n"; + $output .= "for (\$_smarty_tpl->tpl_vars[$var]->value{$index} = $_statement[value], \$_smarty_tpl->tpl_vars[$var]->iteration = 1;\$_smarty_tpl->tpl_vars[$var]->iteration <= \$_smarty_tpl->tpl_vars[$var]->total;\$_smarty_tpl->tpl_vars[$var]->value{$index} += \$_smarty_tpl->tpl_vars[$var]->step, \$_smarty_tpl->tpl_vars[$var]->iteration++) {\n"; + $output .= "\$_smarty_tpl->tpl_vars[$var]->first = \$_smarty_tpl->tpl_vars[$var]->iteration == 1;"; + $output .= "\$_smarty_tpl->tpl_vars[$var]->last = \$_smarty_tpl->tpl_vars[$var]->iteration == \$_smarty_tpl->tpl_vars[$var]->total;"; } $output .= "?>"; @@ -127,6 +149,7 @@ class Smarty_Internal_Compile_Forclose extends Smarty_Internal_CompileBase */ public function compile($args, $compiler, $parameter) { + $compiler->loopNesting--; // check and get attributes $_attr = $this->getAttributes($compiler, $args); // must endblock be nocache? @@ -136,10 +159,11 @@ class Smarty_Internal_Compile_Forclose extends Smarty_Internal_CompileBase list($openTag, $compiler->nocache) = $this->closeTag($compiler, array('for', 'forelse')); - if ($openTag == 'forelse') { - return "<?php } ?>"; - } else { - return "<?php }} ?>"; - } + $output = "<?php }\n"; + if ($openTag != 'forelse') { + $output .= "}\n"; + } + $output .= "?>\n"; + return $output; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php index fc77f5749..876ed026a 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php @@ -14,7 +14,7 @@ * @package Smarty * @subpackage Compiler */ -class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase +class Smarty_Internal_Compile_Foreach extends Smarty_Internal_Compile_Private_ForeachSection { /** * Attribute definition: Overwrites base class. @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('from', 'item'); + /** * Attribute definition: Overwrites base class. * @@ -30,6 +31,7 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $optional_attributes = array('name', 'key'); + /** * Attribute definition: Overwrites base class. * @@ -39,128 +41,228 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase public $shorttag_order = array('from', 'item', 'key', 'name'); /** + * counter + * + * @var int + */ + public $counter = 0; + + /** + * Name of this tag + * + * @var string + */ + public $tagName = 'foreach'; + + /** + * Valid properties of $smarty.foreach.name.xxx variable + * + * @var array + */ + public static $nameProperties = array('first', 'last', 'index', 'iteration', 'show', 'total'); + + /** + * Valid properties of $item@xxx variable + * + * @var array + */ + public $itemProperties = array('first', 'last', 'index', 'iteration', 'show', 'total', 'key'); + + /** + * Flag if tag had name attribute + * + * @var bool + */ + public $isNamed = false; + + /** * Compiles code for the {foreach} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { + $compiler->loopNesting ++; + // init + $this->isNamed = false; // check and get attributes $_attr = $this->getAttributes($compiler, $args); - $from = $_attr['from']; - $item = $_attr['item']; - if (!strncmp("\$_smarty_tpl->tpl_vars[$item]", $from, strlen($item) + 24)) { - $compiler->trigger_template_error("item variable {$item} may not be the same variable as at 'from'", $compiler->lex->taglineno); + $item = $compiler->getId($_attr['item']); + if ($item === false) { + $item = $compiler->getVariableName($_attr['item']); } - + $attributes = array('item' => $item); if (isset($_attr['key'])) { - $key = $_attr['key']; - } else { - $key = null; + $key = $compiler->getId($_attr['key']); + if ($key === false) { + $key = $compiler->getVariableName($_attr['key']); + } + $attributes['key'] = $key; + } + if (isset($_attr['name'])) { + $this->isNamed = true; + $attributes['name'] = $compiler->getId($_attr['name']); + } + foreach ($attributes as $a => $v) { + if ($v === false) { + $compiler->trigger_template_error("'{$a}' attribute/variable has illegal value", null, true); + } + } + $fromName = $compiler->getVariableName($_attr['from']); + if ($fromName) { + foreach (array('item', 'key') as $a) { + if (isset($attributes[$a]) && $attributes[$a] == $fromName) { + $compiler->trigger_template_error("'{$a}' and 'from' may not have same variable name '{$fromName}'", + null, true); + } + } + } + + $itemVar = "\$_smarty_tpl->tpl_vars['{$item}']"; + $local = '$__foreach_' . (isset($attributes['name']) ? $attributes['name'] : $attributes['item']) . '_' . + $this->counter ++ . '_'; + $needIteration = false; + // search for used tag attributes + $itemAttr = array(); + $namedAttr = array(); + $this->scanForProperties($attributes, $compiler); + if (!empty($this->matchResults['item'])) { + $itemAttr = $this->matchResults['item']; + } + if (!empty($this->matchResults['named'])) { + $namedAttr = $this->matchResults['named']; + } + if (isset($itemAttr['last'])) { + $needIteration = true; + } + if (isset($namedAttr['last'])) { + $needIteration = true; + } + + $keyTerm = ''; + if (isset($itemAttr['key'])) { + $keyTerm = "{$itemVar}->key => "; + } elseif (isset($attributes['key'])) { + $keyTerm = "\$_smarty_tpl->tpl_vars['{$key}']->value => "; } - $this->openTag($compiler, 'foreach', array('foreach', $compiler->nocache, $item, $key)); + $saveVars = array(); + $restoreVars = array(); + if ($this->isNamed) { + $foreachVar = "\$_smarty_tpl->tpl_vars['__smarty_foreach_{$attributes['name']}']"; + if (!empty($namedAttr)) { + $saveVars['saved'] = "isset({$foreachVar}) ? {$foreachVar} : false;"; + $restoreVars[] = "if ({$local}saved) {\n{$foreachVar} = {$local}saved;\n}\n"; + } + } + foreach (array('item', 'key') as $a) { + if (isset($attributes[$a])) { + $saveVars['saved_' . $a] = + "isset(\$_smarty_tpl->tpl_vars['{$attributes[$a]}']) ? \$_smarty_tpl->tpl_vars['{$attributes[$a]}'] : false;"; + $restoreVars[] = + "if ({$local}saved_{$a}) {\n\$_smarty_tpl->tpl_vars['{$attributes[$a]}'] = {$local}saved_{$a};\n}\n"; + } + } + $this->openTag($compiler, 'foreach', + array('foreach', $compiler->nocache, $local, $restoreVars, $itemVar, true)); // maybe nocache because of nocache variables $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; - if (isset($_attr['name'])) { - $name = $_attr['name']; - $has_name = true; - $SmartyVarName = '$smarty.foreach.' . trim($name, '\'"') . '.'; - } else { - $name = null; - $has_name = false; - } - $ItemVarName = '$' . trim($item, '\'"') . '@'; - // evaluates which Smarty variables and properties have to be computed - if ($has_name) { - $usesSmartyFirst = strpos($compiler->lex->data, $SmartyVarName . 'first') !== false; - $usesSmartyLast = strpos($compiler->lex->data, $SmartyVarName . 'last') !== false; - $usesSmartyIndex = strpos($compiler->lex->data, $SmartyVarName . 'index') !== false; - $usesSmartyIteration = strpos($compiler->lex->data, $SmartyVarName . 'iteration') !== false; - $usesSmartyShow = strpos($compiler->lex->data, $SmartyVarName . 'show') !== false; - $usesSmartyTotal = strpos($compiler->lex->data, $SmartyVarName . 'total') !== false; - } else { - $usesSmartyFirst = false; - $usesSmartyLast = false; - $usesSmartyTotal = false; - $usesSmartyShow = false; - } - - $usesPropFirst = $usesSmartyFirst || strpos($compiler->lex->data, $ItemVarName . 'first') !== false; - $usesPropLast = $usesSmartyLast || strpos($compiler->lex->data, $ItemVarName . 'last') !== false; - $usesPropIndex = $usesPropFirst || strpos($compiler->lex->data, $ItemVarName . 'index') !== false; - $usesPropIteration = $usesPropLast || strpos($compiler->lex->data, $ItemVarName . 'iteration') !== false; - $usesPropShow = strpos($compiler->lex->data, $ItemVarName . 'show') !== false; - $usesPropTotal = $usesSmartyTotal || $usesSmartyShow || $usesPropShow || $usesPropLast || strpos($compiler->lex->data, $ItemVarName . 'total') !== false; // generate output code - $output = "<?php "; - $output .= " \$_smarty_tpl->tpl_vars[$item] = new Smarty_Variable; \$_smarty_tpl->tpl_vars[$item]->_loop = false;\n"; - if ($key != null) { - $output .= " \$_smarty_tpl->tpl_vars[$key] = new Smarty_Variable;\n"; - } - $output .= " \$_from = $from; if (!is_array(\$_from) && !is_object(\$_from)) { settype(\$_from, 'array');}\n"; - if ($usesPropTotal) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->total= \$_smarty_tpl->_count(\$_from);\n"; + $output = "<?php\n"; + $output .= "\$_from = $from;\n"; + $output .= "if (!is_array(\$_from) && !is_object(\$_from)) {\n"; + $output .= "settype(\$_from, 'array');\n"; + $output .= "}\n"; + foreach ($saveVars as $k => $code) { + $output .= "{$local}{$k} = {$code}\n"; } - if ($usesPropIteration) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->iteration=0;\n"; + $output .= "{$itemVar} = new Smarty_Variable();\n"; + $output .= "{$local}total = \$_smarty_tpl->smarty->ext->_foreach->count(\$_from);\n"; + if (isset($itemAttr['show'])) { + $output .= "{$itemVar}->show = ({$local}total > 0);\n"; } - if ($usesPropIndex) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->index=-1;\n"; + if (isset($itemAttr['total'])) { + $output .= "{$itemVar}->total= {$local}total;\n"; } - if ($usesPropShow) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->show = (\$_smarty_tpl->tpl_vars[$item]->total > 0);\n"; - } - if ($has_name) { - if ($usesSmartyTotal) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['total'] = \$_smarty_tpl->tpl_vars[$item]->total;\n"; + if ($this->isNamed) { + $prop = array(); + if (isset($namedAttr['total'])) { + $prop['total'] = "'total' => {$local}total"; + } + if (isset($namedAttr['iteration'])) { + $prop['iteration'] = "'iteration' => 0"; } - if ($usesSmartyIteration) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['iteration']=0;\n"; + if (isset($namedAttr['index'])) { + $prop['index'] = "'index' => -1"; } - if ($usesSmartyIndex) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['index']=-1;\n"; + if (isset($namedAttr['show'])) { + $prop['show'] = "'show' => ({$local}total > 0)"; } - if ($usesSmartyShow) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['show']=(\$_smarty_tpl->tpl_vars[$item]->total > 0);\n"; + if (!empty($namedAttr)) { + $_vars = 'array(' . join(', ', $prop) . ')'; + $output .= "{$foreachVar} = new Smarty_Variable({$_vars});\n"; } } - $output .= "foreach (\$_from as \$_smarty_tpl->tpl_vars[$item]->key => \$_smarty_tpl->tpl_vars[$item]->value) {\n\$_smarty_tpl->tpl_vars[$item]->_loop = true;\n"; - if ($key != null) { - $output .= " \$_smarty_tpl->tpl_vars[$key]->value = \$_smarty_tpl->tpl_vars[$item]->key;\n"; + $output .= "if ({$local}total) {\n"; + if (isset($attributes['key'])) { + $output .= "\$_smarty_tpl->tpl_vars['{$key}'] = new Smarty_Variable();\n"; } - if ($usesPropIteration) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->iteration++;\n"; + if (isset($namedAttr['first']) || isset($itemAttr['first'])) { + $output .= "{$local}first = true;\n"; } - if ($usesPropIndex) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->index++;\n"; + if (isset($itemAttr['iteration'])) { + $output .= "{$itemVar}->iteration=0;\n"; } - if ($usesPropFirst) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->first = \$_smarty_tpl->tpl_vars[$item]->index === 0;\n"; + if (isset($itemAttr['index'])) { + $output .= "{$itemVar}->index=-1;\n"; } - if ($usesPropLast) { - $output .= " \$_smarty_tpl->tpl_vars[$item]->last = \$_smarty_tpl->tpl_vars[$item]->iteration === \$_smarty_tpl->tpl_vars[$item]->total;\n"; + if ($needIteration) { + $output .= "{$local}iteration=0;\n"; } - if ($has_name) { - if ($usesSmartyFirst) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['first'] = \$_smarty_tpl->tpl_vars[$item]->first;\n"; + $output .= "foreach (\$_from as {$keyTerm}{$itemVar}->value) {\n"; + if (isset($attributes['key']) && isset($itemAttr['key'])) { + $output .= "\$_smarty_tpl->tpl_vars['{$key}']->value = {$itemVar}->key;\n"; + } + if (isset($itemAttr['iteration'])) { + $output .= "{$itemVar}->iteration++;\n"; + } + if (isset($itemAttr['index'])) { + $output .= "{$itemVar}->index++;\n"; + } + if ($needIteration) { + $output .= "{$local}iteration++;\n"; + } + if (isset($itemAttr['first'])) { + $output .= "{$itemVar}->first = {$local}first;\n"; + } + if (isset($itemAttr['last'])) { + $output .= "{$itemVar}->last = {$local}iteration == {$local}total;\n"; + } + if ($this->isNamed) { + if (isset($namedAttr['iteration'])) { + $output .= "{$foreachVar}->value['iteration']++;\n"; } - if ($usesSmartyIteration) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['iteration']++;\n"; + if (isset($namedAttr['index'])) { + $output .= "{$foreachVar}->value['index']++;\n"; } - if ($usesSmartyIndex) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['index']++;\n"; + if (isset($namedAttr['first'])) { + $output .= "{$foreachVar}->value['first'] = {$local}first;\n"; } - if ($usesSmartyLast) { - $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['last'] = \$_smarty_tpl->tpl_vars[$item]->last;\n"; + if (isset($namedAttr['last'])) { + $output .= "{$foreachVar}->value['last'] = {$local}iteration == {$local}total;\n"; } } + if (isset($namedAttr['first']) || isset($itemAttr['first'])) { + $output .= "{$local}first = false;\n"; + } + $output .= "{$local}saved_local_item = {$itemVar};\n"; $output .= "?>"; return $output; @@ -178,21 +280,24 @@ class Smarty_Internal_Compile_Foreachelse extends Smarty_Internal_CompileBase /** * Compiles code for the {foreachelse} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); - list($openTag, $nocache, $item, $key) = $this->closeTag($compiler, array('foreach')); - $this->openTag($compiler, 'foreachelse', array('foreachelse', $nocache, $item, $key)); - - return "<?php }\nif (!\$_smarty_tpl->tpl_vars[$item]->_loop) {\n?>"; + list($openTag, $nocache, $local, $restoreVars, $itemVar, $foo) = $this->closeTag($compiler, array('foreach')); + $this->openTag($compiler, 'foreachelse', array('foreachelse', $nocache, $local, $restoreVars, $itemVar, false)); + $output = "<?php\n"; + $output .= "{$itemVar} = {$local}saved_local_item;\n"; + $output .= "}\n"; + $output .= "} else {\n?>"; + return $output; } } @@ -207,23 +312,34 @@ class Smarty_Internal_Compile_Foreachclose extends Smarty_Internal_CompileBase /** * Compiles code for the {/foreach} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); + $compiler->loopNesting --; // must endblock be nocache? if ($compiler->nocache) { $compiler->tag_nocache = true; } - list($openTag, $compiler->nocache, $item, $key) = $this->closeTag($compiler, array('foreach', 'foreachelse')); + list($openTag, $compiler->nocache, $local, $restoreVars, $itemVar, $restore) = + $this->closeTag($compiler, array('foreach', 'foreachelse')); + $output = "<?php\n"; + + if ($restore) { + $output .= "{$itemVar} = {$local}saved_local_item;\n"; + $output .= "}\n"; + } + $output .= "}\n"; + foreach ($restoreVars as $restore) { + $output .= $restore; + } + $output .= "?>"; - return "<?php } ?>"; + return $output; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php index 298eb16f2..26804b6ac 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php @@ -16,6 +16,7 @@ */ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase { + /** * Attribute definition: Overwrites base class. * @@ -23,6 +24,7 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -30,6 +32,7 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -41,54 +44,31 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase /** * Compiles code for the {function} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * - * @return boolean true + * @return bool true + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { + $compiler->loopNesting++; // check and get attributes $_attr = $this->getAttributes($compiler, $args); if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); + $compiler->trigger_template_error('nocache option not allowed', null, true); } unset($_attr['nocache']); - $save = array($_attr, $compiler->parser->current_buffer, - $compiler->template->has_nocache_code, $compiler->template->required_plugins); - $this->openTag($compiler, 'function', $save); $_name = trim($_attr['name'], "'\""); - unset($_attr['name']); - // set flag that we are compiling a template function - $compiler->compiles_template_function = true; - $compiler->template->properties['function'][$_name]['parameter'] = array(); - /** @var Smarty_Internal_Template $_smarty_tpl - * used in evaluated code - */ - $_smarty_tpl = $compiler->template; - foreach ($_attr as $_key => $_data) { - eval ('$tmp=' . $_data . ';'); - $compiler->template->properties['function'][$_name]['parameter'][$_key] = $tmp; - } - $compiler->smarty->template_functions[$_name]['parameter'] = $compiler->template->properties['function'][$_name]['parameter']; - if ($compiler->template->caching) { - $output = ''; - } else { - $output = "<?php if (!function_exists('smarty_template_function_{$_name}')) { - function smarty_template_function_{$_name}(\$_smarty_tpl,\$params) { - \$saved_tpl_vars = \$_smarty_tpl->tpl_vars; - foreach (\$_smarty_tpl->smarty->template_functions['{$_name}']['parameter'] as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}; - foreach (\$params as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}?>"; - } + $compiler->parent_compiler->template->tpl_function[$_name] = array(); + $save = array($_attr, $compiler->parser->current_buffer, $compiler->template->compiled->has_nocache_code, + $compiler->template->caching); + $this->openTag($compiler, 'function', $save); // Init temporary context - $compiler->template->required_plugins = array('compiled' => array(), 'nocache' => array()); - $compiler->parser->current_buffer = new _smarty_template_buffer($compiler->parser); - $compiler->parser->current_buffer->append_subtree(new _smarty_tag($compiler->parser, $output)); - $compiler->template->has_nocache_code = false; - $compiler->has_code = false; - $compiler->template->properties['function'][$_name]['compiled'] = ''; + $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template(); + $compiler->template->compiled->has_nocache_code = false; return true; } } @@ -101,62 +81,130 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase */ class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase { + + /** + * Compiler object + * + * @var object + */ + private $compiler = null; + /** * Compiles code for the {/function} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param object|\Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * - * @return boolean true + * @return bool true */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { - $_attr = $this->getAttributes($compiler, $args); + $compiler->loopNesting--; + $this->compiler = $compiler; $saved_data = $this->closeTag($compiler, array('function')); - $_name = trim($saved_data[0]['name'], "'\""); - // build plugin include code - $plugins_string = ''; - if (!empty($compiler->template->required_plugins['compiled'])) { - $plugins_string = '<?php '; - foreach ($compiler->template->required_plugins['compiled'] as $tmp) { - foreach ($tmp as $data) { - $plugins_string .= "if (!is_callable('{$data['function']}')) include '{$data['file']}';\n"; - } + $_attr = $saved_data[0]; + $_name = trim($_attr['name'], "'\""); + $compiler->parent_compiler->template->tpl_function[$_name]['called_functions'] = $compiler->called_functions; + $compiler->parent_compiler->template->tpl_function[$_name]['compiled_filepath'] = $compiler->parent_compiler->template->compiled->filepath; + $compiler->parent_compiler->template->tpl_function[$_name]['uid'] = $compiler->template->source->uid; + $compiler->called_functions = array(); + $_parameter = $_attr; + unset($_parameter['name']); + // default parameter + $_paramsArray = array(); + foreach ($_parameter as $_key => $_value) { + if (is_int($_key)) { + $_paramsArray[] = "$_key=>$_value"; + } else { + $_paramsArray[] = "'$_key'=>$_value"; } - $plugins_string .= '?>'; } - if (!empty($compiler->template->required_plugins['nocache'])) { - $plugins_string .= "<?php echo '/*%%SmartyNocache:{$compiler->template->properties['nocache_hash']}%%*/<?php "; - foreach ($compiler->template->required_plugins['nocache'] as $tmp) { - foreach ($tmp as $data) { - $plugins_string .= "if (!is_callable(\'{$data['function']}\')) include \'{$data['file']}\';\n"; + if (!empty($_paramsArray)) { + $_params = 'array(' . implode(",", $_paramsArray) . ')'; + $_paramsCode = "\$params = array_merge($_params, \$params);\n"; + } else { + $_paramsCode = ''; + } + $_functionCode = $compiler->parser->current_buffer; + // setup buffer for template function code + $compiler->parser->current_buffer = new Smarty_Internal_ParseTree_Template(); + + $_funcName = "smarty_template_function_{$_name}_{$compiler->template->compiled->nocache_hash}"; + $_funcNameCaching = $_funcName . '_nocache'; + if ($compiler->template->compiled->has_nocache_code) { + $compiler->parent_compiler->template->tpl_function[$_name]['call_name_caching'] = $_funcNameCaching; + $output = "<?php\n"; + $output .= "/* {$_funcNameCaching} */\n"; + $output .= "if (!function_exists('{$_funcNameCaching}')) {\n"; + $output .= "function {$_funcNameCaching} (\$_smarty_tpl,\$params) {\n"; + $output .= "ob_start();\n"; + $output .= "\$_smarty_tpl->compiled->has_nocache_code = true;\n"; + $output .= $_paramsCode; + $output .= "\$_smarty_tpl->_cache['saved_tpl_vars'][] = \$_smarty_tpl->tpl_vars;\n"; + $output .= "foreach (\$params as \$key => \$value) {\n\$_smarty_tpl->tpl_vars[\$key] = new Smarty_Variable(\$value);\n}"; + $output .= "\$params = var_export(\$params, true);\n"; + $output .= "echo \"/*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/<?php "; + $output .= "\\\$saved_tpl_vars = \\\$_smarty_tpl->tpl_vars;\nforeach (\$params as \\\$key => \\\$value) {\n\\\$_smarty_tpl->tpl_vars[\\\$key] = new Smarty_Variable(\\\$value);\n}\n?>"; + $output .= "/*/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/\n\";?>"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, new Smarty_Internal_ParseTree_Tag($compiler->parser, $output)); + $compiler->parser->current_buffer->append_subtree($compiler->parser, $_functionCode); + $output = "<?php echo \"/*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/<?php "; + $output .= "foreach (Smarty::\\\$global_tpl_vars as \\\$key => \\\$value){\n"; + $output .= "if (!isset(\\\$_smarty_tpl->tpl_vars[\\\$key]) || \\\$_smarty_tpl->tpl_vars[\\\$key] === \\\$value) \\\$saved_tpl_vars[\\\$key] = \\\$value;\n}\n"; + $output .= "\\\$_smarty_tpl->tpl_vars = \\\$saved_tpl_vars;?>\n"; + $output .= "/*/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/\";\n?>"; + $output .= "<?php echo str_replace('{$compiler->template->compiled->nocache_hash}', \$_smarty_tpl->compiled->nocache_hash, ob_get_clean());\n"; + $output .= "\$_smarty_tpl->tpl_vars = array_pop(\$_smarty_tpl->_cache['saved_tpl_vars']);\n}\n}\n"; + $output .= "/*/ {$_funcName}_nocache */\n\n"; + $output .= "?>\n"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, new Smarty_Internal_ParseTree_Tag($compiler->parser, $output)); + $_functionCode = new Smarty_Internal_ParseTree_Tag($compiler->parser, preg_replace_callback("/((<\?php )?echo '\/\*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%\*\/([\S\s]*?)\/\*\/%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%\*\/';(\?>\n)?)/", array($this, + 'removeNocache'), $_functionCode->to_smarty_php($compiler->parser))); + } + $compiler->parent_compiler->template->tpl_function[$_name]['call_name'] = $_funcName; + $output = "<?php\n"; + $output .= "/* {$_funcName} */\n"; + $output .= "if (!function_exists('{$_funcName}')) {\n"; + $output .= "function {$_funcName}(\$_smarty_tpl,\$params) {\n"; + $output .= "\$saved_tpl_vars = \$_smarty_tpl->tpl_vars;\n"; + $output .= $_paramsCode; + $output .= "foreach (\$params as \$key => \$value) {\n\$_smarty_tpl->tpl_vars[\$key] = new Smarty_Variable(\$value);\n}?>"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, new Smarty_Internal_ParseTree_Tag($compiler->parser, $output)); + $compiler->parser->current_buffer->append_subtree($compiler->parser, $_functionCode); + $output = "<?php foreach (Smarty::\$global_tpl_vars as \$key => \$value){\n"; + $output .= "if (!isset(\$_smarty_tpl->tpl_vars[\$key]) || \$_smarty_tpl->tpl_vars[\$key] === \$value) \$saved_tpl_vars[\$key] = \$value;\n}\n"; + $output .= "\$_smarty_tpl->tpl_vars = \$saved_tpl_vars;\n}\n}\n"; + $output .= "/*/ {$_funcName} */\n\n"; + $output .= "?>\n"; + $compiler->parser->current_buffer->append_subtree($compiler->parser, new Smarty_Internal_ParseTree_Tag($compiler->parser, $output)); + $compiler->parent_compiler->blockOrFunctionCode .= $compiler->parser->current_buffer->to_smarty_php($compiler->parser); + // nocache plugins must be copied + if (!empty($compiler->template->compiled->required_plugins['nocache'])) { + foreach ($compiler->template->compiled->required_plugins['nocache'] as $plugin => $tmp) { + foreach ($tmp as $type => $data) { + $compiler->parent_compiler->template->compiled->required_plugins['compiled'][$plugin][$type] = $data; } } - $plugins_string .= "?>/*/%%SmartyNocache:{$compiler->template->properties['nocache_hash']}%%*/';?>\n"; - } - // if caching save template function for possible nocache call - if ($compiler->template->caching) { - $compiler->template->properties['function'][$_name]['compiled'] .= $plugins_string - . $compiler->parser->current_buffer->to_smarty_php(); - $compiler->template->properties['function'][$_name]['nocache_hash'] = $compiler->template->properties['nocache_hash']; - $compiler->template->properties['function'][$_name]['has_nocache_code'] = $compiler->template->has_nocache_code; - $compiler->template->properties['function'][$_name]['called_functions'] = $compiler->called_functions; - $compiler->called_functions = array(); - $compiler->smarty->template_functions[$_name] = $compiler->template->properties['function'][$_name]; - $compiler->has_code = false; - $output = true; - } else { - $output = $plugins_string . $compiler->parser->current_buffer->to_smarty_php() . "<?php \$_smarty_tpl->tpl_vars = \$saved_tpl_vars; -foreach (Smarty::\$global_tpl_vars as \$key => \$value) if(!isset(\$_smarty_tpl->tpl_vars[\$key])) \$_smarty_tpl->tpl_vars[\$key] = \$value;}}?>\n"; } - // reset flag that we are compiling a template function - $compiler->compiles_template_function = false; - // restore old compiler status + // restore old buffer + $compiler->parser->current_buffer = $saved_data[1]; - $compiler->template->has_nocache_code = $compiler->template->has_nocache_code | $saved_data[2]; - $compiler->template->required_plugins = $saved_data[3]; + // restore old status + $compiler->template->compiled->has_nocache_code = $saved_data[2]; + $compiler->template->caching = $saved_data[3]; + return true; + } - return $output; + /** + * @param $match + * + * @return mixed + */ + function removeNocache($match) + { + $code = preg_replace("/((<\?php )?echo '\/\*%%SmartyNocache:{$this->compiler->template->compiled->nocache_hash}%%\*\/)|(\/\*\/%%SmartyNocache:{$this->compiler->template->compiled->nocache_hash}%%\*\/';(\?>\n)?)/", '', $match[0]); + $code = str_replace(array('\\\'', '\\\\\''), array('\'', '\\\''), $code); + return $code; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php index d709fcfd8..541e21816 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php @@ -19,13 +19,14 @@ class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase /** * Compiles code for the {if} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); @@ -34,7 +35,7 @@ class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; if (!array_key_exists("if condition", $parameter)) { - $compiler->trigger_template_error("missing if condition", $compiler->lex->taglineno); + $compiler->trigger_template_error("missing if condition", null, true); } if (is_array($parameter['if condition'])) { @@ -42,19 +43,32 @@ class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase $_nocache = ',true'; // create nocache var to make it know for further compiling if (is_array($parameter['if condition']['var'])) { - $compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + $var = trim($parameter['if condition']['var']['var'], "'"); } else { - $compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + $var = trim($parameter['if condition']['var'], "'"); + } + if (isset($compiler->template->tpl_vars[$var])) { + $compiler->template->tpl_vars[$var]->nocache = true; + } else { + $compiler->template->tpl_vars[$var] = new Smarty_Variable(null, true); } } else { $_nocache = ''; } if (is_array($parameter['if condition']['var'])) { - $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n"; - $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>"; + $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . + "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . + "]->value)) \$_smarty_tpl->smarty->ext->_var->createLocalArrayVariable(\$_smarty_tpl, " . $parameter['if condition']['var']['var'] . + "$_nocache);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . + $parameter['if condition']['var']['smarty_internal_index'] . " = " . + $parameter['if condition']['value'] . ") {?>"; } else { - $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});"; - $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>"; + $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . + "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . + "] = new Smarty_Variable(null{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . + $parameter['if condition']['value'] . ") {?>"; } return $_output; @@ -75,13 +89,13 @@ class Smarty_Internal_Compile_Else extends Smarty_Internal_CompileBase /** * Compiles code for the {else} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif')); $this->openTag($compiler, 'else', array($nesting, $compiler->tag_nocache)); @@ -101,13 +115,14 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase /** * Compiles code for the {elseif} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); @@ -115,7 +130,7 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif')); if (!array_key_exists("if condition", $parameter)) { - $compiler->trigger_template_error("missing elseif condition", $compiler->lex->taglineno); + $compiler->trigger_template_error("missing elseif condition", null, true); } if (is_array($parameter['if condition'])) { @@ -124,9 +139,14 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase $_nocache = ',true'; // create nocache var to make it know for further compiling if (is_array($parameter['if condition']['var'])) { - $compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + $var = trim($parameter['if condition']['var']['var'], "'"); + } else { + $var = trim($parameter['if condition']['var'], "'"); + } + if (isset($compiler->template->tpl_vars[$var])) { + $compiler->template->tpl_vars[$var]->nocache = true; } else { - $compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + $compiler->template->tpl_vars[$var] = new Smarty_Variable(null, true); } } else { $_nocache = ''; @@ -139,11 +159,20 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase if ($condition_by_assign) { $this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache)); if (is_array($parameter['if condition']['var'])) { - $_output = "<?php } else { if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n"; - $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>"; + $_output = "<?php } else { if (!isset(\$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var']['var'] . + "]->value)) \$_smarty_tpl->smarty->ext->_var->createLocalArrayVariable(\$_smarty_tpl, " . + $parameter['if condition']['var']['var'] . "$_nocache);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . + $parameter['if condition']['var']['smarty_internal_index'] . " = " . + $parameter['if condition']['value'] . ") {?>"; } else { - $_output = "<?php } else { if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});"; - $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>"; + $_output = "<?php } else { if (!isset(\$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . + $parameter['if condition']['value'] . ") {?>"; } return $_output; @@ -155,22 +184,35 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase } else { $tmp = ''; foreach ($compiler->prefix_code as $code) { - $tmp .= $code; + $tmp = $compiler->appendCode($tmp, $code); } $compiler->prefix_code = array(); + $tmp = $compiler->appendCode("<?php } else {?>", $tmp); $this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache)); if ($condition_by_assign) { if (is_array($parameter['if condition']['var'])) { - $_output = "<?php } else {?>{$tmp}<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n"; - $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>"; + $_output = $compiler->appendCode($tmp, "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var']['var'] . + "]) || !is_array(\$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var']['var'] . + "]->value)) \$_smarty_tpl->smarty->ext->_var->createLocalArrayVariable(\$_smarty_tpl, " . + $parameter['if condition']['var']['var'] . "$_nocache);\n"); + $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . + $parameter['if condition']['var']['smarty_internal_index'] . " = " . + $parameter['if condition']['value'] . ") {?>"; } else { - $_output = "<?php } else {?>{$tmp}<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});"; - $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>"; + $_output = $compiler->appendCode($tmp, "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var'] . + "])) \$_smarty_tpl->tpl_vars[" . + $parameter['if condition']['var'] . + "] = new Smarty_Variable(null{$_nocache});"); + $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . + $parameter['if condition']['value'] . ") {?>"; } return $_output; } else { - return "<?php } else {?>{$tmp}<?php if ({$parameter['if condition']}) {?>"; + return $compiler->appendCode($tmp, "<?php if ({$parameter['if condition']}) {?>"); } } } @@ -187,13 +229,13 @@ class Smarty_Internal_Compile_Ifclose extends Smarty_Internal_CompileBase /** * Compiles code for the {/if} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // must endblock be nocache? if ($compiler->nocache) { diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php index 4b7b09ce7..09fa11d6c 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php @@ -20,6 +20,7 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase * caching mode to create nocache code but no cache file */ const CACHING_NOCACHE_CODE = 9999; + /** * Attribute definition: Overwrites base class. * @@ -27,6 +28,7 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('file'); + /** * Attribute definition: Overwrites base class. * @@ -34,13 +36,15 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('file'); + /** * Attribute definition: Overwrites base class. * * @var array * @see Smarty_Internal_CompileBase */ - public $option_flags = array('nocache', 'inline', 'caching'); + public $option_flags = array('nocache', 'inline', 'caching', 'bubble_up'); + /** * Attribute definition: Overwrites base class. * @@ -50,64 +54,160 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase public $optional_attributes = array('_any'); /** + * Valid scope names + * + * @var array + */ + public $valid_scopes = array('local' => true, 'parent' => true, 'root' => true, 'global' => true, + 'smarty' => true, 'tpl_root' => true); + + /** * Compiles code for the {include} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param Smarty_Internal_SmartyTemplateCompiler $compiler compiler object + * @param array $parameter array with compilation parameter * + * @throws SmartyCompilerException * @return string compiled code */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_SmartyTemplateCompiler $compiler, $parameter) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); - // save possible attributes - $include_file = $_attr['file']; + + $hashResourceName = $fullResourceName = $source_resource = $_attr['file']; + $variable_template = false; + $cache_tpl = false; + // parse resource_name + if (preg_match('/^([\'"])(([A-Za-z0-9_\-]{2,})[:])?(([^$()]+)|(.+))\1$/', $source_resource, $match)) { + $type = !empty($match[3]) ? $match[3] : $compiler->template->smarty->default_resource_type; + $name = !empty($match[5]) ? $match[5] : $match[6]; + $handler = Smarty_Resource::load($compiler->smarty, $type); + if ($handler->recompiled || $handler->uncompiled) { + $variable_template = true; + } + if (!$variable_template) { + if ($type != 'string') { + $fullResourceName = "{$type}:{$name}"; + $compiled = $compiler->parent_compiler->template->compiled; + if (isset($compiled->includes[$fullResourceName])) { + $compiled->includes[$fullResourceName] ++; + $cache_tpl = true; + } else { + $compiled->includes[$fullResourceName] = 1; + } + $fullResourceName = '"' . $fullResourceName . '"'; + } + } + if (empty($match[5])) { + $variable_template = true; + } + } else { + $variable_template = true; + } if (isset($_attr['assign'])) { // output will be stored in a smarty variable instead of being displayed $_assign = $_attr['assign']; } - $_parent_scope = Smarty::SCOPE_LOCAL; + // scope setup + $_scope = Smarty::SCOPE_LOCAL; if (isset($_attr['scope'])) { $_attr['scope'] = trim($_attr['scope'], "'\""); - if ($_attr['scope'] == 'parent') { - $_parent_scope = Smarty::SCOPE_PARENT; - } elseif ($_attr['scope'] == 'root') { - $_parent_scope = Smarty::SCOPE_ROOT; - } elseif ($_attr['scope'] == 'global') { - $_parent_scope = Smarty::SCOPE_GLOBAL; + if (!isset($this->valid_scopes[$_attr['scope']])) { + $compiler->trigger_template_error("illegal value '{$_attr['scope']}' for \"scope\" attribute", null, true); + } + if ($_attr['scope'] != 'local') { + if ($_attr['scope'] == 'parent') { + $_scope = Smarty::SCOPE_PARENT; + } elseif ($_attr['scope'] == 'root') { + $_scope = Smarty::SCOPE_ROOT; + } elseif ($_attr['scope'] == 'global') { + $_scope = Smarty::SCOPE_GLOBAL; + } elseif ($_attr['scope'] == 'smarty') { + $_scope = Smarty::SCOPE_SMARTY; + } elseif ($_attr['scope'] == 'tpl_root') { + $_scope = Smarty::SCOPE_TPL_ROOT; + } + if ($_attr['bubble_up'] === true) { + $_scope = $_scope + Smarty::SCOPE_BUBBLE_UP; + } } } + // set flag to cache subtemplate object when called within loop or template name is variable. + if ($cache_tpl || $variable_template || $compiler->loopNesting > 0) { + $_cache_tpl = 'true'; + } else { + $_cache_tpl = 'false'; + } + // assume caching is off $_caching = Smarty::CACHING_OFF; - // flag if included template code should be merged into caller - $merge_compiled_includes = ($compiler->smarty->merge_compiled_includes || ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) || $_attr['inline'] === true) && !$compiler->template->source->recompiled; + if ($_attr['nocache'] === true) { + $compiler->tag_nocache = true; + } + + $call_nocache = $compiler->tag_nocache || $compiler->nocache; - // set default when in nocache mode - // if ($compiler->template->caching && ($compiler->nocache || $compiler->tag_nocache || $compiler->forceNocache == 2)) { - if ($compiler->template->caching && ((!$compiler->inheritance && !$compiler->nocache && !$compiler->tag_nocache) || ($compiler->inheritance && ($compiler->nocache || $compiler->tag_nocache)))) { + // caching was on and {include} is not in nocache mode + if ($compiler->template->caching && !$compiler->nocache && !$compiler->tag_nocache) { $_caching = self::CACHING_NOCACHE_CODE; } + + // flag if included template code should be merged into caller + $merge_compiled_includes = ($compiler->smarty->merge_compiled_includes || $_attr['inline'] === true) && + !$compiler->template->source->handler->recompiled; + + if ($merge_compiled_includes && $_attr['inline'] !== true) { + // variable template name ? + if ($variable_template) { + $merge_compiled_includes = false; + if ($compiler->template->caching) { + // must use individual cache file + //$_attr['caching'] = 1; + } + } + // variable compile_id? + if (isset($_attr['compile_id'])) { + if (!((substr_count($_attr['compile_id'], '"') == 2 || substr_count($_attr['compile_id'], "'") == 2 || + is_numeric($_attr['compile_id']))) || substr_count($_attr['compile_id'], '(') != 0 || + substr_count($_attr['compile_id'], '$_smarty_tpl->') != 0 + ) { + $merge_compiled_includes = false; + if ($compiler->template->caching) { + // must use individual cache file + //$_attr['caching'] = 1; + } + } + } + } + /* - * if the {include} tag provides individual parameter for caching - * it will not be included into the common cache file and treated like - * a nocache section + * if the {include} tag provides individual parameter for caching or compile_id + * the subtemplate must not be included into the common cache file and is treated like + * a call in nocache mode. + * */ + if ($_attr['nocache'] !== true && $_attr['caching']) { + $_caching = $_new_caching = (int) $_attr['caching']; + $call_nocache = true; + } else { + $_new_caching = Smarty::CACHING_LIFETIME_CURRENT; + } if (isset($_attr['cache_lifetime'])) { $_cache_lifetime = $_attr['cache_lifetime']; - $compiler->tag_nocache = true; - $_caching = Smarty::CACHING_LIFETIME_CURRENT; + $call_nocache = true; + $_caching = $_new_caching; } else { - $_cache_lifetime = 'null'; + $_cache_lifetime = '$_smarty_tpl->cache_lifetime'; } if (isset($_attr['cache_id'])) { $_cache_id = $_attr['cache_id']; - $compiler->tag_nocache = true; - $_caching = Smarty::CACHING_LIFETIME_CURRENT; + $call_nocache = true; + $_caching = $_new_caching; } else { $_cache_id = '$_smarty_tpl->cache_id'; } @@ -116,150 +216,151 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase } else { $_compile_id = '$_smarty_tpl->compile_id'; } - if ($_attr['caching'] === true) { - $_caching = Smarty::CACHING_LIFETIME_CURRENT; - } - if ($_attr['nocache'] === true) { - $compiler->tag_nocache = true; - if ($merge_compiled_includes) { - $_caching = self::CACHING_NOCACHE_CODE; - } else { - $_caching = Smarty::CACHING_OFF; - } + + // if subtemplate will be called in nocache mode do not merge + if ($compiler->template->caching && $call_nocache) { + $merge_compiled_includes = false; } $has_compiled_template = false; - if ($merge_compiled_includes && $_attr['inline'] !== true) { - // variable template name ? - if ($compiler->has_variable_string || !((substr_count($include_file, '"') == 2 || substr_count($include_file, "'") == 2)) - || substr_count($include_file, '(') != 0 || substr_count($include_file, '$_smarty_tpl->') != 0 - ) { - $merge_compiled_includes = false; - if ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) { - $compiler->trigger_template_error(' variable template file names not allow within {block} tags'); - } - } - // variable compile_id? - if (isset($_attr['compile_id'])) { - if (!((substr_count($_attr['compile_id'], '"') == 2 || substr_count($_attr['compile_id'], "'") == 2)) - || substr_count($_attr['compile_id'], '(') != 0 || substr_count($_attr['compile_id'], '$_smarty_tpl->') != 0 - ) { - $merge_compiled_includes = false; - if ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) { - $compiler->trigger_template_error(' variable compile_id not allow within {block} tags'); - } - } - } - } - if ($merge_compiled_includes) { - if ($compiler->template->caching && ($compiler->tag_nocache || $compiler->nocache) && $_caching != self::CACHING_NOCACHE_CODE) { - $merge_compiled_includes = false; - if ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) { - $compiler->trigger_template_error(' invalid caching mode of subtemplate within {block} tags'); - } - } - } if ($merge_compiled_includes) { - // we must observe different compile_id - $uid = sha1($_compile_id); - $tpl_name = null; - $nocache = false; - /** @var Smarty_Internal_Template $_smarty_tpl - * used in evaluated code - */ - $_smarty_tpl = $compiler->template; - eval("\$tpl_name = $include_file;"); - if (!isset($compiler->smarty->merged_templates_func[$tpl_name][$uid])) { - $tpl = new $compiler->smarty->template_class ($tpl_name, $compiler->smarty, $compiler->template, $compiler->template->cache_id, $compiler->template->compile_id); - // save unique function name - $compiler->smarty->merged_templates_func[$tpl_name][$uid]['func'] = $tpl->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true)); - // use current nocache hash for inlined code - $compiler->smarty->merged_templates_func[$tpl_name][$uid]['nocache_hash'] = $tpl->properties['nocache_hash'] = $compiler->template->properties['nocache_hash']; - if ($compiler->template->caching && $_caching == self::CACHING_NOCACHE_CODE) { - // all code must be nocache - $nocache = true; - } - if ($compiler->inheritance) { - $tpl->compiler->inheritance = true; - } - // make sure whole chain gets compiled - $tpl->mustCompile = true; - if (!($tpl->source->uncompiled) && $tpl->source->exists) { - - // get compiled code - $compiled_code = $tpl->compiler->compileTemplate($tpl, $nocache); - // release compiler object to free memory - unset($tpl->compiler); - // merge compiled code for {function} tags - $compiler->template->properties['function'] = array_merge($compiler->template->properties['function'], $tpl->properties['function']); - // merge filedependency - $tpl->properties['file_dependency'][$tpl->source->uid] = array($tpl->source->filepath, $tpl->source->timestamp, $tpl->source->type); - $compiler->template->properties['file_dependency'] = array_merge($compiler->template->properties['file_dependency'], $tpl->properties['file_dependency']); - // remove header code - $compiled_code = preg_replace("/(<\?php \/\*%%SmartyHeaderCode:{$tpl->properties['nocache_hash']}%%\*\/(.+?)\/\*\/%%SmartyHeaderCode%%\*\/\?>\n)/s", '', $compiled_code); - if ($tpl->has_nocache_code) { - // replace nocache_hash - $compiled_code = str_replace("{$tpl->properties['nocache_hash']}", $compiler->template->properties['nocache_hash'], $compiled_code); - $compiler->template->has_nocache_code = true; - } - $compiler->merged_templates[$tpl->properties['unifunc']] = $compiled_code; - $has_compiled_template = true; - unset ($tpl); - } + $c_id = isset($_attr['compile_id']) ? $_attr['compile_id'] : $compiler->template->compile_id; + // we must observe different compile_id and caching + $t_hash = sha1($c_id . ($_caching ? '--caching' : '--nocaching')); + if (!isset($compiler->parent_compiler->mergedSubTemplatesData[$hashResourceName][$t_hash])) { + $has_compiled_template = + $this->compileInlineTemplate($compiler, $fullResourceName, $_caching, $hashResourceName, $t_hash, + $c_id); } else { $has_compiled_template = true; } } // delete {include} standard attributes - unset($_attr['file'], $_attr['assign'], $_attr['cache_id'], $_attr['compile_id'], $_attr['cache_lifetime'], $_attr['nocache'], $_attr['caching'], $_attr['scope'], $_attr['inline']); + unset($_attr['file'], $_attr['assign'], $_attr['cache_id'], $_attr['compile_id'], $_attr['cache_lifetime'], $_attr['nocache'], $_attr['caching'], $_attr['scope'], $_attr['inline'], $_attr['bubble_up']); // remaining attributes must be assigned as smarty variable + $_vars_nc = ''; if (!empty($_attr)) { - if ($_parent_scope == Smarty::SCOPE_LOCAL) { + if ($_scope == Smarty::SCOPE_LOCAL) { + $_pairs = array(); // create variables - $nccode = ''; foreach ($_attr as $key => $value) { $_pairs[] = "'$key'=>$value"; - $nccode .= "\$_smarty_tpl->tpl_vars['$key'] = new Smarty_variable($value);\n"; + $_vars_nc .= "\$_smarty_tpl->tpl_vars['$key'] = new Smarty_Variable($value);\n"; } $_vars = 'array(' . join(',', $_pairs) . ')'; } else { - $compiler->trigger_template_error('variable passing not allowed in parent/global scope', $compiler->lex->taglineno); + $compiler->trigger_template_error('variable passing not allowed in parent/global scope', null, true); } } else { $_vars = 'array()'; } - if ($has_compiled_template) { - // never call inline templates in nocache mode - $compiler->suppressNocacheProcessing = true; - $_hash = $compiler->smarty->merged_templates_func[$tpl_name][$uid]['nocache_hash']; - $_output = "<?php /* Call merged included template \"" . $tpl_name . "\" */\n"; - $_output .= "\$_tpl_stack[] = \$_smarty_tpl;\n"; - if (!empty($nccode) && $_caching == 9999 && $_smarty_tpl->caching) { - $compiler->suppressNocacheProcessing = false; - $_output .= substr($compiler->processNocacheCode('<?php ' .$nccode . "?>\n", true), 6, -3); - $compiler->suppressNocacheProcessing = true; + $update_compile_id = $compiler->template->caching && !$compiler->tag_nocache && !$compiler->nocache && + $_compile_id != '$_smarty_tpl->compile_id'; + if ($has_compiled_template && !$call_nocache) { + $_output = "<?php\n"; + if ($update_compile_id) { + $_output .= $compiler->makeNocacheCode("\$_compile_id_save[] = \$_smarty_tpl->compile_id;\n\$_smarty_tpl->compile_id = {$_compile_id};\n"); + } + if (!empty($_vars_nc) && $_caching == 9999 && $compiler->template->caching) { + //$compiler->suppressNocacheProcessing = false; + $_output .= substr($compiler->processNocacheCode('<?php ' . $_vars_nc . "?>\n", true), 6, - 3); + //$compiler->suppressNocacheProcessing = true; } - $_output .= " \$_smarty_tpl = \$_smarty_tpl->setupInlineSubTemplate($include_file, $_cache_id, $_compile_id, $_caching, $_cache_lifetime, $_vars, $_parent_scope, '$_hash');\n"; if (isset($_assign)) { - $_output .= 'ob_start(); '; + $_output .= "ob_start();\n"; } - $_output .= $compiler->smarty->merged_templates_func[$tpl_name][$uid]['func'] . "(\$_smarty_tpl);\n"; - $_output .= "\$_smarty_tpl = array_pop(\$_tpl_stack); "; + $_output .= "\$_smarty_tpl->smarty->ext->_subtemplate->render(\$_smarty_tpl, {$fullResourceName}, {$_cache_id}, {$_compile_id}, {$_caching}, {$_cache_lifetime}, {$_vars}, {$_scope}, {$_cache_tpl}, '{$compiler->parent_compiler->mergedSubTemplatesData[$hashResourceName][$t_hash]['uid']}', '{$compiler->parent_compiler->mergedSubTemplatesData[$hashResourceName][$t_hash]['func']}');\n"; if (isset($_assign)) { - $_output .= " \$_smarty_tpl->tpl_vars[$_assign] = new Smarty_variable(ob_get_clean());"; + $_output .= "\$_smarty_tpl->assign({$_assign}, ob_get_clean());\n"; + } + if ($update_compile_id) { + $_output .= $compiler->makeNocacheCode("\$_smarty_tpl->compile_id = array_pop(\$_compile_id_save);\n"); } - $_output .= "\n/* End of included template \"" . $tpl_name . "\" */?>"; + $_output .= "?>\n"; return $_output; } + if ($call_nocache) { + $compiler->tag_nocache = true; + } + $_output = "<?php "; + if ($update_compile_id) { + $_output .= "\$_compile_id_save[] = \$_smarty_tpl->compile_id;\n\$_smarty_tpl->compile_id = {$_compile_id};\n"; + } // was there an assign attribute if (isset($_assign)) { - $_output = "<?php \$_smarty_tpl->tpl_vars[$_assign] = new Smarty_variable(\$_smarty_tpl->getSubTemplate ($include_file, $_cache_id, $_compile_id, $_caching, $_cache_lifetime, $_vars, $_parent_scope));?>\n";; - } else { - $_output = "<?php echo \$_smarty_tpl->getSubTemplate ($include_file, $_cache_id, $_compile_id, $_caching, $_cache_lifetime, $_vars, $_parent_scope);?>\n"; + $_output .= "ob_start();\n"; } - + $_output .= "\$_smarty_tpl->smarty->ext->_subtemplate->render(\$_smarty_tpl, {$fullResourceName}, $_cache_id, $_compile_id, $_caching, $_cache_lifetime, $_vars, $_scope, {$_cache_tpl});\n"; + if (isset($_assign)) { + $_output .= "\$_smarty_tpl->assign({$_assign}, ob_get_clean());\n"; + } + if ($update_compile_id) { + $_output .= "\$_smarty_tpl->compile_id = array_pop(\$_compile_id_save);\n"; + } + $_output .= "?>\n"; return $_output; } + + /** + * Compile inline sub template + * + * @param \Smarty_Internal_SmartyTemplateCompiler $compiler + * @param $fullResourceName + * @param $_caching + * @param $hashResourceName + * @param $t_hash + * @param $c_id + * + * @return bool + */ + public function compileInlineTemplate(Smarty_Internal_SmartyTemplateCompiler $compiler, $fullResourceName, + $_caching, $hashResourceName, $t_hash, $c_id) + { + $compiler->smarty->allow_ambiguous_resources = true; + /* @var Smarty_Internal_Template $tpl */ + $tpl = + new $compiler->smarty->template_class (trim($fullResourceName, '"\''), $compiler->smarty, $compiler->template, + $compiler->template->cache_id, $c_id, $_caching); + if (!($tpl->source->handler->uncompiled) && $tpl->source->exists) { + $compiler->parent_compiler->mergedSubTemplatesData[$hashResourceName][$t_hash]['uid'] = $tpl->source->uid; + if (isset($compiler->template->_inheritance)) { + $tpl->_inheritance = clone $compiler->template->_inheritance; + } + $tpl->compiled = new Smarty_Template_Compiled(); + $tpl->compiled->nocache_hash = $compiler->parent_compiler->template->compiled->nocache_hash; + $tpl->loadCompiler(); + // save unique function name + $compiler->parent_compiler->mergedSubTemplatesData[$hashResourceName][$t_hash]['func'] = + $tpl->compiled->unifunc = 'content_' . str_replace(array('.', ','), '_', uniqid('', true)); + // make sure whole chain gets compiled + $tpl->mustCompile = true; + $compiler->parent_compiler->mergedSubTemplatesData[$hashResourceName][$t_hash]['nocache_hash'] = + $tpl->compiled->nocache_hash; + // get compiled code + $compiled_code = "<?php\n\n"; + $compiled_code .= "/* Start inline template \"{$tpl->source->type}:{$tpl->source->name}\" =============================*/\n"; + $compiled_code .= "function {$tpl->compiled->unifunc} (\$_smarty_tpl) {\n"; + $compiled_code .= "?>\n" . $tpl->compiler->compileTemplateSource($tpl, null, $compiler->parent_compiler); + $compiled_code .= "<?php\n"; + $compiled_code .= "}\n?>\n"; + $compiled_code .= $tpl->compiler->postFilter($tpl->compiler->blockOrFunctionCode); + $compiled_code .= "<?php\n\n"; + $compiled_code .= "/* End inline template \"{$tpl->source->type}:{$tpl->source->name}\" =============================*/\n"; + $compiled_code .= "?>"; + unset($tpl->compiler); + if ($tpl->compiled->has_nocache_code) { + // replace nocache_hash + $compiled_code = + str_replace("{$tpl->compiled->nocache_hash}", $compiler->template->compiled->nocache_hash, + $compiled_code); + $compiler->template->compiled->has_nocache_code = true; + } + $compiler->parent_compiler->mergedSubTemplatesCode[$tpl->compiled->unifunc] = $compiled_code; + return true; + } else { + return false; + } + } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php index 76f506c52..e7e62997c 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('file'); + /** * Attribute definition: Overwrites base class. * @@ -30,6 +31,7 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('file'); + /** * Attribute definition: Overwrites base class. * @@ -41,13 +43,14 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase /** * Compiles code for the {include_php} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * - * @throws SmartyException - * @return string compiled code + * @return string + * @throws \SmartyCompilerException + * @throws \SmartyException */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { if (!($compiler->smarty instanceof SmartyBC)) { throw new SmartyException("{include_php} is deprecated, use SmartyBC class to enable"); @@ -60,9 +63,10 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase */ $_smarty_tpl = $compiler->template; $_filepath = false; - eval('$_file = ' . $_attr['file'] . ';'); + $_file = null; + eval('$_file = @' . $_attr['file'] . ';'); if (!isset($compiler->smarty->security_policy) && file_exists($_file)) { - $_filepath = $_file; + $_filepath = $compiler->smarty->_realpath($_file, true); } else { if (isset($compiler->smarty->security_policy)) { $_dir = $compiler->smarty->security_policy->trusted_dir; @@ -71,16 +75,16 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase } if (!empty($_dir)) { foreach ((array) $_dir as $_script_dir) { - $_script_dir = rtrim($_script_dir, '/\\') . DS; - if (file_exists($_script_dir . $_file)) { - $_filepath = $_script_dir . $_file; + $_path = $compiler->smarty->_realpath($_script_dir . DS . $_file, true); + if (file_exists($_path)) { + $_filepath = $_path; break; } } } } if ($_filepath == false) { - $compiler->trigger_template_error("{include_php} file '{$_file}' is not readable", $compiler->lex->taglineno); + $compiler->trigger_template_error("{include_php} file '{$_file}' is not readable", null, true); } if (isset($compiler->smarty->security_policy)) { @@ -99,7 +103,7 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase } if (isset($_assign)) { - return "<?php ob_start(); include{$_once} ('{$_filepath}'); \$_smarty_tpl->assign({$_assign},ob_get_contents()); ob_end_clean();?>"; + return "<?php ob_start();\ninclude{$_once} ('{$_filepath}');\n\$_smarty_tpl->assign({$_assign},ob_get_clean());\n?>"; } else { return "<?php include{$_once} ('{$_filepath}');?>\n"; } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php index 4c6585543..2ebde1661 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php @@ -24,6 +24,7 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -31,6 +32,7 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -42,17 +44,21 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase /** * Compiles code for the {insert} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); - // never compile as nocache code - $compiler->suppressNocacheProcessing = true; + $nocacheParam = $compiler->template->caching && ($compiler->tag_nocache || $compiler->nocache); + if (!$nocacheParam) { + // do not compile as nocache code + $compiler->suppressNocacheProcessing = true; + } $compiler->tag_nocache = true; $_smarty_tpl = $compiler->template; $_name = null; @@ -60,19 +66,24 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase $_output = '<?php '; // save possible attributes - eval('$_name = ' . $_attr['name'] . ';'); + eval('$_name = @' . $_attr['name'] . ';'); if (isset($_attr['assign'])) { // output will be stored in a smarty variable instead of being displayed $_assign = $_attr['assign']; // create variable to make sure that the compiler knows about its nocache status - $compiler->template->tpl_vars[trim($_attr['assign'], "'")] = new Smarty_Variable(null, true); + $var = trim($_attr['assign'], "'"); + if (isset($compiler->template->tpl_vars[$var])) { + $compiler->template->tpl_vars[$var]->nocache = true; + } else { + $compiler->template->tpl_vars[$var] = new Smarty_Variable(null, true); + } } if (isset($_attr['script'])) { // script which must be included $_function = "smarty_insert_{$_name}"; $_smarty_tpl = $compiler->template; $_filepath = false; - eval('$_script = ' . $_attr['script'] . ';'); + eval('$_script = @' . $_attr['script'] . ';'); if (!isset($compiler->smarty->security_policy) && file_exists($_script)) { $_filepath = $_script; } else { @@ -92,13 +103,13 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase } } if ($_filepath == false) { - $compiler->trigger_template_error("{insert} missing script file '{$_script}'", $compiler->lex->taglineno); + $compiler->trigger_template_error("{insert} missing script file '{$_script}'", null, true); } // code for script file loading $_output .= "require_once '{$_filepath}' ;"; require_once $_filepath; if (!is_callable($_function)) { - $compiler->trigger_template_error(" {insert} function '{$_function}' is not callable in script file '{$_script}'", $compiler->lex->taglineno); + $compiler->trigger_template_error(" {insert} function '{$_function}' is not callable in script file '{$_script}'", null, true); } } else { $_filepath = 'null'; @@ -107,7 +118,7 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase if (!is_callable($_function)) { // try plugin if (!$_function = $compiler->getPlugin($_name, 'insert')) { - $compiler->trigger_template_error("{insert} no function or plugin found for '{$_name}'", $compiler->lex->taglineno); + $compiler->trigger_template_error("{insert} no function or plugin found for '{$_name}'", null, true); } } } @@ -121,14 +132,14 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase $_params = 'array(' . implode(", ", $_paramsArray) . ')'; // call insert if (isset($_assign)) { - if ($_smarty_tpl->caching) { + if ($_smarty_tpl->caching && !$nocacheParam) { $_output .= "echo Smarty_Internal_Nocache_Insert::compile ('{$_function}',{$_params}, \$_smarty_tpl, '{$_filepath}',{$_assign});?>"; } else { $_output .= "\$_smarty_tpl->assign({$_assign} , {$_function} ({$_params},\$_smarty_tpl), true);?>"; } } else { $compiler->has_output = true; - if ($_smarty_tpl->caching) { + if ($_smarty_tpl->caching && !$nocacheParam) { $_output .= "echo Smarty_Internal_Nocache_Insert::compile ('{$_function}',{$_params}, \$_smarty_tpl, '{$_filepath}');?>"; } else { $_output .= "echo {$_function}({$_params},\$_smarty_tpl);?>"; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php index 91b44881e..8c6b701e1 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php @@ -20,16 +20,17 @@ class Smarty_Internal_Compile_Ldelim extends Smarty_Internal_CompileBase * Compiles code for the {ldelim} tag * This tag does output the left delimiter * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { $_attr = $this->getAttributes($compiler, $args); if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); + $compiler->trigger_template_error('nocache option not allowed', null, true); } // this tag does not return compiled code $compiler->has_code = true; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php index ba39717fd..b29a993aa 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php @@ -17,20 +17,25 @@ class Smarty_Internal_Compile_Nocache extends Smarty_Internal_CompileBase { /** + * Array of names of valid option flags + * + * @var array + */ + public $option_flags = array(); + + /** * Compiles code for the {nocache} tag * This tag does not generate compiled output. It only sets a compiler flag. * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return bool */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { $_attr = $this->getAttributes($compiler, $args); - if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); - } + $this->openTag($compiler, 'nocache', array($compiler->nocache)); // enter nocache mode $compiler->nocache = true; // this tag does not return compiled code @@ -52,16 +57,16 @@ class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase * Compiles code for the {/nocache} tag * This tag does not generate compiled output. It only sets a compiler flag. * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return bool */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { $_attr = $this->getAttributes($compiler, $args); // leave nocache mode - $compiler->nocache = false; + list($compiler->nocache) = $this->closeTag($compiler, array('nocache')); // this tag does not return compiled code $compiler->has_code = false; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php index 3dff8538e..9e2eea233 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php @@ -27,15 +27,15 @@ class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_Compi /** * Compiles code for the execution of block plugin * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter - * @param string $tag name of block plugin - * @param string $function PHP function name + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * @param string $tag name of block plugin + * @param string $function PHP function name * * @return string compiled code */ - public function compile($args, $compiler, $parameter, $tag, $function) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter, $tag, $function) { if (!isset($tag[5]) || substr($tag, - 5) != 'close') { // opening tag of block plugin @@ -60,7 +60,7 @@ class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_Compi // maybe nocache because of nocache variables or nocache plugin $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; // compile code - $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; + $output = "<?php \$_smarty_tpl->smarty->_cache['tag_stack'][] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; } else { // must endblock be nocache? if ($compiler->nocache) { @@ -75,9 +75,13 @@ class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_Compi $mod_pre = $mod_post = ''; } else { $mod_pre = ' ob_start(); '; - $mod_post = 'echo ' . $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifier_list'], 'value' => 'ob_get_clean()')) . ';'; + $mod_post = 'echo ' . + $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifier_list'], + 'value' => 'ob_get_clean()')) . ';'; } - $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . " } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>"; + $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . + " echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . + " } array_pop(\$_smarty_tpl->smarty->_cache['tag_stack']);?>"; } return $output . "\n"; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_foreachsection.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_foreachsection.php new file mode 100644 index 000000000..25b35e861 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_foreachsection.php @@ -0,0 +1,224 @@ +<?php +/** + * Smarty Internal Plugin Compile ForeachSection + * Shared methods for {foreach} {section} tags + * + * @package Smarty + * @subpackage Compiler + * @author Uwe Tews + */ + +/** + * Smarty Internal Plugin Compile ForeachSection Class + * + * @package Smarty + * @subpackage Compiler + */ +class Smarty_Internal_Compile_Private_ForeachSection extends Smarty_Internal_CompileBase +{ + + /** + * Preg search pattern + * + * @var string + */ + private $propertyPreg = ''; + + /** + * Offsets in preg match result + * + * @var array + */ + private $resultOffsets = array(); + + /** + * Start offset + * + * @var int + */ + private $startOffset = 0; + + /** + * Name of this tag + * + * @var string + */ + public $tagName = ''; + + /** + * Valid properties of $smarty.xxx variable + * + * @var array + */ + public static $nameProperties = array(); + + /** + * {section} tag has no item properties + * + * @var array + */ + public $itemProperties = null; + + /** + * {section} tag has always name attribute + * + * @var bool + */ + public $isNamed = true; + + /** + * @var array + */ + public $matchResults = array(); + + /** + * Scan sources for used tag attributes + * + * @param array $attributes + * @param \Smarty_Internal_TemplateCompilerBase $compiler + */ + public function scanForProperties($attributes, Smarty_Internal_TemplateCompilerBase $compiler) + { + $this->propertyPreg = '~('; + $this->startOffset = 0; + $this->resultOffsets = array(); + $this->matchResults = array('named' => array(), 'item' => array()); + if ($this->isNamed) { + $this->buildPropertyPreg(true, $attributes); + } + if (isset($this->itemProperties)) { + if ($this->isNamed) { + $this->propertyPreg .= '|'; + } + $this->buildPropertyPreg(false, $attributes); + } + $this->propertyPreg .= ')\W~i'; + // Template source + $this->matchTemplateSource($compiler); + // Parent template source + $this->matchParentTemplateSource($compiler); + // {block} source + $this->matchBlockSource($compiler); + } + + /** + * Build property preg string + * + * @param bool $named + * @param array $attributes + */ + public function buildPropertyPreg($named, $attributes) + { + if ($named) { + $this->resultOffsets['named'] = $this->startOffset + 3; + $this->propertyPreg .= "([\$]smarty[.]{$this->tagName}[.]{$attributes['name']}[.]("; + $className = get_class($this); + $properties = $className::$nameProperties; + } else { + $this->resultOffsets['item'] = $this->startOffset + 3; + $this->propertyPreg .= "([\$]{$attributes['item']}[@]("; + $properties = $this->itemProperties; + } + $this->startOffset += count($properties) + 2; + $propName = reset($properties); + while ($propName) { + $this->propertyPreg .= "({$propName})"; + $propName = next($properties); + if ($propName) { + $this->propertyPreg .= '|'; + } + } + $this->propertyPreg .= '))'; + } + + /** + * Find matches in source string + * + * @param string $source + */ + public function matchProperty($source) + { + preg_match_all($this->propertyPreg, $source, $match, PREG_SET_ORDER); + foreach ($this->resultOffsets as $key => $offset) { + foreach ($match as $m) { + if (isset($m[$offset]) && !empty($m[$offset])) { + $this->matchResults[$key][strtolower($m[$offset])] = true; + } + } + } + } + + /** + * Find matches in template source + * + * @param \Smarty_Internal_TemplateCompilerBase $compiler + */ + public function matchTemplateSource(Smarty_Internal_TemplateCompilerBase $compiler) + { + $this->matchProperty($compiler->parser->lex->data); + } + + /** + * Find matches in all parent template source + * + * @param \Smarty_Internal_TemplateCompilerBase $compiler + */ + public function matchParentTemplateSource(Smarty_Internal_TemplateCompilerBase $compiler) + { + // search parent compiler template source + $nextCompiler = $compiler; + while ($nextCompiler !== $nextCompiler->parent_compiler) { + $nextCompiler = $nextCompiler->parent_compiler; + if ($compiler !== $nextCompiler) { + // get template source + $_content = $nextCompiler->template->source->getContent(); + if ($_content != '') { + // run pre filter if required + if ((isset($nextCompiler->smarty->autoload_filters['pre']) || + isset($nextCompiler->smarty->registered_filters['pre']))) { + $_content = $nextCompiler->smarty->ext->_filter_Handler->runFilter('pre', $_content, $nextCompiler->template); + } + $this->matchProperty($_content); + } + } + } + } + + /** + * Find matches in {block} tag source + * + * @param \Smarty_Internal_TemplateCompilerBase $compiler + */ + public function matchBlockSource(Smarty_Internal_TemplateCompilerBase $compiler) + { + + } + + /** + * Compiles code for the {$smarty.foreach.xxx} or {$smarty.section.xxx}tag + * + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * + * @return string compiled code + * @throws \SmartyCompilerException + */ + public static function compileSpecialVariable($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) + { + // make all lower case + $parameter = array_map('strtolower', $parameter); + $tag = trim($parameter[0], '"\''); + if (!isset($parameter[1]) || false === $name = $compiler->getId($parameter[1])) { + $compiler->trigger_template_error("missing or illegal \$smarty.{$tag} name attribute", null, true); + } + $className = 'Smarty_Internal_Compile_' . ucfirst($tag); + if ((!isset($parameter[2]) || false === $property = $compiler->getId($parameter[2])) || + !in_array($property, $className::$nameProperties) + ) { + $compiler->trigger_template_error("missing or illegal \$smarty.{$tag} property attribute", null, true); + } + $tagVar = "'__smarty_{$tag}_{$name}'"; + return "(isset(\$_smarty_tpl->tpl_vars[{$tagVar}]->value['{$property}']) ? \$_smarty_tpl->tpl_vars[{$tagVar}]->value['{$property}'] : null)"; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php index 4fbd4dc18..0d0ab8138 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Private_Function_Plugin extends Smarty_Internal_Co * @see Smarty_Internal_CompileBase */ public $required_attributes = array(); + /** * Attribute definition: Overwrites base class. * @@ -34,15 +35,15 @@ class Smarty_Internal_Compile_Private_Function_Plugin extends Smarty_Internal_Co /** * Compiles code for the execution of function plugin * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param array $parameter array with compilation parameter * @param string $tag name of function plugin - * @param string $function PHP function name + * @param string $function PHP function name * * @return string compiled code */ - public function compile($args, $compiler, $parameter, $tag, $function) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter, $tag, $function) { // This tag does create output $compiler->has_output = true; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php index ba03bfcfa..9594d2ae7 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php @@ -20,13 +20,14 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa /** * Compiles code for modifier execution * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); @@ -52,7 +53,8 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa $output = "{$function}({$params})"; } else { if (is_object($function[0])) { - $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')'; + $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . + $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')'; } else { $output = $function[0] . '::' . $function[1] . '(' . $params . ')'; } @@ -73,7 +75,9 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa // modifiercompiler plugin if ($compiler->smarty->loadPlugin('smarty_modifiercompiler_' . $modifier)) { // check if modifier allowed - if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) { + if (!is_object($compiler->smarty->security_policy) || + $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler) + ) { $plugin = 'smarty_modifiercompiler_' . $modifier; $output = $plugin($single_modifier, $compiler); } @@ -85,7 +89,9 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa // modifier plugin if ($function = $compiler->getPlugin($modifier, Smarty::PLUGIN_MODIFIER)) { // check if modifier allowed - if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) { + if (!is_object($compiler->smarty->security_policy) || + $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler) + ) { $output = "{$function}({$params})"; } $compiler->known_modifier_type[$modifier] = $type; @@ -96,7 +102,9 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa // PHP function if (is_callable($modifier)) { // check if modifier allowed - if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedPhpModifier($modifier, $compiler)) { + if (!is_object($compiler->smarty->security_policy) || + $compiler->smarty->security_policy->isTrustedPhpModifier($modifier, $compiler) + ) { $output = "{$modifier}({$params})"; } $compiler->known_modifier_type[$modifier] = $type; @@ -105,21 +113,29 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa break; case 6: // default plugin handler - if (isset($compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier]) || (is_callable($compiler->smarty->default_plugin_handler_func) && $compiler->getPluginFromDefaultHandler($modifier, Smarty::PLUGIN_MODIFIER))) { + if (isset($compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier]) || + (is_callable($compiler->smarty->default_plugin_handler_func) && + $compiler->getPluginFromDefaultHandler($modifier, Smarty::PLUGIN_MODIFIER)) + ) { $function = $compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0]; // check if modifier allowed - if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) { + if (!is_object($compiler->smarty->security_policy) || + $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler) + ) { if (!is_array($function)) { $output = "{$function}({$params})"; } else { if (is_object($function[0])) { - $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')'; + $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . + $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')'; } else { $output = $function[0] . '::' . $function[1] . '(' . $params . ')'; } } } - if (isset($compiler->template->required_plugins['nocache'][$modifier][Smarty::PLUGIN_MODIFIER]['file']) || isset($compiler->template->required_plugins['compiled'][$modifier][Smarty::PLUGIN_MODIFIER]['file'])) { + if (isset($compiler->parent_compiler->template->compiled->required_plugins['nocache'][$modifier][Smarty::PLUGIN_MODIFIER]['file']) || + isset($compiler->parent_compiler->template->compiled->required_plugins['compiled'][$modifier][Smarty::PLUGIN_MODIFIER]['file']) + ) { // was a plugin $compiler->known_modifier_type[$modifier] = 4; } else { @@ -130,7 +146,7 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa } } if (!isset($compiler->known_modifier_type[$modifier])) { - $compiler->trigger_template_error("unknown modifier \"" . $modifier . "\"", $compiler->lex->taglineno); + $compiler->trigger_template_error("unknown modifier \"" . $modifier . "\"", null, true); } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php index 5418fefff..d2bc5d60c 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php @@ -27,15 +27,15 @@ class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Inter /** * Compiles code for the execution of block plugin * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter - * @param string $tag name of block object - * @param string $method name of method to call + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * @param string $tag name of block object + * @param string $method name of method to call * * @return string compiled code */ - public function compile($args, $compiler, $parameter, $tag, $method) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter, $tag, $method) { if (!isset($tag[5]) || substr($tag, - 5) != 'close') { // opening tag of block plugin @@ -60,7 +60,8 @@ class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Inter // maybe nocache because of nocache variables or nocache plugin $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; // compile code - $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}->{$method}', {$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; + $output = + "<?php \$_smarty_tpl->smarty->_cache['tag_stack'][] = array('{$tag}->{$method}', {$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; } else { $base_tag = substr($tag, 0, - 5); // must endblock be nocache? @@ -76,9 +77,13 @@ class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Inter $mod_pre = $mod_post = ''; } else { $mod_pre = ' ob_start(); '; - $mod_post = 'echo ' . $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifier_list'], 'value' => 'ob_get_clean()')) . ';'; + $mod_post = 'echo ' . $compiler->compileTag('private_modifier', array(), + array('modifierlist' => $parameter['modifier_list'], + 'value' => 'ob_get_clean()')) . ';'; } - $output = "<?php \$_block_content = ob_get_contents(); ob_end_clean(); \$_block_repeat=false;" . $mod_pre . " echo \$_smarty_tpl->smarty->registered_objects['{$base_tag}'][0]->{$method}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . " } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>"; + $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . + " echo \$_smarty_tpl->smarty->registered_objects['{$base_tag}'][0]->{$method}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . + $mod_post . " } array_pop(\$_smarty_tpl->smarty->_cache['tag_stack']);?>"; } return $output . "\n"; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php index d6eb47ab3..e306e0f6d 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php @@ -27,15 +27,15 @@ class Smarty_Internal_Compile_Private_Object_Function extends Smarty_Internal_Co /** * Compiles code for the execution of function plugin * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter - * @param string $tag name of function - * @param string $method name of method to call + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * @param string $tag name of function + * @param string $method name of method to call * * @return string compiled code */ - public function compile($args, $compiler, $parameter, $tag, $method) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter, $tag, $method) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_php.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_php.php new file mode 100644 index 000000000..584f70b0e --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_php.php @@ -0,0 +1,209 @@ +<?php +/** + * Smarty Internal Plugin Compile PHP Expression + * Compiles any tag which will output an expression or variable + * + * @package Smarty + * @subpackage Compiler + * @author Uwe Tews + */ + +/** + * Smarty Internal Plugin Compile PHP Expression Class + * + * @package Smarty + * @subpackage Compiler + */ +class Smarty_Internal_Compile_Private_Php extends Smarty_Internal_CompileBase +{ + + /** + * Attribute definition: Overwrites base class. + * + * @var array + * @see Smarty_Internal_CompileBase + */ + public $required_attributes = array('code', 'type'); + + /** + * Compiles code for generating output from any expression + * + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * + * @return string + * @throws \SmartyException + */ + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) + { + // check and get attributes + $_attr = $this->getAttributes($compiler, $args); + $compiler->has_code = false; + if ($_attr['type'] == 'xml') { + $compiler->tag_nocache = true; + $save = $compiler->template->compiled->has_nocache_code; + $output = addcslashes($_attr['code'], "'\\"); + $compiler->parser->current_buffer->append_subtree($compiler->parser, new Smarty_Internal_ParseTree_Tag($compiler->parser, $compiler->processNocacheCode("<?php echo '" . + $output . + "';?>", $compiler, true))); + $compiler->template->compiled->has_nocache_code = $save; + return ''; + } + if ($_attr['type'] != 'tag') { + if ($compiler->php_handling == Smarty::PHP_REMOVE) { + return ''; + } elseif ($compiler->php_handling == Smarty::PHP_QUOTE) { + $output = preg_replace_callback('#(<\?(?:php|=)?)|(<%)|(<script\s+language\s*=\s*["\']?\s*php\s*["\']?\s*>)|(\?>)|(%>)|(<\/script>)#i', array($this, + 'quote'), $_attr['code']); + $compiler->parser->current_buffer->append_subtree($compiler->parser, new Smarty_Internal_ParseTree_Text($output)); + return ''; + } elseif ($compiler->php_handling == Smarty::PHP_PASSTHRU || $_attr['type'] == 'unmatched') { + $compiler->tag_nocache = true; + $save = $compiler->template->compiled->has_nocache_code; + $output = addcslashes($_attr['code'], "'\\"); + $compiler->parser->current_buffer->append_subtree($compiler->parser, new Smarty_Internal_ParseTree_Tag($compiler->parser, $compiler->processNocacheCode("<?php echo '" . + $output . + "';?>", $compiler, true))); + $compiler->template->compiled->has_nocache_code = $save; + return ''; + } elseif ($compiler->php_handling == Smarty::PHP_ALLOW) { + if (!($compiler->smarty instanceof SmartyBC)) { + $compiler->trigger_template_error('$smarty->php_handling PHP_ALLOW not allowed. Use SmartyBC to enable it', null, true); + } + $compiler->has_code = true; + return $_attr['code']; + } else { + $compiler->trigger_template_error('Illegal $smarty->php_handling value', null, true); + } + } else { + $compiler->has_code = true; + if (!($compiler->smarty instanceof SmartyBC)) { + $compiler->trigger_template_error('{php}[/php} tags not allowed. Use SmartyBC to enable them', null, true); + } + $ldel = preg_quote($compiler->smarty->left_delimiter, '#'); + $rdel = preg_quote($compiler->smarty->right_delimiter, '#'); + preg_match("#^({$ldel}php\\s*)((.)*?)({$rdel})#", $_attr['code'], $match); + if (!empty($match[2])) { + if ('nocache' == trim($match[2])) { + $compiler->tag_nocache = true; + } else { + $compiler->trigger_template_error("illegal value of option flag \"{$match[2]}\"", null, true); + } + } + return preg_replace(array("#^{$ldel}\\s*php\\s*(.)*?{$rdel}#", + "#{$ldel}\\s*/\\s*php\\s*{$rdel}$#"), array('<?php ', '?>'), $_attr['code']); + } + } + + /** + * Lexer code for PHP tags + * + * This code has been moved from lexer here fo easier debugging and maintenance + * + * @param $lex + */ + public function parsePhp($lex) + { + $lex->token = Smarty_Internal_Templateparser::TP_PHP; + $close = 0; + $lex->taglineno = $lex->line; + $closeTag = '?>'; + if (strpos($lex->value, '<?xml') === 0) { + $lex->is_xml = true; + $lex->token = Smarty_Internal_Templateparser::TP_NOCACHE; + return; + } elseif (strpos($lex->value, '<?') === 0) { + $lex->phpType = 'php'; + } elseif (strpos($lex->value, '<%') === 0) { + $lex->phpType = 'asp'; + $closeTag = '%>'; + } elseif (strpos($lex->value, '%>') === 0) { + $lex->phpType = 'unmatched'; + } elseif (strpos($lex->value, '?>') === 0) { + if ($lex->is_xml) { + $lex->is_xml = false; + $lex->token = Smarty_Internal_Templateparser::TP_NOCACHE; + return; + } + $lex->phpType = 'unmatched'; + } elseif (strpos($lex->value, '<s') === 0) { + $lex->phpType = 'script'; + $closeTag = '</script>'; + } elseif (strpos($lex->value, $lex->smarty->left_delimiter) === 0) { + if ($lex->isAutoLiteral()) { + $lex->token = Smarty_Internal_Templateparser::TP_TEXT; + return; + } + $closeTag = "{$lex->smarty->left_delimiter}/php{$lex->smarty->right_delimiter}"; + if ($lex->value == $closeTag) { + $lex->compiler->trigger_template_error("unexpected closing tag '{$closeTag}'"); + } + $lex->phpType = 'tag'; + } + if ($lex->phpType == 'unmatched') { + return; + } + if (($lex->phpType == 'php' || $lex->phpType == 'asp') && + ($lex->compiler->php_handling == Smarty::PHP_PASSTHRU || $lex->compiler->php_handling == Smarty::PHP_QUOTE) + ) { + return; + } + $start = $lex->counter + strlen($lex->value); + $body = true; + if (preg_match('~' . preg_quote($closeTag, '~') . '~i', $lex->data, $match, PREG_OFFSET_CAPTURE, $start)) { + $close = $match[0][1]; + } else { + $lex->compiler->trigger_template_error("missing closing tag '{$closeTag}'"); + } + while ($body) { + if (preg_match('~([/][*])|([/][/][^\n]*)|(\'[^\'\\\\]*(?:\\.[^\'\\\\]*)*\')|("[^"\\\\]*(?:\\.[^"\\\\]*)*")~', $lex->data, $match, PREG_OFFSET_CAPTURE, $start)) { + $value = $match[0][0]; + $from = $pos = $match[0][1]; + if ($pos > $close) { + $body = false; + } else { + $start = $pos + strlen($value); + $phpCommentStart = $value == '/*'; + if ($phpCommentStart) { + $phpCommentEnd = preg_match('~([*][/])~', $lex->data, $match, PREG_OFFSET_CAPTURE, $start); + if ($phpCommentEnd) { + $pos2 = $match[0][1]; + $start = $pos2 + strlen($match[0][0]); + } + } + while ($close > $pos && $close < $start) { + if (preg_match('~' . preg_quote($closeTag, '~') . + '~i', $lex->data, $match, PREG_OFFSET_CAPTURE, $from)) { + $close = $match[0][1]; + $from = $close + strlen($match[0][0]); + } else { + $lex->compiler->trigger_template_error("missing closing tag '{$closeTag}'"); + } + } + if ($phpCommentStart && (!$phpCommentEnd || $pos2 > $close)) { + $lex->taglineno = $lex->line + substr_count(substr($lex->data, $lex->counter, $start), "\n"); + $lex->compiler->trigger_template_error("missing PHP comment closing tag '*/'"); + } + } + } else { + $body = false; + } + } + $lex->value = substr($lex->data, $lex->counter, $close + strlen($closeTag) - $lex->counter); + } + + /* + * Call back function for $php_handling = PHP_QUOTE + * + */ + /** + * @param $match + * + * @return string + */ + private function quote($match) + { + return htmlspecialchars($match[0], ENT_QUOTES); + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php index 188bbe77a..c0c089bff 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C * @see Smarty_Internal_CompileBase */ public $optional_attributes = array('assign'); + /** * Attribute definition: Overwrites base class. * @@ -34,14 +35,14 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C /** * Compiles code for generating output from any expression * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * - * @throws SmartyException - * @return string compiled code + * @return string + * @throws \SmartyException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); @@ -57,7 +58,8 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C $output = $parameter['value']; // tag modifier if (!empty($parameter['modifierlist'])) { - $output = $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifierlist'], 'value' => $output)); + $output = $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifierlist'], + 'value' => $output)); } if (!$_attr['nofilter']) { // default modifier @@ -74,7 +76,8 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C } $compiler->default_modifier_list = $modifierlist; } - $output = $compiler->compileTag('private_modifier', array(), array('modifierlist' => $compiler->default_modifier_list, 'value' => $output)); + $output = $compiler->compileTag('private_modifier', array(), array('modifierlist' => $compiler->default_modifier_list, + 'value' => $output)); } // autoescape html if ($compiler->template->smarty->escape_html) { @@ -82,7 +85,8 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C } // loop over registered filters if (!empty($compiler->template->smarty->registered_filters[Smarty::FILTER_VARIABLE])) { - foreach ($compiler->template->smarty->registered_filters[Smarty::FILTER_VARIABLE] as $key => $function) { + foreach ($compiler->template->smarty->registered_filters[Smarty::FILTER_VARIABLE] as $key => + $function) { if (!is_array($function)) { $output = "{$function}({$output},\$_smarty_tpl)"; } elseif (is_object($function[0])) { @@ -104,13 +108,14 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C } } } - if (isset($compiler->template->variable_filters)) { - foreach ($compiler->template->variable_filters as $filter) { - if (count($filter) == 1 && ($result = $this->compile_output_filter($compiler, $filter[0], $output)) !== false) { - $output = $result; - } else { - $output = $compiler->compileTag('private_modifier', array(), array('modifierlist' => array($filter), 'value' => $output)); - } + foreach ($compiler->variable_filters as $filter) { + if (count($filter) == 1 && + ($result = $this->compile_output_filter($compiler, $filter[0], $output)) !== false + ) { + $output = $result; + } else { + $output = $compiler->compileTag('private_modifier', array(), array('modifierlist' => array($filter), + 'value' => $output)); } } } @@ -123,23 +128,23 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C } /** - * @param object $compiler compiler object - * @param string $name name of variable filter - * @param string $output embedded output + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param string $name name of variable filter + * @param string $output embedded output * * @return string */ - private function compile_output_filter($compiler, $name, $output) + private function compile_output_filter(Smarty_Internal_TemplateCompilerBase $compiler, $name, $output) { $plugin_name = "smarty_variablefilter_{$name}"; $path = $compiler->smarty->loadPlugin($plugin_name, false); if ($path) { if ($compiler->template->caching) { - $compiler->template->required_plugins['nocache'][$name][Smarty::FILTER_VARIABLE]['file'] = $path; - $compiler->template->required_plugins['nocache'][$name][Smarty::FILTER_VARIABLE]['function'] = $plugin_name; + $compiler->parent_compiler->template->compiled->required_plugins['nocache'][$name][Smarty::FILTER_VARIABLE]['file'] = $path; + $compiler->parent_compiler->template->compiled->required_plugins['nocache'][$name][Smarty::FILTER_VARIABLE]['function'] = $plugin_name; } else { - $compiler->template->required_plugins['compiled'][$name][Smarty::FILTER_VARIABLE]['file'] = $path; - $compiler->template->required_plugins['compiled'][$name][Smarty::FILTER_VARIABLE]['function'] = $plugin_name; + $compiler->parent_compiler->template->compiled->required_plugins['compiled'][$name][Smarty::FILTER_VARIABLE]['file'] = $path; + $compiler->parent_compiler->template->compiled->required_plugins['compiled'][$name][Smarty::FILTER_VARIABLE]['function'] = $plugin_name; } } else { // not found diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php index 68ab644fc..78d95f720 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php @@ -27,14 +27,14 @@ class Smarty_Internal_Compile_Private_Registered_Block extends Smarty_Internal_C /** * Compiles code for the execution of a block function * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter - * @param string $tag name of block function + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * @param string $tag name of block function * * @return string compiled code */ - public function compile($args, $compiler, $parameter, $tag) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter, $tag) { if (!isset($tag[5]) || substr($tag, - 5) != 'close') { // opening tag of block plugin @@ -69,11 +69,11 @@ class Smarty_Internal_Compile_Private_Registered_Block extends Smarty_Internal_C $function = $tag_info[0]; // compile code if (!is_array($function)) { - $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; + $output = "<?php \$_smarty_tpl->smarty->_cache['tag_stack'][] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; } elseif (is_object($function[0])) { - $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_plugins['block']['{$tag}'][0][0]->{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; + $output = "<?php \$_smarty_tpl->smarty->_cache['tag_stack'][] = array('{$tag}', {$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_plugins['block']['{$tag}'][0][0]->{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; } else { - $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function[0]}::{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; + $output = "<?php \$_smarty_tpl->smarty->_cache['tag_stack'][] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function[0]}::{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>"; } } else { // must endblock be nocache? @@ -95,14 +95,22 @@ class Smarty_Internal_Compile_Private_Registered_Block extends Smarty_Internal_C $mod_pre = $mod_post = ''; } else { $mod_pre = ' ob_start(); '; - $mod_post = 'echo ' . $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifier_list'], 'value' => 'ob_get_clean()')) . ';'; + $mod_post = 'echo ' . + $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifier_list'], + 'value' => 'ob_get_clean()')) . ';'; } if (!is_array($function)) { - $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat);" . $mod_post . " } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>"; + $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . + " echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat);" . $mod_post . + " } array_pop(\$_smarty_tpl->smarty->_cache['tag_stack']);?>"; } elseif (is_object($function[0])) { - $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo \$_smarty_tpl->smarty->registered_plugins['block']['{$base_tag}'][0][0]->{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . "} array_pop(\$_smarty_tpl->smarty->_tag_stack);?>"; + $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . + " echo \$_smarty_tpl->smarty->registered_plugins['block']['{$base_tag}'][0][0]->{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . + $mod_post . "} array_pop(\$_smarty_tpl->smarty->_cache['tag_stack']);?>"; } else { - $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo {$function[0]}::{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . "} array_pop(\$_smarty_tpl->smarty->_tag_stack);?>"; + $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . + " echo {$function[0]}::{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . + $mod_post . "} array_pop(\$_smarty_tpl->smarty->_cache['tag_stack']);?>"; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php index dfb4572f4..6bddc7529 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php @@ -27,14 +27,14 @@ class Smarty_Internal_Compile_Private_Registered_Function extends Smarty_Interna /** * Compiles code for the execution of a registered function * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter - * @param string $tag name of function + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * @param string $tag name of function * * @return string compiled code */ - public function compile($args, $compiler, $parameter, $tag) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter, $tag) { // This tag does create output $compiler->has_output = true; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php index 23b17ae14..5a8c54faa 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php @@ -19,96 +19,111 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C /** * Compiles code for the special $smarty variables * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param $parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param $parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { $_index = preg_split("/\]\[/", substr($parameter, 1, strlen($parameter) - 2)); - $compiled_ref = ' '; - $variable = trim($_index[0], "'"); - switch ($variable) { - case 'foreach': - return "\$_smarty_tpl->getVariable('smarty')->value$parameter"; - case 'section': - return "\$_smarty_tpl->getVariable('smarty')->value$parameter"; - case 'capture': - return "Smarty::\$_smarty_vars$parameter"; - case 'now': - return 'time()'; - case 'cookies': - if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_super_globals) { - $compiler->trigger_template_error("(secure mode) super globals not permitted"); + $variable = strtolower($compiler->getId($_index[0])); + if ($variable === false) { + $compiler->trigger_template_error("special \$Smarty variable name index can not be variable", null, true); + } + if (!isset($compiler->smarty->security_policy) || + $compiler->smarty->security_policy->isTrustedSpecialSmartyVar($variable, $compiler) + ) { + switch ($variable) { + case 'foreach': + case 'section': + return Smarty_Internal_Compile_Private_ForeachSection::compileSpecialVariable(array(), $compiler, $_index); + case 'capture': + if (class_exists('Smarty_Internal_Compile_Capture')) { + return Smarty_Internal_Compile_Capture::compileSpecialVariable(array(), $compiler, $_index); + } + return ''; + case 'now': + return 'time()'; + case 'cookies': + if (isset($compiler->smarty->security_policy) && + !$compiler->smarty->security_policy->allow_super_globals + ) { + $compiler->trigger_template_error("(secure mode) super globals not permitted"); + break; + } + return '$_COOKIE'; + case 'get': + case 'post': + case 'env': + case 'server': + case 'session': + case 'request': + if (isset($compiler->smarty->security_policy) && + !$compiler->smarty->security_policy->allow_super_globals + ) { + $compiler->trigger_template_error("(secure mode) super globals not permitted"); + break; + } + $compiled_ref = '$_' . strtoupper($variable); break; - } - $compiled_ref = '$_COOKIE'; - break; - case 'get': - case 'post': - case 'env': - case 'server': - case 'session': - case 'request': - if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_super_globals) { - $compiler->trigger_template_error("(secure mode) super globals not permitted"); - break; - } - $compiled_ref = '$_' . strtoupper($variable); - break; + case 'template': + return 'basename($_smarty_tpl->source->filepath)'; - case 'template': - return 'basename($_smarty_tpl->source->filepath)'; + case 'template_object': + return '$_smarty_tpl'; - case 'template_object': - return '$_smarty_tpl'; + case 'current_dir': + return 'dirname($_smarty_tpl->source->filepath)'; - case 'current_dir': - return 'dirname($_smarty_tpl->source->filepath)'; + case 'version': + $_version = Smarty::SMARTY_VERSION; - case 'version': - $_version = Smarty::SMARTY_VERSION; - - return "'$_version'"; - - case 'const': - if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_constants) { - $compiler->trigger_template_error("(secure mode) constants not permitted"); - break; - } + return "'$_version'"; - return "@constant({$_index[1]})"; + case 'const': + if (isset($compiler->smarty->security_policy) && + !$compiler->smarty->security_policy->allow_constants + ) { + $compiler->trigger_template_error("(secure mode) constants not permitted"); + break; + } + if (strpos($_index[1], '$') === false && strpos($_index[1], '\'') === false) { + return "@constant('{$_index[1]}')"; + } else { + return "@constant({$_index[1]})"; + } - case 'config': - if (isset($_index[2])) { - return "(is_array(\$tmp = \$_smarty_tpl->getConfigVariable($_index[1])) ? \$tmp[$_index[2]] : null)"; - } else { - return "\$_smarty_tpl->getConfigVariable($_index[1])"; - } - case 'ldelim': - $_ldelim = $compiler->smarty->left_delimiter; + case 'config': + if (isset($_index[2])) { + return "(is_array(\$tmp = \$_smarty_tpl->smarty->ext->_config->_getConfigVariable(\$_smarty_tpl, $_index[1])) ? \$tmp[$_index[2]] : null)"; + } else { + return "\$_smarty_tpl->smarty->ext->_config->_getConfigVariable(\$_smarty_tpl, $_index[1])"; + } + case 'ldelim': + $_ldelim = $compiler->smarty->left_delimiter; - return "'$_ldelim'"; + return "'$_ldelim'"; - case 'rdelim': - $_rdelim = $compiler->smarty->right_delimiter; + case 'rdelim': + $_rdelim = $compiler->smarty->right_delimiter; - return "'$_rdelim'"; + return "'$_rdelim'"; - default: - $compiler->trigger_template_error('$smarty.' . trim($_index[0], "'") . ' is invalid'); - break; - } - if (isset($_index[1])) { - array_shift($_index); - foreach ($_index as $_ind) { - $compiled_ref = $compiled_ref . "[$_ind]"; + default: + $compiler->trigger_template_error('$smarty.' . trim($_index[0], "'") . ' is invalid'); + break; } + if (isset($_index[1])) { + array_shift($_index); + foreach ($_index as $_ind) { + $compiled_ref = $compiled_ref . "[$_ind]"; + } + } + return $compiled_ref; } - - return $compiled_ref; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php index dcff2ae41..22b33eaa2 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php @@ -25,11 +25,11 @@ class Smarty_Internal_Compile_Rdelim extends Smarty_Internal_CompileBase * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { $_attr = $this->getAttributes($compiler, $args); if ($_attr['nocache'] === true) { - $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno); + $compiler->trigger_template_error('nocache option not allowed', null, true); } // this tag does not return compiled code $compiler->has_code = true; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php index 5ac3fb067..079903c2b 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php @@ -14,7 +14,7 @@ * @package Smarty * @subpackage Compiler */ -class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase +class Smarty_Internal_Compile_Section extends Smarty_Internal_Compile_Private_ForeachSection { /** * Attribute definition: Overwrites base class. @@ -23,6 +23,7 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $required_attributes = array('name', 'loop'); + /** * Attribute definition: Overwrites base class. * @@ -30,6 +31,7 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('name', 'loop'); + /** * Attribute definition: Overwrites base class. * @@ -39,102 +41,342 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase public $optional_attributes = array('start', 'step', 'max', 'show'); /** + * counter + * + * @var int + */ + public $counter = 0; + + /** + * Name of this tag + * + * @var string + */ + public $tagName = 'section'; + + /** + * Valid properties of $smarty.section.name.xxx variable + * + * @var array + */ + public static $nameProperties = array('first', 'last', 'index', 'iteration', 'show', 'total', 'rownum', + 'index_prev', 'index_next'); + + /** + * {section} tag has no item properties + * + * @var array + */ + public $itemProperties = null; + + /** + * {section} tag has always name attribute + * + * @var bool + */ + public $isNamed = true; + + /** * Compiles code for the {section} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { + $compiler->loopNesting++; // check and get attributes $_attr = $this->getAttributes($compiler, $args); - - $this->openTag($compiler, 'section', array('section', $compiler->nocache)); + $attributes = array('name' => $compiler->getId($_attr['name'])); + unset($_attr['name']); + foreach ($attributes as $a => $v) { + if ($v === false) { + $compiler->trigger_template_error("'{$a}' attribute/variable has illegal value", null, true); + } + } + $local = "\$__section_{$attributes['name']}_" . $this->counter ++ . '_'; + $sectionVar = "\$_smarty_tpl->tpl_vars['__smarty_section_{$attributes['name']}']"; + $this->openTag($compiler, 'section', array('section', $compiler->nocache, $local, $sectionVar)); // maybe nocache because of nocache variables $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; - $output = "<?php "; - - $section_name = $_attr['name']; - - $output .= "if (isset(\$_smarty_tpl->tpl_vars['smarty']->value['section'][$section_name])) unset(\$_smarty_tpl->tpl_vars['smarty']->value['section'][$section_name]);\n"; - $section_props = "\$_smarty_tpl->tpl_vars['smarty']->value['section'][$section_name]"; + $initLocal = array('saved' => "isset(\$_smarty_tpl->tpl_vars['__smarty_section_{$attributes['name']}']) ? \$_smarty_tpl->tpl_vars['__section_{$attributes['name']}'] : false",); + $initNamedProperty = array(); + $initFor = array(); + $incFor = array(); + $cmpFor = array(); + $propValue = array('index' => "{$sectionVar}->value['index']", 'show' => 'true', 'step' => 1, + 'iteration' => "{$local}iteration", + ); + $propType = array('index' => 2, 'iteration' => 2, 'show' => 0, 'step' => 0,); + // search for used tag attributes + $this->scanForProperties($attributes, $compiler); + if (!empty($this->matchResults['named'])) { + $namedAttr = $this->matchResults['named']; + } + $namedAttr['index'] = true; + $output = "<?php\n"; foreach ($_attr as $attr_name => $attr_value) { switch ($attr_name) { case 'loop': - $output .= "{$section_props}['loop'] = is_array(\$_loop=$attr_value) ? count(\$_loop) : max(0, (int) \$_loop); unset(\$_loop);\n"; + if (is_numeric($attr_value)) { + $v = (int) $attr_value; + $t = 0; + } else { + $v = "(is_array(@\$_loop=$attr_value) ? count(\$_loop) : max(0, (int) \$_loop))"; + $t = 1; + } + if (isset($namedAttr['loop'])) { + $initNamedProperty['loop'] = "'loop' => {$v}"; + if ($t == 1) { + $v = "{$sectionVar}->value['loop']"; + } + } elseif ($t == 1) { + $initLocal['loop'] = $v; + $v = "{$local}loop"; + } break; - case 'show': if (is_bool($attr_value)) { - $show_attr_value = $attr_value ? 'true' : 'false'; + $v = $attr_value ? 'true' : 'false'; + $t = 0; } else { - $show_attr_value = "(bool) $attr_value"; + $v = "(bool) $attr_value"; + $t = 3; } - $output .= "{$section_props}['show'] = $show_attr_value;\n"; break; - - case 'name': - $output .= "{$section_props}['$attr_name'] = $attr_value;\n"; + case 'step': + if (is_numeric($attr_value)) { + $v = (int) $attr_value; + $v = ($v == 0) ? 1 : $v; + $t = 0; + break; + } + $initLocal['step'] = "((int)@$attr_value) == 0 ? 1 : (int)@$attr_value"; + $v = "{$local}step"; + $t = 2; break; case 'max': case 'start': - $output .= "{$section_props}['$attr_name'] = (int) $attr_value;\n"; - break; - - case 'step': - $output .= "{$section_props}['$attr_name'] = ((int) $attr_value) == 0 ? 1 : (int) $attr_value;\n"; + if (is_numeric($attr_value)) { + $v = (int) $attr_value; + $t = 0; + break; + } + $v = "(int)@$attr_value"; + $t = 3; break; } + if ($t == 3 && $compiler->getId($attr_value)) { + $t = 1; + } + $propValue[$attr_name] = $v; + $propType[$attr_name] = $t; } - if (!isset($_attr['show'])) { - $output .= "{$section_props}['show'] = true;\n"; + if (isset($namedAttr['step'])) { + $initNamedProperty['step'] = $propValue['step']; } - - if (!isset($_attr['loop'])) { - $output .= "{$section_props}['loop'] = 1;\n"; + if (isset($namedAttr['iteration'])) { + $propValue['iteration'] = "{$sectionVar}->value['iteration']"; } + $incFor['iteration'] = "{$propValue['iteration']}++"; + $initFor['iteration'] = "{$propValue['iteration']} = 1"; - if (!isset($_attr['max'])) { - $output .= "{$section_props}['max'] = {$section_props}['loop'];\n"; + if ($propType['step'] == 0) { + if ($propValue['step'] == 1) { + $incFor['index'] = "{$sectionVar}->value['index']++"; + } elseif ($propValue['step'] > 1) { + $incFor['index'] = "{$sectionVar}->value['index'] += {$propValue['step']}"; + } else { + $incFor['index'] = "{$sectionVar}->value['index'] -= " . - $propValue['step']; + } } else { - $output .= "if ({$section_props}['max'] < 0)\n" . " {$section_props}['max'] = {$section_props}['loop'];\n"; + $incFor['index'] = "{$sectionVar}->value['index'] += {$propValue['step']}"; } - if (!isset($_attr['step'])) { - $output .= "{$section_props}['step'] = 1;\n"; + if (!isset($propValue['max'])) { + $propValue['max'] = $propValue['loop']; + $propType['max'] = $propType['loop']; + } elseif ($propType['max'] != 0) { + $propValue['max'] = "{$propValue['max']} < 0 ? {$propValue['loop']} : {$propValue['max']}"; + $propType['max'] = 1; + } else { + if ($propValue['max'] < 0) { + $propValue['max'] = $propValue['loop']; + $propType['max'] = $propType['loop']; + } } - if (!isset($_attr['start'])) { - $output .= "{$section_props}['start'] = {$section_props}['step'] > 0 ? 0 : {$section_props}['loop']-1;\n"; + if (!isset($propValue['start'])) { + $start_code = array(1 => "{$propValue['step']} > 0 ? ", 2 => '0', 3 => ' : ', 4 => $propValue['loop'], + 5 => ' - 1'); + if ($propType['loop'] == 0) { + $start_code[5] = ''; + $start_code[4] = $propValue['loop'] - 1; + } + if ($propType['step'] == 0) { + if ($propValue['step'] > 0) { + $start_code = array(1 => '0'); + $propType['start'] = 0; + } else { + $start_code[1] = $start_code[2] = $start_code[3] = ''; + $propType['start'] = $propType['loop']; + } + } else { + $propType['start'] = 1; + } + $propValue['start'] = join('', $start_code); } else { - $output .= "if ({$section_props}['start'] < 0)\n" . " {$section_props}['start'] = max({$section_props}['step'] > 0 ? 0 : -1, {$section_props}['loop'] + {$section_props}['start']);\n" . "else\n" . " {$section_props}['start'] = min({$section_props}['start'], {$section_props}['step'] > 0 ? {$section_props}['loop'] : {$section_props}['loop']-1);\n"; + $start_code = array(1 => "{$propValue['start']} < 0 ? ", 2 => 'max(', 3 => "{$propValue['step']} > 0 ? ", + 4 => '0', 5 => ' : ', 6 => '-1', 7 => ', ', + 8 => "{$propValue['start']} + {$propValue['loop']}", 10 => ')', 11 => ' : ', + 12 => 'min(', 13 => $propValue['start'], 14 => ', ', + 15 => "{$propValue['step']} > 0 ? ", 16 => $propValue['loop'], 17 => ' : ', + 18 => $propType['loop'] == 0 ? $propValue['loop'] - 1 : "{$propValue['loop']} - 1", + 19 => ')'); + if ($propType['step'] == 0) { + $start_code[3] = $start_code[5] = $start_code[15] = $start_code[17] = ''; + if ($propValue['step'] > 0) { + $start_code[6] = $start_code[18] = ''; + } else { + $start_code[4] = $start_code[16] = ''; + } + } + if ($propType['start'] == 0) { + if ($propType['loop'] == 0) { + $start_code[8] = $propValue['start'] + $propValue['loop']; + } + $propType['start'] = $propType['step'] + $propType['loop']; + $start_code[1] = ''; + if ($propValue['start'] < 0) { + for ($i = 11; $i <= 19; $i ++) { + $start_code[$i] = ''; + } + if ($propType['start'] == 0) { + $start_code = array(max($propValue['step'] > 0 ? 0 : - 1, $propValue['start'] + + $propValue['loop'])); + } + } else { + for ($i = 1; $i <= 11; $i ++) { + $start_code[$i] = ''; + } + if ($propType['start'] == 0) { + $start_code = array(min($propValue['step'] > 0 ? $propValue['loop'] : $propValue['loop'] - + 1, $propValue['start'])); + } + } + } + $propValue['start'] = join('', $start_code); + } + if ($propType['start'] != 0) { + $initLocal['start'] = $propValue['start']; + $propValue['start'] = "{$local}start"; } - $output .= "if ({$section_props}['show']) {\n"; + $initFor['index'] = "{$sectionVar}->value['index'] = {$propValue['start']}"; + if (!isset($_attr['start']) && !isset($_attr['step']) && !isset($_attr['max'])) { - $output .= " {$section_props}['total'] = {$section_props}['loop'];\n"; + $propValue['total'] = $propValue['loop']; + $propType['total'] = $propType['loop']; } else { - $output .= " {$section_props}['total'] = min(ceil(({$section_props}['step'] > 0 ? {$section_props}['loop'] - {$section_props}['start'] : {$section_props}['start']+1)/abs({$section_props}['step'])), {$section_props}['max']);\n"; + $propType['total'] = $propType['start'] + $propType['loop'] + $propType['step'] + $propType['max']; + if ($propType['total'] == 0) { + $propValue['total'] = min(ceil(($propValue['step'] > 0 ? $propValue['loop'] - + $propValue['start'] : (int) $propValue['start'] + 1) / + abs($propValue['step'])), $propValue['max']); + } else { + $total_code = array(1 => 'min(', 2 => 'ceil(', 3 => '(', 4 => "{$propValue['step']} > 0 ? ", + 5 => $propValue['loop'], 6 => ' - ', 7 => $propValue['start'], 8 => ' : ', + 9 => $propValue['start'], 10 => '+ 1', 11 => ')', 12 => '/ ', 13 => 'abs(', + 14 => $propValue['step'], 15 => ')', 16 => ')', 17 => ", {$propValue['max']})",); + if (!isset($propValue['max'])) { + $total_code[1] = $total_code[17] = ''; + } + if ($propType['loop'] + $propType['start'] == 0) { + $total_code[5] = $propValue['loop'] - $propValue['start']; + $total_code[6] = $total_code[7] = ''; + } + if ($propType['start'] == 0) { + $total_code[9] = (int) $propValue['start'] + 1; + $total_code[10] = ''; + } + if ($propType['step'] == 0) { + $total_code[13] = $total_code[15] = ''; + if ($propValue['step'] == 1 || $propValue['step'] == - 1) { + $total_code[2] = $total_code[12] = $total_code[14] = $total_code[16] = ''; + } elseif ($propValue['step'] < 0) { + $total_code[14] = - $propValue['step']; + } + $total_code[4] = ''; + if ($propValue['step'] > 0) { + $total_code[8] = $total_code[9] = $total_code[10] = ''; + } else { + $total_code[5] = $total_code[6] = $total_code[7] = $total_code[8] = ''; + } + } + $propValue['total'] = join('', $total_code); + } } - $output .= " if ({$section_props}['total'] == 0)\n" . " {$section_props}['show'] = false;\n" . "} else\n" . " {$section_props}['total'] = 0;\n"; - $output .= "if ({$section_props}['show']):\n"; - $output .= " - for ({$section_props}['index'] = {$section_props}['start'], {$section_props}['iteration'] = 1; - {$section_props}['iteration'] <= {$section_props}['total']; - {$section_props}['index'] += {$section_props}['step'], {$section_props}['iteration']++):\n"; - $output .= "{$section_props}['rownum'] = {$section_props}['iteration'];\n"; - $output .= "{$section_props}['index_prev'] = {$section_props}['index'] - {$section_props}['step'];\n"; - $output .= "{$section_props}['index_next'] = {$section_props}['index'] + {$section_props}['step'];\n"; - $output .= "{$section_props}['first'] = ({$section_props}['iteration'] == 1);\n"; - $output .= "{$section_props}['last'] = ({$section_props}['iteration'] == {$section_props}['total']);\n"; + if (isset($namedAttr['total'])) { + $initNamedProperty['total'] = "'total' => {$propValue['total']}"; + if ($propType['total'] > 0) { + $propValue['total'] = "{$sectionVar}->value['total']"; + } + } elseif ($propType['total'] > 0) { + $initLocal['total'] = $propValue['total']; + $propValue['total'] = "{$local}total"; + } + + $cmpFor['iteration'] = "{$propValue['iteration']} <= {$propValue['total']}"; + + foreach ($initLocal as $key => $code) { + $output .= "{$local}{$key} = {$code};\n"; + } + $_vars = 'array(' . join(', ', $initNamedProperty) . ')'; + $output .= "{$sectionVar} = new Smarty_Variable({$_vars});\n"; + $cond_code = "{$propValue['total']} != 0"; + if ($propType['total'] == 0) { + if ($propValue['total'] == 0) { + $cond_code = 'false'; + } else { + $cond_code = 'true'; + } + } + if ($propType['show'] > 0) { + $output .= "{$local}show = {$propValue['show']} ? {$cond_code} : false;\n"; + $output .= "if ({$local}show) {\n"; + } elseif ($propValue['show'] == 'true') { + $output .= "if ({$cond_code}) {\n"; + } else { + $output .= "if (false) {\n"; + } + $jinit = join(', ', $initFor); + $jcmp = join(', ', $cmpFor); + $jinc = join(', ', $incFor); + $output .= "for ({$jinit}; {$jcmp}; {$jinc}){\n"; + if (isset($namedAttr['rownum'])) { + $output .= "{$sectionVar}->value['rownum'] = {$propValue['iteration']};\n"; + } + if (isset($namedAttr['index_prev'])) { + $output .= "{$sectionVar}->value['index_prev'] = {$propValue['index']} - {$propValue['step']};\n"; + } + if (isset($namedAttr['index_next'])) { + $output .= "{$sectionVar}->value['index_next'] = {$propValue['index']} + {$propValue['step']};\n"; + } + if (isset($namedAttr['first'])) { + $output .= "{$sectionVar}->value['first'] = ({$propValue['iteration']} == 1);\n"; + } + if (isset($namedAttr['last'])) { + $output .= "{$sectionVar}->value['last'] = ({$propValue['iteration']} == {$propValue['total']});\n"; + } $output .= "?>"; return $output; @@ -152,20 +394,20 @@ class Smarty_Internal_Compile_Sectionelse extends Smarty_Internal_CompileBase /** * Compiles code for the {sectionelse} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { // check and get attributes $_attr = $this->getAttributes($compiler, $args); - list($openTag, $nocache) = $this->closeTag($compiler, array('section')); - $this->openTag($compiler, 'sectionelse', array('sectionelse', $nocache)); + list($openTag, $nocache, $local, $sectionVar) = $this->closeTag($compiler, array('section')); + $this->openTag($compiler, 'sectionelse', array('sectionelse', $nocache, $local, $sectionVar)); - return "<?php endfor; else: ?>"; + return "<?php }} else {\n ?>"; } } @@ -180,27 +422,33 @@ class Smarty_Internal_Compile_Sectionclose extends Smarty_Internal_CompileBase /** * Compiles code for the {/section} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - + $compiler->loopNesting--; // must endblock be nocache? if ($compiler->nocache) { $compiler->tag_nocache = true; } - list($openTag, $compiler->nocache) = $this->closeTag($compiler, array('section', 'sectionelse')); + list($openTag, $compiler->nocache, $local, $sectionVar) = $this->closeTag($compiler, array('section', + 'sectionelse')); + $output = "<?php\n"; if ($openTag == 'sectionelse') { - return "<?php endif; ?>"; + $output .= "}\n"; } else { - return "<?php endfor; endif; ?>"; + $output .= "}\n}\n"; } + $output .= "if ({$local}saved) {\n"; + $output .= "{$sectionVar} = {$local}saved;\n"; + $output .= "}\n"; + $output .= "?>"; + + return $output; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php index 8e91ba6d0..b4932c1e1 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php @@ -25,10 +25,10 @@ class Smarty_Internal_Compile_Setfilter extends Smarty_Internal_CompileBase * * @return string compiled code */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { - $compiler->variable_filter_stack[] = $compiler->template->variable_filters; - $compiler->template->variable_filters = $parameter['modifier_list']; + $compiler->variable_filter_stack[] = $compiler->variable_filters; + $compiler->variable_filters = $parameter['modifier_list']; // this tag does not return compiled code $compiler->has_code = false; @@ -53,14 +53,14 @@ class Smarty_Internal_Compile_Setfilterclose extends Smarty_Internal_CompileBase * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { $_attr = $this->getAttributes($compiler, $args); // reset variable filter to previous state if (count($compiler->variable_filter_stack)) { - $compiler->template->variable_filters = array_pop($compiler->variable_filter_stack); + $compiler->variable_filters = array_pop($compiler->variable_filter_stack); } else { - $compiler->template->variable_filters = array(); + $compiler->variable_filters = array(); } // this tag does not return compiled code $compiler->has_code = false; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_shared_inheritance.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_shared_inheritance.php new file mode 100644 index 000000000..c7bf1f8fb --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_shared_inheritance.php @@ -0,0 +1,46 @@ +<?php +/** + * Smarty Internal Plugin Compile Shared Inheritance + * Shared methods for {extends} and {block} tags + * + * @package Smarty + * @subpackage Compiler + * @author Uwe Tews + */ + +/** + * Smarty Internal Plugin Compile Shared Inheritance Class + * + * @package Smarty + * @subpackage Compiler + */ +class Smarty_Internal_Compile_Shared_Inheritance extends Smarty_Internal_CompileBase +{ + /** + * Register post compile callback to compile inheritance initialization code + * + * @param \Smarty_Internal_TemplateCompilerBase $compiler + * @param bool|false $initChildSequence if true force child template + */ + public function registerInit(Smarty_Internal_TemplateCompilerBase $compiler, $initChildSequence = false) + { + if ($initChildSequence || !isset($compiler->_cache['inheritanceInit'])) { + $compiler->registerPostCompileCallback(array('Smarty_Internal_Compile_Shared_Inheritance', 'postCompile'), + array($initChildSequence), 'inheritanceInit', $initChildSequence); + + $compiler->_cache['inheritanceInit'] = true; + } + } + + /** + * Compile inheritance initialization code as prefix + * + * @param \Smarty_Internal_TemplateCompilerBase $compiler + * @param bool|false $initChildSequence if true force child template + */ + static function postCompile(Smarty_Internal_TemplateCompilerBase $compiler, $initChildSequence = false) + { + $compiler->prefixCompiledCode .= "<?php \$_smarty_tpl->ext->_inheritance->init(\$_smarty_tpl, " . + var_export($initChildSequence, true) . ");\n?>\n"; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php index 36dc049db..bd31f6671 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php @@ -19,48 +19,63 @@ class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase /** * Compiles code for the {while} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter * * @return string compiled code + * @throws \SmartyCompilerException */ - public function compile($args, $compiler, $parameter) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { + $compiler->loopNesting++; // check and get attributes $_attr = $this->getAttributes($compiler, $args); $this->openTag($compiler, 'while', $compiler->nocache); if (!array_key_exists("if condition", $parameter)) { - $compiler->trigger_template_error("missing while condition", $compiler->lex->taglineno); + $compiler->trigger_template_error("missing while condition", null, true); } // maybe nocache because of nocache variables $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; + $_output = "<?php\n"; if (is_array($parameter['if condition'])) { if ($compiler->nocache) { $_nocache = ',true'; // create nocache var to make it know for further compiling if (is_array($parameter['if condition']['var'])) { - $compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + $var = trim($parameter['if condition']['var']['var'], "'"); } else { - $compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + $var = trim($parameter['if condition']['var'], "'"); + } + if (isset($compiler->template->tpl_vars[$var])) { + $compiler->template->tpl_vars[$var]->nocache = true; + } else { + $compiler->template->tpl_vars[$var] = new Smarty_Variable(null, true); } } else { $_nocache = ''; } if (is_array($parameter['if condition']['var'])) { - $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n"; - $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>"; + $_output .= "if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . + "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . + "]->value)) \$_smarty_tpl->smarty->ext->_var->createLocalArrayVariable(\$_smarty_tpl, " . $parameter['if condition']['var']['var'] . + "$_nocache);\n"; + $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . + $parameter['if condition']['var']['smarty_internal_index'] . " = " . + $parameter['if condition']['value'] . ") {?>"; } else { - $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});"; - $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>"; + $_output .= "if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . + "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . + "] = new Smarty_Variable(null{$_nocache});"; + $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . + $parameter['if condition']['value'] . ") {?>"; } - - return $_output; } else { - return "<?php while ({$parameter['if condition']}) {?>"; - } + $_output .= "while ({$parameter['if condition']}) {?>"; + } + return $_output; } } @@ -75,19 +90,19 @@ class Smarty_Internal_Compile_Whileclose extends Smarty_Internal_CompileBase /** * Compiles code for the {/while} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) { + $compiler->loopNesting--; // must endblock be nocache? if ($compiler->nocache) { $compiler->tag_nocache = true; } $compiler->nocache = $this->closeTag($compiler, array('while')); - - return "<?php }?>"; + return "<?php }?>\n"; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php b/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php index f78f15f40..0803f27a6 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php @@ -21,6 +21,7 @@ abstract class Smarty_Internal_CompileBase * @var array */ public $required_attributes = array(); + /** * Array of names of optional attribute required by tag * use array('_any') if there is no restriction of attributes names @@ -28,12 +29,14 @@ abstract class Smarty_Internal_CompileBase * @var array */ public $optional_attributes = array(); + /** * Shorttag attribute order defined by its names * * @var array */ public $shorttag_order = array(); + /** * Array of names of valid option flags * @@ -68,7 +71,7 @@ abstract class Smarty_Internal_CompileBase $_indexed_attr[$this->shorttag_order[$key]] = $mixed; } else { // too many shorthands - $compiler->trigger_template_error('too many shorthand attributes', $compiler->lex->taglineno); + $compiler->trigger_template_error('too many shorthand attributes', null, true); } // named attribute } else { @@ -90,7 +93,7 @@ abstract class Smarty_Internal_CompileBase $_indexed_attr[$kv['key']] = false; } } else { - $compiler->trigger_template_error("illegal value of option flag \"{$kv['key']}\"", $compiler->lex->taglineno); + $compiler->trigger_template_error("illegal value of option flag \"{$kv['key']}\"", null, true); } // must be named attribute } else { @@ -102,7 +105,7 @@ abstract class Smarty_Internal_CompileBase // check if all required attributes present foreach ($this->required_attributes as $attr) { if (!array_key_exists($attr, $_indexed_attr)) { - $compiler->trigger_template_error("missing \"" . $attr . "\" attribute", $compiler->lex->taglineno); + $compiler->trigger_template_error("missing \"" . $attr . "\" attribute", null, true); } } // check for not allowed attributes @@ -110,7 +113,7 @@ abstract class Smarty_Internal_CompileBase $tmp_array = array_merge($this->required_attributes, $this->optional_attributes, $this->option_flags); foreach ($_indexed_attr as $key => $dummy) { if (!in_array($key, $tmp_array) && $key !== 0) { - $compiler->trigger_template_error("unexpected \"" . $key . "\" attribute", $compiler->lex->taglineno); + $compiler->trigger_template_error("unexpected \"" . $key . "\" attribute", null, true); } } } @@ -162,12 +165,13 @@ abstract class Smarty_Internal_CompileBase } } // wrong nesting of tags - $compiler->trigger_template_error("unclosed {$compiler->smarty->left_delimiter}" . $_openTag . "{$compiler->smarty->right_delimiter} tag"); + $compiler->trigger_template_error("unclosed {$compiler->smarty->left_delimiter}" . $_openTag . + "{$compiler->smarty->right_delimiter} tag"); return; } // wrong nesting of tags - $compiler->trigger_template_error("unexpected closing tag", $compiler->lex->taglineno); + $compiler->trigger_template_error("unexpected closing tag", null, true); return; } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_config.php b/library/Smarty/libs/sysplugins/smarty_internal_config.php deleted file mode 100644 index 25694d5a9..000000000 --- a/library/Smarty/libs/sysplugins/smarty_internal_config.php +++ /dev/null @@ -1,306 +0,0 @@ -<?php -/** - * Smarty Internal Plugin Config - * - * @package Smarty - * @subpackage Config - * @author Uwe Tews - */ - -/** - * Smarty Internal Plugin Config - * Main class for config variables - * - * @package Smarty - * @subpackage Config - * @ignore - */ -class Smarty_Internal_Config -{ - /** - * Smarty instance - * - * @var Smarty object - */ - public $smarty = null; - /** - * Object of config var storage - * - * @var object - */ - public $data = null; - /** - * Config resource - * - * @var string - */ - public $config_resource = null; - /** - * Compiled config file - * - * @var string - */ - public $compiled_config = null; - /** - * filepath of compiled config file - * - * @var string - */ - public $compiled_filepath = null; - /** - * Filemtime of compiled config Filemtime - * - * @var int - */ - public $compiled_timestamp = null; - /** - * flag if compiled config file is invalid and must be (re)compiled - * - * @var bool - */ - public $mustCompile = null; - /** - * Config file compiler object - * - * @var Smarty_Internal_Config_File_Compiler object - */ - public $compiler_object = null; - - /** - * Constructor of config file object - * - * @param string $config_resource config file resource name - * @param Smarty $smarty Smarty instance - * @param object $data object for config vars storage - */ - public function __construct($config_resource, $smarty, $data = null) - { - $this->data = $data; - $this->smarty = $smarty; - $this->config_resource = $config_resource; - } - - /** - * Returns the compiled filepath - * - * @return string the compiled filepath - */ - public function getCompiledFilepath() - { - return $this->compiled_filepath === null ? - ($this->compiled_filepath = $this->buildCompiledFilepath()) : - $this->compiled_filepath; - } - - /** - * Get file path. - * - * @return string - */ - public function buildCompiledFilepath() - { - $_compile_id = isset($this->smarty->compile_id) ? preg_replace('![^\w\|]+!', '_', $this->smarty->compile_id) : null; - $_flag = (int) $this->smarty->config_read_hidden + (int) $this->smarty->config_booleanize * 2 - + (int) $this->smarty->config_overwrite * 4; - $_filepath = sha1(realpath($this->source->filepath) . $_flag); - // if use_sub_dirs, break file into directories - if ($this->smarty->use_sub_dirs) { - $_filepath = substr($_filepath, 0, 2) . DS - . substr($_filepath, 2, 2) . DS - . substr($_filepath, 4, 2) . DS - . $_filepath; - } - $_compile_dir_sep = $this->smarty->use_sub_dirs ? DS : '^'; - if (isset($_compile_id)) { - $_filepath = $_compile_id . $_compile_dir_sep . $_filepath; - } - $_compile_dir = $this->smarty->getCompileDir(); - - return $_compile_dir . $_filepath . '.' . basename($this->source->name) . '.config' . '.php'; - } - - /** - * Returns the timestamp of the compiled file - * - * @return integer the file timestamp - */ - public function getCompiledTimestamp() - { - return $this->compiled_timestamp === null - ? ($this->compiled_timestamp = (file_exists($this->getCompiledFilepath())) ? filemtime($this->getCompiledFilepath()) : false) - : $this->compiled_timestamp; - } - - /** - * Returns if the current config file must be compiled - * It does compare the timestamps of config source and the compiled config and checks the force compile configuration - * - * @return boolean true if the file must be compiled - */ - public function mustCompile() - { - return $this->mustCompile === null ? - $this->mustCompile = ($this->smarty->force_compile || $this->getCompiledTimestamp() === false || $this->smarty->compile_check && $this->getCompiledTimestamp() < $this->source->timestamp) : - $this->mustCompile; - } - - /** - * Returns the compiled config file - * It checks if the config file must be compiled or just read the compiled version - * - * @return string the compiled config file - */ - public function getCompiledConfig() - { - if ($this->compiled_config === null) { - // see if template needs compiling. - if ($this->mustCompile()) { - $this->compileConfigSource(); - } else { - $this->compiled_config = file_get_contents($this->getCompiledFilepath()); - } - } - - return $this->compiled_config; - } - - /** - * Compiles the config files - * - * @throws Exception - */ - public function compileConfigSource() - { - // compile template - if (!is_object($this->compiler_object)) { - // load compiler - $this->compiler_object = new Smarty_Internal_Config_File_Compiler($this->smarty); - } - // compile locking - if ($this->smarty->compile_locking) { - if ($saved_timestamp = $this->getCompiledTimestamp()) { - touch($this->getCompiledFilepath()); - } - } - // call compiler - try { - $this->compiler_object->compileSource($this); - } - catch (Exception $e) { - // restore old timestamp in case of error - if ($this->smarty->compile_locking && $saved_timestamp) { - touch($this->getCompiledFilepath(), $saved_timestamp); - } - throw $e; - } - // compiling succeeded - // write compiled template - Smarty_Internal_Write_File::writeFile($this->getCompiledFilepath(), $this->getCompiledConfig(), $this->smarty); - } - - /** - * load config variables - * - * @param mixed $sections array of section names, single section or null - * @param string $scope global,parent or local - * - * @throws Exception - */ - public function loadConfigVars($sections = null, $scope = 'local') - { - if ($this->data instanceof Smarty_Internal_Template) { - $this->data->properties['file_dependency'][sha1($this->source->filepath)] = array($this->source->filepath, $this->source->timestamp, 'file'); - } - if ($this->mustCompile()) { - $this->compileConfigSource(); - } - // pointer to scope - if ($scope == 'local') { - $scope_ptr = $this->data; - } elseif ($scope == 'parent') { - if (isset($this->data->parent)) { - $scope_ptr = $this->data->parent; - } else { - $scope_ptr = $this->data; - } - } elseif ($scope == 'root' || $scope == 'global') { - $scope_ptr = $this->data; - while (isset($scope_ptr->parent)) { - $scope_ptr = $scope_ptr->parent; - } - } - $_config_vars = array(); - include($this->getCompiledFilepath()); - // copy global config vars - foreach ($_config_vars['vars'] as $variable => $value) { - if ($this->smarty->config_overwrite || !isset($scope_ptr->config_vars[$variable])) { - $scope_ptr->config_vars[$variable] = $value; - } else { - $scope_ptr->config_vars[$variable] = array_merge((array) $scope_ptr->config_vars[$variable], (array) $value); - } - } - // scan sections - if (!empty($sections)) { - foreach ((array) $sections as $this_section) { - if (isset($_config_vars['sections'][$this_section])) { - foreach ($_config_vars['sections'][$this_section]['vars'] as $variable => $value) { - if ($this->smarty->config_overwrite || !isset($scope_ptr->config_vars[$variable])) { - $scope_ptr->config_vars[$variable] = $value; - } else { - $scope_ptr->config_vars[$variable] = array_merge((array) $scope_ptr->config_vars[$variable], (array) $value); - } - } - } - } - } - } - - /** - * set Smarty property in template context - * - * @param string $property_name property name - * @param mixed $value value - * - * @throws SmartyException if $property_name is not valid - */ - public function __set($property_name, $value) - { - switch ($property_name) { - case 'source': - case 'compiled': - $this->$property_name = $value; - - return; - } - - throw new SmartyException("invalid config property '$property_name'."); - } - - /** - * get Smarty property in template context - * - * @param string $property_name property name - * - * @return \Smarty_Config_Source|\Smarty_Template_Compiled - * @throws SmartyException if $property_name is not valid - */ - public function __get($property_name) - { - switch ($property_name) { - case 'source': - if (empty($this->config_resource)) { - throw new SmartyException("Unable to parse resource name \"{$this->config_resource}\""); - } - $this->source = Smarty_Resource::config($this); - - return $this->source; - - case 'compiled': - $this->compiled = $this->source->getCompiled($this); - - return $this->compiled; - } - - throw new SmartyException("config attribute '$property_name' does not exist."); - } -} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php b/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php index 117310439..56d3b0665 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php @@ -18,6 +18,20 @@ class Smarty_Internal_Config_File_Compiler { /** + * Lexer class name + * + * @var string + */ + public $lexer_class; + + /** + * Parser class name + * + * @var string + */ + public $parser_class; + + /** * Lexer object * * @var object @@ -41,9 +55,9 @@ class Smarty_Internal_Config_File_Compiler /** * Smarty object * - * @var Smarty_Internal_Config object + * @var Smarty_Internal_Template object */ - public $config; + public $template; /** * Compiled config data sections and variables @@ -53,39 +67,52 @@ class Smarty_Internal_Config_File_Compiler public $config_data = array(); /** + * compiled config data must always be written + * + * @var bool + */ + public $write_compiled_code = true; + + /** * Initialize compiler * - * @param Smarty $smarty base instance + * @param string $lexer_class class name + * @param string $parser_class class name + * @param Smarty $smarty global instance */ - public function __construct($smarty) + public function __construct($lexer_class, $parser_class, Smarty $smarty) { $this->smarty = $smarty; + // get required plugins + $this->lexer_class = $lexer_class; + $this->parser_class = $parser_class; + $this->smarty = $smarty; $this->config_data['sections'] = array(); $this->config_data['vars'] = array(); } /** - * Method to compile a Smarty template. + * Method to compile Smarty config source. * - * @param Smarty_Internal_Config $config config object + * @param Smarty_Internal_Template $template * - * @return bool true if compiling succeeded, false if it failed + * @return bool true if compiling succeeded, false if it failed */ - public function compileSource(Smarty_Internal_Config $config) + public function compileTemplate(Smarty_Internal_Template $template) { - /* here is where the compiling takes place. Smarty - tags in the templates are replaces with PHP code, - then written to compiled files. */ - $this->config = $config; - // get config file source - $_content = $config->source->content . "\n"; - // on empty template just return - if ($_content == '') { - return true; + $this->template = $template; + $this->template->compiled->file_dependency[$this->template->source->uid] = array($this->template->source->filepath, + $this->template->source->getTimeStamp(), + $this->template->source->type); + if ($this->smarty->debugging) { + $this->smarty->_debug->start_compile($this->template); } // init the lexer/parser to compile the config file - $lex = new Smarty_Internal_Configfilelexer($_content, $this); - $parser = new Smarty_Internal_Configfileparser($lex, $this); + /* @var Smarty_Internal_ConfigFileLexer $lex */ + $lex = new $this->lexer_class(str_replace(array("\r\n", "\r"), "\n", $template->source->getContent()) . + "\n", $this); + /* @var Smarty_Internal_ConfigFileParser $parser */ + $parser = new $this->parser_class($lex, $this); if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) { $mbEncoding = mb_internal_encoding(); @@ -94,7 +121,6 @@ class Smarty_Internal_Config_File_Compiler $mbEncoding = null; } - if ($this->smarty->_parserdebug) { $parser->PrintTrace(); } @@ -111,8 +137,17 @@ class Smarty_Internal_Config_File_Compiler if ($mbEncoding) { mb_internal_encoding($mbEncoding); } + if ($this->smarty->debugging) { + $this->smarty->_debug->end_compile($this->template); + } + // template header code + $template_header = "<?php /* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . + strftime("%Y-%m-%d %H:%M:%S") . "\n"; + $template_header .= " compiled from \"" . $this->template->source->filepath . "\" */ ?>\n"; - $config->compiled_config = '<?php $_config_vars = ' . var_export($this->config_data, true) . '; ?>'; + $code = '<?php $_smarty_tpl->smarty->ext->configLoad->_loadConfigVars($_smarty_tpl, ' . + var_export($this->config_data, true) . '); ?>'; + return $template_header . $this->template->smarty->ext->_codeFrame->create($this->template, $code); } /** @@ -129,13 +164,13 @@ class Smarty_Internal_Config_File_Compiler { $this->lex = Smarty_Internal_Configfilelexer::instance(); $this->parser = Smarty_Internal_Configfileparser::instance(); - // get template source line which has error + // get config source line which has error $line = $this->lex->line; if (isset($args)) { // $line--; } $match = preg_split("/\n/", $this->lex->data); - $error_text = "Syntax error in config file '{$this->config->source->filepath}' on line {$line} '{$match[$line - 1]}' "; + $error_text = "Syntax error in config file '{$this->template->source->filepath}' on line {$line} '{$match[$line - 1]}' "; if (isset($args)) { // individual error message $error_text .= $args; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php b/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php index f0292196b..e62728c2c 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php @@ -1,6 +1,7 @@ <?php /** * Smarty Internal Plugin Configfilelexer + * * This is the lexer to break the config file source into tokens * * @package Smarty @@ -9,25 +10,134 @@ */ /** - * Smarty Internal Plugin Configfilelexer + * Smarty_Internal_Configfilelexer + * + * This is the config file lexer. + * It is generated from the smarty_internal_configfilelexer.plex file + * + * @package Smarty + * @subpackage Compiler + * @author Uwe Tews */ class Smarty_Internal_Configfilelexer { - + /** + * Source + * + * @var string + */ public $data; + + /** + * byte counter + * + * @var int + */ public $counter; + + /** + * token number + * + * @var int + */ public $token; + + /** + * token value + * + * @var string + */ public $value; - public $node; + + /** + * current line + * + * @var int + */ public $line; - private $state = 1; + + /** + * state number + * + * @var int + */ + public $state = 1; + + /** + * Smarty object + * + * @var Smarty + */ + public $smarty = null; + + /** + * compiler object + * + * @var Smarty_Internal_Config_File_Compiler + */ + private $compiler = null; + + /** + * copy of config_booleanize + * + * @var bool + */ + private $configBooleanize = false; + + /** + * trace file + * + * @var resource + */ public $yyTraceFILE; + + /** + * trace prompt + * + * @var string + */ public $yyTracePrompt; - public $state_name = array(1 => 'START', 2 => 'VALUE', 3 => 'NAKED_STRING_VALUE', 4 => 'COMMENT', 5 => 'SECTION', 6 => 'TRIPPLE'); - public $smarty_token_names = array( // Text for parser error messages + + /** + * state names + * + * @var array + */ + public $state_name = array(1 => 'START', 2 => 'VALUE', 3 => 'NAKED_STRING_VALUE', 4 => 'COMMENT', 5 => 'SECTION', + 6 => 'TRIPPLE'); + + /** + * storage for assembled token patterns + * + * @var sring + */ + private $yy_global_pattern1 = null; + + private $yy_global_pattern2 = null; + + private $yy_global_pattern3 = null; + + private $yy_global_pattern4 = null; + + private $yy_global_pattern5 = null; + + private $yy_global_pattern6 = null; + + /** + * token names + * + * @var array + */ + public $smarty_token_names = array( // Text for parser error messages ); - function __construct($data, $compiler) + /** + * constructor + * + * @param string $data template source + * @param Smarty_Internal_Config_File_Compiler $compiler + */ + function __construct($data, Smarty_Internal_Config_File_Compiler $compiler) { // set instance object self::instance($this); @@ -39,6 +149,7 @@ class Smarty_Internal_Configfilelexer $this->line = 1; $this->compiler = $compiler; $this->smarty = $compiler->smarty; + $this->configBooleanize = $this->smarty->config_booleanize; } public static function &instance($new_instance = null) @@ -57,6 +168,7 @@ class Smarty_Internal_Configfilelexer } private $_yy_state = 1; + private $_yy_stack = array(); public function yylex() @@ -97,41 +209,28 @@ class Smarty_Internal_Configfilelexer public function yylex1() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - 4 => 0, - 5 => 0, - 6 => 0, - 7 => 0, - 8 => 0, - ); + if (!isset($this->yy_global_pattern1)) { + $this->yy_global_pattern1 = "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern1, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state START'); + if (strlen($yysubmatches[0]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state START'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r1_' . $this->token}($yysubmatches); + $r = $this->{'yy_r1_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -151,8 +250,7 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -160,52 +258,52 @@ class Smarty_Internal_Configfilelexer const START = 1; - function yy_r1_1($yy_subpatterns) + function yy_r1_1() { $this->token = Smarty_Internal_Configfileparser::TPC_COMMENTSTART; $this->yypushstate(self::COMMENT); } - function yy_r1_2($yy_subpatterns) + function yy_r1_2() { $this->token = Smarty_Internal_Configfileparser::TPC_OPENB; $this->yypushstate(self::SECTION); } - function yy_r1_3($yy_subpatterns) + function yy_r1_3() { $this->token = Smarty_Internal_Configfileparser::TPC_CLOSEB; } - function yy_r1_4($yy_subpatterns) + function yy_r1_4() { $this->token = Smarty_Internal_Configfileparser::TPC_EQUAL; $this->yypushstate(self::VALUE); } - function yy_r1_5($yy_subpatterns) + function yy_r1_5() { return false; } - function yy_r1_6($yy_subpatterns) + function yy_r1_6() { $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE; } - function yy_r1_7($yy_subpatterns) + function yy_r1_7() { $this->token = Smarty_Internal_Configfileparser::TPC_ID; } - function yy_r1_8($yy_subpatterns) + function yy_r1_8() { $this->token = Smarty_Internal_Configfileparser::TPC_OTHER; @@ -213,42 +311,28 @@ class Smarty_Internal_Configfilelexer public function yylex2() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - 4 => 0, - 5 => 0, - 6 => 0, - 7 => 0, - 8 => 0, - 9 => 0, - ); + if (!isset($this->yy_global_pattern2)) { + $this->yy_global_pattern2 = "/\G([ \t\r]+)|\G(\\d+\\.\\d+(?=[ \t\r]*[\n#;]))|\G(\\d+(?=[ \t\r]*[\n#;]))|\G(\"\"\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#;]))|\G(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#;]))|\G([a-zA-Z]+(?=[ \t\r]*[\n#;]))|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G([ \t\r]+)|\G(\\d+\\.\\d+(?=[ \t\r]*[\n#;]))|\G(\\d+(?=[ \t\r]*[\n#;]))|\G(\"\"\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#;]))|\G(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#;]))|\G([a-zA-Z]+(?=[ \t\r]*[\n#;]))|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern2, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state VALUE'); + if (strlen($yysubmatches[0]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state VALUE'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r2_' . $this->token}($yysubmatches); + $r = $this->{'yy_r2_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -268,8 +352,7 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -277,51 +360,53 @@ class Smarty_Internal_Configfilelexer const VALUE = 2; - function yy_r2_1($yy_subpatterns) + function yy_r2_1() { return false; } - function yy_r2_2($yy_subpatterns) + function yy_r2_2() { $this->token = Smarty_Internal_Configfileparser::TPC_FLOAT; $this->yypopstate(); } - function yy_r2_3($yy_subpatterns) + function yy_r2_3() { $this->token = Smarty_Internal_Configfileparser::TPC_INT; $this->yypopstate(); } - function yy_r2_4($yy_subpatterns) + function yy_r2_4() { $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES; $this->yypushstate(self::TRIPPLE); } - function yy_r2_5($yy_subpatterns) + function yy_r2_5() { $this->token = Smarty_Internal_Configfileparser::TPC_SINGLE_QUOTED_STRING; $this->yypopstate(); } - function yy_r2_6($yy_subpatterns) + function yy_r2_6() { $this->token = Smarty_Internal_Configfileparser::TPC_DOUBLE_QUOTED_STRING; $this->yypopstate(); } - function yy_r2_7($yy_subpatterns) + function yy_r2_7() { - if (!$this->smarty->config_booleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no"))) { + if (!$this->configBooleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", + "no")) + ) { $this->yypopstate(); $this->yypushstate(self::NAKED_STRING_VALUE); return true; //reprocess in new state @@ -331,14 +416,14 @@ class Smarty_Internal_Configfilelexer } } - function yy_r2_8($yy_subpatterns) + function yy_r2_8() { $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; $this->yypopstate(); } - function yy_r2_9($yy_subpatterns) + function yy_r2_9() { $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; @@ -348,34 +433,28 @@ class Smarty_Internal_Configfilelexer public function yylex3() { - $tokenMap = array( - 1 => 0, - ); + if (!isset($this->yy_global_pattern3)) { + $this->yy_global_pattern3 = "/\G([^\n]+?(?=[ \t\r]*\n))/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G([^\n]+?(?=[ \t\r]*\n))/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern3, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state NAKED_STRING_VALUE'); + if (strlen($yysubmatches[0]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state NAKED_STRING_VALUE'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r3_' . $this->token}($yysubmatches); + $r = $this->{'yy_r3_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -395,8 +474,7 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -404,7 +482,7 @@ class Smarty_Internal_Configfilelexer const NAKED_STRING_VALUE = 3; - function yy_r3_1($yy_subpatterns) + function yy_r3_1() { $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; @@ -413,36 +491,28 @@ class Smarty_Internal_Configfilelexer public function yylex4() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - ); + if (!isset($this->yy_global_pattern4)) { + $this->yy_global_pattern4 = "/\G([ \t\r]+)|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G([ \t\r]+)|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern4, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state COMMENT'); + if (strlen($yysubmatches[0]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state COMMENT'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r4_' . $this->token}($yysubmatches); + $r = $this->{'yy_r4_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -462,8 +532,7 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -471,19 +540,19 @@ class Smarty_Internal_Configfilelexer const COMMENT = 4; - function yy_r4_1($yy_subpatterns) + function yy_r4_1() { return false; } - function yy_r4_2($yy_subpatterns) + function yy_r4_2() { $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING; } - function yy_r4_3($yy_subpatterns) + function yy_r4_3() { $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE; @@ -492,35 +561,28 @@ class Smarty_Internal_Configfilelexer public function yylex5() { - $tokenMap = array( - 1 => 0, - 2 => 0, - ); + if (!isset($this->yy_global_pattern5)) { + $this->yy_global_pattern5 = "/\G(\\.)|\G(.*?(?=[\.=[\]\r\n]))/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G(\\.)|\G(.*?(?=[\.=[\]\r\n]))/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern5, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state SECTION'); + if (strlen($yysubmatches[0]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state SECTION'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r5_' . $this->token}($yysubmatches); + $r = $this->{'yy_r5_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -540,8 +602,7 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -549,13 +610,13 @@ class Smarty_Internal_Configfilelexer const SECTION = 5; - function yy_r5_1($yy_subpatterns) + function yy_r5_1() { $this->token = Smarty_Internal_Configfileparser::TPC_DOT; } - function yy_r5_2($yy_subpatterns) + function yy_r5_2() { $this->token = Smarty_Internal_Configfileparser::TPC_SECTION; @@ -564,35 +625,28 @@ class Smarty_Internal_Configfilelexer public function yylex6() { - $tokenMap = array( - 1 => 0, - 2 => 0, - ); + if (!isset($this->yy_global_pattern6)) { + $this->yy_global_pattern6 = "/\G(\"\"\"(?=[ \t\r]*[\n#;]))|\G([\S\s])/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G(\"\"\"(?=[ \t\r]*[\n#;]))|\G([\S\s])/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern6, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state TRIPPLE'); + if (strlen($yysubmatches[0]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state TRIPPLE'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r6_' . $this->token}($yysubmatches); + $r = $this->{'yy_r6_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -612,8 +666,7 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -621,7 +674,7 @@ class Smarty_Internal_Configfilelexer const TRIPPLE = 6; - function yy_r6_1($yy_subpatterns) + function yy_r6_1() { $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES_END; @@ -629,7 +682,7 @@ class Smarty_Internal_Configfilelexer $this->yypushstate(self::START); } - function yy_r6_2($yy_subpatterns) + function yy_r6_2() { $to = strlen($this->data); @@ -642,5 +695,5 @@ class Smarty_Internal_Configfilelexer $this->value = substr($this->data, $this->counter, $to - $this->counter); $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_TEXT; } -} +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php b/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php index fc476ce0a..69aaf990f 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php @@ -1,17 +1,9 @@ <?php -/** - * Smarty Internal Plugin Configfileparser - * This is the config file parser. - * It is generated from the internal.configfileparser.y file - * - * @package Smarty - * @subpackage Compiler - * @author Uwe Tews - */ class TPC_yyToken implements ArrayAccess { public $string = ''; + public $metadata = array(); public function __construct($s, $m = array()) @@ -31,7 +23,7 @@ class TPC_yyToken implements ArrayAccess public function __toString() { - return $this->_string; + return $this->string; } public function offsetExists($offset) @@ -48,8 +40,7 @@ class TPC_yyToken implements ArrayAccess { if ($offset === null) { if (isset($value[0])) { - $x = ($value instanceof TPC_yyToken) ? - $value->metadata : $value; + $x = ($value instanceof TPC_yyToken) ? $value->metadata : $value; $this->metadata = array_merge($this->metadata, $x); return; @@ -76,8 +67,8 @@ class TPC_yyToken implements ArrayAccess class TPC_yyStackEntry { - public $stateno; /* The state-number */ - public $major; /* The major token value. This is the code + public $stateno; /* The state-number */ + public $major; /* The major token value. This is the code ** number for the token at this stack level */ public $minor; /* The user-supplied minor token value. This ** is the value of the token */ @@ -85,26 +76,112 @@ class TPC_yyStackEntry ; -#line 12 "smarty_internal_configfileparser.y" -class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparser.php" +#line 12 "../smarty/lexer/smarty_internal_configfileparser.y" + +/** + * Smarty Internal Plugin Configfileparse + * + * This is the config file parser. + * It is generated from the smarty_internal_configfileparser.y file + * + * @package Smarty + * @subpackage Compiler + * @author Uwe Tews + */ +class Smarty_Internal_Configfileparser { - #line 14 "smarty_internal_configfileparser.y" + #line 25 "../smarty/lexer/smarty_internal_configfileparser.y" - // states whether the parse was successful or not + /** + * result status + * + * @var bool + */ public $successful = true; + + /** + * return value + * + * @var mixed + */ public $retvalue = 0; + + /** + * @var + */ + public $yymajor; + + /** + * lexer object + * + * @var Smarty_Internal_Configfilelexer + */ private $lex; + + /** + * internal error flag + * + * @var bool + */ private $internalError = false; - function __construct($lex, $compiler) + /** + * compiler object + * + * @var Smarty_Internal_Config_File_Compiler + */ + public $compiler = null; + + /** + * smarty object + * + * @var Smarty + */ + public $smarty = null; + + /** + * copy of config_overwrite property + * + * @var bool + */ + private $configOverwrite = false; + + /** + * copy of config_read_hidden property + * + * @var bool + */ + private $configReadHidden = false; + + /** + * helper map + * + * @var array + */ + private static $escapes_single = Array('\\' => '\\', '\'' => '\''); + + /** + * constructor + * + * @param Smarty_Internal_Configfilelexer $lex + * @param Smarty_Internal_Config_File_Compiler $compiler + */ + function __construct(Smarty_Internal_Configfilelexer $lex, Smarty_Internal_Config_File_Compiler $compiler) { // set instance object self::instance($this); $this->lex = $lex; $this->smarty = $compiler->smarty; $this->compiler = $compiler; + $this->configOverwrite = $this->smarty->config_overwrite; + $this->configReadHidden = $this->smarty->config_read_hidden; } + /** + * @param null $new_instance + * + * @return null + */ public static function &instance($new_instance = null) { static $instance = null; @@ -114,9 +191,17 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse return $instance; } + /** + * parse optional boolean keywords + * + * @param string $str + * + * @return bool + */ private function parse_bool($str) { - if (in_array(strtolower($str), array('on', 'yes', 'true'))) { + $str = strtolower($str); + if (in_array($str, array('on', 'yes', 'true'))) { $res = true; } else { $res = false; @@ -124,9 +209,15 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse return $res; } - private static $escapes_single = Array('\\' => '\\', - '\'' => '\''); - + /** + * parse single quoted string + * remove outer quotes + * unescape inner quotes + * + * @param string $qstr + * + * @return string + */ private static function parse_single_quoted_string($qstr) { $escaped_string = substr($qstr, 1, strlen($qstr) - 2); //remove outer quotes @@ -140,30 +231,48 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse $s = self::$escapes_single[$s[1]]; } } - $str .= $s; } - return $str; } + /** + * parse double quoted string + * + * @param string $qstr + * + * @return string + */ private static function parse_double_quoted_string($qstr) { $inner_str = substr($qstr, 1, strlen($qstr) - 2); return stripcslashes($inner_str); } + /** + * parse triple quoted string + * + * @param string $qstr + * + * @return string + */ private static function parse_tripple_double_quoted_string($qstr) { return stripcslashes($qstr); } + /** + * set a config variable in target array + * + * @param array $var + * @param array $target_array + */ private function set_var(Array $var, Array &$target_array) { $key = $var["key"]; $value = $var["value"]; - if ($this->smarty->config_overwrite || !isset($target_array['vars'][$key])) { + if ($this->configOverwrite || !isset($target_array['vars'][$key])) { $target_array['vars'][$key] = $value; } else { settype($target_array['vars'][$key], 'array'); @@ -171,6 +280,11 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse } } + /** + * add config variable to global vars + * + * @param array $vars + */ private function add_global_vars(Array $vars) { if (!isset($this->compiler->config_data['vars'])) { @@ -181,6 +295,12 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse } } + /** + * add config variable to section + * + * @param string $section_name + * @param array $vars + */ private function add_section_vars($section_name, Array $vars) { if (!isset($this->compiler->config_data['sections'][$section_name]['vars'])) { @@ -191,158 +311,92 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse } } - #line 174 "smarty_internal_configfileparser.php" - const TPC_OPENB = 1; + const TPC_SECTION = 2; + const TPC_CLOSEB = 3; + const TPC_DOT = 4; + const TPC_ID = 5; + const TPC_EQUAL = 6; + const TPC_FLOAT = 7; + const TPC_INT = 8; + const TPC_BOOL = 9; + const TPC_SINGLE_QUOTED_STRING = 10; + const TPC_DOUBLE_QUOTED_STRING = 11; + const TPC_TRIPPLE_QUOTES = 12; + const TPC_TRIPPLE_TEXT = 13; + const TPC_TRIPPLE_QUOTES_END = 14; + const TPC_NAKED_STRING = 15; + const TPC_OTHER = 16; + const TPC_NEWLINE = 17; + const TPC_COMMENTSTART = 18; + const YY_NO_ACTION = 60; + const YY_ACCEPT_ACTION = 59; + const YY_ERROR_ACTION = 58; const YY_SZ_ACTTAB = 38; - static public $yy_action = array( - /* 0 */ - 29, 30, 34, 33, 24, 13, 19, 25, 35, 21, - /* 10 */ - 59, 8, 3, 1, 20, 12, 14, 31, 20, 12, - /* 20 */ - 15, 17, 23, 18, 27, 26, 4, 5, 6, 32, - /* 30 */ - 2, 11, 28, 22, 16, 9, 7, 10, - ); - static public $yy_lookahead = array( - /* 0 */ - 7, 8, 9, 10, 11, 12, 5, 27, 15, 16, - /* 10 */ - 20, 21, 23, 23, 17, 18, 13, 14, 17, 18, - /* 20 */ - 15, 2, 17, 4, 25, 26, 6, 3, 3, 14, - /* 30 */ - 23, 1, 24, 17, 2, 25, 22, 25, - ); + + static public $yy_action = array(29, 30, 34, 33, 24, 13, 19, 25, 35, 21, 59, 8, 3, 1, 20, 12, 14, 31, 20, 12, 15, + 17, 23, 18, 27, 26, 4, 5, 6, 32, 2, 11, 28, 22, 16, 9, 7, 10,); + + static public $yy_lookahead = array(7, 8, 9, 10, 11, 12, 5, 27, 15, 16, 20, 21, 23, 23, 17, 18, 13, 14, 17, 18, 15, + 2, 17, 4, 25, 26, 6, 3, 3, 14, 23, 1, 24, 17, 2, 25, 22, 25,); + const YY_SHIFT_USE_DFLT = - 8; + const YY_SHIFT_MAX = 19; - static public $yy_shift_ofst = array( - /* 0 */ - - 8, 1, 1, 1, - 7, - 3, - 3, 30, - 8, - 8, - /* 10 */ - - 8, 19, 5, 3, 15, 16, 24, 25, 32, 20, - ); + + static public $yy_shift_ofst = array(- 8, 1, 1, 1, - 7, - 3, - 3, 30, - 8, - 8, - 8, 19, 5, 3, 15, 16, 24, 25, 32, + 20,); + const YY_REDUCE_USE_DFLT = - 21; + const YY_REDUCE_MAX = 10; - static public $yy_reduce_ofst = array( - /* 0 */ - - 10, - 1, - 1, - 1, - 20, 10, 12, 8, 14, 7, - /* 10 */ - - 11, - ); - static public $yyExpectedTokens = array( - /* 0 */ - array(), - /* 1 */ - array(5, 17, 18,), - /* 2 */ - array(5, 17, 18,), - /* 3 */ - array(5, 17, 18,), - /* 4 */ - array(7, 8, 9, 10, 11, 12, 15, 16,), - /* 5 */ - array(17, 18,), - /* 6 */ - array(17, 18,), - /* 7 */ - array(1,), - /* 8 */ - array(), - /* 9 */ - array(), - /* 10 */ - array(), - /* 11 */ - array(2, 4,), - /* 12 */ - array(15, 17,), - /* 13 */ - array(13, 14,), - /* 14 */ - array(14,), - /* 15 */ - array(17,), - /* 16 */ - array(3,), - /* 17 */ - array(3,), - /* 18 */ - array(2,), - /* 19 */ - array(6,), - /* 20 */ - array(), - /* 21 */ - array(), - /* 22 */ - array(), - /* 23 */ - array(), - /* 24 */ - array(), - /* 25 */ - array(), - /* 26 */ - array(), - /* 27 */ - array(), - /* 28 */ - array(), - /* 29 */ - array(), - /* 30 */ - array(), - /* 31 */ - array(), - /* 32 */ - array(), - /* 33 */ - array(), - /* 34 */ - array(), - /* 35 */ - array(), - ); - static public $yy_default = array( - /* 0 */ - 44, 37, 41, 40, 58, 58, 58, 36, 39, 44, - /* 10 */ - 44, 58, 58, 58, 58, 58, 58, 58, 58, 58, - /* 20 */ - 55, 54, 57, 56, 50, 45, 43, 42, 38, 46, - /* 30 */ - 47, 52, 51, 49, 48, 53, - ); + + static public $yy_reduce_ofst = array(- 10, - 1, - 1, - 1, - 20, 10, 12, 8, 14, 7, - 11,); + + static public $yyExpectedTokens = array(array(), array(5, 17, 18,), array(5, 17, 18,), array(5, 17, 18,), + array(7, 8, 9, 10, 11, 12, 15, 16,), array(17, 18,), array(17, 18,), array(1,), array(), array(), array(), + array(2, 4,), array(15, 17,), array(13, 14,), array(14,), array(17,), array(3,), array(3,), array(2,), + array(6,), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(),); + + static public $yy_default = array(44, 37, 41, 40, 58, 58, 58, 36, 39, 44, 44, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 55, 54, 57, 56, 50, 45, 43, 42, 38, 46, 47, 52, 51, 49, 48, 53,); + const YYNOCODE = 29; + const YYSTACKDEPTH = 100; + const YYNSTATE = 36; + const YYNRULE = 22; + const YYERRORSYMBOL = 19; + const YYERRSYMDT = 'yy0'; + const YYFALLBACK = 0; + public static $yyFallback = array(); public function Trace($TraceFILE, $zTracePrompt) @@ -363,67 +417,26 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse } public $yyTraceFILE; + public $yyTracePrompt; - public $yyidx; /* Index of top element in stack */ - public $yyerrcnt; /* Shifts left before out of the error */ - public $yystack = array(); /* The parser's stack */ - - public $yyTokenName = array( - '$', 'OPENB', 'SECTION', 'CLOSEB', - 'DOT', 'ID', 'EQUAL', 'FLOAT', - 'INT', 'BOOL', 'SINGLE_QUOTED_STRING', 'DOUBLE_QUOTED_STRING', - 'TRIPPLE_QUOTES', 'TRIPPLE_TEXT', 'TRIPPLE_QUOTES_END', 'NAKED_STRING', - 'OTHER', 'NEWLINE', 'COMMENTSTART', 'error', - 'start', 'global_vars', 'sections', 'var_list', - 'section', 'newline', 'var', 'value', - ); - - public static $yyRuleName = array( - /* 0 */ - "start ::= global_vars sections", - /* 1 */ - "global_vars ::= var_list", - /* 2 */ - "sections ::= sections section", - /* 3 */ - "sections ::=", - /* 4 */ - "section ::= OPENB SECTION CLOSEB newline var_list", - /* 5 */ - "section ::= OPENB DOT SECTION CLOSEB newline var_list", - /* 6 */ - "var_list ::= var_list newline", - /* 7 */ - "var_list ::= var_list var", - /* 8 */ - "var_list ::=", - /* 9 */ - "var ::= ID EQUAL value", - /* 10 */ - "value ::= FLOAT", - /* 11 */ - "value ::= INT", - /* 12 */ - "value ::= BOOL", - /* 13 */ - "value ::= SINGLE_QUOTED_STRING", - /* 14 */ - "value ::= DOUBLE_QUOTED_STRING", - /* 15 */ - "value ::= TRIPPLE_QUOTES TRIPPLE_TEXT TRIPPLE_QUOTES_END", - /* 16 */ - "value ::= TRIPPLE_QUOTES TRIPPLE_QUOTES_END", - /* 17 */ - "value ::= NAKED_STRING", - /* 18 */ - "value ::= OTHER", - /* 19 */ - "newline ::= NEWLINE", - /* 20 */ - "newline ::= COMMENTSTART NEWLINE", - /* 21 */ - "newline ::= COMMENTSTART NAKED_STRING NEWLINE", - ); + + public $yyidx; /* Index of top element in stack */ + public $yyerrcnt; /* Shifts left before out of the error */ + public $yystack = array(); /* The parser's stack */ + + public $yyTokenName = array('$', 'OPENB', 'SECTION', 'CLOSEB', 'DOT', 'ID', 'EQUAL', 'FLOAT', 'INT', 'BOOL', + 'SINGLE_QUOTED_STRING', 'DOUBLE_QUOTED_STRING', 'TRIPPLE_QUOTES', 'TRIPPLE_TEXT', 'TRIPPLE_QUOTES_END', + 'NAKED_STRING', 'OTHER', 'NEWLINE', 'COMMENTSTART', 'error', 'start', 'global_vars', 'sections', 'var_list', + 'section', 'newline', 'var', 'value',); + + public static $yyRuleName = array('start ::= global_vars sections', 'global_vars ::= var_list', + 'sections ::= sections section', 'sections ::=', 'section ::= OPENB SECTION CLOSEB newline var_list', + 'section ::= OPENB DOT SECTION CLOSEB newline var_list', 'var_list ::= var_list newline', + 'var_list ::= var_list var', 'var_list ::=', 'var ::= ID EQUAL value', 'value ::= FLOAT', 'value ::= INT', + 'value ::= BOOL', 'value ::= SINGLE_QUOTED_STRING', 'value ::= DOUBLE_QUOTED_STRING', + 'value ::= TRIPPLE_QUOTES TRIPPLE_TEXT TRIPPLE_QUOTES_END', 'value ::= TRIPPLE_QUOTES TRIPPLE_QUOTES_END', + 'value ::= NAKED_STRING', 'value ::= OTHER', 'newline ::= NEWLINE', 'newline ::= COMMENTSTART NEWLINE', + 'newline ::= COMMENTSTART NAKED_STRING NEWLINE',); public function tokenName($tokenType) { @@ -441,20 +454,18 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse { switch ($yymajor) { default: - break; /* If no destructor action specified: do nothing */ + break; /* If no destructor action specified: do nothing */ } } public function yy_pop_parser_stack() { - if (!count($this->yystack)) { + if (empty($this->yystack)) { return; } $yytos = array_pop($this->yystack); if ($this->yyTraceFILE && $this->yyidx >= 0) { - fwrite($this->yyTraceFILE, - $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . - "\n"); + fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . "\n"); } $yymajor = $yytos->major; self::yy_destructor($yymajor, $yytos->minor); @@ -475,10 +486,18 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse public function yy_get_expected_tokens($token) { + static $res3 = array(); + static $res4 = array(); $state = $this->yystack[$this->yyidx]->stateno; $expected = self::$yyExpectedTokens[$state]; - if (in_array($token, self::$yyExpectedTokens[$state], true)) { - return $expected; + if (isset($res3[$state][$token])) { + if ($res3[$state][$token]) { + return $expected; + } + } else { + if ($res3[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) { + return $expected; + } } $stack = $this->yystack; $yyidx = $this->yyidx; @@ -496,18 +515,22 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse return array_unique($expected); } $yyruleno = $yyact - self::YYNSTATE; - $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno]['lhs']); + $this->yyidx -= self::$yyRuleInfo[$yyruleno][1]; + $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, self::$yyRuleInfo[$yyruleno][0]); if (isset(self::$yyExpectedTokens[$nextstate])) { $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]); - if (in_array($token, - self::$yyExpectedTokens[$nextstate], true)) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - - return array_unique($expected); + if (isset($res4[$nextstate][$token])) { + if ($res4[$nextstate][$token]) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return array_unique($expected); + } + } else { + if ($res4[$nextstate][$token] = in_array($token, self::$yyExpectedTokens[$nextstate], true)) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return array_unique($expected); + } } } if ($nextstate < self::YYNSTATE) { @@ -515,7 +538,7 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse $this->yyidx ++; $x = new TPC_yyStackEntry; $x->stateno = $nextstate; - $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; + $x->major = self::$yyRuleInfo[$yyruleno][0]; $this->yystack[$this->yyidx] = $x; continue 2; } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { @@ -545,12 +568,20 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse public function yy_is_expected_token($token) { + static $res = array(); + static $res2 = array(); if ($token === 0) { return true; // 0 is not part of this } $state = $this->yystack[$this->yyidx]->stateno; - if (in_array($token, self::$yyExpectedTokens[$state], true)) { - return true; + if (isset($res[$state][$token])) { + if ($res[$state][$token]) { + return true; + } + } else { + if ($res[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) { + return true; + } } $stack = $this->yystack; $yyidx = $this->yyidx; @@ -568,24 +599,27 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse return true; } $yyruleno = $yyact - self::YYNSTATE; - $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno]['lhs']); - if (isset(self::$yyExpectedTokens[$nextstate]) && - in_array($token, self::$yyExpectedTokens[$nextstate], true) - ) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - - return true; + $this->yyidx -= self::$yyRuleInfo[$yyruleno][1]; + $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, self::$yyRuleInfo[$yyruleno][0]); + if (isset($res2[$nextstate][$token])) { + if ($res2[$nextstate][$token]) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return true; + } + } else { + if ($res2[$nextstate][$token] = (isset(self::$yyExpectedTokens[$nextstate]) && in_array($token, self::$yyExpectedTokens[$nextstate], true))) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return true; + } } if ($nextstate < self::YYNSTATE) { // we need to shift a non-terminal $this->yyidx ++; $x = new TPC_yyStackEntry; $x->stateno = $nextstate; - $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; + $x->major = self::$yyRuleInfo[$yyruleno][0]; $this->yystack[$this->yyidx] = $x; continue 2; } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { @@ -634,16 +668,10 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse return self::YY_NO_ACTION; } $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead - ) { - if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) - && ($iFallback = self::$yyFallback[$iLookAhead]) != 0 - ) { + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) { + if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) { if ($this->yyTraceFILE) { - fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " . - $this->yyTokenName[$iLookAhead] . " => " . - $this->yyTokenName[$iFallback] . "\n"); + fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[$iLookAhead] . " => " . $this->yyTokenName[$iFallback] . "\n"); } return $this->yy_find_shift_action($iFallback); @@ -670,9 +698,7 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse return self::YY_NO_ACTION; } $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead - ) { + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) { return self::$yy_default[$stateno]; } else { return self::$yy_action[$i]; @@ -690,11 +716,10 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse while ($this->yyidx >= 0) { $this->yy_pop_parser_stack(); } - #line 125 "smarty_internal_configfileparser.y" + #line 255 "../smarty/lexer/smarty_internal_configfileparser.y" $this->internalError = true; $this->compiler->trigger_config_file_error("Stack overflow in configfile parser"); - #line 601 "smarty_internal_configfileparser.php" return; } @@ -702,194 +727,147 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse $yytos->stateno = $yyNewState; $yytos->major = $yyMajor; $yytos->minor = $yypMinor; - array_push($this->yystack, $yytos); + $this->yystack[] = $yytos; if ($this->yyTraceFILE && $this->yyidx > 0) { - fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, - $yyNewState); + fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState); fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt); for ($i = 1; $i <= $this->yyidx; $i ++) { - fprintf($this->yyTraceFILE, " %s", - $this->yyTokenName[$this->yystack[$i]->major]); + fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[$this->yystack[$i]->major]); } fwrite($this->yyTraceFILE, "\n"); } } - public static $yyRuleInfo = array( - array('lhs' => 20, 'rhs' => 2), - array('lhs' => 21, 'rhs' => 1), - array('lhs' => 22, 'rhs' => 2), - array('lhs' => 22, 'rhs' => 0), - array('lhs' => 24, 'rhs' => 5), - array('lhs' => 24, 'rhs' => 6), - array('lhs' => 23, 'rhs' => 2), - array('lhs' => 23, 'rhs' => 2), - array('lhs' => 23, 'rhs' => 0), - array('lhs' => 26, 'rhs' => 3), - array('lhs' => 27, 'rhs' => 1), - array('lhs' => 27, 'rhs' => 1), - array('lhs' => 27, 'rhs' => 1), - array('lhs' => 27, 'rhs' => 1), - array('lhs' => 27, 'rhs' => 1), - array('lhs' => 27, 'rhs' => 3), - array('lhs' => 27, 'rhs' => 2), - array('lhs' => 27, 'rhs' => 1), - array('lhs' => 27, 'rhs' => 1), - array('lhs' => 25, 'rhs' => 1), - array('lhs' => 25, 'rhs' => 2), - array('lhs' => 25, 'rhs' => 3), - ); - - public static $yyReduceMap = array( - 0 => 0, - 2 => 0, - 3 => 0, - 19 => 0, - 20 => 0, - 21 => 0, - 1 => 1, - 4 => 4, - 5 => 5, - 6 => 6, - 7 => 7, - 8 => 8, - 9 => 9, - 10 => 10, - 11 => 11, - 12 => 12, - 13 => 13, - 14 => 14, - 15 => 15, - 16 => 16, - 17 => 17, - 18 => 17, - ); - - #line 131 "smarty_internal_configfileparser.y" + public static $yyRuleInfo = array(array(0 => 20, 1 => 2), array(0 => 21, 1 => 1), array(0 => 22, 1 => 2), + array(0 => 22, 1 => 0), array(0 => 24, 1 => 5), array(0 => 24, 1 => 6), array(0 => 23, 1 => 2), + array(0 => 23, 1 => 2), array(0 => 23, 1 => 0), array(0 => 26, 1 => 3), array(0 => 27, 1 => 1), + array(0 => 27, 1 => 1), array(0 => 27, 1 => 1), array(0 => 27, 1 => 1), array(0 => 27, 1 => 1), + array(0 => 27, 1 => 3), array(0 => 27, 1 => 2), array(0 => 27, 1 => 1), array(0 => 27, 1 => 1), + array(0 => 25, 1 => 1), array(0 => 25, 1 => 2), array(0 => 25, 1 => 3),); + + public static $yyReduceMap = array(0 => 0, 2 => 0, 3 => 0, 19 => 0, 20 => 0, 21 => 0, 1 => 1, 4 => 4, 5 => 5, + 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, + 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 17,); + + #line 261 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r0() { $this->_retvalue = null; } - #line 675 "smarty_internal_configfileparser.php" - #line 136 "smarty_internal_configfileparser.y" + + #line 266 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r1() { $this->add_global_vars($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = null; } - #line 680 "smarty_internal_configfileparser.php" - #line 149 "smarty_internal_configfileparser.y" + + #line 280 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r4() { $this->add_section_vars($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = null; } - #line 686 "smarty_internal_configfileparser.php" - #line 154 "smarty_internal_configfileparser.y" + + #line 285 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r5() { - if ($this->smarty->config_read_hidden) { + if ($this->configReadHidden) { $this->add_section_vars($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor); } $this->_retvalue = null; } - #line 694 "smarty_internal_configfileparser.php" - #line 162 "smarty_internal_configfileparser.y" + + #line 293 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r6() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; } - #line 699 "smarty_internal_configfileparser.php" - #line 166 "smarty_internal_configfileparser.y" + + #line 297 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r7() { $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, Array($this->yystack[$this->yyidx + 0]->minor)); } - #line 704 "smarty_internal_configfileparser.php" - #line 170 "smarty_internal_configfileparser.y" + + #line 301 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r8() { $this->_retvalue = Array(); } - #line 709 "smarty_internal_configfileparser.php" - #line 176 "smarty_internal_configfileparser.y" + + #line 307 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r9() { - $this->_retvalue = Array("key" => $this->yystack[$this->yyidx + - 2]->minor, "value" => $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = Array("key" => $this->yystack[$this->yyidx + - 2]->minor, + "value" => $this->yystack[$this->yyidx + 0]->minor); } - #line 714 "smarty_internal_configfileparser.php" - #line 181 "smarty_internal_configfileparser.y" + + #line 312 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r10() { $this->_retvalue = (float) $this->yystack[$this->yyidx + 0]->minor; } - #line 719 "smarty_internal_configfileparser.php" - #line 185 "smarty_internal_configfileparser.y" + + #line 316 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r11() { $this->_retvalue = (int) $this->yystack[$this->yyidx + 0]->minor; } - #line 724 "smarty_internal_configfileparser.php" - #line 189 "smarty_internal_configfileparser.y" + + #line 320 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r12() { $this->_retvalue = $this->parse_bool($this->yystack[$this->yyidx + 0]->minor); } - #line 729 "smarty_internal_configfileparser.php" - #line 193 "smarty_internal_configfileparser.y" + + #line 324 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r13() { $this->_retvalue = self::parse_single_quoted_string($this->yystack[$this->yyidx + 0]->minor); } - #line 734 "smarty_internal_configfileparser.php" - #line 197 "smarty_internal_configfileparser.y" + + #line 328 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r14() { $this->_retvalue = self::parse_double_quoted_string($this->yystack[$this->yyidx + 0]->minor); } - #line 739 "smarty_internal_configfileparser.php" - #line 201 "smarty_internal_configfileparser.y" + + #line 332 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r15() { $this->_retvalue = self::parse_tripple_double_quoted_string($this->yystack[$this->yyidx + - 1]->minor); } - #line 744 "smarty_internal_configfileparser.php" - #line 205 "smarty_internal_configfileparser.y" + + #line 336 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r16() { $this->_retvalue = ''; } - #line 749 "smarty_internal_configfileparser.php" - #line 209 "smarty_internal_configfileparser.y" + + #line 340 "../smarty/lexer/smarty_internal_configfileparser.y" function yy_r17() { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } - #line 754 "smarty_internal_configfileparser.php" - private $_retvalue; public function yy_reduce($yyruleno) { - $yymsp = $this->yystack[$this->yyidx]; - if ($this->yyTraceFILE && $yyruleno >= 0 - && $yyruleno < count(self::$yyRuleName) - ) { - fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", - $this->yyTracePrompt, $yyruleno, - self::$yyRuleName[$yyruleno]); + if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < count(self::$yyRuleName)) { + fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno, self::$yyRuleName[$yyruleno]); } $this->_retvalue = $yy_lefthand_side = null; - if (array_key_exists($yyruleno, self::$yyReduceMap)) { + if (isset(self::$yyReduceMap[$yyruleno])) { // call the action $this->_retvalue = null; $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}(); $yy_lefthand_side = $this->_retvalue; } - $yygoto = self::$yyRuleInfo[$yyruleno]['lhs']; - $yysize = self::$yyRuleInfo[$yyruleno]['rhs']; + $yygoto = self::$yyRuleInfo[$yyruleno][0]; + $yysize = self::$yyRuleInfo[$yyruleno][1]; $this->yyidx -= $yysize; for ($i = $yysize; $i; $i --) { // pop all of the right-hand side parameters @@ -924,12 +902,11 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse public function yy_syntax_error($yymajor, $TOKEN) { - #line 118 "smarty_internal_configfileparser.y" + #line 248 "../smarty/lexer/smarty_internal_configfileparser.y" $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_config_file_error(); - #line 816 "smarty_internal_configfileparser.php" } public function yy_accept() @@ -938,20 +915,18 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt); } while ($this->yyidx >= 0) { - $stack = $this->yy_pop_parser_stack(); + $this->yy_pop_parser_stack(); } - #line 110 "smarty_internal_configfileparser.y" + #line 241 "../smarty/lexer/smarty_internal_configfileparser.y" $this->successful = !$this->internalError; $this->internalError = false; $this->retvalue = $this->_retvalue; - //echo $this->retvalue."\n\n"; - #line 833 "smarty_internal_configfileparser.php" } public function doParse($yymajor, $yytokenvalue) { - $yyerrorhit = 0; /* True if yymajor has invoked an error */ + $yyerrorhit = 0; /* True if yymajor has invoked an error */ if ($this->yyidx === null || $this->yyidx < 0) { $this->yyidx = 0; @@ -960,20 +935,17 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse $x->stateno = 0; $x->major = 0; $this->yystack = array(); - array_push($this->yystack, $x); + $this->yystack[] = $x; } $yyendofinput = ($yymajor == 0); if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sInput %s\n", - $this->yyTracePrompt, $this->yyTokenName[$yymajor]); + fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[$yymajor]); } do { $yyact = $this->yy_find_shift_action($yymajor); - if ($yymajor < self::YYERRORSYMBOL && - !$this->yy_is_expected_token($yymajor) - ) { + if ($yymajor < self::YYERRORSYMBOL && !$this->yy_is_expected_token($yymajor)) { // force a syntax error $yyact = self::YY_ERROR_ACTION; } @@ -989,8 +961,7 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse $this->yy_reduce($yyact - self::YYNSTATE); } elseif ($yyact == self::YY_ERROR_ACTION) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sSyntax Error!\n", - $this->yyTracePrompt); + fprintf($this->yyTraceFILE, "%sSyntax Error!\n", $this->yyTracePrompt); } if (self::YYERRORSYMBOL) { if ($this->yyerrcnt < 0) { @@ -999,16 +970,12 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse $yymx = $this->yystack[$this->yyidx]->major; if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", - $this->yyTracePrompt, $this->yyTokenName[$yymajor]); + fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt, $this->yyTokenName[$yymajor]); } $this->yy_destructor($yymajor, $yytokenvalue); $yymajor = self::YYNOCODE; } else { - while ($this->yyidx >= 0 && - $yymx != self::YYERRORSYMBOL && - ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE - ) { + while ($this->yyidx >= 0 && $yymx != self::YYERRORSYMBOL && ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE) { $this->yy_pop_parser_stack(); } if ($this->yyidx < 0 || $yymajor == 0) { @@ -1040,3 +1007,4 @@ class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparse } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0); } } + diff --git a/library/Smarty/libs/sysplugins/smarty_internal_data.php b/library/Smarty/libs/sysplugins/smarty_internal_data.php index 9e16f10c0..53f351b41 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_data.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_data.php @@ -13,564 +13,213 @@ * * @package Smarty * @subpackage Template + * + * @method mixed getConfigVars(string $varName = null, bool $searchParents = true) + * @method mixed getStreamVariable(string $variable) + * @method Smarty_Internal_Data clearAssign(mixed $tpl_var) + * @method Smarty_Internal_Data clearAllAssign() + * @method Smarty_Internal_Data clearConfig(string $varName = null) + * @method Smarty_Internal_Data configLoad(string $config_file, mixed $sections = null, string $scope = 'local') + * @property int $scope */ class Smarty_Internal_Data { /** + * This object type (Smarty = 1, template = 2, data = 4) + * + * @var int + */ + public $_objType = 4; + + /** * name of class used for templates * * @var string */ public $template_class = 'Smarty_Internal_Template'; + /** * template variables * - * @var array + * @var Smarty_Variable[] */ public $tpl_vars = array(); + /** * parent template (if any) * - * @var Smarty_Internal_Template + * @var Smarty|Smarty_Internal_Template|Smarty_Internal_Data */ public $parent = null; + /** * configuration settings * - * @var array + * @var string[] */ public $config_vars = array(); /** - * assigns a Smarty variable - * - * @param array|string $tpl_var the template variable name(s) - * @param mixed $value the value to assign - * @param boolean $nocache if true any output of this variable will be not cached - * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining - */ - public function assign($tpl_var, $value = null, $nocache = false) - { - if (is_array($tpl_var)) { - foreach ($tpl_var as $_key => $_val) { - if ($_key != '') { - $this->tpl_vars[$_key] = new Smarty_variable($_val, $nocache); - } - } - } else { - if ($tpl_var != '') { - $this->tpl_vars[$tpl_var] = new Smarty_variable($value, $nocache); - } - } - - return $this; - } - - /** - * assigns a global Smarty variable + * extension handler * - * @param string $varname the global variable name - * @param mixed $value the value to assign - * @param boolean $nocache if true any output of this variable will be not cached - * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * @var Smarty_Internal_Extension_Handler */ - public function assignGlobal($varname, $value = null, $nocache = false) - { - if ($varname != '') { - Smarty::$global_tpl_vars[$varname] = new Smarty_variable($value, $nocache); - $ptr = $this; - while ($ptr instanceof Smarty_Internal_Template) { - $ptr->tpl_vars[$varname] = clone Smarty::$global_tpl_vars[$varname]; - $ptr = $ptr->parent; - } - } - - return $this; - } + public $ext = null; /** - * assigns values to template variables by reference + * Smarty_Internal_Data constructor. * - * @param string $tpl_var the template variable name - * @param $value - * @param boolean $nocache if true any output of this variable will be not cached - * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * Install extension handler */ - public function assignByRef($tpl_var, &$value, $nocache = false) + public function __construct() { - if ($tpl_var != '') { - $this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache); - $this->tpl_vars[$tpl_var]->value = & $value; - } - - return $this; + $this->ext = new Smarty_Internal_Extension_Handler(); + $this->ext->objType = $this->_objType; } /** - * appends values to template variables + * assigns a Smarty variable * * @param array|string $tpl_var the template variable name(s) - * @param mixed $value the value to append - * @param boolean $merge flag if array elements shall be merged + * @param mixed $value the value to assign * @param boolean $nocache if true any output of this variable will be not cached * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for + * chaining */ - public function append($tpl_var, $value = null, $merge = false, $nocache = false) + public function assign($tpl_var, $value = null, $nocache = false) { if (is_array($tpl_var)) { - // $tpl_var is an array, ignore $value foreach ($tpl_var as $_key => $_val) { if ($_key != '') { - if (!isset($this->tpl_vars[$_key])) { - $tpl_var_inst = $this->getVariable($_key, null, true, false); - if ($tpl_var_inst instanceof Undefined_Smarty_Variable) { - $this->tpl_vars[$_key] = new Smarty_variable(null, $nocache); - } else { - $this->tpl_vars[$_key] = clone $tpl_var_inst; - } - } - if (!(is_array($this->tpl_vars[$_key]->value) || $this->tpl_vars[$_key]->value instanceof ArrayAccess)) { - settype($this->tpl_vars[$_key]->value, 'array'); - } - if ($merge && is_array($_val)) { - foreach ($_val as $_mkey => $_mval) { - $this->tpl_vars[$_key]->value[$_mkey] = $_mval; - } - } else { - $this->tpl_vars[$_key]->value[] = $_val; + $this->tpl_vars[$_key] = new Smarty_Variable($_val, $nocache); + if ($this->_objType == 2 && $this->scope) { + $this->ext->_updateScope->updateScope($this, $_key); } } } } else { - if ($tpl_var != '' && isset($value)) { - if (!isset($this->tpl_vars[$tpl_var])) { - $tpl_var_inst = $this->getVariable($tpl_var, null, true, false); - if ($tpl_var_inst instanceof Undefined_Smarty_Variable) { - $this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache); - } else { - $this->tpl_vars[$tpl_var] = clone $tpl_var_inst; - } - } - if (!(is_array($this->tpl_vars[$tpl_var]->value) || $this->tpl_vars[$tpl_var]->value instanceof ArrayAccess)) { - settype($this->tpl_vars[$tpl_var]->value, 'array'); - } - if ($merge && is_array($value)) { - foreach ($value as $_mkey => $_mval) { - $this->tpl_vars[$tpl_var]->value[$_mkey] = $_mval; - } - } else { - $this->tpl_vars[$tpl_var]->value[] = $value; + if ($tpl_var != '') { + $this->tpl_vars[$tpl_var] = new Smarty_Variable($value, $nocache); + if ($this->_objType == 2 && $this->scope) { + $this->ext->_updateScope->updateScope($this, $tpl_var); } } } - return $this; } /** - * appends values to template variables by reference + * appends values to template variables * - * @param string $tpl_var the template variable name - * @param mixed &$value the referenced value to append - * @param boolean $merge flag if array elements shall be merged + * @api Smarty::append() + * @link http://www.smarty.net/docs/en/api.append.tpl * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining - */ - public function appendByRef($tpl_var, &$value, $merge = false) - { - if ($tpl_var != '' && isset($value)) { - if (!isset($this->tpl_vars[$tpl_var])) { - $this->tpl_vars[$tpl_var] = new Smarty_variable(); - } - if (!is_array($this->tpl_vars[$tpl_var]->value)) { - settype($this->tpl_vars[$tpl_var]->value, 'array'); - } - if ($merge && is_array($value)) { - foreach ($value as $_key => $_val) { - $this->tpl_vars[$tpl_var]->value[$_key] = & $value[$_key]; - } - } else { - $this->tpl_vars[$tpl_var]->value[] = & $value; - } - } - - return $this; - } - - /** - * Returns a single or all template variables - * - * @param string $varname variable name or null - * @param object $_ptr optional pointer to data object - * @param boolean $search_parents include parent templates? + * @param array|string $tpl_var the template variable name(s) + * @param mixed $value the value to append + * @param bool $merge flag if array elements shall be merged + * @param bool $nocache if true any output of this variable will + * be not cached * - * @return string variable value or or array of variables + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty */ - public function getTemplateVars($varname = null, $_ptr = null, $search_parents = true) + public function append($tpl_var, $value = null, $merge = false, $nocache = false) { - if (isset($varname)) { - $_var = $this->getVariable($varname, $_ptr, $search_parents, false); - if (is_object($_var)) { - return $_var->value; - } else { - return null; - } - } else { - $_result = array(); - if ($_ptr === null) { - $_ptr = $this; - } - while ($_ptr !== null) { - foreach ($_ptr->tpl_vars AS $key => $var) { - if (!array_key_exists($key, $_result)) { - $_result[$key] = $var->value; - } - } - // not found, try at parent - if ($search_parents) { - $_ptr = $_ptr->parent; - } else { - $_ptr = null; - } - } - if ($search_parents && isset(Smarty::$global_tpl_vars)) { - foreach (Smarty::$global_tpl_vars AS $key => $var) { - if (!array_key_exists($key, $_result)) { - $_result[$key] = $var->value; - } - } - } - - return $_result; - } + return $this->ext->append->append($this, $tpl_var, $value, $merge, $nocache); } /** - * clear the given assigned template variable. - * - * @param string|array $tpl_var the template variable(s) to clear + * assigns a global Smarty variable * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining - */ - public function clearAssign($tpl_var) - { - if (is_array($tpl_var)) { - foreach ($tpl_var as $curr_var) { - unset($this->tpl_vars[$curr_var]); - } - } else { - unset($this->tpl_vars[$tpl_var]); - } - - return $this; - } - - /** - * clear all the assigned template variables. + * @param string $varName the global variable name + * @param mixed $value the value to assign + * @param boolean $nocache if true any output of this variable will be not cached * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty */ - public function clearAllAssign() + public function assignGlobal($varName, $value = null, $nocache = false) { - $this->tpl_vars = array(); - - return $this; + return $this->ext->assignGlobal->assignGlobal($this, $varName, $value, $nocache); } /** - * load a config file, optionally load just selected sections + * appends values to template variables by reference * - * @param string $config_file filename - * @param mixed $sections array of section names, single section or null + * @param string $tpl_var the template variable name + * @param mixed &$value the referenced value to append + * @param boolean $merge flag if array elements shall be merged * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty */ - public function configLoad($config_file, $sections = null) + public function appendByRef($tpl_var, &$value, $merge = false) { - // load Config class - $config = new Smarty_Internal_Config($config_file, $this->smarty, $this); - $config->loadConfigVars($sections); - - return $this; + return $this->ext->appendByRef->appendByRef($this, $tpl_var, $value, $merge); } /** - * gets the object of a Smarty variable + * assigns values to template variables by reference * - * @param string $variable the name of the Smarty variable - * @param object $_ptr optional pointer to data object - * @param boolean $search_parents search also in parent data - * @param bool $error_enable + * @param string $tpl_var the template variable name + * @param $value + * @param boolean $nocache if true any output of this variable will be not cached * - * @return object the object of the variable + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty */ - public function getVariable($variable, $_ptr = null, $search_parents = true, $error_enable = true) + public function assignByRef($tpl_var, &$value, $nocache = false) { - if ($_ptr === null) { - $_ptr = $this; - } - while ($_ptr !== null) { - if (isset($_ptr->tpl_vars[$variable])) { - // found it, return it - return $_ptr->tpl_vars[$variable]; - } - // not found, try at parent - if ($search_parents) { - $_ptr = $_ptr->parent; - } else { - $_ptr = null; - } - } - if (isset(Smarty::$global_tpl_vars[$variable])) { - // found it, return it - return Smarty::$global_tpl_vars[$variable]; - } - if ($this->smarty->error_unassigned && $error_enable) { - // force a notice - $x = $$variable; - } - - return new Undefined_Smarty_Variable; + return $this->ext->assignByRef->assignByRef($this, $tpl_var, $value, $nocache); } /** - * gets a config variable - * - * @param string $variable the name of the config variable - * @param bool $error_enable + * Returns a single or all template variables * - * @return mixed the value of the config variable - */ - public function getConfigVariable($variable, $error_enable = true) - { - $_ptr = $this; - while ($_ptr !== null) { - if (isset($_ptr->config_vars[$variable])) { - // found it, return it - return $_ptr->config_vars[$variable]; - } - // not found, try at parent - $_ptr = $_ptr->parent; - } - if ($this->smarty->error_unassigned && $error_enable) { - // force a notice - $x = $$variable; - } - - return null; - } - - /** - * gets a stream variable + * @api Smarty::getTemplateVars() + * @link http://www.smarty.net/docs/en/api.get.template.vars.tpl * - * @param string $variable the stream of the variable + * @param string $varName variable name or null + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $_ptr optional pointer to data object + * @param bool $searchParents include parent templates? * - * @throws SmartyException - * @return mixed the value of the stream variable + * @return mixed variable value or or array of variables */ - public function getStreamVariable($variable) + public function getTemplateVars($varName = null, Smarty_Internal_Data $_ptr = null, $searchParents = true) { - $_result = ''; - $fp = fopen($variable, 'r+'); - if ($fp) { - while (!feof($fp) && ($current_line = fgets($fp)) !== false) { - $_result .= $current_line; - } - fclose($fp); - - return $_result; - } - - if ($this->smarty->error_unassigned) { - throw new SmartyException('Undefined stream variable "' . $variable . '"'); - } else { - return null; - } + return $this->ext->getTemplateVars->getTemplateVars($this, $varName, $_ptr, $searchParents); } /** - * Returns a single or all config variables + * Follow the parent chain an merge template and config variables * - * @param string $varname variable name or null - * @param bool $search_parents - * - * @return string variable value or or array of variables + * @param \Smarty_Internal_Data|null $data */ - public function getConfigVars($varname = null, $search_parents = true) + public function _mergeVars(Smarty_Internal_Data $data = null) { - $_ptr = $this; - $var_array = array(); - while ($_ptr !== null) { - if (isset($varname)) { - if (isset($_ptr->config_vars[$varname])) { - return $_ptr->config_vars[$varname]; - } - } else { - $var_array = array_merge($_ptr->config_vars, $var_array); + if (isset($data)) { + if (!empty($this->tpl_vars)) { + $data->tpl_vars = array_merge($this->tpl_vars, $data->tpl_vars); } - // not found, try at parent - if ($search_parents) { - $_ptr = $_ptr->parent; - } else { - $_ptr = null; + if (!empty($this->config_vars)) { + $data->config_vars = array_merge($this->config_vars, $data->config_vars); } - } - if (isset($varname)) { - return ''; } else { - return $var_array; + $data = $this; } - } - - /** - * Deassigns a single or all config variables - * - * @param string $varname variable name or null - * - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining - */ - public function clearConfig($varname = null) - { - if (isset($varname)) { - unset($this->config_vars[$varname]); - } else { - $this->config_vars = array(); + if (isset($this->parent)) { + $this->parent->_mergeVars($data); } - - return $this; } -} - -/** - * class for the Smarty data object - * The Smarty data object will hold Smarty variables in the current scope - * - * @package Smarty - * @subpackage Template - */ -class Smarty_Data extends Smarty_Internal_Data -{ - /** - * Smarty object - * - * @var Smarty - */ - public $smarty = null; /** - * create Smarty data object + * Handle unknown class methods * - * @param Smarty|array $_parent parent template - * @param Smarty|Smarty_Internal_Template $smarty global smarty instance + * @param string $name unknown method-name + * @param array $args argument array * + * @return mixed * @throws SmartyException */ - public function __construct($_parent = null, $smarty = null) - { - $this->smarty = $smarty; - if (is_object($_parent)) { - // when object set up back pointer - $this->parent = $_parent; - } elseif (is_array($_parent)) { - // set up variable values - foreach ($_parent as $_key => $_val) { - $this->tpl_vars[$_key] = new Smarty_variable($_val); - } - } elseif ($_parent != null) { - throw new SmartyException("Wrong type for template variables"); - } - } -} - -/** - * class for the Smarty variable object - * This class defines the Smarty variable object - * - * @package Smarty - * @subpackage Template - */ -class Smarty_Variable -{ - /** - * template variable - * - * @var mixed - */ - public $value = null; - /** - * if true any output of this variable will be not cached - * - * @var boolean - */ - public $nocache = false; - /** - * the scope the variable will have (local,parent or root) - * - * @var int - */ - public $scope = Smarty::SCOPE_LOCAL; - - /** - * create Smarty variable object - * - * @param mixed $value the value to assign - * @param boolean $nocache if true any output of this variable will be not cached - * @param int $scope the scope the variable will have (local,parent or root) - */ - public function __construct($value = null, $nocache = false, $scope = Smarty::SCOPE_LOCAL) - { - $this->value = $value; - $this->nocache = $nocache; - $this->scope = $scope; - } - - /** - * <<magic>> String conversion - * - * @return string - */ - public function __toString() - { - return (string) $this->value; - } -} - -/** - * class for undefined variable object - * This class defines an object for undefined variable handling - * - * @package Smarty - * @subpackage Template - */ -class Undefined_Smarty_Variable -{ - /** - * Returns FALSE for 'nocache' and NULL otherwise. - * - * @param string $name - * - * @return bool - */ - public function __get($name) - { - if ($name == 'nocache') { - return false; - } else { - return null; - } - } - - /** - * Always returns an empty string. - * - * @return string - */ - public function __toString() + public function __call($name, $args) { - return ""; + return $this->ext->_callExternalMethod($this, $name, $args); } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_debug.php b/library/Smarty/libs/sysplugins/smarty_internal_debug.php index e5175d51d..e330a35c1 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_debug.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_debug.php @@ -1,7 +1,7 @@ <?php /** * Smarty Internal Plugin Debug - * Class to collect data for the Smarty Debugging Consol + * Class to collect data for the Smarty Debugging Console * * @package Smarty * @subpackage Debug @@ -21,165 +21,245 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data * * @var array */ - public static $template_data = array(); + public $template_data = array(); /** * List of uid's which shall be ignored * * @var array */ - public static $ignore_uid = array(); + public $ignore_uid = array(); /** - * Ignore template + * Index of display() and fetch() calls + * + * @var int + */ + public $index = 0; + + /** + * Counter for window offset + * + * @var int + */ + public $offset = 0; + + /** + * Start logging template * - * @param object $template + * @param \Smarty_Internal_Template $template template + * @param null $mode true: display false: fetch null: subtemplate */ - public static function ignore($template) + public function start_template(Smarty_Internal_Template $template, $mode = null) { - // calculate Uid if not already done - if ($template->source->uid == '') { - $template->source->filepath; + if (isset($mode)) { + $this->index ++; + $this->offset ++; + $this->template_data[$this->index] = null; } - self::$ignore_uid[$template->source->uid] = true; + $key = $this->get_key($template); + $this->template_data[$this->index][$key]['start_template_time'] = microtime(true); + } + + /** + * End logging of cache time + * + * @param \Smarty_Internal_Template $template cached template + */ + public function end_template(Smarty_Internal_Template $template) + { + $key = $this->get_key($template); + $this->template_data[$this->index][$key]['total_time'] += + microtime(true) - $this->template_data[$this->index][$key]['start_template_time']; + //$this->template_data[$this->index][$key]['properties'] = $template->properties; } /** * Start logging of compile time * - * @param object $template + * @param \Smarty_Internal_Template $template */ - public static function start_compile($template) + public function start_compile(Smarty_Internal_Template $template) { static $_is_stringy = array('string' => true, 'eval' => true); if (!empty($template->compiler->trace_uid)) { $key = $template->compiler->trace_uid; - if (!isset(self::$template_data[$key])) { + if (!isset($this->template_data[$this->index][$key])) { if (isset($_is_stringy[$template->source->type])) { - self::$template_data[$key]['name'] = '\'' . substr($template->source->name, 0, 25) . '...\''; + $this->template_data[$this->index][$key]['name'] = + '\'' . substr($template->source->name, 0, 25) . '...\''; } else { - self::$template_data[$key]['name'] = $template->source->filepath; + $this->template_data[$this->index][$key]['name'] = $template->source->filepath; } - self::$template_data[$key]['compile_time'] = 0; - self::$template_data[$key]['render_time'] = 0; - self::$template_data[$key]['cache_time'] = 0; + $this->template_data[$this->index][$key]['compile_time'] = 0; + $this->template_data[$this->index][$key]['render_time'] = 0; + $this->template_data[$this->index][$key]['cache_time'] = 0; } } else { - if (isset(self::$ignore_uid[$template->source->uid])) { + if (isset($this->ignore_uid[$template->source->uid])) { return; } - $key = self::get_key($template); + $key = $this->get_key($template); } - self::$template_data[$key]['start_time'] = microtime(true); + $this->template_data[$this->index][$key]['start_time'] = microtime(true); } /** * End logging of compile time * - * @param object $template + * @param \Smarty_Internal_Template $template */ - public static function end_compile($template) + public function end_compile(Smarty_Internal_Template $template) { if (!empty($template->compiler->trace_uid)) { $key = $template->compiler->trace_uid; } else { - if (isset(self::$ignore_uid[$template->source->uid])) { + if (isset($this->ignore_uid[$template->source->uid])) { return; } - $key = self::get_key($template); + $key = $this->get_key($template); } - self::$template_data[$key]['compile_time'] += microtime(true) - self::$template_data[$key]['start_time']; + $this->template_data[$this->index][$key]['compile_time'] += + microtime(true) - $this->template_data[$this->index][$key]['start_time']; } /** * Start logging of render time * - * @param object $template + * @param \Smarty_Internal_Template $template */ - public static function start_render($template) + public function start_render(Smarty_Internal_Template $template) { - $key = self::get_key($template); - self::$template_data[$key]['start_time'] = microtime(true); + $key = $this->get_key($template); + $this->template_data[$this->index][$key]['start_time'] = microtime(true); } /** * End logging of compile time * - * @param object $template + * @param \Smarty_Internal_Template $template */ - public static function end_render($template) + public function end_render(Smarty_Internal_Template $template) { - $key = self::get_key($template); - self::$template_data[$key]['render_time'] += microtime(true) - self::$template_data[$key]['start_time']; + $key = $this->get_key($template); + $this->template_data[$this->index][$key]['render_time'] += + microtime(true) - $this->template_data[$this->index][$key]['start_time']; } /** * Start logging of cache time * - * @param object $template cached template + * @param \Smarty_Internal_Template $template cached template */ - public static function start_cache($template) + public function start_cache(Smarty_Internal_Template $template) { - $key = self::get_key($template); - self::$template_data[$key]['start_time'] = microtime(true); + $key = $this->get_key($template); + $this->template_data[$this->index][$key]['start_time'] = microtime(true); } /** * End logging of cache time * - * @param object $template cached template + * @param \Smarty_Internal_Template $template cached template + */ + public function end_cache(Smarty_Internal_Template $template) + { + $key = $this->get_key($template); + $this->template_data[$this->index][$key]['cache_time'] += + microtime(true) - $this->template_data[$this->index][$key]['start_time']; + } + + /** + * Register template object + * + * @param \Smarty_Internal_Template $template cached template + */ + public function register_template(Smarty_Internal_Template $template) + { + } + + /** + * Register data object + * + * @param \Smarty_Data $data data object */ - public static function end_cache($template) + public static function register_data(Smarty_Data $data) { - $key = self::get_key($template); - self::$template_data[$key]['cache_time'] += microtime(true) - self::$template_data[$key]['start_time']; } /** - * Opens a window for the Smarty Debugging Consol and display the data + * Opens a window for the Smarty Debugging Console and display the data * * @param Smarty_Internal_Template|Smarty $obj object to debug + * @param bool $full */ - public static function display_debug($obj) + public function display_debug($obj, $full = false) { - // prepare information of assigned variables - $ptr = self::get_debug_vars($obj); - if ($obj instanceof Smarty) { - $smarty = clone $obj; + if (!$full) { + $this->offset ++; + $savedIndex = $this->index; + $this->index = 9999; + } + if ($obj->_objType == 1) { + $smarty = $obj; } else { - $smarty = clone $obj->smarty; + $smarty = $obj->smarty; } + // create fresh instance of smarty for displaying the debug console + // to avoid problems if the application did overload the Smarty class + $debObj = new Smarty(); + // copy the working dirs from application + $debObj->setCompileDir($smarty->getCompileDir()); + // init properties by hand as user may have edited the original Smarty class + $debObj->setPluginsDir(is_dir(__DIR__ . '/../plugins') ? __DIR__ . '/../plugins' : $smarty->getPluginsDir()); + $debObj->force_compile = false; + $debObj->compile_check = true; + $debObj->left_delimiter = '{'; + $debObj->right_delimiter = '}'; + $debObj->security_policy = null; + $debObj->debugging = false; + $debObj->debugging_ctrl = 'NONE'; + $debObj->error_reporting = E_ALL & ~E_NOTICE; + $debObj->debug_tpl = isset($smarty->debug_tpl) ? $smarty->debug_tpl : 'file:' . __DIR__ . '/../debug.tpl'; + $debObj->registered_plugins = array(); + $debObj->registered_resources = array(); + $debObj->registered_filters = array(); + $debObj->autoload_filters = array(); + $debObj->default_modifiers = array(); + $debObj->escape_html = true; + $debObj->caching = false; + $debObj->compile_id = null; + $debObj->cache_id = null; + // prepare information of assigned variables + $ptr = $this->get_debug_vars($obj); $_assigned_vars = $ptr->tpl_vars; ksort($_assigned_vars); $_config_vars = $ptr->config_vars; ksort($_config_vars); - $smarty->registered_filters = array(); - $smarty->autoload_filters = array(); - $smarty->default_modifiers = array(); - $smarty->force_compile = false; - $smarty->left_delimiter = '{'; - $smarty->right_delimiter = '}'; - $smarty->debugging = false; - $smarty->debugging_ctrl = 'NONE'; - $smarty->force_compile = false; - $_template = new Smarty_Internal_Template($smarty->debug_tpl, $smarty); - $_template->caching = false; - $_template->disableSecurity(); - $_template->cache_id = null; - $_template->compile_id = null; - if ($obj instanceof Smarty_Internal_Template) { + $debugging = $smarty->debugging; + + $_template = new Smarty_Internal_Template($debObj->debug_tpl, $debObj); + if ($obj->_objType == 2) { $_template->assign('template_name', $obj->source->type . ':' . $obj->source->name); } - if ($obj instanceof Smarty) { - $_template->assign('template_data', self::$template_data); + if ($obj->_objType == 1 || $full) { + $_template->assign('template_data', $this->template_data[$this->index]); } else { $_template->assign('template_data', null); } $_template->assign('assigned_vars', $_assigned_vars); $_template->assign('config_vars', $_config_vars); $_template->assign('execution_time', microtime(true) - $smarty->start_time); + $_template->assign('display_mode', $debugging == 2 || !$full); + $_template->assign('offset', $this->offset * 50); echo $_template->fetch(); + if (isset($full)) { + $this->index --; + } + if (!$full) { + $this->index = $savedIndex; + } } /** @@ -189,31 +269,79 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data * * @return StdClass */ - public static function get_debug_vars($obj) + public function get_debug_vars($obj) { - $config_vars = $obj->config_vars; + $config_vars = array(); + foreach ($obj->config_vars as $key => $var) { + $config_vars[$key]['value'] = $var; + if ($obj->_objType == 2) { + $config_vars[$key]['scope'] = $obj->source->type . ':' . $obj->source->name; + } elseif ($obj->_objType == 4) { + $tpl_vars[$key]['scope'] = $obj->dataObjectName; + } else { + $config_vars[$key]['scope'] = 'Smarty object'; + } + } $tpl_vars = array(); foreach ($obj->tpl_vars as $key => $var) { - $tpl_vars[$key] = clone $var; - if ($obj instanceof Smarty_Internal_Template) { - $tpl_vars[$key]->scope = $obj->source->type . ':' . $obj->source->name; - } elseif ($obj instanceof Smarty_Data) { - $tpl_vars[$key]->scope = 'Data object'; + foreach ($var as $varkey => $varvalue) { + if ($varkey == 'value') { + $tpl_vars[$key][$varkey] = $varvalue; + } else { + if ($varkey == 'nocache') { + if ($varvalue == true) { + $tpl_vars[$key][$varkey] = $varvalue; + } + } else { + if ($varkey != 'scope' || $varvalue !== 0) { + $tpl_vars[$key]['attributes'][$varkey] = $varvalue; + } + } + } + } + if ($obj->_objType == 2) { + $tpl_vars[$key]['scope'] = $obj->source->type . ':' . $obj->source->name; + } elseif ($obj->_objType == 4) { + $tpl_vars[$key]['scope'] = $obj->dataObjectName; } else { - $tpl_vars[$key]->scope = 'Smarty root'; + $tpl_vars[$key]['scope'] = 'Smarty object'; } } if (isset($obj->parent)) { - $parent = self::get_debug_vars($obj->parent); + $parent = $this->get_debug_vars($obj->parent); + foreach ($parent->tpl_vars as $name => $pvar) { + if (isset($tpl_vars[$name]) && $tpl_vars[$name]['value'] === $pvar['value']) { + $tpl_vars[$name]['scope'] = $pvar['scope']; + } + } $tpl_vars = array_merge($parent->tpl_vars, $tpl_vars); + + foreach ($parent->config_vars as $name => $pvar) { + if (isset($config_vars[$name]) && $config_vars[$name]['value'] === $pvar['value']) { + $config_vars[$name]['scope'] = $pvar['scope']; + } + } $config_vars = array_merge($parent->config_vars, $config_vars); } else { - foreach (Smarty::$global_tpl_vars as $name => $var) { - if (!array_key_exists($name, $tpl_vars)) { - $clone = clone $var; - $clone->scope = 'Global'; - $tpl_vars[$name] = $clone; + foreach (Smarty::$global_tpl_vars as $key => $var) { + if (!array_key_exists($key, $tpl_vars)) { + foreach ($var as $varkey => $varvalue) { + if ($varkey == 'value') { + $tpl_vars[$key][$varkey] = $varvalue; + } else { + if ($varkey == 'nocache') { + if ($varvalue == true) { + $tpl_vars[$key][$varkey] = $varvalue; + } + } else { + if ($varkey != 'scope' || $varvalue !== 0) { + $tpl_vars[$key]['attributes'][$varkey] = $varvalue; + } + } + } + } + $tpl_vars[$key]['scope'] = 'Global'; } } } @@ -224,11 +352,11 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data /** * Return key into $template_data for template * - * @param object $template template object + * @param \Smarty_Internal_Template $template template object * * @return string key into $template_data */ - private static function get_key($template) + private function get_key(Smarty_Internal_Template $template) { static $_is_stringy = array('string' => true, 'eval' => true); // calculate Uid if not already done @@ -236,19 +364,67 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data $template->source->filepath; } $key = $template->source->uid; - if (isset(self::$template_data[$key])) { + if (isset($this->template_data[$this->index][$key])) { return $key; } else { if (isset($_is_stringy[$template->source->type])) { - self::$template_data[$key]['name'] = '\'' . substr($template->source->name, 0, 25) . '...\''; + $this->template_data[$this->index][$key]['name'] = + '\'' . substr($template->source->name, 0, 25) . '...\''; } else { - self::$template_data[$key]['name'] = $template->source->filepath; + $this->template_data[$this->index][$key]['name'] = $template->source->filepath; } - self::$template_data[$key]['compile_time'] = 0; - self::$template_data[$key]['render_time'] = 0; - self::$template_data[$key]['cache_time'] = 0; + $this->template_data[$this->index][$key]['compile_time'] = 0; + $this->template_data[$this->index][$key]['render_time'] = 0; + $this->template_data[$this->index][$key]['cache_time'] = 0; + $this->template_data[$this->index][$key]['total_time'] = 0; return $key; } } + + /** + * Ignore template + * + * @param \Smarty_Internal_Template $template + */ + public function ignore(Smarty_Internal_Template $template) + { + // calculate Uid if not already done + if ($template->source->uid == '') { + $template->source->filepath; + } + $this->ignore_uid[$template->source->uid] = true; + } + + /** + * handle 'URL' debugging mode + * + * @param Smarty_Internal_Template $_template + */ + public function debugUrl(Smarty_Internal_Template $_template) + { + if (isset($_SERVER['QUERY_STRING'])) { + $_query_string = $_SERVER['QUERY_STRING']; + } else { + $_query_string = ''; + } + if (false !== strpos($_query_string, $_template->smarty->smarty_debug_id)) { + if (false !== strpos($_query_string, $_template->smarty->smarty_debug_id . '=on')) { + // enable debugging for this browser session + setcookie('SMARTY_DEBUG', true); + $_template->smarty->debugging = true; + } elseif (false !== strpos($_query_string, $_template->smarty->smarty_debug_id . '=off')) { + // disable debugging for this browser session + setcookie('SMARTY_DEBUG', false); + $_template->smarty->debugging = false; + } else { + // enable debugging for this page + $_template->smarty->debugging = true; + } + } else { + if (isset($_COOKIE['SMARTY_DEBUG'])) { + $_template->smarty->debugging = true; + } + } + } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_extension_clear.php b/library/Smarty/libs/sysplugins/smarty_internal_extension_clear.php new file mode 100644 index 000000000..c595214d8 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_extension_clear.php @@ -0,0 +1,134 @@ +<?php + +/** + * Smarty Extension Clear + * + * $smarty->clear() method file cache file resource + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Extension_Clear +{ + /** + * Empty cache for a specific template + * + * @param Smarty $smarty + * @param string $resource_name template name + * @param string $cache_id cache id + * @param string $compile_id compile id + * @param integer $exp_time expiration time (number of seconds, not timestamp) + * + * @return integer number of cache files deleted + */ + public static function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time) + { + $_cache_id = isset($cache_id) ? preg_replace('![^\w\|]+!', '_', $cache_id) : null; + $_compile_id = isset($compile_id) ? preg_replace('![^\w]+!', '_', $compile_id) : null; + $_dir_sep = $smarty->use_sub_dirs ? '/' : '^'; + $_compile_id_offset = $smarty->use_sub_dirs ? 3 : 0; + $_dir = $smarty->getCacheDir(); + if ($_dir == '/') { //We should never want to delete this! + return 0; + } + $_dir_length = strlen($_dir); + if (isset($_cache_id)) { + $_cache_id_parts = explode('|', $_cache_id); + $_cache_id_parts_count = count($_cache_id_parts); + if ($smarty->use_sub_dirs) { + foreach ($_cache_id_parts as $id_part) { + $_dir .= $id_part . DS; + } + } + } + if (isset($resource_name)) { + $_save_stat = $smarty->caching; + $smarty->caching = true; + $tpl = new $smarty->template_class($resource_name, $smarty); + $smarty->caching = $_save_stat; + + // remove from template cache + $tpl->source; // have the template registered before unset() + + if ($tpl->source->exists) { + $_resourcename_parts = basename(str_replace('^', '/', $tpl->cached->filepath)); + } else { + return 0; + } + } + $_count = 0; + $_time = time(); + if (file_exists($_dir)) { + $_cacheDirs = new RecursiveDirectoryIterator($_dir); + $_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST); + foreach ($_cache as $_file) { + if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { + continue; + } + // directory ? + if ($_file->isDir()) { + if (!$_cache->isDot()) { + // delete folder if empty + @rmdir($_file->getPathname()); + } + } else { + $_parts = explode($_dir_sep, str_replace('\\', '/', substr((string) $_file, $_dir_length))); + $_parts_count = count($_parts); + // check name + if (isset($resource_name)) { + if ($_parts[$_parts_count - 1] != $_resourcename_parts) { + continue; + } + } + // check compile id + if (isset($_compile_id) && (!isset($_parts[$_parts_count - 2 - $_compile_id_offset]) || + $_parts[$_parts_count - 2 - $_compile_id_offset] != $_compile_id) + ) { + continue; + } + // check cache id + if (isset($_cache_id)) { + // count of cache id parts + $_parts_count = (isset($_compile_id)) ? $_parts_count - 2 - $_compile_id_offset : + $_parts_count - 1 - $_compile_id_offset; + if ($_parts_count < $_cache_id_parts_count) { + continue; + } + for ($i = 0; $i < $_cache_id_parts_count; $i ++) { + if ($_parts[$i] != $_cache_id_parts[$i]) { + continue 2; + } + } + } + // expired ? + if (isset($exp_time)) { + if ($exp_time < 0) { + preg_match('#\'cache_lifetime\' =>\s*(\d*)#', file_get_contents($_file), $match); + if ($_time < (@filemtime($_file) + $match[1])) { + continue; + } + } else { + if ($_time - @filemtime($_file) < $exp_time) { + continue; + } + } + } + // remove from template cache + if (isset($smarty->_cache['template_objects'])) { + foreach ($smarty->_cache['template_objects'] as $key => $tpl) { + if (isset($tpl->cached) && $tpl->cached->filepath == (string) $_file) { + unset($smarty->_cache['template_objects'][$key]); + } + } + } + $_count += @unlink((string) $_file) ? 1 : 0; + if (function_exists('opcache_invalidate')) { + opcache_invalidate((string) $_file); + } + } + } + } + return $_count; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_extension_handler.php b/library/Smarty/libs/sysplugins/smarty_internal_extension_handler.php new file mode 100644 index 000000000..68012d86f --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_extension_handler.php @@ -0,0 +1,157 @@ +<?php + +/** + * Smarty Extension handler + * + * Load extensions dynamically + * + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + * @property Smarty_Internal_Runtime_Inheritance $_inheritance + * @property Smarty_Internal_Runtime_SubTemplate $_subTemplate + * @property Smarty_Internal_Runtime_TplFunction $_tplFunction + * @property Smarty_Internal_Runtime_Var $_var + * @property Smarty_Internal_Runtime_Config $_config + * @property Smarty_Internal_Runtime_Foreach $_foreach + * @property Smarty_Internal_Runtime_Hhvm $_hhvm + * @property Smarty_Internal_Runtime_WriteFile $_writeFile + * @property Smarty_Internal_Runtime_ValidateCompiled $_validateCompiled + * @property Smarty_Internal_Runtime_CodeFrame $_codeFrame + * @property Smarty_Internal_Runtime_FilterHandler $_filterHandler + * @property Smarty_Internal_Runtime_GetIncludePath $_getIncludePath + * @property Smarty_Internal_Runtime_UpdateScope $_updateScope + * @property Smarty_Internal_Runtime_IsCached $_isCached + * @property Smarty_Internal_Runtime_CacheModify $_cacheModify + * @property Smarty_Internal_Runtime_UpdateCache $_updateCache + * @property Smarty_Internal_Method_GetTemplateVars $getTemplateVars + * @property Smarty_Internal_Method_Append $append + * @property Smarty_Internal_Method_AppendByRef $appendByRef + * @property Smarty_Internal_Method_AssignGlobal $assignGlobal + * @property Smarty_Internal_Method_AssignByRef $assignByRef + * @property Smarty_Internal_Method_LoadFilter $loadFilter + * @property Smarty_Internal_Method_LoadPlugin $loadPlugin + * @property Smarty_Internal_Method_RegisterFilter $registerFilter + * @property Smarty_Internal_Method_RegisterObject $registerObject + * @property Smarty_Internal_Method_RegisterPlugin $registerPlugin + */ +class Smarty_Internal_Extension_Handler +{ + + public $objType = null; + + /** + * Cache for property information from generic getter/setter + * Preloaded with names which should not use with generic getter/setter + * + * @var array + */ + private $_property_info = array('AutoloadFilters' => 0, 'DefaultModifiers' => 0, 'ConfigVars' => 0, + 'DebugTemplate' => 0, 'RegisteredObject' => 0, 'StreamVariable' => 0, + 'TemplateVars' => 0,);# + + private $resolvedProperties = array(); + + /** + * Call external Method + * + * @param \Smarty_Internal_Data $data + * @param string $name external method names + * @param array $args argument array + * + * @return mixed + * @throws SmartyException + */ + public function _callExternalMethod(Smarty_Internal_Data $data, $name, $args) + { + /* @var Smarty $data ->smarty */ + $smarty = isset($data->smarty) ? $data->smarty : $data; + if (!isset($smarty->ext->$name)) { + $class = 'Smarty_Internal_Method_' . ucfirst($name); + if (preg_match('/^(set|get)([A-Z].*)$/', $name, $match)) { + if (!isset($this->_property_info[$prop = $match[2]])) { + // convert camel case to underscored name + $this->resolvedProperties[$prop] = $pn = strtolower(join('_', + preg_split('/([A-Z][^A-Z]*)/', $prop, - 1, + PREG_SPLIT_NO_EMPTY | + PREG_SPLIT_DELIM_CAPTURE))); + $this->_property_info[$prop] = property_exists($data, $pn) ? 1 : + ($data->_objType == 2 && property_exists($smarty, $pn) ? 2 : 0); + } + if ($this->_property_info[$prop]) { + $pn = $this->resolvedProperties[$prop]; + if ($match[1] == 'get') { + return $this->_property_info[$prop] == 1 ? $data->$pn : $data->smarty->$pn; + } else { + return $this->_property_info[$prop] == 1 ? $data->$pn = $args[0] : + $data->smarty->$pn = $args[0]; + } + } elseif (!class_exists($class)) { + throw new SmartyException("property '$pn' does not exist."); + } + } + if (class_exists($class)) { + $callback = array($smarty->ext->$name = new $class(), $name); + } + } else { + $callback = array($smarty->ext->$name, $name); + } + array_unshift($args, $data); + if (isset($callback) && $callback[0]->objMap | $data->_objType) { + return call_user_func_array($callback, $args); + } + return call_user_func_array(array(new Smarty_Internal_Undefined(), $name), $args); + } + + /** + * set extension property + * + * @param string $property_name property name + * @param mixed $value value + * + * @throws SmartyException + */ + public function __set($property_name, $value) + { + $this->$property_name = $value; + } + + /** + * get extension object + * + * @param string $property_name property name + * + * @return mixed|Smarty_Template_Cached + * @throws SmartyException + */ + public function __get($property_name) + { + // object properties of runtime template extensions will start with '_' + if ($property_name[0] == '_') { + $class = 'Smarty_Internal_Runtime_' . ucfirst(substr($property_name, 1)); + } else { + $class = 'Smarty_Internal_Method_' . ucfirst($property_name); + } + if (class_exists($class)) { + return $this->$property_name = new $class(); + } + return $this; + } + + /** + * Call error handler for undefined method + * + * @param string $name unknown method-name + * @param array $args argument array + * + * @return mixed + * @throws SmartyException + */ + public function __call($name, $args) + { + return call_user_func_array(array(new Smarty_Internal_Undefined(), $name), $args); + } + +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php b/library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php deleted file mode 100644 index a81ff728b..000000000 --- a/library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** - * Smarty Internal Plugin Function Call Handler - * - * @package Smarty - * @subpackage PluginsInternal - * @author Uwe Tews - */ - -/** - * This class does call function defined with the {function} tag - * - * @package Smarty - * @subpackage PluginsInternal - */ -class Smarty_Internal_Function_Call_Handler -{ - /** - * This function handles calls to template functions defined by {function} - * It does create a PHP function at the first call - * - * @param string $_name template function name - * @param Smarty_Internal_Template $_template template object - * @param array $_params Smarty variables passed as call parameter - * @param string $_hash nocache hash value - * @param bool $_nocache nocache flag - */ - public static function call($_name, Smarty_Internal_Template $_template, $_params, $_hash, $_nocache) - { - if ($_nocache) { - $_function = "smarty_template_function_{$_name}_nocache"; - } else { - $_function = "smarty_template_function_{$_hash}_{$_name}"; - } - if (!is_callable($_function)) { - $_code = "function {$_function}(\$_smarty_tpl,\$params) { - \$saved_tpl_vars = \$_smarty_tpl->tpl_vars; - foreach (\$_smarty_tpl->smarty->template_functions['{$_name}']['parameter'] as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}; - foreach (\$params as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}?>"; - if ($_nocache) { - $_code .= preg_replace(array("!<\?php echo \\'/\*%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/|/\*/%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/\\';\?>!", - "!\\\'!"), array('', "'"), $_template->smarty->template_functions[$_name]['compiled']); - $_template->smarty->template_functions[$_name]['called_nocache'] = true; - } else { - $_code .= preg_replace("/{$_template->smarty->template_functions[$_name]['nocache_hash']}/", $_template->properties['nocache_hash'], $_template->smarty->template_functions[$_name]['compiled']); - } - $_code .= "<?php \$_smarty_tpl->tpl_vars = \$saved_tpl_vars;}"; - eval($_code); - } - $_function($_template, $_params); - } -} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php b/library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php deleted file mode 100644 index d46ca7029..000000000 --- a/library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Smarty read include path plugin - * - * @package Smarty - * @subpackage PluginsInternal - * @author Monte Ohrt - */ - -/** - * Smarty Internal Read Include Path Class - * - * @package Smarty - * @subpackage PluginsInternal - */ -class Smarty_Internal_Get_Include_Path -{ - /** - * Return full file path from PHP include_path - * - * @param string $filepath filepath - * - * @return string|boolean full filepath or false - */ - public static function getIncludePath($filepath) - { - static $_include_path = null; - - if (function_exists('stream_resolve_include_path')) { - // available since PHP 5.3.2 - return stream_resolve_include_path($filepath); - } - - if ($_include_path === null) { - $_include_path = explode(PATH_SEPARATOR, get_include_path()); - } - - foreach ($_include_path as $_path) { - if (file_exists($_path . DS . $filepath)) { - return $_path . DS . $filepath; - } - } - - return false; - } -} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_addautoloadfilters.php b/library/Smarty/libs/sysplugins/smarty_internal_method_addautoloadfilters.php new file mode 100644 index 000000000..b739f0e3e --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_addautoloadfilters.php @@ -0,0 +1,51 @@ +<?php + +/** + * Smarty Method AddAutoloadFilters + * + * Smarty::addAutoloadFilters() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_AddAutoloadFilters extends Smarty_Internal_Method_SetAutoloadFilters +{ + + /** + * Add autoload filters + * + * @api Smarty::setAutoloadFilters() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param array $filters filters to load automatically + * @param string $type "pre", "output", … specify the + * filter type to set. Defaults to + * none treating $filters' keys as + * the appropriate types + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function addAutoloadFilters(Smarty_Internal_TemplateBase $obj, $filters, $type = null) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if ($type !== null) { + $this->_checkFilterType($type); + if (!empty($smarty->autoload_filters[$type])) { + $smarty->autoload_filters[$type] = array_merge($smarty->autoload_filters[$type], (array) $filters); + } else { + $smarty->autoload_filters[$type] = (array) $filters; + } + } else { + foreach ((array) $filters as $type => $value) { + $this->_checkFilterType($type); + if (!empty($smarty->autoload_filters[$type])) { + $smarty->autoload_filters[$type] = array_merge($smarty->autoload_filters[$type], (array) $value); + } else { + $smarty->autoload_filters[$type] = (array) $value; + } + } + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php b/library/Smarty/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php new file mode 100644 index 000000000..55d2c9e71 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php @@ -0,0 +1,42 @@ +<?php + +/** + * Smarty Method AddDefaultModifiers + * + * Smarty::addDefaultModifiers() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_AddDefaultModifiers +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Add default modifiers + * + * @api Smarty::addDefaultModifiers() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param array|string $modifiers modifier or list of modifiers + * to add + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function addDefaultModifiers(Smarty_Internal_TemplateBase $obj, $modifiers) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (is_array($modifiers)) { + $this->default_modifiers = array_merge($smarty->default_modifiers, $modifiers); + } else { + $smarty->default_modifiers[] = $modifiers; + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_append.php b/library/Smarty/libs/sysplugins/smarty_internal_method_append.php new file mode 100644 index 000000000..43df8803f --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_append.php @@ -0,0 +1,74 @@ +<?php + +/** + * Smarty Method Append + * + * Smarty::append() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_Append +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * appends values to template variables + * + * @api Smarty::append() + * @link http://www.smarty.net/docs/en/api.append.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param array|string $tpl_var the template variable name(s) + * @param mixed $value the value to append + * @param bool $merge flag if array elements shall be merged + * @param bool $nocache if true any output of this variable will + * be not cached + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public function append(Smarty_Internal_Data $data, $tpl_var, $value = null, $merge = false, $nocache = false) + { + if (is_array($tpl_var)) { + // $tpl_var is an array, ignore $value + foreach ($tpl_var as $_key => $_val) { + if ($_key != '') { + $this->append($data, $_key, $_val, $merge, $nocache); + } + } + } else { + if ($tpl_var != '' && isset($value)) { + if (!isset($data->tpl_vars[$tpl_var])) { + $tpl_var_inst = $data->ext->getTemplateVars->_getVariable($data, $tpl_var, null, true, false); + if ($tpl_var_inst instanceof Smarty_Undefined_Variable) { + $data->tpl_vars[$tpl_var] = new Smarty_Variable(null, $nocache); + } else { + $data->tpl_vars[$tpl_var] = clone $tpl_var_inst; + } + } + if (!(is_array($data->tpl_vars[$tpl_var]->value) || + $data->tpl_vars[$tpl_var]->value instanceof ArrayAccess) + ) { + settype($data->tpl_vars[$tpl_var]->value, 'array'); + } + if ($merge && is_array($value)) { + foreach ($value as $_mkey => $_mval) { + $data->tpl_vars[$tpl_var]->value[$_mkey] = $_mval; + } + } else { + $data->tpl_vars[$tpl_var]->value[] = $value; + } + } + if ($data->_objType == 2 && $data->scope) { + $data->ext->_updateScope->updateScope($data, $tpl_var); + } + } + return $data; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_appendbyref.php b/library/Smarty/libs/sysplugins/smarty_internal_method_appendbyref.php new file mode 100644 index 000000000..124bb803a --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_appendbyref.php @@ -0,0 +1,50 @@ +<?php + +/** + * Smarty Method AppendByRef + * + * Smarty::appendByRef() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_AppendByRef +{ + + /** + * appends values to template variables by reference + * + * @api Smarty::appendByRef() + * @link http://www.smarty.net/docs/en/api.append.by.ref.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $tpl_var the template variable name + * @param mixed &$value the referenced value to append + * @param bool $merge flag if array elements shall be merged + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public static function appendByRef(Smarty_Internal_Data $data, $tpl_var, &$value, $merge = false) + { + if ($tpl_var != '' && isset($value)) { + if (!isset($data->tpl_vars[$tpl_var])) { + $data->tpl_vars[$tpl_var] = new Smarty_Variable(); + } + if (!is_array($data->tpl_vars[$tpl_var]->value)) { + settype($data->tpl_vars[$tpl_var]->value, 'array'); + } + if ($merge && is_array($value)) { + foreach ($value as $_key => $_val) { + $data->tpl_vars[$tpl_var]->value[$_key] = &$value[$_key]; + } + } else { + $data->tpl_vars[$tpl_var]->value[] = &$value; + } + if ($data->_objType == 2 && $data->scope) { + $data->ext->_updateScope->updateScope($data, $tpl_var); + } + } + return $data; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_assignbyref.php b/library/Smarty/libs/sysplugins/smarty_internal_method_assignbyref.php new file mode 100644 index 000000000..a97125e30 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_assignbyref.php @@ -0,0 +1,36 @@ +<?php + +/** + * Smarty Method AssignByRef + * + * Smarty::assignByRef() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_AssignByRef +{ + + /** + * assigns values to template variables by reference + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $tpl_var the template variable name + * @param $value + * @param boolean $nocache if true any output of this variable will be not cached + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public function assignByRef(Smarty_Internal_Data $data, $tpl_var, &$value, $nocache) + { + if ($tpl_var != '') { + $data->tpl_vars[$tpl_var] = new Smarty_Variable(null, $nocache); + $data->tpl_vars[$tpl_var]->value = &$value; + if ($data->_objType == 2 && $data->scope) { + $data->ext->_updateScope->updateScope($data, $tpl_var); + } + } + return $data; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_assignglobal.php b/library/Smarty/libs/sysplugins/smarty_internal_method_assignglobal.php new file mode 100644 index 000000000..23b13b3a2 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_assignglobal.php @@ -0,0 +1,43 @@ +<?php + +/** + * Smarty Method AssignGlobal + * + * Smarty::assignGlobal() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_AssignGlobal +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * assigns a global Smarty variable + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $varName the global variable name + * @param mixed $value the value to assign + * @param boolean $nocache if true any output of this variable will be not cached + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public function assignGlobal(Smarty_Internal_Data $data, $varName, $value = null, $nocache = false) + { + if ($varName != '') { + Smarty::$global_tpl_vars[$varName] = new Smarty_Variable($value, $nocache); + $ptr = $data; + while ($ptr->_objType == 2) { + $ptr->tpl_vars[$varName] = clone Smarty::$global_tpl_vars[$varName]; + $ptr = $ptr->parent; + } + } + return $data; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_clearallassign.php b/library/Smarty/libs/sysplugins/smarty_internal_method_clearallassign.php new file mode 100644 index 000000000..1e5fec4bd --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_clearallassign.php @@ -0,0 +1,37 @@ +<?php + +/** + * Smarty Method ClearAllAssign + * + * Smarty::clearAllAssign() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_ClearAllAssign +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * clear all the assigned template variables. + * + * @api Smarty::clearAllAssign() + * @link http://www.smarty.net/docs/en/api.clear.all.assign.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public function clearAllAssign(Smarty_Internal_Data $data) + { + $data->tpl_vars = array(); + + return $data; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_clearallcache.php b/library/Smarty/libs/sysplugins/smarty_internal_method_clearallcache.php new file mode 100644 index 000000000..1fe37892e --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_clearallcache.php @@ -0,0 +1,43 @@ +<?php + +/** + * Smarty Method ClearAllCache + * + * Smarty::clearAllCache() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_ClearAllCache +{ + /** + * Valid for Smarty object + * + * @var int + */ + public $objMap = 1; + + /** + * Empty cache folder + * + * @api Smarty::clearAllCache() + * @link http://www.smarty.net/docs/en/api.clear.all.cache.tpl + * + * @param \Smarty $smarty + * @param integer $exp_time expiration time + * @param string $type resource type + * + * @return integer number of cache files deleted + */ + public function clearAllCache(Smarty $smarty, $exp_time = null, $type = null) + { + // load cache resource and call clearAll + $_cache_resource = Smarty_CacheResource::load($smarty, $type); + if ($smarty->caching_type != 'file') { + $_cache_resource->invalidLoadedCache($smarty); + } + + return $_cache_resource->clearAll($smarty, $exp_time); + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_clearassign.php b/library/Smarty/libs/sysplugins/smarty_internal_method_clearassign.php new file mode 100644 index 000000000..3a7bd1e47 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_clearassign.php @@ -0,0 +1,44 @@ +<?php + +/** + * Smarty Method ClearAssign + * + * Smarty::clearAssign() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_ClearAssign +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * clear the given assigned template variable(s). + * + * @api Smarty::clearAssign() + * @link http://www.smarty.net/docs/en/api.clear.assign.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string|array $tpl_var the template variable(s) to clear + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public function clearAssign(Smarty_Internal_Data $data, $tpl_var) + { + if (is_array($tpl_var)) { + foreach ($tpl_var as $curr_var) { + unset($data->tpl_vars[$curr_var]); + } + } else { + unset($data->tpl_vars[$tpl_var]); + } + + return $data; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_clearcache.php b/library/Smarty/libs/sysplugins/smarty_internal_method_clearcache.php new file mode 100644 index 000000000..a923b3ae1 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_clearcache.php @@ -0,0 +1,46 @@ +<?php + +/** + * Smarty Method ClearCache + * + * Smarty::clearCache() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_ClearCache +{ + /** + * Valid for Smarty object + * + * @var int + */ + public $objMap = 1; + + /** + * Empty cache for a specific template + * + * @api Smarty::clearCache() + * @link http://www.smarty.net/docs/en/api.clear.cache.tpl + * + * @param \Smarty $smarty + * @param string $template_name template name + * @param string $cache_id cache id + * @param string $compile_id compile id + * @param integer $exp_time expiration time + * @param string $type resource type + * + * @return integer number of cache files deleted + */ + public function clearCache(Smarty $smarty, $template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) + { + // load cache resource and call clear + $_cache_resource = Smarty_CacheResource::load($smarty, $type); + if ($smarty->caching_type != 'file' && !isset($template_name)) { + $_cache_resource->invalidLoadedCache($smarty); + } + + return $_cache_resource->clear($smarty, $template_name, $cache_id, $compile_id, $exp_time); + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php b/library/Smarty/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php new file mode 100644 index 000000000..ae1003238 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php @@ -0,0 +1,132 @@ +<?php + +/** + * Smarty Method ClearCompiledTemplate + * + * Smarty::clearCompiledTemplate() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_ClearCompiledTemplate +{ + /** + * Valid for Smarty object + * + * @var int + */ + public $objMap = 1; + + /** + * Delete compiled template file + * + * @api Smarty::clearCompiledTemplate() + * @link http://www.smarty.net/docs/en/api.clear.compiled.template.tpl + * + * @param \Smarty $smarty + * @param string $resource_name template name + * @param string $compile_id compile id + * @param integer $exp_time expiration time + * + * @return integer number of template files deleted + */ + public function clearCompiledTemplate(Smarty $smarty, $resource_name = null, $compile_id = null, $exp_time = null) + { + + $_compile_dir = $smarty->getCompileDir(); + if ($_compile_dir == '/') { //We should never want to delete this! + return 0; + } + $_compile_id = isset($compile_id) ? preg_replace('![^\w]+!', '_', $compile_id) : null; + $_dir_sep = $smarty->use_sub_dirs ? DS : '^'; + if (isset($resource_name)) { + $_save_stat = $smarty->caching; + $smarty->caching = false; + /* @var Smarty_Internal_Template $tpl */ + $tpl = new $smarty->template_class($resource_name, $smarty); + $smarty->caching = $_save_stat; + if ($tpl->source->exists) { + // remove from compileds cache + $tpl->source->compileds = array(); + $_resource_part_1 = basename(str_replace('^', DS, $tpl->compiled->filepath)); + $_resource_part_1_length = strlen($_resource_part_1); + } else { + return 0; + } + $_resource_part_2 = str_replace('.php', '.cache.php', $_resource_part_1); + $_resource_part_2_length = strlen($_resource_part_2); + } + $_dir = $_compile_dir; + if ($smarty->use_sub_dirs && isset($_compile_id)) { + $_dir .= $_compile_id . $_dir_sep; + } + if (isset($_compile_id)) { + $_compile_id_part = $_compile_dir . $_compile_id . $_dir_sep; + $_compile_id_part_length = strlen($_compile_id_part); + } + $_count = 0; + try { + $_compileDirs = new RecursiveDirectoryIterator($_dir); + // NOTE: UnexpectedValueException thrown for PHP >= 5.3 + } + catch (Exception $e) { + return 0; + } + $_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST); + foreach ($_compile as $_file) { + if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { + continue; + } + + $_filepath = (string) $_file; + + if ($_file->isDir()) { + if (!$_compile->isDot()) { + // delete folder if empty + @rmdir($_file->getPathname()); + } + } else { + $unlink = false; + if ((!isset($_compile_id) || (isset($_filepath[$_compile_id_part_length]) && + $a = !strncmp($_filepath, $_compile_id_part, $_compile_id_part_length))) && + (!isset($resource_name) || (isset($_filepath[$_resource_part_1_length]) && + substr_compare($_filepath, $_resource_part_1, - $_resource_part_1_length, + $_resource_part_1_length) == 0) || + (isset($_filepath[$_resource_part_2_length]) && + substr_compare($_filepath, $_resource_part_2, - $_resource_part_2_length, + $_resource_part_2_length) == 0)) + ) { + if (isset($exp_time)) { + if (time() - @filemtime($_filepath) >= $exp_time) { + $unlink = true; + } + } else { + $unlink = true; + } + } + + if ($unlink && @unlink($_filepath)) { + if (isset($smarty->_cache['template_objects'])) { + foreach ($smarty->_cache['template_objects'] as $key => $tpl) { + if (isset($tpl->compiled) && $tpl->compiled->filepath == $_filepath) { + unset($smarty->_cache['template_objects'][$key]); + } + } + } + $_count ++; + if (function_exists('opcache_invalidate')) { + opcache_invalidate($_filepath); + } + } + } + } + // clear compiled cache + if (!isset($resource_name) && isset($smarty->_cache['source_objects'])) { + foreach ($smarty->_cache['source_objects'] as $source) { + $source->compileds = array(); + } + } + return $_count; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_clearconfig.php b/library/Smarty/libs/sysplugins/smarty_internal_method_clearconfig.php new file mode 100644 index 000000000..9c6167f4d --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_clearconfig.php @@ -0,0 +1,41 @@ +<?php + +/** + * Smarty Method ClearConfig + * + * Smarty::clearConfig() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_ClearConfig +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * clear a single or all config variables + * + * @api Smarty::clearConfig() + * @link http://www.smarty.net/docs/en/api.clear.config.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string|null $name variable name or null + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public function clearConfig(Smarty_Internal_Data $data, $name = null) + { + if (isset($name)) { + unset($data->config_vars[$name]); + } else { + $data->config_vars = array(); + } + return $data; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_compileallconfig.php b/library/Smarty/libs/sysplugins/smarty_internal_method_compileallconfig.php new file mode 100644 index 000000000..4d6be65c4 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_compileallconfig.php @@ -0,0 +1,32 @@ +<?php + +/** + * Smarty Method CompileAllConfig + * + * Smarty::compileAllConfig() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_CompileAllConfig extends Smarty_Internal_Method_CompileAllTemplates +{ + + /** + * Compile all config files + * + * @api Smarty::compileAllConfig() + * + * @param \Smarty $smarty + * @param string $extension file extension + * @param bool $force_compile force all to recompile + * @param int $time_limit + * @param int $max_errors + * + * @return integer number of template files recompiled + */ + public function compileAllConfig(Smarty $smarty, $extension = '.conf', $force_compile = false, $time_limit = 0, $max_errors = null) + { + return $this->compileAll($smarty, $extension, $force_compile, $time_limit, $max_errors, true); + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_compilealltemplates.php b/library/Smarty/libs/sysplugins/smarty_internal_method_compilealltemplates.php new file mode 100644 index 000000000..685fc0c0d --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_compilealltemplates.php @@ -0,0 +1,111 @@ +<?php + +/** + * Smarty Method CompileAllTemplates + * + * Smarty::compileAllTemplates() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_CompileAllTemplates +{ + /** + * Valid for Smarty object + * + * @var int + */ + public $objMap = 1; + + /** + * Compile all template files + * + * @api Smarty::compileAllTemplates() + * + * @param \Smarty $smarty + * @param string $extension file extension + * @param bool $force_compile force all to recompile + * @param int $time_limit + * @param int $max_errors + * + * @return integer number of template files recompiled + */ + public function compileAllTemplates(Smarty $smarty, $extension = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null) + { + return $this->compileAll($smarty, $extension, $force_compile, $time_limit, $max_errors); + } + + /** + * Compile all template or config files + * + * @param \Smarty $smarty + * @param string $extension template file name extension + * @param bool $force_compile force all to recompile + * @param int $time_limit set maximum execution time + * @param int $max_errors set maximum allowed errors + * @param bool $isConfig flag true if called for config files + * + * @return int number of template files compiled + */ + protected function compileAll(Smarty $smarty, $extension, $force_compile, $time_limit, $max_errors, $isConfig = false) + { + // switch off time limit + if (function_exists('set_time_limit')) { + @set_time_limit($time_limit); + } + $_count = 0; + $_error_count = 0; + $sourceDir = $isConfig ? $smarty->getConfigDir() : $smarty->getTemplateDir(); + // loop over array of source directories + foreach ($sourceDir as $_dir) { + $_dir_1 = new RecursiveDirectoryIterator($_dir); + $_dir_2 = new RecursiveIteratorIterator($_dir_1); + foreach ($_dir_2 as $_fileinfo) { + $_file = $_fileinfo->getFilename(); + if (substr(basename($_fileinfo->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { + continue; + } + if (!substr_compare($_file, $extension, - strlen($extension)) == 0) { + continue; + } + if ($_fileinfo->getPath() == !substr($_dir, 0, - 1)) { + $_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file; + } + echo "\n<br>", $_dir, '---', $_file; + flush(); + $_start_time = microtime(true); + $_smarty = clone $smarty; + $_smarty->force_compile = $force_compile; + try { + /* @var Smarty_Internal_Template $_tpl */ + $_tpl = new $smarty->template_class($_file, $_smarty); + $_tpl->caching = Smarty::CACHING_OFF; + $_tpl->source = $isConfig ? Smarty_Template_Config::load($_tpl) : Smarty_Template_Source::load($_tpl); + if ($_tpl->mustCompile()) { + $_tpl->compileTemplateSource(); + $_count ++; + echo ' compiled in ', microtime(true) - $_start_time, ' seconds'; + flush(); + } else { + echo ' is up to date'; + flush(); + } + } + catch (Exception $e) { + echo "\n<br> ------>Error: ", $e->getMessage(), "<br><br>\n"; + $_error_count ++; + } + // free memory + unset($_tpl); + $_smarty->_cache['template_objects'] = array(); + if ($max_errors !== null && $_error_count == $max_errors) { + echo "\n<br><br>too many errors\n"; + exit(); + } + } + } + echo "\n<br>"; + return $_count; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_configload.php b/library/Smarty/libs/sysplugins/smarty_internal_method_configload.php new file mode 100644 index 000000000..ec023ec8f --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_configload.php @@ -0,0 +1,182 @@ +<?php + +/** + * Smarty Method ConfigLoad + * + * Smarty::configLoad() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_ConfigLoad +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * load a config file, optionally load just selected sections + * + * @api Smarty::configLoad() + * @link http://www.smarty.net/docs/en/api.config.load.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $config_file filename + * @param mixed $sections array of section names, single + * section or null + * + * @return \Smarty|\Smarty_Internal_Data|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function configLoad(Smarty_Internal_Data $data, $config_file, $sections = null) + { + $this->_loadConfigFile($data, $config_file, $sections, 0); + return $data; + } + + /** + * load a config file, optionally load just selected sections + * + * @api Smarty::configLoad() + * @link http://www.smarty.net/docs/en/api.config.load.tpl + * + * @param \Smarty|\Smarty_Internal_Data|\Smarty_Internal_Template $data + * @param string $config_file filename + * @param mixed $sections array of section names, single + * section or null + * @param int $scope scope into which config variables + * shall be loaded + * + * @return \Smarty|\Smarty_Internal_Data|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function _loadConfigFile(Smarty_Internal_Data $data, $config_file, $sections = null, $scope = 0) + { + /* @var \Smarty $smarty */ + $smarty = isset($data->smarty) ? $data->smarty : $data; + /* @var \Smarty_Internal_Template $confObj */ + $confObj = new Smarty_Internal_Template($config_file, $smarty, $data); + $confObj->caching = Smarty::CACHING_OFF; + $confObj->source = Smarty_Template_Config::load($confObj); + $confObj->source->config_sections = $sections; + $confObj->source->scope = $scope; + $confObj->compiled = Smarty_Template_Compiled::load($confObj); + $confObj->compiled->render($confObj); + if ($data->_objType == 2) { + $data->compiled->file_dependency[$confObj->source->uid] = + array($confObj->source->filepath, $confObj->source->getTimeStamp(), $confObj->source->type); + } + } + + /** + * load config variables into template object + * + * @param \Smarty_Internal_Template $tpl + * @param array $_config_vars + * + */ + public function _loadConfigVars(Smarty_Internal_Template $tpl, $_config_vars) + { + $this->_assignConfigVars($tpl->parent, $tpl, $_config_vars); + $scope = $tpl->source->scope; + if (!$scope && !$tpl->scope) { + return; + } + foreach (array($scope, $tpl->scope) as $s) { + $s = ($bubble_up = $s >= Smarty::SCOPE_BUBBLE_UP) ? $s - Smarty::SCOPE_BUBBLE_UP : $s; + if ($bubble_up && $s) { + $ptr = $tpl->parent->parent; + if (isset($ptr)) { + $this->_assignConfigVars($ptr, $tpl, $_config_vars); + $ptr = $ptr->parent; + } + if ($s == Smarty::SCOPE_PARENT) { + continue; + } + while (isset($ptr) && $ptr->_objType == 2) { + $this->_assignConfigVars($ptr, $tpl, $_config_vars); + $ptr = $ptr->parent; + } + if ($s == Smarty::SCOPE_TPL_ROOT) { + continue; + } elseif ($s == Smarty::SCOPE_SMARTY) { + $this->_assignConfigVars($tpl->smarty, $tpl, $_config_vars); + } elseif ($s == Smarty::SCOPE_GLOBAL) { + $this->_assignConfigVars($tpl->smarty, $tpl, $_config_vars); + } elseif ($s == Smarty::SCOPE_ROOT) { + while (isset($ptr->parent)) { + $ptr = $ptr->parent; + } + $this->_assignConfigVars($ptr, $tpl, $_config_vars); + } + } + } + } + + /** + * Assign all config variables in given scope + * + * @param \Smarty_Internal_Data $scope_ptr + * @param \Smarty_Internal_Template $tpl + * @param array $_config_vars + */ + public function _assignConfigVars(Smarty_Internal_Data $scope_ptr, Smarty_Internal_Template $tpl, $_config_vars) + { + // copy global config vars + foreach ($_config_vars['vars'] as $variable => $value) { + if ($tpl->smarty->config_overwrite || !isset($scope_ptr->config_vars[$variable])) { + $scope_ptr->config_vars[$variable] = $value; + } else { + $scope_ptr->config_vars[$variable] = + array_merge((array) $scope_ptr->config_vars[$variable], (array) $value); + } + } + // scan sections + $sections = $tpl->source->config_sections; + if (!empty($sections)) { + foreach ((array) $sections as $tpl_section) { + if (isset($_config_vars['sections'][$tpl_section])) { + foreach ($_config_vars['sections'][$tpl_section]['vars'] as $variable => $value) { + if ($tpl->smarty->config_overwrite || !isset($scope_ptr->config_vars[$variable])) { + $scope_ptr->config_vars[$variable] = $value; + } else { + $scope_ptr->config_vars[$variable] = + array_merge((array) $scope_ptr->config_vars[$variable], (array) $value); + } + } + } + } + } + } + + /** + * gets a config variable value + * + * @param \Smarty_Internal_Template $tpl template object + * @param string $varName the name of the config variable + * @param bool $errorEnable + * + * @return mixed the value of the config variable + */ + public function _getConfigVariable(\Smarty_Internal_Template $tpl, $varName, $errorEnable = true) + { + $_ptr = $tpl; + while ($_ptr !== null) { + if (isset($_ptr->config_vars[$varName])) { + // found it, return it + return $_ptr->config_vars[$varName]; + } + // not found, try at parent + $_ptr = $_ptr->parent; + } + if ($tpl->smarty->error_unassigned && $errorEnable) { + // force a notice + $x = $$varName; + } + return null; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_createdata.php b/library/Smarty/libs/sysplugins/smarty_internal_method_createdata.php new file mode 100644 index 000000000..600bc777c --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_createdata.php @@ -0,0 +1,44 @@ +<?php + +/** + * Smarty Method CreateData + * + * Smarty::createData() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_CreateData +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * creates a data object + * + * @api Smarty::createData() + * @link http://www.smarty.net/docs/en/api.create.data.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param \Smarty_Internal_Template|\Smarty_Internal_Data|\Smarty_Data|\Smarty $parent next higher level of Smarty + * variables + * @param string $name optional data block name + * + * @returns Smarty_Data data object + */ + public function createData(Smarty_Internal_TemplateBase $obj, Smarty_Internal_Data $parent = null, $name = null) + { + /* @var Smarty $smarty */ + $smarty = isset($this->smarty) ? $this->smarty : $obj; + $dataObj = new Smarty_Data($parent, $smarty, $name); + if ($smarty->debugging) { + Smarty_Internal_Debug::register_data($dataObj); + } + return $dataObj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_getautoloadfilters.php b/library/Smarty/libs/sysplugins/smarty_internal_method_getautoloadfilters.php new file mode 100644 index 000000000..e1a7801f7 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_getautoloadfilters.php @@ -0,0 +1,37 @@ +<?php + +/** + * Smarty Method GetAutoloadFilters + * + * Smarty::getAutoloadFilters() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetAutoloadFilters extends Smarty_Internal_Method_SetAutoloadFilters +{ + + /** + * Get autoload filters + * + * @api Smarty::getAutoloadFilters() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type type of filter to get auto loads + * for. Defaults to all autoload + * filters + * + * @return array array( 'type1' => array( 'filter1', 'filter2', … ) ) or array( 'filter1', 'filter2', …) if $type + * was specified + */ + public function getAutoloadFilters(Smarty_Internal_TemplateBase $obj, $type = null) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if ($type !== null) { + $this->_checkFilterType($type); + return isset($smarty->autoload_filters[$type]) ? $smarty->autoload_filters[$type] : array(); + } + return $smarty->autoload_filters; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_getconfigvars.php b/library/Smarty/libs/sysplugins/smarty_internal_method_getconfigvars.php new file mode 100644 index 000000000..b15672168 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_getconfigvars.php @@ -0,0 +1,58 @@ +<?php + +/** + * Smarty Method GetConfigVars + * + * Smarty::getConfigVars() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetConfigVars +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * Returns a single or all config variables + * + * @api Smarty::getConfigVars() + * @link http://www.smarty.net/docs/en/api.get.config.vars.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $varname variable name or null + * @param bool $search_parents include parent templates? + * + * @return mixed variable value or or array of variables + */ + public function getConfigVars(Smarty_Internal_Data $data, $varname = null, $search_parents = true) + { + $_ptr = $data; + $var_array = array(); + while ($_ptr !== null) { + if (isset($varname)) { + if (isset($_ptr->config_vars[$varname])) { + return $_ptr->config_vars[$varname]; + } + } else { + $var_array = array_merge($_ptr->config_vars, $var_array); + } + // not found, try at parent + if ($search_parents) { + $_ptr = $_ptr->parent; + } else { + $_ptr = null; + } + } + if (isset($varname)) { + return ''; + } else { + return $var_array; + } + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_getdebugtemplate.php b/library/Smarty/libs/sysplugins/smarty_internal_method_getdebugtemplate.php new file mode 100644 index 000000000..3c3432ce1 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_getdebugtemplate.php @@ -0,0 +1,35 @@ +<?php + +/** + * Smarty Method GetDebugTemplate + * + * Smarty::getDebugTemplate() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetDebugTemplate +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * return name of debugging template + * + * @api Smarty::getDebugTemplate() + + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * + * @return string + */ + public function getDebugTemplate(Smarty_Internal_TemplateBase $obj) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + return $smarty->debug_tpl; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php b/library/Smarty/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php new file mode 100644 index 000000000..32e0cc413 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php @@ -0,0 +1,35 @@ +<?php + +/** + * Smarty Method GetDefaultModifiers + * + * Smarty::getDefaultModifiers() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetDefaultModifiers +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Get default modifiers + * + * @api Smarty::getDefaultModifiers() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * + * @return array list of default modifiers + */ + public function getDefaultModifiers(Smarty_Internal_TemplateBase $obj) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + return $smarty->default_modifiers; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_getregisteredobject.php b/library/Smarty/libs/sysplugins/smarty_internal_method_getregisteredobject.php new file mode 100644 index 000000000..be0c0dba2 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_getregisteredobject.php @@ -0,0 +1,44 @@ +<?php + +/** + * Smarty Method GetRegisteredObject + * + * Smarty::getRegisteredObject() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetRegisteredObject +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * return a reference to a registered object + * + * @api Smarty::getRegisteredObject() + * @link http://www.smarty.net/docs/en/api.get.registered.object.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $object_name object name + * + * @return object + * @throws \SmartyException if no such object is found + */ + public function getRegisteredObject(Smarty_Internal_TemplateBase $obj, $object_name) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (!isset($smarty->registered_objects[$object_name])) { + throw new SmartyException("'$object_name' is not a registered object"); + } + if (!is_object($smarty->registered_objects[$object_name][0])) { + throw new SmartyException("registered '$object_name' is not an object"); + } + return $smarty->registered_objects[$object_name][0]; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php b/library/Smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php new file mode 100644 index 000000000..b922fd088 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php @@ -0,0 +1,51 @@ +<?php + +/** + * Smarty Method GetStreamVariable + * + * Smarty::getStreamVariable() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetStreamVariable +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * gets a stream variable + * + * @api Smarty::getStreamVariable() + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $variable the stream of the variable + * + * @return mixed + * @throws \SmartyException + */ + public function getStreamVariable(Smarty_Internal_Data $data, $variable) + { + $_result = ''; + $fp = fopen($variable, 'r+'); + if ($fp) { + while (!feof($fp) && ($current_line = fgets($fp)) !== false) { + $_result .= $current_line; + } + fclose($fp); + + return $_result; + } + $smarty = isset($data->smarty) ? $data->smarty : $data; + if ($smarty->error_unassigned) { + throw new SmartyException('Undefined stream variable "' . $variable . '"'); + } else { + return null; + } + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_gettags.php b/library/Smarty/libs/sysplugins/smarty_internal_method_gettags.php new file mode 100644 index 000000000..dd9e8d1ca --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_gettags.php @@ -0,0 +1,62 @@ +<?php + +/** + * Smarty Method GetTags + * + * Smarty::getTags() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetTags +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Return array of tag/attributes of all tags used by an template + * + * @api Smarty::getTags() + * @link http://www.smarty.net/docs/en/api.get.tags.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param null|string|Smarty_Internal_Template $template + * + * @return array of tag/attributes + * @throws \SmartyException + */ + public function getTags(Smarty_Internal_TemplateBase $obj, $template = null) + { + /* @var Smarty $smarty */ + $smarty = isset($this->smarty) ? $this->smarty : $obj; + if ($obj->_objType == 2 && !isset($template)) { + $tpl = clone $obj; + } elseif (isset($template) && $template->_objType == 2) { + $tpl = clone $template; + } elseif (isset($template) && is_string($template)) { + /* @var Smarty_Internal_Template $tpl */ + $tpl = new $smarty->template_class($template, $smarty); + // checks if template exists + if (!$tpl->source->exists) { + throw new SmartyException("Unable to load template {$tpl->source->type} '{$tpl->source->name}'"); + } + } + if (isset($tpl)) { + $tpl->smarty = clone $tpl->smarty; + $tpl->smarty->_cache['get_used_tags'] = true; + $tpl->_cache['used_tags'] = array(); + $tpl->smarty->merge_compiled_includes = false; + $tpl->smarty->disableSecurity(); + $tpl->caching = false; + $tpl->loadCompiler(); + $tpl->compiler->compileTemplate($tpl); + return $tpl->_cache['used_tags']; + } + throw new SmartyException("Missing template specification"); + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_gettemplatevars.php b/library/Smarty/libs/sysplugins/smarty_internal_method_gettemplatevars.php new file mode 100644 index 000000000..235bece46 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_gettemplatevars.php @@ -0,0 +1,114 @@ +<?php + +/** + * Smarty Method GetTemplateVars + * + * Smarty::getTemplateVars() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetTemplateVars +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * Returns a single or all template variables + * + * @api Smarty::getTemplateVars() + * @link http://www.smarty.net/docs/en/api.get.template.vars.tpl + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $varName variable name or null + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $_ptr optional pointer to data object + * @param bool $searchParents include parent templates? + * + * @return mixed variable value or or array of variables + */ + public function getTemplateVars(Smarty_Internal_Data $data, $varName = null, Smarty_Internal_Data $_ptr = null, $searchParents = true) + { + if (isset($varName)) { + $_var = $this->_getVariable($data, $varName, $_ptr, $searchParents, false); + if (is_object($_var)) { + return $_var->value; + } else { + return null; + } + } else { + $_result = array(); + if ($_ptr === null) { + $_ptr = $data; + } + while ($_ptr !== null) { + foreach ($_ptr->tpl_vars AS $key => $var) { + if (!array_key_exists($key, $_result)) { + $_result[$key] = $var->value; + } + } + // not found, try at parent + if ($searchParents) { + $_ptr = $_ptr->parent; + } else { + $_ptr = null; + } + } + if ($searchParents && isset(Smarty::$global_tpl_vars)) { + foreach (Smarty::$global_tpl_vars AS $key => $var) { + if (!array_key_exists($key, $_result)) { + $_result[$key] = $var->value; + } + } + } + return $_result; + } + } + + /** + * gets the object of a Smarty variable + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $varName the name of the Smarty variable + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $_ptr optional pointer to data object + * @param bool $searchParents search also in parent data + * @param bool $errorEnable + * + * @return \Smarty_Variable + */ + public function _getVariable(Smarty_Internal_Data $data, $varName, Smarty_Internal_Data $_ptr = null, $searchParents = true, $errorEnable = true) + { + if ($_ptr === null) { + $_ptr = $data; + } + while ($_ptr !== null) { + if (isset($_ptr->tpl_vars[$varName])) { + // found it, return it + return $_ptr->tpl_vars[$varName]; + } + // not found, try at parent + if ($searchParents) { + $_ptr = $_ptr->parent; + } else { + $_ptr = null; + } + } + if (isset(Smarty::$global_tpl_vars[$varName])) { + // found it, return it + return Smarty::$global_tpl_vars[$varName]; + } + /* @var \Smarty $smarty */ + $smarty = isset($data->smarty) ? $data->smarty : $data; + if ($smarty->error_unassigned && $errorEnable) { + // force a notice + $x = $$varName; + } + + return new Smarty_Undefined_Variable; + } + +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_loadfilter.php b/library/Smarty/libs/sysplugins/smarty_internal_method_loadfilter.php new file mode 100644 index 000000000..7fb11179f --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_loadfilter.php @@ -0,0 +1,77 @@ +<?php + +/** + * Smarty Method LoadFilter + * + * Smarty::loadFilter() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_LoadFilter +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Valid filter types + * + * @var array + */ + private $filterTypes = array('pre' => true, 'post' => true, 'output' => true, 'variable' => true); + + /** + * load a filter of specified type and name + * + * @api Smarty::loadFilter() + * + * @link http://www.smarty.net/docs/en/api.load.filter.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type filter type + * @param string $name filter name + * + * @return bool + * @throws SmartyException if filter could not be loaded + */ + public function loadFilter(Smarty_Internal_TemplateBase $obj, $type, $name) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + $this->_checkFilterType($type); + $_plugin = "smarty_{$type}filter_{$name}"; + $_filter_name = $_plugin; + if (is_callable($_plugin)) { + $smarty->registered_filters[$type][$_filter_name] = $_plugin; + return true; + } + if ($smarty->loadPlugin($_plugin)) { + if (class_exists($_plugin, false)) { + $_plugin = array($_plugin, 'execute'); + } + if (is_callable($_plugin)) { + $smarty->registered_filters[$type][$_filter_name] = $_plugin; + return true; + } + } + throw new SmartyException("{$type}filter \"{$name}\" not found or callable"); + } + + /** + * Check if filter type is valid + * + * @param string $type + * + * @throws \SmartyException + */ + public function _checkFilterType($type) + { + if (!isset($this->filterTypes[$type])) { + throw new SmartyException("Illegal filter type \"{$type}\""); + } + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php b/library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php new file mode 100644 index 000000000..c153f55f0 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php @@ -0,0 +1,111 @@ +<?php + +/** + * Smarty Extension Loadplugin + * + * $smarty->loadPlugin() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_LoadPlugin +{ + /** + * Cache of searched plugin files + * + * @var array + */ + public $plugin_files = array(); + + /** + * Takes unknown classes and loads plugin files for them + * class name format: Smarty_PluginType_PluginName + * plugin filename format: plugintype.pluginname.php + * + * @param \Smarty $smarty + * @param string $plugin_name class plugin name to load + * @param bool $check check if already loaded + * + * @return bool|string + * @throws \SmartyException + */ + public function loadPlugin(Smarty $smarty, $plugin_name, $check) + { + // if function or class exists, exit silently (already loaded) + if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false))) { + return true; + } + if (!preg_match('#^smarty_((internal)|([^_]+))_(.+)$#i', $plugin_name, $match)) { + throw new SmartyException("plugin {$plugin_name} is not a valid name format"); + } + if (!empty($match[2])) { + $file = SMARTY_SYSPLUGINS_DIR . strtolower($plugin_name) . '.php'; + if (isset($this->plugin_files[$file])) { + if ($this->plugin_files[$file] !== false) { + return $this->plugin_files[$file]; + } else { + return false; + } + } else { + if (is_file($file)) { + $this->plugin_files[$file] = $file; + require_once($file); + return $file; + } else { + $this->plugin_files[$file] = false; + return false; + } + } + } + // plugin filename is expected to be: [type].[name].php + $_plugin_filename = "{$match[1]}.{$match[4]}.php"; + $_lower_filename = strtolower($_plugin_filename); + if (isset($this->plugin_files)) { + if (isset($this->plugin_files['plugins_dir'][$_lower_filename])) { + if (!$smarty->use_include_path || $this->plugin_files['plugins_dir'][$_lower_filename] !== false) { + return $this->plugin_files['plugins_dir'][$_lower_filename]; + } + } + if (!$smarty->use_include_path || $smarty->ext->_getIncludePath->isNewIncludePath($smarty)) { + unset($this->plugin_files['include_path']); + } else { + if (isset($this->plugin_files['include_path'][$_lower_filename])) { + return $this->plugin_files['include_path'][$_lower_filename]; + } + } + } + $_file_names = array($_plugin_filename); + if ($_lower_filename != $_plugin_filename) { + $_file_names[] = $_lower_filename; + } + $_p_dirs = $smarty->getPluginsDir(); + if (!isset($this->plugin_files['plugins_dir'][$_lower_filename])) { + // loop through plugin dirs and find the plugin + foreach ($_p_dirs as $_plugin_dir) { + foreach ($_file_names as $name) { + $file = $_plugin_dir . $name; + if (is_file($file)) { + $this->plugin_files['plugins_dir'][$_lower_filename] = $file; + require_once($file); + return $file; + } + $this->plugin_files['plugins_dir'][$_lower_filename] = false; + } + } + } + if ($smarty->use_include_path) { + foreach ($_file_names as $_file_name) { + // try PHP include_path + $file = $smarty->ext->_getIncludePath->getIncludePath($_p_dirs, $_file_name, $smarty); + $this->plugin_files['include_path'][$_lower_filename] = $file; + if ($file !== false) { + require_once($file); + return $file; + } + } + } + // no plugin loaded + return false; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_mustcompile.php b/library/Smarty/libs/sysplugins/smarty_internal_method_mustcompile.php new file mode 100644 index 000000000..f28a68e6d --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_mustcompile.php @@ -0,0 +1,49 @@ +<?php + +/** + * Smarty Method UnloadFilter + * + * Smarty_Internal_Template::mustCompile() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_MustCompile +{ + /** + * Valid for template object + * + * @var int + */ + public $objMap = 2; + + /** + * Returns if the current template must be compiled by the Smarty compiler + * It does compare the timestamps of template source and the compiled templates and checks the force compile + * configuration + * + * @param \Smarty_Internal_Template $_template + * + * @return bool + * @throws \SmartyException + */ + public function mustCompile(Smarty_Internal_Template $_template) + { + if (!$_template->source->exists) { + if (isset($_template->parent) && $_template->parent->_objType == 2) { + $parent_resource = " in '$_template->parent->template_resource}'"; + } else { + $parent_resource = ''; + } + throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}"); + } + if ($_template->mustCompile === null) { + $_template->mustCompile = (!$_template->source->handler->uncompiled && + ($_template->smarty->force_compile || $_template->source->handler->recompiled || !$_template->compiled->exists || + ($_template->smarty->compile_check && $_template->compiled->getTimeStamp() < $_template->source->getTimeStamp()))); + } + + return $_template->mustCompile; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registercacheresource.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registercacheresource.php new file mode 100644 index 000000000..55c5090ac --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registercacheresource.php @@ -0,0 +1,39 @@ +<?php + +/** + * Smarty Method RegisterCacheResource + * + * Smarty::registerCacheResource() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterCacheResource +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers a resource to fetch a template + * + * @api Smarty::registerCacheResource() + * @link http://www.smarty.net/docs/en/api.register.cacheresource.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $name name of resource type + * @param \Smarty_CacheResource $resource_handler + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function registerCacheResource(Smarty_Internal_TemplateBase $obj, $name, Smarty_CacheResource $resource_handler) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + $smarty->registered_cache_resources[$name] = $resource_handler; + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerclass.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerclass.php new file mode 100644 index 000000000..d2e5e20bb --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerclass.php @@ -0,0 +1,46 @@ +<?php + +/** + * Smarty Method RegisterClass + * + * Smarty::registerClass() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterClass +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers static classes to be used in templates + * + * @api Smarty::registerClass() + * @link http://www.smarty.net/docs/en/api.register.class.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $class_name + * @param string $class_impl the referenced PHP class to + * register + * + * @return \Smarty|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function registerClass(Smarty_Internal_TemplateBase $obj, $class_name, $class_impl) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + // test if exists + if (!class_exists($class_impl)) { + throw new SmartyException("Undefined class '$class_impl' in register template class"); + } + // register the class + $smarty->registered_classes[$class_name] = $class_impl; + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php new file mode 100644 index 000000000..370aa38dc --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php @@ -0,0 +1,42 @@ +<?php + +/** + * Smarty Method RegisterDefaultConfigHandler + * + * Smarty::registerDefaultConfigHandler() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterDefaultConfigHandler +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Register config default handler + * + * @api Smarty::registerDefaultConfigHandler() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param callable $callback class/method name + * + * @return \Smarty|\Smarty_Internal_Template + * @throws SmartyException if $callback is not callable + */ + public function registerDefaultConfigHandler(Smarty_Internal_TemplateBase $obj, $callback) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (is_callable($callback)) { + $smarty->default_config_handler_func = $callback; + } else { + throw new SmartyException("Default config handler not callable"); + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php new file mode 100644 index 000000000..80b801ce5 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php @@ -0,0 +1,43 @@ +<?php + +/** + * Smarty Method RegisterDefaultPluginHandler + * + * Smarty::registerDefaultPluginHandler() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterDefaultPluginHandler +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers a default plugin handler + * + * @api Smarty::registerDefaultPluginHandler() + * @link http://www.smarty.net/docs/en/api.register.default.plugin.handler.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param callable $callback class/method name + * + * @return \Smarty|\Smarty_Internal_Template + * @throws SmartyException if $callback is not callable + */ + public function registerDefaultPluginHandler(Smarty_Internal_TemplateBase $obj, $callback) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (is_callable($callback)) { + $smarty->default_plugin_handler_func = $callback; + } else { + throw new SmartyException("Default plugin handler '$callback' not callable"); + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php new file mode 100644 index 000000000..40979e7a6 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php @@ -0,0 +1,72 @@ +<?php + +/** + * Smarty Method RegisterDefaultTemplateHandler + * + * Smarty::registerDefaultTemplateHandler() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterDefaultTemplateHandler +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Register template default handler + * + * @api Smarty::registerDefaultTemplateHandler() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param callable $callback class/method name + * + * @return \Smarty|\Smarty_Internal_Template + * @throws SmartyException if $callback is not callable + */ + public function registerDefaultTemplateHandler(Smarty_Internal_TemplateBase $obj, $callback) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (is_callable($callback)) { + $smarty->default_template_handler_func = $callback; + } else { + throw new SmartyException("Default template handler not callable"); + } + return $obj; + } + + /** + * get default content from template or config resource handler + * + * @param Smarty_Template_Source $source + */ + public static function _getDefaultTemplate(Smarty_Template_Source $source) + { + if ($source->isConfig) { + $default_handler = $source->smarty->default_config_handler_func; + } else { + $default_handler = $source->smarty->default_template_handler_func; + } + $_content = $_timestamp = null; + $_return = call_user_func_array($default_handler, array($source->type, $source->name, &$_content, &$_timestamp, + $source->smarty)); + if (is_string($_return)) { + $source->exists = is_file($_return); + if ($source->exists) { + $source->timestamp = filemtime($_return); + } + $source->filepath = $_return; + } elseif ($_return === true) { + $source->content = $_content; + $source->timestamp = $_timestamp; + $source->exists = true; + $source->handler->recompiled = true; + $source->filepath = false; + } + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerfilter.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerfilter.php new file mode 100644 index 000000000..84b2c2630 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerfilter.php @@ -0,0 +1,88 @@ +<?php + +/** + * Smarty Method RegisterFilter + * + * Smarty::registerFilter() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterFilter +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Valid filter types + * + * @var array + */ + private $filterTypes = array('pre' => true, 'post' => true, 'output' => true, 'variable' => true); + + /** + * Registers a filter function + * + * @api Smarty::registerFilter() + * + * @link http://www.smarty.net/docs/en/api.register.filter.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type filter type + * @param callback $callback + * @param string|null $name optional filter name + * + * @return \Smarty|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function registerFilter(Smarty_Internal_TemplateBase $obj, $type, $callback, $name = null) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + $this->_checkFilterType($type); + $name = isset($name) ? $name : $this->_getFilterName($callback); + if (!is_callable($callback)) { + throw new SmartyException("{$type}filter \"{$name}\" not callable"); + } + $smarty->registered_filters[$type][$name] = $callback; + return $obj; + } + + /** + * Return internal filter name + * + * @param callback $function_name + * + * @return string internal filter name + */ + public function _getFilterName($function_name) + { + if (is_array($function_name)) { + $_class_name = (is_object($function_name[0]) ? get_class($function_name[0]) : $function_name[0]); + + return $_class_name . '_' . $function_name[1]; + } elseif (is_string($function_name)) { + return $function_name; + } else { + return 'closure'; + } + } + + /** + * Check if filter type is valid + * + * @param string $type + * + * @throws \SmartyException + */ + public function _checkFilterType($type) + { + if (!isset($this->filterTypes[$type])) { + throw new SmartyException("Illegal filter type \"{$type}\""); + } + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerobject.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerobject.php new file mode 100644 index 000000000..f27f1720b --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerobject.php @@ -0,0 +1,71 @@ +<?php + +/** + * Smarty Method RegisterObject + * + * Smarty::registerObject() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterObject +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers object to be used in templates + * + * @api Smarty::registerObject() + * @link http://www.smarty.net/docs/en/api.register.object.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $object_name + * @param object $object the + * referenced + * PHP object to + * register + * @param array $allowed_methods_properties list of + * allowed + * methods + * (empty = all) + * @param bool $format smarty + * argument + * format, else + * traditional + * @param array $block_methods list of + * block-methods + * + * @return \Smarty|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function registerObject(Smarty_Internal_TemplateBase $obj, $object_name, $object, $allowed_methods_properties = array(), $format = true, $block_methods = array()) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + // test if allowed methods callable + if (!empty($allowed_methods_properties)) { + foreach ((array) $allowed_methods_properties as $method) { + if (!is_callable(array($object, $method)) && !property_exists($object, $method)) { + throw new SmartyException("Undefined method or property '$method' in registered object"); + } + } + } + // test if block methods callable + if (!empty($block_methods)) { + foreach ((array) $block_methods as $method) { + if (!is_callable(array($object, $method))) { + throw new SmartyException("Undefined method '$method' in registered object"); + } + } + } + // register the object + $smarty->registered_objects[$object_name] = array($object, (array) $allowed_methods_properties, + (boolean) $format, (array) $block_methods); + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerplugin.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerplugin.php new file mode 100644 index 000000000..95814581d --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerplugin.php @@ -0,0 +1,50 @@ +<?php + +/** + * Smarty Method RegisterPlugin + * + * Smarty::registerPlugin() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterPlugin +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers plugin to be used in templates + * + * @api Smarty::registerPlugin() + * @link http://www.smarty.net/docs/en/api.register.plugin.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type plugin type + * @param string $name name of template tag + * @param callback $callback PHP callback to register + * @param bool $cacheable if true (default) this + * function is cache able + * @param mixed $cache_attr caching attributes if any + * + * @return \Smarty|\Smarty_Internal_Template + * @throws SmartyException when the plugin tag is invalid + */ + public function registerPlugin(Smarty_Internal_TemplateBase $obj, $type, $name, $callback, $cacheable = true, $cache_attr = null) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (isset($smarty->registered_plugins[$type][$name])) { + throw new SmartyException("Plugin tag \"{$name}\" already registered"); + } elseif (!is_callable($callback)) { + throw new SmartyException("Plugin \"{$name}\" not callable"); + } else { + $smarty->registered_plugins[$type][$name] = array($callback, (bool) $cacheable, (array) $cache_attr); + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_registerresource.php b/library/Smarty/libs/sysplugins/smarty_internal_method_registerresource.php new file mode 100644 index 000000000..43246ee9b --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_registerresource.php @@ -0,0 +1,44 @@ +<?php + +/** + * Smarty Method RegisterResource + * + * Smarty::registerResource() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_RegisterResource +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers a resource to fetch a template + * + * @api Smarty::registerResource() + * @link http://www.smarty.net/docs/en/api.register.resource.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $name name of resource type + * @param Smarty_Resource|array $resource_handler or instance of + * Smarty_Resource, or + * array of callbacks to + * handle resource + * (deprecated) + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function registerResource(Smarty_Internal_TemplateBase $obj, $name, $resource_handler) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + $smarty->registered_resources[$name] = $resource_handler instanceof + Smarty_Resource ? $resource_handler : array($resource_handler, false); + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_setautoloadfilters.php b/library/Smarty/libs/sysplugins/smarty_internal_method_setautoloadfilters.php new file mode 100644 index 000000000..b1f965cd9 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_setautoloadfilters.php @@ -0,0 +1,70 @@ +<?php + +/** + * Smarty Method SetAutoloadFilters + * + * Smarty::setAutoloadFilters() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_SetAutoloadFilters +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Valid filter types + * + * @var array + */ + private $filterTypes = array('pre' => true, 'post' => true, 'output' => true, 'variable' => true); + + /** + * Set autoload filters + * + * @api Smarty::setAutoloadFilters() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param array $filters filters to load automatically + * @param string $type "pre", "output", … specify the + * filter type to set. Defaults to + * none treating $filters' keys as + * the appropriate types + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function setAutoloadFilters(Smarty_Internal_TemplateBase $obj, $filters, $type = null) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if ($type !== null) { + $this->_checkFilterType($type); + $smarty->autoload_filters[$type] = (array) $filters; + } else { + foreach ((array) $filters as $type => $value) { + $this->_checkFilterType($type); + } + $smarty->autoload_filters = (array) $filters; + } + return $obj; + } + + /** + * Check if filter type is valid + * + * @param string $type + * + * @throws \SmartyException + */ + public function _checkFilterType($type) + { + if (!isset($this->filterTypes[$type])) { + throw new SmartyException("Illegal filter type \"{$type}\""); + } + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_setdebugtemplate.php b/library/Smarty/libs/sysplugins/smarty_internal_method_setdebugtemplate.php new file mode 100644 index 000000000..4ff5d7f82 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_setdebugtemplate.php @@ -0,0 +1,41 @@ +<?php + +/** + * Smarty Method SetDebugTemplate + * + * Smarty::setDebugTemplate() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_SetDebugTemplate +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * set the debug template + * + * @api Smarty::setDebugTemplate() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $tpl_name + * + * @return \Smarty|\Smarty_Internal_Template + * @throws SmartyException if file is not readable + */ + public function setDebugTemplate(Smarty_Internal_TemplateBase $obj, $tpl_name) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (!is_readable($tpl_name)) { + throw new SmartyException("Unknown file '{$tpl_name}'"); + } + $smarty->debug_tpl = $tpl_name; + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php b/library/Smarty/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php new file mode 100644 index 000000000..5a707287a --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php @@ -0,0 +1,38 @@ +<?php + +/** + * Smarty Method SetDefaultModifiers + * + * Smarty::setDefaultModifiers() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_SetDefaultModifiers +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Set default modifiers + * + * @api Smarty::setDefaultModifiers() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param array|string $modifiers modifier or list of modifiers + * to set + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function setDefaultModifiers(Smarty_Internal_TemplateBase $obj, $modifiers) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + $smarty->default_modifiers = (array) $modifiers; + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_unloadfilter.php b/library/Smarty/libs/sysplugins/smarty_internal_method_unloadfilter.php new file mode 100644 index 000000000..e3d966e1c --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_unloadfilter.php @@ -0,0 +1,42 @@ +<?php + +/** + * Smarty Method UnloadFilter + * + * Smarty::unloadFilter() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_UnloadFilter extends Smarty_Internal_Method_LoadFilter +{ + /** + * load a filter of specified type and name + * + * @api Smarty::unloadFilter() + * + * @link http://www.smarty.net/docs/en/api.unload.filter.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type filter type + * @param string $name filter name + * + * @return bool + */ + public function unloadFilter(Smarty_Internal_TemplateBase $obj, $type, $name) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + $this->_checkFilterType($type); + if (isset($smarty->registered_filters[$type])) { + $_filter_name = "smarty_{$type}filter_{$name}"; + if (isset($smarty->registered_filters[$type][$_filter_name])) { + unset ($smarty->registered_filters[$type][$_filter_name]); + if (empty($smarty->registered_filters[$type])) { + unset($smarty->registered_filters[$type]); + } + } + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_unregistercacheresource.php b/library/Smarty/libs/sysplugins/smarty_internal_method_unregistercacheresource.php new file mode 100644 index 000000000..80381015a --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_unregistercacheresource.php @@ -0,0 +1,40 @@ +<?php + +/** + * Smarty Method UnregisterCacheResource + * + * Smarty::unregisterCacheResource() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_UnregisterCacheResource +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers a resource to fetch a template + * + * @api Smarty::unregisterCacheResource() + * @link http://www.smarty.net/docs/en/api.unregister.cacheresource.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type name of cache resource type + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function unregisterCacheResource(Smarty_Internal_TemplateBase $obj, $name) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (isset($smarty->registered_cache_resources[$name])) { + unset($smarty->registered_cache_resources[$name]); + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterfilter.php b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterfilter.php new file mode 100644 index 000000000..c80ae9a65 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterfilter.php @@ -0,0 +1,42 @@ +<?php + +/** + * Smarty Method UnregisterFilter + * + * Smarty::unregisterFilter() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_UnregisterFilter extends Smarty_Internal_Method_RegisterFilter +{ + /** + * Unregisters a filter function + * + * @api Smarty::unregisterFilter() + * + * @link http://www.smarty.net/docs/en/api.unregister.filter.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type filter type + * @param callback|string $callback + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function unregisterFilter(Smarty_Internal_TemplateBase $obj, $type, $callback) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + $this->_checkFilterType($type); + if (isset($smarty->registered_filters[$type])) { + $name = is_string($callback) ? $callback : $this->_getFilterName($callback); + if (isset($smarty->registered_filters[$type][$name])) { + unset($smarty->registered_filters[$type][$name]); + if (empty($smarty->registered_filters[$type])) { + unset($smarty->registered_filters[$type]); + } + } + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterobject.php b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterobject.php new file mode 100644 index 000000000..a94331683 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterobject.php @@ -0,0 +1,40 @@ +<?php + +/** + * Smarty Method UnregisterObject + * + * Smarty::unregisterObject() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_UnregisterObject +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers plugin to be used in templates + * + * @api Smarty::unregisterObject() + * @link http://www.smarty.net/docs/en/api.unregister.object.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $object_name name of object + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function unregisterObject(Smarty_Internal_TemplateBase $obj, $object_name) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (isset($smarty->registered_objects[$object_name])) { + unset($smarty->registered_objects[$object_name]); + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterplugin.php b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterplugin.php new file mode 100644 index 000000000..06cb2d354 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterplugin.php @@ -0,0 +1,41 @@ +<?php + +/** + * Smarty Method UnregisterPlugin + * + * Smarty::unregisterPlugin() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_UnregisterPlugin +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers plugin to be used in templates + * + * @api Smarty::unregisterPlugin() + * @link http://www.smarty.net/docs/en/api.unregister.plugin.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type plugin type + * @param string $name name of template tag + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function unregisterPlugin(Smarty_Internal_TemplateBase $obj, $type, $name) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (isset($smarty->registered_plugins[$type][$name])) { + unset($smarty->registered_plugins[$type][$name]); + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterresource.php b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterresource.php new file mode 100644 index 000000000..767bd74ab --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_method_unregisterresource.php @@ -0,0 +1,40 @@ +<?php + +/** + * Smarty Method UnregisterResource + * + * Smarty::unregisterResource() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_UnregisterResource +{ + /** + * Valid for Smarty and template object + * + * @var int + */ + public $objMap = 3; + + /** + * Registers a resource to fetch a template + * + * @api Smarty::unregisterResource() + * @link http://www.smarty.net/docs/en/api.unregister.resource.tpl + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param string $type name of resource type + * + * @return \Smarty|\Smarty_Internal_Template + */ + public function unregisterResource(Smarty_Internal_TemplateBase $obj, $type) + { + $smarty = isset($obj->smarty) ? $obj->smarty : $obj; + if (isset($smarty->registered_resources[$type])) { + unset($smarty->registered_resources[$type]); + } + return $obj; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php b/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php index 0d2facfe9..b3d5fa86a 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php @@ -42,10 +42,10 @@ class Smarty_Internal_Nocache_Insert $_output .= "echo {$_function}(" . var_export($_attr, true) . ",\$_smarty_tpl);?>"; } $_tpl = $_template; - while ($_tpl->parent instanceof Smarty_Internal_Template) { + while (isset($_tpl->parent) && $_tpl->parent->_objType == 2) { $_tpl = $_tpl->parent; } - return "/*%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/" . $_output . "/*/%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/"; + return "/*%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/" . $_output . "/*/%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/"; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php index 186671021..32c9df094 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php @@ -14,14 +14,9 @@ * @subpackage Compiler * @ignore */ -abstract class _smarty_parsetree +abstract class Smarty_Internal_ParseTree { - /** - * Parser object - * - * @var object - */ - public $parser; + /** * Buffer content * @@ -39,323 +34,21 @@ abstract class _smarty_parsetree /** * Return buffer * - * @return string buffer content - */ - abstract public function to_smarty_php(); -} - -/** - * A complete smarty tag. - * - * @package Smarty - * @subpackage Compiler - * @ignore - */ -class _smarty_tag extends _smarty_parsetree -{ - /** - * Saved block nesting level - * - * @var int - */ - public $saved_block_nesting; - - /** - * Create parse tree buffer for Smarty tag - * - * @param object $parser parser object - * @param string $data content - */ - public function __construct($parser, $data) - { - $this->parser = $parser; - $this->data = $data; - $this->saved_block_nesting = $parser->block_nesting_level; - } - - /** - * Return buffer content + * @param \Smarty_Internal_Templateparser $parser * - * @return string content - */ - public function to_smarty_php() - { - return $this->data; - } - - /** - * Return complied code that loads the evaluated output of buffer content into a temporary variable - * - * @return string template code - */ - public function assign_to_var() - { - $var = sprintf('$_tmp%d', ++Smarty_Internal_Templateparser::$prefix_number); - $this->parser->compiler->prefix_code[] = sprintf("<?php ob_start();\n%s\n%s=ob_get_clean();?>", preg_replace(array('/^\s*<\?php\s+/','/\s*\?>\s*$/'), '', $this->data), $var); - - return $var; - } -} - -/** - * Code fragment inside a tag. - * - * @package Smarty - * @subpackage Compiler - * @ignore - */ -class _smarty_code extends _smarty_parsetree -{ - /** - * Create parse tree buffer for code fragment - * - * @param object $parser parser object - * @param string $data content - */ - public function __construct($parser, $data) - { - $this->parser = $parser; - $this->data = $data; - } - - /** - * Return buffer content in parentheses - * - * @return string content - */ - public function to_smarty_php() - { - return sprintf("(%s)", $this->data); - } -} - -/** - * Double quoted string inside a tag. - * - * @package Smarty - * @subpackage Compiler - * @ignore - */ -class _smarty_doublequoted extends _smarty_parsetree -{ - /** - * Create parse tree buffer for double quoted string subtrees - * - * @param object $parser parser object - * @param _smarty_parsetree $subtree parsetree buffer - */ - public function __construct($parser, _smarty_parsetree $subtree) - { - $this->parser = $parser; - $this->subtrees[] = $subtree; - if ($subtree instanceof _smarty_tag) { - $this->parser->block_nesting_level = count($this->parser->compiler->_tag_stack); - } - } - - /** - * Append buffer to subtree - * - * @param _smarty_parsetree $subtree parsetree buffer - */ - public function append_subtree(_smarty_parsetree $subtree) - { - $last_subtree = count($this->subtrees) - 1; - if ($last_subtree >= 0 && $this->subtrees[$last_subtree] instanceof _smarty_tag && $this->subtrees[$last_subtree]->saved_block_nesting < $this->parser->block_nesting_level) { - if ($subtree instanceof _smarty_code) { - $this->subtrees[$last_subtree]->data .= '<?php echo ' . $subtree->data . ';?>'; - } elseif ($subtree instanceof _smarty_dq_content) { - $this->subtrees[$last_subtree]->data .= '<?php echo "' . $subtree->data . '";?>'; - } else { - $this->subtrees[$last_subtree]->data .= $subtree->data; - } - } else { - $this->subtrees[] = $subtree; - } - if ($subtree instanceof _smarty_tag) { - $this->parser->block_nesting_level = count($this->parser->compiler->_tag_stack); - } - } - - /** - * Merge subtree buffer content together - * - * @return string compiled template code - */ - public function to_smarty_php() - { - $code = ''; - foreach ($this->subtrees as $subtree) { - if ($code !== "") { - $code .= "."; - } - if ($subtree instanceof _smarty_tag) { - $more_php = $subtree->assign_to_var(); - } else { - $more_php = $subtree->to_smarty_php(); - } - - $code .= $more_php; - - if (!$subtree instanceof _smarty_dq_content) { - $this->parser->compiler->has_variable_string = true; - } - } - - return $code; - } -} - -/** - * Raw chars as part of a double quoted string. - * - * @package Smarty - * @subpackage Compiler - * @ignore - */ -class _smarty_dq_content extends _smarty_parsetree -{ - /** - * Create parse tree buffer with string content - * - * @param object $parser parser object - * @param string $data string section - */ - public function __construct($parser, $data) - { - $this->parser = $parser; - $this->data = $data; - } - - /** - * Return content as double quoted string - * - * @return string doubled quoted string - */ - public function to_smarty_php() - { - return '"' . $this->data . '"'; - } -} - -/** - * Template element - * - * @package Smarty - * @subpackage Compiler - * @ignore - */ -class _smarty_template_buffer extends _smarty_parsetree -{ - /** - * Array of template elements - * - * @var array - */ - public $subtrees = Array(); - - /** - * Create root of parse tree for template elements - * - * @param object $parser parse object - */ - public function __construct($parser) - { - $this->parser = $parser; - } - - /** - * Append buffer to subtree - * - * @param _smarty_parsetree $subtree + * @return string buffer content */ - public function append_subtree(_smarty_parsetree $subtree) - { - if ($subtree->data !== '') { - $this->subtrees[] = $subtree; - } - } + abstract public function to_smarty_php(Smarty_Internal_Templateparser $parser); /** - * Sanitize and merge subtree buffers together - * - * @return string template code content + * Template data object destructor */ - public function to_smarty_php() + public function __destruct() { - $code = ''; - for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key ++) { - if ($this->subtrees[$key] instanceof _smarty_text) { - $subtree = $this->subtrees[$key]->to_smarty_php(); - while ($key + 1 < $cnt && ($this->subtrees[$key+1] instanceof _smarty_text || $this->subtrees[$key +1]->data == '')) { - $key++; - if ($this->subtrees[$key]->data == '') { - continue; - } - $subtree .= $this->subtrees[$key]->to_smarty_php(); - } - if ($subtree == '') { - continue; - } - $code .= preg_replace('/(<%|%>|<\?php|<\?|\?>|<\/?script)/', "<?php echo '\$1'; ?>\n", $subtree); - continue; - } - if ($this->subtrees[$key] instanceof _smarty_tag) { - $subtree = $this->subtrees[$key]->to_smarty_php(); - while ($key + 1 < $cnt && ($this->subtrees[$key+1] instanceof _smarty_tag || $this->subtrees[$key +1]->data == '')) { - $key++; - if ($this->subtrees[$key]->data == '') { - continue; - } - $newCode = $this->subtrees[$key]->to_smarty_php(); - if ((preg_match('/^\s*<\?php\s+/', $newCode) && preg_match('/\s*\?>\s*$/', $subtree))) { - $subtree = preg_replace('/\s*\?>\s*$/', "\n", $subtree); - $subtree .= preg_replace('/^\s*<\?php\s+/', '', $newCode); - } else { - $subtree .= $newCode; - } - } - if ($subtree == '') { - continue; - } - $code .= $subtree; - continue; - } - $code .= $this->subtrees[$key]->to_smarty_php(); - } - return $code; + $this->data = null; + $this->subtrees = null; } } -/** - * template text - * - * @package Smarty - * @subpackage Compiler - * @ignore - */ -class _smarty_text extends _smarty_parsetree -{ - /** - * Create template text buffer - * - * @param object $parser parser object - * @param string $data text - */ - public function __construct($parser, $data) - { - $this->parser = $parser; - $this->data = $data; - } - /** - * Return buffer content - * - * @return strint text - */ - public function to_smarty_php() - { - return $this->data; - } -} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree_code.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_code.php new file mode 100644 index 000000000..d0f0b3fd9 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_code.php @@ -0,0 +1,42 @@ +<?php +/** + * Smarty Internal Plugin Templateparser Parse Tree + * These are classes to build parse trees in the template parser + * + * @package Smarty + * @subpackage Compiler + * @author Thue Kristensen + * @author Uwe Tews + */ + +/** + * Code fragment inside a tag . + * + * @package Smarty + * @subpackage Compiler + * @ignore + */ +class Smarty_Internal_ParseTree_Code extends Smarty_Internal_ParseTree +{ + /** + * Create parse tree buffer for code fragment + * + * @param string $data content + */ + public function __construct($data) + { + $this->data = $data; + } + + /** + * Return buffer content in parentheses + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string content + */ + public function to_smarty_php(Smarty_Internal_Templateparser $parser) + { + return sprintf("(%s)", $this->data); + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree_dq.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_dq.php new file mode 100644 index 000000000..607389cb5 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_dq.php @@ -0,0 +1,88 @@ +<?php + +/** + * Double quoted string inside a tag. + * + * @package Smarty + * @subpackage Compiler + * @ignore + */ + +/** + * Double quoted string inside a tag. + * + * @package Smarty + * @subpackage Compiler + * @ignore + */ +class Smarty_Internal_ParseTree_Dq extends Smarty_Internal_ParseTree +{ + /** + * Create parse tree buffer for double quoted string subtrees + * + * @param object $parser parser object + * @param Smarty_Internal_ParseTree $subtree parse tree buffer + */ + public function __construct($parser, Smarty_Internal_ParseTree $subtree) + { + $this->subtrees[] = $subtree; + if ($subtree instanceof Smarty_Internal_ParseTree_Tag) { + $parser->block_nesting_level = count($parser->compiler->_tag_stack); + } + } + + /** + * Append buffer to subtree + * + * @param \Smarty_Internal_Templateparser $parser + * @param Smarty_Internal_ParseTree $subtree parse tree buffer + */ + public function append_subtree(Smarty_Internal_Templateparser $parser, Smarty_Internal_ParseTree $subtree) + { + $last_subtree = count($this->subtrees) - 1; + if ($last_subtree >= 0 && $this->subtrees[$last_subtree] instanceof Smarty_Internal_ParseTree_Tag && $this->subtrees[$last_subtree]->saved_block_nesting < $parser->block_nesting_level) { + if ($subtree instanceof Smarty_Internal_ParseTree_Code) { + $this->subtrees[$last_subtree]->data = $parser->compiler->appendCode($this->subtrees[$last_subtree]->data, '<?php echo ' . $subtree->data . ';?>'); + } elseif ($subtree instanceof Smarty_Internal_ParseTree_DqContent) { + $this->subtrees[$last_subtree]->data = $parser->compiler->appendCode($this->subtrees[$last_subtree]->data, '<?php echo "' . $subtree->data . '";?>'); + } else { + $this->subtrees[$last_subtree]->data = $parser->compiler->appendCode($this->subtrees[$last_subtree]->data, $subtree->data); + } + } else { + $this->subtrees[] = $subtree; + } + if ($subtree instanceof Smarty_Internal_ParseTree_Tag) { + $parser->block_nesting_level = count($parser->compiler->_tag_stack); + } + } + + /** + * Merge subtree buffer content together + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string compiled template code + */ + public function to_smarty_php(Smarty_Internal_Templateparser $parser) + { + $code = ''; + foreach ($this->subtrees as $subtree) { + if ($code !== "") { + $code .= "."; + } + if ($subtree instanceof Smarty_Internal_ParseTree_Tag) { + $more_php = $subtree->assign_to_var($parser); + } else { + $more_php = $subtree->to_smarty_php($parser); + } + + $code .= $more_php; + + if (!$subtree instanceof Smarty_Internal_ParseTree_DqContent) { + $parser->compiler->has_variable_string = true; + } + } + + return $code; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree_dqcontent.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_dqcontent.php new file mode 100644 index 000000000..a8ca389d9 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_dqcontent.php @@ -0,0 +1,42 @@ +<?php +/** + * Smarty Internal Plugin Templateparser Parse Tree + * These are classes to build parse tree in the template parser + * + * @package Smarty + * @subpackage Compiler + * @author Thue Kristensen + * @author Uwe Tews + */ + +/** + * Raw chars as part of a double quoted string. + * + * @package Smarty + * @subpackage Compiler + * @ignore + */ +class Smarty_Internal_ParseTree_DqContent extends Smarty_Internal_ParseTree +{ + /** + * Create parse tree buffer with string content + * + * @param string $data string section + */ + public function __construct($data) + { + $this->data = $data; + } + + /** + * Return content as double quoted string + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string doubled quoted string + */ + public function to_smarty_php(Smarty_Internal_Templateparser $parser) + { + return '"' . $this->data . '"'; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php new file mode 100644 index 000000000..575c8c9e8 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php @@ -0,0 +1,69 @@ +<?php +/** + * Smarty Internal Plugin Templateparser Parse Tree + * These are classes to build parse tree in the template parser + * + * @package Smarty + * @subpackage Compiler + * @author Thue Kristensen + * @author Uwe Tews + */ + +/** + * A complete smarty tag. + * + * @package Smarty + * @subpackage Compiler + * @ignore + */ +class Smarty_Internal_ParseTree_Tag extends Smarty_Internal_ParseTree +{ + + /** + * Saved block nesting level + * + * @var int + */ + public $saved_block_nesting; + + /** + * Create parse tree buffer for Smarty tag + * + * @param \Smarty_Internal_Templateparser $parser parser object + * @param string $data content + */ + public function __construct(Smarty_Internal_Templateparser $parser, $data) + { + $this->data = $data; + $this->saved_block_nesting = $parser->block_nesting_level; + } + + /** + * Return buffer content + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string content + */ + public function to_smarty_php(Smarty_Internal_Templateparser $parser) + { + return $this->data; + } + + /** + * Return complied code that loads the evaluated output of buffer content into a temporary variable + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string template code + */ + public function assign_to_var(Smarty_Internal_Templateparser $parser) + { + $var = sprintf('$_tmp%d', ++ Smarty_Internal_Templateparser::$prefix_number); + $tmp = $parser->compiler->appendCode('<?php ob_start();?>', $this->data); + $tmp = $parser->compiler->appendCode($tmp, "<?php {$var}=ob_get_clean();?>"); + $parser->compiler->prefix_code[] = sprintf("%s", $tmp); + + return $var; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree_template.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_template.php new file mode 100644 index 000000000..623ae51a3 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_template.php @@ -0,0 +1,128 @@ +<?php +/** + * Smarty Internal Plugin Templateparser Parse Tree + * These are classes to build parse tree in the template parser + * + * @package Smarty + * @subpackage Compiler + * @author Thue Kristensen + * @author Uwe Tews + */ + +/** + * Template element + * + * @package Smarty + * @subpackage Compiler + * @ignore + */ +class Smarty_Internal_ParseTree_Template extends Smarty_Internal_ParseTree +{ + + /** + * Array of template elements + * + * @var array + */ + public $subtrees = Array(); + + /** + * Create root of parse tree for template elements + * + */ + public function __construct() + { + } + + /** + * Append buffer to subtree + * + * @param \Smarty_Internal_Templateparser $parser + * @param Smarty_Internal_ParseTree $subtree + */ + public function append_subtree(Smarty_Internal_Templateparser $parser, Smarty_Internal_ParseTree $subtree) + { + if (!empty($subtree->subtrees)) { + $this->subtrees = array_merge($this->subtrees, $subtree->subtrees); + } else { + if ($subtree->data !== '') { + $this->subtrees[] = $subtree; + } + } + } + + /** + * Append array to subtree + * + * @param \Smarty_Internal_Templateparser $parser + * @param \Smarty_Internal_ParseTree[] $array + */ + public function append_array(Smarty_Internal_Templateparser $parser, $array = array()) + { + if (!empty($array)) { + $this->subtrees = array_merge($this->subtrees, (array) $array); + } + } + + /** + * Prepend array to subtree + * + * @param \Smarty_Internal_Templateparser $parser + * @param \Smarty_Internal_ParseTree[] $array + */ + public function prepend_array(Smarty_Internal_Templateparser $parser, $array = array()) + { + if (!empty($array)) { + $this->subtrees = array_merge((array) $array, $this->subtrees); + } + } + + /** + * Sanitize and merge subtree buffers together + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string template code content + */ + public function to_smarty_php(Smarty_Internal_Templateparser $parser) + { + $code = ''; + for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key ++) { + if ($this->subtrees[$key] instanceof Smarty_Internal_ParseTree_Text) { + $subtree = $this->subtrees[$key]->to_smarty_php($parser); + while ($key + 1 < $cnt && ($this->subtrees[$key + 1] instanceof Smarty_Internal_ParseTree_Text || + $this->subtrees[$key + 1]->data == '')) { + $key ++; + if ($this->subtrees[$key]->data == '') { + continue; + } + $subtree .= $this->subtrees[$key]->to_smarty_php($parser); + } + if ($subtree == '') { + continue; + } + $code .= preg_replace('/((<%)|(%>)|(<\?php)|(<\?)|(\?>)|(<\/?script))/', "<?php echo '\$1'; ?>\n", + $subtree); + continue; + } + if ($this->subtrees[$key] instanceof Smarty_Internal_ParseTree_Tag) { + $subtree = $this->subtrees[$key]->to_smarty_php($parser); + while ($key + 1 < $cnt && ($this->subtrees[$key + 1] instanceof Smarty_Internal_ParseTree_Tag || + $this->subtrees[$key + 1]->data == '')) { + $key ++; + if ($this->subtrees[$key]->data == '') { + continue; + } + $subtree = $parser->compiler->appendCode($subtree, $this->subtrees[$key]->to_smarty_php($parser)); + } + if ($subtree == '') { + continue; + } + $code .= $subtree; + continue; + } + $code .= $this->subtrees[$key]->to_smarty_php($parser); + } + return $code; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree_text.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_text.php new file mode 100644 index 000000000..b3100fa09 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_text.php @@ -0,0 +1,40 @@ +<?php + +/** + * Smarty Internal Plugin Templateparser Parse Tree + * These are classes to build parse tree in the template parser + * + * @package Smarty + * @subpackage Compiler + * @author Thue Kristensen + * @author Uwe Tews + * * + * template text + * @package Smarty + * @subpackage Compiler + * @ignore + */ +class Smarty_Internal_ParseTree_Text extends Smarty_Internal_ParseTree +{ + /** + * Create template text buffer + * + * @param string $data text + */ + public function __construct($data) + { + $this->data = $data; + } + + /** + * Return buffer content + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string text + */ + public function to_smarty_php(Smarty_Internal_Templateparser $parser) + { + return $this->data; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php index 1c64b7cf5..aca710350 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php @@ -73,11 +73,11 @@ class Smarty_Internal_Resource_Eval extends Smarty_Resource_Recompiled * * @param Smarty $smarty Smarty instance * @param string $resource_name resource_name to make unique - * @param boolean $is_config flag for config resource + * @param boolean $isConfig flag for config resource * * @return string unique resource name */ - protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false) + public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false) { return get_class($this) . '#' . $this->decode($resource_name); } @@ -89,7 +89,7 @@ class Smarty_Internal_Resource_Eval extends Smarty_Resource_Recompiled * * @return string resource's basename */ - protected function getBasename(Smarty_Template_Source $source) + public function getBasename(Smarty_Template_Source $source) { return ''; } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php index c78dba512..0c0802d62 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php @@ -39,25 +39,24 @@ class Smarty_Internal_Resource_Extends extends Smarty_Resource $components = explode('|', $source->name); $exists = true; foreach ($components as $component) { - $s = Smarty_Resource::source(null, $source->smarty, $component); - if ($s->type == 'php') { - throw new SmartyException("Resource type {$s->type} cannot be used with the extends resource type"); + /* @var \Smarty_Template_Source $_s */ + $_s = Smarty_Template_Source::load(null, $source->smarty, $component); + if ($_s->type == 'php') { + throw new SmartyException("Resource type {$_s->type} cannot be used with the extends resource type"); } - $sources[$s->uid] = $s; - $uid .= realpath($s->filepath); - if ($_template && $_template->smarty->compile_check) { - $exists = $exists && $s->exists; + $sources[$_s->uid] = $_s; + $uid .= $_s->filepath; + if ($_template) { + $exists = $exists && $_s->exists; } } $source->components = $sources; - $source->filepath = $s->filepath; + $source->filepath = $_s->filepath; $source->uid = sha1($uid); - if ($_template && $_template->smarty->compile_check) { - $source->timestamp = $s->timestamp; - $source->exists = $exists; + $source->exists = $exists; + if ($_template) { + $source->timestamp = $_s->timestamp; } - // need the template at getContent() - $source->template = $_template; } /** @@ -68,10 +67,11 @@ class Smarty_Internal_Resource_Extends extends Smarty_Resource public function populateTimestamp(Smarty_Template_Source $source) { $source->exists = true; - foreach ($source->components as $s) { - $source->exists = $source->exists && $s->exists; + /* @var \Smarty_Template_Source $_s */ + foreach ($source->components as $_s) { + $source->exists = $source->exists && $_s->exists; } - $source->timestamp = $s->timestamp; + $source->timestamp = $source->exists ? $_s->getTimeStamp() : false; } /** @@ -91,9 +91,10 @@ class Smarty_Internal_Resource_Extends extends Smarty_Resource $_components = array_reverse($source->components); $_content = ''; - foreach ($_components as $_component) { + /* @var \Smarty_Template_Source $_s */ + foreach ($_components as $_s) { // read content - $_content .= $_component->content; + $_content .= $_s->getContent(); } return $_content; } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php index 0abdc4495..b15e3cc6a 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php @@ -18,6 +18,97 @@ class Smarty_Internal_Resource_File extends Smarty_Resource { /** + * build template filepath by traversing the template_dir array + * + * @param Smarty_Template_Source $source source object + * @param Smarty_Internal_Template $_template template object + * + * @return string fully qualified filepath + * @throws SmartyException + */ + protected function buildFilepath(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null) + { + $file = $source->name; + // absolute file ? + if ($file[0] == '/' || $file[1] == ':') { + $file = $source->smarty->_realpath($file, true); + return is_file($file) ? $file : false; + } + // go relative to a given template? + if ($file[0] == '.' && $_template && isset($_template->parent) && $_template->parent->_objType == 2 && + preg_match('#^[.]{1,2}[\\\/]#', $file) + ) { + if ($_template->parent->source->type != 'file' && $_template->parent->source->type != 'extends' && + !isset($_template->parent->_cache['allow_relative_path']) + ) { + throw new SmartyException("Template '{$file}' cannot be relative to template of resource type '{$_template->parent->source->type}'"); + } + $path = dirname($_template->parent->source->filepath) . DS . $file; + // normalize path + $path = $source->smarty->_realpath($path); + // files relative to a template only get one shot + return is_file($path) ? $path : false; + } + // normalize DS + if (strpos($file, DS == '/' ? '\\' : '/') !== false) { + $file = str_replace(DS == '/' ? '\\' : '/', DS, $file); + } + + $_directories = $source->smarty->getTemplateDir(null, $source->isConfig); + // template_dir index? + if ($file[0] == '[' && preg_match('#^\[([^\]]+)\](.+)$#', $file, $fileMatch)) { + $file = $fileMatch[2]; + $_indices = explode(',', $fileMatch[1]); + $_index_dirs = array(); + foreach ($_indices as $index) { + $index = trim($index); + // try string indexes + if (isset($_directories[$index])) { + $_index_dirs[] = $_directories[$index]; + } elseif (is_numeric($index)) { + // try numeric index + $index = (int) $index; + if (isset($_directories[$index])) { + $_index_dirs[] = $_directories[$index]; + } else { + // try at location index + $keys = array_keys($_directories); + if (isset($_directories[$keys[$index]])) { + $_index_dirs[] = $_directories[$keys[$index]]; + } + } + } + } + if (empty($_index_dirs)) { + // index not found + return false; + } else { + $_directories = $_index_dirs; + } + } + + // relative file name? + foreach ($_directories as $_directory) { + $path = $_directory . $file; + if (is_file($path)) { + return (strpos($path, '.' . DS) !== false) ? $source->smarty->_realpath($path) : $path; + } + } + if (!isset($_index_dirs)) { + // Could be relative to cwd + $path = $source->smarty->_realpath($file, true); + if (is_file($path)) { + return $path; + } + } + // Use include path ? + if ($source->smarty->use_include_path) { + return $source->smarty->ext->_getIncludePath->getIncludePath($_directories, $file, $source->smarty); + } + return false; + } + + /** * populate Source Object with meta data from Resource * * @param Smarty_Template_Source $source source object @@ -28,15 +119,17 @@ class Smarty_Internal_Resource_File extends Smarty_Resource $source->filepath = $this->buildFilepath($source, $_template); if ($source->filepath !== false) { - if (is_object($source->smarty->security_policy)) { - $source->smarty->security_policy->isTrustedResourceDir($source->filepath); + if (isset($source->smarty->security_policy) && is_object($source->smarty->security_policy)) { + $source->smarty->security_policy->isTrustedResourceDir($source->filepath, $source->isConfig); } - - $source->uid = sha1(realpath($source->filepath)); - if ($source->smarty->compile_check && !isset($source->timestamp)) { - $source->timestamp = @filemtime($source->filepath); - $source->exists = !!$source->timestamp; + $source->exists = true; + $source->uid = sha1($source->filepath); + if ($source->smarty->compile_check == 1) { + $source->timestamp = filemtime($source->filepath); } + } else { + $source->timestamp = false; + $source->exists = false; } } @@ -47,8 +140,12 @@ class Smarty_Internal_Resource_File extends Smarty_Resource */ public function populateTimestamp(Smarty_Template_Source $source) { - $source->timestamp = @filemtime($source->filepath); - $source->exists = !!$source->timestamp; + if (!$source->exists) { + $source->timestamp = $source->exists = is_file($source->filepath); + } + if ($source->exists) { + $source->timestamp = filemtime($source->filepath); + } } /** @@ -61,13 +158,11 @@ class Smarty_Internal_Resource_File extends Smarty_Resource */ public function getContent(Smarty_Template_Source $source) { - if ($source->timestamp) { + if ($source->exists) { return file_get_contents($source->filepath); } - if ($source instanceof Smarty_Config_Source) { - throw new SmartyException("Unable to read config {$source->type} '{$source->name}'"); - } - throw new SmartyException("Unable to read template {$source->type} '{$source->name}'"); + throw new SmartyException('Unable to read ' . ($source->isConfig ? 'config' : 'template') . + " {$source->type} '{$source->name}'"); } /** @@ -79,11 +174,6 @@ class Smarty_Internal_Resource_File extends Smarty_Resource */ public function getBasename(Smarty_Template_Source $source) { - $_file = $source->name; - if (($_pos = strpos($_file, ']')) !== false) { - $_file = substr($_file, $_pos + 1); - } - - return basename($_file); + return basename($source->filepath); } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php index 7463c2960..62680625c 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php @@ -9,9 +9,15 @@ * @author Uwe Tews * @author Rodney Rehm */ -class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled +class Smarty_Internal_Resource_Php extends Smarty_Internal_Resource_File { /** + * Flag that it's an uncompiled resource + * + * @var bool + */ + public $uncompiled = true; + /** * container for short_open_tag directive's value before executing PHP templates * * @var string @@ -19,50 +25,20 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled protected $short_open_tag; /** - * Create a new PHP Resource - - */ - public function __construct() - { - $this->short_open_tag = ini_get('short_open_tag'); - } - - /** - * populate Source Object with meta data from Resource + * Resource does implement populateCompiledFilepath() method * - * @param Smarty_Template_Source $source source object - * @param Smarty_Internal_Template $_template template object - * - * @return void + * @var bool */ - public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null) - { - $source->filepath = $this->buildFilepath($source, $_template); - - if ($source->filepath !== false) { - if (is_object($source->smarty->security_policy)) { - $source->smarty->security_policy->isTrustedResourceDir($source->filepath); - } + public $hasCompiledHandler = true; - $source->uid = sha1($source->filepath); - if ($source->smarty->compile_check) { - $source->timestamp = @filemtime($source->filepath); - $source->exists = !!$source->timestamp; - } - } - } /** - * populate Source Object with timestamp and exists from Resource - * - * @param Smarty_Template_Source $source source object - * - * @return void + * Create a new PHP Resource + */ - public function populateTimestamp(Smarty_Template_Source $source) + public function __construct() { - $source->timestamp = @filemtime($source->filepath); - $source->exists = !!$source->timestamp; + $this->short_open_tag = ini_get('short_open_tag'); } /** @@ -75,7 +51,7 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled */ public function getContent(Smarty_Template_Source $source) { - if ($source->timestamp) { + if ($source->exists) { return ''; } throw new SmartyException("Unable to read template {$source->type} '{$source->name}'"); @@ -96,7 +72,7 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled throw new SmartyException("PHP templates are disabled"); } if (!$source->exists) { - if ($_template->parent instanceof Smarty_Internal_Template) { + if (isset($_template->parent) && $_template->parent->_objType == 2) { $parent_resource = " in '{$_template->parent->template_resource}'"; } else { $parent_resource = ''; @@ -116,4 +92,17 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled include($source->filepath); ini_set('short_open_tag', $this->short_open_tag); } + + /** + * populate compiled object with compiled filepath + * + * @param Smarty_Template_Compiled $compiled compiled object + * @param Smarty_Internal_Template $_template template object (is ignored) + */ + public function populateCompiledFilepath(Smarty_Template_Compiled $compiled, Smarty_Internal_Template $_template) + { + $compiled->filepath = false; + $compiled->timestamp = false; + $compiled->exists = false; + } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php index f12d843e1..69b396b6a 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php @@ -76,12 +76,13 @@ class Smarty_Internal_Resource_Registered extends Smarty_Resource public function getContent(Smarty_Template_Source $source) { // return template string - $t = call_user_func_array($source->smarty->registered_resources[$source->type][0][0], array($source->name, &$source->content, $source->smarty)); + $content = null; + $t = call_user_func_array($source->smarty->registered_resources[$source->type][0][0], array($source->name, &$content, $source->smarty)); if (is_bool($t) && !$t) { throw new SmartyException("Unable to read template {$source->type} '{$source->name}'"); } - return $source->content; + return $content; } /** @@ -91,7 +92,7 @@ class Smarty_Internal_Resource_Registered extends Smarty_Resource * * @return string resource's basename */ - protected function getBasename(Smarty_Template_Source $source) + public function getBasename(Smarty_Template_Source $source) { return basename($source->name); } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php index f7d1aac31..8a902268c 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php @@ -70,11 +70,11 @@ class Smarty_Internal_Resource_Stream extends Smarty_Resource_Recompiled * * @param Smarty $smarty Smarty instance * @param string $resource_name resource_name to make unique - * @param boolean $is_config flag for config resource + * @param boolean $isConfig flag for config resource * * @return string unique resource name */ - protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false) + public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false) { return get_class($this) . '#' . $resource_name; } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php index bfa069974..75e99e6fb 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php @@ -73,11 +73,11 @@ class Smarty_Internal_Resource_String extends Smarty_Resource * * @param Smarty $smarty Smarty instance * @param string $resource_name resource_name to make unique - * @param boolean $is_config flag for config resource + * @param boolean $isConfig flag for config resource * * @return string unique resource name */ - protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false) + public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false) { return get_class($this) . '#' . $this->decode($resource_name); } @@ -90,7 +90,7 @@ class Smarty_Internal_Resource_String extends Smarty_Resource * * @return string resource's basename */ - protected function getBasename(Smarty_Template_Source $source) + public function getBasename(Smarty_Template_Source $source) { return ''; } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_cachemodify.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_cachemodify.php new file mode 100644 index 000000000..4e2fb83e6 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_cachemodify.php @@ -0,0 +1,67 @@ +<?php + +/** + * Inline Runtime Methods render, setSourceByUid, setupSubTemplate + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_CacheModify +{ + /** + * check client side cache + * + * @param Smarty_Internal_Template $_template + * @param string $content + */ + public function cacheModifiedCheck(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, $content) + { + $_isCached = $_template->isCached() && !$_template->compiled->has_nocache_code; + $_last_modified_date = + @substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 0, strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'], 'GMT') + 3); + if ($_isCached && $cached->timestamp <= strtotime($_last_modified_date)) { + switch (PHP_SAPI) { + case 'cgi': // php-cgi < 5.3 + case 'cgi-fcgi': // php-cgi >= 5.3 + case 'fpm-fcgi': // php-fpm >= 5.3.3 + header('Status: 304 Not Modified'); + break; + + case 'cli': + if ( /* ^phpunit */ + !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */ + ) { + $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified'; + } + break; + + default: + if ( /* ^phpunit */ + !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */ + ) { + $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified'; + } else { + header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified'); + } + break; + } + } else { + switch (PHP_SAPI) { + case 'cli': + if ( /* ^phpunit */ + !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */ + ) { + $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = + 'Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT'; + } + break; + default: + header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $cached->timestamp) . ' GMT'); + break; + } + echo $content; + } + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_codeframe.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_codeframe.php new file mode 100644 index 000000000..a3be60d40 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_codeframe.php @@ -0,0 +1,88 @@ +<?php +/** + * Smarty Internal Extension + * This file contains the Smarty template extension to create a code frame + * + * @package Smarty + * @subpackage Template + * @author Uwe Tews + */ + +/** + * Class Smarty_Internal_Extension_CodeFrame + * Create code frame for compiled and cached templates + */ +class Smarty_Internal_Runtime_CodeFrame +{ + /** + * Create code frame for compiled and cached templates + * + * @param Smarty_Internal_Template $_template + * @param string $content optional template content + * @param bool $cache flag for cache file + * + * @return string + */ + public function create(Smarty_Internal_Template $_template, $content = '', $functions = '', $cache = false) + { + // build property code + $properties['has_nocache_code'] = $_template->compiled->has_nocache_code; + $properties['version'] = Smarty::SMARTY_VERSION; + $properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true)); + if (!empty($_template->tpl_function)) { + $properties['tpl_function'] = $_template->tpl_function; + } + if (!$cache) { + $properties['file_dependency'] = $_template->compiled->file_dependency; + $properties['includes'] = $_template->compiled->includes; + } else { + $properties['file_dependency'] = $_template->cached->file_dependency; + $properties['cache_lifetime'] = $_template->cache_lifetime; + } + $output = "<?php\n"; + $output .= "/* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . strftime("%Y-%m-%d %H:%M:%S") . + "\n from \"" . $_template->source->filepath . "\" */\n\n"; + + $dec = "\$_smarty_tpl->smarty->ext->_validateCompiled->decodeProperties(\$_smarty_tpl, " . var_export($properties, true) . ',' . + ($cache ? 'true' : 'false') . ")"; + $output .= "if ({$dec}) {\n"; + $output .= "function {$properties['unifunc']} (\$_smarty_tpl) {\n"; + // include code for plugins + if (!$cache) { + if (!empty($_template->compiled->required_plugins['compiled'])) { + foreach ($_template->compiled->required_plugins['compiled'] as $tmp) { + foreach ($tmp as $data) { + $file = addslashes($data['file']); + if (is_array($data['function'])) { + $output .= "if (!is_callable(array('{$data['function'][0]}','{$data['function'][1]}'))) require_once '{$file}';\n"; + } else { + $output .= "if (!is_callable('{$data['function']}')) require_once '{$file}';\n"; + } + } + } + } + if ($_template->caching && !empty($_template->compiled->required_plugins['nocache'])) { + $_template->compiled->has_nocache_code = true; + $output .= "echo '/*%%SmartyNocache:{$_template->compiled->nocache_hash}%%*/<?php \$_smarty = \$_smarty_tpl->smarty; "; + foreach ($_template->compiled->required_plugins['nocache'] as $tmp) { + foreach ($tmp as $data) { + $file = addslashes($data['file']); + if (is_Array($data['function'])) { + $output .= addslashes("if (!is_callable(array('{$data['function'][0]}','{$data['function'][1]}'))) require_once '{$file}';\n"); + } else { + $output .= addslashes("if (!is_callable('{$data['function']}')) require_once '{$file}';\n"); + } + } + } + $output .= "?>/*/%%SmartyNocache:{$_template->compiled->nocache_hash}%%*/';\n"; + } + } + $output .= "?>\n"; + $output .= $content; + $output .= "<?php }\n?>"; + $output .= $functions; + $output .= "<?php }\n"; + // remove unneeded PHP tags + return preg_replace('/\s*\?>[\n]?<\?php\s*/', "\n", $output); + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_filter_handler.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_filterhandler.php index 4f0f3981c..9af266758 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_filter_handler.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_filterhandler.php @@ -14,7 +14,7 @@ * @package Smarty * @subpackage PluginsInternal */ -class Smarty_Internal_Filter_Handler +class Smarty_Internal_Runtime_FilterHandler { /** * Run filters over content @@ -30,38 +30,40 @@ class Smarty_Internal_Filter_Handler * @throws SmartyException * @return string the filtered content */ - public static function runFilter($type, $content, Smarty_Internal_Template $template) + public function runFilter($type, $content, Smarty_Internal_Template $template) { - $output = $content; // loop over autoload filters of specified type if (!empty($template->smarty->autoload_filters[$type])) { foreach ((array) $template->smarty->autoload_filters[$type] as $name) { $plugin_name = "Smarty_{$type}filter_{$name}"; - if ($template->smarty->loadPlugin($plugin_name)) { + if (function_exists($plugin_name)) { + $callback = $plugin_name; + } elseif (class_exists($plugin_name, false) && is_callable(array($plugin_name, 'execute'))) { + $callback = array($plugin_name, 'execute'); + } elseif ($template->smarty->loadPlugin($plugin_name, false)) { if (function_exists($plugin_name)) { // use loaded Smarty2 style plugin - $output = $plugin_name($output, $template); - } elseif (class_exists($plugin_name, false)) { + $callback = $plugin_name; + } elseif (class_exists($plugin_name, false) && is_callable(array($plugin_name, 'execute'))) { // loaded class of filter plugin - $output = call_user_func(array($plugin_name, 'execute'), $output, $template); + $callback = array($plugin_name, 'execute'); + } else { + throw new SmartyException("Auto load {$type}-filter plugin method \"{$plugin_name}::execute\" not callable"); } } else { // nothing found, throw exception - throw new SmartyException("Unable to load filter {$plugin_name}"); + throw new SmartyException("Unable to auto load {$type}-filter plugin \"{$plugin_name}\""); } + $content = call_user_func($callback, $content, $template); } } - // loop over registerd filters of specified type + // loop over registered filters of specified type if (!empty($template->smarty->registered_filters[$type])) { foreach ($template->smarty->registered_filters[$type] as $key => $name) { - if (is_array($template->smarty->registered_filters[$type][$key])) { - $output = call_user_func($template->smarty->registered_filters[$type][$key], $output, $template); - } else { - $output = $template->smarty->registered_filters[$type][$key]($output, $template); - } + $content = call_user_func($template->smarty->registered_filters[$type][$key], $content, $template); } } // return filtered output - return $output; + return $content; } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_foreach.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_foreach.php new file mode 100644 index 000000000..87bb0cf4a --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_foreach.php @@ -0,0 +1,44 @@ +<?php + +/** + * Foreach Runtime Methods count + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_Foreach +{ + /** + * [util function] counts an array, arrayAccess/traversable or PDOStatement object + * + * @param mixed $value + * + * @return int the count for arrays and objects that implement countable, 1 for other objects that don't, and 0 + * for empty elements + */ + public function count($value) + { + if (is_array($value) === true || $value instanceof Countable) { + return count($value); + } elseif ($value instanceof IteratorAggregate) { + // Note: getIterator() returns a Traversable, not an Iterator + // thus rewind() and valid() methods may not be present + return iterator_count($value->getIterator()); + } elseif ($value instanceof Iterator) { + return iterator_count($value); + } elseif ($value instanceof PDOStatement) { + return $value->rowCount(); + } elseif ($value instanceof Traversable) { + return iterator_count($value); + } elseif ($value instanceof ArrayAccess) { + if ($value->offsetExists(0)) { + return 1; + } + } elseif (is_object($value)) { + return count($value); + } + return 0; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_getincludepath.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_getincludepath.php new file mode 100644 index 000000000..965c95f8b --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_getincludepath.php @@ -0,0 +1,183 @@ +<?php +/** + * Smarty read include path plugin + * + * @package Smarty + * @subpackage PluginsInternal + * @author Monte Ohrt + */ + +/** + * Smarty Internal Read Include Path Class + * + * @package Smarty + * @subpackage PluginsInternal + */ +class Smarty_Internal_Runtime_GetIncludePath +{ + /** + * include path cache + * + * @var string + */ + public $_include_path = ''; + + /** + * include path directory cache + * + * @var array + */ + public $_include_dirs = array(); + + /** + * include path directory cache + * + * @var array + */ + public $_user_dirs = array(); + + /** + * stream cache + * + * @var string[] + */ + public $isFile = array(); + + /** + * stream cache + * + * @var string[] + */ + public $isPath = array(); + + /** + * stream cache + * + * @var int[] + */ + public $number = array(); + + /** + * status cache + * + * @var bool + */ + public $_has_stream_include = null; + + /** + * Number for array index + * + * @var int + */ + public $counter = 0; + + /** + * Check if include path was updated + * + * @param \Smarty $smarty + * + * @return bool + */ + public function isNewIncludePath(Smarty $smarty) + { + $_i_path = get_include_path(); + if ($this->_include_path != $_i_path) { + $this->_include_dirs = array(); + $this->_include_path = $_i_path; + $_dirs = (array) explode(PATH_SEPARATOR, $_i_path); + foreach ($_dirs as $_path) { + if ($_path[0] != '/' && isset($dir[1]) && $dir[1] != ':') { + $_path = $smarty->_realpath($_path . DS, true); + } + if (is_dir($_path)) { + $this->_include_dirs[] = $smarty->_realpath($_path . DS, true); + } + } + return true; + } + return false; + } + + /** + * return array with include path directories + * + * @param \Smarty $smarty + * + * @return array + */ + public function getIncludePathDirs(Smarty $smarty) + { + $this->isNewIncludePath($smarty); + return $this->_include_dirs; + } + + /** + * Return full file path from PHP include_path + * + * @param string[] $dirs + * @param string $file + * @param \Smarty $smarty + * + * @return bool|string full filepath or false + * + */ + public function getIncludePath($dirs, $file, Smarty $smarty) + { + //if (!(isset($this->_has_stream_include) ? $this->_has_stream_include : $this->_has_stream_include = false)) { + if (!(isset($this->_has_stream_include) ? $this->_has_stream_include : $this->_has_stream_include = function_exists('stream_resolve_include_path'))) { + $this->isNewIncludePath($smarty); + } + // try PHP include_path + foreach ($dirs as $dir) { + $dir_n = isset($this->number[$dir]) ? $this->number[$dir] : $this->number[$dir] = $this->counter ++; + if (isset($this->isFile[$dir_n][$file])) { + if ($this->isFile[$dir_n][$file]) { + return $this->isFile[$dir_n][$file]; + } else { + continue; + } + } + if (isset($this->_user_dirs[$dir_n])) { + if (false === $this->_user_dirs[$dir_n]) { + continue; + } else { + $dir = $this->_user_dirs[$dir_n]; + } + } else { + if ($dir[0] == '/' || $dir[1] == ':') { + $dir = str_ireplace(getcwd(), '.', $dir); + if ($dir[0] == '/' || $dir[1] == ':') { + $this->_user_dirs[$dir_n] = false; + continue; + } + } + $dir = substr($dir, 2); + $this->_user_dirs[$dir_n] = $dir; + } + if ($this->_has_stream_include) { + $path = stream_resolve_include_path($dir . (isset($file) ? $file : '')); + if ($path) { + return $this->isFile[$dir_n][$file] = $path; + } + } else { + foreach ($this->_include_dirs as $key => $_i_path) { + $path = isset($this->isPath[$key][$dir_n]) ? $this->isPath[$key][$dir_n] : $this->isPath[$key][$dir_n] = is_dir($_dir_path = $_i_path . + $dir) ? $_dir_path : false; + if ($path === false) { + continue; + } + if (isset($file)) { + $_file = $this->isFile[$dir_n][$file] = (is_file($path . $file)) ? $path . $file : false; + if ($_file) { + return $_file; + } + } else { + // no file was given return directory path + return $path; + } + } + } + } + return false; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_hhvm.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_hhvm.php new file mode 100644 index 000000000..117cd8166 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_hhvm.php @@ -0,0 +1,30 @@ +<?php + +/** + * Runtime Extension Hhvm + * + * include patch for modified compiled or cached templates + * HHVM does not check if file was modified when including same file multiple times + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Runtime_Hhvm +{ + /** + * @param \Smarty_Internal_Template $_template + * @param string $file file name + * + * @return mixed + */ + static function includeHhvm(Smarty_Internal_Template $_template, $file) + { + $_smarty_tpl = $_template; + $tmp_file = $file . preg_replace('![^\w]+!', '_', uniqid(rand(), true)) . '.php'; + file_put_contents($tmp_file, file_get_contents($file)); + $result = @include $tmp_file; + @unlink($tmp_file); + return $result; + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php new file mode 100644 index 000000000..ed21281d0 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php @@ -0,0 +1,213 @@ +<?php + +/** + * Inheritance Runtime Methods processBlock, endChild, init + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_Inheritance +{ + + /** + * State machine + * - 0 idle next extends will create a new inheritance tree + * - 1 processing child template + * - 2 wait for next inheritance template + * - 3 assume parent template, if child will loaded goto state 1 + * a call to a sub template resets the state to 0 + * + * @var int + */ + public $state = 0; + + /** + * Array of block parameter of known {block} tags + * + * @var array + */ + public $blockParameter = array(); + + /** + * inheritance template nesting level + * + * @var int + */ + public $inheritanceLevel = 0; + + /** + * inheritance template index + * + * @var int + */ + public $tplIndex = - 1; + + /** + * Array of compiled template file path + * - key template index + * only used when caching is enabled + * + * @var []string + */ + public $compiledFilePath = array(); + + /** + * Current {block} nesting level + * + * @var int + */ + public $blockNesting = 0; + + /** + * Initialize inheritance + * + * @param \Smarty_Internal_Template $tpl template object of caller + * @param bool $initChild if true init for child template + * @param array $blockNames outer level block name + * + */ + public function init(Smarty_Internal_Template $tpl, $initChild, $blockNames = array()) + { + // if template was from an inner block or template is a parent template create new inheritance root + if ($initChild && ($this->blockNesting || $this->state == 3)) { + $tpl->ext->_inheritance = new Smarty_Internal_Runtime_Inheritance(); + $tpl->ext->_inheritance->init($tpl, $initChild, $blockNames); + return; + } + // start of child sub template(s) + if ($initChild) { + $this->state = 1; + if (!$this->inheritanceLevel) { + //grab any output of child templates + ob_start(); + } + $this->inheritanceLevel ++; + } + // in parent state {include} will not increment template index + if ($this->state != 3) { + $this->tplIndex ++; + } + // if state was waiting for parent change state to parent + if ($this->state == 2) { + $this->state = 3; + } + } + + /** + * End of child template(s) + * - if outer level is reached flush output buffer and switch to wait for parent template state + * + * @param \Smarty_Internal_Template $tpl template object of caller + */ + public function endChild(Smarty_Internal_Template $tpl) + { + $this->inheritanceLevel --; + if (!$this->inheritanceLevel) { + ob_end_clean(); + $this->state = 2; + } + } + + /** + * Process inheritance {block} tag + * + * $type 0 = {block}: + * - search in inheritance template hierarchy for child blocks + * if found call it, otherwise call current block + * - ignored for outer level blocks in child templates + * + * $type 1 = {block}: + * - nested {block} + * - search in inheritance template hierarchy for child blocks + * if found call it, otherwise call current block + * + * $type 2 = {$smarty.block.child}: + * - search in inheritance template hierarchy for child blocks + * if found call it, otherwise ignore + * + * $type 3 = {$smarty.block.parent}: + * - get block id from parent stack and call parent block + * + * @param \Smarty_Internal_Template $tpl template object of caller + * @param int $type call type see above + * @param string $name block name + * @param array $block block parameter + * @param array $callStack call stack with block parameters + * + * @throws \SmartyException + */ + public function processBlock(Smarty_Internal_Template $tpl, $type = 0, $name, $block, $callStack = array()) + { + if (!isset($this->blockParameter[$name])) { + $this->blockParameter[$name] = array(); + } + if ($this->state == 1) { + $block[2] = count($this->blockParameter[$name]); + $block[3] = $this->tplIndex; + $this->blockParameter[$name][] = $block; + return; + } + if ($type == 3) { + if (!empty($callStack)) { + array_shift($callStack); + if (empty($callStack)) { + throw new SmartyException("inheritance: tag {\$smarty.block.parent} used in parent template block '{$name}'"); + } + $block = array_shift($callStack); + } else { + return; + } + } else { + $blockParameter = &$this->blockParameter[$name]; + if ($type == 0) { + $index = $block[2] = count($blockParameter); + $block[3] = $this->tplIndex; + $callStack = array(&$block); + } elseif ($type == 1) { + $block[3] = $callStack[0][3]; + $index = 0; + for ($i = 0; $i < count($blockParameter); $i ++) { + if ($blockParameter[$i][3] <= $block[3]) { + $index = $blockParameter[$i][2]; + } + } + $block[2] = $index; + $callStack = array(&$block); + } else { + $index = $callStack[0][2]; + if ($index == 0) { + return; + } + $callStack = $block = array(1 => false); + } + $index --; + // find lowest level child block + while ($index >= 0 && ($type || !$block[1])) { + $block = &$blockParameter[$index]; + array_unshift($callStack, $block); + if ($block[1]) { + break; + } + $index --; + } + if (isset($block['hide']) && $index <= 0) { + return; + } + } + $this->blockNesting ++; + if (isset($block['append'])) { + $this->processBlock($tpl, 3, $name, null, $callStack); + } + if (isset($block[6])) { + $block[6]($tpl, $callStack); + } else { + $block[0]($tpl, $callStack); + } + if (isset($block['prepend'])) { + $this->processBlock($tpl, 3, $name, null, $callStack); + } + $this->blockNesting --; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_subtemplate.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_subtemplate.php new file mode 100644 index 000000000..2c7623f93 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_subtemplate.php @@ -0,0 +1,203 @@ +<?php + +/** + * Sub Template Runtime Methods render, setupSubTemplate + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_SubTemplate +{ + + /** + * Subtemplate template object cache + * + * @var Smarty_Internal_Template[] + */ + public $tplObjects = array(); + + /** + * Subtemplate call count + * + * @var int[] + */ + public $subTplInfo = array(); + + /** + * Runtime function to render subtemplate + * + * @param \Smarty_Internal_Template $parent + * @param string $template template name + * @param mixed $cache_id cache id + * @param mixed $compile_id compile id + * @param integer $caching cache mode + * @param integer $cache_lifetime life time of cache data + * @param array $data passed parameter template variables + * @param int $scope scope in which {include} should execute + * @param bool $forceTplCache cache template object + * @param string $uid file dependency uid + * @param string $content_func function name + * + */ + public function render(Smarty_Internal_Template $parent, $template, $cache_id, $compile_id, $caching, + $cache_lifetime, $data, $scope, $forceTplCache, $uid = null, $content_func = null) + { + // if there are cached template objects calculate $templateID + $_templateId = + !empty($this->tplObjects) ? $parent->smarty->_getTemplateId($template, $cache_id, $compile_id, $caching) : + null; + // already in template cache? + /* @var Smarty_Internal_Template $tpl */ + if (isset($_templateId) && isset($this->tplObjects[$_templateId])) { + // clone cached template object because of possible recursive call + $tpl = clone $this->tplObjects[$_templateId]; + $tpl->parent = $parent; + // if $caching mode changed the compiled resource is invalid + if ((bool) $tpl->caching !== (bool) $caching) { + unset($tpl->compiled); + } + // get variables from calling scope + $tpl->tpl_vars = $parent->tpl_vars; + $tpl->config_vars = $parent->config_vars; + // get template functions + $tpl->tpl_function = $parent->tpl_function; + // copy inheritance object? + if (isset($parent->ext->_inheritance)) { + $tpl->ext->_inheritance = $parent->ext->_inheritance; + } else { + unset($tpl->ext->_inheritance); + } + } else { + $tpl = clone $parent; + $tpl->parent = $parent; + if (!isset($tpl->templateId) || $tpl->templateId !== $_templateId) { + $tpl->templateId = $_templateId; + $tpl->template_resource = $template; + $tpl->cache_id = $cache_id; + $tpl->compile_id = $compile_id; + if (isset($uid)) { + // for inline templates we can get all resource information from file dependency + if (isset($tpl->compiled->file_dependency[$uid])) { + list($filepath, $timestamp, $resource) = $tpl->compiled->file_dependency[$uid]; + $tpl->source = + new Smarty_Template_Source(isset($tpl->smarty->_cache['resource_handlers'][$resource]) ? + $tpl->smarty->_cache['resource_handlers'][$resource] : + Smarty_Resource::load($tpl->smarty, $resource), $tpl->smarty, + $filepath, $resource, $filepath); + $tpl->source->filepath = $filepath; + $tpl->source->timestamp = $timestamp; + $tpl->source->exists = true; + $tpl->source->uid = $uid; + } else { + $tpl->source = null; + } + } else { + $tpl->source = null; + } + if (!isset($tpl->source)) { + $tpl->source = Smarty_Template_Source::load($tpl); + unset($tpl->compiled); + } + unset($tpl->cached); + } + } + $tpl->caching = $caching; + $tpl->cache_lifetime = $cache_lifetime; + if ($caching == 9999) { + $tpl->cached = $parent->cached; + } + // set template scope + $tpl->scope = $scope; + $scopePtr = false; + if ($scope & ~Smarty::SCOPE_BUBBLE_UP) { + if ($scope == Smarty::SCOPE_GLOBAL) { + $tpl->tpl_vars = Smarty::$global_tpl_vars; + $tpl->config_vars = $tpl->smarty->config_vars; + $scopePtr = true; + } else { + if ($scope == Smarty::SCOPE_PARENT) { + $scopePtr = $parent; + } elseif ($scope == Smarty::SCOPE_SMARTY) { + $scopePtr = $tpl->smarty; + } else { + $scopePtr = $tpl; + while (isset($scopePtr->parent)) { + if ($scopePtr->parent->_objType != 2 && $scope & Smarty::SCOPE_TPL_ROOT) { + break; + } + $scopePtr = $scopePtr->parent; + } + } + $tpl->tpl_vars = $scopePtr->tpl_vars; + $tpl->config_vars = $scopePtr->config_vars; + } + } + + if (!isset($this->tplObjects[$tpl->_getTemplateId()]) && !$tpl->source->handler->recompiled) { + // if template is called multiple times set flag to to cache template objects + $forceTplCache = $forceTplCache || + (isset($this->subTplInfo[$tpl->template_resource]) && $this->subTplInfo[$tpl->template_resource] > 1); + // check if template object should be cached + if ($tpl->parent->_objType == 2 && isset($this->tplObjects[$tpl->parent->templateId]) || + ($forceTplCache && $tpl->smarty->resource_cache_mode & Smarty::RESOURCE_CACHE_AUTOMATIC) || + ($tpl->smarty->resource_cache_mode & Smarty::RESOURCE_CACHE_ON) + ) { + $this->tplObjects[$tpl->_getTemplateId()] = $tpl; + } + } + + if (!empty($data)) { + // set up variable values + foreach ($data as $_key => $_val) { + $tpl->tpl_vars[$_key] = new Smarty_Variable($_val); + } + } + if (isset($uid)) { + if ($parent->smarty->debugging) { + $parent->smarty->_debug->start_template($tpl); + $parent->smarty->_debug->start_render($tpl); + } + $tpl->compiled->getRenderedTemplateCode($tpl, $content_func); + if ($parent->smarty->debugging) { + $parent->smarty->_debug->end_template($tpl); + $parent->smarty->_debug->end_render($tpl); + } + if ($tpl->caching == 9999 && $tpl->compiled->has_nocache_code) { + $parent->cached->hashes[$tpl->compiled->nocache_hash] = true; + } + } else { + if (isset($tpl->compiled)) { + $tpl->compiled->render($tpl); + } else { + $tpl->render(); + } + } + if ($scopePtr) { + if ($scope == Smarty::SCOPE_GLOBAL) { + Smarty::$global_tpl_vars = $tpl->tpl_vars; + $tpl->smarty->config_vars = $tpl->config_vars; + } else { + $scopePtr->tpl_vars = $tpl->tpl_vars; + $scopePtr->config_vars = $tpl->config_vars; + } + } + } + + /** + * Get called subtemplates from compiled template and save call count + * + * @param \Smarty_Internal_Template $tpl + */ + public function registerSubTemplates(Smarty_Internal_Template $tpl) + { + foreach ($tpl->compiled->includes as $name => $count) { + if (isset($this->subTplInfo[$name])) { + $this->subTplInfo[$name] += $count; + } else { + $this->subTplInfo[$name] = $count; + } + } + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_tplfunc.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_tplfunc.php new file mode 100644 index 000000000..ec9d8da6b --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_tplfunc.php @@ -0,0 +1,97 @@ +<?php + +/** + * Tplfunc Runtime Methods callTemplateFunction + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_Tplfunc +{ + /** + * Call template function + * + * @param \Smarty_Internal_Template $tpl template object + * @param string $name template function name + * @param array $params parameter array + * @param bool $nocache true if called nocache + * + * @throws \SmartyException + */ + public function callTemplateFunction(\Smarty_Internal_Template $tpl, $name, $params, $nocache) + { + if (isset($tpl->tpl_function[$name])) { + if (!$tpl->caching || ($tpl->caching && $nocache)) { + $function = $tpl->tpl_function[$name]['call_name']; + } else { + if (isset($tpl->tpl_function[$name]['call_name_caching'])) { + $function = $tpl->tpl_function[$name]['call_name_caching']; + } else { + $function = $tpl->tpl_function[$name]['call_name']; + } + } + if (function_exists($function)) { + $function ($tpl, $params); + return; + } + // try to load template function dynamically + if ($this->addTplFuncToCache($tpl, $name, $function)) { + $function ($tpl, $params); + return; + } + } + throw new SmartyException("Unable to find template function '{$name}'"); + } + + /** + * + * Add template function to cache file for nocache calls + * + * @param Smarty_Internal_Template $tpl + * @param string $_name template function name + * @param string $_function PHP function name + * + * @return bool + */ + public function addTplFuncToCache(Smarty_Internal_Template $tpl, $_name, $_function) + { + $funcParam = $tpl->tpl_function[$_name]; + if (is_file($funcParam['compiled_filepath'])) { + // read compiled file + $code = file_get_contents($funcParam['compiled_filepath']); + // grab template function + if (preg_match("/\/\* {$_function} \*\/([\S\s]*?)\/\*\/ {$_function} \*\//", $code, $match)) { + // grab source info from file dependency + preg_match("/\s*'{$funcParam['uid']}'([\S\s]*?)\),/", $code, $match1); + unset($code); + // make PHP function known + eval($match[0]); + if (function_exists($_function)) { + // search cache file template + $tplPtr = $tpl; + while (!isset($tplPtr->cached) && isset($tplPtr->parent)) { + $tplPtr = $tplPtr->parent; + } + // add template function code to cache file + if (isset($tplPtr->cached)) { + $cache = $tplPtr->cached; + $content = $cache->read($tplPtr); + if ($content) { + // check if we must update file dependency + if (!preg_match("/'{$funcParam['uid']}'(.*?)'nocache_hash'/", $content, $match2)) { + $content = preg_replace("/('file_dependency'(.*?)\()/", "\\1{$match1[0]}", $content); + } + $cache->write($tplPtr, preg_replace('/\s*\?>\s*$/', "\n", $content) . "\n" . + preg_replace(array('/^\s*<\?php\s+/', '/\s*\?>\s*$/'), "\n", + $match[0])); + } + } + return true; + } + } + } + return false; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_tplfunction.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_tplfunction.php new file mode 100644 index 000000000..cc529c633 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_tplfunction.php @@ -0,0 +1,97 @@ +<?php + +/** + * Tplfunc Runtime Methods callTemplateFunction + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_TplFunction +{ + /** + * Call template function + * + * @param \Smarty_Internal_Template $tpl template object + * @param string $name template function name + * @param array $params parameter array + * @param bool $nocache true if called nocache + * + * @throws \SmartyException + */ + public function callTemplateFunction(\Smarty_Internal_Template $tpl, $name, $params, $nocache) + { + if (isset($tpl->tpl_function[$name])) { + if (!$tpl->caching || ($tpl->caching && $nocache)) { + $function = $tpl->tpl_function[$name]['call_name']; + } else { + if (isset($tpl->tpl_function[$name]['call_name_caching'])) { + $function = $tpl->tpl_function[$name]['call_name_caching']; + } else { + $function = $tpl->tpl_function[$name]['call_name']; + } + } + if (function_exists($function)) { + $function ($tpl, $params); + return; + } + // try to load template function dynamically + if ($this->addTplFuncToCache($tpl, $name, $function)) { + $function ($tpl, $params); + return; + } + } + throw new SmartyException("Unable to find template function '{$name}'"); + } + + /** + * + * Add template function to cache file for nocache calls + * + * @param Smarty_Internal_Template $tpl + * @param string $_name template function name + * @param string $_function PHP function name + * + * @return bool + */ + public function addTplFuncToCache(Smarty_Internal_Template $tpl, $_name, $_function) + { + $funcParam = $tpl->tpl_function[$_name]; + if (is_file($funcParam['compiled_filepath'])) { + // read compiled file + $code = file_get_contents($funcParam['compiled_filepath']); + // grab template function + if (preg_match("/\/\* {$_function} \*\/([\S\s]*?)\/\*\/ {$_function} \*\//", $code, $match)) { + // grab source info from file dependency + preg_match("/\s*'{$funcParam['uid']}'([\S\s]*?)\),/", $code, $match1); + unset($code); + // make PHP function known + eval($match[0]); + if (function_exists($_function)) { + // search cache file template + $tplPtr = $tpl; + while (!isset($tplPtr->cached) && isset($tplPtr->parent)) { + $tplPtr = $tplPtr->parent; + } + // add template function code to cache file + if (isset($tplPtr->cached)) { + $cache = $tplPtr->cached; + $content = $cache->read($tplPtr); + if ($content) { + // check if we must update file dependency + if (!preg_match("/'{$funcParam['uid']}'(.*?)'nocache_hash'/", $content, $match2)) { + $content = preg_replace("/('file_dependency'(.*?)\()/", "\\1{$match1[0]}", $content); + } + $tplPtr->smarty->ext->_updateCache->write($cache, $tplPtr, preg_replace('/\s*\?>\s*$/', "\n", $content) . "\n" . + preg_replace(array('/^\s*<\?php\s+/', '/\s*\?>\s*$/'), "\n", + $match[0])); + } + } + return true; + } + } + } + return false; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_updatecache.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_updatecache.php new file mode 100644 index 000000000..73de954f3 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_updatecache.php @@ -0,0 +1,184 @@ +<?php + +/** + * Inline Runtime Methods render, setSourceByUid, setupSubTemplate + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_UpdateCache +{ + /** + * check client side cache + * + * @param \Smarty_Template_Cached $cached + * @param Smarty_Internal_Template $_template + * @param string $content + */ + public function cacheModifiedCheck(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, $content) + { + } + + /** + * Sanitize content and write it to cache resource + * + * @param \Smarty_Template_Cached $cached + * @param Smarty_Internal_Template $_template + * @param bool $no_output_filter + * + * @throws \SmartyException + */ + public function removeNoCacheHash(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, + $no_output_filter) + { + $content = ob_get_clean(); + unset($cached->hashes[$_template->compiled->nocache_hash]); + if (!empty($cached->hashes)) { + $hash_array = array(); + foreach ($cached->hashes as $hash => $foo) { + $hash_array[] = "/{$hash}/"; + } + $content = preg_replace($hash_array, $_template->compiled->nocache_hash, $content); + } + $_template->cached->has_nocache_code = false; + // get text between non-cached items + $cache_split = + preg_split("!/\*%%SmartyNocache:{$_template->compiled->nocache_hash}%%\*\/(.+?)/\*/%%SmartyNocache:{$_template->compiled->nocache_hash}%%\*/!s", + $content); + // get non-cached items + preg_match_all("!/\*%%SmartyNocache:{$_template->compiled->nocache_hash}%%\*\/(.+?)/\*/%%SmartyNocache:{$_template->compiled->nocache_hash}%%\*/!s", + $content, $cache_parts); + $content = ''; + // loop over items, stitch back together + foreach ($cache_split as $curr_idx => $curr_split) { + // escape PHP tags in template content + $content .= preg_replace('/(<%|%>|<\?php|<\?|\?>|<script\s+language\s*=\s*[\"\']?\s*php\s*[\"\']?\s*>)/', + "<?php echo '\$1'; ?>\n", $curr_split); + if (isset($cache_parts[0][$curr_idx])) { + $_template->cached->has_nocache_code = true; + $content .= $cache_parts[1][$curr_idx]; + } + } + if (!$no_output_filter && !$_template->compiled->has_nocache_code && + (isset($_template->smarty->autoload_filters['output']) || + isset($_template->smarty->registered_filters['output'])) + ) { + $content = $_template->smarty->ext->_filterHandler->runFilter('output', $content, $_template); + } + // write cache file content + $this->writeCachedContent($cached, $_template, $content); + } + + /** + * Cache was invalid , so render from compiled and write to cache + * + * @param \Smarty_Template_Cached $cached + * @param \Smarty_Internal_Template $_template + * @param $no_output_filter + * + * @throws \Exception + */ + public function updateCache(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, $no_output_filter) + { + if ($_template->source->handler->uncompiled) { + ob_start(); + $_template->source->render($_template); + } else { + ob_start(); + if (!isset($_template->compiled)) { + $_template->loadCompiled(); + } + $_template->compiled->render($_template); + } + if ($_template->smarty->debugging) { + $_template->smarty->_debug->start_cache($_template); + } + $this->removeNoCacheHash($cached, $_template, $no_output_filter); + $compile_check = $_template->smarty->compile_check; + $_template->smarty->compile_check = false; + if (isset($_template->parent) && $_template->parent->_objType == 2) { + $_template->compiled->unifunc = $_template->parent->compiled->unifunc; + } + if (!$_template->cached->processed) { + $_template->cached->process($_template, true); + } + $_template->smarty->compile_check = $compile_check; + $cached->getRenderedTemplateCode($_template); + if ($_template->smarty->debugging) { + $_template->smarty->_debug->end_cache($_template); + } + } + + /** + * Writes the content to cache resource + * + * @param \Smarty_Template_Cached $cached + * @param Smarty_Internal_Template $_template + * @param string $content + * + * @return bool + */ + public function writeCachedContent(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, $content) + { + if ($_template->source->handler->recompiled || !($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || + $_template->caching == Smarty::CACHING_LIFETIME_SAVED) + ) { + // don't write cache file + return false; + } + $content = $_template->smarty->ext->_codeFrame->create($_template, $content, '', true); + if (!empty($_template->cached->tpl_function)) { + foreach ($_template->cached->tpl_function as $funcParam) { + if (is_file($funcParam['compiled_filepath'])) { + // read compiled file + $code = file_get_contents($funcParam['compiled_filepath']); + // grab template function + if (preg_match("/\/\* {$funcParam['call_name']} \*\/([\S\s]*?)\/\*\/ {$funcParam['call_name']} \*\//", + $code, $match)) { + unset($code); + $content .= "<?php " . $match[0] . "?>\n"; + } + } + } + } + return $this->write($cached, $_template, $content); + } + + /** + * Write this cache object to handler + * + * @param \Smarty_Template_Cached $cached + * @param Smarty_Internal_Template $_template template object + * @param string $content content to cache + * + * @return bool success + */ + public function write(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template, $content) + { + if (!$_template->source->handler->recompiled) { + if ($cached->handler->writeCachedContent($_template, $content)) { + $cached->content = null; + $cached->timestamp = time(); + $cached->exists = true; + $cached->valid = true; + $cached->cache_lifetime = $_template->cache_lifetime; + $cached->processed = false; + if ($_template->smarty->cache_locking) { + $cached->handler->releaseLock($_template->smarty, $cached); + } + + return true; + } + $cached->content = null; + $cached->timestamp = false; + $cached->exists = false; + $cached->valid = false; + $cached->processed = false; + } + + return false; + } + +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_updatescope.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_updatescope.php new file mode 100644 index 000000000..3d80c859a --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_updatescope.php @@ -0,0 +1,55 @@ +<?php + +/** + * Runtime Methods updateScope + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_UpdateScope +{ + /** + * Update new assigned template variable in other effected scopes + * + * @param \Smarty_Internal_Template $tpl template object + * @param string $varName variable name + * @param int $scope scope to which bubble up variable value + */ + public function updateScope(\Smarty_Internal_Template $tpl, $varName, $scope = Smarty::SCOPE_LOCAL) + { + if (!$scope && !$tpl->scope) { + return; + } + foreach (array($scope, $tpl->scope) as $s) { + $s = ($bubble_up = $s >= Smarty::SCOPE_BUBBLE_UP) ? $s - Smarty::SCOPE_BUBBLE_UP : $s; + if ($bubble_up && $s) { + $ptr = $tpl->parent; + if (isset($ptr)) { + $ptr->tpl_vars[$varName] = $tpl->tpl_vars[$varName]; + $ptr = $ptr->parent; + } + if ($s == Smarty::SCOPE_PARENT) { + continue; + } + while (isset($ptr) && $ptr->_objType == 2) { + $ptr->tpl_vars[$varName] = $tpl->tpl_vars[$varName]; + $ptr = $ptr->parent; + } + if ($s == Smarty::SCOPE_TPL_ROOT) { + continue; + } elseif ($s == Smarty::SCOPE_SMARTY) { + $tpl->smarty->tpl_vars[$varName] = $tpl->tpl_vars[$varName]; + } elseif ($s == Smarty::SCOPE_GLOBAL) { + Smarty::$global_tpl_vars[$varName] = $tpl->tpl_vars[$varName]; + } elseif ($s == Smarty::SCOPE_ROOT) { + while (isset($ptr->parent)) { + $ptr = $ptr->parent; + } + $ptr->tpl_vars[$varName] = $tpl->tpl_vars[$varName]; + } + } + } + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_validatecompiled.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_validatecompiled.php new file mode 100644 index 000000000..6624eb0bf --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_validatecompiled.php @@ -0,0 +1,81 @@ +<?php + +/** + * Runtime Methods decodeProperties + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_ValidateCompiled +{ + /** + * This function is executed automatically when a compiled or cached template file is included + * - Decode saved properties from compiled template and cache files + * - Check if compiled or cache file is valid + * + * @param array $properties special template properties + * @param bool $cache flag if called from cache file + * + * @return bool flag if compiled or cache file is valid + */ + public function decodeProperties(Smarty_Internal_Template $tpl, $properties, $cache = false) + { + $is_valid = true; + if (Smarty::SMARTY_VERSION != $properties['version']) { + // new version must rebuild + $is_valid = false; + } elseif ($is_valid && !empty($properties['file_dependency']) && + ((!$cache && $tpl->smarty->compile_check) || $tpl->smarty->compile_check == 1) + ) { + // check file dependencies at compiled code + foreach ($properties['file_dependency'] as $_file_to_check) { + if ($_file_to_check[2] == 'file' || $_file_to_check[2] == 'extends' || $_file_to_check[2] == 'php') { + if ($tpl->source->filepath == $_file_to_check[0]) { + // do not recheck current template + continue; + //$mtime = $tpl->source->getTimeStamp(); + } else { + // file and php types can be checked without loading the respective resource handlers + $mtime = is_file($_file_to_check[0]) ? filemtime($_file_to_check[0]) : false; + } + } elseif ($_file_to_check[2] == 'string') { + continue; + } else { + $source = Smarty_Template_Source::load(null, $tpl->smarty, $_file_to_check[0]); + $mtime = $source->getTimeStamp(); + } + if (!$mtime || $mtime > $_file_to_check[1]) { + $is_valid = false; + break; + } + } + } + if ($cache) { + // CACHING_LIFETIME_SAVED cache expiry has to be validated here since otherwise we'd define the unifunc + if ($tpl->caching === Smarty::CACHING_LIFETIME_SAVED && $properties['cache_lifetime'] >= 0 && + (time() > ($tpl->cached->timestamp + $properties['cache_lifetime'])) + ) { + $is_valid = false; + } + $tpl->cached->cache_lifetime = $properties['cache_lifetime']; + $tpl->cached->valid = $is_valid; + $resource = $tpl->cached; + } else { + $tpl->mustCompile = !$is_valid; + $resource = $tpl->compiled; + $resource->includes = isset($properties['includes']) ? $properties['includes'] : array(); + } + if ($is_valid) { + $resource->unifunc = $properties['unifunc']; + $resource->has_nocache_code = $properties['has_nocache_code']; + // $tpl->compiled->nocache_hash = $properties['nocache_hash']; + $resource->file_dependency = $properties['file_dependency']; + if (isset($properties['tpl_function'])) { + $tpl->tpl_function = $properties['tpl_function']; + } + } + return $is_valid && !function_exists($properties['unifunc']); + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_runtime_var.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_var.php new file mode 100644 index 000000000..fe4f94d91 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_var.php @@ -0,0 +1,33 @@ +<?php + +/** + * Runtime Methods createLocalArrayVariable + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + * + **/ +class Smarty_Internal_Runtime_Var +{ + /** + * Template code runtime function to create a local Smarty variable for array assignments + * + * @param \Smarty_Internal_Template $tpl template object + * @param string $varName template variable name + * @param bool $nocache cache mode of variable + */ + public function createLocalArrayVariable(\Smarty_Internal_Template $tpl, $varName, $nocache = false) + { + if (!isset($tpl->tpl_vars[$varName])) { + $tpl->tpl_vars[$varName] = new Smarty_Variable(array(), $nocache); + } else { + $tpl->tpl_vars[$varName] = clone $tpl->tpl_vars[$varName]; + if (!(is_array($tpl->tpl_vars[$varName]->value) || + $tpl->tpl_vars[$varName]->value instanceof ArrayAccess) + ) { + settype($tpl->tpl_vars[$varName]->value, 'array'); + } + } + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_write_file.php b/library/Smarty/libs/sysplugins/smarty_internal_runtime_writefile.php index f46fe2b6c..05c973783 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_write_file.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_runtime_writefile.php @@ -13,7 +13,7 @@ * @package Smarty * @subpackage PluginsInternal */ -class Smarty_Internal_Write_File +class Smarty_Internal_Runtime_WriteFile { /** * Writes file in a safe way to disk @@ -25,18 +25,20 @@ class Smarty_Internal_Write_File * @throws SmartyException * @return boolean true */ - public static function writeFile($_filepath, $_contents, Smarty $smarty) + public function writeFile($_filepath, $_contents, Smarty $smarty) { $_error_reporting = error_reporting(); error_reporting($_error_reporting & ~E_NOTICE & ~E_WARNING); - if ($smarty->_file_perms !== null) { + $_file_perms = property_exists($smarty, '_file_perms') ? $smarty->_file_perms : 0644; + $_dir_perms = property_exists($smarty, '_dir_perms') ? (isset($smarty->_dir_perms) ? $smarty->_dir_perms : 0777) : 0771; + if ($_file_perms !== null) { $old_umask = umask(0); } $_dirpath = dirname($_filepath); // if subdirs, create dir structure if ($_dirpath !== '.' && !file_exists($_dirpath)) { - mkdir($_dirpath, $smarty->_dir_perms === null ? 0777 : $smarty->_dir_perms, true); + mkdir($_dirpath, $_dir_perms, true); } // write to tmp file, then move to overt file lock race condition @@ -55,7 +57,9 @@ class Smarty_Internal_Write_File */ if (Smarty::$_IS_WINDOWS) { // remove original file - @unlink($_filepath); + if (is_file($_filepath)) { + @unlink($_filepath); + } // rename tmp file $success = @rename($_tmp_file, $_filepath); } else { @@ -63,20 +67,20 @@ class Smarty_Internal_Write_File $success = @rename($_tmp_file, $_filepath); if (!$success) { // remove original file - @unlink($_filepath); + if (is_file($_filepath)) { + @unlink($_filepath); + } // rename tmp file $success = @rename($_tmp_file, $_filepath); } } - if (!$success) { error_reporting($_error_reporting); throw new SmartyException("unable to write file {$_filepath}"); } - - if ($smarty->_file_perms !== null) { + if ($_file_perms !== null) { // set file permissions - chmod($_filepath, $smarty->_file_perms); + chmod($_filepath, $_file_perms); umask($old_umask); } error_reporting($_error_reporting); diff --git a/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php b/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php index 50bd16ef2..116bbea7b 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php @@ -9,11 +9,6 @@ */ /** - * @ignore - */ -include 'smarty_internal_parsetree.php'; - -/** * Class SmartyTemplateCompiler * * @package Smarty @@ -36,32 +31,32 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom public $parser_class; /** - * Lexer object + * array of vars which can be compiled in local scope * - * @var object + * @var array */ - public $lex; + public $local_var = array(); /** - * Parser object + * array of callbacks called when the normal compile process of template is finished * - * @var object + * @var array */ - public $parser; + public $postCompileCallbacks = array(); /** - * Smarty object + * prefix code * - * @var object + * @var string */ - public $smarty; + public $prefixCompiledCode = ''; /** - * array of vars which can be compiled in local scope + * postfix code * - * @var array + * @var string */ - public $local_var = array(); + public $postfixCompiledCode = ''; /** * Initialize compiler @@ -70,10 +65,9 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom * @param string $parser_class class name * @param Smarty $smarty global instance */ - public function __construct($lexer_class, $parser_class, $smarty) + public function __construct($lexer_class, $parser_class, Smarty $smarty) { - $this->smarty = $smarty; - parent::__construct(); + parent::__construct($smarty); // get required plugins $this->lexer_class = $lexer_class; $this->parser_class = $parser_class; @@ -83,20 +77,22 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom * method to compile a Smarty template * * @param mixed $_content template source + * @param bool $isTemplateSource * - * @return bool true if compiling succeeded, false if it failed + * @return bool true if compiling succeeded, false if it failed + * @throws \SmartyCompilerException */ - protected function doCompile($_content) + protected function doCompile($_content, $isTemplateSource = false) { /* here is where the compiling takes place. Smarty tags in the templates are replaces with PHP code, then written to compiled files. */ // init the lexer/parser to compile the template - $this->lex = new $this->lexer_class($_content, $this); - $this->parser = new $this->parser_class($this->lex, $this); - if ($this->inheritance_child) { - // start state on child templates - $this->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBODY); + $this->parser = + new $this->parser_class(new $this->lexer_class(str_replace(array("\r\n", "\r"), "\n", $_content), $this), + $this); + if ($isTemplateSource && $this->template->caching) { + $this->parser->insertPhpCode("<?php\n\$_smarty_tpl->compiled->nocache_hash = '{$this->nocache_hash}';\n?>\n"); } if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) { $mbEncoding = mb_internal_encoding(); @@ -107,21 +103,17 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom if ($this->smarty->_parserdebug) { $this->parser->PrintTrace(); - $this->lex->PrintTrace(); + $this->parser->lex->PrintTrace(); } // get tokens from lexer and parse them - while ($this->lex->yylex() && !$this->abort_and_recompile) { + while ($this->parser->lex->yylex()) { if ($this->smarty->_parserdebug) { - echo "<pre>Line {$this->lex->line} Parsing {$this->parser->yyTokenName[$this->lex->token]} Token " . - htmlentities($this->lex->value) . "</pre>"; + echo "<pre>Line {$this->parser->lex->line} Parsing {$this->parser->yyTokenName[$this->parser->lex->token]} Token " . + htmlentities($this->parser->lex->value) . "</pre>"; } - $this->parser->doParse($this->lex->token, $this->lex->value); + $this->parser->doParse($this->parser->lex->token, $this->parser->lex->value); } - if ($this->abort_and_recompile) { - // exit here on abort - return false; - } // finish parsing process $this->parser->doParse(0, 0); if ($mbEncoding) { @@ -131,10 +123,47 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom if (count($this->_tag_stack) > 0) { // get stacked info list($openTag, $_data) = array_pop($this->_tag_stack); - $this->trigger_template_error("unclosed {$this->smarty->left_delimiter}" . $openTag . "{$this->smarty->right_delimiter} tag"); + $this->trigger_template_error("unclosed {$this->smarty->left_delimiter}" . $openTag . + "{$this->smarty->right_delimiter} tag"); + } + // call post compile callbacks + foreach ($this->postCompileCallbacks as $cb) { + $parameter = $cb; + $parameter[0] = $this; + call_user_func_array($cb[0], $parameter); } // return compiled code - // return str_replace(array("? >\n<?php","? ><?php"), array('',''), $this->parser->retvalue); - return $this->parser->retvalue; + return $this->prefixCompiledCode . $this->parser->retvalue . $this->postfixCompiledCode; + } + + /** + * Register a post compile callback + * - when the callback is called after template compiling the compiler object will be inserted as first parameter + * + * @param callback $callback + * @param array $parameter optional parameter array + * @param string $key optional key for callback + * @param bool $replace if true replace existing keyed callback + */ + public function registerPostCompileCallback($callback, $parameter = array(), $key = null, $replace = false) + { + array_unshift($parameter, $callback); + if (isset($key)) { + if ($replace || !isset($this->postCompileCallbacks[$key])) { + $this->postCompileCallbacks[$key] = $parameter; + } + } else { + $this->postCompileCallbacks[] = $parameter; + } + } + + /** + * Remove a post compile callback + * + * @param string $key callback key + */ + public function unregisterPostCompileCallback($key) + { + unset($this->postCompileCallbacks[$key]); } } diff --git a/library/Smarty/libs/sysplugins/smarty_internal_template.php b/library/Smarty/libs/sysplugins/smarty_internal_template.php index f1a73a4ae..52c7391b1 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_template.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_template.php @@ -13,120 +13,90 @@ * * @package Smarty * @subpackage Template - * @property Smarty_Template_Source $source - * @property Smarty_Template_Compiled $compiled - * @property Smarty_Template_Cached $cached + * + * @property Smarty_Template_Source|Smarty_Template_Config $source + * @property Smarty_Template_Compiled $compiled + * @property Smarty_Template_Cached $cached + * @method bool mustCompile() */ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { /** - * cache_id + * This object type (Smarty = 1, template = 2, data = 4) * - * @var string + * @var int */ - public $cache_id = null; - /** - * $compile_id - * @var string - */ - public $compile_id = null; + public $_objType = 2; + /** - * caching enabled + * Global smarty instance * - * @var boolean + * @var Smarty */ - public $caching = null; + public $smarty = null; + /** - * cache lifetime in seconds + * Source instance * - * @var integer + * @var Smarty_Template_Source|Smarty_Template_Config */ - public $cache_lifetime = null; + public $source = null; + /** * Template resource * * @var string */ public $template_resource = null; + /** * flag if compiled template is invalid and must be (re)compiled * * @var bool */ public $mustCompile = null; + /** - * flag if template does contain nocache code sections - * - * @var bool - */ - public $has_nocache_code = false; - /** - * special compiled and cached template properties - * - * @var array - */ - public $properties = array('file_dependency' => array(), - 'nocache_hash' => '', - 'function' => array()); - /** - * required plugins - * - * @var array - */ - public $required_plugins = array('compiled' => array(), 'nocache' => array()); - /** - * Global smarty instance - * - * @var Smarty - */ - public $smarty = null; - /** - * blocks for template inheritance - * - * @var array - */ - public $block_data = array(); - /** - * variable filters + * Template Id * - * @var array + * @var null|string */ - public $variable_filters = array(); + public $templateId = null; + /** - * optional log of tag/attributes + * Known template functions * * @var array */ - public $used_tags = array(); - /** - * internal flag to allow relative path in child template blocks - * - * @var bool - */ - public $allow_relative_path = false; + public $tpl_function = array(); + /** - * internal capture runtime stack + * Scope in which template is rendered * - * @var array + * @var int */ - public $_capture_stack = array(0 => array()); + public $scope = 0; /** * Create template data object * Some of the global Smarty settings copied to template scope - * It load the required template resources and cacher plugins + * It load the required template resources and caching plugins + * + * @param string $template_resource template resource string + * @param Smarty $smarty Smarty instance + * @param \Smarty_Internal_Template|\Smarty|\Smarty_Internal_Data $_parent back pointer to parent object + * with variables or null + * @param mixed $_cache_id cache id or null + * @param mixed $_compile_id compile id or null + * @param bool $_caching use caching? + * @param int $_cache_lifetime cache life-time in seconds * - * @param string $template_resource template resource string - * @param Smarty $smarty Smarty instance - * @param Smarty_Internal_Template $_parent back pointer to parent object with variables or null - * @param mixed $_cache_id cache id or null - * @param mixed $_compile_id compile id or null - * @param bool $_caching use caching? - * @param int $_cache_lifetime cache life-time in seconds + * @throws \SmartyException */ - public function __construct($template_resource, $smarty, $_parent = null, $_cache_id = null, $_compile_id = null, $_caching = null, $_cache_lifetime = null) + public function __construct($template_resource, Smarty $smarty, Smarty_Internal_Data $_parent = null, + $_cache_id = null, $_compile_id = null, $_caching = null, $_cache_lifetime = null) { - $this->smarty = & $smarty; + $this->smarty = &$smarty; // Smarty parameter $this->cache_id = $_cache_id === null ? $this->smarty->cache_id : $_cache_id; $this->compile_id = $_compile_id === null ? $this->smarty->compile_id : $_compile_id; @@ -138,499 +108,207 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase $this->parent = $_parent; // Template resource $this->template_resource = $template_resource; - // copy block data of template inheritance - if ($this->parent instanceof Smarty_Internal_Template) { - $this->block_data = $this->parent->block_data; - } + $this->source = Smarty_Template_Source::load($this); + parent::__construct(); } /** - * Returns if the current template must be compiled by the Smarty compiler - * It does compare the timestamps of template source and the compiled templates and checks the force compile configuration + * render template * + * @param bool $merge_tpl_vars if true parent template variables merged in to local scope + * @param bool $no_output_filter if true do not run output filter + * @param bool $display true: display, false: fetch null: subtemplate + * + * @throws Exception * @throws SmartyException - * @return boolean true if the template must be compiled + * @return string rendered template output */ - public function mustCompile() + public function render($no_output_filter = true, $display = null) { + $parentIsTpl = isset($this->parent) && $this->parent->_objType == 2; + if ($this->smarty->debugging) { + $this->smarty->_debug->start_template($this, $display); + } + // checks if template exists if (!$this->source->exists) { - if ($this->parent instanceof Smarty_Internal_Template) { - $parent_resource = " in '$this->parent->template_resource}'"; + if ($parentIsTpl) { + $parent_resource = " in '{$this->parent->template_resource}'"; } else { $parent_resource = ''; } throw new SmartyException("Unable to load template {$this->source->type} '{$this->source->name}'{$parent_resource}"); } - if ($this->mustCompile === null) { - $this->mustCompile = (!$this->source->uncompiled && ($this->smarty->force_compile || $this->source->recompiled || $this->compiled->timestamp === false || - ($this->smarty->compile_check && $this->compiled->timestamp < $this->source->timestamp))); + // check URL debugging control + if (!$this->smarty->debugging && $this->smarty->debugging_ctrl == 'URL') { + $this->smarty->_debug->debugUrl($this); } - - return $this->mustCompile; - } - - /** - * Compiles the template - * If the template is not evaluated the compiled template is saved on disk - */ - public function compileTemplateSource() - { - if (!$this->source->recompiled) { - $this->properties['file_dependency'] = array(); - if ($this->source->components) { - // for the extends resource the compiler will fill it - // uses real resource for file dependency - // $source = end($this->source->components); - // $this->properties['file_dependency'][$this->source->uid] = array($this->source->filepath, $this->source->timestamp, $source->type); - } else { - $this->properties['file_dependency'][$this->source->uid] = array($this->source->filepath, $this->source->timestamp, $this->source->type); - } - } - // compile locking - if ($this->smarty->compile_locking && !$this->source->recompiled) { - if ($saved_timestamp = $this->compiled->timestamp) { - touch($this->compiled->filepath); - } - } - // call compiler - try { - $code = $this->compiler->compileTemplate($this); - } - catch (Exception $e) { - // restore old timestamp in case of error - if ($this->smarty->compile_locking && !$this->source->recompiled && $saved_timestamp) { - touch($this->compiled->filepath, $saved_timestamp); - } - throw $e; - } - // compiling succeded - if (!$this->source->recompiled && $this->compiler->write_compiled_code) { - // write compiled template - $_filepath = $this->compiled->filepath; - if ($_filepath === false) { - throw new SmartyException('getCompiledFilepath() did not return a destination to save the compiled template to'); - } - Smarty_Internal_Write_File::writeFile($_filepath, $code, $this->smarty); - $this->compiled->exists = true; - $this->compiled->isCompiled = true; - } - // release compiler object to free memory - unset($this->compiler); - } - - /** - * Writes the cached template output - * - * @param string $content - * - * @return bool - */ - public function writeCachedContent($content) - { - if ($this->source->recompiled || !($this->caching == Smarty::CACHING_LIFETIME_CURRENT || $this->caching == Smarty::CACHING_LIFETIME_SAVED)) { - // don't write cache file - return false; + // disable caching for evaluated code + if ($this->source->handler->recompiled) { + $this->caching = false; } - $this->cached->timestamp = time(); - $this->properties['cache_lifetime'] = $this->cache_lifetime; - $this->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true)); - $content = $this->createTemplateCodeFrame($content, true); - /** @var Smarty_Internal_Template $_smarty_tpl - * used in evaluated code - */ - $_smarty_tpl = $this; - eval("?>" . $content); - $this->cached->valid = true; - $this->cached->processed = true; - - return $this->cached->write($this, $content); - } - - /** - * Template code runtime function to get subtemplate content - * - * @param string $template the resource handle of the template file - * @param mixed $cache_id cache id to be used with this template - * @param mixed $compile_id compile id to be used with this template - * @param integer $caching cache mode - * @param integer $cache_lifetime life time of cache data - * @param $data - * @param int $parent_scope scope in which {include} should execute - * - * @returns string template content - */ - public function getSubTemplate($template, $cache_id, $compile_id, $caching, $cache_lifetime, $data, $parent_scope) - { - // already in template cache? - if ($this->smarty->allow_ambiguous_resources) { - $_templateId = Smarty_Resource::getUniqueTemplateName($this, $template) . $cache_id . $compile_id; - } else { - $_templateId = $this->smarty->joined_template_dir . '#' . $template . $cache_id . $compile_id; - } - - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); - } - if (isset($this->smarty->template_objects[$_templateId])) { - // clone cached template object because of possible recursive call - $tpl = clone $this->smarty->template_objects[$_templateId]; - $tpl->parent = $this; - $tpl->caching = $caching; - $tpl->cache_lifetime = $cache_lifetime; - } else { - $tpl = new $this->smarty->template_class($template, $this->smarty, $this, $cache_id, $compile_id, $caching, $cache_lifetime); - } - // get variables from calling scope - if ($parent_scope == Smarty::SCOPE_LOCAL) { - $tpl->tpl_vars = $this->tpl_vars; - $tpl->tpl_vars['smarty'] = clone $this->tpl_vars['smarty']; - } elseif ($parent_scope == Smarty::SCOPE_PARENT) { - $tpl->tpl_vars = & $this->tpl_vars; - } elseif ($parent_scope == Smarty::SCOPE_GLOBAL) { - $tpl->tpl_vars = & Smarty::$global_tpl_vars; - } elseif (($scope_ptr = $this->getScopePointer($parent_scope)) == null) { - $tpl->tpl_vars = & $this->tpl_vars; - } else { - $tpl->tpl_vars = & $scope_ptr->tpl_vars; - } - $tpl->config_vars = $this->config_vars; - if (!empty($data)) { - // set up variable values - foreach ($data as $_key => $_val) { - $tpl->tpl_vars[$_key] = new Smarty_variable($_val); + // read from cache or render + $isCacheTpl = + $this->caching == Smarty::CACHING_LIFETIME_CURRENT || $this->caching == Smarty::CACHING_LIFETIME_SAVED; + if ($isCacheTpl) { + if (!isset($this->cached)) { + $this->loadCached(); } - } - - return $tpl->fetch(null, null, null, null, false, false, true); - } - - /** - * Template code runtime function to set up an inline subtemplate - * - * @param string $template the resource handle of the template file - * @param mixed $cache_id cache id to be used with this template - * @param mixed $compile_id compile id to be used with this template - * @param integer $caching cache mode - * @param integer $cache_lifetime life time of cache data - * @param $data - * @param int $parent_scope scope in which {include} should execute - * @param string $hash nocache hash code - * - * @returns string template content - */ - public function setupInlineSubTemplate($template, $cache_id, $compile_id, $caching, $cache_lifetime, $data, $parent_scope, $hash) - { - $tpl = new $this->smarty->template_class($template, $this->smarty, $this, $cache_id, $compile_id, $caching, $cache_lifetime); - $tpl->properties['nocache_hash'] = $hash; - // get variables from calling scope - if ($parent_scope == Smarty::SCOPE_LOCAL) { - $tpl->tpl_vars = $this->tpl_vars; - $tpl->tpl_vars['smarty'] = clone $this->tpl_vars['smarty']; - } elseif ($parent_scope == Smarty::SCOPE_PARENT) { - $tpl->tpl_vars = & $this->tpl_vars; - } elseif ($parent_scope == Smarty::SCOPE_GLOBAL) { - $tpl->tpl_vars = & Smarty::$global_tpl_vars; - } elseif (($scope_ptr = $this->getScopePointer($parent_scope)) == null) { - $tpl->tpl_vars = & $this->tpl_vars; + $this->cached->render($this, $no_output_filter); + } elseif ($this->source->handler->uncompiled) { + $this->source->render($this); } else { - $tpl->tpl_vars = & $scope_ptr->tpl_vars; - } - $tpl->config_vars = $this->config_vars; - if (!empty($data)) { - // set up variable values - foreach ($data as $_key => $_val) { - $tpl->tpl_vars[$_key] = new Smarty_variable($_val); + if (!isset($this->compiled)) { + $this->loadCompiled(); } + $this->compiled->render($this); } - return $tpl; - } - - /** - * Create code frame for compiled and cached templates - * - * @param string $content optional template content - * @param bool $cache flag for cache file - * - * @return string - */ - public function createTemplateCodeFrame($content = '', $cache = false) - { - $plugins_string = ''; - // include code for plugins - if (!$cache) { - if (!empty($this->required_plugins['compiled'])) { - $plugins_string = '<?php '; - foreach ($this->required_plugins['compiled'] as $tmp) { - foreach ($tmp as $data) { - $file = addslashes($data['file']); - if (is_Array($data['function'])) { - $plugins_string .= "if (!is_callable(array('{$data['function'][0]}','{$data['function'][1]}'))) include '{$file}';\n"; - } else { - $plugins_string .= "if (!is_callable('{$data['function']}')) include '{$file}';\n"; - } - } + // display or fetch + if ($display) { + if ($this->caching && $this->smarty->cache_modified_check) { + $this->smarty->ext->_cachemodify->cacheModifiedCheck($this->cached, $this, + isset($content) ? $content : ob_get_clean()); + } else { + if ((!$this->caching || $this->cached->has_nocache_code || $this->source->handler->recompiled) && + !$no_output_filter && (isset($this->smarty->autoload_filters['output']) || + isset($this->smarty->registered_filters['output'])) + ) { + echo $this->smarty->ext->_filterHandler->runFilter('output', ob_get_clean(), $this); + } else { + ob_end_flush(); + flush(); } - $plugins_string .= '?>'; } - if (!empty($this->required_plugins['nocache'])) { - $this->has_nocache_code = true; - $plugins_string .= "<?php echo '/*%%SmartyNocache:{$this->properties['nocache_hash']}%%*/<?php \$_smarty = \$_smarty_tpl->smarty; "; - foreach ($this->required_plugins['nocache'] as $tmp) { - foreach ($tmp as $data) { - $file = addslashes($data['file']); - if (is_Array($data['function'])) { - $plugins_string .= addslashes("if (!is_callable(array('{$data['function'][0]}','{$data['function'][1]}'))) include '{$file}';\n"); - } else { - $plugins_string .= addslashes("if (!is_callable('{$data['function']}')) include '{$file}';\n"); - } - } - } - $plugins_string .= "?>/*/%%SmartyNocache:{$this->properties['nocache_hash']}%%*/';?>\n"; + if ($this->smarty->debugging) { + $this->smarty->_debug->end_template($this); + // debug output + $this->smarty->_debug->display_debug($this, true); } - } - // build property code - $this->properties['has_nocache_code'] = $this->has_nocache_code; - $output = ''; - if (!$this->source->recompiled) { - $output = "<?php /*%%SmartyHeaderCode:{$this->properties['nocache_hash']}%%*/"; - if ($this->smarty->direct_access_security) { - $output .= "if(!defined('SMARTY_DIR')) exit('no direct access allowed');\n"; + return ''; + } else { + if ($this->smarty->debugging) { + $this->smarty->_debug->end_template($this); + if ($this->smarty->debugging == 2 and !$display) { + $this->smarty->_debug->display_debug($this, true); + } } - } - if ($cache) { - // remove compiled code of{function} definition - unset($this->properties['function']); - if (!empty($this->smarty->template_functions)) { - // copy code of {function} tags called in nocache mode - foreach ($this->smarty->template_functions as $name => $function_data) { - if (isset($function_data['called_nocache'])) { - foreach ($function_data['called_functions'] as $func_name) { - $this->smarty->template_functions[$func_name]['called_nocache'] = true; - } - } + if ($parentIsTpl) { + if (!empty($this->tpl_function)) { + $this->parent->tpl_function = array_merge($this->parent->tpl_function, $this->tpl_function); } - foreach ($this->smarty->template_functions as $name => $function_data) { - if (isset($function_data['called_nocache'])) { - unset($function_data['called_nocache'], $function_data['called_functions'], $this->smarty->template_functions[$name]['called_nocache']); - $this->properties['function'][$name] = $function_data; + foreach ($this->compiled->required_plugins as $code => $tmp1) { + foreach ($tmp1 as $name => $tmp) { + foreach ($tmp as $type => $data) { + $this->parent->compiled->required_plugins[$code][$name][$type] = $data; + } } } } + if (!$no_output_filter && + (!$this->caching || $this->cached->has_nocache_code || $this->source->handler->recompiled) && + (isset($this->smarty->autoload_filters['output']) || isset($this->smarty->registered_filters['output'])) + ) { + return $this->smarty->ext->_filterHandler->runFilter('output', ob_get_clean(), $this); + } + // return cache content + return null; } - $this->properties['version'] = Smarty::SMARTY_VERSION; - if (!isset($this->properties['unifunc'])) { - $this->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true)); - } - if (!$this->source->recompiled) { - $output .= "\$_valid = \$_smarty_tpl->decodeProperties(" . var_export($this->properties, true) . ',' . ($cache ? 'true' : 'false') . "); /*/%%SmartyHeaderCode%%*/?>\n"; - $output .= '<?php if ($_valid && !is_callable(\'' . $this->properties['unifunc'] . '\')) {function ' . $this->properties['unifunc'] . '($_smarty_tpl) {?>'; - } - $output .= $plugins_string; - $output .= $content; - if (!$this->source->recompiled) { - $output .= "<?php }} ?>\n"; - } + } - return $output; + /** + * Compiles the template + * If the template is not evaluated the compiled template is saved on disk + */ + public function compileTemplateSource() + { + return $this->compiled->compileTemplateSource($this); } /** - * This function is executed automatically when a compiled or cached template file is included - * - Decode saved properties from compiled template and cache files - * - Check if compiled or cache file is valid + * Writes the content to cache resource * - * @param array $properties special template properties - * @param bool $cache flag if called from cache file + * @param string $content * - * @return bool flag if compiled or cache file is valid + * @return bool */ - public function decodeProperties($properties, $cache = false) + public function writeCachedContent($content) { - $this->has_nocache_code = $properties['has_nocache_code']; - $this->properties['nocache_hash'] = $properties['nocache_hash']; - if (isset($properties['cache_lifetime'])) { - $this->properties['cache_lifetime'] = $properties['cache_lifetime']; - } - if (isset($properties['file_dependency'])) { - $this->properties['file_dependency'] = array_merge($this->properties['file_dependency'], $properties['file_dependency']); - } - if (!empty($properties['function'])) { - $this->properties['function'] = array_merge($this->properties['function'], $properties['function']); - $this->smarty->template_functions = array_merge($this->smarty->template_functions, $properties['function']); - } - $this->properties['version'] = (isset($properties['version'])) ? $properties['version'] : ''; - $this->properties['unifunc'] = $properties['unifunc']; - // check file dependencies at compiled code - $is_valid = true; - if ($this->properties['version'] != Smarty::SMARTY_VERSION) { - $is_valid = false; - } elseif (((!$cache && $this->smarty->compile_check && empty($this->compiled->_properties) && !$this->compiled->isCompiled) || $cache && ($this->smarty->compile_check === true || $this->smarty->compile_check === Smarty::COMPILECHECK_ON)) && !empty($this->properties['file_dependency'])) { - foreach ($this->properties['file_dependency'] as $_file_to_check) { - if ($_file_to_check[2] == 'file' || $_file_to_check[2] == 'php') { - if ($this->source->filepath == $_file_to_check[0] && isset($this->source->timestamp)) { - // do not recheck current template - $mtime = $this->source->timestamp; - } else { - // file and php types can be checked without loading the respective resource handlers - $mtime = @filemtime($_file_to_check[0]); - } - } elseif ($_file_to_check[2] == 'string') { - continue; - } else { - $source = Smarty_Resource::source(null, $this->smarty, $_file_to_check[0]); - $mtime = $source->timestamp; - } - if (!$mtime || $mtime > $_file_to_check[1]) { - $is_valid = false; - break; - } - } - } - if ($cache) { - // CACHING_LIFETIME_SAVED cache expiry has to be validated here since otherwise we'd define the unifunc - if ($this->caching === Smarty::CACHING_LIFETIME_SAVED && - $this->properties['cache_lifetime'] >= 0 && - (time() > ($this->cached->timestamp + $this->properties['cache_lifetime'])) - ) { - $is_valid = false; - } - $this->cached->valid = $is_valid; - } else { - $this->mustCompile = !$is_valid; - } - // store data in reusable Smarty_Template_Compiled - if (!$cache) { - $this->compiled->_properties = $properties; - } - - return $is_valid; + return $this->smarty->ext->_updateCache->writeCachedContent($this->cached, $this, $content); } /** - * Template code runtime function to create a local Smarty variable for array assignments + * Get unique template id * - * @param string $tpl_var tempate variable name - * @param bool $nocache cache mode of variable - * @param int $scope scope of variable + * @return string */ - public function createLocalArrayVariable($tpl_var, $nocache = false, $scope = Smarty::SCOPE_LOCAL) + public function _getTemplateId() { - if (!isset($this->tpl_vars[$tpl_var])) { - $this->tpl_vars[$tpl_var] = new Smarty_variable(array(), $nocache, $scope); - } else { - $this->tpl_vars[$tpl_var] = clone $this->tpl_vars[$tpl_var]; - if ($scope != Smarty::SCOPE_LOCAL) { - $this->tpl_vars[$tpl_var]->scope = $scope; - } - if (!(is_array($this->tpl_vars[$tpl_var]->value) || $this->tpl_vars[$tpl_var]->value instanceof ArrayAccess)) { - settype($this->tpl_vars[$tpl_var]->value, 'array'); - } - } + return isset($this->templateId) ? $this->templateId : $this->templateId = + $this->smarty->_getTemplateId($this->template_resource, $this->cache_id, $this->compile_id); } /** - * Template code runtime function to get pointer to template variable array of requested scope - * - * @param int $scope requested variable scope - * - * @return array array of template variables + * runtime error not matching capture tags */ - public function &getScope($scope) + public function capture_error() { - if ($scope == Smarty::SCOPE_PARENT && !empty($this->parent)) { - return $this->parent->tpl_vars; - } elseif ($scope == Smarty::SCOPE_ROOT && !empty($this->parent)) { - $ptr = $this->parent; - while (!empty($ptr->parent)) { - $ptr = $ptr->parent; - } - - return $ptr->tpl_vars; - } elseif ($scope == Smarty::SCOPE_GLOBAL) { - return Smarty::$global_tpl_vars; - } - $null = null; - - return $null; + throw new SmartyException("Not matching {capture} open/close in \"{$this->template_resource}\""); } /** - * Get parent or root of template parent chain + * Load compiled object * - * @param int $scope pqrent or root scope - * - * @return mixed object */ - public function getScopePointer($scope) + public function loadCompiled() { - if ($scope == Smarty::SCOPE_PARENT && !empty($this->parent)) { - return $this->parent; - } elseif ($scope == Smarty::SCOPE_ROOT && !empty($this->parent)) { - $ptr = $this->parent; - while (!empty($ptr->parent)) { - $ptr = $ptr->parent; - } - - return $ptr; + if (!isset($this->compiled)) { + $this->compiled = Smarty_Template_Compiled::load($this); } - - return null; } /** - * [util function] counts an array, arrayaccess/traversable or PDOStatement object - * - * @param mixed $value + * Load cached object * - * @return int the count for arrays and objects that implement countable, 1 for other objects that don't, and 0 for empty elements */ - public function _count($value) + public function loadCached() { - if (is_array($value) === true || $value instanceof Countable) { - return count($value); - } elseif ($value instanceof IteratorAggregate) { - // Note: getIterator() returns a Traversable, not an Iterator - // thus rewind() and valid() methods may not be present - return iterator_count($value->getIterator()); - } elseif ($value instanceof Iterator) { - return iterator_count($value); - } elseif ($value instanceof PDOStatement) { - return $value->rowCount(); - } elseif ($value instanceof Traversable) { - return iterator_count($value); - } elseif ($value instanceof ArrayAccess) { - if ($value->offsetExists(0)) { - return 1; - } - } elseif (is_object($value)) { - return count($value); + if (!isset($this->cached)) { + $this->cached = Smarty_Template_Cached::load($this); } - - return 0; } /** - * runtime error not matching capture tags - + * Load compiler object + * + * @throws \SmartyException */ - public function capture_error() + public function loadCompiler() { - throw new SmartyException("Not matching {capture} open/close in \"{$this->template_resource}\""); + if (!class_exists($this->source->handler->compiler_class)) { + $this->smarty->loadPlugin($this->source->handler->compiler_class); + } + $this->compiler = new $this->source->handler->compiler_class($this->source->handler->template_lexer_class, + $this->source->handler->template_parser_class, + $this->smarty); } /** - * Empty cache for this template + * Handle unknown class methods * - * @param integer $exp_time expiration time + * @param string $name unknown method-name + * @param array $args argument array * - * @return integer number of cache files deleted + * @return mixed + * @throws SmartyException */ - public function clearCache($exp_time = null) + public function __call($name, $args) { - Smarty_CacheResource::invalidLoadedCache($this->smarty); - - return $this->cached->handler->clear($this->smarty, $this->template_name, $this->cache_id, $this->compile_id, $exp_time); + // method of Smarty object? + if (method_exists($this->smarty, $name)) { + return call_user_func_array(array($this->smarty, $name), $args); + } + // parent + return parent::__call($name, $args); } /** @@ -644,23 +322,18 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase public function __set($property_name, $value) { switch ($property_name) { - case 'source': case 'compiled': case 'cached': case 'compiler': $this->$property_name = $value; - return; - - // FIXME: routing of template -> smarty attributes default: + // Smarty property ? if (property_exists($this->smarty, $property_name)) { $this->smarty->$property_name = $value; - return; } } - throw new SmartyException("invalid template property '$property_name'."); } @@ -669,65 +342,34 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase * * @param string $property_name property name * + * @return mixed|Smarty_Template_Cached * @throws SmartyException */ public function __get($property_name) { switch ($property_name) { - case 'source': - if (strlen($this->template_resource) == 0) { - throw new SmartyException('Missing template name'); - } - $this->source = Smarty_Resource::source($this); - // cache template object under a unique ID - // do not cache eval resources - if ($this->source->type != 'eval') { - if ($this->smarty->allow_ambiguous_resources) { - $_templateId = $this->source->unique_resource . $this->cache_id . $this->compile_id; - } else { - $_templateId = $this->smarty->joined_template_dir . '#' . $this->template_resource . $this->cache_id . $this->compile_id; - } - - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); - } - $this->smarty->template_objects[$_templateId] = $this; - } - - return $this->source; - case 'compiled': - $this->compiled = $this->source->getCompiled($this); - + $this->loadCompiled(); return $this->compiled; case 'cached': - if (!class_exists('Smarty_Template_Cached')) { - include SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php'; - } - $this->cached = new Smarty_Template_Cached($this); - + $this->loadCached(); return $this->cached; case 'compiler': - $this->smarty->loadPlugin($this->source->compiler_class); - $this->compiler = new $this->source->compiler_class($this->source->template_lexer_class, $this->source->template_parser_class, $this->smarty); - + $this->loadCompiler(); return $this->compiler; - - // FIXME: routing of template -> smarty attributes default: + // Smarty property ? if (property_exists($this->smarty, $property_name)) { return $this->smarty->$property_name; } } - throw new SmartyException("template property '$property_name' does not exist."); } /** * Template data object destructor - */ public function __destruct() { diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php b/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php index f8f1c9e1e..9b4953dee 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php @@ -1,860 +1,316 @@ -<?php
-/**
- * Smarty Internal Plugin Smarty Template Base
- * This file contains the basic shared methods for template handling
- *
- * @package Smarty
- * @subpackage Template
- * @author Uwe Tews
- */
-
-/**
- * Class with shared template methods
- *
- * @package Smarty
- * @subpackage Template
- */
-abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data
-{
- /**
- * fetches a rendered Smarty template
- *
- * @param string $template the resource handle of the template file or template object
- * @param mixed $cache_id cache id to be used with this template
- * @param mixed $compile_id compile id to be used with this template
- * @param object $parent next higher level of Smarty variables
- * @param bool $display true: display, false: fetch
- * @param bool $merge_tpl_vars if true parent template variables merged in to local scope
- * @param bool $no_output_filter if true do not run output filter
- *
- * @throws Exception
- * @throws SmartyException
- * @return string rendered template output
- */
- public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null, $display = false, $merge_tpl_vars = true, $no_output_filter = false)
- {
- if ($template === null && $this instanceof $this->template_class) {
- $template = $this;
- }
- if ($cache_id !== null && is_object($cache_id)) {
- $parent = $cache_id;
- $cache_id = null;
- }
- if ($parent === null && ($this instanceof Smarty || is_string($template))) {
- $parent = $this;
- }
- // create template object if necessary
- $_template = ($template instanceof $this->template_class)
- ? $template
- : $this->smarty->createTemplate($template, $cache_id, $compile_id, $parent, false);
- // if called by Smarty object make sure we use current caching status
- if ($this instanceof Smarty) {
- $_template->caching = $this->caching;
- }
- // merge all variable scopes into template
- if ($merge_tpl_vars) {
- // save local variables
- $save_tpl_vars = $_template->tpl_vars;
- $save_config_vars = $_template->config_vars;
- $ptr_array = array($_template);
- $ptr = $_template;
- while (isset($ptr->parent)) {
- $ptr_array[] = $ptr = $ptr->parent;
- }
- $ptr_array = array_reverse($ptr_array);
- $parent_ptr = reset($ptr_array);
- $tpl_vars = $parent_ptr->tpl_vars;
- $config_vars = $parent_ptr->config_vars;
- while ($parent_ptr = next($ptr_array)) {
- if (!empty($parent_ptr->tpl_vars)) {
- $tpl_vars = array_merge($tpl_vars, $parent_ptr->tpl_vars);
- }
- if (!empty($parent_ptr->config_vars)) {
- $config_vars = array_merge($config_vars, $parent_ptr->config_vars);
- }
- }
- if (!empty(Smarty::$global_tpl_vars)) {
- $tpl_vars = array_merge(Smarty::$global_tpl_vars, $tpl_vars);
- }
- $_template->tpl_vars = $tpl_vars;
- $_template->config_vars = $config_vars;
- }
- // dummy local smarty variable
- if (!isset($_template->tpl_vars['smarty'])) {
- $_template->tpl_vars['smarty'] = new Smarty_Variable;
- }
- if (isset($this->smarty->error_reporting)) {
- $_smarty_old_error_level = error_reporting($this->smarty->error_reporting);
- }
- // check URL debugging control
- if (!$this->smarty->debugging && $this->smarty->debugging_ctrl == 'URL') {
- if (isset($_SERVER['QUERY_STRING'])) {
- $_query_string = $_SERVER['QUERY_STRING'];
- } else {
- $_query_string = '';
- }
- if (false !== strpos($_query_string, $this->smarty->smarty_debug_id)) {
- if (false !== strpos($_query_string, $this->smarty->smarty_debug_id . '=on')) {
- // enable debugging for this browser session
- setcookie('SMARTY_DEBUG', true);
- $this->smarty->debugging = true;
- } elseif (false !== strpos($_query_string, $this->smarty->smarty_debug_id . '=off')) {
- // disable debugging for this browser session
- setcookie('SMARTY_DEBUG', false);
- $this->smarty->debugging = false;
- } else {
- // enable debugging for this page
- $this->smarty->debugging = true;
- }
- } else {
- if (isset($_COOKIE['SMARTY_DEBUG'])) {
- $this->smarty->debugging = true;
- }
- }
- }
- // must reset merge template date
- $_template->smarty->merged_templates_func = array();
- // get rendered template
- // disable caching for evaluated code
- if ($_template->source->recompiled) {
- $_template->caching = false;
- }
- // checks if template exists
- if (!$_template->source->exists) {
- if ($_template->parent instanceof Smarty_Internal_Template) {
- $parent_resource = " in '{$_template->parent->template_resource}'";
- } else {
- $parent_resource = '';
- }
- throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}");
- }
- // read from cache or render
- if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || !$_template->cached->valid) {
- // render template (not loaded and not in cache)
- if (!$_template->source->uncompiled) {
- /** @var Smarty_Internal_Template $_smarty_tpl
- * used in evaluated code
- */
- $_smarty_tpl = $_template;
- if ($_template->source->recompiled) {
- $code = $_template->compiler->compileTemplate($_template);
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::start_render($_template);
- }
- try {
- ob_start();
- eval("?>" . $code);
- unset($code);
- }
- catch (Exception $e) {
- ob_get_clean();
- throw $e;
- }
- } else {
- if (!$_template->compiled->exists || ($_template->smarty->force_compile && !$_template->compiled->isCompiled)) {
- $_template->compileTemplateSource();
- $code = file_get_contents($_template->compiled->filepath);
- eval("?>" . $code);
- unset($code);
- $_template->compiled->loaded = true;
- $_template->compiled->isCompiled = true;
- }
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::start_render($_template);
- }
- if (!$_template->compiled->loaded) {
- include($_template->compiled->filepath);
- if ($_template->mustCompile) {
- // recompile and load again
- $_template->compileTemplateSource();
- $code = file_get_contents($_template->compiled->filepath);
- eval("?>" . $code);
- unset($code);
- $_template->compiled->isCompiled = true;
- }
- $_template->compiled->loaded = true;
- } else {
- $_template->decodeProperties($_template->compiled->_properties, false);
- }
- try {
- ob_start();
- if (empty($_template->properties['unifunc']) || !is_callable($_template->properties['unifunc'])) {
- throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
- }
- array_unshift($_template->_capture_stack, array());
- //
- // render compiled template
- //
- $_template->properties['unifunc']($_template);
- // any unclosed {capture} tags ?
- if (isset($_template->_capture_stack[0][0])) {
- $_template->capture_error();
- }
- array_shift($_template->_capture_stack);
- }
- catch (Exception $e) {
- ob_get_clean();
- throw $e;
- }
- }
- } else {
- if ($_template->source->uncompiled) {
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::start_render($_template);
- }
- try {
- ob_start();
- $_template->source->renderUncompiled($_template);
- }
- catch (Exception $e) {
- ob_get_clean();
- throw $e;
- }
- } else {
- throw new SmartyException("Resource '$_template->source->type' must have 'renderUncompiled' method");
- }
- }
- $_output = ob_get_clean();
- if (!$_template->source->recompiled && empty($_template->properties['file_dependency'][$_template->source->uid])) {
- $_template->properties['file_dependency'][$_template->source->uid] = array($_template->source->filepath, $_template->source->timestamp, $_template->source->type);
- }
- if ($_template->parent instanceof Smarty_Internal_Template) {
- $_template->parent->properties['file_dependency'] = array_merge($_template->parent->properties['file_dependency'], $_template->properties['file_dependency']);
- foreach ($_template->required_plugins as $code => $tmp1) {
- foreach ($tmp1 as $name => $tmp) {
- foreach ($tmp as $type => $data) {
- $_template->parent->required_plugins[$code][$name][$type] = $data;
- }
- }
- }
- }
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::end_render($_template);
- }
- // write to cache when nessecary
- if (!$_template->source->recompiled && ($_template->caching == Smarty::CACHING_LIFETIME_SAVED || $_template->caching == Smarty::CACHING_LIFETIME_CURRENT)) {
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::start_cache($_template);
- }
- $_template->properties['has_nocache_code'] = false;
- // get text between non-cached items
- $cache_split = preg_split("!/\*%%SmartyNocache:{$_template->properties['nocache_hash']}%%\*\/(.+?)/\*/%%SmartyNocache:{$_template->properties['nocache_hash']}%%\*/!s", $_output);
- // get non-cached items
- preg_match_all("!/\*%%SmartyNocache:{$_template->properties['nocache_hash']}%%\*\/(.+?)/\*/%%SmartyNocache:{$_template->properties['nocache_hash']}%%\*/!s", $_output, $cache_parts);
- $output = '';
- // loop over items, stitch back together
- foreach ($cache_split as $curr_idx => $curr_split) {
- // escape PHP tags in template content
- $output .= preg_replace('/(<%|%>|<\?php|<\?|\?>|<script\s+language\s*=\s*[\"\']?\s*php\s*[\"\']?\s*>)/', "<?php echo '\$1'; ?>\n", $curr_split);
- if (isset($cache_parts[0][$curr_idx])) {
- $_template->properties['has_nocache_code'] = true;
- // remove nocache tags from cache output
- $output .= preg_replace("!/\*/?%%SmartyNocache:{$_template->properties['nocache_hash']}%%\*/!", '', $cache_parts[0][$curr_idx]);
- }
- }
- if (!$no_output_filter && !$_template->has_nocache_code && (isset($this->smarty->autoload_filters['output']) || isset($this->smarty->registered_filters['output']))) {
- $output = Smarty_Internal_Filter_Handler::runFilter('output', $output, $_template);
- }
- // rendering (must be done before writing cache file because of {function} nocache handling)
- /** @var Smarty_Internal_Template $_smarty_tpl
- * used in evaluated code
- */
- $_smarty_tpl = $_template;
- try {
- ob_start();
- eval("?>" . $output);
- $_output = ob_get_clean();
- }
- catch (Exception $e) {
- ob_get_clean();
- throw $e;
- }
- // write cache file content
- $_template->writeCachedContent($output);
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::end_cache($_template);
- }
- } else {
- // var_dump('renderTemplate', $_template->has_nocache_code, $_template->template_resource, $_template->properties['nocache_hash'], $_template->parent->properties['nocache_hash'], $_output);
- if (!empty($_template->properties['nocache_hash']) && !empty($_template->parent->properties['nocache_hash'])) {
- // replace nocache_hash
- $_output = str_replace("{$_template->properties['nocache_hash']}", $_template->parent->properties['nocache_hash'], $_output);
- $_template->parent->has_nocache_code = $_template->parent->has_nocache_code || $_template->has_nocache_code;
- }
- }
- } else {
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::start_cache($_template);
- }
- try {
- ob_start();
- array_unshift($_template->_capture_stack, array());
- //
- // render cached template
- //
- $_template->properties['unifunc']($_template);
- // any unclosed {capture} tags ?
- if (isset($_template->_capture_stack[0][0])) {
- $_template->capture_error();
- }
- array_shift($_template->_capture_stack);
- $_output = ob_get_clean();
- }
- catch (Exception $e) {
- ob_get_clean();
- throw $e;
- }
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::end_cache($_template);
- }
- }
- if ((!$this->caching || $_template->has_nocache_code || $_template->source->recompiled) && !$no_output_filter && (isset($this->smarty->autoload_filters['output']) || isset($this->smarty->registered_filters['output']))) {
- $_output = Smarty_Internal_Filter_Handler::runFilter('output', $_output, $_template);
- }
- if (isset($this->error_reporting)) {
- error_reporting($_smarty_old_error_level);
- }
- // display or fetch
- if ($display) {
- if ($this->caching && $this->cache_modified_check) {
- $_isCached = $_template->isCached() && !$_template->has_nocache_code;
- $_last_modified_date = @substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 0, strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'], 'GMT') + 3);
- if ($_isCached && $_template->cached->timestamp <= strtotime($_last_modified_date)) {
- switch (PHP_SAPI) {
- case 'cgi': // php-cgi < 5.3
- case 'cgi-fcgi': // php-cgi >= 5.3
- case 'fpm-fcgi': // php-fpm >= 5.3.3
- header('Status: 304 Not Modified');
- break;
-
- case 'cli':
- if ( /* ^phpunit */
- !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */
- ) {
- $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified';
- }
- break;
-
- default:
- header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
- break;
- }
- } else {
- switch (PHP_SAPI) {
- case 'cli':
- if ( /* ^phpunit */
- !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */
- ) {
- $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = 'Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT';
- }
- break;
-
- default:
- header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT');
- break;
- }
- echo $_output;
- }
- } else {
- echo $_output;
- }
- // debug output
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::display_debug($_template);
- }
- if ($merge_tpl_vars) {
- // restore local variables
- $_template->tpl_vars = $save_tpl_vars;
- $_template->config_vars = $save_config_vars;
- }
-
- return;
- } else {
- if ($merge_tpl_vars) {
- // restore local variables
- $_template->tpl_vars = $save_tpl_vars;
- $_template->config_vars = $save_config_vars;
- }
- // return fetched content
- return $_output;
- }
- }
-
- /**
- * displays a Smarty template
- *
- * @param string $template the resource handle of the template file or template object
- * @param mixed $cache_id cache id to be used with this template
- * @param mixed $compile_id compile id to be used with this template
- * @param object $parent next higher level of Smarty variables
- */
- public function display($template = null, $cache_id = null, $compile_id = null, $parent = null)
- {
- // display template
- $this->fetch($template, $cache_id, $compile_id, $parent, true);
- }
-
- /**
- * test if cache is valid
- *
- * @param string|object $template the resource handle of the template file or template object
- * @param mixed $cache_id cache id to be used with this template
- * @param mixed $compile_id compile id to be used with this template
- * @param object $parent next higher level of Smarty variables
- *
- * @return boolean cache status
- */
- public function isCached($template = null, $cache_id = null, $compile_id = null, $parent = null)
- {
- if ($template === null && $this instanceof $this->template_class) {
- return $this->cached->valid;
- }
- if (!($template instanceof $this->template_class)) {
- if ($parent === null) {
- $parent = $this;
- }
- $template = $this->smarty->createTemplate($template, $cache_id, $compile_id, $parent, false);
- }
- // return cache status of template
- return $template->cached->valid;
- }
-
- /**
- * creates a data object
- *
- * @param object $parent next higher level of Smarty variables
- *
- * @returns Smarty_Data data object
- */
- public function createData($parent = null)
- {
- return new Smarty_Data($parent, $this);
- }
-
- /**
- * Registers plugin to be used in templates
- *
- * @param string $type plugin type
- * @param string $tag name of template tag
- * @param callback $callback PHP callback to register
- * @param boolean $cacheable if true (default) this fuction is cachable
- * @param array $cache_attr caching attributes if any
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException when the plugin tag is invalid
- */
- public function registerPlugin($type, $tag, $callback, $cacheable = true, $cache_attr = null)
- {
- if (isset($this->smarty->registered_plugins[$type][$tag])) {
- throw new SmartyException("Plugin tag \"{$tag}\" already registered");
- } elseif (!is_callable($callback)) {
- throw new SmartyException("Plugin \"{$tag}\" not callable");
- } else {
- $this->smarty->registered_plugins[$type][$tag] = array($callback, (bool) $cacheable, (array) $cache_attr);
- }
-
- return $this;
- }
-
- /**
- * Unregister Plugin
- *
- * @param string $type of plugin
- * @param string $tag name of plugin
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function unregisterPlugin($type, $tag)
- {
- if (isset($this->smarty->registered_plugins[$type][$tag])) {
- unset($this->smarty->registered_plugins[$type][$tag]);
- }
-
- return $this;
- }
-
- /**
- * Registers a resource to fetch a template
- *
- * @param string $type name of resource type
- * @param Smarty_Resource|array $callback or instance of Smarty_Resource, or array of callbacks to handle resource (deprecated)
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function registerResource($type, $callback)
- {
- $this->smarty->registered_resources[$type] = $callback instanceof Smarty_Resource ? $callback : array($callback, false);
-
- return $this;
- }
-
- /**
- * Unregisters a resource
- *
- * @param string $type name of resource type
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function unregisterResource($type)
- {
- if (isset($this->smarty->registered_resources[$type])) {
- unset($this->smarty->registered_resources[$type]);
- }
-
- return $this;
- }
-
- /**
- * Registers a cache resource to cache a template's output
- *
- * @param string $type name of cache resource type
- * @param Smarty_CacheResource $callback instance of Smarty_CacheResource to handle output caching
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function registerCacheResource($type, Smarty_CacheResource $callback)
- {
- $this->smarty->registered_cache_resources[$type] = $callback;
-
- return $this;
- }
-
- /**
- * Unregisters a cache resource
- *
- * @param string $type name of cache resource type
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function unregisterCacheResource($type)
- {
- if (isset($this->smarty->registered_cache_resources[$type])) {
- unset($this->smarty->registered_cache_resources[$type]);
- }
-
- return $this;
- }
-
- /**
- * Registers object to be used in templates
- *
- * @param $object_name
- * @param object $object_impl the referenced PHP object to register
- * @param array $allowed list of allowed methods (empty = all)
- * @param boolean $smarty_args smarty argument format, else traditional
- * @param array $block_methods list of block-methods
- *
- * @throws SmartyException
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function registerObject($object_name, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
- {
- // test if allowed methods callable
- if (!empty($allowed)) {
- foreach ((array) $allowed as $method) {
- if (!is_callable(array($object_impl, $method)) && !property_exists($object_impl, $method)) {
- throw new SmartyException("Undefined method or property '$method' in registered object");
- }
- }
- }
- // test if block methods callable
- if (!empty($block_methods)) {
- foreach ((array) $block_methods as $method) {
- if (!is_callable(array($object_impl, $method))) {
- throw new SmartyException("Undefined method '$method' in registered object");
- }
- }
- }
- // register the object
- $this->smarty->registered_objects[$object_name] =
- array($object_impl, (array) $allowed, (boolean) $smarty_args, (array) $block_methods);
-
- return $this;
- }
-
- /**
- * return a reference to a registered object
- *
- * @param string $name object name
- *
- * @return object
- * @throws SmartyException if no such object is found
- */
- public function getRegisteredObject($name)
- {
- if (!isset($this->smarty->registered_objects[$name])) {
- throw new SmartyException("'$name' is not a registered object");
- }
- if (!is_object($this->smarty->registered_objects[$name][0])) {
- throw new SmartyException("registered '$name' is not an object");
- }
-
- return $this->smarty->registered_objects[$name][0];
- }
-
- /**
- * unregister an object
- *
- * @param string $name object name
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function unregisterObject($name)
- {
- if (isset($this->smarty->registered_objects[$name])) {
- unset($this->smarty->registered_objects[$name]);
- }
-
- return $this;
- }
-
- /**
- * Registers static classes to be used in templates
- *
- * @param $class_name
- * @param string $class_impl the referenced PHP class to register
- *
- * @throws SmartyException
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function registerClass($class_name, $class_impl)
- {
- // test if exists
- if (!class_exists($class_impl)) {
- throw new SmartyException("Undefined class '$class_impl' in register template class");
- }
- // register the class
- $this->smarty->registered_classes[$class_name] = $class_impl;
-
- return $this;
- }
-
- /**
- * Registers a default plugin handler
- *
- * @param callable $callback class/method name
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if $callback is not callable
- */
- public function registerDefaultPluginHandler($callback)
- {
- if (is_callable($callback)) {
- $this->smarty->default_plugin_handler_func = $callback;
- } else {
- throw new SmartyException("Default plugin handler '$callback' not callable");
- }
-
- return $this;
- }
-
- /**
- * Registers a default template handler
- *
- * @param callable $callback class/method name
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if $callback is not callable
- */
- public function registerDefaultTemplateHandler($callback)
- {
- if (is_callable($callback)) {
- $this->smarty->default_template_handler_func = $callback;
- } else {
- throw new SmartyException("Default template handler '$callback' not callable");
- }
-
- return $this;
- }
-
- /**
- * Registers a default template handler
- *
- * @param callable $callback class/method name
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if $callback is not callable
- */
- public function registerDefaultConfigHandler($callback)
- {
- if (is_callable($callback)) {
- $this->smarty->default_config_handler_func = $callback;
- } else {
- throw new SmartyException("Default config handler '$callback' not callable");
- }
-
- return $this;
- }
-
- /**
- * Registers a filter function
- *
- * @param string $type filter type
- * @param callback $callback
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function registerFilter($type, $callback)
- {
- $this->smarty->registered_filters[$type][$this->_get_filter_name($callback)] = $callback;
-
- return $this;
- }
-
- /**
- * Unregisters a filter function
- *
- * @param string $type filter type
- * @param callback $callback
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function unregisterFilter($type, $callback)
- {
- $name = $this->_get_filter_name($callback);
- if (isset($this->smarty->registered_filters[$type][$name])) {
- unset($this->smarty->registered_filters[$type][$name]);
- }
-
- return $this;
- }
-
- /**
- * Return internal filter name
- *
- * @param callback $function_name
- *
- * @return string internal filter name
- */
- public function _get_filter_name($function_name)
- {
- if (is_array($function_name)) {
- $_class_name = (is_object($function_name[0]) ?
- get_class($function_name[0]) : $function_name[0]);
-
- return $_class_name . '_' . $function_name[1];
- } else {
- return $function_name;
- }
- }
-
- /**
- * load a filter of specified type and name
- *
- * @param string $type filter type
- * @param string $name filter name
- *
- * @throws SmartyException if filter could not be loaded
- */
- public function loadFilter($type, $name)
- {
- $_plugin = "smarty_{$type}filter_{$name}";
- $_filter_name = $_plugin;
- if ($this->smarty->loadPlugin($_plugin)) {
- if (class_exists($_plugin, false)) {
- $_plugin = array($_plugin, 'execute');
- }
- if (is_callable($_plugin)) {
- $this->smarty->registered_filters[$type][$_filter_name] = $_plugin;
-
- return true;
- }
- }
- throw new SmartyException("{$type}filter \"{$name}\" not callable");
- }
-
- /**
- * unload a filter of specified type and name
- *
- * @param string $type filter type
- * @param string $name filter name
- *
- * @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- */
- public function unloadFilter($type, $name)
- {
- $_filter_name = "smarty_{$type}filter_{$name}";
- if (isset($this->smarty->registered_filters[$type][$_filter_name])) {
- unset ($this->smarty->registered_filters[$type][$_filter_name]);
- }
-
- return $this;
- }
-
- /**
- * preg_replace callback to convert camelcase getter/setter to underscore property names
- *
- * @param string $match match string
- *
- * @return string replacemant
- */
- private function replaceCamelcase($match)
- {
- return "_" . strtolower($match[1]);
- }
-
- /**
- * Handle unknown class methods
- *
- * @param string $name unknown method-name
- * @param array $args argument array
- *
- * @throws SmartyException
- */
- public function __call($name, $args)
- {
- static $_prefixes = array('set' => true, 'get' => true);
- static $_resolved_property_name = array();
- static $_resolved_property_source = array();
-
- // method of Smarty object?
- if (method_exists($this->smarty, $name)) {
- return call_user_func_array(array($this->smarty, $name), $args);
- }
- // see if this is a set/get for a property
- $first3 = strtolower(substr($name, 0, 3));
- if (isset($_prefixes[$first3]) && isset($name[3]) && $name[3] !== '_') {
- if (isset($_resolved_property_name[$name])) {
- $property_name = $_resolved_property_name[$name];
- } else {
- // try to keep case correct for future PHP 6.0 case-sensitive class methods
- // lcfirst() not available < PHP 5.3.0, so improvise
- $property_name = strtolower(substr($name, 3, 1)) . substr($name, 4);
- // convert camel case to underscored name
- $property_name = preg_replace_callback('/([A-Z])/', array($this, 'replaceCamelcase'), $property_name);
- $_resolved_property_name[$name] = $property_name;
- }
- if (isset($_resolved_property_source[$property_name])) {
- $_is_this = $_resolved_property_source[$property_name];
- } else {
- $_is_this = null;
- if (property_exists($this, $property_name)) {
- $_is_this = true;
- } elseif (property_exists($this->smarty, $property_name)) {
- $_is_this = false;
- }
- $_resolved_property_source[$property_name] = $_is_this;
- }
- if ($_is_this) {
- if ($first3 == 'get') {
- return $this->$property_name;
- } else {
- return $this->$property_name = $args[0];
- }
- } elseif ($_is_this === false) {
- if ($first3 == 'get') {
- return $this->smarty->$property_name;
- } else {
- return $this->smarty->$property_name = $args[0];
- }
- } else {
- throw new SmartyException("property '$property_name' does not exist.");
- }
- }
- if ($name == 'Smarty') {
- throw new SmartyException("PHP5 requires you to call __construct() instead of Smarty()");
- }
- // must be unknown
- throw new SmartyException("Call of unknown method '$name'.");
- }
-}
+<?php +/** + * Smarty Internal Plugin Smarty Template Base + * This file contains the basic shared methods for template handling + * + * @package Smarty + * @subpackage Template + * @author Uwe Tews + */ + +/** + * Class with shared template methods + * + * @package Smarty + * @subpackage Template + * + * @property Smarty $smarty + * @method Smarty_Internal_TemplateBase setAutoloadFilters(mixed $filters, string $type = null) + * @method Smarty_Internal_TemplateBase addAutoloadFilters(mixed $filters, string $type = null) + * @method array getAutoloadFilters(string $type = null) + * @local_method Smarty_Internal_TemplateBase registerFilter(string $type, callback $callback, string $name = null) + * @method Smarty_Internal_TemplateBase unregisterFilter(string $type, mixed $callback) + * @method Smarty_Internal_TemplateBase unloadFilter(string $type, string $name) + * @method string getDebugTemplate() + * @method Smarty_Internal_TemplateBase setDebugTemplate(string $tpl_name) + * @method Smarty_Internal_TemplateBase setDefaultModifier(mixed $modifiers) + * @method Smarty_Internal_TemplateBase addDefaultModifier(mixed $modifiers) + * @method array getDefaultModifier() + * @method Smarty_Internal_TemplateBase registerDefaultPluginHandler(callback $callback) + * @method Smarty_Internal_TemplateBase registerResource(string $name, Smarty_Resource $resource_handler) + * @method Smarty_Internal_TemplateBase unregisterResource(string $name) + * @method Smarty_Internal_TemplateBase registerCacheResource(string $name, Smarty_CacheResource $resource_handler) + * @method Smarty_Internal_TemplateBase unregisterCacheResource(string $name) + * @method Smarty_Internal_TemplateBase unregisterPlugin(string $type, string $name) + * @method Smarty_Internal_TemplateBase unregisterObject(string $object_name) + * @method object getRegisteredObject(string $object_name) + * @method Smarty_Internal_TemplateBase registerClass(string $class_name, string $class_impl) + * @method Smarty_Internal_TemplateBase createData(Smarty_Internal_Data $parent = null, string $name = null) + * @method array getTags(mixed $template = null) + */ +abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data +{ + /** + * Set this if you want different sets of cache files for the same + * templates. + * + * @var string + */ + public $cache_id = null; + + /** + * Set this if you want different sets of compiled files for the same + * templates. + * + * @var string + */ + public $compile_id = null; + + /** + * caching enabled + * + * @var boolean + */ + public $caching = false; + + /** + * cache lifetime in seconds + * + * @var integer + */ + public $cache_lifetime = 3600; + + /** + * universal cache + * + * @var array() + */ + public $_cache = array(); + + /** + * fetches a rendered Smarty template + * + * @param string $template the resource handle of the template file or template object + * @param mixed $cache_id cache id to be used with this template + * @param mixed $compile_id compile id to be used with this template + * @param object $parent next higher level of Smarty variables + * + * @throws Exception + * @throws SmartyException + * @return string rendered template output + */ + public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null) + { + $result = $this->_execute($template, $cache_id, $compile_id, $parent, 0); + return $result === null ? ob_get_clean() : $result; + } + + /** + * displays a Smarty template + * + * @param string $template the resource handle of the template file or template object + * @param mixed $cache_id cache id to be used with this template + * @param mixed $compile_id compile id to be used with this template + * @param object $parent next higher level of Smarty variables + */ + public function display($template = null, $cache_id = null, $compile_id = null, $parent = null) + { + // display template + $this->_execute($template, $cache_id, $compile_id, $parent, 1); + } + + /** + * test if cache is valid + * + * @api Smarty::isCached() + * @link http://www.smarty.net/docs/en/api.is.cached.tpl + * + * @param null|string|\Smarty_Internal_Template $template the resource handle of the template file or template object + * @param mixed $cache_id cache id to be used with this template + * @param mixed $compile_id compile id to be used with this template + * @param object $parent next higher level of Smarty variables + * + * @return boolean cache status + */ + public function isCached($template = null, $cache_id = null, $compile_id = null, $parent = null) + { + return $this->_execute($template, $cache_id, $compile_id, $parent, 2); + } + + /** + * fetches a rendered Smarty template + * + * @param string $template the resource handle of the template file or template object + * @param mixed $cache_id cache id to be used with this template + * @param mixed $compile_id compile id to be used with this template + * @param object $parent next higher level of Smarty variables + * @param string $function function type 0 = fetch, 1 = display, 2 = isCache + * + * @return mixed + * @throws \Exception + * @throws \SmartyException + */ + private function _execute($template, $cache_id, $compile_id, $parent, $function) + { + $smarty = $this->_objType == 1 ? $this : $this->smarty; + if ($template === null) { + if ($this->_objType != 2) { + throw new SmartyException($function . '():Missing \'$template\' parameter'); + } else { + $template = clone $this; + } + } elseif (is_object($template)) { + if (!isset($template->_objType) || $template->_objType != 2) { + throw new SmartyException($function . '():Template object expected'); + } else { + /* @var Smarty_Internal_Template $template */ + $template = clone $template; + } + } else { + // get template object + /* @var Smarty_Internal_Template $template */ + $template = $smarty->createTemplate($template, $cache_id, $compile_id, $parent, false); + if ($this->_objType == 1) { + // set caching in template object + $template->caching = $this->caching; + } + } + // fetch template content + $level = ob_get_level(); + try { + $_smarty_old_error_level = + ($this->_objType == 1 && isset($smarty->error_reporting)) ? error_reporting($smarty->error_reporting) : + null; + if ($function == 2) { + if ($template->caching) { + // return cache status of template + if (!isset($template->cached)) { + $template->loadCached(); + } + $result = $template->cached->isCached($template); + $template->smarty->_cache['isCached'][$template->_getTemplateId()] = $template; + } else { + return false; + } + } else { + ob_start(); + $template->_mergeVars(); + if (!empty(Smarty::$global_tpl_vars)) { + $template->tpl_vars = array_merge(Smarty::$global_tpl_vars, $template->tpl_vars); + } + $result = $template->render(false, $function); + } + if (isset($_smarty_old_error_level)) { + error_reporting($_smarty_old_error_level); + } + return $result; + } + catch (Exception $e) { + while (ob_get_level() > $level) { + ob_end_clean(); + } + throw $e; + } + } + + /** + * Registers plugin to be used in templates + * + * @api Smarty::registerPlugin() + * @link http://www.smarty.net/docs/en/api.register.plugin.tpl + * + * @param string $type plugin type + * @param string $name name of template tag + * @param callback $callback PHP callback to register + * @param bool $cacheable if true (default) this function is cache able + * @param mixed $cache_attr caching attributes if any + * + * @return \Smarty|\Smarty_Internal_Template + * @throws SmartyException when the plugin tag is invalid + */ + public function registerPlugin($type, $name, $callback, $cacheable = true, $cache_attr = null) + { + return $this->ext->registerPlugin->registerPlugin($this, $type, $name, $callback, $cacheable, $cache_attr); + } + + /** + * load a filter of specified type and name + * + * @api Smarty::loadFilter() + * @link http://www.smarty.net/docs/en/api.load.filter.tpl + * + * @param string $type filter type + * @param string $name filter name + * + * @return bool + * @throws SmartyException if filter could not be loaded + */ + public function loadFilter($type, $name) + { + return $this->ext->loadFilter->loadFilter($this, $type, $name); + } + + /** + * Registers a filter function + * + * @api Smarty::registerFilter() + * @link http://www.smarty.net/docs/en/api.register.filter.tpl + * + * @param string $type filter type + * @param callback $callback + * @param string|null $name optional filter name + * + * @return \Smarty|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function registerFilter($type, $callback, $name = null) + { + return $this->ext->registerFilter->registerFilter($this, $type, $callback, $name); + } + + /** + * Registers object to be used in templates + * + * @api Smarty::registerObject() + * @link http://www.smarty.net/docs/en/api.register.object.tpl + * + * @param string $object_name + * @param object $object the referenced PHP object to register + * @param array $allowed_methods_properties list of allowed methods (empty = all) + * @param bool $format smarty argument format, else traditional + * @param array $block_methods list of block-methods + * + * @return \Smarty|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function registerObject($object_name, $object, $allowed_methods_properties = array(), $format = true, + $block_methods = array()) + { + return $this->ext->registerObject->registerObject($this, $object_name, $object, $allowed_methods_properties, + $format, $block_methods); + } + + /** + * @param boolean $caching + */ + public function setCaching($caching) + { + $this->caching = $caching; + } + + /** + * @param int $cache_lifetime + */ + public function setCacheLifetime($cache_lifetime) + { + $this->cache_lifetime = $cache_lifetime; + } + + /** + * @param string $compile_id + */ + public function setCompileId($compile_id) + { + $this->compile_id = $compile_id; + } + + /** + * @param string $cache_id + */ + public function setCacheId($cache_id) + { + $this->cache_id = $cache_id; + } + +} + diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php b/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php index d00bfb8f4..9487c3454 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php @@ -14,36 +14,49 @@ * * @package Smarty * @subpackage Compiler + * + * @property Smarty_Internal_SmartyTemplateCompiler $prefixCompiledCode = '' + * @property Smarty_Internal_SmartyTemplateCompiler $postfixCompiledCode = '' + * @method Smarty_Internal_SmartyTemplateCompiler registerPostCompileCallback($callback, $parameter = array(), $key = null, $replace = false) + * @method Smarty_Internal_SmartyTemplateCompiler unregisterPostCompileCallback($key) */ abstract class Smarty_Internal_TemplateCompilerBase { + /** - * hash for nocache sections + * Smarty object * - * @var mixed + * @var Smarty */ - private $nocache_hash = null; + public $smarty = null; /** - * suppress generation of nocache code + * Parser object * - * @var bool + * @var Smarty_Internal_Templateparser */ - public $suppressNocacheProcessing = false; + public $parser = null; /** - * suppress generation of merged template code + * hash for nocache sections + * + * @var mixed + */ + public $nocache_hash = null; + + /** + * suppress generation of nocache code * * @var bool */ - public $suppressMergedTemplates = false; + public $suppressNocacheProcessing = false; /** - * compile tag objects + * compile tag objects cache * * @var array */ - public static $_tag_objects = array(); + public $_tag_objects = array(); /** * tag stack @@ -60,39 +73,25 @@ abstract class Smarty_Internal_TemplateCompilerBase public $template = null; /** - * merged templates + * merged included sub template data * * @var array */ - public $merged_templates = array(); + public $mergedSubTemplatesData = array(); /** - * sources which must be compiled + * merged sub template code * * @var array */ - public $sources = array(); - - /** - * flag that we are inside {block} - * - * @var bool - */ - public $inheritance = false; - - /** - * flag when compiling inheritance child template - * - * @var bool - */ - public $inheritance_child = false; + public $mergedSubTemplatesCode = array(); /** - * uid of templates called by {extends} for recursion check + * collected template properties during compilation * * @var array */ - public $extends_uid = array(); + public $templateProperties = array(); /** * source line offset for error messages @@ -114,6 +113,7 @@ abstract class Smarty_Internal_TemplateCompilerBase * @var string */ public $trace_filepath = ''; + /** * stack for tracing file and line of nested {block} tags * @@ -143,183 +143,315 @@ abstract class Smarty_Internal_TemplateCompilerBase public $forceNocache = false; /** - * suppress Smarty header code in compiled template + * flag if compiled template file shall we written + * + * @var bool + */ + public $write_compiled_code = true; + + /** + * called sub functions from template function + * + * @var array + */ + public $called_functions = array(); + + /** + * compiled template or block function code + * + * @var string + */ + public $blockOrFunctionCode = ''; + + /** + * php_handling setting either from Smarty or security + * + * @var int + */ + public $php_handling = 0; + + /** + * flags for used modifier plugins + * + * @var array + */ + public $modifier_plugins = array(); + + /** + * type of already compiled modifier + * + * @var array + */ + public $known_modifier_type = array(); + + /** + * parent compiler object for merged subtemplates and template functions + * + * @var Smarty_Internal_TemplateCompilerBase + */ + public $parent_compiler = null; + + /** + * Flag true when compiling nocache section * * @var bool */ - public $suppressHeader = false; + public $nocache = false; /** - * suppress template property header code in compiled template + * Flag true when tag is compiled as nocache * * @var bool */ - public $suppressTemplatePropertyHeader = false; + public $tag_nocache = false; + + /** + * Compiled tag prefix code + * + * @var array + */ + public $prefix_code = array(); + + /** + * Prefix code stack + * + * @var array + */ + public $prefixCodeStack = array(); /** - * suppress pre and post filter + * Tag has compiled code * * @var bool */ - public $suppressFilter = false; + public $has_code = false; /** - * flag if compiled template file shall we written + * A variable string was compiled * * @var bool */ - public $write_compiled_code = true; + public $has_variable_string = false; /** - * flag if currently a template function is compiled + * Tag creates output * * @var bool */ - public $compiles_template_function = false; + public $has_output = false; /** - * called subfuntions from template function + * Stack for {setfilter} {/setfilter} * * @var array */ - public $called_functions = array(); + public $variable_filter_stack = array(); /** - * flags for used modifier plugins + * variable filters for {setfilter} {/setfilter} * * @var array */ - public $modifier_plugins = array(); + public $variable_filters = array(); /** - * type of already compiled modifier + * Nesting count of looping tags like {foreach}, {for}, {section}, {while} + * + * @var int + */ + public $loopNesting = 0; + + /** + * Strip preg pattern + * + * @var string + */ + public $stripRegEx = '![\t ]*[\r\n]+[\t ]*!'; + + /** + * plugin search order * * @var array */ - public $known_modifier_type = array(); + public $plugin_search_order = array('function', 'block', 'compiler', 'class'); + + /** + * General storage area for tag compiler plugins + * + * @var array + */ + public $_cache = array(); /** * method to compile a Smarty template * - * @param mixed $_content template source + * @param mixed $_content template source + * @param bool $isTemplateSource * - * @return bool true if compiling succeeded, false if it failed + * @return bool true if compiling succeeded, false if it failed */ - abstract protected function doCompile($_content); + abstract protected function doCompile($_content, $isTemplateSource = false); /** * Initialize compiler + * + * @param Smarty $smarty global instance */ - public function __construct() + public function __construct(Smarty $smarty) { - $this->nocache_hash = str_replace(array('.', ','), '-', uniqid(rand(), true)); + $this->smarty = $smarty; + $this->nocache_hash = str_replace(array('.', ','), '_', uniqid(rand(), true)); } /** * Method to compile a Smarty template * - * @param Smarty_Internal_Template $template template object to compile - * @param bool $nocache true is shall be compiled in nocache mode + * @param Smarty_Internal_Template $template template object to compile + * @param bool $nocache true is shall be compiled in nocache mode + * @param null|Smarty_Internal_TemplateCompilerBase $parent_compiler * - * @return bool true if compiling succeeded, false if it failed + * @return bool true if compiling succeeded, false if it failed + * @throws \Exception */ - public function compileTemplate(Smarty_Internal_Template $template, $nocache = false) + public function compileTemplate(Smarty_Internal_Template $template, $nocache = null, + Smarty_Internal_TemplateCompilerBase $parent_compiler = null) { - if (empty($template->properties['nocache_hash'])) { - $template->properties['nocache_hash'] = $this->nocache_hash; - } else { - $this->nocache_hash = $template->properties['nocache_hash']; - } - // flag for nochache sections - $this->nocache = $nocache; - $this->tag_nocache = false; - // save template object in compiler class - $this->template = $template; - // reset has nocache code flag - $this->template->has_nocache_code = false; - $save_source = $this->template->source; - // template header code - $template_header = ''; - if (!$this->suppressHeader) { - $template_header .= "<?php /* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . strftime("%Y-%m-%d %H:%M:%S") . "\n"; - $template_header .= " compiled from \"" . $this->template->source->filepath . "\" */ ?>\n"; - } + // get code frame of compiled template + $_compiled_code = $template->smarty->ext->_codeFrame->create($template, + $this->compileTemplateSource($template, $nocache, + $parent_compiler), + $this->postFilter($this->blockOrFunctionCode) . + join('', $this->mergedSubTemplatesCode)); + return $_compiled_code; + } - if (empty($this->template->source->components)) { - $this->sources = array($template->source); - } else { - // we have array of inheritance templates by extends: resource - $this->sources = array_reverse($template->source->components); - } - $loop = 0; - // the $this->sources array can get additional elements while compiling by the {extends} tag - while ($this->template->source = array_shift($this->sources)) { - $this->smarty->_current_file = $this->template->source->filepath; + /** + * Compile template source and run optional post filter + * + * @param \Smarty_Internal_Template $template + * @param null|bool $nocache flag if template must be compiled in nocache mode + * @param \Smarty_Internal_TemplateCompilerBase $parent_compiler + * + * @return string + * @throws \Exception + */ + public function compileTemplateSource(Smarty_Internal_Template $template, $nocache = null, + Smarty_Internal_TemplateCompilerBase $parent_compiler = null) + { + try { + // save template object in compiler class + $this->template = $template; + if (property_exists($this->template->smarty, 'plugin_search_order')) { + $this->plugin_search_order = $this->template->smarty->plugin_search_order; + } if ($this->smarty->debugging) { - Smarty_Internal_Debug::start_compile($this->template); + $this->smarty->_debug->start_compile($this->template); } - $no_sources = count($this->sources); - if ($loop || $no_sources) { - $this->template->properties['file_dependency'][$this->template->source->uid] = array($this->template->source->filepath, $this->template->source->timestamp, $this->template->source->type); + if (isset($this->template->smarty->security_policy)) { + $this->php_handling = $this->template->smarty->security_policy->php_handling; + } else { + $this->php_handling = $this->template->smarty->php_handling; } - $loop ++; - if ($no_sources) { - $this->inheritance_child = true; + $this->parent_compiler = $parent_compiler ? $parent_compiler : $this; + $nocache = isset($nocache) ? $nocache : false; + if (empty($template->compiled->nocache_hash)) { + $template->compiled->nocache_hash = $this->nocache_hash; } else { - $this->inheritance_child = false; + $this->nocache_hash = $template->compiled->nocache_hash; } - do { - $_compiled_code = ''; - // flag for aborting current and start recompile - $this->abort_and_recompile = false; + // flag for nocache sections + $this->nocache = $nocache; + $this->tag_nocache = false; + // reset has nocache code flag + $this->template->compiled->has_nocache_code = false; + $this->has_variable_string = false; + $this->prefix_code = array(); + // add file dependency + $this->parent_compiler->template->compiled->file_dependency[$this->template->source->uid] = + array($this->template->source->filepath, $this->template->source->getTimeStamp(), + $this->template->source->type); + $this->smarty->_current_file = $this->template->source->filepath; + // get template source + if (!empty($this->template->source->components)) { + // we have array of inheritance templates by extends: resource + // generate corresponding source code sequence + $_content = + Smarty_Internal_Compile_Extends::extendsSourceArrayCode($this->template->source->components); + } else { // get template source - $_content = $this->template->source->content; - if ($_content != '') { - // run prefilter if required - if ((isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre'])) && !$this->suppressFilter) { - $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $template); - } - // call compiler - $_compiled_code = $this->doCompile($_content); - } - } while ($this->abort_and_recompile); - if ($this->smarty->debugging) { - Smarty_Internal_Debug::end_compile($this->template); + $_content = $this->template->source->getContent(); } + $_compiled_code = $this->postFilter($this->doCompile($this->preFilter($_content), true)); } - // restore source - $this->template->source = $save_source; - unset($save_source); - $this->smarty->_current_file = $this->template->source->filepath; - // free memory - unset($this->parser->root_buffer, $this->parser->current_buffer, $this->parser, $this->lex, $this->template); - self::$_tag_objects = array(); - // return compiled code to template object - $merged_code = ''; - if (!$this->suppressMergedTemplates && !empty($this->merged_templates)) { - foreach ($this->merged_templates as $code) { - $merged_code .= $code; + catch (Exception $e) { + if ($this->smarty->debugging) { + $this->smarty->_debug->end_compile($this->template); } + $this->_tag_stack = array(); + $this->_tag_objects = array(); + // free memory + $this->parent_compiler = null; + $this->template = null; + $this->parser = null; + throw $e; } - // run postfilter if required on compiled template code - if ((isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) && !$this->suppressFilter && $_compiled_code != '') { - $_compiled_code = Smarty_Internal_Filter_Handler::runFilter('post', $_compiled_code, $template); + if ($this->smarty->debugging) { + $this->smarty->_debug->end_compile($this->template); } - if ($this->suppressTemplatePropertyHeader) { - $code = $_compiled_code . $merged_code; + $this->parent_compiler = null; + $this->template = null; + $this->parser = null; + return $_compiled_code; + } + + /** + * Optionally process compiled code by post filter + * + * @param string $code compiled code + * + * @return string + * @throws \SmartyException + */ + public function postFilter($code) + { + // run post filter if on code + if (!empty($code) && + (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) + ) { + return $this->smarty->ext->_filterHandler->runFilter('post', $code, $this->template); } else { - $code = $template_header . $template->createTemplateCodeFrame($_compiled_code) . $merged_code; + return $code; } - // unset content because template inheritance could have replace source with parent code - unset ($template->source->content); + } - return $code; + /** + * Run optional prefilter + * + * @param string $_content template source + * + * @return string + * @throws \SmartyException + */ + public function preFilter($_content) + { + // run pre filter if required + if ($_content != '' && + ((isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre']))) + ) { + return $this->smarty->ext->_filterHandler->runFilter('pre', $_content, $this->template); + } else { + return $_content; + } } /** * Compile Tag * This is a call back from the lexer/parser - * It executes the required compile plugin for the Smarty tag + * + * Save current prefix code + * Compile tag + * Merge tag prefix code with saved one + * (required nested tags in attributes) * * @param string $tag tag name * @param array $args array with tag attributes @@ -331,23 +463,44 @@ abstract class Smarty_Internal_TemplateCompilerBase */ public function compileTag($tag, $args, $parameter = array()) { + $this->prefixCodeStack[] = $this->prefix_code; + $this->prefix_code = array(); + $result = $this->compileTag2($tag, $args, $parameter); + $this->prefix_code = array_merge($this->prefix_code, array_pop($this->prefixCodeStack)); + return $result; + } + + /** + * Compile Tag + * + * @param string $tag tag name + * @param array $args array with tag attributes + * @param array $parameter array with compilation parameter + * + * @throws SmartyCompilerException + * @throws SmartyException + * @return string compiled code + */ + private function compileTag2($tag, $args, $parameter) + { + $plugin_type = ''; // $args contains the attributes parsed and compiled by the lexer/parser // assume that tag does compile into code, but creates no HTML output $this->has_code = true; $this->has_output = false; // log tag/attributes - if (isset($this->smarty->get_used_tags) && $this->smarty->get_used_tags) { - $this->template->used_tags[] = array($tag, $args); + if (isset($this->smarty->_cache['get_used_tags'])) { + $this->template->_cache['used_tags'][] = array($tag, $args); } // check nocache option flag - if (in_array("'nocache'", $args) || in_array(array('nocache' => 'true'), $args) - || in_array(array('nocache' => '"true"'), $args) || in_array(array('nocache' => "'true'"), $args) + if (in_array("'nocache'", $args) || in_array(array('nocache' => 'true'), $args) || + in_array(array('nocache' => '"true"'), $args) || in_array(array('nocache' => "'true'"), $args) ) { $this->tag_nocache = true; } - // compile the smarty tag (required compile classes to compile the tag are autoloaded) + // compile the smarty tag (required compile classes to compile the tag are auto loaded) if (($_output = $this->callTagCompiler($tag, $args, $parameter)) === false) { - if (isset($this->smarty->template_functions[$tag])) { + if (isset($this->parent_compiler->template->tpl_function[$tag])) { // template defined by {template} tag $args['_attr']['name'] = "'" . $tag . "'"; $_output = $this->callTagCompiler('call', $args, $parameter); @@ -382,18 +535,22 @@ abstract class Smarty_Internal_TemplateCompilerBase if (isset($this->smarty->registered_objects[$tag]) && isset($parameter['object_method'])) { $method = $parameter['object_method']; if (!in_array($method, $this->smarty->registered_objects[$tag][3]) && - (empty($this->smarty->registered_objects[$tag][1]) || in_array($method, $this->smarty->registered_objects[$tag][1])) + (empty($this->smarty->registered_objects[$tag][1]) || + in_array($method, $this->smarty->registered_objects[$tag][1])) ) { return $this->callTagCompiler('private_object_function', $args, $parameter, $tag, $method); } elseif (in_array($method, $this->smarty->registered_objects[$tag][3])) { - return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $method); + return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, + $method); } else { // throw exception - $this->trigger_template_error('not allowed method "' . $method . '" in registered object "' . $tag . '"', $this->lex->taglineno); + $this->trigger_template_error('not allowed method "' . $method . '" in registered object "' . + $tag . '"', null, true); } } // check if tag is registered - foreach (array(Smarty::PLUGIN_COMPILER, Smarty::PLUGIN_FUNCTION, Smarty::PLUGIN_BLOCK) as $plugin_type) { + foreach (array(Smarty::PLUGIN_COMPILER, Smarty::PLUGIN_FUNCTION, Smarty::PLUGIN_BLOCK) as $plugin_type) + { if (isset($this->smarty->registered_plugins[$plugin_type][$tag])) { // if compiler function plugin call it now if ($plugin_type == Smarty::PLUGIN_COMPILER) { @@ -412,20 +569,26 @@ abstract class Smarty_Internal_TemplateCompilerBase if (!is_array($function)) { return $function($new_args, $this); } elseif (is_object($function[0])) { - return $this->smarty->registered_plugins[$plugin_type][$tag][0][0]->$function[1]($new_args, $this); + return $this->smarty->registered_plugins[$plugin_type][$tag][0][0]->{$function[1]}($new_args, + $this); } else { return call_user_func_array($function, array($new_args, $this)); } } // compile registered function or block function if ($plugin_type == Smarty::PLUGIN_FUNCTION || $plugin_type == Smarty::PLUGIN_BLOCK) { - return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, $tag); + return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, + $tag); } } } // check plugins from plugins folder - foreach ($this->smarty->plugin_search_order as $plugin_type) { - if ($plugin_type == Smarty::PLUGIN_COMPILER && $this->smarty->loadPlugin('smarty_compiler_' . $tag) && (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this))) { + foreach ($this->plugin_search_order as $plugin_type) { + if ($plugin_type == Smarty::PLUGIN_COMPILER && + $this->smarty->loadPlugin('smarty_compiler_' . $tag) && + (!isset($this->smarty->security_policy) || + $this->smarty->security_policy->isTrustedTag($tag, $this)) + ) { $plugin = 'smarty_compiler_' . $tag; if (is_callable($plugin)) { // convert arguments format for old compiler plugins @@ -449,8 +612,11 @@ abstract class Smarty_Internal_TemplateCompilerBase throw new SmartyException("Plugin \"{$tag}\" not callable"); } else { if ($function = $this->getPlugin($tag, $plugin_type)) { - if (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this)) { - return $this->callTagCompiler('private_' . $plugin_type . '_plugin', $args, $parameter, $tag, $function); + if (!isset($this->smarty->security_policy) || + $this->smarty->security_policy->isTrustedTag($tag, $this) + ) { + return $this->callTagCompiler('private_' . $plugin_type . '_plugin', $args, $parameter, + $tag, $function); } } } @@ -458,7 +624,7 @@ abstract class Smarty_Internal_TemplateCompilerBase if (is_callable($this->smarty->default_plugin_handler_func)) { $found = false; // look for already resolved tags - foreach ($this->smarty->plugin_search_order as $plugin_type) { + foreach ($this->plugin_search_order as $plugin_type) { if (isset($this->default_handler_plugins[$plugin_type][$tag])) { $found = true; break; @@ -466,7 +632,7 @@ abstract class Smarty_Internal_TemplateCompilerBase } if (!$found) { // call default handler - foreach ($this->smarty->plugin_search_order as $plugin_type) { + foreach ($this->plugin_search_order as $plugin_type) { if ($this->getPluginFromDefaultHandler($tag, $plugin_type)) { $found = true; break; @@ -484,12 +650,14 @@ abstract class Smarty_Internal_TemplateCompilerBase if (!is_array($function)) { return $function($new_args, $this); } elseif (is_object($function[0])) { - return $this->default_handler_plugins[$plugin_type][$tag][0][0]->$function[1]($new_args, $this); + return $this->default_handler_plugins[$plugin_type][$tag][0][0]->$function[1]($new_args, + $this); } else { return call_user_func_array($function, array($new_args, $this)); } } else { - return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, $tag); + return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, + $tag); } } } @@ -500,20 +668,36 @@ abstract class Smarty_Internal_TemplateCompilerBase if (isset($this->smarty->registered_objects[$base_tag]) && isset($parameter['object_method'])) { $method = $parameter['object_method']; if (in_array($method, $this->smarty->registered_objects[$base_tag][3])) { - return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $method); + return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, + $method); } else { // throw exception - $this->trigger_template_error('not allowed closing tag method "' . $method . '" in registered object "' . $base_tag . '"', $this->lex->taglineno); + $this->trigger_template_error('not allowed closing tag method "' . $method . + '" in registered object "' . $base_tag . '"', null, true); } } // registered block tag ? - if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag]) || isset($this->default_handler_plugins[Smarty::PLUGIN_BLOCK][$base_tag])) { + if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag]) || + isset($this->default_handler_plugins[Smarty::PLUGIN_BLOCK][$base_tag]) + ) { return $this->callTagCompiler('private_registered_block', $args, $parameter, $tag); } + // registered function tag ? + if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION][$tag])) { + return $this->callTagCompiler('private_registered_function', $args, $parameter, $tag); + } // block plugin? if ($function = $this->getPlugin($base_tag, Smarty::PLUGIN_BLOCK)) { return $this->callTagCompiler('private_block_plugin', $args, $parameter, $tag, $function); } + // function plugin? + if ($function = $this->getPlugin($tag, Smarty::PLUGIN_FUNCTION)) { + if (!isset($this->smarty->security_policy) || + $this->smarty->security_policy->isTrustedTag($tag, $this) + ) { + return $this->callTagCompiler('private_function_plugin', $args, $parameter, $tag, $function); + } + } // registered compiler plugin ? if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag])) { // if compiler function plugin call it now @@ -525,7 +709,8 @@ abstract class Smarty_Internal_TemplateCompilerBase if (!is_array($function)) { return $function($args, $this); } elseif (is_object($function[0])) { - return $this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][0][0]->$function[1]($args, $this); + return $this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][0][0]->$function[1]($args, + $this); } else { return call_user_func_array($function, array($args, $this)); } @@ -544,7 +729,57 @@ abstract class Smarty_Internal_TemplateCompilerBase throw new SmartyException("Plugin \"{$tag}\" not callable"); } } - $this->trigger_template_error("unknown tag \"" . $tag . "\"", $this->lex->taglineno); + $this->trigger_template_error("unknown tag \"" . $tag . "\"", null, true); + } + } + + /** + * compile variable + * + * @param string $variable + * + * @return string + */ + public function compileVariable($variable) + { + if (strpos($variable, '(') == 0) { + // not a variable variable + $var = trim($variable, '\''); + $this->tag_nocache = $this->tag_nocache | + $this->template->ext->getTemplateVars->_getVariable($this->template, $var, null, true, false)->nocache; + // todo $this->template->compiled->properties['variables'][$var] = $this->tag_nocache | $this->nocache; + } + return '$_smarty_tpl->tpl_vars[' . $variable . ']->value'; + } + + /** + * compile config variable + * + * @param string $variable + * + * @return string + */ + public function compileConfigVariable($variable) + { + // return '$_smarty_tpl->config_vars[' . $variable . ']'; + return '$_smarty_tpl->smarty->ext->configLoad->_getConfigVariable($_smarty_tpl, ' . $variable . ')'; + } + + /** + * This method is called from parser to process a text content section + * - remove text from inheritance child templates as they may generate output + * - strip text if strip is enabled + * + * @param string $text + * + * @return null|\Smarty_Internal_ParseTree_Text + */ + public function processText($text) + { + if ($this->parser->strip) { + return new Smarty_Internal_ParseTree_Text(preg_replace($this->stripRegEx, ' ', $text)); + } else { + return new Smarty_Internal_ParseTree_Text($text); } } @@ -552,7 +787,7 @@ abstract class Smarty_Internal_TemplateCompilerBase * lazy loads internal compile plugin for tag and calls the compile method * compile objects cached for reuse. * class name format: Smarty_Internal_Compile_TagName - * plugin filename format: Smarty_Internal_Tagname.php + * plugin filename format: Smarty_Internal_TagName.php * * @param string $tag tag name * @param array $args list of tag attributes @@ -565,23 +800,23 @@ abstract class Smarty_Internal_TemplateCompilerBase public function callTagCompiler($tag, $args, $param1 = null, $param2 = null, $param3 = null) { // re-use object if already exists - if (isset(self::$_tag_objects[$tag])) { - // compile this tag - return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3); - } - // lazy load internal compiler plugin - $class_name = 'Smarty_Internal_Compile_' . $tag; - if ($this->smarty->loadPlugin($class_name)) { - // check if tag allowed by security - if (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this)) { - // use plugin if found - self::$_tag_objects[$tag] = new $class_name; - // compile this tag - return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3); + if (!isset($this->_tag_objects[$tag])) { + // lazy load internal compiler plugin + $_tag = explode('_', $tag); + $_tag = array_map('ucfirst', $_tag); + $class_name = 'Smarty_Internal_Compile_' . implode('_', $_tag); + if (class_exists($class_name) && + (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this)) + ) { + $this->_tag_objects[$tag] = new $class_name; + } else { + $this->_tag_objects[$tag] = false; + return false; } } - // no internal compile plugin for this tag - return false; + // compile this tag + return $this->_tag_objects[$tag] === false ? false : + $this->_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3); } /** @@ -596,18 +831,24 @@ abstract class Smarty_Internal_TemplateCompilerBase { $function = null; if ($this->template->caching && ($this->nocache || $this->tag_nocache)) { - if (isset($this->template->required_plugins['nocache'][$plugin_name][$plugin_type])) { - $function = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function']; - } elseif (isset($this->template->required_plugins['compiled'][$plugin_name][$plugin_type])) { - $this->template->required_plugins['nocache'][$plugin_name][$plugin_type] = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]; - $function = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function']; + if (isset($this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type])) { + $function = + $this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type]['function']; + } elseif (isset($this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type])) { + $this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type] = + $this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type]; + $function = + $this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type]['function']; } } else { - if (isset($this->template->required_plugins['compiled'][$plugin_name][$plugin_type])) { - $function = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function']; - } elseif (isset($this->template->required_plugins['nocache'][$plugin_name][$plugin_type])) { - $this->template->required_plugins['compiled'][$plugin_name][$plugin_type] = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]; - $function = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function']; + if (isset($this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type])) { + $function = + $this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type]['function']; + } elseif (isset($this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type])) { + $this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type] = + $this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type]; + $function = + $this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type]['function']; } } if (isset($function)) { @@ -623,11 +864,15 @@ abstract class Smarty_Internal_TemplateCompilerBase if (is_string($file)) { if ($this->template->caching && ($this->nocache || $this->tag_nocache)) { - $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['file'] = $file; - $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function'] = $function; + $this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type]['file'] = + $file; + $this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name][$plugin_type]['function'] = + $function; } else { - $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['file'] = $file; - $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function'] = $function; + $this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type]['file'] = + $file; + $this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name][$plugin_type]['function'] = + $function; } if ($plugin_type == 'modifier') { $this->modifier_plugins[$plugin_name] = true; @@ -656,21 +901,24 @@ abstract class Smarty_Internal_TemplateCompilerBase $callback = null; $script = null; $cacheable = true; - $result = call_user_func_array( - $this->smarty->default_plugin_handler_func, array($tag, $plugin_type, $this->template, &$callback, &$script, &$cacheable) - ); + $result = call_user_func_array($this->smarty->default_plugin_handler_func, + array($tag, $plugin_type, $this->template, &$callback, &$script, &$cacheable)); if ($result) { $this->tag_nocache = $this->tag_nocache || !$cacheable; if ($script !== null) { if (is_file($script)) { if ($this->template->caching && ($this->nocache || $this->tag_nocache)) { - $this->template->required_plugins['nocache'][$tag][$plugin_type]['file'] = $script; - $this->template->required_plugins['nocache'][$tag][$plugin_type]['function'] = $callback; + $this->parent_compiler->template->compiled->required_plugins['nocache'][$tag][$plugin_type]['file'] = + $script; + $this->parent_compiler->template->compiled->required_plugins['nocache'][$tag][$plugin_type]['function'] = + $callback; } else { - $this->template->required_plugins['compiled'][$tag][$plugin_type]['file'] = $script; - $this->template->required_plugins['compiled'][$tag][$plugin_type]['function'] = $callback; + $this->parent_compiler->template->compiled->required_plugins['compiled'][$tag][$plugin_type]['file'] = + $script; + $this->parent_compiler->template->compiled->required_plugins['compiled'][$tag][$plugin_type]['function'] = + $callback; } - include_once $script; + require_once $script; } else { $this->trigger_template_error("Default plugin handler: Returned script file \"{$script}\" for \"{$tag}\" not found"); } @@ -691,6 +939,25 @@ abstract class Smarty_Internal_TemplateCompilerBase } /** + * Append code segments and remove unneeded ?> <?php transitions + * + * @param string $left + * @param string $right + * + * @return string + */ + public function appendCode($left, $right) + { + if (preg_match('/\s*\?>\s*$/', $left) && preg_match('/^\s*<\?php\s+/', $right)) { + $left = preg_replace('/\s*\?>\s*$/', "\n", $left); + $left .= preg_replace('/^\s*<\?php\s+/', '', $right); + } else { + $left .= $right; + } + return $left; + } + + /** * Inject inline code for nocache template sections * This method gets the content of each template element from the parser. * If the content is compiled code and it should be not cached the code is injected @@ -706,17 +973,19 @@ abstract class Smarty_Internal_TemplateCompilerBase // If the template is not evaluated and we have a nocache section and or a nocache tag if ($is_code && !empty($content)) { // generate replacement code - if ((!($this->template->source->recompiled) || $this->forceNocache) && $this->template->caching && !$this->suppressNocacheProcessing && - ($this->nocache || $this->tag_nocache) + if ((!($this->template->source->handler->recompiled) || $this->forceNocache) && $this->template->caching && + !$this->suppressNocacheProcessing && ($this->nocache || $this->tag_nocache) ) { - $this->template->has_nocache_code = true; + $this->template->compiled->has_nocache_code = true; $_output = addcslashes($content, '\'\\'); $_output = str_replace("^#^", "'", $_output); - $_output = "<?php echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/" . $_output . "/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>\n"; + $_output = "<?php echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/" . $_output . + "/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>\n"; // make sure we include modifier plugins for nocache code foreach ($this->modifier_plugins as $plugin_name => $dummy) { - if (isset($this->template->required_plugins['compiled'][$plugin_name]['modifier'])) { - $this->template->required_plugins['nocache'][$plugin_name]['modifier'] = $this->template->required_plugins['compiled'][$plugin_name]['modifier']; + if (isset($this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name]['modifier'])) { + $this->parent_compiler->template->compiled->required_plugins['nocache'][$plugin_name]['modifier'] = + $this->parent_compiler->template->compiled->required_plugins['compiled'][$plugin_name]['modifier']; } } } else { @@ -733,44 +1002,46 @@ abstract class Smarty_Internal_TemplateCompilerBase } /** - * push current file and line offset on stack for tracing {block} source lines + * Get Id * - * @param string $file new filename - * @param string $uid uid of file - * @param int $line line offset to source - * @param bool $debug false debug end_compile shall not be called + * @param string $input + * + * @return bool|string */ - public function pushTrace($file, $uid, $line, $debug = true) + public function getId($input) { - if ($this->smarty->debugging && $debug) { - Smarty_Internal_Debug::end_compile($this->template); - } - array_push($this->trace_stack, array($this->smarty->_current_file, $this->trace_filepath, $this->trace_uid, $this->trace_line_offset)); - $this->trace_filepath = $this->smarty->_current_file = $file; - $this->trace_uid = $uid; - $this->trace_line_offset = $line; - if ($this->smarty->debugging) { - Smarty_Internal_Debug::start_compile($this->template); + if (preg_match('~^[\'"]*([0-9]*[a-zA-Z_]\w*)[\'"]*$~', $input, $match)) { + return $match[1]; } + return false; } /** - * restore file and line offset - + * Get variable name from string + * + * @param string $input + * + * @return bool|string */ - public function popTrace() + public function getVariableName($input) { - if ($this->smarty->debugging) { - Smarty_Internal_Debug::end_compile($this->template); - } - $r = array_pop($this->trace_stack); - $this->smarty->_current_file = $r[0]; - $this->trace_filepath = $r[1]; - $this->trace_uid = $r[2]; - $this->trace_line_offset = $r[3]; - if ($this->smarty->debugging) { - Smarty_Internal_Debug::start_compile($this->template); + if (preg_match('~^[$]_smarty_tpl->tpl_vars\[[\'"]*([0-9]*[a-zA-Z_]\w*)[\'"]*\]->value$~', $input, $match)) { + return $match[1]; } + return false; + } + + /** + * Generate nocache code string + * + * @param string $code PHP code + * + * @return string + */ + public function makeNocacheCode($code) + { + return "echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/<?php " . + str_replace("^#^", "'", addcslashes($code, '\'\\')) . "?>/*/%%SmartyNocache:{$this->nocache_hash}%%*/';\n"; } /** @@ -779,32 +1050,53 @@ abstract class Smarty_Internal_TemplateCompilerBase * In this case the parser is called to obtain information about expected tokens. * If parameter $args contains a string this is used as error message * - * @param string $args individual error message or null - * @param string $line line-number + * @param string $args individual error message or null + * @param string $line line-number + * @param null|bool $tagline if true the line number of last tag * - * @throws SmartyCompilerException when an unexpected token is found + * @throws \SmartyCompilerException when an unexpected token is found */ - public function trigger_template_error($args = null, $line = null) + public function trigger_template_error($args = null, $line = null, $tagline = null) { - // get template source line which has error - if (!isset($line)) { - $line = $this->lex->line; + $lex = $this->parser->lex; + if ($tagline === true) { + // get line number of Tag + $line = $lex->taglineno; + } elseif (!isset($line)) { + // get template source line which has error + $line = $lex->line; + } else { + $line = (int) $line; + } + + if (in_array($this->template->source->type, array('eval', 'string'))) { + $templateName = $this->template->source->type . ':' . trim(preg_replace('![\t\r\n]+!', ' ', + strlen($lex->data) > 40 ? + substr($lex->data, 0, 40) . + '...' : $lex->data)); + } else { + $templateName = $this->template->source->type . ':' . $this->template->source->filepath; } + // $line += $this->trace_line_offset; - $match = preg_split("/\n/", $this->lex->data); - $error_text = 'Syntax error in template "' . (empty($this->trace_filepath) ? $this->template->source->filepath : $this->trace_filepath) . '" on line ' . ($line + $this->trace_line_offset) . ' "' . trim(preg_replace('![\t\r\n]+!', ' ', $match[$line - 1])) . '" '; + $match = preg_split("/\n/", $lex->data); + $error_text = + 'Syntax error in template "' . (empty($this->trace_filepath) ? $templateName : $this->trace_filepath) . + '" on line ' . ($line + $this->trace_line_offset) . ' "' . + trim(preg_replace('![\t\r\n]+!', ' ', $match[$line - 1])) . '" '; if (isset($args)) { // individual error message $error_text .= $args; } else { + $expect = array(); // expected token from parser - $error_text .= ' - Unexpected "' . $this->lex->value . '"'; + $error_text .= ' - Unexpected "' . $lex->value . '"'; if (count($this->parser->yy_get_expected_tokens($this->parser->yymajor)) <= 4) { foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) { $exp_token = $this->parser->yyTokenName[$token]; - if (isset($this->lex->smarty_token_names[$exp_token])) { + if (isset($lex->smarty_token_names[$exp_token])) { // token type from lexer - $expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"'; + $expect[] = '"' . $lex->smarty_token_names[$exp_token] . '"'; } else { // otherwise internal token name $expect[] = $this->parser->yyTokenName[$token]; diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php b/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php index 4de8a9c06..993b7be62 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php @@ -1,102 +1,221 @@ <?php -/** - * Smarty Internal Plugin Templatelexer - * This is the lexer to break the template source into tokens +/* + * This file is part of Smarty. + * + * (c) 2015 Uwe Tews * - * @package Smarty - * @subpackage Compiler - * @author Uwe Tews + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. */ /** - * Smarty Internal Plugin Templatelexer + * Smarty_Internal_Templatelexer + * This is the template file lexer. + * It is generated from the smarty_internal_templatelexer.plex file + * + * + * @author Uwe Tews <uwe.tews@googlemail.com> */ class Smarty_Internal_Templatelexer { + /** + * Source + * + * @var string + */ public $data; + + /** + * byte counter + * + * @var int + */ public $counter; + + /** + * token number + * + * @var int + */ public $token; + + /** + * token value + * + * @var string + */ public $value; - public $node; + + /** + * current line + * + * @var int + */ public $line; + + /** + * tag start line + * + * @var + */ public $taglineno; - public $is_phpScript = false; + + /** + * php code type + * + * @var string + */ + public $phpType = ''; + + /** + * escaped left delimiter + * + * @var string + */ + public $ldel = ''; + + /** + * escaped left delimiter length + * + * @var int + */ + public $ldel_length = 0; + + /** + * escaped right delimiter + * + * @var string + */ + public $rdel = ''; + + /** + * escaped right delimiter length + * + * @var int + */ + public $rdel_length = 0; + + /** + * state number + * + * @var int + */ public $state = 1; - public $smarty; - public $literal_cnt = 0; - private $heredoc_id_stack = Array(); + + /** + * Smarty object + * + * @var Smarty + */ + public $smarty = null; + + /** + * compiler object + * + * @var Smarty_Internal_TemplateCompilerBase + */ + public $compiler = null; + + /** + * literal tag nesting level + * + * @var int + */ + private $literal_cnt = 0; + + /** + * PHP start tag string + * + * @var string + */ + + /** + * trace file + * + * @var resource + */ public $yyTraceFILE; + + /** + * trace prompt + * + * @var string + */ public $yyTracePrompt; - public $state_name = array(1 => 'TEXT', 2 => 'SMARTY', 3 => 'LITERAL', 4 => 'DOUBLEQUOTEDSTRING', 5 => 'CHILDBODY'); + + /** + * XML flag true while processing xml + * + * @var bool + */ + public $is_xml = false; + + /** + * state names + * + * @var array + */ + public $state_name = array(1 => 'TEXT', 2 => 'TAG', 3 => 'TAGBODY', 4 => 'LITERAL', 5 => 'DOUBLEQUOTEDSTRING',); + + /** + * storage for assembled token patterns + * + * @var string + */ + private $yy_global_pattern1 = null; + + private $yy_global_pattern2 = null; + + private $yy_global_pattern3 = null; + + private $yy_global_pattern4 = null; + + private $yy_global_pattern5 = null; + + /** + * token names + * + * @var array + */ public $smarty_token_names = array( // Text for parser error messages - 'IDENTITY' => '===', - 'NONEIDENTITY' => '!==', - 'EQUALS' => '==', - 'NOTEQUALS' => '!=', - 'GREATEREQUAL' => '(>=,ge)', - 'LESSEQUAL' => '(<=,le)', - 'GREATERTHAN' => '(>,gt)', - 'LESSTHAN' => '(<,lt)', - 'MOD' => '(%,mod)', - 'NOT' => '(!,not)', - 'LAND' => '(&&,and)', - 'LOR' => '(||,or)', - 'LXOR' => 'xor', - 'OPENP' => '(', - 'CLOSEP' => ')', - 'OPENB' => '[', - 'CLOSEB' => ']', - 'PTR' => '->', - 'APTR' => '=>', - 'EQUAL' => '=', - 'NUMBER' => 'number', - 'UNIMATH' => '+" , "-', - 'MATH' => '*" , "/" , "%', - 'INCDEC' => '++" , "--', - 'SPACE' => ' ', - 'DOLLAR' => '$', - 'SEMICOLON' => ';', - 'COLON' => ':', - 'DOUBLECOLON' => '::', - 'AT' => '@', - 'HATCH' => '#', - 'QUOTE' => '"', - 'BACKTICK' => '`', - 'VERT' => '|', - 'DOT' => '.', - 'COMMA' => '","', - 'ANDSYM' => '"&"', - 'QMARK' => '"?"', - 'ID' => 'identifier', - 'TEXT' => 'text', - 'FAKEPHPSTARTTAG' => 'Fake PHP start tag', - 'PHPSTARTTAG' => 'PHP start tag', - 'PHPENDTAG' => 'PHP end tag', - 'LITERALSTART' => 'Literal start', - 'LITERALEND' => 'Literal end', - 'LDELSLASH' => 'closing tag', - 'COMMENT' => 'comment', - 'AS' => 'as', - 'TO' => 'to', - ); - - function __construct($data, $compiler) - { - // $this->data = preg_replace("/(\r\n|\r|\n)/", "\n", $data); + 'NOT' => '(!,not)', 'OPENP' => '(', 'CLOSEP' => ')', + 'OPENB' => '[', 'CLOSEB' => ']', 'PTR' => '->', 'APTR' => '=>', + 'EQUAL' => '=', 'NUMBER' => 'number', 'UNIMATH' => '+" , "-', + 'MATH' => '*" , "/" , "%', 'INCDEC' => '++" , "--', + 'SPACE' => ' ', 'DOLLAR' => '$', 'SEMICOLON' => ';', + 'COLON' => ':', 'DOUBLECOLON' => '::', 'AT' => '@', 'HATCH' => '#', + 'QUOTE' => '"', 'BACKTICK' => '`', 'VERT' => '"|" modifier', + 'DOT' => '.', 'COMMA' => '","', 'QMARK' => '"?"', + 'ID' => 'id, name', 'TEXT' => 'text', + 'LDELSLASH' => '{/..} closing tag', 'LDEL' => '{...} Smarty tag', + 'COMMENT' => 'comment', 'AS' => 'as', 'TO' => 'to', + 'PHP' => '"<?php", "<%", "{php}" tag', + 'LOGOP' => '"<", "==" ... logical operator', + 'TLOGOP' => '"lt", "eq" ... logical operator; "is div by" ... if condition', + 'SCOND' => '"is even" ... if condition',); + + /** + * constructor + * + * @param string $data template source + * @param Smarty_Internal_TemplateCompilerBase $compiler + */ + function __construct($data, Smarty_Internal_TemplateCompilerBase $compiler) + { $this->data = $data; $this->counter = 0; - if (preg_match('/^\xEF\xBB\xBF/', $this->data, $match)) { - $this->counter += strlen($match[0]); + if (preg_match('~^\xEF\xBB\xBF~i', $this->data, $match)) { + $this->counter += strlen($match[ 0 ]); } $this->line = 1; $this->smarty = $compiler->smarty; $this->compiler = $compiler; - $this->ldel = preg_quote($this->smarty->left_delimiter, '/'); + $this->ldel = preg_quote($this->smarty->left_delimiter, '~'); $this->ldel_length = strlen($this->smarty->left_delimiter); - $this->rdel = preg_quote($this->smarty->right_delimiter, '/'); + $this->rdel = preg_quote($this->smarty->right_delimiter, '~'); $this->rdel_length = strlen($this->smarty->right_delimiter); - $this->smarty_token_names['LDEL'] = $this->smarty->left_delimiter; - $this->smarty_token_names['RDEL'] = $this->smarty->right_delimiter; + $this->smarty_token_names[ 'LDEL' ] = $this->smarty->left_delimiter; + $this->smarty_token_names[ 'RDEL' ] = $this->smarty->right_delimiter; } public function PrintTrace() @@ -105,7 +224,17 @@ class Smarty_Internal_Templatelexer $this->yyTracePrompt = '<br>'; } + /* + * Check if this tag is autoliteral + */ + public function isAutoLiteral() + { + return $this->smarty->auto_literal && isset($this->value[ $this->ldel_length ]) ? + strpos(" \n\t\r", $this->value[ $this->ldel_length ]) !== false : false; + } + private $_yy_state = 1; + private $_yy_stack = array(); public function yylex() @@ -116,23 +245,31 @@ class Smarty_Internal_Templatelexer public function yypushstate($state) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sState push %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%sState push %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } array_push($this->_yy_stack, $this->_yy_state); $this->_yy_state = $state; if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } } public function yypopstate() { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sState pop %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%sState pop %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } $this->_yy_state = array_pop($this->_yy_stack); if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } } @@ -140,57 +277,41 @@ class Smarty_Internal_Templatelexer { $this->_yy_state = $state; if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sState set %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%sState set %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } } public function yylex1() { - $tokenMap = array( - 1 => 0, - 2 => 1, - 4 => 0, - 5 => 0, - 6 => 0, - 7 => 1, - 9 => 0, - 10 => 0, - 11 => 0, - 12 => 0, - 13 => 0, - 14 => 2, - 17 => 0, - 18 => 0, - 19 => 0, - 20 => 0, - 21 => 0, - 22 => 0, - ); + if (!isset($this->yy_global_pattern1)) { + $this->yy_global_pattern1 = + "/\G([{][}])|\G(" . $this->ldel . "[*])|\G((" . $this->ldel . "\\s*php(.*?)" . $this->rdel . ")|(" . + $this->ldel . "\\s*[\/]php" . $this->rdel . "))|\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . + ")|\G(" . $this->ldel . "\\s*)|\G(\\s*" . $this->rdel . + ")|\G((<[?]((php\\s+|=)|\\s+))|(<[%])|(<[?]xml\\s+)|(<script\\s+language\\s*=\\s*[\"']?\\s*php\\s*[\"']?\\s*>)|([?][>])|([%][>]))|\G([\S\s])/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G(\\{\\})|\G(" . $this->ldel . "\\*([\S\s]*?)\\*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*(if|elseif|else if|while)\\s+)|\G(" . $this->ldel . "\\s*for\\s+)|\G(" . $this->ldel . "\\s*foreach(?![^\s]))|\G(" . $this->ldel . "\\s*setfilter\\s+)|\G(" . $this->ldel . "\\s*\/)|\G(" . $this->ldel . "\\s*)|\G((<script\\s+language\\s*=\\s*[\"']?\\s*php\\s*[\"']?\\s*>)|(<\\?(?:php\\w+|=|[a-zA-Z]+)?))|\G(\\?>)|\G(<\/script>)|\G(\\s*" . $this->rdel . ")|\G(<%)|\G(%>)|\G([\S\s])/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern1, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state TEXT'); + if (strlen($yysubmatches[ 0 ]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state TEXT'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r1_' . $this->token}($yysubmatches); + $r = $this->{'yy_r1_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -210,8 +331,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; } while (true); @@ -219,42 +339,38 @@ class Smarty_Internal_Templatelexer const TEXT = 1; - function yy_r1_1($yy_subpatterns) + function yy_r1_1() { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - function yy_r1_2($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_COMMENT; - } - - function yy_r1_4($yy_subpatterns) + function yy_r1_2() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; + preg_match("~[*]{$this->rdel}~", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); + if (isset($match[ 0 ][ 1 ])) { + $to = $match[ 0 ][ 1 ] + strlen($match[ 0 ][ 0 ]); } else { - $this->token = Smarty_Internal_Templateparser::TP_STRIPON; + $this->compiler->trigger_template_error("missing or misspelled comment closing tag '*{$this->smarty->right_delimiter}'"); } + $this->value = substr($this->data, $this->counter, $to - $this->counter); + return false; } - function yy_r1_5($yy_subpatterns) + function yy_r1_3() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF; - } + $obj = new Smarty_Internal_Compile_Private_Php(); + $obj->parsePhp($this); } - function yy_r1_6($yy_subpatterns) + function yy_r1_7() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { + if ($this->smarty->auto_literal && isset($this->value[ $this->ldel_length ]) ? + strpos(" \n\t\r", $this->value[ $this->ldel_length ]) !== false : false + ) { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } else { $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART; @@ -262,132 +378,40 @@ class Smarty_Internal_Templatelexer } } - function yy_r1_7($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELIF; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r1_9($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r1_10($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r1_11($yy_subpatterns) + function yy_r1_8() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { + if ($this->smarty->auto_literal && isset($this->value[ $this->ldel_length ]) ? + strpos(" \n\t\r", $this->value[ $this->ldel_length ]) !== false : false + ) { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r1_12($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r1_13($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDEL; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r1_14($yy_subpatterns) - { - - if (($script = strpos($this->value, '<s') === 0) || in_array($this->value, Array('<?', '<?=', '<?php'))) { - if ($script) { - $this->is_phpScript = true; - } - $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG; - } elseif ($this->value == '<?xml') { - $this->token = Smarty_Internal_Templateparser::TP_XMLTAG; - } else { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - //$this->value = substr($this->value, 0, 2); + $this->yypushstate(self::TAG); + return true; } } - function yy_r1_17($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG; - } - - function yy_r1_18($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_PHPENDSCRIPT; - } - - function yy_r1_19($yy_subpatterns) + function yy_r1_9() { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - function yy_r1_20($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG; - } - - function yy_r1_21($yy_subpatterns) + function yy_r1_10() { - $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG; + $obj = new Smarty_Internal_Compile_Private_Php(); + $obj->parsePhp($this); } - function yy_r1_22($yy_subpatterns) + function yy_r1_19() { - $phpEndScript = $this->is_phpScript ? '|<\\/script>' : ''; $to = strlen($this->data); - preg_match("/{$this->ldel}|<\?|<%|\?>|%>|<script\s+language\s*=\s*[\"\']?\s*php\s*[\"\']?\s*>{$phpEndScript}/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); - if (isset($match[0][1])) { - $to = $match[0][1]; + preg_match("~($this->ldel)|(<[?]((php\s+|=)|\s+))|(<[%])|(<[?]xml\s+)|(<script\s+language\s*=\s*[\"']?\s*php\s*[\"']?\s*>)|([?][>])|([%][>])~i", + $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); + if (isset($match[ 0 ][ 1 ])) { + $to = $match[ 0 ][ 1 ]; } $this->value = substr($this->data, $this->counter, $to - $this->counter); $this->token = Smarty_Internal_Templateparser::TP_TEXT; @@ -395,99 +419,35 @@ class Smarty_Internal_Templatelexer public function yylex2() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 1, - 5 => 0, - 6 => 0, - 7 => 0, - 8 => 0, - 9 => 0, - 10 => 0, - 11 => 0, - 12 => 0, - 13 => 0, - 14 => 0, - 15 => 1, - 17 => 1, - 19 => 1, - 21 => 0, - 22 => 0, - 23 => 0, - 24 => 0, - 25 => 0, - 26 => 0, - 27 => 0, - 28 => 0, - 29 => 0, - 30 => 0, - 31 => 0, - 32 => 0, - 33 => 0, - 34 => 0, - 35 => 0, - 36 => 0, - 37 => 0, - 38 => 3, - 42 => 0, - 43 => 0, - 44 => 0, - 45 => 0, - 46 => 0, - 47 => 0, - 48 => 0, - 49 => 0, - 50 => 1, - 52 => 1, - 54 => 0, - 55 => 0, - 56 => 0, - 57 => 0, - 58 => 0, - 59 => 0, - 60 => 0, - 61 => 0, - 62 => 0, - 63 => 0, - 64 => 0, - 65 => 0, - 66 => 0, - 67 => 0, - 68 => 0, - 69 => 0, - 70 => 1, - 72 => 0, - 73 => 0, - 74 => 0, - 75 => 0, - 76 => 0, - ); + if (!isset($this->yy_global_pattern2)) { + $this->yy_global_pattern2 = + "/\G(" . $this->ldel . "\\s*(if|elseif|else if|while)\\s+)|\G(" . $this->ldel . "\\s*for\\s+)|\G(" . + $this->ldel . "\\s*foreach(?![^\s]))|\G(" . $this->ldel . "\\s*setfilter\\s+)|\G(" . $this->ldel . + "\\s*[0-9]*[a-zA-Z_]\\w*(\\s+nocache)?\\s*" . $this->rdel . ")|\G(" . $this->ldel . + "\\s*[\/](?:(?!block)[0-9]*[a-zA-Z_]\\w*)\\s*" . $this->rdel . ")|\G(" . $this->ldel . + "\\s*[$][0-9]*[a-zA-Z_]\\w*(\\s+nocache)?\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*[\/])|\G(" . + $this->ldel . "\\s*)/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G(\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G([$]smarty\\.block\\.(child|parent))|\G(\\$)|\G(\\s*" . $this->rdel . ")|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*===\\s*)|\G(\\s*!==\\s*)|\G(\\s*==\\s*|\\s+eq\\s+)|\G(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|\G(\\s*>=\\s*|\\s+(ge|gte)\\s+)|\G(\\s*<=\\s*|\\s+(le|lte)\\s+)|\G(\\s*>\\s*|\\s+gt\\s+)|\G(\\s*<\\s*|\\s+lt\\s+)|\G(\\s+mod\\s+)|\G(!\\s*|not\\s+)|\G(\\s*&&\\s*|\\s*and\\s+)|\G(\\s*\\|\\|\\s*|\\s*or\\s+)|\G(\\s*xor\\s+)|\G(\\s+is\\s+odd\\s+by\\s+)|\G(\\s+is\\s+not\\s+odd\\s+by\\s+)|\G(\\s+is\\s+odd)|\G(\\s+is\\s+not\\s+odd)|\G(\\s+is\\s+even\\s+by\\s+)|\G(\\s+is\\s+not\\s+even\\s+by\\s+)|\G(\\s+is\\s+even)|\G(\\s+is\\s+not\\s+even)|\G(\\s+is\\s+div\\s+by\\s+)|\G(\\s+is\\s+not\\s+div\\s+by\\s+)|\G(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|\G(\\s*\\(\\s*)|\G(\\s*\\))|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*->\\s*)|\G(\\s*=>\\s*)|\G(\\s*=\\s*)|\G(\\+\\+|--)|\G(\\s*(\\+|-)\\s*)|\G(\\s*(\\*|\/|%)\\s*)|\G(@)|\G(#)|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s*=\\s*)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G(`)|\G(\\|)|\G(\\.)|\G(\\s*,\\s*)|\G(\\s*;)|\G(::)|\G(\\s*:\\s*)|\G(\\s*&\\s*)|\G(\\s*\\?\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+)|\G(" . $this->ldel . "\\s*(if|elseif|else if|while)\\s+)|\G(" . $this->ldel . "\\s*for\\s+)|\G(" . $this->ldel . "\\s*foreach(?![^\s]))|\G(" . $this->ldel . "\\s*\/)|\G(" . $this->ldel . "\\s*)|\G([\S\s])/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern2, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state SMARTY'); + if (strlen($yysubmatches[ 0 ]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state TAG'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r2_' . $this->token}($yysubmatches); + $r = $this->{'yy_r2_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -507,484 +467,457 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; } while (true); } // end function - const SMARTY = 2; + const TAG = 2; - function yy_r2_1($yy_subpatterns) + function yy_r2_1() { - $this->token = Smarty_Internal_Templateparser::TP_QUOTE; - $this->yypushstate(self::DOUBLEQUOTEDSTRING); + $this->token = Smarty_Internal_Templateparser::TP_LDELIF; + $this->yybegin(self::TAGBODY); + $this->taglineno = $this->line; } - function yy_r2_2($yy_subpatterns) + function yy_r2_3() { - $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING; + $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; + $this->yybegin(self::TAGBODY); + $this->taglineno = $this->line; } - function yy_r2_3($yy_subpatterns) + function yy_r2_4() { - $this->token = Smarty_Internal_Templateparser::TP_SMARTYBLOCKCHILDPARENT; + $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; + $this->yybegin(self::TAGBODY); $this->taglineno = $this->line; } - function yy_r2_5($yy_subpatterns) + function yy_r2_5() { - $this->token = Smarty_Internal_Templateparser::TP_DOLLAR; + $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER; + $this->yybegin(self::TAGBODY); + $this->taglineno = $this->line; } - function yy_r2_6($yy_subpatterns) + function yy_r2_6() { - $this->token = Smarty_Internal_Templateparser::TP_RDEL; $this->yypopstate(); + $this->token = Smarty_Internal_Templateparser::TP_SIMPLETAG; + $this->taglineno = $this->line; } - function yy_r2_7($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_ISIN; - } - - function yy_r2_8($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_AS; - } - - function yy_r2_9($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_TO; - } - - function yy_r2_10($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_STEP; - } - - function yy_r2_11($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF; - } - - function yy_r2_12($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_IDENTITY; - } - - function yy_r2_13($yy_subpatterns) + function yy_r2_8() { - $this->token = Smarty_Internal_Templateparser::TP_NONEIDENTITY; + $this->yypopstate(); + $this->token = Smarty_Internal_Templateparser::TP_CLOSETAG; + $this->taglineno = $this->line; } - function yy_r2_14($yy_subpatterns) + function yy_r2_9() { - $this->token = Smarty_Internal_Templateparser::TP_EQUALS; + if ($this->_yy_stack[ count($this->_yy_stack) - 1 ] == self::TEXT) { + $this->yypopstate(); + $this->token = Smarty_Internal_Templateparser::TP_SIMPELOUTPUT; + $this->taglineno = $this->line; + } else { + $this->value = $this->smarty->left_delimiter; + $this->token = Smarty_Internal_Templateparser::TP_LDEL; + $this->yybegin(self::TAGBODY); + $this->taglineno = $this->line; + } } - function yy_r2_15($yy_subpatterns) + function yy_r2_11() { - $this->token = Smarty_Internal_Templateparser::TP_NOTEQUALS; + $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; + $this->yybegin(self::TAGBODY); + $this->taglineno = $this->line; } - function yy_r2_17($yy_subpatterns) + function yy_r2_12() { - $this->token = Smarty_Internal_Templateparser::TP_GREATEREQUAL; + $this->token = Smarty_Internal_Templateparser::TP_LDEL; + $this->yybegin(self::TAGBODY); + $this->taglineno = $this->line; } - function yy_r2_19($yy_subpatterns) + public function yylex3() { + if (!isset($this->yy_global_pattern3)) { + $this->yy_global_pattern3 = "/\G(\\s*" . $this->rdel . ")|\G(" . $this->ldel . + "\\s*)|\G([\"])|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G([$]smarty\\.block\\.(child|parent))|\G([$][0-9]*[a-zA-Z_]\\w*)|\G([$])|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*(([!=][=]{1,2})|([<][=>]?)|([>][=]?)|[&|]{2})\\s*)|\G(\\s+(eq|ne|neq|gt|ge|gte|lt|le|lte|mod|and|or|xor|(is\\s+(not\\s+)?(odd|even|div)\\s+by))\\s+)|\G(\\s+is\\s+(not\\s+)?(odd|even))|\G(([!]\\s*)|(not\\s+))|\G([(](int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)[)]\\s*)|\G(\\s*[(]\\s*)|\G(\\s*[)])|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*[-][>]\\s*)|\G(\\s*[=][>]\\s*)|\G(\\s*[=]\\s*)|\G(([+]|[-]){2})|\G(\\s*([+]|[-])\\s*)|\G(\\s*([*]{1,2}|[%\/^&]|[<>]{2})\\s*)|\G([@])|\G([#])|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s*[=]\\s*)|\G(([0-9]*[a-zA-Z_]\\w*)?(\\\\[0-9]*[a-zA-Z_]\\w*)+)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G([`])|\G([|])|\G([.])|\G(\\s*[,]\\s*)|\G(\\s*[;]\\s*)|\G([:]{2})|\G(\\s*[:]\\s*)|\G(\\s*[?]\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+)|\G([\S\s])/isS"; + } + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } - $this->token = Smarty_Internal_Templateparser::TP_LESSEQUAL; - } - - function yy_r2_21($yy_subpatterns) - { + do { + if (preg_match($this->yy_global_pattern3, $this->data, $yymatches, null, $this->counter)) { + $yysubmatches = $yymatches; + if (strlen($yysubmatches[ 0 ]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state TAGBODY'); + } + next($yymatches); // skip global match + $this->token = key($yymatches); // token number + $this->value = current($yymatches); // token value + $r = $this->{'yy_r3_' . $this->token}(); + if ($r === null) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + // accept this token + return true; + } elseif ($r === true) { + // we have changed state + // process this token in the new state + return $this->yylex(); + } elseif ($r === false) { + $this->counter += strlen($this->value); + $this->line += substr_count($this->value, "\n"); + if ($this->counter >= strlen($this->data)) { + return false; // end of input + } + // skip this token + continue; + } + } else { + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); + } + break; + } while (true); + } // end function - $this->token = Smarty_Internal_Templateparser::TP_GREATERTHAN; - } + const TAGBODY = 3; - function yy_r2_22($yy_subpatterns) + function yy_r3_1() { - $this->token = Smarty_Internal_Templateparser::TP_LESSTHAN; + $this->token = Smarty_Internal_Templateparser::TP_RDEL; + $this->yypopstate(); } - function yy_r2_23($yy_subpatterns) + function yy_r3_2() { - $this->token = Smarty_Internal_Templateparser::TP_MOD; + if ($this->smarty->auto_literal && isset($this->value[ $this->ldel_length ]) ? + strpos(" \n\t\r", $this->value[ $this->ldel_length ]) !== false : false + ) { + $this->token = Smarty_Internal_Templateparser::TP_TEXT; + } else { + $this->yypushstate(self::TAG); + return true; + } } - function yy_r2_24($yy_subpatterns) + function yy_r3_3() { - $this->token = Smarty_Internal_Templateparser::TP_NOT; + $this->token = Smarty_Internal_Templateparser::TP_QUOTE; + $this->yypushstate(self::DOUBLEQUOTEDSTRING); } - function yy_r2_25($yy_subpatterns) + function yy_r3_4() { - $this->token = Smarty_Internal_Templateparser::TP_LAND; + $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING; } - function yy_r2_26($yy_subpatterns) + function yy_r3_5() { - $this->token = Smarty_Internal_Templateparser::TP_LOR; + $this->token = Smarty_Internal_Templateparser::TP_SMARTYBLOCKCHILDPARENT; + $this->taglineno = $this->line; } - function yy_r2_27($yy_subpatterns) + function yy_r3_7() { - $this->token = Smarty_Internal_Templateparser::TP_LXOR; + $this->token = Smarty_Internal_Templateparser::TP_DOLLARID; } - function yy_r2_28($yy_subpatterns) + function yy_r3_8() { - $this->token = Smarty_Internal_Templateparser::TP_ISODDBY; + $this->token = Smarty_Internal_Templateparser::TP_DOLLAR; } - function yy_r2_29($yy_subpatterns) + function yy_r3_9() { - $this->token = Smarty_Internal_Templateparser::TP_ISNOTODDBY; + $this->token = Smarty_Internal_Templateparser::TP_ISIN; } - function yy_r2_30($yy_subpatterns) + function yy_r3_10() { - $this->token = Smarty_Internal_Templateparser::TP_ISODD; + $this->token = Smarty_Internal_Templateparser::TP_AS; } - function yy_r2_31($yy_subpatterns) + function yy_r3_11() { - $this->token = Smarty_Internal_Templateparser::TP_ISNOTODD; + $this->token = Smarty_Internal_Templateparser::TP_TO; } - function yy_r2_32($yy_subpatterns) + function yy_r3_12() { - $this->token = Smarty_Internal_Templateparser::TP_ISEVENBY; + $this->token = Smarty_Internal_Templateparser::TP_STEP; } - function yy_r2_33($yy_subpatterns) + function yy_r3_13() { - $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVENBY; + $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF; } - function yy_r2_34($yy_subpatterns) + function yy_r3_14() { - $this->token = Smarty_Internal_Templateparser::TP_ISEVEN; + $this->token = Smarty_Internal_Templateparser::TP_LOGOP; } - function yy_r2_35($yy_subpatterns) + function yy_r3_19() { - $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVEN; + $this->token = Smarty_Internal_Templateparser::TP_TLOGOP; } - function yy_r2_36($yy_subpatterns) + function yy_r3_24() { - $this->token = Smarty_Internal_Templateparser::TP_ISDIVBY; + $this->token = Smarty_Internal_Templateparser::TP_SINGLECOND; } - function yy_r2_37($yy_subpatterns) + function yy_r3_27() { - $this->token = Smarty_Internal_Templateparser::TP_ISNOTDIVBY; + $this->token = Smarty_Internal_Templateparser::TP_NOT; } - function yy_r2_38($yy_subpatterns) + function yy_r3_30() { $this->token = Smarty_Internal_Templateparser::TP_TYPECAST; } - function yy_r2_42($yy_subpatterns) + function yy_r3_34() { $this->token = Smarty_Internal_Templateparser::TP_OPENP; } - function yy_r2_43($yy_subpatterns) + function yy_r3_35() { $this->token = Smarty_Internal_Templateparser::TP_CLOSEP; } - function yy_r2_44($yy_subpatterns) + function yy_r3_36() { $this->token = Smarty_Internal_Templateparser::TP_OPENB; } - function yy_r2_45($yy_subpatterns) + function yy_r3_37() { $this->token = Smarty_Internal_Templateparser::TP_CLOSEB; } - function yy_r2_46($yy_subpatterns) + function yy_r3_38() { $this->token = Smarty_Internal_Templateparser::TP_PTR; } - function yy_r2_47($yy_subpatterns) + function yy_r3_39() { $this->token = Smarty_Internal_Templateparser::TP_APTR; } - function yy_r2_48($yy_subpatterns) + function yy_r3_40() { $this->token = Smarty_Internal_Templateparser::TP_EQUAL; } - function yy_r2_49($yy_subpatterns) + function yy_r3_41() { $this->token = Smarty_Internal_Templateparser::TP_INCDEC; } - function yy_r2_50($yy_subpatterns) + function yy_r3_43() { $this->token = Smarty_Internal_Templateparser::TP_UNIMATH; } - function yy_r2_52($yy_subpatterns) + function yy_r3_45() { $this->token = Smarty_Internal_Templateparser::TP_MATH; } - function yy_r2_54($yy_subpatterns) + function yy_r3_47() { $this->token = Smarty_Internal_Templateparser::TP_AT; } - function yy_r2_55($yy_subpatterns) + function yy_r3_48() { $this->token = Smarty_Internal_Templateparser::TP_HATCH; } - function yy_r2_56($yy_subpatterns) + function yy_r3_49() { // resolve conflicts with shorttag and right_delimiter starting with '=' - if (substr($this->data, $this->counter + strlen($this->value) - 1, $this->rdel_length) == $this->smarty->right_delimiter) { - preg_match("/\s+/", $this->value, $match); - $this->value = $match[0]; + if (substr($this->data, $this->counter + strlen($this->value) - 1, $this->rdel_length) == + $this->smarty->right_delimiter + ) { + preg_match("~\s+~", $this->value, $match); + $this->value = $match[ 0 ]; $this->token = Smarty_Internal_Templateparser::TP_SPACE; } else { $this->token = Smarty_Internal_Templateparser::TP_ATTR; } } - function yy_r2_57($yy_subpatterns) + function yy_r3_50() + { + + $this->token = Smarty_Internal_Templateparser::TP_NAMESPACE; + } + + function yy_r3_53() { $this->token = Smarty_Internal_Templateparser::TP_ID; } - function yy_r2_58($yy_subpatterns) + function yy_r3_54() { $this->token = Smarty_Internal_Templateparser::TP_INTEGER; } - function yy_r2_59($yy_subpatterns) + function yy_r3_55() { $this->token = Smarty_Internal_Templateparser::TP_BACKTICK; $this->yypopstate(); } - function yy_r2_60($yy_subpatterns) + function yy_r3_56() { $this->token = Smarty_Internal_Templateparser::TP_VERT; } - function yy_r2_61($yy_subpatterns) + function yy_r3_57() { $this->token = Smarty_Internal_Templateparser::TP_DOT; } - function yy_r2_62($yy_subpatterns) + function yy_r3_58() { $this->token = Smarty_Internal_Templateparser::TP_COMMA; } - function yy_r2_63($yy_subpatterns) + function yy_r3_59() { $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON; } - function yy_r2_64($yy_subpatterns) + function yy_r3_60() { $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON; } - function yy_r2_65($yy_subpatterns) + function yy_r3_61() { $this->token = Smarty_Internal_Templateparser::TP_COLON; } - function yy_r2_66($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_ANDSYM; - } - - function yy_r2_67($yy_subpatterns) + function yy_r3_62() { $this->token = Smarty_Internal_Templateparser::TP_QMARK; } - function yy_r2_68($yy_subpatterns) + function yy_r3_63() { $this->token = Smarty_Internal_Templateparser::TP_HEX; } - function yy_r2_69($yy_subpatterns) + function yy_r3_64() { $this->token = Smarty_Internal_Templateparser::TP_SPACE; } - function yy_r2_70($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELIF; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r2_72($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r2_73($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r2_74($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r2_75($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDEL; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } - } - - function yy_r2_76($yy_subpatterns) + function yy_r3_65() { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - public function yylex3() + public function yylex4() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - ); + if (!isset($this->yy_global_pattern4)) { + $this->yy_global_pattern4 = + "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*[\/]literal\\s*" . + $this->rdel . ")|\G([\S\s])/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/literal\\s*" . $this->rdel . ")|\G([\S\s])/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern4, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state LITERAL'); + if (strlen($yysubmatches[ 0 ]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state LITERAL'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r3_' . $this->token}($yysubmatches); + $r = $this->{'yy_r4_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -1004,23 +937,22 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; } while (true); } // end function - const LITERAL = 3; + const LITERAL = 4; - function yy_r3_1($yy_subpatterns) + function yy_r4_1() { $this->literal_cnt ++; $this->token = Smarty_Internal_Templateparser::TP_LITERAL; } - function yy_r3_2($yy_subpatterns) + function yy_r4_2() { if ($this->literal_cnt) { @@ -1032,13 +964,14 @@ class Smarty_Internal_Templatelexer } } - function yy_r3_3($yy_subpatterns) + function yy_r4_3() { $to = strlen($this->data); - preg_match("/{$this->ldel}\/?literal{$this->rdel}/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); - if (isset($match[0][1])) { - $to = $match[0][1]; + preg_match("~{$this->ldel}[/]?literal{$this->rdel}~i", $this->data, $match, PREG_OFFSET_CAPTURE, + $this->counter); + if (isset($match[ 0 ][ 1 ])) { + $to = $match[ 0 ][ 1 ]; } else { $this->compiler->trigger_template_error("missing or misspelled literal closing tag"); } @@ -1046,48 +979,36 @@ class Smarty_Internal_Templatelexer $this->token = Smarty_Internal_Templateparser::TP_LITERAL; } - public function yylex4() + public function yylex5() { - $tokenMap = array( - 1 => 1, - 3 => 0, - 4 => 0, - 5 => 0, - 6 => 0, - 7 => 0, - 8 => 0, - 9 => 0, - 10 => 0, - 11 => 0, - 12 => 0, - 13 => 3, - 17 => 0, - ); + if (!isset($this->yy_global_pattern5)) { + $this->yy_global_pattern5 = + "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*[\/]literal\\s*" . + $this->rdel . ")|\G(" . $this->ldel . "\\s*[\/])|\G(" . $this->ldel . "\\s*[0-9]*[a-zA-Z_]\\w*)|\G(" . + $this->ldel . + "\\s*)|\G([\"])|\G([`][$])|\G([$][0-9]*[a-zA-Z_]\\w*)|\G([$])|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(" . + $this->ldel . "|\\$|`\\$|\")))|\G([\S\s])/isS"; + } if ($this->counter >= strlen($this->data)) { return false; // end of input } - $yy_global_pattern = "/\G(" . $this->ldel . "\\s*(if|elseif|else if|while)\\s+)|\G(" . $this->ldel . "\\s*for\\s+)|\G(" . $this->ldel . "\\s*foreach(?![^\s]))|\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/)|\G(" . $this->ldel . "\\s*)|\G(\")|\G(`\\$)|\G(\\$[0-9]*[a-zA-Z_]\\w*)|\G(\\$)|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(" . $this->ldel . "|\\$|`\\$|\")))|\G([\S\s])/iS"; do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { + if (preg_match($this->yy_global_pattern5, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state DOUBLEQUOTEDSTRING'); + if (strlen($yysubmatches[ 0 ]) < 200) { + $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); + } else { + $yymatches = array_filter($yymatches, 'strlen'); + } + if (empty($yymatches)) { + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state DOUBLEQUOTEDSTRING'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } $this->value = current($yymatches); // token value - $r = $this->{'yy_r4_' . $this->token}($yysubmatches); + $r = $this->{'yy_r5_' . $this->token}(); if ($r === null) { $this->counter += strlen($this->value); $this->line += substr_count($this->value, "\n"); @@ -1107,122 +1028,101 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; } while (true); } // end function - const DOUBLEQUOTEDSTRING = 4; + const DOUBLEQUOTEDSTRING = 5; - function yy_r4_1($yy_subpatterns) + function yy_r5_1() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELIF; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } + $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - function yy_r4_3($yy_subpatterns) + function yy_r5_2() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELFOR; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; - } + $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - function yy_r4_4($yy_subpatterns) + function yy_r5_3() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { + if ($this->smarty->auto_literal && isset($this->value[ $this->ldel_length ]) ? + strpos(" \n\t\r", $this->value[ $this->ldel_length ]) !== false : false + ) { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; + $this->yypushstate(self::TAG); + return true; } } - function yy_r4_5($yy_subpatterns) - { - - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } - - function yy_r4_6($yy_subpatterns) + function yy_r5_4() { - $this->token = Smarty_Internal_Templateparser::TP_TEXT; - } - - function yy_r4_7($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { + if ($this->smarty->auto_literal && isset($this->value[ $this->ldel_length ]) ? + strpos(" \n\t\r", $this->value[ $this->ldel_length ]) !== false : false + ) { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } else { - $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH; - $this->yypushstate(self::SMARTY); - $this->taglineno = $this->line; + $this->yypushstate(self::TAG); + return true; } } - function yy_r4_8($yy_subpatterns) + function yy_r5_5() { - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { + if ($this->smarty->auto_literal && isset($this->value[ $this->ldel_length ]) ? + strpos(" \n\t\r", $this->value[ $this->ldel_length ]) !== false : false + ) { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } else { $this->token = Smarty_Internal_Templateparser::TP_LDEL; - $this->yypushstate(self::SMARTY); $this->taglineno = $this->line; + $this->yypushstate(self::TAGBODY); } } - function yy_r4_9($yy_subpatterns) + function yy_r5_6() { $this->token = Smarty_Internal_Templateparser::TP_QUOTE; $this->yypopstate(); } - function yy_r4_10($yy_subpatterns) + function yy_r5_7() { $this->token = Smarty_Internal_Templateparser::TP_BACKTICK; $this->value = substr($this->value, 0, - 1); - $this->yypushstate(self::SMARTY); + $this->yypushstate(self::TAGBODY); $this->taglineno = $this->line; } - function yy_r4_11($yy_subpatterns) + function yy_r5_8() { $this->token = Smarty_Internal_Templateparser::TP_DOLLARID; } - function yy_r4_12($yy_subpatterns) + function yy_r5_9() { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - function yy_r4_13($yy_subpatterns) + function yy_r5_10() { $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - function yy_r4_17($yy_subpatterns) + function yy_r5_14() { $to = strlen($this->data); @@ -1230,323 +1130,6 @@ class Smarty_Internal_Templatelexer $this->token = Smarty_Internal_Templateparser::TP_TEXT; } - public function yylex5() - { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - 4 => 0, - ); - if ($this->counter >= strlen($this->data)) { - return false; // end of input - } - $yy_global_pattern = "/\G(" . $this->ldel . "\\s*strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*block)|\G([\S\s])/iS"; - - do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { - $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state CHILDBODY'); - } - next($yymatches); // skip global match - $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } - $this->value = current($yymatches); // token value - $r = $this->{'yy_r5_' . $this->token}($yysubmatches); - if ($r === null) { - $this->counter += strlen($this->value); - $this->line += substr_count($this->value, "\n"); - // accept this token - return true; - } elseif ($r === true) { - // we have changed state - // process this token in the new state - return $this->yylex(); - } elseif ($r === false) { - $this->counter += strlen($this->value); - $this->line += substr_count($this->value, "\n"); - if ($this->counter >= strlen($this->data)) { - return false; // end of input - } - // skip this token - continue; - } - } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); - } - break; - } while (true); - } // end function - - const CHILDBODY = 5; - - function yy_r5_1($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - return false; - } else { - $this->token = Smarty_Internal_Templateparser::TP_STRIPON; - } - } - - function yy_r5_2($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - return false; - } else { - $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF; - } - } - - function yy_r5_3($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - return false; - } else { - $this->yypopstate(); - return true; - } - } - - function yy_r5_4($yy_subpatterns) - { - - $to = strlen($this->data); - preg_match("/" . $this->ldel . "\s*((\/)?strip\s*" . $this->rdel . "|block\s+)/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); - if (isset($match[0][1])) { - $to = $match[0][1]; - } - $this->value = substr($this->data, $this->counter, $to - $this->counter); - return false; - } - - public function yylex6() - { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - 4 => 1, - 6 => 0, - ); - if ($this->counter >= strlen($this->data)) { - return false; // end of input - } - $yy_global_pattern = "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*block)|\G(" . $this->ldel . "\\s*\/block)|\G(" . $this->ldel . "\\s*[$]smarty\\.block\\.(child|parent))|\G([\S\s])/iS"; - - do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { - $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state CHILDBLOCK'); - } - next($yymatches); // skip global match - $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } - $this->value = current($yymatches); // token value - $r = $this->{'yy_r6_' . $this->token}($yysubmatches); - if ($r === null) { - $this->counter += strlen($this->value); - $this->line += substr_count($this->value, "\n"); - // accept this token - return true; - } elseif ($r === true) { - // we have changed state - // process this token in the new state - return $this->yylex(); - } elseif ($r === false) { - $this->counter += strlen($this->value); - $this->line += substr_count($this->value, "\n"); - if ($this->counter >= strlen($this->data)) { - return false; // end of input - } - // skip this token - continue; - } - } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); - } - break; - } while (true); - } // end function - - const CHILDBLOCK = 6; - - function yy_r6_1($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } else { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - $this->yypushstate(self::CHILDLITERAL); - } - } - - function yy_r6_2($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } else { - $this->yypopstate(); - return true; - } - } - - function yy_r6_3($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } else { - $this->yypopstate(); - return true; - } - } - - function yy_r6_4($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } else { - $this->yypopstate(); - return true; - } - } - - function yy_r6_6($yy_subpatterns) - { - - $to = strlen($this->data); - preg_match("/" . $this->ldel . "\s*(literal\s*" . $this->rdel . "|(\/)?block(\s|" . $this->rdel . ")|[\$]smarty\.block\.(child|parent))/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); - if (isset($match[0][1])) { - $to = $match[0][1]; - } - $this->value = substr($this->data, $this->counter, $to - $this->counter); - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } - - public function yylex7() - { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - ); - if ($this->counter >= strlen($this->data)) { - return false; // end of input - } - $yy_global_pattern = "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/literal\\s*" . $this->rdel . ")|\G([\S\s])/iS"; - - do { - if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) { - $yysubmatches = $yymatches; - $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns - if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state CHILDLITERAL'); - } - next($yymatches); // skip global match - $this->token = key($yymatches); // token number - if ($tokenMap[$this->token]) { - // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); - } else { - $yysubmatches = array(); - } - $this->value = current($yymatches); // token value - $r = $this->{'yy_r7_' . $this->token}($yysubmatches); - if ($r === null) { - $this->counter += strlen($this->value); - $this->line += substr_count($this->value, "\n"); - // accept this token - return true; - } elseif ($r === true) { - // we have changed state - // process this token in the new state - return $this->yylex(); - } elseif ($r === false) { - $this->counter += strlen($this->value); - $this->line += substr_count($this->value, "\n"); - if ($this->counter >= strlen($this->data)) { - return false; // end of input - } - // skip this token - continue; - } - } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); - } - break; - } while (true); - } // end function - - const CHILDLITERAL = 7; - - function yy_r7_1($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } else { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - $this->yypushstate(self::CHILDLITERAL); - } - } - - function yy_r7_2($yy_subpatterns) - { - - if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } else { - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - $this->yypopstate(); - } - } - - function yy_r7_3($yy_subpatterns) - { - - $to = strlen($this->data); - preg_match("/{$this->ldel}\/?literal\s*{$this->rdel}/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); - if (isset($match[0][1])) { - $to = $match[0][1]; - } else { - $this->compiler->trigger_template_error("missing or misspelled literal closing tag"); - } - $this->value = substr($this->data, $this->counter, $to - $this->counter); - $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE; - } }
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php b/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php index 98b9fc7fb..57dbf61a3 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php @@ -1,17 +1,9 @@ <?php -/** - * Smarty Internal Plugin Templateparser - * This is the template parser. - * It is generated from the internal.templateparser.y file - * - * @package Smarty - * @subpackage Compiler - * @author Uwe Tews - */ class TP_yyToken implements ArrayAccess { public $string = ''; + public $metadata = array(); public function __construct($s, $m = array()) @@ -31,7 +23,7 @@ class TP_yyToken implements ArrayAccess public function __toString() { - return $this->_string; + return $this->string; } public function offsetExists($offset) @@ -48,8 +40,7 @@ class TP_yyToken implements ArrayAccess { if ($offset === null) { if (isset($value[0])) { - $x = ($value instanceof TP_yyToken) ? - $value->metadata : $value; + $x = ($value instanceof TP_yyToken) ? $value->metadata : $value; $this->metadata = array_merge($this->metadata, $x); return; @@ -85,2072 +76,809 @@ class TP_yyStackEntry ; -#line 13 "smarty_internal_templateparser.y" -class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php" +#line 11 "../smarty/lexer/smarty_internal_templateparser.y" + +/** + * Smarty Template Parser Class + * + * This is the template parser. + * It is generated from the smarty_internal_templateparser.y file + * + * @author Uwe Tews <uwe.tews@googlemail.com> + */ +class Smarty_Internal_Templateparser { - #line 15 "smarty_internal_templateparser.y" + #line 23 "../smarty/lexer/smarty_internal_templateparser.y" const Err1 = "Security error: Call to private object member not allowed"; + const Err2 = "Security error: Call to dynamic object member not allowed"; + const Err3 = "PHP in template not allowed. Use SmartyBC to enable it"; - // states whether the parse was successful or not + + /** + * result status + * + * @var bool + */ public $successful = true; + + /** + * return value + * + * @var mixed + */ public $retvalue = 0; + + /** + * counter for prefix code + * + * @var int + */ public static $prefix_number = 0; - private $_string; + + /** + * @var + */ public $yymajor; + + /** + * last index of array variable + * + * @var mixed + */ public $last_index; + + /** + * last variable name + * + * @var string + */ public $last_variable; + + /** + * root parse tree buffer + * + * @var Smarty_Internal_ParseTree + */ public $root_buffer; + + /** + * current parse tree object + * + * @var Smarty_Internal_ParseTree + */ public $current_buffer; - private $lex; + + /** + * lexer object + * + * @var Smarty_Internal_Templatelexer + */ + public $lex; + + /** + * internal error flag + * + * @var bool + */ private $internalError = false; - private $strip = false; - function __construct($lex, $compiler) + /** + * {strip} status + * + * @var bool + */ + public $strip = false; + + /** + * compiler object + * + * @var Smarty_Internal_TemplateCompilerBase + */ + public $compiler = null; + + /** + * smarty object + * + * @var Smarty + */ + public $smarty = null; + + /** + * template object + * + * @var Smarty_Internal_Template + */ + public $template = null; + + /** + * block nesting level + * + * @var int + */ + public $block_nesting_level = 0; + + /** + * security object + * + * @var Smarty_Security + */ + public $security = null; + + /** + * template prefix array + * + * @var \Smarty_Internal_ParseTree[] + */ + public $template_prefix = array(); + + /** + * security object + * + * @var \Smarty_Internal_ParseTree[] + */ + public $template_postfix = array(); + + /** + * constructor + * + * @param Smarty_Internal_Templatelexer $lex + * @param Smarty_Internal_TemplateCompilerBase $compiler + */ + function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler) { $this->lex = $lex; $this->compiler = $compiler; - $this->smarty = $this->compiler->smarty; $this->template = $this->compiler->template; - $this->compiler->has_variable_string = false; - $this->compiler->prefix_code = array(); - $this->block_nesting_level = 0; - if ($this->security = isset($this->smarty->security_policy)) { - $this->php_handling = $this->smarty->security_policy->php_handling; - } else { - $this->php_handling = $this->smarty->php_handling; - } - $this->is_xml = false; - $this->asp_tags = (ini_get('asp_tags') != '0'); - $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this); + $this->smarty = $this->template->smarty; + $this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false; + $this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template(); } - public function compileVariable($variable) + /** + * insert PHP code in current buffer + * + * @param string $code + */ + public function insertPhpCode($code) { - if (strpos($variable, '(') == 0) { - // not a variable variable - $var = trim($variable, '\''); - $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable($var, null, true, false)->nocache; - $this->template->properties['variables'][$var] = $this->compiler->tag_nocache | $this->compiler->nocache; - } - // return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)'; - return '$_smarty_tpl->tpl_vars[' . $variable . ']->value'; + $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code)); } - #line 130 "smarty_internal_templateparser.php" + /** + * merge PHP code with prefix code and return parse tree tag object + * + * @param string $code + * + * @return Smarty_Internal_ParseTree_Tag + */ + public function mergePrefixCode($code) + { + $tmp = ''; + foreach ($this->compiler->prefix_code as $preCode) { + $tmp .= $preCode; + } + $this->compiler->prefix_code = array(); + $tmp .= $code; + return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true)); + } const TP_VERT = 1; + const TP_COLON = 2; - const TP_RDEL = 3; - const TP_COMMENT = 4; - const TP_PHPSTARTTAG = 5; - const TP_PHPENDTAG = 6; - const TP_PHPENDSCRIPT = 7; - const TP_ASPSTARTTAG = 8; - const TP_ASPENDTAG = 9; - const TP_XMLTAG = 10; - const TP_TEXT = 11; - const TP_STRIPON = 12; - const TP_STRIPOFF = 13; - const TP_BLOCKSOURCE = 14; - const TP_LITERALSTART = 15; - const TP_LITERALEND = 16; - const TP_LITERAL = 17; - const TP_LDEL = 18; - const TP_DOLLAR = 19; - const TP_ID = 20; - const TP_EQUAL = 21; - const TP_PTR = 22; - const TP_LDELIF = 23; - const TP_LDELFOR = 24; - const TP_SEMICOLON = 25; - const TP_INCDEC = 26; - const TP_TO = 27; - const TP_STEP = 28; - const TP_LDELFOREACH = 29; - const TP_SPACE = 30; - const TP_AS = 31; - const TP_APTR = 32; - const TP_LDELSETFILTER = 33; - const TP_SMARTYBLOCKCHILDPARENT = 34; - const TP_LDELSLASH = 35; - const TP_ATTR = 36; - const TP_INTEGER = 37; - const TP_COMMA = 38; - const TP_OPENP = 39; - const TP_CLOSEP = 40; - const TP_MATH = 41; - const TP_UNIMATH = 42; - const TP_ANDSYM = 43; - const TP_ISIN = 44; - const TP_ISDIVBY = 45; - const TP_ISNOTDIVBY = 46; - const TP_ISEVEN = 47; - const TP_ISNOTEVEN = 48; - const TP_ISEVENBY = 49; - const TP_ISNOTEVENBY = 50; - const TP_ISODD = 51; - const TP_ISNOTODD = 52; - const TP_ISODDBY = 53; - const TP_ISNOTODDBY = 54; - const TP_INSTANCEOF = 55; - const TP_QMARK = 56; - const TP_NOT = 57; - const TP_TYPECAST = 58; - const TP_HEX = 59; - const TP_DOT = 60; - const TP_SINGLEQUOTESTRING = 61; - const TP_DOUBLECOLON = 62; - const TP_AT = 63; - const TP_HATCH = 64; - const TP_OPENB = 65; - const TP_CLOSEB = 66; - const TP_EQUALS = 67; - const TP_NOTEQUALS = 68; - const TP_GREATERTHAN = 69; - const TP_LESSTHAN = 70; - const TP_GREATEREQUAL = 71; - const TP_LESSEQUAL = 72; - const TP_IDENTITY = 73; - const TP_NONEIDENTITY = 74; - const TP_MOD = 75; - const TP_LAND = 76; - const TP_LOR = 77; - const TP_LXOR = 78; - const TP_QUOTE = 79; - const TP_BACKTICK = 80; - const TP_DOLLARID = 81; - const YY_NO_ACTION = 560; - const YY_ACCEPT_ACTION = 559; - const YY_ERROR_ACTION = 558; - - const YY_SZ_ACTTAB = 2541; - static public $yy_action = array( - /* 0 */ - 225, 35, 312, 333, 198, 272, 273, 275, 283, 292, - /* 10 */ - 293, 294, 295, 287, 288, 267, 190, 43, 19, 8, - /* 20 */ - 204, 14, 212, 299, 2, 108, 225, 9, 424, 41, - /* 30 */ - 139, 208, 225, 41, 250, 32, 228, 13, 159, 32, - /* 40 */ - 51, 52, 50, 44, 11, 12, 298, 300, 21, 23, - /* 50 */ - 303, 302, 25, 17, 225, 424, 234, 225, 225, 381, - /* 60 */ - 421, 424, 45, 38, 145, 357, 313, 323, 322, 324, - /* 70 */ - 325, 326, 320, 315, 314, 316, 317, 319, 127, 41, - /* 80 */ - 46, 42, 338, 41, 168, 32, 41, 421, 14, 32, - /* 90 */ - 299, 34, 32, 421, 51, 52, 50, 44, 11, 12, - /* 100 */ - 298, 300, 21, 23, 303, 302, 25, 17, 225, 104, - /* 110 */ - 185, 46, 46, 559, 95, 279, 242, 271, 3, 321, - /* 120 */ - 313, 323, 322, 324, 325, 326, 320, 315, 314, 316, - /* 130 */ - 317, 319, 14, 241, 299, 34, 208, 41, 225, 14, - /* 140 */ - 418, 299, 28, 32, 179, 7, 356, 285, 51, 52, - /* 150 */ - 50, 44, 11, 12, 298, 300, 21, 23, 303, 302, - /* 160 */ - 25, 17, 225, 225, 274, 424, 240, 41, 134, 190, - /* 170 */ - 332, 343, 340, 32, 313, 323, 322, 324, 325, 326, - /* 180 */ - 320, 315, 314, 316, 317, 319, 37, 122, 182, 31, - /* 190 */ - 202, 225, 424, 352, 225, 14, 7, 299, 424, 225, - /* 200 */ - 150, 386, 51, 52, 50, 44, 11, 12, 298, 300, - /* 210 */ - 21, 23, 303, 302, 25, 17, 225, 46, 349, 134, - /* 220 */ - 41, 278, 242, 271, 7, 29, 32, 341, 313, 323, - /* 230 */ - 322, 324, 325, 326, 320, 315, 314, 316, 317, 319, - /* 240 */ - 226, 227, 197, 304, 103, 184, 232, 134, 46, 14, - /* 250 */ - 35, 299, 265, 46, 321, 18, 51, 52, 50, 44, - /* 260 */ - 11, 12, 298, 300, 21, 23, 303, 302, 25, 17, - /* 270 */ - 225, 208, 264, 259, 258, 218, 6, 109, 345, 35, - /* 280 */ - 193, 263, 313, 323, 322, 324, 325, 326, 320, 315, - /* 290 */ - 314, 316, 317, 319, 241, 192, 304, 107, 102, 175, - /* 300 */ - 269, 201, 191, 304, 203, 142, 253, 208, 321, 335, - /* 310 */ - 51, 52, 50, 44, 11, 12, 298, 300, 21, 23, - /* 320 */ - 303, 302, 25, 17, 225, 208, 268, 196, 208, 305, - /* 330 */ - 485, 208, 230, 200, 308, 485, 313, 323, 322, 324, - /* 340 */ - 325, 326, 320, 315, 314, 316, 317, 319, 30, 159, - /* 350 */ - 105, 20, 233, 161, 186, 305, 301, 274, 256, 247, - /* 360 */ - 208, 225, 321, 36, 51, 52, 50, 44, 11, 12, - /* 370 */ - 298, 300, 21, 23, 303, 302, 25, 17, 225, 204, - /* 380 */ - 207, 14, 254, 299, 131, 259, 249, 225, 158, 127, - /* 390 */ - 313, 323, 322, 324, 325, 326, 320, 315, 314, 316, - /* 400 */ - 317, 319, 237, 262, 130, 225, 45, 183, 187, 14, - /* 410 */ - 169, 223, 301, 342, 274, 334, 321, 321, 51, 52, - /* 420 */ - 50, 44, 11, 12, 298, 300, 21, 23, 303, 302, - /* 430 */ - 25, 17, 225, 204, 204, 14, 6, 244, 141, 259, - /* 440 */ - 291, 46, 98, 194, 313, 323, 322, 324, 325, 326, - /* 450 */ - 320, 315, 314, 316, 317, 319, 132, 262, 227, 166, - /* 460 */ - 163, 189, 14, 284, 231, 26, 237, 27, 321, 321, - /* 470 */ - 321, 32, 51, 52, 50, 44, 11, 12, 298, 300, - /* 480 */ - 21, 23, 303, 302, 25, 17, 225, 204, 14, 276, - /* 490 */ - 245, 206, 22, 4, 144, 328, 150, 120, 313, 323, - /* 500 */ - 322, 324, 325, 326, 320, 315, 314, 316, 317, 319, - /* 510 */ - 195, 348, 262, 176, 171, 39, 30, 199, 143, 180, - /* 520 */ - 148, 281, 321, 260, 159, 230, 51, 52, 50, 44, - /* 530 */ - 11, 12, 298, 300, 21, 23, 303, 302, 25, 17, - /* 540 */ - 225, 296, 205, 129, 346, 289, 124, 329, 125, 339, - /* 550 */ - 97, 119, 313, 323, 322, 324, 325, 326, 320, 315, - /* 560 */ - 314, 316, 317, 319, 127, 262, 262, 239, 277, 282, - /* 570 */ - 307, 94, 266, 351, 269, 170, 159, 181, 172, 106, - /* 580 */ - 51, 52, 50, 44, 11, 12, 298, 300, 21, 23, - /* 590 */ - 303, 302, 25, 17, 225, 330, 270, 301, 15, 115, - /* 600 */ - 331, 310, 326, 255, 140, 126, 313, 323, 322, 324, - /* 610 */ - 325, 326, 320, 315, 314, 316, 317, 319, 301, 326, - /* 620 */ - 262, 326, 326, 326, 326, 326, 326, 326, 326, 326, - /* 630 */ - 326, 326, 326, 243, 51, 52, 50, 44, 11, 12, - /* 640 */ - 298, 300, 21, 23, 303, 302, 25, 17, 225, 40, - /* 650 */ - 326, 326, 326, 326, 326, 326, 326, 113, 99, 100, - /* 660 */ - 313, 323, 322, 324, 325, 326, 320, 315, 314, 316, - /* 670 */ - 317, 319, 262, 262, 262, 326, 326, 326, 326, 326, - /* 680 */ - 326, 326, 326, 326, 326, 326, 326, 326, 51, 52, - /* 690 */ - 50, 44, 11, 12, 298, 300, 21, 23, 303, 302, - /* 700 */ - 25, 17, 225, 326, 326, 326, 326, 326, 326, 326, - /* 710 */ - 326, 114, 326, 326, 313, 323, 322, 324, 325, 326, - /* 720 */ - 320, 315, 314, 316, 317, 319, 262, 326, 326, 326, - /* 730 */ - 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, - /* 740 */ - 326, 286, 51, 52, 50, 44, 11, 12, 298, 300, - /* 750 */ - 21, 23, 303, 302, 25, 17, 225, 326, 326, 326, - /* 760 */ - 326, 326, 326, 326, 326, 326, 326, 326, 313, 323, - /* 770 */ - 322, 324, 325, 326, 320, 315, 314, 316, 317, 319, - /* 780 */ - 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, - /* 790 */ - 326, 326, 326, 326, 326, 326, 51, 52, 50, 44, - /* 800 */ - 11, 12, 298, 300, 21, 23, 303, 302, 25, 17, - /* 810 */ - 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, - /* 820 */ - 159, 326, 313, 323, 322, 324, 325, 326, 320, 315, - /* 830 */ - 314, 316, 317, 319, 326, 326, 326, 326, 51, 52, - /* 840 */ - 50, 44, 11, 12, 298, 300, 21, 23, 303, 302, - /* 850 */ - 25, 17, 326, 326, 326, 326, 326, 326, 212, 326, - /* 860 */ - 326, 326, 326, 9, 313, 323, 322, 324, 325, 326, - /* 870 */ - 320, 315, 314, 316, 317, 319, 326, 326, 326, 326, - /* 880 */ - 326, 326, 326, 8, 138, 211, 326, 326, 2, 108, - /* 890 */ - 326, 235, 326, 326, 139, 157, 165, 326, 250, 128, - /* 900 */ - 228, 326, 246, 326, 24, 321, 326, 48, 261, 326, - /* 910 */ - 326, 251, 336, 353, 326, 311, 326, 301, 174, 173, - /* 920 */ - 326, 326, 49, 47, 280, 238, 297, 321, 321, 105, - /* 930 */ - 1, 337, 326, 147, 326, 326, 326, 326, 326, 301, - /* 940 */ - 301, 8, 123, 92, 96, 257, 2, 108, 326, 311, - /* 950 */ - 326, 326, 139, 326, 326, 235, 250, 309, 228, 146, - /* 960 */ - 246, 326, 24, 128, 162, 48, 326, 326, 326, 326, - /* 970 */ - 235, 326, 350, 321, 155, 251, 336, 353, 128, 311, - /* 980 */ - 49, 47, 280, 238, 297, 301, 326, 105, 1, 326, - /* 990 */ - 251, 336, 353, 326, 311, 14, 326, 299, 326, 8, - /* 1000 */ - 138, 224, 96, 326, 2, 108, 326, 41, 326, 252, - /* 1010 */ - 139, 235, 326, 32, 250, 153, 228, 326, 246, 128, - /* 1020 */ - 24, 326, 326, 48, 326, 326, 326, 326, 326, 326, - /* 1030 */ - 326, 251, 336, 353, 326, 311, 326, 326, 49, 47, - /* 1040 */ - 280, 238, 297, 326, 326, 105, 1, 326, 326, 326, - /* 1050 */ - 326, 326, 14, 326, 299, 326, 326, 8, 142, 224, - /* 1060 */ - 96, 326, 2, 108, 41, 235, 248, 326, 139, 154, - /* 1070 */ - 32, 235, 250, 128, 228, 156, 246, 326, 33, 128, - /* 1080 */ - 326, 48, 326, 326, 326, 251, 336, 353, 326, 311, - /* 1090 */ - 326, 251, 336, 353, 326, 311, 49, 47, 280, 238, - /* 1100 */ - 297, 326, 326, 105, 1, 326, 326, 326, 326, 326, - /* 1110 */ - 326, 326, 326, 326, 326, 8, 138, 213, 96, 326, - /* 1120 */ - 2, 108, 326, 326, 326, 326, 139, 235, 326, 326, - /* 1130 */ - 250, 149, 228, 326, 246, 128, 24, 326, 326, 48, - /* 1140 */ - 326, 326, 326, 326, 326, 326, 326, 251, 336, 353, - /* 1150 */ - 326, 311, 326, 326, 49, 47, 280, 238, 297, 326, - /* 1160 */ - 326, 105, 1, 326, 326, 326, 326, 326, 326, 326, - /* 1170 */ - 326, 326, 326, 8, 138, 210, 96, 326, 2, 108, - /* 1180 */ - 326, 326, 326, 326, 139, 235, 326, 326, 250, 151, - /* 1190 */ - 228, 326, 219, 128, 24, 326, 326, 48, 326, 326, - /* 1200 */ - 326, 326, 326, 326, 326, 251, 336, 353, 326, 311, - /* 1210 */ - 326, 326, 49, 47, 280, 238, 297, 326, 326, 105, - /* 1220 */ - 1, 326, 326, 326, 326, 326, 326, 326, 326, 326, - /* 1230 */ - 326, 8, 136, 224, 96, 326, 2, 108, 326, 326, - /* 1240 */ - 326, 326, 139, 235, 326, 326, 250, 152, 228, 326, - /* 1250 */ - 246, 128, 24, 326, 326, 48, 326, 326, 326, 326, - /* 1260 */ - 326, 326, 326, 251, 336, 353, 326, 311, 326, 326, - /* 1270 */ - 49, 47, 280, 238, 297, 326, 326, 105, 1, 326, - /* 1280 */ - 225, 326, 391, 326, 422, 326, 326, 326, 326, 8, - /* 1290 */ - 135, 224, 96, 326, 2, 108, 326, 326, 326, 326, - /* 1300 */ - 139, 236, 229, 326, 250, 326, 228, 326, 246, 41, - /* 1310 */ - 5, 422, 326, 48, 326, 32, 326, 422, 7, 326, - /* 1320 */ - 7, 326, 326, 326, 198, 178, 326, 326, 49, 47, - /* 1330 */ - 280, 238, 297, 326, 321, 105, 1, 43, 19, 326, - /* 1340 */ - 326, 134, 326, 134, 326, 326, 326, 8, 138, 209, - /* 1350 */ - 96, 208, 2, 108, 326, 326, 326, 326, 139, 326, - /* 1360 */ - 326, 326, 250, 326, 228, 326, 246, 326, 24, 198, - /* 1370 */ - 164, 48, 326, 326, 326, 326, 326, 326, 326, 321, - /* 1380 */ - 326, 326, 43, 19, 326, 326, 49, 47, 280, 238, - /* 1390 */ - 297, 326, 326, 105, 1, 326, 208, 326, 326, 326, - /* 1400 */ - 326, 326, 326, 326, 326, 8, 142, 224, 96, 326, - /* 1410 */ - 2, 108, 326, 326, 326, 326, 139, 326, 326, 326, - /* 1420 */ - 250, 326, 228, 326, 246, 326, 33, 198, 177, 48, - /* 1430 */ - 326, 326, 326, 326, 326, 326, 326, 321, 326, 326, - /* 1440 */ - 43, 19, 326, 326, 49, 47, 280, 238, 297, 326, - /* 1450 */ - 326, 105, 326, 326, 208, 326, 326, 326, 326, 326, - /* 1460 */ - 326, 326, 326, 8, 142, 222, 96, 326, 2, 108, - /* 1470 */ - 326, 326, 326, 326, 139, 326, 326, 326, 250, 326, - /* 1480 */ - 228, 326, 246, 326, 33, 326, 467, 48, 326, 326, - /* 1490 */ - 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, - /* 1500 */ - 326, 326, 49, 47, 280, 238, 297, 326, 467, 105, - /* 1510 */ - 467, 467, 326, 467, 467, 326, 326, 326, 326, 467, - /* 1520 */ - 326, 467, 7, 467, 96, 326, 326, 326, 326, 326, - /* 1530 */ - 326, 326, 326, 326, 326, 235, 326, 326, 467, 121, - /* 1540 */ - 326, 326, 86, 128, 326, 134, 326, 326, 326, 467, - /* 1550 */ - 326, 290, 318, 326, 326, 251, 336, 353, 326, 311, - /* 1560 */ - 326, 326, 326, 467, 326, 326, 326, 235, 326, 216, - /* 1570 */ - 354, 133, 326, 326, 68, 117, 249, 326, 326, 326, - /* 1580 */ - 326, 326, 326, 290, 318, 326, 326, 251, 336, 353, - /* 1590 */ - 235, 311, 326, 326, 133, 326, 326, 76, 128, 326, - /* 1600 */ - 326, 326, 326, 326, 326, 326, 290, 318, 326, 235, - /* 1610 */ - 251, 336, 353, 133, 311, 326, 76, 128, 326, 326, - /* 1620 */ - 326, 221, 326, 326, 326, 290, 318, 326, 326, 251, - /* 1630 */ - 336, 353, 326, 311, 326, 326, 326, 326, 235, 326, - /* 1640 */ - 215, 326, 121, 326, 326, 86, 128, 326, 326, 326, - /* 1650 */ - 326, 326, 326, 326, 290, 318, 326, 326, 251, 336, - /* 1660 */ - 353, 235, 311, 326, 326, 133, 326, 326, 59, 117, - /* 1670 */ - 137, 326, 326, 355, 326, 326, 326, 290, 318, 326, - /* 1680 */ - 326, 251, 336, 353, 235, 311, 326, 326, 133, 326, - /* 1690 */ - 326, 76, 128, 326, 326, 326, 326, 326, 326, 326, - /* 1700 */ - 290, 318, 326, 235, 251, 336, 353, 110, 311, 326, - /* 1710 */ - 69, 128, 326, 326, 326, 217, 326, 326, 326, 290, - /* 1720 */ - 318, 326, 326, 251, 336, 353, 326, 311, 326, 235, - /* 1730 */ - 101, 160, 326, 133, 326, 326, 57, 128, 326, 326, - /* 1740 */ - 321, 326, 326, 43, 19, 290, 318, 326, 235, 251, - /* 1750 */ - 336, 353, 133, 311, 326, 73, 128, 208, 326, 326, - /* 1760 */ - 326, 326, 326, 326, 290, 318, 326, 326, 251, 336, - /* 1770 */ - 353, 235, 311, 326, 326, 133, 326, 326, 78, 128, - /* 1780 */ - 326, 326, 326, 326, 326, 326, 326, 290, 318, 326, - /* 1790 */ - 235, 251, 336, 353, 133, 311, 326, 70, 128, 326, - /* 1800 */ - 326, 326, 326, 326, 326, 326, 290, 318, 326, 326, - /* 1810 */ - 251, 336, 353, 326, 311, 326, 235, 198, 167, 326, - /* 1820 */ - 133, 326, 326, 64, 128, 326, 326, 321, 326, 326, - /* 1830 */ - 43, 19, 290, 318, 326, 235, 251, 336, 353, 133, - /* 1840 */ - 311, 326, 67, 128, 208, 326, 326, 326, 326, 326, - /* 1850 */ - 326, 290, 318, 326, 326, 251, 336, 353, 235, 311, - /* 1860 */ - 326, 326, 133, 326, 326, 88, 128, 326, 326, 326, - /* 1870 */ - 326, 326, 326, 326, 290, 318, 326, 235, 251, 336, - /* 1880 */ - 353, 133, 311, 326, 82, 128, 326, 326, 326, 326, - /* 1890 */ - 326, 326, 326, 290, 318, 326, 326, 251, 336, 353, - /* 1900 */ - 326, 311, 326, 235, 198, 188, 326, 133, 326, 326, - /* 1910 */ - 72, 128, 326, 326, 321, 326, 326, 43, 19, 290, - /* 1920 */ - 318, 326, 235, 251, 336, 353, 93, 311, 326, 55, - /* 1930 */ - 116, 208, 326, 326, 326, 326, 326, 326, 290, 318, - /* 1940 */ - 326, 326, 251, 336, 353, 235, 311, 326, 326, 112, - /* 1950 */ - 326, 326, 87, 128, 326, 326, 326, 326, 326, 326, - /* 1960 */ - 326, 290, 318, 326, 235, 251, 336, 353, 133, 311, - /* 1970 */ - 326, 77, 128, 326, 326, 326, 326, 326, 326, 326, - /* 1980 */ - 290, 318, 326, 326, 251, 336, 353, 326, 311, 326, - /* 1990 */ - 235, 326, 326, 326, 133, 326, 326, 89, 128, 326, - /* 2000 */ - 326, 326, 326, 326, 326, 326, 290, 318, 326, 235, - /* 2010 */ - 251, 336, 353, 133, 311, 326, 75, 128, 326, 326, - /* 2020 */ - 326, 326, 326, 326, 326, 290, 318, 326, 326, 251, - /* 2030 */ - 336, 353, 235, 311, 326, 326, 133, 326, 326, 91, - /* 2040 */ - 128, 326, 326, 326, 326, 326, 326, 326, 290, 318, - /* 2050 */ - 326, 235, 251, 336, 353, 133, 311, 326, 62, 128, - /* 2060 */ - 326, 326, 326, 326, 326, 326, 326, 290, 318, 326, - /* 2070 */ - 326, 251, 336, 353, 326, 311, 326, 235, 326, 326, - /* 2080 */ - 326, 93, 326, 326, 53, 116, 326, 326, 326, 326, - /* 2090 */ - 326, 326, 326, 290, 318, 326, 235, 220, 336, 353, - /* 2100 */ - 133, 311, 326, 63, 128, 326, 326, 326, 326, 326, - /* 2110 */ - 326, 326, 290, 318, 326, 326, 251, 336, 353, 235, - /* 2120 */ - 311, 326, 326, 133, 326, 326, 61, 128, 326, 326, - /* 2130 */ - 326, 326, 326, 326, 326, 290, 318, 326, 235, 214, - /* 2140 */ - 336, 353, 133, 311, 326, 71, 128, 326, 326, 326, - /* 2150 */ - 326, 326, 326, 326, 290, 318, 326, 326, 251, 336, - /* 2160 */ - 353, 326, 311, 326, 235, 326, 326, 326, 133, 326, - /* 2170 */ - 326, 85, 128, 326, 326, 326, 326, 326, 326, 326, - /* 2180 */ - 290, 318, 326, 235, 251, 336, 353, 133, 311, 326, - /* 2190 */ - 65, 128, 326, 326, 326, 326, 326, 326, 326, 290, - /* 2200 */ - 318, 326, 326, 251, 336, 353, 235, 311, 326, 326, - /* 2210 */ - 111, 326, 326, 74, 128, 326, 326, 326, 326, 326, - /* 2220 */ - 326, 326, 290, 318, 326, 235, 251, 336, 353, 118, - /* 2230 */ - 311, 326, 58, 128, 326, 326, 326, 326, 326, 326, - /* 2240 */ - 326, 290, 318, 326, 326, 251, 336, 353, 326, 311, - /* 2250 */ - 326, 235, 326, 326, 326, 133, 326, 326, 56, 128, - /* 2260 */ - 326, 326, 326, 326, 326, 326, 326, 290, 318, 326, - /* 2270 */ - 235, 251, 336, 353, 133, 311, 326, 79, 128, 326, - /* 2280 */ - 326, 326, 326, 326, 326, 326, 290, 318, 326, 326, - /* 2290 */ - 251, 336, 353, 235, 311, 326, 326, 133, 326, 326, - /* 2300 */ - 80, 128, 326, 326, 326, 326, 326, 326, 326, 290, - /* 2310 */ - 318, 326, 235, 251, 336, 353, 133, 311, 326, 84, - /* 2320 */ - 128, 326, 326, 326, 326, 326, 326, 326, 290, 318, - /* 2330 */ - 326, 326, 251, 336, 353, 326, 311, 326, 235, 326, - /* 2340 */ - 326, 326, 133, 326, 326, 66, 128, 326, 326, 326, - /* 2350 */ - 326, 326, 326, 326, 290, 318, 326, 344, 251, 336, - /* 2360 */ - 353, 326, 311, 326, 10, 326, 326, 326, 326, 2, - /* 2370 */ - 108, 344, 326, 326, 326, 139, 326, 326, 10, 250, - /* 2380 */ - 326, 228, 326, 2, 108, 326, 326, 326, 326, 139, - /* 2390 */ - 326, 326, 326, 250, 326, 228, 235, 326, 326, 326, - /* 2400 */ - 133, 326, 326, 60, 128, 326, 326, 326, 326, 326, - /* 2410 */ - 326, 326, 290, 318, 326, 326, 251, 336, 353, 326, - /* 2420 */ - 311, 326, 326, 326, 326, 306, 16, 347, 326, 235, - /* 2430 */ - 326, 326, 326, 133, 326, 326, 81, 128, 326, 327, - /* 2440 */ - 16, 347, 326, 326, 326, 290, 318, 326, 326, 251, - /* 2450 */ - 336, 353, 326, 311, 326, 326, 235, 326, 326, 326, - /* 2460 */ - 133, 326, 326, 68, 128, 326, 326, 326, 326, 326, - /* 2470 */ - 326, 326, 290, 318, 326, 326, 251, 336, 353, 326, - /* 2480 */ - 311, 326, 235, 326, 326, 326, 133, 326, 326, 54, - /* 2490 */ - 128, 326, 326, 326, 326, 326, 326, 326, 290, 318, - /* 2500 */ - 326, 326, 251, 336, 353, 235, 311, 326, 326, 133, - /* 2510 */ - 326, 326, 83, 128, 326, 326, 235, 326, 326, 326, - /* 2520 */ - 133, 290, 318, 90, 128, 251, 336, 353, 326, 311, - /* 2530 */ - 326, 326, 290, 318, 326, 326, 251, 336, 353, 326, - /* 2540 */ - 311, - ); - static public $yy_lookahead = array( - /* 0 */ - 1, 38, 3, 40, 91, 4, 5, 6, 7, 8, - /* 10 */ - 9, 10, 11, 12, 13, 14, 15, 104, 105, 18, - /* 20 */ - 118, 18, 60, 20, 23, 24, 1, 65, 3, 30, - /* 30 */ - 29, 118, 1, 30, 33, 36, 35, 21, 22, 36, - /* 40 */ - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - /* 50 */ - 51, 52, 53, 54, 1, 30, 31, 1, 1, 3, - /* 60 */ - 3, 36, 2, 18, 19, 20, 67, 68, 69, 70, - /* 70 */ - 71, 72, 73, 74, 75, 76, 77, 78, 62, 30, - /* 80 */ - 55, 28, 37, 30, 111, 36, 30, 30, 18, 36, - /* 90 */ - 20, 21, 36, 36, 41, 42, 43, 44, 45, 46, - /* 100 */ - 47, 48, 49, 50, 51, 52, 53, 54, 1, 91, - /* 110 */ - 92, 55, 55, 83, 84, 85, 86, 87, 38, 101, - /* 120 */ - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - /* 130 */ - 77, 78, 18, 63, 20, 21, 118, 30, 1, 18, - /* 140 */ - 3, 20, 21, 36, 111, 39, 66, 26, 41, 42, - /* 150 */ - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 160 */ - 53, 54, 1, 1, 26, 3, 60, 30, 62, 15, - /* 170 */ - 16, 17, 66, 36, 67, 68, 69, 70, 71, 72, - /* 180 */ - 73, 74, 75, 76, 77, 78, 18, 19, 20, 32, - /* 190 */ - 100, 1, 30, 109, 1, 18, 39, 20, 36, 1, - /* 200 */ - 116, 3, 41, 42, 43, 44, 45, 46, 47, 48, - /* 210 */ - 49, 50, 51, 52, 53, 54, 1, 55, 80, 62, - /* 220 */ - 30, 85, 86, 87, 39, 32, 36, 66, 67, 68, - /* 230 */ - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - /* 240 */ - 63, 86, 114, 115, 91, 92, 31, 62, 55, 18, - /* 250 */ - 38, 20, 40, 55, 101, 18, 41, 42, 43, 44, - /* 260 */ - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - /* 270 */ - 1, 118, 3, 94, 95, 96, 39, 122, 123, 38, - /* 280 */ - 91, 40, 67, 68, 69, 70, 71, 72, 73, 74, - /* 290 */ - 75, 76, 77, 78, 63, 114, 115, 100, 91, 92, - /* 300 */ - 112, 91, 114, 115, 91, 19, 20, 118, 101, 20, - /* 310 */ - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - /* 320 */ - 51, 52, 53, 54, 1, 118, 3, 100, 118, 119, - /* 330 */ - 60, 118, 2, 91, 3, 65, 67, 68, 69, 70, - /* 340 */ - 71, 72, 73, 74, 75, 76, 77, 78, 21, 22, - /* 350 */ - 64, 21, 63, 92, 111, 119, 113, 26, 19, 20, - /* 360 */ - 118, 1, 101, 21, 41, 42, 43, 44, 45, 46, - /* 370 */ - 47, 48, 49, 50, 51, 52, 53, 54, 1, 118, - /* 380 */ - 3, 18, 22, 20, 19, 94, 95, 1, 98, 62, - /* 390 */ - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - /* 400 */ - 77, 78, 60, 113, 39, 1, 2, 92, 92, 18, - /* 410 */ - 111, 20, 113, 87, 26, 89, 101, 101, 41, 42, - /* 420 */ - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 430 */ - 53, 54, 1, 118, 118, 18, 39, 20, 19, 94, - /* 440 */ - 95, 55, 98, 25, 67, 68, 69, 70, 71, 72, - /* 450 */ - 73, 74, 75, 76, 77, 78, 38, 113, 86, 92, - /* 460 */ - 92, 92, 18, 40, 20, 30, 60, 2, 101, 101, - /* 470 */ - 101, 36, 41, 42, 43, 44, 45, 46, 47, 48, - /* 480 */ - 49, 50, 51, 52, 53, 54, 1, 118, 18, 109, - /* 490 */ - 20, 20, 56, 39, 19, 123, 116, 98, 67, 68, - /* 500 */ - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - /* 510 */ - 25, 80, 113, 92, 64, 27, 21, 20, 19, 64, - /* 520 */ - 20, 3, 101, 20, 22, 2, 41, 42, 43, 44, - /* 530 */ - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - /* 540 */ - 1, 20, 3, 19, 3, 20, 20, 20, 19, 66, - /* 550 */ - 98, 98, 67, 68, 69, 70, 71, 72, 73, 74, - /* 560 */ - 75, 76, 77, 78, 62, 113, 113, 20, 37, 37, - /* 570 */ - 3, 20, 20, 101, 112, 111, 22, 111, 111, 111, - /* 580 */ - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - /* 590 */ - 51, 52, 53, 54, 1, 116, 30, 113, 97, 88, - /* 600 */ - 16, 115, 124, 97, 99, 98, 67, 68, 69, 70, - /* 610 */ - 71, 72, 73, 74, 75, 76, 77, 78, 113, 124, - /* 620 */ - 113, 124, 124, 124, 124, 124, 124, 124, 124, 124, - /* 630 */ - 124, 124, 124, 40, 41, 42, 43, 44, 45, 46, - /* 640 */ - 47, 48, 49, 50, 51, 52, 53, 54, 1, 2, - /* 650 */ - 124, 124, 124, 124, 124, 124, 124, 98, 98, 98, - /* 660 */ - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - /* 670 */ - 77, 78, 113, 113, 113, 124, 124, 124, 124, 124, - /* 680 */ - 124, 124, 124, 124, 124, 124, 124, 124, 41, 42, - /* 690 */ - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 700 */ - 53, 54, 1, 124, 124, 124, 124, 124, 124, 124, - /* 710 */ - 124, 98, 124, 124, 67, 68, 69, 70, 71, 72, - /* 720 */ - 73, 74, 75, 76, 77, 78, 113, 124, 124, 124, - /* 730 */ - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - /* 740 */ - 124, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 750 */ - 49, 50, 51, 52, 53, 54, 1, 124, 124, 124, - /* 760 */ - 124, 124, 124, 124, 124, 124, 124, 124, 67, 68, - /* 770 */ - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - /* 780 */ - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - /* 790 */ - 124, 124, 124, 124, 124, 124, 41, 42, 43, 44, - /* 800 */ - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - /* 810 */ - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - /* 820 */ - 22, 124, 67, 68, 69, 70, 71, 72, 73, 74, - /* 830 */ - 75, 76, 77, 78, 124, 124, 124, 124, 41, 42, - /* 840 */ - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 850 */ - 53, 54, 124, 124, 124, 124, 124, 124, 60, 124, - /* 860 */ - 124, 124, 124, 65, 67, 68, 69, 70, 71, 72, - /* 870 */ - 73, 74, 75, 76, 77, 78, 124, 124, 124, 124, - /* 880 */ - 124, 124, 124, 18, 19, 20, 124, 124, 23, 24, - /* 890 */ - 124, 86, 124, 124, 29, 90, 92, 124, 33, 94, - /* 900 */ - 35, 124, 37, 124, 39, 101, 124, 42, 103, 124, - /* 910 */ - 124, 106, 107, 108, 124, 110, 124, 113, 92, 92, - /* 920 */ - 124, 124, 57, 58, 59, 60, 61, 101, 101, 64, - /* 930 */ - 65, 66, 124, 94, 124, 124, 124, 124, 124, 113, - /* 940 */ - 113, 18, 19, 20, 79, 106, 23, 24, 124, 110, - /* 950 */ - 124, 124, 29, 124, 124, 86, 33, 34, 35, 90, - /* 960 */ - 37, 124, 39, 94, 92, 42, 124, 124, 124, 124, - /* 970 */ - 86, 124, 103, 101, 90, 106, 107, 108, 94, 110, - /* 980 */ - 57, 58, 59, 60, 61, 113, 124, 64, 65, 124, - /* 990 */ - 106, 107, 108, 124, 110, 18, 124, 20, 124, 18, - /* 1000 */ - 19, 20, 79, 124, 23, 24, 124, 30, 124, 32, - /* 1010 */ - 29, 86, 124, 36, 33, 90, 35, 124, 37, 94, - /* 1020 */ - 39, 124, 124, 42, 124, 124, 124, 124, 124, 124, - /* 1030 */ - 124, 106, 107, 108, 124, 110, 124, 124, 57, 58, - /* 1040 */ - 59, 60, 61, 124, 124, 64, 65, 124, 124, 124, - /* 1050 */ - 124, 124, 18, 124, 20, 124, 124, 18, 19, 20, - /* 1060 */ - 79, 124, 23, 24, 30, 86, 32, 124, 29, 90, - /* 1070 */ - 36, 86, 33, 94, 35, 90, 37, 124, 39, 94, - /* 1080 */ - 124, 42, 124, 124, 124, 106, 107, 108, 124, 110, - /* 1090 */ - 124, 106, 107, 108, 124, 110, 57, 58, 59, 60, - /* 1100 */ - 61, 124, 124, 64, 65, 124, 124, 124, 124, 124, - /* 1110 */ - 124, 124, 124, 124, 124, 18, 19, 20, 79, 124, - /* 1120 */ - 23, 24, 124, 124, 124, 124, 29, 86, 124, 124, - /* 1130 */ - 33, 90, 35, 124, 37, 94, 39, 124, 124, 42, - /* 1140 */ - 124, 124, 124, 124, 124, 124, 124, 106, 107, 108, - /* 1150 */ - 124, 110, 124, 124, 57, 58, 59, 60, 61, 124, - /* 1160 */ - 124, 64, 65, 124, 124, 124, 124, 124, 124, 124, - /* 1170 */ - 124, 124, 124, 18, 19, 20, 79, 124, 23, 24, - /* 1180 */ - 124, 124, 124, 124, 29, 86, 124, 124, 33, 90, - /* 1190 */ - 35, 124, 37, 94, 39, 124, 124, 42, 124, 124, - /* 1200 */ - 124, 124, 124, 124, 124, 106, 107, 108, 124, 110, - /* 1210 */ - 124, 124, 57, 58, 59, 60, 61, 124, 124, 64, - /* 1220 */ - 65, 124, 124, 124, 124, 124, 124, 124, 124, 124, - /* 1230 */ - 124, 18, 19, 20, 79, 124, 23, 24, 124, 124, - /* 1240 */ - 124, 124, 29, 86, 124, 124, 33, 90, 35, 124, - /* 1250 */ - 37, 94, 39, 124, 124, 42, 124, 124, 124, 124, - /* 1260 */ - 124, 124, 124, 106, 107, 108, 124, 110, 124, 124, - /* 1270 */ - 57, 58, 59, 60, 61, 124, 124, 64, 65, 124, - /* 1280 */ - 1, 124, 3, 124, 3, 124, 124, 124, 124, 18, - /* 1290 */ - 19, 20, 79, 124, 23, 24, 124, 124, 124, 124, - /* 1300 */ - 29, 22, 21, 124, 33, 124, 35, 124, 37, 30, - /* 1310 */ - 39, 30, 124, 42, 124, 36, 124, 36, 39, 124, - /* 1320 */ - 39, 124, 124, 124, 91, 92, 124, 124, 57, 58, - /* 1330 */ - 59, 60, 61, 124, 101, 64, 65, 104, 105, 124, - /* 1340 */ - 124, 62, 124, 62, 124, 124, 124, 18, 19, 20, - /* 1350 */ - 79, 118, 23, 24, 124, 124, 124, 124, 29, 124, - /* 1360 */ - 124, 124, 33, 124, 35, 124, 37, 124, 39, 91, - /* 1370 */ - 92, 42, 124, 124, 124, 124, 124, 124, 124, 101, - /* 1380 */ - 124, 124, 104, 105, 124, 124, 57, 58, 59, 60, - /* 1390 */ - 61, 124, 124, 64, 65, 124, 118, 124, 124, 124, - /* 1400 */ - 124, 124, 124, 124, 124, 18, 19, 20, 79, 124, - /* 1410 */ - 23, 24, 124, 124, 124, 124, 29, 124, 124, 124, - /* 1420 */ - 33, 124, 35, 124, 37, 124, 39, 91, 92, 42, - /* 1430 */ - 124, 124, 124, 124, 124, 124, 124, 101, 124, 124, - /* 1440 */ - 104, 105, 124, 124, 57, 58, 59, 60, 61, 124, - /* 1450 */ - 124, 64, 124, 124, 118, 124, 124, 124, 124, 124, - /* 1460 */ - 124, 124, 124, 18, 19, 20, 79, 124, 23, 24, - /* 1470 */ - 124, 124, 124, 124, 29, 124, 124, 124, 33, 124, - /* 1480 */ - 35, 124, 37, 124, 39, 124, 3, 42, 124, 124, - /* 1490 */ - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - /* 1500 */ - 124, 124, 57, 58, 59, 60, 61, 124, 25, 64, - /* 1510 */ - 27, 28, 124, 30, 31, 124, 124, 124, 124, 36, - /* 1520 */ - 124, 38, 39, 40, 79, 124, 124, 124, 124, 124, - /* 1530 */ - 124, 124, 124, 124, 124, 86, 124, 124, 55, 90, - /* 1540 */ - 124, 124, 93, 94, 124, 62, 124, 124, 124, 66, - /* 1550 */ - 124, 102, 103, 124, 124, 106, 107, 108, 124, 110, - /* 1560 */ - 124, 124, 124, 80, 124, 124, 124, 86, 124, 120, - /* 1570 */ - 121, 90, 124, 124, 93, 94, 95, 124, 124, 124, - /* 1580 */ - 124, 124, 124, 102, 103, 124, 124, 106, 107, 108, - /* 1590 */ - 86, 110, 124, 124, 90, 124, 124, 93, 94, 124, - /* 1600 */ - 124, 124, 124, 124, 124, 124, 102, 103, 124, 86, - /* 1610 */ - 106, 107, 108, 90, 110, 124, 93, 94, 124, 124, - /* 1620 */ - 124, 117, 124, 124, 124, 102, 103, 124, 124, 106, - /* 1630 */ - 107, 108, 124, 110, 124, 124, 124, 124, 86, 124, - /* 1640 */ - 117, 124, 90, 124, 124, 93, 94, 124, 124, 124, - /* 1650 */ - 124, 124, 124, 124, 102, 103, 124, 124, 106, 107, - /* 1660 */ - 108, 86, 110, 124, 124, 90, 124, 124, 93, 94, - /* 1670 */ - 95, 124, 124, 121, 124, 124, 124, 102, 103, 124, - /* 1680 */ - 124, 106, 107, 108, 86, 110, 124, 124, 90, 124, - /* 1690 */ - 124, 93, 94, 124, 124, 124, 124, 124, 124, 124, - /* 1700 */ - 102, 103, 124, 86, 106, 107, 108, 90, 110, 124, - /* 1710 */ - 93, 94, 124, 124, 124, 117, 124, 124, 124, 102, - /* 1720 */ - 103, 124, 124, 106, 107, 108, 124, 110, 124, 86, - /* 1730 */ - 91, 92, 124, 90, 124, 124, 93, 94, 124, 124, - /* 1740 */ - 101, 124, 124, 104, 105, 102, 103, 124, 86, 106, - /* 1750 */ - 107, 108, 90, 110, 124, 93, 94, 118, 124, 124, - /* 1760 */ - 124, 124, 124, 124, 102, 103, 124, 124, 106, 107, - /* 1770 */ - 108, 86, 110, 124, 124, 90, 124, 124, 93, 94, - /* 1780 */ - 124, 124, 124, 124, 124, 124, 124, 102, 103, 124, - /* 1790 */ - 86, 106, 107, 108, 90, 110, 124, 93, 94, 124, - /* 1800 */ - 124, 124, 124, 124, 124, 124, 102, 103, 124, 124, - /* 1810 */ - 106, 107, 108, 124, 110, 124, 86, 91, 92, 124, - /* 1820 */ - 90, 124, 124, 93, 94, 124, 124, 101, 124, 124, - /* 1830 */ - 104, 105, 102, 103, 124, 86, 106, 107, 108, 90, - /* 1840 */ - 110, 124, 93, 94, 118, 124, 124, 124, 124, 124, - /* 1850 */ - 124, 102, 103, 124, 124, 106, 107, 108, 86, 110, - /* 1860 */ - 124, 124, 90, 124, 124, 93, 94, 124, 124, 124, - /* 1870 */ - 124, 124, 124, 124, 102, 103, 124, 86, 106, 107, - /* 1880 */ - 108, 90, 110, 124, 93, 94, 124, 124, 124, 124, - /* 1890 */ - 124, 124, 124, 102, 103, 124, 124, 106, 107, 108, - /* 1900 */ - 124, 110, 124, 86, 91, 92, 124, 90, 124, 124, - /* 1910 */ - 93, 94, 124, 124, 101, 124, 124, 104, 105, 102, - /* 1920 */ - 103, 124, 86, 106, 107, 108, 90, 110, 124, 93, - /* 1930 */ - 94, 118, 124, 124, 124, 124, 124, 124, 102, 103, - /* 1940 */ - 124, 124, 106, 107, 108, 86, 110, 124, 124, 90, - /* 1950 */ - 124, 124, 93, 94, 124, 124, 124, 124, 124, 124, - /* 1960 */ - 124, 102, 103, 124, 86, 106, 107, 108, 90, 110, - /* 1970 */ - 124, 93, 94, 124, 124, 124, 124, 124, 124, 124, - /* 1980 */ - 102, 103, 124, 124, 106, 107, 108, 124, 110, 124, - /* 1990 */ - 86, 124, 124, 124, 90, 124, 124, 93, 94, 124, - /* 2000 */ - 124, 124, 124, 124, 124, 124, 102, 103, 124, 86, - /* 2010 */ - 106, 107, 108, 90, 110, 124, 93, 94, 124, 124, - /* 2020 */ - 124, 124, 124, 124, 124, 102, 103, 124, 124, 106, - /* 2030 */ - 107, 108, 86, 110, 124, 124, 90, 124, 124, 93, - /* 2040 */ - 94, 124, 124, 124, 124, 124, 124, 124, 102, 103, - /* 2050 */ - 124, 86, 106, 107, 108, 90, 110, 124, 93, 94, - /* 2060 */ - 124, 124, 124, 124, 124, 124, 124, 102, 103, 124, - /* 2070 */ - 124, 106, 107, 108, 124, 110, 124, 86, 124, 124, - /* 2080 */ - 124, 90, 124, 124, 93, 94, 124, 124, 124, 124, - /* 2090 */ - 124, 124, 124, 102, 103, 124, 86, 106, 107, 108, - /* 2100 */ - 90, 110, 124, 93, 94, 124, 124, 124, 124, 124, - /* 2110 */ - 124, 124, 102, 103, 124, 124, 106, 107, 108, 86, - /* 2120 */ - 110, 124, 124, 90, 124, 124, 93, 94, 124, 124, - /* 2130 */ - 124, 124, 124, 124, 124, 102, 103, 124, 86, 106, - /* 2140 */ - 107, 108, 90, 110, 124, 93, 94, 124, 124, 124, - /* 2150 */ - 124, 124, 124, 124, 102, 103, 124, 124, 106, 107, - /* 2160 */ - 108, 124, 110, 124, 86, 124, 124, 124, 90, 124, - /* 2170 */ - 124, 93, 94, 124, 124, 124, 124, 124, 124, 124, - /* 2180 */ - 102, 103, 124, 86, 106, 107, 108, 90, 110, 124, - /* 2190 */ - 93, 94, 124, 124, 124, 124, 124, 124, 124, 102, - /* 2200 */ - 103, 124, 124, 106, 107, 108, 86, 110, 124, 124, - /* 2210 */ - 90, 124, 124, 93, 94, 124, 124, 124, 124, 124, - /* 2220 */ - 124, 124, 102, 103, 124, 86, 106, 107, 108, 90, - /* 2230 */ - 110, 124, 93, 94, 124, 124, 124, 124, 124, 124, - /* 2240 */ - 124, 102, 103, 124, 124, 106, 107, 108, 124, 110, - /* 2250 */ - 124, 86, 124, 124, 124, 90, 124, 124, 93, 94, - /* 2260 */ - 124, 124, 124, 124, 124, 124, 124, 102, 103, 124, - /* 2270 */ - 86, 106, 107, 108, 90, 110, 124, 93, 94, 124, - /* 2280 */ - 124, 124, 124, 124, 124, 124, 102, 103, 124, 124, - /* 2290 */ - 106, 107, 108, 86, 110, 124, 124, 90, 124, 124, - /* 2300 */ - 93, 94, 124, 124, 124, 124, 124, 124, 124, 102, - /* 2310 */ - 103, 124, 86, 106, 107, 108, 90, 110, 124, 93, - /* 2320 */ - 94, 124, 124, 124, 124, 124, 124, 124, 102, 103, - /* 2330 */ - 124, 124, 106, 107, 108, 124, 110, 124, 86, 124, - /* 2340 */ - 124, 124, 90, 124, 124, 93, 94, 124, 124, 124, - /* 2350 */ - 124, 124, 124, 124, 102, 103, 124, 11, 106, 107, - /* 2360 */ - 108, 124, 110, 124, 18, 124, 124, 124, 124, 23, - /* 2370 */ - 24, 11, 124, 124, 124, 29, 124, 124, 18, 33, - /* 2380 */ - 124, 35, 124, 23, 24, 124, 124, 124, 124, 29, - /* 2390 */ - 124, 124, 124, 33, 124, 35, 86, 124, 124, 124, - /* 2400 */ - 90, 124, 124, 93, 94, 124, 124, 124, 124, 124, - /* 2410 */ - 124, 124, 102, 103, 124, 124, 106, 107, 108, 124, - /* 2420 */ - 110, 124, 124, 124, 124, 79, 80, 81, 124, 86, - /* 2430 */ - 124, 124, 124, 90, 124, 124, 93, 94, 124, 79, - /* 2440 */ - 80, 81, 124, 124, 124, 102, 103, 124, 124, 106, - /* 2450 */ - 107, 108, 124, 110, 124, 124, 86, 124, 124, 124, - /* 2460 */ - 90, 124, 124, 93, 94, 124, 124, 124, 124, 124, - /* 2470 */ - 124, 124, 102, 103, 124, 124, 106, 107, 108, 124, - /* 2480 */ - 110, 124, 86, 124, 124, 124, 90, 124, 124, 93, - /* 2490 */ - 94, 124, 124, 124, 124, 124, 124, 124, 102, 103, - /* 2500 */ - 124, 124, 106, 107, 108, 86, 110, 124, 124, 90, - /* 2510 */ - 124, 124, 93, 94, 124, 124, 86, 124, 124, 124, - /* 2520 */ - 90, 102, 103, 93, 94, 106, 107, 108, 124, 110, - /* 2530 */ - 124, 124, 102, 103, 124, 124, 106, 107, 108, 124, - /* 2540 */ - 110, - ); - const YY_SHIFT_USE_DFLT = - 39; - const YY_SHIFT_MAX = 259; - static public $yy_shift_ofst = array( - /* 0 */ - 1, 1097, 1271, 1097, 981, 1271, 981, 981, 923, 865, - /* 10 */ - 923, 981, 981, 981, 981, 981, 981, 981, 981, 981, - /* 20 */ - 981, 981, 1213, 981, 981, 981, 1155, 1329, 981, 981, - /* 30 */ - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - /* 40 */ - 981, 1155, 981, 981, 1039, 1039, 1445, 1387, 1387, 1387, - /* 50 */ - 1387, 1387, 1387, - 1, 53, 107, 107, 107, 107, 107, - /* 60 */ - 539, 431, 701, 161, 377, 269, 647, 485, 593, 215, - /* 70 */ - 323, 755, 755, 755, 755, 755, 755, 755, 755, 755, - /* 80 */ - 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, - /* 90 */ - 797, 797, 1279, 56, 190, 1, 2346, 977, 1034, 3, - /* 100 */ - 3, 137, 137, 190, 190, 286, 798, 404, 365, 2360, - /* 110 */ - 25, 162, 57, 121, 70, 154, 16, 327, 198, 231, - /* 120 */ - 114, 193, 417, 391, 360, 363, 363, 339, 502, 363, - /* 130 */ - 365, 363, 365, 386, 339, 444, 470, 49, 444, 435, - /* 140 */ - 49, 363, 363, 363, 363, 363, 31, 554, 31, 31, - /* 150 */ - 554, 31, 31, 31, 31, 31, 31, - 39, 177, 168, - /* 160 */ - 49, 49, 49, 49, 49, 49, 49, 49, - 38, - 38, - /* 170 */ - - 38, 270, - 38, 49, 49, 49, 49, 49, 49, - 38, - /* 180 */ - 270, - 38, 237, 49, 49, 49, - 38, 49, 49, 49, - /* 190 */ - 584, 554, 554, 31, 566, 566, 60, 554, 31, 454, - /* 200 */ - 31, 31, 60, 31, - 39, - 39, - 39, - 39, - 39, 1483, - /* 210 */ - 1281, 106, 45, 157, 138, - 37, 80, 241, 418, 342, - /* 220 */ - 331, 212, 185, 330, 185, 289, 552, 541, 526, 525, - /* 230 */ - 521, 523, 524, 527, 529, 567, 551, 532, 531, 483, - /* 240 */ - 547, 503, 518, 436, 454, 465, 406, 397, 419, 423, - /* 250 */ - 471, 388, 475, 455, 500, 499, 497, 450, 488, 495, - ); - const YY_REDUCE_USE_DFLT = - 99; - const YY_REDUCE_MAX = 208; - static public $yy_reduce_ofst = array( - /* 0 */ - 30, 1449, 1575, 1552, 1523, 1481, 1504, 1598, 1836, 2010, - /* 10 */ - 1991, 1791, 1685, 1643, 1704, 1749, 2033, 2078, 2310, 2419, - /* 20 */ - 2139, 2207, 2252, 2343, 2370, 1772, 1617, 1946, 1904, 2184, - /* 30 */ - 1923, 1878, 1859, 1965, 2052, 1662, 1817, 1730, 2097, 2396, - /* 40 */ - 2430, 2120, 2165, 2226, 869, 805, 985, 925, 884, 979, - /* 50 */ - 1099, 1041, 1157, 1639, 1233, 1639, 1336, 1278, 1726, 1813, - /* 60 */ - - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - /* 70 */ - - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - /* 80 */ - - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - /* 90 */ - - 87, - 87, 18, 207, 153, 136, 155, 827, 872, 804, - /* 100 */ - 826, 261, 316, 369, 315, 839, 188, 210, 179, 372, - /* 110 */ - 189, 189, 189, 505, 299, 326, 128, 128, 189, 299, - /* 120 */ - 299, 189, 507, 453, 242, 344, 243, 84, 128, 452, - /* 130 */ - 291, 399, 345, 189, 380, 613, 453, 421, 453, 368, - /* 140 */ - 367, 560, 453, 559, 561, 290, 189, 128, 213, 189, - /* 150 */ - 181, 189, 189, 189, 189, 189, 189, 189, 484, 479, - /* 160 */ - 472, 472, 472, 472, 472, 472, 472, 472, 462, 462, - /* 170 */ - 462, 464, 462, 472, 472, 472, 472, 472, 472, 462, - /* 180 */ - 467, 462, 466, 472, 472, 472, 462, 472, 472, 472, - /* 190 */ - 511, 486, 486, - 98, 501, 506, 236, 486, - 98, 468, - /* 200 */ - - 98, - 98, 236, - 98, 227, - 27, 197, 33, 90, - ); - static public $yyExpectedTokens = array( - /* 0 */ - array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,), - /* 1 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 2 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 3 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 4 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 5 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 6 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 7 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 8 */ - array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 9 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 66, 79,), - /* 10 */ - array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 11 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 12 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 13 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 14 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 15 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 16 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 17 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 18 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 19 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 20 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 21 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 22 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 23 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 24 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 25 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 26 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 27 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 28 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 29 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 30 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 31 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 32 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 33 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 34 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 35 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 36 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 37 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 38 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 39 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 40 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 41 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 42 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 43 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 44 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 45 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,), - /* 46 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,), - /* 47 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,), - /* 48 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,), - /* 49 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,), - /* 50 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,), - /* 51 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,), - /* 52 */ - array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,), - /* 53 */ - array(1, 3, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 54 */ - array(1, 28, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 55 */ - array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 56 */ - array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 57 */ - array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 58 */ - array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 59 */ - array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 60 */ - array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 61 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80,), - /* 62 */ - array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 63 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 64 */ - array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 65 */ - array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 66 */ - array(1, 2, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 67 */ - array(1, 25, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 68 */ - array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 69 */ - array(1, 31, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 70 */ - array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 71 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 72 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 73 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 74 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 75 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 76 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 77 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 78 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 79 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 80 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 81 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 82 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 83 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 84 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 85 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 86 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 87 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 88 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 89 */ - array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 90 */ - array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 91 */ - array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,), - /* 92 */ - array(1, 3, 22, 30, 36, 39, 62,), - /* 93 */ - array(1, 3, 30, 36, 55,), - /* 94 */ - array(1, 30, 36,), - /* 95 */ - array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,), - /* 96 */ - array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,), - /* 97 */ - array(18, 20, 30, 32, 36,), - /* 98 */ - array(18, 20, 30, 32, 36,), - /* 99 */ - array(18, 20, 30, 36,), - /* 100 */ - array(18, 20, 30, 36,), - /* 101 */ - array(1, 3, 30, 36,), - /* 102 */ - array(1, 3, 30, 36,), - /* 103 */ - array(1, 30, 36,), - /* 104 */ - array(1, 30, 36,), - /* 105 */ - array(19, 20, 64,), - /* 106 */ - array(22, 60, 65,), - /* 107 */ - array(1, 2,), - /* 108 */ - array(19, 39,), - /* 109 */ - array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,), - /* 110 */ - array(1, 3, 30, 31, 36, 55,), - /* 111 */ - array(1, 3, 30, 36, 55,), - /* 112 */ - array(1, 3, 30, 36, 55,), - /* 113 */ - array(18, 20, 21, 26,), - /* 114 */ - array(18, 20, 21, 63,), - /* 115 */ - array(15, 16, 17,), - /* 116 */ - array(21, 22, 62,), - /* 117 */ - array(21, 22, 62,), - /* 118 */ - array(1, 3, 55,), - /* 119 */ - array(18, 20, 63,), - /* 120 */ - array(18, 20, 21,), - /* 121 */ - array(1, 32, 55,), - /* 122 */ - array(18, 20,), - /* 123 */ - array(18, 20,), - /* 124 */ - array(1, 22,), - /* 125 */ - array(18, 20,), - /* 126 */ - array(18, 20,), - /* 127 */ - array(19, 20,), - /* 128 */ - array(22, 62,), - /* 129 */ - array(18, 20,), - /* 130 */ - array(19, 39,), - /* 131 */ - array(18, 20,), - /* 132 */ - array(19, 39,), - /* 133 */ - array(1, 55,), - /* 134 */ - array(19, 20,), - /* 135 */ - array(18, 20,), - /* 136 */ - array(18, 20,), - /* 137 */ - array(30, 36,), - /* 138 */ - array(18, 20,), - /* 139 */ - array(30, 36,), - /* 140 */ - array(30, 36,), - /* 141 */ - array(18, 20,), - /* 142 */ - array(18, 20,), - /* 143 */ - array(18, 20,), - /* 144 */ - array(18, 20,), - /* 145 */ - array(18, 20,), - /* 146 */ - array(1,), - /* 147 */ - array(22,), - /* 148 */ - array(1,), - /* 149 */ - array(1,), - /* 150 */ - array(22,), - /* 151 */ - array(1,), - /* 152 */ - array(1,), - /* 153 */ - array(1,), - /* 154 */ - array(1,), - /* 155 */ - array(1,), - /* 156 */ - array(1,), - /* 157 */ - array(), - /* 158 */ - array(18, 20, 63,), - /* 159 */ - array(18, 19, 20,), - /* 160 */ - array(30, 36,), - /* 161 */ - array(30, 36,), - /* 162 */ - array(30, 36,), - /* 163 */ - array(30, 36,), - /* 164 */ - array(30, 36,), - /* 165 */ - array(30, 36,), - /* 166 */ - array(30, 36,), - /* 167 */ - array(30, 36,), - /* 168 */ - array(60, 65,), - /* 169 */ - array(60, 65,), - /* 170 */ - array(60, 65,), - /* 171 */ - array(60, 65,), - /* 172 */ - array(60, 65,), - /* 173 */ - array(30, 36,), - /* 174 */ - array(30, 36,), - /* 175 */ - array(30, 36,), - /* 176 */ - array(30, 36,), - /* 177 */ - array(30, 36,), - /* 178 */ - array(30, 36,), - /* 179 */ - array(60, 65,), - /* 180 */ - array(60, 65,), - /* 181 */ - array(60, 65,), - /* 182 */ - array(18, 39,), - /* 183 */ - array(30, 36,), - /* 184 */ - array(30, 36,), - /* 185 */ - array(30, 36,), - /* 186 */ - array(60, 65,), - /* 187 */ - array(30, 36,), - /* 188 */ - array(30, 36,), - /* 189 */ - array(30, 36,), - /* 190 */ - array(16,), - /* 191 */ - array(22,), - /* 192 */ - array(22,), - /* 193 */ - array(1,), - /* 194 */ - array(30,), - /* 195 */ - array(30,), - /* 196 */ - array(2,), - /* 197 */ - array(22,), - /* 198 */ - array(1,), - /* 199 */ - array(39,), - /* 200 */ - array(1,), - /* 201 */ - array(1,), - /* 202 */ - array(2,), - /* 203 */ - array(1,), - /* 204 */ - array(), - /* 205 */ - array(), - /* 206 */ - array(), - /* 207 */ - array(), - /* 208 */ - array(), - /* 209 */ - array(3, 25, 27, 28, 30, 31, 36, 38, 39, 40, 55, 62, 66, 80,), - /* 210 */ - array(3, 21, 30, 36, 39, 62,), - /* 211 */ - array(39, 60, 62, 66,), - /* 212 */ - array(18, 19, 20, 37,), - /* 213 */ - array(32, 39, 62,), - /* 214 */ - array(26, 80,), - /* 215 */ - array(38, 40,), - /* 216 */ - array(38, 66,), - /* 217 */ - array(38, 40,), - /* 218 */ - array(25, 38,), - /* 219 */ - array(21, 60,), - /* 220 */ - array(3, 26,), - /* 221 */ - array(38, 40,), - /* 222 */ - array(39, 62,), - /* 223 */ - array(2, 21,), - /* 224 */ - array(39, 62,), - /* 225 */ - array(20, 63,), - /* 226 */ - array(20,), - /* 227 */ - array(3,), - /* 228 */ - array(20,), - /* 229 */ - array(20,), - /* 230 */ - array(20,), - /* 231 */ - array(2,), - /* 232 */ - array(19,), - /* 233 */ - array(20,), - /* 234 */ - array(19,), - /* 235 */ - array(3,), - /* 236 */ - array(20,), - /* 237 */ - array(37,), - /* 238 */ - array(37,), - /* 239 */ - array(66,), - /* 240 */ - array(20,), - /* 241 */ - array(20,), - /* 242 */ - array(3,), - /* 243 */ - array(56,), - /* 244 */ - array(39,), - /* 245 */ - array(2,), - /* 246 */ - array(60,), - /* 247 */ - array(39,), - /* 248 */ - array(19,), - /* 249 */ - array(40,), - /* 250 */ - array(20,), - /* 251 */ - array(26,), - /* 252 */ - array(19,), - /* 253 */ - array(64,), - /* 254 */ - array(20,), - /* 255 */ - array(19,), - /* 256 */ - array(20,), - /* 257 */ - array(64,), - /* 258 */ - array(27,), - /* 259 */ - array(21,), - /* 260 */ - array(), - /* 261 */ - array(), - /* 262 */ - array(), - /* 263 */ - array(), - /* 264 */ - array(), - /* 265 */ - array(), - /* 266 */ - array(), - /* 267 */ - array(), - /* 268 */ - array(), - /* 269 */ - array(), - /* 270 */ - array(), - /* 271 */ - array(), - /* 272 */ - array(), - /* 273 */ - array(), - /* 274 */ - array(), - /* 275 */ - array(), - /* 276 */ - array(), - /* 277 */ - array(), - /* 278 */ - array(), - /* 279 */ - array(), - /* 280 */ - array(), - /* 281 */ - array(), - /* 282 */ - array(), - /* 283 */ - array(), - /* 284 */ - array(), - /* 285 */ - array(), - /* 286 */ - array(), - /* 287 */ - array(), - /* 288 */ - array(), - /* 289 */ - array(), - /* 290 */ - array(), - /* 291 */ - array(), - /* 292 */ - array(), - /* 293 */ - array(), - /* 294 */ - array(), - /* 295 */ - array(), - /* 296 */ - array(), - /* 297 */ - array(), - /* 298 */ - array(), - /* 299 */ - array(), - /* 300 */ - array(), - /* 301 */ - array(), - /* 302 */ - array(), - /* 303 */ - array(), - /* 304 */ - array(), - /* 305 */ - array(), - /* 306 */ - array(), - /* 307 */ - array(), - /* 308 */ - array(), - /* 309 */ - array(), - /* 310 */ - array(), - /* 311 */ - array(), - /* 312 */ - array(), - /* 313 */ - array(), - /* 314 */ - array(), - /* 315 */ - array(), - /* 316 */ - array(), - /* 317 */ - array(), - /* 318 */ - array(), - /* 319 */ - array(), - /* 320 */ - array(), - /* 321 */ - array(), - /* 322 */ - array(), - /* 323 */ - array(), - /* 324 */ - array(), - /* 325 */ - array(), - /* 326 */ - array(), - /* 327 */ - array(), - /* 328 */ - array(), - /* 329 */ - array(), - /* 330 */ - array(), - /* 331 */ - array(), - /* 332 */ - array(), - /* 333 */ - array(), - /* 334 */ - array(), - /* 335 */ - array(), - /* 336 */ - array(), - /* 337 */ - array(), - /* 338 */ - array(), - /* 339 */ - array(), - /* 340 */ - array(), - /* 341 */ - array(), - /* 342 */ - array(), - /* 343 */ - array(), - /* 344 */ - array(), - /* 345 */ - array(), - /* 346 */ - array(), - /* 347 */ - array(), - /* 348 */ - array(), - /* 349 */ - array(), - /* 350 */ - array(), - /* 351 */ - array(), - /* 352 */ - array(), - /* 353 */ - array(), - /* 354 */ - array(), - /* 355 */ - array(), - /* 356 */ - array(), - /* 357 */ - array(), - ); - static public $yy_default = array( - /* 0 */ - 361, 541, 558, 558, 512, 558, 512, 512, 558, 558, - /* 10 */ - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - /* 20 */ - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - /* 30 */ - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - /* 40 */ - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - /* 50 */ - 558, 558, 558, 558, 418, 418, 418, 418, 387, 395, - /* 60 */ - 558, 558, 558, 558, 558, 558, 558, 558, 558, 423, - /* 70 */ - 558, 428, 425, 510, 423, 429, 511, 543, 444, 542, - /* 80 */ - 447, 448, 443, 442, 439, 452, 544, 420, 451, 400, - /* 90 */ - 456, 455, 467, 431, 418, 358, 558, 418, 418, 418, - /* 100 */ - 418, 438, 475, 418, 418, 558, 524, 409, 558, 558, - /* 110 */ - 431, 431, 431, 558, 485, 558, 476, 476, 431, 485, - /* 120 */ - 485, 431, 558, 558, 412, 558, 485, 558, 476, 558, - /* 130 */ - 558, 558, 558, 431, 558, 558, 558, 397, 558, 418, - /* 140 */ - 418, 558, 558, 558, 558, 558, 441, 476, 414, 434, - /* 150 */ - 521, 436, 435, 460, 459, 458, 454, 519, 486, 558, - /* 160 */ - 385, 384, 405, 404, 389, 406, 399, 388, 505, 483, - /* 170 */ - 482, 481, 480, 407, 408, 383, 398, 403, 402, 504, - /* 180 */ - 479, 502, 485, 393, 392, 390, 503, 382, 396, 394, - /* 190 */ - 378, 525, 522, 475, 557, 557, 513, 499, 438, 485, - /* 200 */ - 413, 410, 514, 415, 518, 485, 518, 485, 518, 433, - /* 210 */ - 467, 467, 558, 467, 457, 558, 558, 558, 558, 463, - /* 220 */ - 457, 558, 453, 497, 467, 558, 558, 558, 558, 558, - /* 230 */ - 558, 497, 558, 558, 558, 558, 558, 465, 558, 558, - /* 240 */ - 558, 558, 558, 469, 497, 497, 463, 523, 558, 558, - /* 250 */ - 558, 457, 558, 558, 558, 558, 558, 558, 426, 558, - /* 260 */ - 477, 520, 495, 507, 490, 508, 487, 374, 498, 484, - /* 270 */ - 556, 364, 363, 365, 461, 366, 472, 466, 360, 359, - /* 280 */ - 462, 362, 464, 367, 430, 401, 469, 372, 373, 419, - /* 290 */ - 432, 427, 368, 369, 370, 371, 433, 470, 445, 497, - /* 300 */ - 446, 496, 450, 449, 500, 517, 545, 474, 552, 411, - /* 310 */ - 501, 478, 553, 526, 534, 533, 535, 536, 437, 537, - /* 320 */ - 532, 417, 528, 527, 529, 530, 531, 546, 547, 515, - /* 330 */ - 506, 375, 376, 509, 377, 516, 468, 494, 489, 492, - /* 340 */ - 491, 493, 379, 380, 555, 548, 554, 551, 550, 549, - /* 350 */ - 440, 416, 473, 471, 539, 540, 538, 488, - ); - const YYNOCODE = 125; + + const TP_PHP = 3; + + const TP_NOCACHE = 4; + + const TP_TEXT = 5; + + const TP_STRIPON = 6; + + const TP_STRIPOFF = 7; + + const TP_LITERALSTART = 8; + + const TP_LITERALEND = 9; + + const TP_LITERAL = 10; + + const TP_RDEL = 11; + + const TP_SIMPELOUTPUT = 12; + + const TP_LDEL = 13; + + const TP_DOLLARID = 14; + + const TP_EQUAL = 15; + + const TP_SIMPLETAG = 16; + + const TP_ID = 17; + + const TP_PTR = 18; + + const TP_LDELIF = 19; + + const TP_LDELFOR = 20; + + const TP_SEMICOLON = 21; + + const TP_INCDEC = 22; + + const TP_TO = 23; + + const TP_STEP = 24; + + const TP_LDELFOREACH = 25; + + const TP_SPACE = 26; + + const TP_AS = 27; + + const TP_APTR = 28; + + const TP_LDELSETFILTER = 29; + + const TP_SMARTYBLOCKCHILDPARENT = 30; + + const TP_CLOSETAG = 31; + + const TP_LDELSLASH = 32; + + const TP_ATTR = 33; + + const TP_INTEGER = 34; + + const TP_COMMA = 35; + + const TP_OPENP = 36; + + const TP_CLOSEP = 37; + + const TP_MATH = 38; + + const TP_UNIMATH = 39; + + const TP_ISIN = 40; + + const TP_INSTANCEOF = 41; + + const TP_QMARK = 42; + + const TP_NOT = 43; + + const TP_TYPECAST = 44; + + const TP_HEX = 45; + + const TP_DOT = 46; + + const TP_SINGLEQUOTESTRING = 47; + + const TP_DOUBLECOLON = 48; + + const TP_NAMESPACE = 49; + + const TP_AT = 50; + + const TP_HATCH = 51; + + const TP_OPENB = 52; + + const TP_CLOSEB = 53; + + const TP_DOLLAR = 54; + + const TP_LOGOP = 55; + + const TP_TLOGOP = 56; + + const TP_SINGLECOND = 57; + + const TP_QUOTE = 58; + + const TP_BACKTICK = 59; + + const YY_NO_ACTION = 535; + + const YY_ACCEPT_ACTION = 534; + + const YY_ERROR_ACTION = 533; + + const YY_SZ_ACTTAB = 2082; + + static public $yy_action = array(278, 8, 134, 451, 281, 68, 207, 7, 85, 248, 29, 98, 168, 114, 252, 451, 367, 230, + 315, 245, 235, 249, 233, 36, 28, 145, 38, 42, 140, 36, 27, 39, 41, 322, 222, 300, + 27, 213, 195, 82, 1, 31, 265, 92, 164, 181, 53, 278, 8, 133, 97, 281, 201, 249, 7, + 85, 35, 307, 35, 307, 114, 226, 227, 215, 230, 108, 245, 235, 265, 208, 195, 28, + 195, 5, 42, 184, 268, 277, 39, 41, 322, 222, 218, 258, 213, 120, 82, 1, 333, 265, + 181, 175, 3, 53, 278, 8, 135, 105, 281, 206, 249, 7, 85, 35, 307, 207, 24, 114, 16, + 103, 305, 230, 17, 245, 235, 404, 233, 195, 28, 288, 15, 42, 96, 265, 20, 39, 41, + 322, 222, 300, 404, 213, 450, 82, 1, 6, 265, 404, 52, 113, 53, 278, 8, 135, 450, + 281, 206, 289, 7, 85, 261, 463, 228, 244, 114, 122, 296, 463, 230, 102, 245, 235, + 236, 198, 182, 28, 262, 122, 42, 143, 274, 102, 39, 41, 322, 222, 300, 33, 213, + 314, 82, 1, 274, 265, 207, 86, 311, 53, 278, 8, 136, 195, 281, 206, 362, 7, 85, + 283, 285, 287, 229, 114, 33, 228, 309, 230, 326, 245, 235, 36, 233, 291, 28, 479, + 479, 42, 27, 147, 479, 39, 41, 322, 222, 300, 159, 213, 249, 82, 1, 193, 265, 94, + 169, 249, 53, 278, 8, 135, 251, 281, 197, 249, 7, 85, 248, 29, 91, 150, 114, 252, + 193, 479, 230, 207, 245, 235, 249, 233, 195, 28, 288, 191, 42, 407, 450, 207, 39, + 41, 322, 222, 300, 179, 213, 195, 82, 1, 450, 265, 407, 52, 249, 53, 278, 8, 135, + 407, 281, 204, 195, 7, 85, 313, 251, 93, 155, 114, 226, 225, 12, 230, 108, 245, + 235, 249, 233, 247, 28, 479, 479, 42, 282, 189, 479, 39, 41, 322, 222, 300, 161, + 213, 195, 82, 1, 25, 265, 103, 177, 249, 53, 278, 8, 132, 142, 281, 206, 249, 7, + 85, 195, 244, 34, 249, 114, 103, 193, 103, 230, 251, 245, 235, 207, 233, 289, 4, + 237, 113, 42, 228, 146, 138, 39, 41, 322, 222, 300, 10, 213, 249, 82, 1, 148, 265, + 251, 113, 99, 53, 278, 8, 137, 251, 281, 206, 288, 7, 85, 294, 103, 186, 246, 114, + 237, 335, 33, 230, 319, 245, 235, 329, 233, 255, 23, 52, 331, 42, 188, 246, 264, + 39, 41, 322, 222, 300, 167, 213, 138, 82, 1, 34, 265, 288, 10, 249, 53, 278, 8, + 135, 153, 281, 199, 207, 7, 85, 234, 226, 250, 249, 114, 108, 193, 190, 230, 308, + 245, 235, 337, 209, 232, 28, 128, 160, 42, 128, 193, 207, 39, 41, 322, 222, 300, + 11, 213, 463, 82, 1, 158, 265, 27, 463, 108, 53, 278, 8, 137, 176, 281, 206, 180, + 7, 85, 220, 14, 276, 249, 114, 269, 207, 172, 230, 251, 245, 235, 106, 233, 286, + 23, 407, 115, 42, 259, 193, 141, 39, 41, 322, 222, 300, 267, 213, 312, 82, 407, + 144, 265, 207, 207, 38, 53, 407, 187, 246, 272, 273, 271, 270, 266, 184, 318, 207, + 13, 278, 8, 22, 242, 281, 2, 173, 7, 85, 36, 84, 265, 19, 114, 6, 156, 27, 230, + 137, 245, 235, 223, 217, 304, 249, 237, 248, 29, 228, 214, 163, 252, 119, 66, 112, + 40, 43, 37, 102, 249, 126, 298, 260, 265, 192, 212, 297, 301, 284, 274, 295, 170, + 324, 257, 256, 82, 304, 185, 265, 211, 302, 228, 214, 336, 221, 123, 73, 112, 166, + 334, 183, 102, 248, 29, 298, 260, 253, 252, 212, 297, 301, 275, 274, 279, 195, 304, + 36, 294, 165, 205, 228, 214, 171, 27, 123, 58, 109, 225, 117, 251, 102, 139, 149, + 298, 260, 89, 151, 212, 297, 301, 304, 274, 301, 181, 157, 228, 214, 248, 29, 123, + 73, 112, 252, 249, 87, 102, 35, 307, 298, 260, 88, 36, 212, 297, 301, 174, 274, 90, + 27, 304, 195, 95, 301, 216, 228, 214, 301, 301, 123, 46, 109, 110, 301, 301, 102, + 301, 207, 298, 260, 450, 405, 212, 297, 301, 231, 274, 401, 301, 304, 238, 301, + 450, 301, 228, 214, 405, 327, 119, 66, 112, 301, 36, 405, 102, 301, 450, 298, 260, + 27, 301, 212, 297, 301, 304, 274, 301, 301, 450, 228, 214, 301, 301, 123, 73, 112, + 303, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 137, 274, 301, + 254, 304, 301, 301, 301, 210, 228, 214, 248, 29, 123, 75, 112, 252, 301, 301, 102, + 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 301, 301, 304, 301, 243, + 301, 82, 228, 214, 265, 301, 123, 60, 112, 301, 301, 301, 102, 241, 301, 298, 260, + 301, 301, 212, 297, 301, 304, 274, 301, 301, 301, 228, 214, 301, 301, 104, 71, 112, + 301, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 301, + 301, 304, 301, 301, 301, 301, 228, 81, 301, 301, 83, 47, 107, 301, 301, 301, 102, + 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 301, 301, 304, 301, 301, + 301, 301, 228, 214, 301, 301, 123, 76, 112, 301, 301, 301, 102, 301, 301, 298, 260, + 301, 301, 212, 297, 301, 304, 274, 301, 301, 301, 228, 214, 301, 301, 123, 67, 112, + 301, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 301, + 301, 304, 301, 301, 301, 301, 228, 214, 301, 301, 123, 64, 112, 301, 301, 301, 102, + 301, 301, 298, 260, 301, 310, 212, 297, 301, 301, 274, 301, 278, 9, 299, 301, 281, + 301, 301, 7, 85, 301, 301, 301, 301, 114, 310, 301, 301, 230, 301, 245, 235, 278, + 9, 299, 301, 281, 301, 301, 7, 85, 301, 301, 301, 301, 114, 301, 301, 301, 230, + 301, 245, 235, 301, 301, 181, 154, 316, 21, 301, 181, 152, 301, 301, 301, 249, 304, + 301, 35, 307, 249, 228, 203, 35, 307, 123, 61, 112, 325, 21, 301, 102, 195, 301, + 298, 260, 301, 195, 212, 297, 301, 301, 274, 304, 301, 301, 181, 162, 228, 214, + 301, 301, 123, 62, 112, 301, 249, 301, 102, 35, 307, 298, 260, 301, 301, 212, 297, + 301, 301, 274, 301, 301, 304, 195, 207, 301, 301, 228, 214, 301, 301, 123, 65, 112, + 196, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, + 301, 301, 301, 301, 228, 214, 301, 301, 123, 48, 112, 40, 43, 37, 102, 301, 301, + 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, 301, 324, 257, 256, 228, 214, + 301, 301, 123, 63, 112, 301, 301, 301, 102, 18, 200, 298, 260, 292, 301, 212, 297, + 301, 301, 274, 301, 301, 304, 301, 207, 301, 301, 228, 202, 301, 293, 116, 59, 112, + 320, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, + 265, 301, 301, 301, 228, 79, 301, 301, 83, 45, 107, 40, 43, 37, 102, 301, 301, 298, + 260, 301, 301, 212, 297, 301, 301, 274, 304, 301, 324, 257, 256, 228, 214, 301, + 301, 123, 58, 112, 301, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, + 301, 274, 301, 301, 304, 301, 207, 301, 301, 228, 214, 301, 301, 123, 72, 112, 40, + 43, 37, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, 178, 324, + 257, 256, 228, 214, 301, 301, 123, 55, 112, 40, 43, 37, 102, 301, 301, 298, 260, + 301, 301, 212, 297, 301, 301, 274, 304, 301, 324, 257, 256, 228, 214, 301, 301, + 123, 54, 112, 301, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, + 274, 301, 301, 304, 301, 207, 301, 301, 228, 214, 301, 301, 101, 77, 112, 280, 301, + 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, 301, 301, + 301, 301, 228, 214, 301, 301, 123, 80, 112, 40, 43, 37, 102, 301, 301, 298, 260, + 301, 301, 212, 297, 301, 301, 274, 304, 301, 324, 257, 256, 228, 214, 301, 301, + 123, 56, 112, 301, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, + 274, 301, 301, 304, 301, 207, 301, 301, 228, 214, 301, 301, 123, 70, 112, 194, 301, + 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, 301, 301, + 301, 301, 228, 214, 301, 301, 123, 74, 112, 40, 43, 37, 102, 301, 301, 298, 260, + 301, 301, 212, 297, 301, 301, 274, 304, 301, 324, 257, 256, 228, 214, 301, 301, + 123, 49, 112, 301, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, + 274, 301, 301, 304, 301, 207, 301, 301, 228, 214, 301, 301, 100, 57, 112, 301, 301, + 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, 301, 301, + 301, 301, 228, 214, 301, 301, 123, 44, 112, 40, 43, 37, 102, 301, 301, 298, 260, + 301, 301, 212, 297, 301, 301, 274, 304, 301, 324, 257, 256, 228, 214, 301, 301, + 123, 69, 112, 301, 301, 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, + 274, 301, 301, 304, 301, 301, 301, 301, 228, 214, 301, 301, 118, 50, 112, 301, 301, + 301, 102, 301, 301, 298, 260, 301, 301, 212, 297, 301, 301, 274, 304, 301, 301, + 301, 301, 228, 214, 301, 301, 123, 78, 112, 301, 301, 301, 102, 301, 301, 298, 260, + 207, 301, 212, 297, 301, 301, 274, 304, 301, 301, 359, 301, 228, 224, 301, 301, + 121, 301, 112, 301, 301, 288, 102, 301, 301, 36, 306, 301, 301, 212, 297, 301, 27, + 274, 301, 301, 304, 301, 301, 301, 52, 228, 224, 301, 301, 131, 301, 112, 301, 301, + 301, 102, 301, 301, 219, 321, 301, 301, 212, 297, 301, 301, 274, 219, 479, 479, + 301, 301, 301, 479, 463, 301, 301, 479, 479, 301, 30, 301, 479, 463, 417, 417, 301, + 301, 301, 301, 479, 479, 301, 207, 301, 479, 463, 301, 301, 301, 301, 301, 463, + 328, 463, 301, 479, 301, 463, 332, 207, 463, 301, 463, 288, 479, 301, 463, 36, 450, + 290, 417, 417, 417, 463, 27, 463, 301, 479, 301, 463, 450, 301, 52, 301, 36, 301, + 301, 417, 417, 417, 301, 27, 301, 301, 304, 301, 40, 43, 37, 228, 224, 301, 301, + 127, 301, 112, 301, 301, 301, 102, 301, 301, 301, 324, 257, 256, 212, 297, 301, + 301, 274, 301, 301, 304, 301, 301, 219, 301, 228, 224, 301, 301, 125, 301, 112, + 301, 479, 479, 102, 15, 301, 479, 463, 301, 301, 212, 297, 301, 301, 274, 534, 51, + 263, 285, 287, 229, 304, 301, 228, 301, 301, 228, 224, 207, 301, 124, 301, 112, + 301, 301, 463, 102, 463, 207, 479, 301, 463, 301, 212, 297, 301, 304, 274, 207, + 301, 301, 228, 224, 36, 301, 130, 301, 112, 301, 301, 27, 102, 301, 301, 301, 40, + 43, 37, 212, 297, 301, 32, 274, 36, 239, 40, 43, 37, 301, 301, 27, 301, 324, 257, + 256, 40, 43, 37, 301, 301, 301, 301, 324, 257, 256, 301, 301, 301, 301, 301, 304, + 301, 324, 257, 256, 228, 224, 301, 301, 129, 301, 112, 301, 301, 301, 102, 301, + 301, 26, 301, 301, 219, 212, 297, 301, 301, 274, 301, 479, 479, 301, 479, 479, 479, + 463, 207, 479, 463, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 463, 301, 463, 463, + 479, 463, 463, 479, 207, 463, 40, 43, 37, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 324, 257, 256, 301, 330, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 411, 301, 40, 43, 37, 207, 301, 301, 301, 301, 411, + 301, 411, 301, 207, 411, 301, 317, 301, 324, 257, 256, 411, 301, 411, 301, 411, + 301, 301, 301, 301, 301, 301, 301, 111, 237, 301, 301, 301, 301, 301, 323, 40, 43, + 37, 301, 207, 301, 301, 301, 301, 40, 43, 37, 301, 301, 373, 301, 301, 324, 257, + 256, 301, 240, 301, 301, 301, 301, 324, 257, 256, 36, 301, 301, 301, 301, 301, 301, + 27, 301, 301, 450, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 450,); + + static public $yy_lookahead = array(12, 13, 14, 36, 16, 17, 1, 19, 20, 12, 13, 71, 72, 25, 17, 48, 11, 29, 30, 31, + 32, 81, 34, 26, 36, 28, 2, 39, 14, 26, 33, 43, 44, 45, 46, 47, 33, 49, 98, 51, + 52, 23, 54, 71, 72, 71, 58, 12, 13, 14, 36, 16, 17, 81, 19, 20, 84, 85, 84, 85, + 25, 75, 76, 77, 29, 79, 31, 32, 54, 34, 98, 36, 98, 36, 39, 8, 9, 10, 43, 44, + 45, 46, 47, 14, 49, 48, 51, 52, 53, 54, 71, 72, 35, 58, 12, 13, 14, 67, 16, 17, + 81, 19, 20, 84, 85, 1, 15, 25, 21, 18, 53, 29, 13, 31, 32, 11, 34, 98, 36, 22, + 15, 39, 35, 54, 28, 43, 44, 45, 46, 47, 26, 49, 36, 51, 52, 36, 54, 33, 41, 48, + 58, 12, 13, 14, 48, 16, 17, 64, 19, 20, 70, 46, 69, 99, 25, 75, 59, 52, 29, 79, + 31, 32, 70, 34, 71, 36, 86, 75, 39, 51, 90, 79, 43, 44, 45, 46, 47, 35, 49, 37, + 51, 52, 90, 54, 1, 102, 103, 58, 12, 13, 14, 98, 16, 17, 11, 19, 20, 63, 64, 65, + 66, 25, 35, 69, 37, 29, 34, 31, 32, 26, 34, 17, 36, 12, 13, 39, 33, 72, 17, 43, + 44, 45, 46, 47, 72, 49, 81, 51, 52, 98, 54, 71, 72, 81, 58, 12, 13, 14, 93, 16, + 17, 81, 19, 20, 12, 13, 71, 72, 25, 17, 98, 50, 29, 1, 31, 32, 81, 34, 98, 36, + 22, 71, 39, 11, 36, 1, 43, 44, 45, 46, 47, 72, 49, 98, 51, 52, 48, 54, 26, 41, + 81, 58, 12, 13, 14, 33, 16, 17, 98, 19, 20, 53, 93, 71, 72, 25, 75, 76, 15, 29, + 79, 31, 32, 81, 34, 22, 36, 12, 13, 39, 11, 71, 17, 43, 44, 45, 46, 47, 72, 49, + 98, 51, 52, 15, 54, 18, 72, 81, 58, 12, 13, 14, 72, 16, 17, 81, 19, 20, 98, 99, + 15, 81, 25, 18, 98, 18, 29, 93, 31, 32, 1, 34, 64, 36, 46, 48, 39, 69, 72, 46, + 43, 44, 45, 46, 47, 52, 49, 81, 51, 52, 91, 54, 93, 48, 80, 58, 12, 13, 14, 93, + 16, 17, 22, 19, 20, 92, 18, 94, 95, 25, 46, 103, 35, 29, 37, 31, 32, 53, 34, 17, + 36, 41, 53, 39, 94, 95, 95, 43, 44, 45, 46, 47, 72, 49, 46, 51, 52, 15, 54, 22, + 52, 81, 58, 12, 13, 14, 72, 16, 17, 1, 19, 20, 50, 75, 76, 81, 25, 79, 98, 80, + 29, 89, 31, 32, 89, 34, 18, 36, 96, 51, 39, 96, 98, 1, 43, 44, 45, 46, 47, 26, + 49, 46, 51, 52, 75, 54, 33, 52, 79, 58, 12, 13, 14, 72, 16, 17, 14, 19, 20, 17, + 28, 65, 81, 25, 68, 1, 91, 29, 93, 31, 32, 79, 34, 37, 36, 11, 17, 39, 17, 98, + 14, 43, 44, 45, 46, 47, 9, 49, 96, 51, 26, 27, 54, 1, 1, 2, 58, 33, 94, 95, 3, + 4, 5, 6, 7, 8, 34, 1, 2, 12, 13, 13, 14, 16, 36, 17, 19, 20, 26, 17, 54, 42, 25, + 36, 72, 33, 29, 14, 31, 32, 17, 17, 64, 81, 46, 12, 13, 69, 70, 72, 17, 73, 74, + 75, 38, 39, 40, 79, 81, 17, 82, 83, 54, 17, 86, 87, 88, 17, 90, 17, 91, 55, 56, + 57, 51, 64, 71, 54, 100, 101, 69, 70, 53, 50, 73, 74, 75, 91, 53, 80, 79, 12, + 13, 82, 83, 17, 17, 86, 87, 88, 5, 90, 81, 98, 64, 26, 92, 28, 97, 69, 70, 91, + 33, 73, 74, 75, 76, 78, 93, 79, 79, 91, 82, 83, 79, 91, 86, 87, 88, 64, 90, 104, + 71, 72, 69, 70, 12, 13, 73, 74, 75, 17, 81, 79, 79, 84, 85, 82, 83, 79, 26, 86, + 87, 88, 91, 90, 79, 33, 64, 98, 91, 104, 97, 69, 70, 104, 104, 73, 74, 75, 76, + 104, 104, 79, 104, 1, 82, 83, 36, 11, 86, 87, 88, 15, 90, 11, 104, 64, 46, 104, + 48, 104, 69, 70, 26, 53, 73, 74, 75, 104, 26, 33, 79, 104, 36, 82, 83, 33, 104, + 86, 87, 88, 64, 90, 104, 104, 48, 69, 70, 104, 104, 73, 74, 75, 101, 104, 104, + 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 14, 90, 104, 17, 64, 104, 104, 104, + 97, 69, 70, 12, 13, 73, 74, 75, 17, 104, 104, 79, 104, 104, 82, 83, 104, 104, + 86, 87, 88, 104, 90, 104, 104, 64, 104, 49, 104, 51, 69, 70, 54, 104, 73, 74, + 75, 104, 104, 104, 79, 50, 104, 82, 83, 104, 104, 86, 87, 88, 64, 90, 104, 104, + 104, 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, 79, 104, 104, 82, 83, 104, + 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 104, 104, 104, 69, 70, 104, 104, + 73, 74, 75, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, + 104, 104, 64, 104, 104, 104, 104, 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, + 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 64, 90, 104, 104, 104, 69, 70, 104, + 104, 73, 74, 75, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, + 90, 104, 104, 64, 104, 104, 104, 104, 69, 70, 104, 104, 73, 74, 75, 104, 104, + 104, 79, 104, 104, 82, 83, 104, 5, 86, 87, 88, 104, 90, 104, 12, 13, 14, 104, + 16, 104, 104, 19, 20, 104, 104, 104, 104, 25, 5, 104, 104, 29, 104, 31, 32, 12, + 13, 14, 104, 16, 104, 104, 19, 20, 104, 104, 104, 104, 25, 104, 104, 104, 29, + 104, 31, 32, 104, 104, 71, 72, 58, 59, 104, 71, 72, 104, 104, 104, 81, 64, 104, + 84, 85, 81, 69, 70, 84, 85, 73, 74, 75, 58, 59, 104, 79, 98, 104, 82, 83, 104, + 98, 86, 87, 88, 104, 90, 64, 104, 104, 71, 72, 69, 70, 104, 104, 73, 74, 75, + 104, 81, 104, 79, 84, 85, 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, 64, + 98, 1, 104, 104, 69, 70, 104, 104, 73, 74, 75, 11, 104, 104, 79, 104, 104, 82, + 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, 104, 73, + 74, 75, 38, 39, 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, + 104, 55, 56, 57, 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, 79, 13, 14, 82, + 83, 17, 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 1, 104, 104, 69, 70, 104, + 34, 73, 74, 75, 11, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, + 90, 64, 54, 104, 104, 104, 69, 70, 104, 104, 73, 74, 75, 38, 39, 40, 79, 104, + 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, 69, 70, 104, + 104, 73, 74, 75, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, + 90, 104, 104, 64, 104, 1, 104, 104, 69, 70, 104, 104, 73, 74, 75, 38, 39, 40, + 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 27, 55, 56, 57, 69, 70, + 104, 104, 73, 74, 75, 38, 39, 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, + 104, 90, 64, 104, 55, 56, 57, 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, 79, + 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 1, 104, 104, + 69, 70, 104, 104, 73, 74, 75, 11, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, + 87, 88, 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, 104, 73, 74, 75, 38, 39, + 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, + 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, + 87, 88, 104, 90, 104, 104, 64, 104, 1, 104, 104, 69, 70, 104, 104, 73, 74, 75, + 11, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 104, + 104, 104, 69, 70, 104, 104, 73, 74, 75, 38, 39, 40, 79, 104, 104, 82, 83, 104, + 104, 86, 87, 88, 104, 90, 64, 104, 55, 56, 57, 69, 70, 104, 104, 73, 74, 75, + 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, + 64, 104, 1, 104, 104, 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, 79, 104, 104, + 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, 104, + 73, 74, 75, 38, 39, 40, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, 104, 90, 64, + 104, 55, 56, 57, 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, 79, 104, 104, 82, + 83, 104, 104, 86, 87, 88, 104, 90, 104, 104, 64, 104, 104, 104, 104, 69, 70, + 104, 104, 73, 74, 75, 104, 104, 104, 79, 104, 104, 82, 83, 104, 104, 86, 87, 88, + 104, 90, 64, 104, 104, 104, 104, 69, 70, 104, 104, 73, 74, 75, 104, 104, 104, + 79, 104, 104, 82, 83, 1, 104, 86, 87, 88, 104, 90, 64, 104, 104, 11, 104, 69, + 70, 104, 104, 73, 104, 75, 104, 104, 22, 79, 104, 104, 26, 83, 104, 104, 86, 87, + 88, 33, 90, 104, 104, 64, 104, 104, 104, 41, 69, 70, 104, 104, 73, 104, 75, 104, + 104, 104, 79, 104, 104, 2, 83, 104, 104, 86, 87, 88, 104, 90, 2, 12, 13, 104, + 104, 104, 17, 18, 104, 104, 12, 13, 104, 15, 104, 17, 18, 1, 2, 104, 104, 104, + 104, 12, 13, 104, 1, 104, 17, 18, 104, 104, 104, 104, 104, 46, 11, 48, 104, 50, + 104, 52, 53, 1, 46, 104, 48, 22, 50, 104, 52, 26, 36, 11, 38, 39, 40, 46, 33, + 48, 104, 50, 104, 52, 48, 104, 41, 104, 26, 104, 104, 55, 56, 57, 104, 33, 104, + 104, 64, 104, 38, 39, 40, 69, 70, 104, 104, 73, 104, 75, 104, 104, 104, 79, 104, + 104, 104, 55, 56, 57, 86, 87, 88, 104, 90, 104, 104, 64, 104, 104, 2, 104, 69, + 70, 104, 104, 73, 104, 75, 104, 12, 13, 79, 15, 104, 17, 18, 104, 104, 86, 87, + 88, 104, 90, 61, 62, 63, 64, 65, 66, 64, 104, 69, 104, 104, 69, 70, 1, 104, 73, + 104, 75, 104, 104, 46, 79, 48, 1, 50, 104, 52, 104, 86, 87, 88, 64, 90, 1, 104, + 104, 69, 70, 26, 104, 73, 104, 75, 104, 104, 33, 79, 104, 104, 104, 38, 39, 40, + 86, 87, 88, 24, 90, 26, 37, 38, 39, 40, 104, 104, 33, 104, 55, 56, 57, 38, 39, + 40, 104, 104, 104, 104, 55, 56, 57, 104, 104, 104, 104, 104, 64, 104, 55, 56, + 57, 69, 70, 104, 104, 73, 104, 75, 104, 104, 104, 79, 104, 104, 2, 104, 104, 2, + 86, 87, 88, 104, 90, 104, 12, 13, 104, 12, 13, 17, 18, 1, 17, 18, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 46, 104, 48, 46, 50, 48, 52, 50, 1, 52, 38, 39, 40, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 55, 56, + 57, 104, 59, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 11, 104, 38, + 39, 40, 1, 104, 104, 104, 104, 21, 104, 23, 104, 1, 26, 104, 53, 104, 55, 56, + 57, 33, 104, 35, 104, 37, 104, 104, 104, 104, 104, 104, 104, 21, 46, 104, 104, + 104, 104, 104, 37, 38, 39, 40, 104, 1, 104, 104, 104, 104, 38, 39, 40, 104, 104, + 11, 104, 104, 55, 56, 57, 104, 18, 104, 104, 104, 104, 55, 56, 57, 26, 104, 104, + 104, 104, 104, 104, 33, 104, 104, 36, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 48,); + + const YY_SHIFT_USE_DFLT = - 34; + + const YY_SHIFT_MAX = 242; + + static public $yy_shift_ofst = array(517, 270, 82, 270, 317, 82, 82, 317, - 12, - 12, 35, 411, 82, 82, 82, 129, 82, + 82, 82, 176, 82, 82, 82, 82, 82, 82, 223, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 411, 364, 364, 458, 458, 458, 458, 458, 1830, 1706, 1810, 1810, 1810, 1810, + 1810, 517, 733, 933, 2001, 1306, 1389, 1223, 1820, 1952, 526, 1917, 1992, 1140, + 1057, 1472, 1472, 1472, 2033, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1196, 1689, 1196, 1600, 533, 183, 512, 14, 954, - 3, 589, 634, 634, 684, + 684, 512, 512, 368, 14, 14, 512, 513, 484, 104, 746, 518, 252, 67, 232, 91, + 232, 325, 3, 486, 307, 462, 433, 428, 349, 3, 5, 452, 462, 264, 327, 264, 264, + 264, 264, 264, 327, 264, 264, - 34, 1772, 1653, 1662, 1902, 1899, 1675, 1113, + 543, 105, 295, 3, 415, 69, 69, 3, 3, 313, 313, 3, 313, 3, 3, 3, 3, 3, 3, 283, + 3, 415, 3, 3, 3, 3, 69, 313, 3, 3, 3, 313, 313, 313, 99, 313, 3, 3, 3, 69, 3, + 498, 264, 264, 24, 497, 264, 327, 327, 327, 264, 24, 264, - 34, - 34, - 34, + - 34, - 34, 1680, 1977, 678, 201, 652, 238, 97, 96, 357, 228, 382, 344, 308, + 142, 57, 37, - 33, 360, 87, 167, 539, 545, 562, 507, 194, 172, 118, 397, 456, + 402, 18, 299, 605, 556, 588, 552, 508, 481, 479, 398, 492, 534, 499, 522, 560, + 498,); + + const YY_REDUCE_USE_DFLT = - 61; + + const YY_REDUCE_MAX = 196; + + static public $yy_reduce_ofst = array(1737, 488, 575, 633, 550, 658, 521, 604, 770, 1102, 1075, 1407, 1461, 1517, + 1351, 1158, 1212, 1295, 1046, 716, 992, 936, 853, 963, 1019, 687, 1268, 1241, + 1129, 1185, 1490, 1434, 1378, 1324, 799, 824, 741, 1544, 1573, 1819, 1678, + 1740, 1707, 1765, 923, - 28, 571, - 28, 19, 918, 959, 134, 80, 83, - 26, - 26, + - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, 160, + - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, 222, - 26, 222, + 92, 175, - 60, - 14, 288, 145, 199, 286, 254, 152, 246, 354, 401, 293, 358, + 221, 340, 240, 190, 190, 279, 412, 190, 416, 395, 310, 279, 310, 472, 389, + 310, 352, 260, 93, 190, 487, 190, 190, 355, 190, 310, 190, 190, 190, 515, 190, + 424, 190, 190, 190, 530, 530, 530, 530, 530, 530, 551, 535, 530, 530, 531, + 540, 574, 555, 531, 531, 524, 524, 531, 524, 531, 531, 531, 531, 531, 531, + 549, 531, 544, 531, 531, 531, 531, 587, 524, 531, 531, 531, 524, 524, 524, + 573, 524, 531, 531, 531, 580, 531, 579, 131, 131, 54, 30, 131, 311, 311, 311, + 131, 54, 131, 294, 519, 489, 359, 506,); + + static public $yyExpectedTokens = array(array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 25, 29, 31, 32,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 30, 31, 32, 34, 36, 39, 43, 44, + 45, 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 30, 31, 32, 34, 36, 39, 43, 44, + 45, 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 53, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 52, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 54, 58,), + array(12, 13, 14, 16, 17, 19, 20, 25, 29, 31, 32, 34, 36, 39, 43, 44, 45, + 46, 47, 49, 51, 54, 58,), + array(1, 24, 26, 33, 38, 39, 40, 55, 56, 57,), + array(1, 11, 26, 33, 38, 39, 40, 55, 56, 57,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57,), + array(1, 26, 33, 38, 39, 40, 55, 56, 57,), + array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 25, 29, 31, 32,), + array(14, 17, 49, 51, 54,), + array(5, 12, 13, 14, 16, 19, 20, 25, 29, 31, 32, 58, 59,), + array(1, 21, 38, 39, 40, 55, 56, 57,), + array(1, 11, 38, 39, 40, 55, 56, 57,), + array(1, 11, 38, 39, 40, 55, 56, 57,), + array(1, 27, 38, 39, 40, 55, 56, 57,), + array(1, 37, 38, 39, 40, 55, 56, 57,), + array(1, 38, 39, 40, 53, 55, 56, 57,), array(1, 2, 38, 39, 40, 55, 56, 57,), + array(1, 38, 39, 40, 55, 56, 57, 59,), + array(1, 37, 38, 39, 40, 55, 56, 57,), + array(1, 11, 38, 39, 40, 55, 56, 57,), + array(1, 11, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), + array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), + array(1, 11, 18, 26, 33, 36, 48,), array(1, 38, 39, 40, 55, 56, 57,), + array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), + array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), + array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), + array(1, 38, 39, 40, 55, 56, 57,), array(1, 38, 39, 40, 55, 56, 57,), + array(38, 39, 40, 55, 56, 57,), array(1, 11, 22, 26, 33, 41,), + array(38, 39, 40, 55, 56, 57,), array(1, 11, 22, 26, 33, 41,), + array(14, 17, 51, 54,), array(1, 11, 26, 33,), array(1, 26, 33,), + array(14, 36, 54,), + array(5, 12, 13, 14, 16, 19, 20, 25, 29, 31, 32, 58, 59,), + array(12, 13, 17, 26, 28, 33,), array(12, 13, 17, 26, 28, 33,), + array(12, 13, 17, 26, 33,), array(12, 13, 17, 26, 33,), + array(1, 11, 26, 33,), array(1, 11, 26, 33,), array(1, 26, 33,), + array(1, 26, 33,), array(18, 46, 52,), array(14, 36, 54,), + array(14, 36, 54,), array(1, 26, 33,), array(1, 2,), + array(1, 11, 26, 27, 33,), array(1, 11, 26, 33,), array(12, 13, 17, 50,), + array(13, 14, 17, 54,), array(1, 11, 26, 33,), array(8, 9, 10,), + array(12, 13, 17,), array(15, 18, 48,), array(12, 13, 17,), + array(15, 18, 48,), array(26, 33,), array(14, 54,), array(18, 48,), + array(14, 17,), array(26, 33,), array(1, 18,), array(1, 53,), + array(26, 33,), array(1, 11,), array(1, 28,), array(14, 17,), array(1,), + array(18,), array(1,), array(1,), array(1,), array(1,), array(1,), + array(18,), array(1,), array(1,), array(), + array(2, 12, 13, 15, 17, 18, 46, 48, 50, 52,), + array(2, 12, 13, 17, 18, 46, 48, 50, 52, 53,), + array(2, 12, 13, 15, 17, 18, 46, 48, 50, 52,), + array(2, 12, 13, 17, 18, 46, 48, 50, 52,), + array(2, 12, 13, 17, 18, 46, 48, 50, 52,), + array(12, 13, 17, 18, 46, 48, 50, 52,), array(13, 14, 17, 34, 54,), + array(12, 13, 17, 50,), array(15, 46, 52,), array(12, 13, 17,), + array(26, 33,), array(46, 52,), array(14, 54,), array(14, 54,), + array(26, 33,), array(26, 33,), array(46, 52,), array(46, 52,), + array(26, 33,), array(46, 52,), array(26, 33,), array(26, 33,), + array(26, 33,), array(26, 33,), array(26, 33,), array(26, 33,), + array(15, 22,), array(26, 33,), array(46, 52,), array(26, 33,), + array(26, 33,), array(26, 33,), array(26, 33,), array(14, 54,), + array(46, 52,), array(26, 33,), array(26, 33,), array(26, 33,), + array(46, 52,), array(46, 52,), array(46, 52,), array(13, 36,), + array(46, 52,), array(26, 33,), array(26, 33,), array(26, 33,), + array(14, 54,), array(26, 33,), array(36,), array(1,), array(1,), array(2,), + array(9,), array(1,), array(18,), array(18,), array(18,), array(1,), + array(2,), array(1,), array(), array(), array(), array(), array(), + array(1, 2, 36, 38, 39, 40, 48, 55, 56, 57,), + array(11, 21, 23, 26, 33, 35, 37, 46,), array(11, 15, 26, 33, 36, 48,), + array(12, 13, 17, 50,), array(36, 46, 48, 53,), array(22, 41, 53,), + array(22, 41, 59,), array(28, 36, 48,), array(35, 37,), array(36, 48,), + array(17, 50,), array(46, 53,), array(15, 46,), array(35, 37,), + array(35, 53,), array(36, 48,), array(36, 48,), array(22, 41,), + array(21, 35,), array(35, 37,), array(53,), array(53,), array(17,), + array(36,), array(17,), array(34,), array(51,), array(22,), array(37,), + array(15,), array(23,), array(11,), array(5,), array(17,), array(17,), + array(17,), array(46,), array(17,), array(17,), array(51,), array(34,), + array(17,), array(42,), array(17,), array(17,), array(36,), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(), array(), array(), + array(), array(), array(), array(), array(), array(),); + + static public $yy_default = array(341, 518, 498, 533, 533, 498, 498, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 401, 533, 377, 401, + 401, 401, 368, 338, 533, 533, 533, 533, 533, 406, 533, 533, 533, 533, 533, 533, + 533, 520, 521, 422, 440, 382, 496, 406, 412, 497, 519, 408, 413, 403, 429, 430, + 428, 430, 533, 415, 401, 533, 533, 401, 401, 401, 401, 447, 421, 401, 401, 510, + 533, 533, 401, 391, 415, 415, 463, 533, 415, 533, 463, 453, 463, 453, 379, 533, + 453, 533, 401, 395, 415, 401, 415, 415, 533, 425, 453, 415, 433, 431, 397, 418, + 507, 432, 419, 505, 452, 452, 452, 452, 452, 452, 533, 465, 479, 463, 386, 456, + 533, 533, 388, 387, 461, 457, 364, 459, 384, 360, 385, 361, 380, 378, 533, 363, + 458, 365, 369, 381, 366, 533, 490, 376, 375, 372, 491, 460, 489, 463, 488, 370, + 374, 390, 533, 389, 463, 421, 396, 499, 354, 398, 511, 508, 485, 392, 500, 447, + 504, 504, 463, 504, 463, 440, 436, 440, 464, 440, 430, 430, 440, 533, 440, 533, + 436, 436, 533, 533, 533, 448, 430, 533, 533, 533, 443, 533, 509, 533, 533, 533, + 430, 533, 533, 409, 533, 346, 533, 533, 533, 436, 533, 533, 533, 438, 533, 442, + 533, 533, 479, 451, 503, 394, 486, 383, 483, 400, 410, 481, 482, 402, 450, 502, + 514, 513, 479, 501, 420, 427, 426, 339, 487, 480, 350, 351, 352, 353, 349, 347, + 344, 345, 455, 348, 355, 356, 358, 399, 484, 371, 357, 340, 454, 342, 414, 343, + 434, 531, 530, 466, 467, 468, 462, 417, 526, 441, 416, 528, 443, 444, 516, 517, + 446, 515, 424, 423, 445, 495, 532, 525, 492, 475, 493, 393, 522, 477, 437, 494, + 469, 506, 435, 442, 512, 523, 439, 470, 529, 473, 527, 476, 474, 478, 472, 524, + 471, 449,); + + const YYNOCODE = 105; + const YYSTACKDEPTH = 500; - const YYNSTATE = 358; - const YYNRULE = 200; - const YYERRORSYMBOL = 82; + + const YYNSTATE = 338; + + const YYNRULE = 195; + + const YYERRORSYMBOL = 60; + const YYERRSYMDT = 'yy0'; + const YYFALLBACK = 0; + public static $yyFallback = array(); public function Trace($TraceFILE, $zTracePrompt) @@ -2171,447 +899,134 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php } public $yyTraceFILE; + public $yyTracePrompt; + public $yyidx; /* Index of top element in stack */ public $yyerrcnt; /* Shifts left before out of the error */ public $yystack = array(); /* The parser's stack */ - public $yyTokenName = array( - '$', 'VERT', 'COLON', 'RDEL', - 'COMMENT', 'PHPSTARTTAG', 'PHPENDTAG', 'PHPENDSCRIPT', - 'ASPSTARTTAG', 'ASPENDTAG', 'XMLTAG', 'TEXT', - 'STRIPON', 'STRIPOFF', 'BLOCKSOURCE', 'LITERALSTART', - 'LITERALEND', 'LITERAL', 'LDEL', 'DOLLAR', - 'ID', 'EQUAL', 'PTR', 'LDELIF', - 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO', - 'STEP', 'LDELFOREACH', 'SPACE', 'AS', - 'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', 'LDELSLASH', - 'ATTR', 'INTEGER', 'COMMA', 'OPENP', - 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM', - 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', - 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', - 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', - 'QMARK', 'NOT', 'TYPECAST', 'HEX', - 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT', - 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS', - 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL', - 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD', - 'LAND', 'LOR', 'LXOR', 'QUOTE', - 'BACKTICK', 'DOLLARID', 'error', 'start', - 'template', 'template_element', 'smartytag', 'literal', - 'literal_elements', 'literal_element', 'value', 'modifierlist', - 'attributes', 'expr', 'varindexed', 'statement', - 'statements', 'optspace', 'varvar', 'foraction', - 'modparameters', 'attribute', 'ternary', 'array', - 'ifcond', 'lop', 'variable', 'function', - 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex', - 'indexdef', 'varvarele', 'objectchain', 'objectelement', - 'method', 'params', 'modifier', 'modparameter', - 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent', - ); - - public static $yyRuleName = array( - /* 0 */ - "start ::= template", - /* 1 */ - "template ::= template_element", - /* 2 */ - "template ::= template template_element", - /* 3 */ - "template ::=", - /* 4 */ - "template_element ::= smartytag RDEL", - /* 5 */ - "template_element ::= COMMENT", - /* 6 */ - "template_element ::= literal", - /* 7 */ - "template_element ::= PHPSTARTTAG", - /* 8 */ - "template_element ::= PHPENDTAG", - /* 9 */ - "template_element ::= PHPENDSCRIPT", - /* 10 */ - "template_element ::= ASPSTARTTAG", - /* 11 */ - "template_element ::= ASPENDTAG", - /* 12 */ - "template_element ::= XMLTAG", - /* 13 */ - "template_element ::= TEXT", - /* 14 */ - "template_element ::= STRIPON", - /* 15 */ - "template_element ::= STRIPOFF", - /* 16 */ - "template_element ::= BLOCKSOURCE", - /* 17 */ - "literal ::= LITERALSTART LITERALEND", - /* 18 */ - "literal ::= LITERALSTART literal_elements LITERALEND", - /* 19 */ - "literal_elements ::= literal_elements literal_element", - /* 20 */ - "literal_elements ::=", - /* 21 */ - "literal_element ::= literal", - /* 22 */ - "literal_element ::= LITERAL", - /* 23 */ - "smartytag ::= LDEL value", - /* 24 */ - "smartytag ::= LDEL value modifierlist attributes", - /* 25 */ - "smartytag ::= LDEL value attributes", - /* 26 */ - "smartytag ::= LDEL expr modifierlist attributes", - /* 27 */ - "smartytag ::= LDEL expr attributes", - /* 28 */ - "smartytag ::= LDEL DOLLAR ID EQUAL value", - /* 29 */ - "smartytag ::= LDEL DOLLAR ID EQUAL expr", - /* 30 */ - "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes", - /* 31 */ - "smartytag ::= LDEL varindexed EQUAL expr attributes", - /* 32 */ - "smartytag ::= LDEL ID attributes", - /* 33 */ - "smartytag ::= LDEL ID", - /* 34 */ - "smartytag ::= LDEL ID PTR ID attributes", - /* 35 */ - "smartytag ::= LDEL ID modifierlist attributes", - /* 36 */ - "smartytag ::= LDEL ID PTR ID modifierlist attributes", - /* 37 */ - "smartytag ::= LDELIF expr", - /* 38 */ - "smartytag ::= LDELIF expr attributes", - /* 39 */ - "smartytag ::= LDELIF statement", - /* 40 */ - "smartytag ::= LDELIF statement attributes", - /* 41 */ - "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes", - /* 42 */ - "foraction ::= EQUAL expr", - /* 43 */ - "foraction ::= INCDEC", - /* 44 */ - "smartytag ::= LDELFOR statement TO expr attributes", - /* 45 */ - "smartytag ::= LDELFOR statement TO expr STEP expr attributes", - /* 46 */ - "smartytag ::= LDELFOREACH attributes", - /* 47 */ - "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes", - /* 48 */ - "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes", - /* 49 */ - "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes", - /* 50 */ - "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes", - /* 51 */ - "smartytag ::= LDELSETFILTER ID modparameters", - /* 52 */ - "smartytag ::= LDELSETFILTER ID modparameters modifierlist", - /* 53 */ - "smartytag ::= LDEL SMARTYBLOCKCHILDPARENT", - /* 54 */ - "smartytag ::= LDELSLASH ID", - /* 55 */ - "smartytag ::= LDELSLASH ID modifierlist", - /* 56 */ - "smartytag ::= LDELSLASH ID PTR ID", - /* 57 */ - "smartytag ::= LDELSLASH ID PTR ID modifierlist", - /* 58 */ - "attributes ::= attributes attribute", - /* 59 */ - "attributes ::= attribute", - /* 60 */ - "attributes ::=", - /* 61 */ - "attribute ::= SPACE ID EQUAL ID", - /* 62 */ - "attribute ::= ATTR expr", - /* 63 */ - "attribute ::= ATTR value", - /* 64 */ - "attribute ::= SPACE ID", - /* 65 */ - "attribute ::= SPACE expr", - /* 66 */ - "attribute ::= SPACE value", - /* 67 */ - "attribute ::= SPACE INTEGER EQUAL expr", - /* 68 */ - "statements ::= statement", - /* 69 */ - "statements ::= statements COMMA statement", - /* 70 */ - "statement ::= DOLLAR varvar EQUAL expr", - /* 71 */ - "statement ::= varindexed EQUAL expr", - /* 72 */ - "statement ::= OPENP statement CLOSEP", - /* 73 */ - "expr ::= value", - /* 74 */ - "expr ::= ternary", - /* 75 */ - "expr ::= DOLLAR ID COLON ID", - /* 76 */ - "expr ::= expr MATH value", - /* 77 */ - "expr ::= expr UNIMATH value", - /* 78 */ - "expr ::= expr ANDSYM value", - /* 79 */ - "expr ::= array", - /* 80 */ - "expr ::= expr modifierlist", - /* 81 */ - "expr ::= expr ifcond expr", - /* 82 */ - "expr ::= expr ISIN array", - /* 83 */ - "expr ::= expr ISIN value", - /* 84 */ - "expr ::= expr lop expr", - /* 85 */ - "expr ::= expr ISDIVBY expr", - /* 86 */ - "expr ::= expr ISNOTDIVBY expr", - /* 87 */ - "expr ::= expr ISEVEN", - /* 88 */ - "expr ::= expr ISNOTEVEN", - /* 89 */ - "expr ::= expr ISEVENBY expr", - /* 90 */ - "expr ::= expr ISNOTEVENBY expr", - /* 91 */ - "expr ::= expr ISODD", - /* 92 */ - "expr ::= expr ISNOTODD", - /* 93 */ - "expr ::= expr ISODDBY expr", - /* 94 */ - "expr ::= expr ISNOTODDBY expr", - /* 95 */ - "expr ::= value INSTANCEOF ID", - /* 96 */ - "expr ::= value INSTANCEOF value", - /* 97 */ - "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", - /* 98 */ - "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", - /* 99 */ - "value ::= variable", - /* 100 */ - "value ::= UNIMATH value", - /* 101 */ - "value ::= NOT value", - /* 102 */ - "value ::= TYPECAST value", - /* 103 */ - "value ::= variable INCDEC", - /* 104 */ - "value ::= HEX", - /* 105 */ - "value ::= INTEGER", - /* 106 */ - "value ::= INTEGER DOT INTEGER", - /* 107 */ - "value ::= INTEGER DOT", - /* 108 */ - "value ::= DOT INTEGER", - /* 109 */ - "value ::= ID", - /* 110 */ - "value ::= function", - /* 111 */ - "value ::= OPENP expr CLOSEP", - /* 112 */ - "value ::= SINGLEQUOTESTRING", - /* 113 */ - "value ::= doublequoted_with_quotes", - /* 114 */ - "value ::= ID DOUBLECOLON static_class_access", - /* 115 */ - "value ::= varindexed DOUBLECOLON static_class_access", - /* 116 */ - "value ::= smartytag RDEL", - /* 117 */ - "value ::= value modifierlist", - /* 118 */ - "variable ::= varindexed", - /* 119 */ - "variable ::= DOLLAR varvar AT ID", - /* 120 */ - "variable ::= object", - /* 121 */ - "variable ::= HATCH ID HATCH", - /* 122 */ - "variable ::= HATCH ID HATCH arrayindex", - /* 123 */ - "variable ::= HATCH variable HATCH", - /* 124 */ - "variable ::= HATCH variable HATCH arrayindex", - /* 125 */ - "varindexed ::= DOLLAR varvar arrayindex", - /* 126 */ - "arrayindex ::= arrayindex indexdef", - /* 127 */ - "arrayindex ::=", - /* 128 */ - "indexdef ::= DOT DOLLAR varvar", - /* 129 */ - "indexdef ::= DOT DOLLAR varvar AT ID", - /* 130 */ - "indexdef ::= DOT ID", - /* 131 */ - "indexdef ::= DOT INTEGER", - /* 132 */ - "indexdef ::= DOT LDEL expr RDEL", - /* 133 */ - "indexdef ::= OPENB ID CLOSEB", - /* 134 */ - "indexdef ::= OPENB ID DOT ID CLOSEB", - /* 135 */ - "indexdef ::= OPENB expr CLOSEB", - /* 136 */ - "indexdef ::= OPENB CLOSEB", - /* 137 */ - "varvar ::= varvarele", - /* 138 */ - "varvar ::= varvar varvarele", - /* 139 */ - "varvarele ::= ID", - /* 140 */ - "varvarele ::= LDEL expr RDEL", - /* 141 */ - "object ::= varindexed objectchain", - /* 142 */ - "objectchain ::= objectelement", - /* 143 */ - "objectchain ::= objectchain objectelement", - /* 144 */ - "objectelement ::= PTR ID arrayindex", - /* 145 */ - "objectelement ::= PTR DOLLAR varvar arrayindex", - /* 146 */ - "objectelement ::= PTR LDEL expr RDEL arrayindex", - /* 147 */ - "objectelement ::= PTR ID LDEL expr RDEL arrayindex", - /* 148 */ - "objectelement ::= PTR method", - /* 149 */ - "function ::= ID OPENP params CLOSEP", - /* 150 */ - "method ::= ID OPENP params CLOSEP", - /* 151 */ - "method ::= DOLLAR ID OPENP params CLOSEP", - /* 152 */ - "params ::= params COMMA expr", - /* 153 */ - "params ::= expr", - /* 154 */ - "params ::=", - /* 155 */ - "modifierlist ::= modifierlist modifier modparameters", - /* 156 */ - "modifierlist ::= modifier modparameters", - /* 157 */ - "modifier ::= VERT AT ID", - /* 158 */ - "modifier ::= VERT ID", - /* 159 */ - "modparameters ::= modparameters modparameter", - /* 160 */ - "modparameters ::=", - /* 161 */ - "modparameter ::= COLON value", - /* 162 */ - "modparameter ::= COLON array", - /* 163 */ - "static_class_access ::= method", - /* 164 */ - "static_class_access ::= method objectchain", - /* 165 */ - "static_class_access ::= ID", - /* 166 */ - "static_class_access ::= DOLLAR ID arrayindex", - /* 167 */ - "static_class_access ::= DOLLAR ID arrayindex objectchain", - /* 168 */ - "ifcond ::= EQUALS", - /* 169 */ - "ifcond ::= NOTEQUALS", - /* 170 */ - "ifcond ::= GREATERTHAN", - /* 171 */ - "ifcond ::= LESSTHAN", - /* 172 */ - "ifcond ::= GREATEREQUAL", - /* 173 */ - "ifcond ::= LESSEQUAL", - /* 174 */ - "ifcond ::= IDENTITY", - /* 175 */ - "ifcond ::= NONEIDENTITY", - /* 176 */ - "ifcond ::= MOD", - /* 177 */ - "lop ::= LAND", - /* 178 */ - "lop ::= LOR", - /* 179 */ - "lop ::= LXOR", - /* 180 */ - "array ::= OPENB arrayelements CLOSEB", - /* 181 */ - "arrayelements ::= arrayelement", - /* 182 */ - "arrayelements ::= arrayelements COMMA arrayelement", - /* 183 */ - "arrayelements ::=", - /* 184 */ - "arrayelement ::= value APTR expr", - /* 185 */ - "arrayelement ::= ID APTR expr", - /* 186 */ - "arrayelement ::= expr", - /* 187 */ - "doublequoted_with_quotes ::= QUOTE QUOTE", - /* 188 */ - "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", - /* 189 */ - "doublequoted ::= doublequoted doublequotedcontent", - /* 190 */ - "doublequoted ::= doublequotedcontent", - /* 191 */ - "doublequotedcontent ::= BACKTICK variable BACKTICK", - /* 192 */ - "doublequotedcontent ::= BACKTICK expr BACKTICK", - /* 193 */ - "doublequotedcontent ::= DOLLARID", - /* 194 */ - "doublequotedcontent ::= LDEL variable RDEL", - /* 195 */ - "doublequotedcontent ::= LDEL expr RDEL", - /* 196 */ - "doublequotedcontent ::= smartytag RDEL", - /* 197 */ - "doublequotedcontent ::= TEXT", - /* 198 */ - "optspace ::= SPACE", - /* 199 */ - "optspace ::=", - ); + public $yyTokenName = array('$', 'VERT', 'COLON', 'PHP', 'NOCACHE', 'TEXT', 'STRIPON', 'STRIPOFF', 'LITERALSTART', + 'LITERALEND', 'LITERAL', 'RDEL', 'SIMPELOUTPUT', 'LDEL', 'DOLLARID', 'EQUAL', + 'SIMPLETAG', 'ID', 'PTR', 'LDELIF', 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO', 'STEP', + 'LDELFOREACH', 'SPACE', 'AS', 'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', + 'CLOSETAG', 'LDELSLASH', 'ATTR', 'INTEGER', 'COMMA', 'OPENP', 'CLOSEP', 'MATH', + 'UNIMATH', 'ISIN', 'INSTANCEOF', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT', + 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB', 'CLOSEB', + 'DOLLAR', 'LOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE', 'BACKTICK', 'error', 'start', + 'template', 'template_element', 'smartytag', 'literal', 'text_content', + 'literal_elements', 'literal_element', 'tag', 'variable', 'modifierlist', 'attributes', + 'value', 'expr', 'varindexed', 'statement', 'statements', 'foraction', 'varvar', + 'modparameters', 'attribute', 'ternary', 'array', 'lop', 'scond', 'ns1', 'function', + 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex', 'indexdef', + 'varvarele', 'objectchain', 'objectelement', 'method', 'params', 'modifier', + 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted', + 'doublequotedcontent',); + + public static $yyRuleName = array('start ::= template', 'template ::= template_element', + 'template ::= template template_element', 'template ::=', + 'template_element ::= smartytag', 'template_element ::= literal', + 'template_element ::= PHP', 'template_element ::= NOCACHE', + 'template_element ::= text_content', 'text_content ::= TEXT', + 'text_content ::= text_content TEXT', 'template_element ::= STRIPON', + 'template_element ::= STRIPOFF', 'literal ::= LITERALSTART LITERALEND', + 'literal ::= LITERALSTART literal_elements LITERALEND', + 'literal_elements ::= literal_elements literal_element', 'literal_elements ::=', + 'literal_element ::= literal', 'literal_element ::= LITERAL', + 'smartytag ::= tag RDEL', 'smartytag ::= SIMPELOUTPUT', 'tag ::= LDEL variable', + 'tag ::= LDEL variable modifierlist attributes', + 'tag ::= LDEL variable attributes', 'tag ::= LDEL value', + 'tag ::= LDEL value modifierlist attributes', 'tag ::= LDEL value attributes', + 'tag ::= LDEL expr modifierlist attributes', 'tag ::= LDEL expr attributes', + 'tag ::= LDEL DOLLARID EQUAL value', 'tag ::= LDEL DOLLARID EQUAL expr', + 'tag ::= LDEL DOLLARID EQUAL expr attributes', + 'tag ::= LDEL varindexed EQUAL expr attributes', 'smartytag ::= SIMPLETAG', + 'tag ::= LDEL ID attributes', 'tag ::= LDEL ID', + 'tag ::= LDEL ID modifierlist attributes', 'tag ::= LDEL ID PTR ID attributes', + 'tag ::= LDEL ID PTR ID modifierlist attributes', 'tag ::= LDELIF expr', + 'tag ::= LDELIF expr attributes', 'tag ::= LDELIF statement', + 'tag ::= LDELIF statement attributes', + 'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes', + 'foraction ::= EQUAL expr', 'foraction ::= INCDEC', + 'tag ::= LDELFOR statement TO expr attributes', + 'tag ::= LDELFOR statement TO expr STEP expr attributes', + 'tag ::= LDELFOREACH attributes', + 'tag ::= LDELFOREACH SPACE value AS varvar attributes', + 'tag ::= LDELFOREACH SPACE value AS varvar APTR varvar attributes', + 'tag ::= LDELFOREACH SPACE expr AS varvar attributes', + 'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes', + 'tag ::= LDELSETFILTER ID modparameters', + 'tag ::= LDELSETFILTER ID modparameters modifierlist', + 'tag ::= LDEL SMARTYBLOCKCHILDPARENT', 'smartytag ::= CLOSETAG', + 'tag ::= LDELSLASH ID', 'tag ::= LDELSLASH ID modifierlist', + 'tag ::= LDELSLASH ID PTR ID', 'tag ::= LDELSLASH ID PTR ID modifierlist', + 'attributes ::= attributes attribute', 'attributes ::= attribute', + 'attributes ::=', 'attribute ::= SPACE ID EQUAL ID', 'attribute ::= ATTR expr', + 'attribute ::= ATTR value', 'attribute ::= SPACE ID', 'attribute ::= SPACE expr', + 'attribute ::= SPACE value', 'attribute ::= SPACE INTEGER EQUAL expr', + 'statements ::= statement', 'statements ::= statements COMMA statement', + 'statement ::= DOLLARID EQUAL INTEGER', 'statement ::= DOLLARID EQUAL expr', + 'statement ::= varindexed EQUAL expr', 'statement ::= OPENP statement CLOSEP', + 'expr ::= value', 'expr ::= ternary', 'expr ::= DOLLARID COLON ID', + 'expr ::= expr MATH value', 'expr ::= expr UNIMATH value', 'expr ::= array', + 'expr ::= expr modifierlist', 'expr ::= expr lop expr', 'expr ::= expr scond', + 'expr ::= expr ISIN array', 'expr ::= expr ISIN value', + 'expr ::= variable INSTANCEOF ns1', 'expr ::= variable INSTANCEOF variable', + 'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr', + 'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr', 'value ::= variable', + 'value ::= UNIMATH value', 'value ::= NOT value', 'value ::= TYPECAST value', + 'value ::= variable INCDEC', 'value ::= HEX', 'value ::= INTEGER', + 'value ::= INTEGER DOT INTEGER', 'value ::= INTEGER DOT', 'value ::= DOT INTEGER', + 'value ::= ID', 'value ::= function', 'value ::= OPENP expr CLOSEP', + 'value ::= SINGLEQUOTESTRING', 'value ::= doublequoted_with_quotes', + 'value ::= varindexed DOUBLECOLON static_class_access', 'value ::= smartytag', + 'value ::= value modifierlist', 'value ::= NAMESPACE', + 'value ::= ns1 DOUBLECOLON static_class_access', 'ns1 ::= ID', + 'ns1 ::= NAMESPACE', 'variable ::= DOLLARID', 'variable ::= varindexed', + 'variable ::= varvar AT ID', 'variable ::= object', 'variable ::= HATCH ID HATCH', + 'variable ::= HATCH ID HATCH arrayindex', 'variable ::= HATCH variable HATCH', + 'variable ::= HATCH variable HATCH arrayindex', + 'varindexed ::= DOLLARID arrayindex', 'varindexed ::= varvar arrayindex', + 'arrayindex ::= arrayindex indexdef', 'arrayindex ::=', + 'indexdef ::= DOT DOLLARID', 'indexdef ::= DOT varvar', + 'indexdef ::= DOT varvar AT ID', 'indexdef ::= DOT ID', + 'indexdef ::= DOT INTEGER', 'indexdef ::= DOT LDEL expr RDEL', + 'indexdef ::= OPENB ID CLOSEB', 'indexdef ::= OPENB ID DOT ID CLOSEB', + 'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB', + 'indexdef ::= OPENB INTEGER CLOSEB', 'indexdef ::= OPENB DOLLARID CLOSEB', + 'indexdef ::= OPENB variable CLOSEB', 'indexdef ::= OPENB value CLOSEB', + 'indexdef ::= OPENB expr CLOSEB', 'indexdef ::= OPENB CLOSEB', + 'varvar ::= DOLLARID', 'varvar ::= DOLLAR', 'varvar ::= varvar varvarele', + 'varvarele ::= ID', 'varvarele ::= SIMPELOUTPUT', 'varvarele ::= LDEL expr RDEL', + 'object ::= varindexed objectchain', 'objectchain ::= objectelement', + 'objectchain ::= objectchain objectelement', + 'objectelement ::= PTR ID arrayindex', 'objectelement ::= PTR varvar arrayindex', + 'objectelement ::= PTR LDEL expr RDEL arrayindex', + 'objectelement ::= PTR ID LDEL expr RDEL arrayindex', + 'objectelement ::= PTR method', 'function ::= ns1 OPENP params CLOSEP', + 'method ::= ID OPENP params CLOSEP', 'method ::= DOLLARID OPENP params CLOSEP', + 'params ::= params COMMA expr', 'params ::= expr', 'params ::=', + 'modifierlist ::= modifierlist modifier modparameters', + 'modifierlist ::= modifier modparameters', 'modifier ::= VERT AT ID', + 'modifier ::= VERT ID', 'modparameters ::= modparameters modparameter', + 'modparameters ::=', 'modparameter ::= COLON value', + 'modparameter ::= COLON array', 'static_class_access ::= method', + 'static_class_access ::= method objectchain', 'static_class_access ::= ID', + 'static_class_access ::= DOLLARID arrayindex', + 'static_class_access ::= DOLLARID arrayindex objectchain', 'lop ::= LOGOP', + 'lop ::= TLOGOP', 'scond ::= SINGLECOND', 'array ::= OPENB arrayelements CLOSEB', + 'arrayelements ::= arrayelement', + 'arrayelements ::= arrayelements COMMA arrayelement', 'arrayelements ::=', + 'arrayelement ::= value APTR expr', 'arrayelement ::= ID APTR expr', + 'arrayelement ::= expr', 'doublequoted_with_quotes ::= QUOTE QUOTE', + 'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE', + 'doublequoted ::= doublequoted doublequotedcontent', + 'doublequoted ::= doublequotedcontent', + 'doublequotedcontent ::= BACKTICK variable BACKTICK', + 'doublequotedcontent ::= BACKTICK expr BACKTICK', + 'doublequotedcontent ::= DOLLARID', 'doublequotedcontent ::= LDEL variable RDEL', + 'doublequotedcontent ::= LDEL expr RDEL', 'doublequotedcontent ::= smartytag', + 'doublequotedcontent ::= TEXT',); public function tokenName($tokenType) { @@ -2635,14 +1050,12 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php public function yy_pop_parser_stack() { - if (!count($this->yystack)) { + if (empty($this->yystack)) { return; } $yytos = array_pop($this->yystack); if ($this->yyTraceFILE && $this->yyidx >= 0) { - fwrite($this->yyTraceFILE, - $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . - "\n"); + fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . "\n"); } $yymajor = $yytos->major; self::yy_destructor($yymajor, $yytos->minor); @@ -2663,10 +1076,18 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php public function yy_get_expected_tokens($token) { + static $res3 = array(); + static $res4 = array(); $state = $this->yystack[$this->yyidx]->stateno; $expected = self::$yyExpectedTokens[$state]; - if (in_array($token, self::$yyExpectedTokens[$state], true)) { - return $expected; + if (isset($res3[$state][$token])) { + if ($res3[$state][$token]) { + return $expected; + } + } else { + if ($res3[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) { + return $expected; + } } $stack = $this->yystack; $yyidx = $this->yyidx; @@ -2684,18 +1105,25 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php return array_unique($expected); } $yyruleno = $yyact - self::YYNSTATE; - $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno]['lhs']); + $this->yyidx -= self::$yyRuleInfo[$yyruleno][1]; + $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, + self::$yyRuleInfo[$yyruleno][0]); if (isset(self::$yyExpectedTokens[$nextstate])) { $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]); - if (in_array($token, - self::$yyExpectedTokens[$nextstate], true)) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - - return array_unique($expected); + if (isset($res4[$nextstate][$token])) { + if ($res4[$nextstate][$token]) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return array_unique($expected); + } + } else { + if ($res4[$nextstate][$token] = + in_array($token, self::$yyExpectedTokens[$nextstate], true) + ) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return array_unique($expected); + } } } if ($nextstate < self::YYNSTATE) { @@ -2703,7 +1131,7 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php $this->yyidx ++; $x = new TP_yyStackEntry; $x->stateno = $nextstate; - $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; + $x->major = self::$yyRuleInfo[$yyruleno][0]; $this->yystack[$this->yyidx] = $x; continue 2; } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { @@ -2733,12 +1161,20 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php public function yy_is_expected_token($token) { + static $res = array(); + static $res2 = array(); if ($token === 0) { return true; // 0 is not part of this } $state = $this->yystack[$this->yyidx]->stateno; - if (in_array($token, self::$yyExpectedTokens[$state], true)) { - return true; + if (isset($res[$state][$token])) { + if ($res[$state][$token]) { + return true; + } + } else { + if ($res[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) { + return true; + } } $stack = $this->yystack; $yyidx = $this->yyidx; @@ -2756,24 +1192,30 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php return true; } $yyruleno = $yyact - self::YYNSTATE; - $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs']; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno]['lhs']); - if (isset(self::$yyExpectedTokens[$nextstate]) && - in_array($token, self::$yyExpectedTokens[$nextstate], true) - ) { - $this->yyidx = $yyidx; - $this->yystack = $stack; - - return true; + $this->yyidx -= self::$yyRuleInfo[$yyruleno][1]; + $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, + self::$yyRuleInfo[$yyruleno][0]); + if (isset($res2[$nextstate][$token])) { + if ($res2[$nextstate][$token]) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return true; + } + } else { + if ($res2[$nextstate][$token] = (isset(self::$yyExpectedTokens[$nextstate]) && + in_array($token, self::$yyExpectedTokens[$nextstate], true)) + ) { + $this->yyidx = $yyidx; + $this->yystack = $stack; + return true; + } } if ($nextstate < self::YYNSTATE) { // we need to shift a non-terminal $this->yyidx ++; $x = new TP_yyStackEntry; $x->stateno = $nextstate; - $x->major = self::$yyRuleInfo[$yyruleno]['lhs']; + $x->major = self::$yyRuleInfo[$yyruleno][0]; $this->yystack[$this->yyidx] = $x; continue 2; } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) { @@ -2822,16 +1264,14 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php return self::YY_NO_ACTION; } $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead - ) { - if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) - && ($iFallback = self::$yyFallback[$iLookAhead]) != 0 + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) { + if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) && + ($iFallback = self::$yyFallback[$iLookAhead]) != 0 ) { if ($this->yyTraceFILE) { - fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " . - $this->yyTokenName[$iLookAhead] . " => " . - $this->yyTokenName[$iFallback] . "\n"); + fwrite($this->yyTraceFILE, + $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[$iLookAhead] . " => " . + $this->yyTokenName[$iFallback] . "\n"); } return $this->yy_find_shift_action($iFallback); @@ -2858,9 +1298,7 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php return self::YY_NO_ACTION; } $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead - ) { + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) { return self::$yy_default[$stateno]; } else { return self::$yy_action[$i]; @@ -2878,11 +1316,10 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php while ($this->yyidx >= 0) { $this->yy_pop_parser_stack(); } - #line 82 "smarty_internal_templateparser.y" + #line 214 "../smarty/lexer/smarty_internal_templateparser.y" $this->internalError = true; $this->compiler->trigger_template_error("Stack overflow in template parser"); - #line 1721 "smarty_internal_templateparser.php" return; } @@ -2890,805 +1327,538 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php $yytos->stateno = $yyNewState; $yytos->major = $yyMajor; $yytos->minor = $yypMinor; - array_push($this->yystack, $yytos); + $this->yystack[] = $yytos; if ($this->yyTraceFILE && $this->yyidx > 0) { - fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, - $yyNewState); + fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState); fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt); for ($i = 1; $i <= $this->yyidx; $i ++) { - fprintf($this->yyTraceFILE, " %s", - $this->yyTokenName[$this->yystack[$i]->major]); + fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[$this->yystack[$i]->major]); } fwrite($this->yyTraceFILE, "\n"); } } - public static $yyRuleInfo = array( - array('lhs' => 83, 'rhs' => 1), - array('lhs' => 84, 'rhs' => 1), - array('lhs' => 84, 'rhs' => 2), - array('lhs' => 84, 'rhs' => 0), - array('lhs' => 85, 'rhs' => 2), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 85, 'rhs' => 1), - array('lhs' => 87, 'rhs' => 2), - array('lhs' => 87, 'rhs' => 3), - array('lhs' => 88, 'rhs' => 2), - array('lhs' => 88, 'rhs' => 0), - array('lhs' => 89, 'rhs' => 1), - array('lhs' => 89, 'rhs' => 1), - array('lhs' => 86, 'rhs' => 2), - array('lhs' => 86, 'rhs' => 4), - array('lhs' => 86, 'rhs' => 3), - array('lhs' => 86, 'rhs' => 4), - array('lhs' => 86, 'rhs' => 3), - array('lhs' => 86, 'rhs' => 5), - array('lhs' => 86, 'rhs' => 5), - array('lhs' => 86, 'rhs' => 6), - array('lhs' => 86, 'rhs' => 5), - array('lhs' => 86, 'rhs' => 3), - array('lhs' => 86, 'rhs' => 2), - array('lhs' => 86, 'rhs' => 5), - array('lhs' => 86, 'rhs' => 4), - array('lhs' => 86, 'rhs' => 6), - array('lhs' => 86, 'rhs' => 2), - array('lhs' => 86, 'rhs' => 3), - array('lhs' => 86, 'rhs' => 2), - array('lhs' => 86, 'rhs' => 3), - array('lhs' => 86, 'rhs' => 11), - array('lhs' => 99, 'rhs' => 2), - array('lhs' => 99, 'rhs' => 1), - array('lhs' => 86, 'rhs' => 5), - array('lhs' => 86, 'rhs' => 7), - array('lhs' => 86, 'rhs' => 2), - array('lhs' => 86, 'rhs' => 7), - array('lhs' => 86, 'rhs' => 10), - array('lhs' => 86, 'rhs' => 7), - array('lhs' => 86, 'rhs' => 10), - array('lhs' => 86, 'rhs' => 3), - array('lhs' => 86, 'rhs' => 4), - array('lhs' => 86, 'rhs' => 2), - array('lhs' => 86, 'rhs' => 2), - array('lhs' => 86, 'rhs' => 3), - array('lhs' => 86, 'rhs' => 4), - array('lhs' => 86, 'rhs' => 5), - array('lhs' => 92, 'rhs' => 2), - array('lhs' => 92, 'rhs' => 1), - array('lhs' => 92, 'rhs' => 0), - array('lhs' => 101, 'rhs' => 4), - array('lhs' => 101, 'rhs' => 2), - array('lhs' => 101, 'rhs' => 2), - array('lhs' => 101, 'rhs' => 2), - array('lhs' => 101, 'rhs' => 2), - array('lhs' => 101, 'rhs' => 2), - array('lhs' => 101, 'rhs' => 4), - array('lhs' => 96, 'rhs' => 1), - array('lhs' => 96, 'rhs' => 3), - array('lhs' => 95, 'rhs' => 4), - array('lhs' => 95, 'rhs' => 3), - array('lhs' => 95, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 1), - array('lhs' => 93, 'rhs' => 1), - array('lhs' => 93, 'rhs' => 4), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 1), - array('lhs' => 93, 'rhs' => 2), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 2), - array('lhs' => 93, 'rhs' => 2), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 2), - array('lhs' => 93, 'rhs' => 2), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 93, 'rhs' => 3), - array('lhs' => 102, 'rhs' => 8), - array('lhs' => 102, 'rhs' => 7), - array('lhs' => 90, 'rhs' => 1), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 90, 'rhs' => 1), - array('lhs' => 90, 'rhs' => 1), - array('lhs' => 90, 'rhs' => 3), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 90, 'rhs' => 1), - array('lhs' => 90, 'rhs' => 1), - array('lhs' => 90, 'rhs' => 3), - array('lhs' => 90, 'rhs' => 1), - array('lhs' => 90, 'rhs' => 1), - array('lhs' => 90, 'rhs' => 3), - array('lhs' => 90, 'rhs' => 3), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 90, 'rhs' => 2), - array('lhs' => 106, 'rhs' => 1), - array('lhs' => 106, 'rhs' => 4), - array('lhs' => 106, 'rhs' => 1), - array('lhs' => 106, 'rhs' => 3), - array('lhs' => 106, 'rhs' => 4), - array('lhs' => 106, 'rhs' => 3), - array('lhs' => 106, 'rhs' => 4), - array('lhs' => 94, 'rhs' => 3), - array('lhs' => 111, 'rhs' => 2), - array('lhs' => 111, 'rhs' => 0), - array('lhs' => 112, 'rhs' => 3), - array('lhs' => 112, 'rhs' => 5), - array('lhs' => 112, 'rhs' => 2), - array('lhs' => 112, 'rhs' => 2), - array('lhs' => 112, 'rhs' => 4), - array('lhs' => 112, 'rhs' => 3), - array('lhs' => 112, 'rhs' => 5), - array('lhs' => 112, 'rhs' => 3), - array('lhs' => 112, 'rhs' => 2), - array('lhs' => 98, 'rhs' => 1), - array('lhs' => 98, 'rhs' => 2), - array('lhs' => 113, 'rhs' => 1), - array('lhs' => 113, 'rhs' => 3), - array('lhs' => 110, 'rhs' => 2), - array('lhs' => 114, 'rhs' => 1), - array('lhs' => 114, 'rhs' => 2), - array('lhs' => 115, 'rhs' => 3), - array('lhs' => 115, 'rhs' => 4), - array('lhs' => 115, 'rhs' => 5), - array('lhs' => 115, 'rhs' => 6), - array('lhs' => 115, 'rhs' => 2), - array('lhs' => 107, 'rhs' => 4), - array('lhs' => 116, 'rhs' => 4), - array('lhs' => 116, 'rhs' => 5), - array('lhs' => 117, 'rhs' => 3), - array('lhs' => 117, 'rhs' => 1), - array('lhs' => 117, 'rhs' => 0), - array('lhs' => 91, 'rhs' => 3), - array('lhs' => 91, 'rhs' => 2), - array('lhs' => 118, 'rhs' => 3), - array('lhs' => 118, 'rhs' => 2), - array('lhs' => 100, 'rhs' => 2), - array('lhs' => 100, 'rhs' => 0), - array('lhs' => 119, 'rhs' => 2), - array('lhs' => 119, 'rhs' => 2), - array('lhs' => 109, 'rhs' => 1), - array('lhs' => 109, 'rhs' => 2), - array('lhs' => 109, 'rhs' => 1), - array('lhs' => 109, 'rhs' => 3), - array('lhs' => 109, 'rhs' => 4), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 104, 'rhs' => 1), - array('lhs' => 105, 'rhs' => 1), - array('lhs' => 105, 'rhs' => 1), - array('lhs' => 105, 'rhs' => 1), - array('lhs' => 103, 'rhs' => 3), - array('lhs' => 120, 'rhs' => 1), - array('lhs' => 120, 'rhs' => 3), - array('lhs' => 120, 'rhs' => 0), - array('lhs' => 121, 'rhs' => 3), - array('lhs' => 121, 'rhs' => 3), - array('lhs' => 121, 'rhs' => 1), - array('lhs' => 108, 'rhs' => 2), - array('lhs' => 108, 'rhs' => 3), - array('lhs' => 122, 'rhs' => 2), - array('lhs' => 122, 'rhs' => 1), - array('lhs' => 123, 'rhs' => 3), - array('lhs' => 123, 'rhs' => 3), - array('lhs' => 123, 'rhs' => 1), - array('lhs' => 123, 'rhs' => 3), - array('lhs' => 123, 'rhs' => 3), - array('lhs' => 123, 'rhs' => 2), - array('lhs' => 123, 'rhs' => 1), - array('lhs' => 97, 'rhs' => 1), - array('lhs' => 97, 'rhs' => 0), - ); - - public static $yyReduceMap = array( - 0 => 0, - 1 => 1, - 2 => 2, - 4 => 4, - 5 => 5, - 6 => 6, - 7 => 7, - 8 => 8, - 9 => 9, - 10 => 10, - 11 => 11, - 12 => 12, - 13 => 13, - 14 => 14, - 15 => 15, - 16 => 16, - 17 => 17, - 20 => 17, - 199 => 17, - 18 => 18, - 72 => 18, - 19 => 19, - 100 => 19, - 102 => 19, - 103 => 19, - 126 => 19, - 164 => 19, - 21 => 21, - 22 => 21, - 43 => 21, - 65 => 21, - 66 => 21, - 73 => 21, - 74 => 21, - 79 => 21, - 99 => 21, - 104 => 21, - 105 => 21, - 110 => 21, - 112 => 21, - 113 => 21, - 120 => 21, - 137 => 21, - 163 => 21, - 165 => 21, - 181 => 21, - 186 => 21, - 198 => 21, - 23 => 23, - 24 => 24, - 25 => 25, - 27 => 25, - 26 => 26, - 28 => 28, - 29 => 28, - 30 => 30, - 31 => 31, - 32 => 32, - 33 => 33, - 34 => 34, - 35 => 35, - 36 => 36, - 37 => 37, - 38 => 38, - 40 => 38, - 39 => 39, - 41 => 41, - 42 => 42, - 44 => 44, - 45 => 45, - 46 => 46, - 47 => 47, - 49 => 47, - 48 => 48, - 50 => 48, - 51 => 51, - 52 => 52, - 53 => 53, - 54 => 54, - 55 => 55, - 56 => 56, - 57 => 57, - 58 => 58, - 59 => 59, - 68 => 59, - 153 => 59, - 157 => 59, - 161 => 59, - 162 => 59, - 60 => 60, - 154 => 60, - 160 => 60, - 61 => 61, - 62 => 62, - 63 => 62, - 64 => 64, - 67 => 67, - 69 => 69, - 70 => 70, - 71 => 70, - 75 => 75, - 76 => 76, - 77 => 76, - 78 => 76, - 80 => 80, - 117 => 80, - 81 => 81, - 84 => 81, - 95 => 81, - 82 => 82, - 83 => 83, - 85 => 85, - 86 => 86, - 87 => 87, - 92 => 87, - 88 => 88, - 91 => 88, - 89 => 89, - 94 => 89, - 90 => 90, - 93 => 90, - 96 => 96, - 97 => 97, - 98 => 98, - 101 => 101, - 106 => 106, - 107 => 107, - 108 => 108, - 109 => 109, - 111 => 111, - 114 => 114, - 115 => 115, - 116 => 116, - 118 => 118, - 119 => 119, - 121 => 121, - 122 => 122, - 123 => 123, - 124 => 124, - 125 => 125, - 127 => 127, - 183 => 127, - 128 => 128, - 129 => 129, - 130 => 130, - 131 => 131, - 132 => 132, - 135 => 132, - 133 => 133, - 134 => 134, - 136 => 136, - 138 => 138, - 139 => 139, - 140 => 140, - 141 => 141, - 142 => 142, - 143 => 143, - 144 => 144, - 145 => 145, - 146 => 146, - 147 => 147, - 148 => 148, - 149 => 149, - 150 => 150, - 151 => 151, - 152 => 152, - 155 => 155, - 156 => 156, - 158 => 158, - 159 => 159, - 166 => 166, - 167 => 167, - 168 => 168, - 169 => 169, - 170 => 170, - 171 => 171, - 172 => 172, - 173 => 173, - 174 => 174, - 175 => 175, - 176 => 176, - 177 => 177, - 178 => 178, - 179 => 179, - 180 => 180, - 182 => 182, - 184 => 184, - 185 => 185, - 187 => 187, - 188 => 188, - 189 => 189, - 190 => 190, - 191 => 191, - 192 => 191, - 194 => 191, - 193 => 193, - 195 => 195, - 196 => 196, - 197 => 197, - ); - - #line 93 "smarty_internal_templateparser.y" + public static $yyRuleInfo = array(array(0 => 61, 1 => 1), array(0 => 62, 1 => 1), array(0 => 62, 1 => 2), + array(0 => 62, 1 => 0), array(0 => 63, 1 => 1), array(0 => 63, 1 => 1), + array(0 => 63, 1 => 1), array(0 => 63, 1 => 1), array(0 => 63, 1 => 1), + array(0 => 66, 1 => 1), array(0 => 66, 1 => 2), array(0 => 63, 1 => 1), + array(0 => 63, 1 => 1), array(0 => 65, 1 => 2), array(0 => 65, 1 => 3), + array(0 => 67, 1 => 2), array(0 => 67, 1 => 0), array(0 => 68, 1 => 1), + array(0 => 68, 1 => 1), array(0 => 64, 1 => 2), array(0 => 64, 1 => 1), + array(0 => 69, 1 => 2), array(0 => 69, 1 => 4), array(0 => 69, 1 => 3), + array(0 => 69, 1 => 2), array(0 => 69, 1 => 4), array(0 => 69, 1 => 3), + array(0 => 69, 1 => 4), array(0 => 69, 1 => 3), array(0 => 69, 1 => 4), + array(0 => 69, 1 => 4), array(0 => 69, 1 => 5), array(0 => 69, 1 => 5), + array(0 => 64, 1 => 1), array(0 => 69, 1 => 3), array(0 => 69, 1 => 2), + array(0 => 69, 1 => 4), array(0 => 69, 1 => 5), array(0 => 69, 1 => 6), + array(0 => 69, 1 => 2), array(0 => 69, 1 => 3), array(0 => 69, 1 => 2), + array(0 => 69, 1 => 3), array(0 => 69, 1 => 8), array(0 => 78, 1 => 2), + array(0 => 78, 1 => 1), array(0 => 69, 1 => 5), array(0 => 69, 1 => 7), + array(0 => 69, 1 => 2), array(0 => 69, 1 => 6), array(0 => 69, 1 => 8), + array(0 => 69, 1 => 6), array(0 => 69, 1 => 8), array(0 => 69, 1 => 3), + array(0 => 69, 1 => 4), array(0 => 69, 1 => 2), array(0 => 64, 1 => 1), + array(0 => 69, 1 => 2), array(0 => 69, 1 => 3), array(0 => 69, 1 => 4), + array(0 => 69, 1 => 5), array(0 => 72, 1 => 2), array(0 => 72, 1 => 1), + array(0 => 72, 1 => 0), array(0 => 81, 1 => 4), array(0 => 81, 1 => 2), + array(0 => 81, 1 => 2), array(0 => 81, 1 => 2), array(0 => 81, 1 => 2), + array(0 => 81, 1 => 2), array(0 => 81, 1 => 4), array(0 => 77, 1 => 1), + array(0 => 77, 1 => 3), array(0 => 76, 1 => 3), array(0 => 76, 1 => 3), + array(0 => 76, 1 => 3), array(0 => 76, 1 => 3), array(0 => 74, 1 => 1), + array(0 => 74, 1 => 1), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), + array(0 => 74, 1 => 3), array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), + array(0 => 74, 1 => 3), array(0 => 74, 1 => 2), array(0 => 74, 1 => 3), + array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), + array(0 => 82, 1 => 7), array(0 => 82, 1 => 7), array(0 => 73, 1 => 1), + array(0 => 73, 1 => 2), array(0 => 73, 1 => 2), array(0 => 73, 1 => 2), + array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), array(0 => 73, 1 => 1), + array(0 => 73, 1 => 3), array(0 => 73, 1 => 2), array(0 => 73, 1 => 2), + array(0 => 73, 1 => 1), array(0 => 73, 1 => 1), array(0 => 73, 1 => 3), + array(0 => 73, 1 => 1), array(0 => 73, 1 => 1), array(0 => 73, 1 => 3), + array(0 => 73, 1 => 1), array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), + array(0 => 73, 1 => 3), array(0 => 86, 1 => 1), array(0 => 86, 1 => 1), + array(0 => 70, 1 => 1), array(0 => 70, 1 => 1), array(0 => 70, 1 => 3), + array(0 => 70, 1 => 1), array(0 => 70, 1 => 3), array(0 => 70, 1 => 4), + array(0 => 70, 1 => 3), array(0 => 70, 1 => 4), array(0 => 75, 1 => 2), + array(0 => 75, 1 => 2), array(0 => 91, 1 => 2), array(0 => 91, 1 => 0), + array(0 => 92, 1 => 2), array(0 => 92, 1 => 2), array(0 => 92, 1 => 4), + array(0 => 92, 1 => 2), array(0 => 92, 1 => 2), array(0 => 92, 1 => 4), + array(0 => 92, 1 => 3), array(0 => 92, 1 => 5), array(0 => 92, 1 => 3), + array(0 => 92, 1 => 3), array(0 => 92, 1 => 3), array(0 => 92, 1 => 3), + array(0 => 92, 1 => 3), array(0 => 92, 1 => 3), array(0 => 92, 1 => 2), + array(0 => 79, 1 => 1), array(0 => 79, 1 => 1), array(0 => 79, 1 => 2), + array(0 => 93, 1 => 1), array(0 => 93, 1 => 1), array(0 => 93, 1 => 3), + array(0 => 90, 1 => 2), array(0 => 94, 1 => 1), array(0 => 94, 1 => 2), + array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 5), + array(0 => 95, 1 => 6), array(0 => 95, 1 => 2), array(0 => 87, 1 => 4), + array(0 => 96, 1 => 4), array(0 => 96, 1 => 4), array(0 => 97, 1 => 3), + array(0 => 97, 1 => 1), array(0 => 97, 1 => 0), array(0 => 71, 1 => 3), + array(0 => 71, 1 => 2), array(0 => 98, 1 => 3), array(0 => 98, 1 => 2), + array(0 => 80, 1 => 2), array(0 => 80, 1 => 0), array(0 => 99, 1 => 2), + array(0 => 99, 1 => 2), array(0 => 89, 1 => 1), array(0 => 89, 1 => 2), + array(0 => 89, 1 => 1), array(0 => 89, 1 => 2), array(0 => 89, 1 => 3), + array(0 => 84, 1 => 1), array(0 => 84, 1 => 1), array(0 => 85, 1 => 1), + array(0 => 83, 1 => 3), array(0 => 100, 1 => 1), array(0 => 100, 1 => 3), + array(0 => 100, 1 => 0), array(0 => 101, 1 => 3), array(0 => 101, 1 => 3), + array(0 => 101, 1 => 1), array(0 => 88, 1 => 2), array(0 => 88, 1 => 3), + array(0 => 102, 1 => 2), array(0 => 102, 1 => 1), array(0 => 103, 1 => 3), + array(0 => 103, 1 => 3), array(0 => 103, 1 => 1), array(0 => 103, 1 => 3), + array(0 => 103, 1 => 3), array(0 => 103, 1 => 1), array(0 => 103, 1 => 1),); + + public static $yyReduceMap = array(0 => 0, 1 => 1, 2 => 2, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, + 17 => 9, 18 => 9, 45 => 9, 68 => 9, 69 => 9, 77 => 9, 78 => 9, 82 => 9, 92 => 9, + 97 => 9, 98 => 9, 103 => 9, 105 => 9, 106 => 9, 110 => 9, 112 => 9, 117 => 9, + 178 => 9, 183 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 16 => 13, 14 => 14, + 76 => 14, 15 => 15, 93 => 15, 95 => 15, 96 => 15, 124 => 15, 19 => 19, 20 => 20, + 21 => 21, 24 => 21, 22 => 22, 25 => 22, 23 => 23, 26 => 23, 28 => 23, 27 => 27, + 29 => 29, 30 => 29, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, + 37 => 37, 38 => 38, 39 => 39, 40 => 40, 42 => 40, 41 => 41, 43 => 43, 44 => 44, + 46 => 46, 47 => 47, 48 => 48, 49 => 49, 51 => 49, 50 => 50, 52 => 50, 53 => 53, + 54 => 54, 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, + 62 => 62, 71 => 62, 159 => 62, 163 => 62, 167 => 62, 168 => 62, 63 => 63, + 160 => 63, 166 => 63, 64 => 64, 65 => 65, 66 => 65, 67 => 67, 144 => 67, + 70 => 70, 72 => 72, 73 => 73, 74 => 73, 75 => 75, 79 => 79, 80 => 80, 81 => 80, + 83 => 83, 109 => 83, 84 => 84, 85 => 85, 86 => 86, 87 => 87, 88 => 88, 89 => 88, + 90 => 90, 91 => 91, 94 => 94, 99 => 99, 100 => 100, 101 => 101, 102 => 102, + 104 => 104, 107 => 107, 108 => 108, 111 => 111, 113 => 113, 114 => 114, + 115 => 115, 116 => 116, 118 => 118, 119 => 119, 120 => 120, 121 => 121, + 122 => 122, 123 => 123, 125 => 125, 180 => 125, 126 => 126, 127 => 127, + 128 => 128, 129 => 129, 130 => 130, 131 => 131, 139 => 131, 132 => 132, + 133 => 133, 134 => 134, 135 => 134, 137 => 134, 138 => 134, 136 => 136, + 140 => 140, 141 => 141, 142 => 142, 184 => 142, 143 => 143, 145 => 145, + 146 => 146, 147 => 147, 148 => 148, 149 => 149, 150 => 150, 151 => 151, + 152 => 152, 153 => 153, 154 => 154, 155 => 155, 156 => 156, 157 => 157, + 158 => 158, 161 => 161, 162 => 162, 164 => 164, 165 => 165, 169 => 169, + 170 => 170, 171 => 171, 172 => 172, 173 => 173, 174 => 174, 175 => 175, + 176 => 176, 177 => 177, 179 => 179, 181 => 181, 182 => 182, 185 => 185, + 186 => 186, 187 => 187, 188 => 188, 189 => 188, 191 => 188, 190 => 190, + 192 => 192, 193 => 193, 194 => 194,); + + #line 225 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r0() { - $this->_retvalue = $this->root_buffer->to_smarty_php(); + $this->root_buffer->prepend_array($this, $this->template_prefix); + $this->root_buffer->append_array($this, $this->template_postfix); + $this->_retvalue = $this->root_buffer->to_smarty_php($this); } - #line 2150 "smarty_internal_templateparser.php" - #line 101 "smarty_internal_templateparser.y" + + #line 235 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r1() { if ($this->yystack[$this->yyidx + 0]->minor != null) { - $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); + $this->current_buffer->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor); } } - #line 2157 "smarty_internal_templateparser.php" - #line 108 "smarty_internal_templateparser.y" + + #line 242 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r2() { if ($this->yystack[$this->yyidx + 0]->minor != null) { // because of possible code injection - $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); + $this->current_buffer->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor); } } - #line 2165 "smarty_internal_templateparser.php" - #line 122 "smarty_internal_templateparser.y" + + #line 256 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r4() { if ($this->compiler->has_code) { - $tmp = ''; - foreach ($this->compiler->prefix_code as $code) { - $tmp .= $code; - } - $this->compiler->prefix_code = array(); - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp . $this->yystack[$this->yyidx + - 1]->minor, true)); + $this->_retvalue = $this->mergePrefixCode($this->yystack[$this->yyidx + 0]->minor); } else { $this->_retvalue = null; } $this->compiler->has_variable_string = false; $this->block_nesting_level = count($this->compiler->_tag_stack); } - #line 2177 "smarty_internal_templateparser.php" - #line 134 "smarty_internal_templateparser.y" + + #line 267 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r5() { - $this->_retvalue = null; + $this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[$this->yyidx + 0]->minor); } - #line 2182 "smarty_internal_templateparser.php" - #line 139 "smarty_internal_templateparser.y" + + #line 271 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r6() { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } - #line 2187 "smarty_internal_templateparser.php" - #line 144 "smarty_internal_templateparser.y" - function yy_r7() - { - if (strpos($this->yystack[$this->yyidx + 0]->minor, '<s') === 0) { - $this->lex->is_phpScript = true; - } - if ($this->php_handling == Smarty::PHP_PASSTHRU) { - if ($this->lex->is_phpScript) { - $s = addcslashes($this->yystack[$this->yyidx + 0]->minor, "'"); - $this->_retvalue = new _smarty_text($this, $s); - } else { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES)); - } elseif ($this->php_handling == Smarty::PHP_ALLOW) { - if (!($this->smarty instanceof SmartyBC)) { - $this->compiler->trigger_template_error(self::Err3); + $code = $this->compiler->compileTag('private_php', + array(array('code' => $this->yystack[$this->yyidx + 0]->minor), + array('type' => $this->lex->phpType)), array()); + if ($this->compiler->has_code && !empty($code)) { + $tmp = ''; + foreach ($this->compiler->prefix_code as $code) { + $tmp .= $code; } - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('<?php ', true)); - } elseif ($this->php_handling == Smarty::PHP_REMOVE) { + $this->compiler->prefix_code = array(); + $this->_retvalue = + new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $code, true)); + } else { $this->_retvalue = null; } } - #line 2211 "smarty_internal_templateparser.php" - #line 168 "smarty_internal_templateparser.y" + + #line 282 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r7() + { + $this->compiler->tag_nocache = true; + $save = $this->template->compiled->has_nocache_code; + $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, + $this->compiler->processNocacheCode("<?php echo '{$this->yystack[$this->yyidx + 0]->minor}';?>\n", + $this->compiler, + true)); + $this->template->compiled->has_nocache_code = $save; + } + + #line 289 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r8() { - if ($this->is_xml) { - $this->compiler->tag_nocache = true; - $this->is_xml = false; - $save = $this->template->has_nocache_code; - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode("<?php echo '?>';?>\n", $this->compiler, true)); - $this->template->has_nocache_code = $save; - } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES)); - } elseif ($this->php_handling == Smarty::PHP_ALLOW) { - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('?>', true)); - } elseif ($this->php_handling == Smarty::PHP_REMOVE) { - $this->_retvalue = null; - } + $this->_retvalue = $this->compiler->processText($this->yystack[$this->yyidx + 0]->minor); } - #line 2230 "smarty_internal_templateparser.php" - #line 186 "smarty_internal_templateparser.y" + + #line 293 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r9() { - if (!$this->lex->is_phpScript) { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } else { - $this->lex->is_phpScript = false; - if ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES)); - } elseif ($this->php_handling == Smarty::PHP_ALLOW) { - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('?>', true)); - } elseif ($this->php_handling == Smarty::PHP_REMOVE) { - $this->_retvalue = null; - } - } + $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } - #line 2248 "smarty_internal_templateparser.php" - #line 204 "smarty_internal_templateparser.y" + + #line 297 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r10() { - if ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES)); - } elseif ($this->php_handling == Smarty::PHP_ALLOW) { - if ($this->asp_tags) { - if (!($this->smarty instanceof SmartyBC)) { - $this->compiler->trigger_template_error(self::Err3); - } - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('<%', true)); - } else { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } - } elseif ($this->php_handling == Smarty::PHP_REMOVE) { - if ($this->asp_tags) { - $this->_retvalue = null; - } else { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } - } + $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 2272 "smarty_internal_templateparser.php" - #line 228 "smarty_internal_templateparser.y" + + #line 302 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r11() { - if ($this->php_handling == Smarty::PHP_PASSTHRU) { - $this->_retvalue = new _smarty_text($this, st); - } elseif ($this->php_handling == Smarty::PHP_QUOTE) { - $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES)); - } elseif ($this->php_handling == Smarty::PHP_ALLOW) { - if ($this->asp_tags) { - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('%>', true)); - } else { - $this->_retvalue = new _smarty_text($this, st); - } - } elseif ($this->php_handling == Smarty::PHP_REMOVE) { - if ($this->asp_tags) { - $this->_retvalue = null; - } else { - $this->_retvalue = new _smarty_text($this, st); - } - } + $this->strip = true; } - #line 2293 "smarty_internal_templateparser.php" - #line 250 "smarty_internal_templateparser.y" + + #line 306 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r12() { - $this->compiler->tag_nocache = true; - $this->is_xml = true; - $save = $this->template->has_nocache_code; - $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true)); - $this->template->has_nocache_code = $save; + $this->strip = false; } - #line 2302 "smarty_internal_templateparser.php" - #line 259 "smarty_internal_templateparser.y" + + #line 311 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r13() { - if ($this->strip) { - $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor)); - } else { - $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); - } + $this->_retvalue = ''; } - #line 2311 "smarty_internal_templateparser.php" - #line 268 "smarty_internal_templateparser.y" + + #line 315 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r14() { - $this->strip = true; + $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; } - #line 2316 "smarty_internal_templateparser.php" - #line 272 "smarty_internal_templateparser.y" + + #line 319 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r15() { - $this->strip = false; - } - #line 2321 "smarty_internal_templateparser.php" - #line 276 "smarty_internal_templateparser.y" - function yy_r16() - { - if ($this->strip) { - SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor)); - } else { - SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, $this->yystack[$this->yyidx + 0]->minor); - } - } - #line 2330 "smarty_internal_templateparser.php" - #line 285 "smarty_internal_templateparser.y" - function yy_r17() - { - $this->_retvalue = ''; + $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 2335 "smarty_internal_templateparser.php" - #line 289 "smarty_internal_templateparser.y" - function yy_r18() + + #line 335 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r19() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; } - #line 2340 "smarty_internal_templateparser.php" - #line 293 "smarty_internal_templateparser.y" - function yy_r19() - { - $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; + + #line 341 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r20() + { + $var = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length), + ' $'); + if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) { + $this->_retvalue = $this->compiler->compileTag('private_print_expression', array('nocache'), + array('value' => $this->compiler->compileVariable('\'' . + $match[1] . + '\''))); + } else { + $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), + array('value' => $this->compiler->compileVariable('\'' . + $var . + '\''))); + } } - #line 2345 "smarty_internal_templateparser.php" - #line 301 "smarty_internal_templateparser.y" + + #line 351 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r21() { - $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; - } - #line 2350 "smarty_internal_templateparser.php" - #line 314 "smarty_internal_templateparser.y" - function yy_r23() - { - $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), array('value' => $this->yystack[$this->yyidx + 0]->minor)); - } - #line 2355 "smarty_internal_templateparser.php" - #line 318 "smarty_internal_templateparser.y" - function yy_r24() - { - $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); + $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), + array('value' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 2360 "smarty_internal_templateparser.php" - #line 322 "smarty_internal_templateparser.y" - function yy_r25() + + #line 355 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r22() { - $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 1]->minor)); + $this->_retvalue = + $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, + array('value' => $this->yystack[$this->yyidx + - 2]->minor, + 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 2365 "smarty_internal_templateparser.php" - #line 326 "smarty_internal_templateparser.y" - function yy_r26() + + #line 359 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r23() { - $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); + $this->_retvalue = + $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, + array('value' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 2370 "smarty_internal_templateparser.php" - #line 339 "smarty_internal_templateparser.y" - function yy_r28() + + #line 373 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r27() { - $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx + 0]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 2]->minor . "'"))); + $this->_retvalue = + $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, + array('value' => $this->yystack[$this->yyidx + - 2]->minor, + 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 2375 "smarty_internal_templateparser.php" - #line 347 "smarty_internal_templateparser.y" - function yy_r30() + + #line 386 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r29() { - $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 3]->minor . "'")), $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->compiler->compileTag('assign', + array(array('value' => $this->yystack[$this->yyidx + 0]->minor), + array('var' => '\'' . + substr($this->yystack[$this->yyidx + - 2]->minor, 1) . + '\''))); } - #line 2380 "smarty_internal_templateparser.php" - #line 351 "smarty_internal_templateparser.y" + + #line 394 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r31() { - $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => $this->yystack[$this->yyidx + - 3]->minor['var'])), $this->yystack[$this->yyidx + 0]->minor), array('smarty_internal_index' => $this->yystack[$this->yyidx + - 3]->minor['smarty_internal_index'])); + $this->_retvalue = $this->compiler->compileTag('assign', + array_merge(array(array('value' => $this->yystack[$this->yyidx + + - 1]->minor), array('var' => '\'' . + substr($this->yystack[$this->yyidx + - 3]->minor, 1) . + '\'')), $this->yystack[$this->yyidx + 0]->minor)); } - #line 2385 "smarty_internal_templateparser.php" - #line 356 "smarty_internal_templateparser.y" + + #line 398 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r32() { - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = $this->compiler->compileTag('assign', + array_merge(array(array('value' => $this->yystack[$this->yyidx + + - 1]->minor), array('var' => $this->yystack[$this->yyidx + + - 3]->minor['var'])), $this->yystack[$this->yyidx + 0]->minor), + array('smarty_internal_index' => $this->yystack[$this->yyidx + + - 3]->minor['smarty_internal_index'])); } - #line 2390 "smarty_internal_templateparser.php" - #line 360 "smarty_internal_templateparser.y" + + #line 403 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r33() { - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array()); + $tag = + trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length)); + if ($tag == 'strip') { + $this->strip = true; + $this->_retvalue = null;; + } else { + if (defined($tag)) { + if ($this->security) { + $this->security->isTrustedConstant($tag, $this->compiler); + } + $this->_retvalue = + $this->compiler->compileTag('private_print_expression', array(), array('value' => $tag)); + } else { + if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) { + $this->_retvalue = $this->compiler->compileTag($match[1], array("'nocache'")); + } else { + $this->_retvalue = $this->compiler->compileTag($tag, array()); + } + } + } } - #line 2395 "smarty_internal_templateparser.php" - #line 365 "smarty_internal_templateparser.y" + + #line 425 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r34() { - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 1]->minor)); + if (defined($this->yystack[$this->yyidx + - 1]->minor)) { + if ($this->security) { + $this->security->isTrustedConstant($this->yystack[$this->yyidx + - 1]->minor, $this->compiler); + } + $this->_retvalue = + $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, + array('value' => $this->yystack[$this->yyidx + - 1]->minor)); + } else { + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor, + $this->yystack[$this->yyidx + 0]->minor); + } } - #line 2400 "smarty_internal_templateparser.php" - #line 370 "smarty_internal_templateparser.y" + + #line 435 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r35() { - $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor) . '<?php echo '; - $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>'; + if (defined($this->yystack[$this->yyidx + 0]->minor)) { + if ($this->security) { + $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler); + } + $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), + array('value' => $this->yystack[$this->yyidx + 0]->minor)); + } else { + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array()); + } } - #line 2406 "smarty_internal_templateparser.php" - #line 376 "smarty_internal_templateparser.y" + + #line 448 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r36() { - $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 2]->minor)) . '<?php echo '; - $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>'; + if (defined($this->yystack[$this->yyidx + - 2]->minor)) { + if ($this->security) { + $this->security->isTrustedConstant($this->yystack[$this->yyidx + - 2]->minor, $this->compiler); + } + $this->_retvalue = + $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, + array('value' => $this->yystack[$this->yyidx + - 2]->minor, + 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); + } else { + $this->_retvalue = '<?php ob_start();?>' . + $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, + $this->yystack[$this->yyidx + 0]->minor) . '<?php echo '; + $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), + array('modifierlist' => $this->yystack[$this->yyidx + + - 1]->minor, 'value' => 'ob_get_clean()')) . ';?>'; + } } - #line 2412 "smarty_internal_templateparser.php" - #line 382 "smarty_internal_templateparser.y" + + #line 461 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r37() { - $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length)); - $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor, + $this->yystack[$this->yyidx + 0]->minor, + array('object_method' => $this->yystack[$this->yyidx + + - 1]->minor)); } - #line 2418 "smarty_internal_templateparser.php" - #line 387 "smarty_internal_templateparser.y" + + #line 466 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r38() { - $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length)); - $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, $this->yystack[$this->yyidx + 0]->minor, array('if condition' => $this->yystack[$this->yyidx + - 1]->minor)); + $this->_retvalue = '<?php ob_start();?>' . + $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, + $this->yystack[$this->yyidx + 0]->minor, + array('object_method' => $this->yystack[$this->yyidx + - 2]->minor)) . + '<?php echo '; + $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), + array('modifierlist' => $this->yystack[$this->yyidx + + - 1]->minor, 'value' => 'ob_get_clean()')) . ';?>'; } - #line 2424 "smarty_internal_templateparser.php" - #line 392 "smarty_internal_templateparser.y" + + #line 472 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r39() { $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length)); - $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), + array('if condition' => $this->yystack[$this->yyidx + + 0]->minor)); } - #line 2430 "smarty_internal_templateparser.php" - #line 403 "smarty_internal_templateparser.y" - function yy_r41() + + #line 477 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r40() { - $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 9]->minor), array('ifexp' => $this->yystack[$this->yyidx + - 6]->minor), array('var' => $this->yystack[$this->yyidx + - 2]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 1); + $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length)); + $this->_retvalue = + $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, $this->yystack[$this->yyidx + 0]->minor, + array('if condition' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 2435 "smarty_internal_templateparser.php" - #line 407 "smarty_internal_templateparser.y" - function yy_r42() + + #line 482 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r41() { - $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor; + $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length)); + $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), + array('if condition' => $this->yystack[$this->yyidx + + 0]->minor)); } - #line 2440 "smarty_internal_templateparser.php" - #line 415 "smarty_internal_templateparser.y" - function yy_r44() - { - $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 3]->minor), array('to' => $this->yystack[$this->yyidx + - 1]->minor))), 0); + + #line 493 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r43() + { + $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, + array(array('start' => $this->yystack[$this->yyidx + + - 6]->minor), + array('ifexp' => $this->yystack[$this->yyidx + + - 4]->minor), + array('var' => $this->yystack[$this->yyidx + + - 2]->minor), + array('step' => $this->yystack[$this->yyidx + + - 1]->minor))), 1); } - #line 2445 "smarty_internal_templateparser.php" - #line 419 "smarty_internal_templateparser.y" - function yy_r45() + + #line 497 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r44() { - $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 5]->minor), array('to' => $this->yystack[$this->yyidx + - 3]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 0); + $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor; } - #line 2450 "smarty_internal_templateparser.php" - #line 424 "smarty_internal_templateparser.y" + + #line 505 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r46() { - $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, + array(array('start' => $this->yystack[$this->yyidx + + - 3]->minor), + array('to' => $this->yystack[$this->yyidx + + - 1]->minor))), 0); } - #line 2455 "smarty_internal_templateparser.php" - #line 429 "smarty_internal_templateparser.y" + + #line 509 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r47() { - $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 4]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor)))); + $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, + array(array('start' => $this->yystack[$this->yyidx + + - 5]->minor), + array('to' => $this->yystack[$this->yyidx + + - 3]->minor), + array('step' => $this->yystack[$this->yyidx + + - 1]->minor))), 0); } - #line 2460 "smarty_internal_templateparser.php" - #line 433 "smarty_internal_templateparser.y" + + #line 514 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r48() { - $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 7]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor), array('key' => $this->yystack[$this->yyidx + - 4]->minor)))); + $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor); } - #line 2465 "smarty_internal_templateparser.php" - #line 446 "smarty_internal_templateparser.y" - function yy_r51() + + #line 519 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r49() { - $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx + - 1]->minor), $this->yystack[$this->yyidx + 0]->minor)))); + $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, + array(array('from' => $this->yystack[$this->yyidx + + - 3]->minor), + array('item' => $this->yystack[$this->yyidx + + - 1]->minor)))); } - #line 2470 "smarty_internal_templateparser.php" - #line 450 "smarty_internal_templateparser.y" - function yy_r52() + + #line 523 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r50() { - $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx + - 2]->minor), $this->yystack[$this->yyidx + - 1]->minor)), $this->yystack[$this->yyidx + 0]->minor))); + $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, + array(array('from' => $this->yystack[$this->yyidx + + - 5]->minor), + array('item' => $this->yystack[$this->yyidx + + - 1]->minor), + array('key' => $this->yystack[$this->yyidx + + - 3]->minor)))); } - #line 2475 "smarty_internal_templateparser.php" - #line 455 "smarty_internal_templateparser.y" + + #line 536 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r53() { + $this->_retvalue = $this->compiler->compileTag('setfilter', array(), + array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx + + - 1]->minor), $this->yystack[$this->yyidx + 0]->minor)))); + } + + #line 540 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r54() + { + $this->_retvalue = $this->compiler->compileTag('setfilter', array(), + array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx + + - 2]->minor), $this->yystack[$this->yyidx + - 1]->minor)), + $this->yystack[$this->yyidx + + 0]->minor))); + } + + #line 545 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r55() + { $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.'); if ($this->yystack[$this->yyidx + 0]->minor[$j + 1] == 'c') { // {$smarty.block.child} @@ -3698,463 +1868,594 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler); } } - #line 2487 "smarty_internal_templateparser.php" - #line 468 "smarty_internal_templateparser.y" - function yy_r54() + + #line 558 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r56() + { + $tag = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length), + ' /'); + if ($tag == 'strip') { + $this->strip = false; + $this->_retvalue = null; + } else { + $this->_retvalue = $this->compiler->compileTag($tag . 'close', array()); + } + } + + #line 567 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r57() { $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array()); } - #line 2492 "smarty_internal_templateparser.php" - #line 472 "smarty_internal_templateparser.y" - function yy_r55() + + #line 571 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r58() { - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(), array('modifier_list' => $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(), + array('modifier_list' => $this->yystack[$this->yyidx + + 0]->minor)); } - #line 2497 "smarty_internal_templateparser.php" - #line 477 "smarty_internal_templateparser.y" - function yy_r56() + + #line 576 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r59() { - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(), + array('object_method' => $this->yystack[$this->yyidx + + 0]->minor)); } - #line 2502 "smarty_internal_templateparser.php" - #line 481 "smarty_internal_templateparser.y" - function yy_r57() + + #line 580 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r60() { - $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + - 1]->minor, 'modifier_list' => $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(), + array('object_method' => $this->yystack[$this->yyidx + + - 1]->minor, 'modifier_list' => $this->yystack[$this->yyidx + + 0]->minor)); } - #line 2507 "smarty_internal_templateparser.php" - #line 489 "smarty_internal_templateparser.y" - function yy_r58() + + #line 588 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r61() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; } - #line 2513 "smarty_internal_templateparser.php" - #line 495 "smarty_internal_templateparser.y" - function yy_r59() + + #line 594 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r62() { $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } - #line 2518 "smarty_internal_templateparser.php" - #line 500 "smarty_internal_templateparser.y" - function yy_r60() + + #line 599 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r63() { $this->_retvalue = array(); } - #line 2523 "smarty_internal_templateparser.php" - #line 505 "smarty_internal_templateparser.y" - function yy_r61() + + #line 604 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r64() { - if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'true'); - } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'false'); - } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'null'); + if (defined($this->yystack[$this->yyidx + 0]->minor)) { + if ($this->security) { + $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler); + } + $this->_retvalue = + array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor); } else { - $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => "'" . $this->yystack[$this->yyidx + 0]->minor . "'"); + $this->_retvalue = + array($this->yystack[$this->yyidx + - 2]->minor => '\'' . $this->yystack[$this->yyidx + 0]->minor . + '\''); } } - #line 2536 "smarty_internal_templateparser.php" - #line 517 "smarty_internal_templateparser.y" - function yy_r62() + + #line 615 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r65() { - $this->_retvalue = array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = + array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx + + 0]->minor); } - #line 2541 "smarty_internal_templateparser.php" - #line 525 "smarty_internal_templateparser.y" - function yy_r64() + + #line 623 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r67() { - $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'"; + $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\''; } - #line 2546 "smarty_internal_templateparser.php" - #line 537 "smarty_internal_templateparser.y" - function yy_r67() + + #line 635 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r70() { $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor); } - #line 2551 "smarty_internal_templateparser.php" - #line 550 "smarty_internal_templateparser.y" - function yy_r69() + + #line 648 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r72() { $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor; } - #line 2557 "smarty_internal_templateparser.php" - #line 555 "smarty_internal_templateparser.y" - function yy_r70() + + #line 653 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r73() { - $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor, 'value' => $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = array('var' => '\'' . substr($this->yystack[$this->yyidx + - 2]->minor, 1) . '\'', + 'value' => $this->yystack[$this->yyidx + 0]->minor); } - #line 2562 "smarty_internal_templateparser.php" - #line 583 "smarty_internal_templateparser.y" + + #line 660 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r75() { - $this->_retvalue = '$_smarty_tpl->getStreamVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '://' . $this->yystack[$this->yyidx + 0]->minor . '\')'; + $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor, + 'value' => $this->yystack[$this->yyidx + 0]->minor); } - #line 2567 "smarty_internal_templateparser.php" - #line 588 "smarty_internal_templateparser.y" - function yy_r76() + + #line 684 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r79() { - $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = + '$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[$this->yyidx + - 2]->minor, 1) . '://' . + $this->yystack[$this->yyidx + 0]->minor . '\')'; } - #line 2572 "smarty_internal_templateparser.php" - #line 607 "smarty_internal_templateparser.y" + + #line 689 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r80() { - $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), array('value' => $this->yystack[$this->yyidx + - 1]->minor, 'modifierlist' => $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) . + $this->yystack[$this->yyidx + 0]->minor; } - #line 2577 "smarty_internal_templateparser.php" - #line 613 "smarty_internal_templateparser.y" - function yy_r81() - { - $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; - } - #line 2582 "smarty_internal_templateparser.php" - #line 617 "smarty_internal_templateparser.y" - function yy_r82() + + #line 703 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r83() { - $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor . ')'; + $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), + array('value' => $this->yystack[$this->yyidx + - 1]->minor, + 'modifierlist' => $this->yystack[$this->yyidx + + 0]->minor)); } - #line 2587 "smarty_internal_templateparser.php" - #line 621 "smarty_internal_templateparser.y" - function yy_r83() + + #line 709 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r84() { - $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' . $this->yystack[$this->yyidx + 0]->minor . ')'; + $this->_retvalue = (isset($this->yystack[$this->yyidx + - 1]->minor['pre']) ? + $this->yystack[$this->yyidx + - 1]->minor['pre'] : '') . $this->yystack[$this->yyidx + - 2]->minor . + $this->yystack[$this->yyidx + - 1]->minor['op'] . $this->yystack[$this->yyidx + 0]->minor . + (isset($this->yystack[$this->yyidx + - 1]->minor['pre']) ? ')' : ''); } - #line 2592 "smarty_internal_templateparser.php" - #line 629 "smarty_internal_templateparser.y" + + #line 712 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r85() { - $this->_retvalue = '!(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')'; + $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 2597 "smarty_internal_templateparser.php" - #line 633 "smarty_internal_templateparser.y" + + #line 716 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r86() { - $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')'; + $this->_retvalue = + 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor . + ')'; } - #line 2602 "smarty_internal_templateparser.php" - #line 637 "smarty_internal_templateparser.y" + + #line 720 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r87() { - $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')'; + $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' . + $this->yystack[$this->yyidx + 0]->minor . ')'; } - #line 2607 "smarty_internal_templateparser.php" - #line 641 "smarty_internal_templateparser.y" + + #line 724 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r88() { - $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')'; - } - #line 2612 "smarty_internal_templateparser.php" - #line 645 "smarty_internal_templateparser.y" - function yy_r89() - { - $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')'; + $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . + $this->yystack[$this->yyidx + 0]->minor; } - #line 2617 "smarty_internal_templateparser.php" - #line 649 "smarty_internal_templateparser.y" + + #line 736 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r90() { - $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')'; + $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . + $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + - 2]->minor, 1) . '\'') . + ' : ' . $this->yystack[$this->yyidx + 0]->minor; } - #line 2622 "smarty_internal_templateparser.php" - #line 673 "smarty_internal_templateparser.y" - function yy_r96() - { - self::$prefix_number ++; - $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->yystack[$this->yyidx + 0]->minor . ';?>'; - $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . '$_tmp' . self::$prefix_number; - } - #line 2629 "smarty_internal_templateparser.php" - #line 682 "smarty_internal_templateparser.y" - function yy_r97() - { - $this->_retvalue = $this->yystack[$this->yyidx + - 6]->minor . ' ? ' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 2]->minor . "'") . ' : ' . $this->yystack[$this->yyidx + 0]->minor; - } - #line 2634 "smarty_internal_templateparser.php" - #line 686 "smarty_internal_templateparser.y" - function yy_r98() + + #line 740 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r91() { - $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = + $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' . + $this->yystack[$this->yyidx + 0]->minor; } - #line 2639 "smarty_internal_templateparser.php" - #line 701 "smarty_internal_templateparser.y" - function yy_r101() + + #line 755 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r94() { $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor; } - #line 2644 "smarty_internal_templateparser.php" - #line 722 "smarty_internal_templateparser.y" - function yy_r106() + + #line 776 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r99() { $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor; } - #line 2649 "smarty_internal_templateparser.php" - #line 726 "smarty_internal_templateparser.y" - function yy_r107() + + #line 780 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r100() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.'; } - #line 2654 "smarty_internal_templateparser.php" - #line 730 "smarty_internal_templateparser.y" - function yy_r108() + + #line 784 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r101() { $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor; } - #line 2659 "smarty_internal_templateparser.php" - #line 735 "smarty_internal_templateparser.y" - function yy_r109() + + #line 789 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r102() { - if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = 'true'; - } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = 'false'; - } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) { - $this->_retvalue = 'null'; + if (defined($this->yystack[$this->yyidx + 0]->minor)) { + if ($this->security) { + $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler); + } + $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } else { - $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'"; + $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\''; } } - #line 2672 "smarty_internal_templateparser.php" - #line 753 "smarty_internal_templateparser.y" - function yy_r111() + + #line 806 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r104() { $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")"; } - #line 2677 "smarty_internal_templateparser.php" - #line 768 "smarty_internal_templateparser.y" - function yy_r114() + + #line 821 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r107() { - if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + - 2]->minor, $this->compiler)) { + self::$prefix_number ++; + if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') { + $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . ' = ' . + $this->compiler->compileTag('private_special_variable', array(), + $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index']) . ';?>'; + } else { + $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . ' = ' . + $this->compiler->compileVariable($this->yystack[$this->yyidx + - 2]->minor['var']) . + $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] . ';?>'; + } + $this->_retvalue = '$_tmp' . self::$prefix_number . '::' . $this->yystack[$this->yyidx + 0]->minor[0] . + $this->yystack[$this->yyidx + 0]->minor[1]; + } + + #line 832 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r108() + { + self::$prefix_number ++; + $tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[$this->yyidx + 0]->minor); + $this->compiler->prefix_code[] = + $this->compiler->appendCode($tmp, '<?php $_tmp' . self::$prefix_number . '=ob_get_clean();?>'); + $this->_retvalue = '$_tmp' . self::$prefix_number; + } + + #line 849 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r111() + { + if (!in_array(strtolower($this->yystack[$this->yyidx + - 2]->minor), array('self', 'parent')) && + (!$this->security || $this->security->isTrustedStaticClassAccess($this->yystack[$this->yyidx + - 2]->minor, + $this->yystack[$this->yyidx + 0]->minor, + $this->compiler)) + ) { if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor])) { - $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' . + $this->yystack[$this->yyidx + 0]->minor[0] . $this->yystack[$this->yyidx + 0]->minor[1]; } else { - $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '::' . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = + $this->yystack[$this->yyidx + - 2]->minor . '::' . $this->yystack[$this->yyidx + 0]->minor[0] . + $this->yystack[$this->yyidx + 0]->minor[1]; } } else { - $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor . "' is undefined or not allowed by security setting"); + $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor . + "' is undefined or not allowed by security setting"); } } - #line 2690 "smarty_internal_templateparser.php" - #line 780 "smarty_internal_templateparser.y" - function yy_r115() + + #line 868 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r113() { - if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') { - $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index']) . '::' . $this->yystack[$this->yyidx + 0]->minor; - } else { - $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor['var']) . $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] . '::' . $this->yystack[$this->yyidx + 0]->minor; - } + $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } - #line 2699 "smarty_internal_templateparser.php" - #line 789 "smarty_internal_templateparser.y" - function yy_r116() + + #line 879 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r114() { - self::$prefix_number ++; - $this->compiler->prefix_code[] = '<?php ob_start();?>' . $this->yystack[$this->yyidx + - 1]->minor . '<?php $_tmp' . self::$prefix_number . '=ob_get_clean();?>'; - $this->_retvalue = '$_tmp' . self::$prefix_number; + $this->_retvalue = + $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\''); } - #line 2706 "smarty_internal_templateparser.php" - #line 804 "smarty_internal_templateparser.y" - function yy_r118() + + #line 882 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r115() { if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { - $smarty_var = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); + $smarty_var = $this->compiler->compileTag('private_special_variable', array(), + $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); $this->_retvalue = $smarty_var; } else { - // used for array reset,next,prev,end,current + // used for array reset,next,prev,end,current $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var']; $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; - $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) . $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; + $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) . + $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; } } - #line 2719 "smarty_internal_templateparser.php" - #line 817 "smarty_internal_templateparser.y" + + #line 895 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r116() + { + $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' . + $this->yystack[$this->yyidx + 0]->minor; + } + + #line 905 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r118() + { + $this->_retvalue = + $this->compiler->compileConfigVariable("'" . $this->yystack[$this->yyidx + - 1]->minor . "'"); + } + + #line 909 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r119() { - $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = '(is_array($tmp = ' . + $this->compiler->compileConfigVariable("'" . $this->yystack[$this->yyidx + - 2]->minor . "'") . ') ? $tmp' . + $this->yystack[$this->yyidx + 0]->minor . ' :null)'; + } + + #line 913 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r120() + { + $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + - 1]->minor); } - #line 2724 "smarty_internal_templateparser.php" - #line 827 "smarty_internal_templateparser.y" + + #line 917 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r121() { - $this->_retvalue = '$_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 1]->minor . '\')'; + $this->_retvalue = + '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + - 2]->minor) . + ') ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)'; } - #line 2729 "smarty_internal_templateparser.php" - #line 831 "smarty_internal_templateparser.y" + + #line 921 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r122() { - $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '\')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' :null)'; + $this->_retvalue = array('var' => '\'' . substr($this->yystack[$this->yyidx + - 1]->minor, 1) . '\'', + 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor); } - #line 2734 "smarty_internal_templateparser.php" - #line 835 "smarty_internal_templateparser.y" + + #line 924 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r123() { - $this->_retvalue = '$_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 1]->minor . ')'; + $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor, + 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor); } - #line 2739 "smarty_internal_templateparser.php" - #line 839 "smarty_internal_templateparser.y" - function yy_r124() + + #line 937 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r125() { - $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 2]->minor . ')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)'; + return; } - #line 2744 "smarty_internal_templateparser.php" - #line 843 "smarty_internal_templateparser.y" - function yy_r125() + + #line 943 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r126() { - $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor, 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = + '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\'') . + ']'; } - #line 2749 "smarty_internal_templateparser.php" - #line 856 "smarty_internal_templateparser.y" + + #line 946 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r127() { - return; + $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']'; } - #line 2754 "smarty_internal_templateparser.php" - #line 862 "smarty_internal_templateparser.y" + + #line 950 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r128() { - $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']'; + $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' . + $this->yystack[$this->yyidx + 0]->minor . ']'; } - #line 2759 "smarty_internal_templateparser.php" - #line 866 "smarty_internal_templateparser.y" + + #line 954 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r129() { - $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' . $this->yystack[$this->yyidx + 0]->minor . ']'; + if (defined($this->yystack[$this->yyidx + 0]->minor)) { + if ($this->security) { + $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler); + } + $this->_retvalue = '[' . $this->yystack[$this->yyidx + 0]->minor . ']'; + } else { + $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']"; + } } - #line 2764 "smarty_internal_templateparser.php" - #line 870 "smarty_internal_templateparser.y" + + #line 965 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r130() { - $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']"; + $this->_retvalue = '[' . $this->yystack[$this->yyidx + 0]->minor . ']'; } - #line 2769 "smarty_internal_templateparser.php" - #line 874 "smarty_internal_templateparser.y" + + #line 970 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r131() { - $this->_retvalue = "[" . $this->yystack[$this->yyidx + 0]->minor . "]"; + $this->_retvalue = '[' . $this->yystack[$this->yyidx + - 1]->minor . ']'; } - #line 2774 "smarty_internal_templateparser.php" - #line 878 "smarty_internal_templateparser.y" + + #line 975 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r132() { - $this->_retvalue = "[" . $this->yystack[$this->yyidx + - 1]->minor . "]"; + $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . + $this->yystack[$this->yyidx + + - 1]->minor . '\'][\'index\']') . + ']'; } - #line 2779 "smarty_internal_templateparser.php" - #line 883 "smarty_internal_templateparser.y" + + #line 979 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r133() { - $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\'][\'index\']') . ']'; + $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . + $this->yystack[$this->yyidx + + - 3]->minor . '\'][\'' . + $this->yystack[$this->yyidx + + - 1]->minor . '\']') . ']'; } - #line 2784 "smarty_internal_templateparser.php" - #line 887 "smarty_internal_templateparser.y" + + #line 982 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r134() { - $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 3]->minor . '\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\']') . ']'; + $this->_retvalue = '[' . $this->yystack[$this->yyidx + - 1]->minor . ']'; } - #line 2789 "smarty_internal_templateparser.php" - #line 897 "smarty_internal_templateparser.y" + + #line 988 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r136() { + $this->_retvalue = + '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + - 1]->minor, 1) . '\'') . + ']';; + } + + #line 1004 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r140() + { $this->_retvalue = '[]'; } - #line 2794 "smarty_internal_templateparser.php" - #line 910 "smarty_internal_templateparser.y" - function yy_r138() + + #line 1014 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r141() + { + $this->_retvalue = '\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\''; + } + + #line 1018 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r142() + { + $this->_retvalue = "''"; + } + + #line 1023 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r143() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor; } - #line 2799 "smarty_internal_templateparser.php" - #line 915 "smarty_internal_templateparser.y" - function yy_r139() + + #line 1031 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r145() { - $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\''; + $var = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length), + ' $'); + $this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\''); } - #line 2804 "smarty_internal_templateparser.php" - #line 920 "smarty_internal_templateparser.y" - function yy_r140() + + #line 1037 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r146() { $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 2809 "smarty_internal_templateparser.php" - #line 927 "smarty_internal_templateparser.y" - function yy_r141() + + #line 1044 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r147() { if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') { - $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index']) . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), + $this->yystack[$this->yyidx + + - 1]->minor['smarty_internal_index']) . + $this->yystack[$this->yyidx + 0]->minor; } else { - $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) . $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) . + $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] . + $this->yystack[$this->yyidx + 0]->minor; } } - #line 2818 "smarty_internal_templateparser.php" - #line 936 "smarty_internal_templateparser.y" - function yy_r142() + + #line 1053 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r148() { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } - #line 2823 "smarty_internal_templateparser.php" - #line 941 "smarty_internal_templateparser.y" - function yy_r143() + + #line 1058 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r149() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 2828 "smarty_internal_templateparser.php" - #line 946 "smarty_internal_templateparser.y" - function yy_r144() + + #line 1063 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r150() { if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') { $this->compiler->trigger_template_error(self::Err1); } $this->_retvalue = '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 2836 "smarty_internal_templateparser.php" - #line 953 "smarty_internal_templateparser.y" - function yy_r145() + + #line 1070 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r151() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); } - $this->_retvalue = '->{' . $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor . '}'; + $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 1]->minor) . + $this->yystack[$this->yyidx + 0]->minor . '}'; } - #line 2844 "smarty_internal_templateparser.php" - #line 960 "smarty_internal_templateparser.y" - function yy_r146() + + #line 1077 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r152() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); } - $this->_retvalue = '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}'; + $this->_retvalue = + '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}'; } - #line 2852 "smarty_internal_templateparser.php" - #line 967 "smarty_internal_templateparser.y" - function yy_r147() + + #line 1084 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r153() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); } - $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}'; + $this->_retvalue = + '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' . $this->yystack[$this->yyidx + - 2]->minor . + $this->yystack[$this->yyidx + 0]->minor . '}'; } - #line 2860 "smarty_internal_templateparser.php" - #line 975 "smarty_internal_templateparser.y" - function yy_r148() + + #line 1092 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r154() { $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor; } - #line 2865 "smarty_internal_templateparser.php" - #line 983 "smarty_internal_templateparser.y" - function yy_r149() + + #line 1100 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r155() { - if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)) { - if (strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'array') === 0 || is_callable($this->yystack[$this->yyidx + - 3]->minor)) { + if (!$this->security || + $this->security->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler) + ) { + if (strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'isset') === 0 || + strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'empty') === 0 || + strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'array') === 0 || + is_callable($this->yystack[$this->yyidx + - 3]->minor) + ) { $func_name = strtolower($this->yystack[$this->yyidx + - 3]->minor); if ($func_name == 'isset') { if (count($this->yystack[$this->yyidx + - 1]->minor) == 0) { $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"'); } $par = implode(',', $this->yystack[$this->yyidx + - 1]->minor); - if (strncasecmp($par, '$_smarty_tpl->getConfigVariable', strlen('$_smarty_tpl->getConfigVariable')) === 0) { + if (strncasecmp($par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable', + strlen('$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0 + ) { self::$prefix_number ++; - $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . str_replace(')', ', false)', $par) . ';?>'; + $this->compiler->prefix_code[] = + '<?php $_tmp' . self::$prefix_number . '=' . str_replace(')', ', false)', $par) . ';?>'; $isset_par = '$_tmp' . self::$prefix_number; } else { $isset_par = str_replace("')->value", "',null,true,false)->value", $par); @@ -4165,256 +2466,253 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"'); } if ($func_name == 'empty') { - $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value", $this->yystack[$this->yyidx + - 1]->minor[0]) . ')'; + $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value", + $this->yystack[$this->yyidx + + - 1]->minor[0]) . ')'; } else { $this->_retvalue = $func_name . '(' . $this->yystack[$this->yyidx + - 1]->minor[0] . ')'; } } else { - $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")"; + $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . + implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")"; } } else { - $this->compiler->trigger_template_error("unknown function \"" . $this->yystack[$this->yyidx + - 3]->minor . "\""); + $this->compiler->trigger_template_error("unknown function \"" . + $this->yystack[$this->yyidx + - 3]->minor . "\""); } } } - #line 2901 "smarty_internal_templateparser.php" - #line 1021 "smarty_internal_templateparser.y" - function yy_r150() + + #line 1139 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r156() { if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') { $this->compiler->trigger_template_error(self::Err1); } - $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")"; + $this->_retvalue = + $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . + ")"; } - #line 2909 "smarty_internal_templateparser.php" - #line 1028 "smarty_internal_templateparser.y" - function yy_r151() + + #line 1146 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r157() { if ($this->security) { $this->compiler->trigger_template_error(self::Err2); } self::$prefix_number ++; - $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 3]->minor . "'") . ';?>'; - $this->_retvalue = '$_tmp' . self::$prefix_number . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')'; - } - #line 2919 "smarty_internal_templateparser.php" - #line 1039 "smarty_internal_templateparser.y" - function yy_r152() - { - $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor)); + $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . + $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + - 3]->minor, 1) . '\'') . + ';?>'; + $this->_retvalue = + '$_tmp' . self::$prefix_number . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')'; } - #line 2924 "smarty_internal_templateparser.php" - #line 1056 "smarty_internal_templateparser.y" - function yy_r155() - { - $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor))); - } - #line 2929 "smarty_internal_templateparser.php" - #line 1060 "smarty_internal_templateparser.y" - function yy_r156() - { - $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor)); - } - #line 2934 "smarty_internal_templateparser.php" - #line 1068 "smarty_internal_templateparser.y" + + #line 1157 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r158() { - $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = + array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor)); } - #line 2939 "smarty_internal_templateparser.php" - #line 1076 "smarty_internal_templateparser.y" - function yy_r159() + + #line 1174 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r161() { - $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, + array(array_merge($this->yystack[$this->yyidx + - 1]->minor, + $this->yystack[$this->yyidx + 0]->minor))); } - #line 2944 "smarty_internal_templateparser.php" - #line 1110 "smarty_internal_templateparser.y" - function yy_r166() + + #line 1178 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r162() { - $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = + array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor)); } - #line 2949 "smarty_internal_templateparser.php" - #line 1115 "smarty_internal_templateparser.y" - function yy_r167() + + #line 1186 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r164() { - $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } - #line 2954 "smarty_internal_templateparser.php" - #line 1121 "smarty_internal_templateparser.y" - function yy_r168() + + #line 1194 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r165() { - $this->_retvalue = '=='; + $this->_retvalue = + array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor); } - #line 2959 "smarty_internal_templateparser.php" - #line 1125 "smarty_internal_templateparser.y" + + #line 1213 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r169() { - $this->_retvalue = '!='; + $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'method'); } - #line 2964 "smarty_internal_templateparser.php" - #line 1129 "smarty_internal_templateparser.y" + + #line 1218 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r170() { - $this->_retvalue = '>'; + $this->_retvalue = + array($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'method'); } - #line 2969 "smarty_internal_templateparser.php" - #line 1133 "smarty_internal_templateparser.y" + + #line 1223 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r171() { - $this->_retvalue = '<'; + $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, ''); } - #line 2974 "smarty_internal_templateparser.php" - #line 1137 "smarty_internal_templateparser.y" + + #line 1228 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r172() { - $this->_retvalue = '>='; + $this->_retvalue = + array($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'property'); } - #line 2979 "smarty_internal_templateparser.php" - #line 1141 "smarty_internal_templateparser.y" + + #line 1233 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r173() { - $this->_retvalue = '<='; + $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor, + $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor, + 'property'); } - #line 2984 "smarty_internal_templateparser.php" - #line 1145 "smarty_internal_templateparser.y" + + #line 1239 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r174() { - $this->_retvalue = '==='; + $this->_retvalue['op'] = ' ' . trim($this->yystack[$this->yyidx + 0]->minor) . ' '; } - #line 2989 "smarty_internal_templateparser.php" - #line 1149 "smarty_internal_templateparser.y" + + #line 1243 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r175() { - $this->_retvalue = '!=='; + static $lops = array('eq' => array('op' => ' == ', 'pre' => null), + 'ne' => array('op' => ' != ', 'pre' => null), + 'neq' => array('op' => ' != ', 'pre' => null), + 'gt' => array('op' => ' > ', 'pre' => null), + 'ge' => array('op' => ' >= ', 'pre' => null), + 'gte' => array('op' => ' >= ', 'pre' => null), + 'lt' => array('op' => ' < ', 'pre' => null), + 'le' => array('op' => ' <= ', 'pre' => null), + 'lte' => array('op' => ' <= ', 'pre' => null), + 'mod' => array('op' => ' % ', 'pre' => null), + 'and' => array('op' => ' && ', 'pre' => null), + 'or' => array('op' => ' || ', 'pre' => null), + 'xor' => array('op' => ' xor ', 'pre' => null), + 'isdivby' => array('op' => ' % ', 'pre' => '!('), + 'isnotdivby' => array('op' => ' % ', 'pre' => '('), + 'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '), + 'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '), + 'isoddby' => array('op' => ' / ', 'pre' => '(1 & '), + 'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),); + $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $lops[$op]; } - #line 2994 "smarty_internal_templateparser.php" - #line 1153 "smarty_internal_templateparser.y" + + #line 1269 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r176() { - $this->_retvalue = '%'; + static $scond = array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', + 'isnotodd' => '!(1 & ',); + $op = strtolower(str_replace(' ', '', $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $scond[$op]; } - #line 2999 "smarty_internal_templateparser.php" - #line 1157 "smarty_internal_templateparser.y" + + #line 1283 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r177() { - $this->_retvalue = '&&'; - } - #line 3004 "smarty_internal_templateparser.php" - #line 1161 "smarty_internal_templateparser.y" - function yy_r178() - { - $this->_retvalue = '||'; + $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 3009 "smarty_internal_templateparser.php" - #line 1165 "smarty_internal_templateparser.y" + + #line 1291 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r179() { - $this->_retvalue = ' XOR '; + $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor; } - #line 3014 "smarty_internal_templateparser.php" - #line 1172 "smarty_internal_templateparser.y" - function yy_r180() + + #line 1299 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r181() { - $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')'; + $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor; } - #line 3019 "smarty_internal_templateparser.php" - #line 1180 "smarty_internal_templateparser.y" + + #line 1303 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r182() { - $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = + '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor; } - #line 3024 "smarty_internal_templateparser.php" - #line 1188 "smarty_internal_templateparser.y" - function yy_r184() + + #line 1319 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r185() { - $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor; + $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php($this); } - #line 3029 "smarty_internal_templateparser.php" - #line 1192 "smarty_internal_templateparser.y" - function yy_r185() + + #line 1324 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r186() { - $this->_retvalue = '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor; + $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; } - #line 3034 "smarty_internal_templateparser.php" - #line 1204 "smarty_internal_templateparser.y" + + #line 1329 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r187() { - $this->_retvalue = "''"; + $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[$this->yyidx + 0]->minor); } - #line 3039 "smarty_internal_templateparser.php" - #line 1208 "smarty_internal_templateparser.y" + + #line 1333 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r188() { - $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php(); - } - #line 3044 "smarty_internal_templateparser.php" - #line 1213 "smarty_internal_templateparser.y" - function yy_r189() - { - $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); - $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; + $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[$this->yyidx + - 1]->minor); } - #line 3050 "smarty_internal_templateparser.php" - #line 1218 "smarty_internal_templateparser.y" + + #line 1341 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r190() { - $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' . + substr($this->yystack[$this->yyidx + 0]->minor, 1) . + '\']->value'); } - #line 3055 "smarty_internal_templateparser.php" - #line 1222 "smarty_internal_templateparser.y" - function yy_r191() + + #line 1349 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r192() { - $this->_retvalue = new _smarty_code($this, '(string)' . $this->yystack[$this->yyidx + - 1]->minor); + $this->_retvalue = + new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')'); } - #line 3060 "smarty_internal_templateparser.php" - #line 1230 "smarty_internal_templateparser.y" + + #line 1353 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r193() { - $this->_retvalue = new _smarty_code($this, '(string)$_smarty_tpl->tpl_vars[\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\']->value'); - } - #line 3065 "smarty_internal_templateparser.php" - #line 1238 "smarty_internal_templateparser.y" - function yy_r195() - { - $this->_retvalue = new _smarty_code($this, '(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')'); - } - #line 3070 "smarty_internal_templateparser.php" - #line 1242 "smarty_internal_templateparser.y" - function yy_r196() - { - $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + - 1]->minor); + $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[$this->yyidx + 0]->minor); } - #line 3075 "smarty_internal_templateparser.php" - #line 1246 "smarty_internal_templateparser.y" - function yy_r197() + + #line 1357 "../smarty/lexer/smarty_internal_templateparser.y" + function yy_r194() { - $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); + $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[$this->yyidx + 0]->minor); } - #line 3080 "smarty_internal_templateparser.php" - private $_retvalue; public function yy_reduce($yyruleno) { - $yymsp = $this->yystack[$this->yyidx]; - if ($this->yyTraceFILE && $yyruleno >= 0 - && $yyruleno < count(self::$yyRuleName) - ) { - fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", - $this->yyTracePrompt, $yyruleno, + if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < count(self::$yyRuleName)) { + fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno, self::$yyRuleName[$yyruleno]); } $this->_retvalue = $yy_lefthand_side = null; - if (array_key_exists($yyruleno, self::$yyReduceMap)) { + if (isset(self::$yyReduceMap[$yyruleno])) { // call the action $this->_retvalue = null; $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}(); $yy_lefthand_side = $this->_retvalue; } - $yygoto = self::$yyRuleInfo[$yyruleno]['lhs']; - $yysize = self::$yyRuleInfo[$yyruleno]['rhs']; + $yygoto = self::$yyRuleInfo[$yyruleno][0]; + $yysize = self::$yyRuleInfo[$yyruleno][1]; $this->yyidx -= $yysize; for ($i = $yysize; $i; $i --) { // pop all of the right-hand side parameters @@ -4449,12 +2747,11 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php public function yy_syntax_error($yymajor, $TOKEN) { - #line 75 "smarty_internal_templateparser.y" + #line 207 "../smarty/lexer/smarty_internal_templateparser.y" $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_template_error(); - #line 3142 "smarty_internal_templateparser.php" } public function yy_accept() @@ -4463,16 +2760,13 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt); } while ($this->yyidx >= 0) { - $stack = $this->yy_pop_parser_stack(); + $this->yy_pop_parser_stack(); } - #line 66 "smarty_internal_templateparser.y" + #line 200 "../smarty/lexer/smarty_internal_templateparser.y" $this->successful = !$this->internalError; $this->internalError = false; $this->retvalue = $this->_retvalue; - //echo $this->retvalue."\n\n"; - - #line 3160 "smarty_internal_templateparser.php" } public function doParse($yymajor, $yytokenvalue) @@ -4486,20 +2780,17 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php $x->stateno = 0; $x->major = 0; $this->yystack = array(); - array_push($this->yystack, $x); + $this->yystack[] = $x; } $yyendofinput = ($yymajor == 0); if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sInput %s\n", - $this->yyTracePrompt, $this->yyTokenName[$yymajor]); + fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[$yymajor]); } do { $yyact = $this->yy_find_shift_action($yymajor); - if ($yymajor < self::YYERRORSYMBOL && - !$this->yy_is_expected_token($yymajor) - ) { + if ($yymajor < self::YYERRORSYMBOL && !$this->yy_is_expected_token($yymajor)) { // force a syntax error $yyact = self::YY_ERROR_ACTION; } @@ -4515,8 +2806,7 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php $this->yy_reduce($yyact - self::YYNSTATE); } elseif ($yyact == self::YY_ERROR_ACTION) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sSyntax Error!\n", - $this->yyTracePrompt); + fprintf($this->yyTraceFILE, "%sSyntax Error!\n", $this->yyTracePrompt); } if (self::YYERRORSYMBOL) { if ($this->yyerrcnt < 0) { @@ -4525,16 +2815,14 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php $yymx = $this->yystack[$this->yyidx]->major; if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", - $this->yyTracePrompt, $this->yyTokenName[$yymajor]); + fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt, + $this->yyTokenName[$yymajor]); } $this->yy_destructor($yymajor, $yytokenvalue); $yymajor = self::YYNOCODE; } else { - while ($this->yyidx >= 0 && - $yymx != self::YYERRORSYMBOL && - ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE - ) { + while ($this->yyidx >= 0 && $yymx != self::YYERRORSYMBOL && + ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE) { $this->yy_pop_parser_stack(); } if ($this->yyidx < 0 || $yymajor == 0) { @@ -4566,3 +2854,4 @@ class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0); } } + diff --git a/library/Smarty/libs/sysplugins/smarty_internal_testinstall.php b/library/Smarty/libs/sysplugins/smarty_internal_testinstall.php new file mode 100644 index 000000000..5b6475ccc --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_testinstall.php @@ -0,0 +1,605 @@ +<?php +/** + * Smarty Internal TestInstall + * Test Smarty installation + * + * @package Smarty + * @subpackage Utilities + * @author Uwe Tews + */ + +/** + * TestInstall class + * + * @package Smarty + * @subpackage Utilities + */ +class Smarty_Internal_TestInstall +{ + /** + * diagnose Smarty setup + * If $errors is secified, the diagnostic report will be appended to the array, rather than being output. + * + * @param array $errors array to push results into rather than outputting them + * + * @return bool status, true if everything is fine, false else + */ + public static function testInstall(Smarty $smarty, &$errors = null) + { + $status = true; + + if ($errors === null) { + echo "<PRE>\n"; + echo "Smarty Installation test...\n"; + echo "Testing template directory...\n"; + } + + $_stream_resolve_include_path = function_exists('stream_resolve_include_path'); + + // test if all registered template_dir are accessible + foreach ($smarty->getTemplateDir() as $template_dir) { + $_template_dir = $template_dir; + $template_dir = realpath($template_dir); + // resolve include_path or fail existence + if (!$template_dir) { + if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_template_dir)) { + // try PHP include_path + if ($_stream_resolve_include_path) { + $template_dir = stream_resolve_include_path($_template_dir); + } else { + $template_dir = $smarty->ext->_getIncludePath->getIncludePath($_template_dir, null, $smarty); + } + + if ($template_dir !== false) { + if ($errors === null) { + echo "$template_dir is OK.\n"; + } + + continue; + } else { + $status = false; + $message = + "FAILED: $_template_dir does not exist (and couldn't be found in include_path either)"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['template_dir'] = $message; + } + + continue; + } + } else { + $status = false; + $message = "FAILED: $_template_dir does not exist"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['template_dir'] = $message; + } + + continue; + } + } + + if (!is_dir($template_dir)) { + $status = false; + $message = "FAILED: $template_dir is not a directory"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['template_dir'] = $message; + } + } elseif (!is_readable($template_dir)) { + $status = false; + $message = "FAILED: $template_dir is not readable"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['template_dir'] = $message; + } + } else { + if ($errors === null) { + echo "$template_dir is OK.\n"; + } + } + } + + if ($errors === null) { + echo "Testing compile directory...\n"; + } + + // test if registered compile_dir is accessible + $__compile_dir = $smarty->getCompileDir(); + $_compile_dir = realpath($__compile_dir); + if (!$_compile_dir) { + $status = false; + $message = "FAILED: {$__compile_dir} does not exist"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['compile_dir'] = $message; + } + } elseif (!is_dir($_compile_dir)) { + $status = false; + $message = "FAILED: {$_compile_dir} is not a directory"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['compile_dir'] = $message; + } + } elseif (!is_readable($_compile_dir)) { + $status = false; + $message = "FAILED: {$_compile_dir} is not readable"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['compile_dir'] = $message; + } + } elseif (!is_writable($_compile_dir)) { + $status = false; + $message = "FAILED: {$_compile_dir} is not writable"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['compile_dir'] = $message; + } + } else { + if ($errors === null) { + echo "{$_compile_dir} is OK.\n"; + } + } + + if ($errors === null) { + echo "Testing plugins directory...\n"; + } + + // test if all registered plugins_dir are accessible + // and if core plugins directory is still registered + $_core_plugins_dir = realpath(dirname(__FILE__) . '/../plugins'); + $_core_plugins_available = false; + foreach ($smarty->getPluginsDir() as $plugin_dir) { + $_plugin_dir = $plugin_dir; + $plugin_dir = realpath($plugin_dir); + // resolve include_path or fail existence + if (!$plugin_dir) { + if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_plugin_dir)) { + // try PHP include_path + if ($_stream_resolve_include_path) { + $plugin_dir = stream_resolve_include_path($_plugin_dir); + } else { + $plugin_dir = $smarty->ext->_getIncludePath->getIncludePath($_plugin_dir, null, $smarty); + } + + if ($plugin_dir !== false) { + if ($errors === null) { + echo "$plugin_dir is OK.\n"; + } + + continue; + } else { + $status = false; + $message = "FAILED: $_plugin_dir does not exist (and couldn't be found in include_path either)"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['plugins_dir'] = $message; + } + + continue; + } + } else { + $status = false; + $message = "FAILED: $_plugin_dir does not exist"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['plugins_dir'] = $message; + } + + continue; + } + } + + if (!is_dir($plugin_dir)) { + $status = false; + $message = "FAILED: $plugin_dir is not a directory"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['plugins_dir'] = $message; + } + } elseif (!is_readable($plugin_dir)) { + $status = false; + $message = "FAILED: $plugin_dir is not readable"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['plugins_dir'] = $message; + } + } elseif ($_core_plugins_dir && $_core_plugins_dir == realpath($plugin_dir)) { + $_core_plugins_available = true; + if ($errors === null) { + echo "$plugin_dir is OK.\n"; + } + } else { + if ($errors === null) { + echo "$plugin_dir is OK.\n"; + } + } + } + if (!$_core_plugins_available) { + $status = false; + $message = "WARNING: Smarty's own libs/plugins is not available"; + if ($errors === null) { + echo $message . ".\n"; + } elseif (!isset($errors['plugins_dir'])) { + $errors['plugins_dir'] = $message; + } + } + + if ($errors === null) { + echo "Testing cache directory...\n"; + } + + // test if all registered cache_dir is accessible + $__cache_dir = $smarty->getCacheDir(); + $_cache_dir = realpath($__cache_dir); + if (!$_cache_dir) { + $status = false; + $message = "FAILED: {$__cache_dir} does not exist"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['cache_dir'] = $message; + } + } elseif (!is_dir($_cache_dir)) { + $status = false; + $message = "FAILED: {$_cache_dir} is not a directory"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['cache_dir'] = $message; + } + } elseif (!is_readable($_cache_dir)) { + $status = false; + $message = "FAILED: {$_cache_dir} is not readable"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['cache_dir'] = $message; + } + } elseif (!is_writable($_cache_dir)) { + $status = false; + $message = "FAILED: {$_cache_dir} is not writable"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['cache_dir'] = $message; + } + } else { + if ($errors === null) { + echo "{$_cache_dir} is OK.\n"; + } + } + + if ($errors === null) { + echo "Testing configs directory...\n"; + } + + // test if all registered config_dir are accessible + foreach ($smarty->getConfigDir() as $config_dir) { + $_config_dir = $config_dir; + // resolve include_path or fail existence + if (!$config_dir) { + if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_config_dir)) { + // try PHP include_path + if ($_stream_resolve_include_path) { + $config_dir = stream_resolve_include_path($_config_dir); + } else { + $config_dir = $smarty->ext->_getIncludePath->getIncludePath($_config_dir, null, $smarty); + } + + if ($config_dir !== false) { + if ($errors === null) { + echo "$config_dir is OK.\n"; + } + + continue; + } else { + $status = false; + $message = "FAILED: $_config_dir does not exist (and couldn't be found in include_path either)"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['config_dir'] = $message; + } + + continue; + } + } else { + $status = false; + $message = "FAILED: $_config_dir does not exist"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['config_dir'] = $message; + } + + continue; + } + } + + if (!is_dir($config_dir)) { + $status = false; + $message = "FAILED: $config_dir is not a directory"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['config_dir'] = $message; + } + } elseif (!is_readable($config_dir)) { + $status = false; + $message = "FAILED: $config_dir is not readable"; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['config_dir'] = $message; + } + } else { + if ($errors === null) { + echo "$config_dir is OK.\n"; + } + } + } + + if ($errors === null) { + echo "Testing sysplugin files...\n"; + } + // test if sysplugins are available + $source = SMARTY_SYSPLUGINS_DIR; + if (is_dir($source)) { + $expectedSysplugins = array('smartycompilerexception.php' => true, + 'smartyexception.php' => true, + 'smarty_cacheresource.php' => true, + 'smarty_cacheresource_custom.php' => true, + 'smarty_cacheresource_keyvaluestore.php' => true, + 'smarty_data.php' => true, + 'smarty_internal_cacheresource_file.php' => true, + 'smarty_internal_compilebase.php' => true, + 'smarty_internal_compile_append.php' => true, + 'smarty_internal_compile_assign.php' => true, + 'smarty_internal_compile_block.php' => true, + 'smarty_internal_compile_break.php' => true, + 'smarty_internal_compile_call.php' => true, + 'smarty_internal_compile_capture.php' => true, + 'smarty_internal_compile_config_load.php' => true, + 'smarty_internal_compile_continue.php' => true, + 'smarty_internal_compile_debug.php' => true, + 'smarty_internal_compile_eval.php' => true, + 'smarty_internal_compile_extends.php' => true, + 'smarty_internal_compile_for.php' => true, + 'smarty_internal_compile_foreach.php' => true, + 'smarty_internal_compile_function.php' => true, + 'smarty_internal_compile_if.php' => true, + 'smarty_internal_compile_include.php' => true, + 'smarty_internal_compile_include_php.php' => true, + 'smarty_internal_compile_insert.php' => true, + 'smarty_internal_compile_ldelim.php' => true, + 'smarty_internal_compile_nocache.php' => true, + 'smarty_internal_compile_private_block_plugin.php' => true, + 'smarty_internal_compile_private_foreachsection.php' => true, + 'smarty_internal_compile_private_function_plugin.php' => true, + 'smarty_internal_compile_private_modifier.php' => true, + 'smarty_internal_compile_private_object_block_function.php' => true, + 'smarty_internal_compile_private_object_function.php' => true, + 'smarty_internal_compile_private_php.php' => true, + 'smarty_internal_compile_private_print_expression.php' => true, + 'smarty_internal_compile_private_registered_block.php' => true, + 'smarty_internal_compile_private_registered_function.php' => true, + 'smarty_internal_compile_private_special_variable.php' => true, + 'smarty_internal_compile_rdelim.php' => true, + 'smarty_internal_compile_section.php' => true, + 'smarty_internal_compile_setfilter.php' => true, + 'smarty_internal_compile_shared_inheritance.php' => true, + 'smarty_internal_compile_while.php' => true, + 'smarty_internal_configfilelexer.php' => true, + 'smarty_internal_configfileparser.php' => true, + 'smarty_internal_config_file_compiler.php' => true, + 'smarty_internal_data.php' => true, + 'smarty_internal_debug.php' => true, + 'smarty_internal_extension_clear.php' => true, + 'smarty_internal_extension_handler.php' => true, + 'smarty_internal_method_addautoloadfilters.php' => true, + 'smarty_internal_method_adddefaultmodifiers.php' => true, + 'smarty_internal_method_append.php' => true, + 'smarty_internal_method_appendbyref.php' => true, + 'smarty_internal_method_assignbyref.php' => true, + 'smarty_internal_method_assignglobal.php' => true, + 'smarty_internal_method_clearallassign.php' => true, + 'smarty_internal_method_clearallcache.php' => true, + 'smarty_internal_method_clearassign.php' => true, + 'smarty_internal_method_clearcache.php' => true, + 'smarty_internal_method_clearcompiledtemplate.php' => true, + 'smarty_internal_method_clearconfig.php' => true, + 'smarty_internal_method_compileallconfig.php' => true, + 'smarty_internal_method_compilealltemplates.php' => true, + 'smarty_internal_method_configload.php' => true, + 'smarty_internal_method_createdata.php' => true, + 'smarty_internal_method_getautoloadfilters.php' => true, + 'smarty_internal_method_getconfigvars.php' => true, + 'smarty_internal_method_getdebugtemplate.php' => true, + 'smarty_internal_method_getdefaultmodifiers.php' => true, + 'smarty_internal_method_getregisteredobject.php' => true, + 'smarty_internal_method_getstreamvariable.php' => true, + 'smarty_internal_method_gettags.php' => true, + 'smarty_internal_method_gettemplatevars.php' => true, + 'smarty_internal_method_loadfilter.php' => true, + 'smarty_internal_method_loadplugin.php' => true, + 'smarty_internal_method_mustcompile.php' => true, + 'smarty_internal_method_registercacheresource.php' => true, + 'smarty_internal_method_registerclass.php' => true, + 'smarty_internal_method_registerdefaultconfighandler.php' => true, + 'smarty_internal_method_registerdefaultpluginhandler.php' => true, + 'smarty_internal_method_registerdefaulttemplatehandler.php' => true, + 'smarty_internal_method_registerfilter.php' => true, + 'smarty_internal_method_registerobject.php' => true, + 'smarty_internal_method_registerplugin.php' => true, + 'smarty_internal_method_registerresource.php' => true, + 'smarty_internal_method_setautoloadfilters.php' => true, + 'smarty_internal_method_setdebugtemplate.php' => true, + 'smarty_internal_method_setdefaultmodifiers.php' => true, + 'smarty_internal_method_unloadfilter.php' => true, + 'smarty_internal_method_unregistercacheresource.php' => true, + 'smarty_internal_method_unregisterfilter.php' => true, + 'smarty_internal_method_unregisterobject.php' => true, + 'smarty_internal_method_unregisterplugin.php' => true, + 'smarty_internal_method_unregisterresource.php' => true, + 'smarty_internal_nocache_insert.php' => true, + 'smarty_internal_parsetree.php' => true, + 'smarty_internal_parsetree_code.php' => true, + 'smarty_internal_parsetree_dq.php' => true, + 'smarty_internal_parsetree_dqcontent.php' => true, + 'smarty_internal_parsetree_tag.php' => true, + 'smarty_internal_parsetree_template.php' => true, + 'smarty_internal_parsetree_text.php' => true, + 'smarty_internal_resource_eval.php' => true, + 'smarty_internal_resource_extends.php' => true, + 'smarty_internal_resource_file.php' => true, + 'smarty_internal_resource_php.php' => true, + 'smarty_internal_resource_registered.php' => true, + 'smarty_internal_resource_stream.php' => true, + 'smarty_internal_resource_string.php' => true, + 'smarty_internal_runtime_cachemodify.php' => true, + 'smarty_internal_runtime_codeframe.php' => true, + 'smarty_internal_runtime_filterhandler.php' => true, + 'smarty_internal_runtime_foreach.php' => true, + 'smarty_internal_runtime_getincludepath.php' => true, + 'smarty_internal_runtime_hhvm.php' => true, + 'smarty_internal_runtime_inheritance.php' => true, + 'smarty_internal_runtime_iscached.php' => true, + 'smarty_internal_runtime_subtemplate.php' => true, + 'smarty_internal_runtime_tplfunction.php' => true, + 'smarty_internal_runtime_updatecache.php' => true, + 'smarty_internal_runtime_updatescope.php' => true, + 'smarty_internal_runtime_validatecompiled.php' => true, + 'smarty_internal_runtime_var.php' => true, + 'smarty_internal_runtime_writefile.php' => true, + 'smarty_internal_smartytemplatecompiler.php' => true, + 'smarty_internal_template.php' => true, + 'smarty_internal_templatebase.php' => true, + 'smarty_internal_templatecompilerbase.php' => true, + 'smarty_internal_templatelexer.php' => true, + 'smarty_internal_templateparser.php' => true, + 'smarty_internal_testinstall.php' => true, + 'smarty_internal_undefined.php' => true, + 'smarty_resource.php' => true, + 'smarty_resource_custom.php' => true, + 'smarty_resource_recompiled.php' => true, + 'smarty_resource_uncompiled.php' => true, + 'smarty_security.php' => true, + 'smarty_template_cached.php' => true, + 'smarty_template_compiled.php' => true, + 'smarty_template_config.php' => true, + 'smarty_template_resource_base.php' => true, + 'smarty_template_source.php' => true, + 'smarty_undefined_variable.php' => true, + 'smarty_variable.php' => true,); + $iterator = new DirectoryIterator($source); + foreach ($iterator as $file) { + if (!$file->isDot()) { + $filename = $file->getFilename(); + if (isset($expectedSysplugins[$filename])) { + unset($expectedSysplugins[$filename]); + } + } + } + if ($expectedSysplugins) { + $status = false; + $message = "FAILED: files missing from libs/sysplugins: " . join(', ', array_keys($expectedSysplugins)); + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['sysplugins'] = $message; + } + } elseif ($errors === null) { + echo "... OK\n"; + } + } else { + $status = false; + $message = "FAILED: " . SMARTY_SYSPLUGINS_DIR . ' is not a directory'; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['sysplugins_dir_constant'] = $message; + } + } + + if ($errors === null) { + echo "Testing plugin files...\n"; + } + // test if core plugins are available + $source = SMARTY_PLUGINS_DIR; + if (is_dir($source)) { + $expectedPlugins = + array('block.textformat.php' => true, 'function.counter.php' => true, + 'function.cycle.php' => true, 'function.fetch.php' => true, + 'function.html_checkboxes.php' => true, 'function.html_image.php' => true, + 'function.html_options.php' => true, 'function.html_radios.php' => true, + 'function.html_select_date.php' => true, 'function.html_select_time.php' => true, + 'function.html_table.php' => true, 'function.mailto.php' => true, + 'function.math.php' => true, 'modifier.capitalize.php' => true, + 'modifier.date_format.php' => true, 'modifier.debug_print_var.php' => true, + 'modifier.escape.php' => true, 'modifier.regex_replace.php' => true, + 'modifier.replace.php' => true, 'modifier.spacify.php' => true, + 'modifier.truncate.php' => true, 'modifiercompiler.cat.php' => true, + 'modifiercompiler.count_characters.php' => true, 'modifiercompiler.count_paragraphs.php' => true, + 'modifiercompiler.count_sentences.php' => true, 'modifiercompiler.count_words.php' => true, + 'modifiercompiler.default.php' => true, 'modifiercompiler.escape.php' => true, + 'modifiercompiler.from_charset.php' => true, 'modifiercompiler.indent.php' => true, + 'modifiercompiler.lower.php' => true, 'modifiercompiler.noprint.php' => true, + 'modifiercompiler.string_format.php' => true, 'modifiercompiler.strip.php' => true, + 'modifiercompiler.strip_tags.php' => true, 'modifiercompiler.to_charset.php' => true, + 'modifiercompiler.unescape.php' => true, 'modifiercompiler.upper.php' => true, + 'modifiercompiler.wordwrap.php' => true, 'outputfilter.trimwhitespace.php' => true, + 'shared.escape_special_chars.php' => true, 'shared.literal_compiler_param.php' => true, + 'shared.make_timestamp.php' => true, 'shared.mb_str_replace.php' => true, + 'shared.mb_unicode.php' => true, 'shared.mb_wordwrap.php' => true, + 'variablefilter.htmlspecialchars.php' => true,); + $iterator = new DirectoryIterator($source); + foreach ($iterator as $file) { + if (!$file->isDot()) { + $filename = $file->getFilename(); + if (isset($expectedPlugins[$filename])) { + unset($expectedPlugins[$filename]); + } + } + } + if ($expectedPlugins) { + $status = false; + $message = "FAILED: files missing from libs/plugins: " . join(', ', array_keys($expectedPlugins)); + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['plugins'] = $message; + } + } elseif ($errors === null) { + echo "... OK\n"; + } + } else { + $status = false; + $message = "FAILED: " . SMARTY_PLUGINS_DIR . ' is not a directory'; + if ($errors === null) { + echo $message . ".\n"; + } else { + $errors['plugins_dir_constant'] = $message; + } + } + + if ($errors === null) { + echo "Tests complete.\n"; + echo "</PRE>\n"; + } + + return $status; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_internal_undefined.php b/library/Smarty/libs/sysplugins/smarty_internal_undefined.php new file mode 100644 index 000000000..93fca8ec1 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_undefined.php @@ -0,0 +1,48 @@ +<?php + +/** + * Smarty Method AppendByRef + * + * Smarty::appendByRef() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Undefined +{ + + /** + * This function is executed automatically when a compiled or cached template file is included + * - Decode saved properties from compiled template and cache files + * - Check if compiled or cache file is valid + * + * @param array $properties special template properties + * @param bool $cache flag if called from cache file + * + * @return bool flag if compiled or cache file is valid + */ + public function decodeProperties($tpl, $properties, $cache = false) + { + if ($cache) { + $tpl->cached->valid = false; + } else { + $tpl->mustCompile = true; + } + return false; + } + + /** + * Call error handler for undefined method + * + * @param string $name unknown method-name + * @param array $args argument array + * + * @return mixed + * @throws SmartyException + */ + public function __call($name, $args) + { + throw new SmartyException(get_class($args[0]) . "->{$name}() undefined method"); + } +}
\ No newline at end of file diff --git a/library/Smarty/libs/sysplugins/smarty_internal_utility.php b/library/Smarty/libs/sysplugins/smarty_internal_utility.php deleted file mode 100644 index 0a5975bba..000000000 --- a/library/Smarty/libs/sysplugins/smarty_internal_utility.php +++ /dev/null @@ -1,837 +0,0 @@ -<?php -/** - * Project: Smarty: the PHP compiling template engine - * File: smarty_internal_utility.php - * SVN: $Id: $ - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * For questions, help, comments, discussion, etc., please join the - * Smarty mailing list. Send a blank e-mail to - * smarty-discussion-subscribe@googlegroups.com - * - * @link http://www.smarty.net/ - * @copyright 2008 New Digital Group, Inc. - * @author Monte Ohrt <monte at ohrt dot com> - * @author Uwe Tews - * @package Smarty - * @subpackage PluginsInternal - * @version 3-SVN$Rev: 3286 $ - */ - -/** - * Utility class - * - * @package Smarty - * @subpackage Security - */ -class Smarty_Internal_Utility -{ - /** - * private constructor to prevent calls creation of new instances - */ - final private function __construct() - { - // intentionally left blank - } - - /** - * Compile all template files - * - * @param string $extension template file name extension - * @param bool $force_compile force all to recompile - * @param int $time_limit set maximum execution time - * @param int $max_errors set maximum allowed errors - * @param Smarty $smarty Smarty instance - * - * @return integer number of template files compiled - */ - public static function compileAllTemplates($extension, $force_compile, $time_limit, $max_errors, Smarty $smarty) - { - // switch off time limit - if (function_exists('set_time_limit')) { - @set_time_limit($time_limit); - } - $smarty->force_compile = $force_compile; - $_count = 0; - $_error_count = 0; - // loop over array of template directories - foreach ($smarty->getTemplateDir() as $_dir) { - $_compileDirs = new RecursiveDirectoryIterator($_dir); - $_compile = new RecursiveIteratorIterator($_compileDirs); - foreach ($_compile as $_fileinfo) { - $_file = $_fileinfo->getFilename(); - if (substr(basename($_fileinfo->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { - continue; - } - if (!substr_compare($_file, $extension, - strlen($extension)) == 0) { - continue; - } - if ($_fileinfo->getPath() == substr($_dir, 0, - 1)) { - $_template_file = $_file; - } else { - $_template_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file; - } - echo '<br>', $_dir, '---', $_template_file; - flush(); - $_start_time = microtime(true); - try { - $_tpl = $smarty->createTemplate($_template_file, null, null, null, false); - if ($_tpl->mustCompile()) { - $_tpl->compileTemplateSource(); - $_count ++; - echo ' compiled in ', microtime(true) - $_start_time, ' seconds'; - flush(); - } else { - echo ' is up to date'; - flush(); - } - } - catch (Exception $e) { - echo 'Error: ', $e->getMessage(), "<br><br>"; - $_error_count ++; - } - // free memory - $smarty->template_objects = array(); - $_tpl->smarty->template_objects = array(); - $_tpl = null; - if ($max_errors !== null && $_error_count == $max_errors) { - echo '<br><br>too many errors'; - exit(); - } - } - } - - return $_count; - } - - /** - * Compile all config files - * - * @param string $extension config file name extension - * @param bool $force_compile force all to recompile - * @param int $time_limit set maximum execution time - * @param int $max_errors set maximum allowed errors - * @param Smarty $smarty Smarty instance - * - * @return integer number of config files compiled - */ - public static function compileAllConfig($extension, $force_compile, $time_limit, $max_errors, Smarty $smarty) - { - // switch off time limit - if (function_exists('set_time_limit')) { - @set_time_limit($time_limit); - } - $smarty->force_compile = $force_compile; - $_count = 0; - $_error_count = 0; - // loop over array of template directories - foreach ($smarty->getConfigDir() as $_dir) { - $_compileDirs = new RecursiveDirectoryIterator($_dir); - $_compile = new RecursiveIteratorIterator($_compileDirs); - foreach ($_compile as $_fileinfo) { - $_file = $_fileinfo->getFilename(); - if (substr(basename($_fileinfo->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { - continue; - } - if (!substr_compare($_file, $extension, - strlen($extension)) == 0) { - continue; - } - if ($_fileinfo->getPath() == substr($_dir, 0, - 1)) { - $_config_file = $_file; - } else { - $_config_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file; - } - echo '<br>', $_dir, '---', $_config_file; - flush(); - $_start_time = microtime(true); - try { - $_config = new Smarty_Internal_Config($_config_file, $smarty); - if ($_config->mustCompile()) { - $_config->compileConfigSource(); - $_count ++; - echo ' compiled in ', microtime(true) - $_start_time, ' seconds'; - flush(); - } else { - echo ' is up to date'; - flush(); - } - } - catch (Exception $e) { - echo 'Error: ', $e->getMessage(), "<br><br>"; - $_error_count ++; - } - if ($max_errors !== null && $_error_count == $max_errors) { - echo '<br><br>too many errors'; - exit(); - } - } - } - - return $_count; - } - - /** - * Delete compiled template file - * - * @param string $resource_name template name - * @param string $compile_id compile id - * @param integer $exp_time expiration time - * @param Smarty $smarty Smarty instance - * - * @return integer number of template files deleted - */ - public static function clearCompiledTemplate($resource_name, $compile_id, $exp_time, Smarty $smarty) - { - $_compile_dir = realpath($smarty->getCompileDir()) . '/'; - $_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null; - $_dir_sep = $smarty->use_sub_dirs ? '/' : '^'; - if (isset($resource_name)) { - $_save_stat = $smarty->caching; - $smarty->caching = false; - $tpl = new $smarty->template_class($resource_name, $smarty); - $smarty->caching = $_save_stat; - - // remove from template cache - $tpl->source; // have the template registered before unset() - if ($smarty->allow_ambiguous_resources) { - $_templateId = $tpl->source->unique_resource . $tpl->cache_id . $tpl->compile_id; - } else { - $_templateId = $smarty->joined_template_dir . '#' . $resource_name . $tpl->cache_id . $tpl->compile_id; - } - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); - } - unset($smarty->template_objects[$_templateId]); - - if ($tpl->source->exists) { - $_resource_part_1 = basename(str_replace('^', '/', $tpl->compiled->filepath)); - $_resource_part_1_length = strlen($_resource_part_1); - } else { - return 0; - } - - $_resource_part_2 = str_replace('.php', '.cache.php', $_resource_part_1); - $_resource_part_2_length = strlen($_resource_part_2); - } - $_dir = $_compile_dir; - if ($smarty->use_sub_dirs && isset($_compile_id)) { - $_dir .= $_compile_id . $_dir_sep; - } - if (isset($_compile_id)) { - $_compile_id_part = str_replace('\\', '/', $_compile_dir . $_compile_id . $_dir_sep); - $_compile_id_part_length = strlen($_compile_id_part); - } - $_count = 0; - try { - $_compileDirs = new RecursiveDirectoryIterator($_dir); - // NOTE: UnexpectedValueException thrown for PHP >= 5.3 - } - catch (Exception $e) { - return 0; - } - $_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST); - foreach ($_compile as $_file) { - if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { - continue; - } - - $_filepath = str_replace('\\', '/', (string) $_file); - - if ($_file->isDir()) { - if (!$_compile->isDot()) { - // delete folder if empty - @rmdir($_file->getPathname()); - } - } else { - $unlink = false; - if ((!isset($_compile_id) || (isset($_filepath[$_compile_id_part_length]) && $a = !strncmp($_filepath, $_compile_id_part, $_compile_id_part_length))) - && (!isset($resource_name) - || (isset($_filepath[$_resource_part_1_length]) - && substr_compare($_filepath, $_resource_part_1, - $_resource_part_1_length, $_resource_part_1_length) == 0) - || (isset($_filepath[$_resource_part_2_length]) - && substr_compare($_filepath, $_resource_part_2, - $_resource_part_2_length, $_resource_part_2_length) == 0)) - ) { - if (isset($exp_time)) { - if (time() - @filemtime($_filepath) >= $exp_time) { - $unlink = true; - } - } else { - $unlink = true; - } - } - - if ($unlink && @unlink($_filepath)) { - $_count ++; - } - } - } - // clear compiled cache - Smarty_Resource::$sources = array(); - Smarty_Resource::$compileds = array(); - - return $_count; - } - - /** - * Return array of tag/attributes of all tags used by an template - * - * @param Smarty_Internal_Template $template - * - * @throws Exception - * @throws SmartyException - * @return array of tag/attributes - */ - public static function getTags(Smarty_Internal_Template $template) - { - $template->smarty->get_used_tags = true; - $template->compileTemplateSource(); - - return $template->used_tags; - } - - /** - * diagnose Smarty setup - * If $errors is secified, the diagnostic report will be appended to the array, rather than being output. - * - * @param Smarty $smarty Smarty instance to test - * @param array $errors array to push results into rather than outputting them - * - * @return bool status, true if everything is fine, false else - */ - public static function testInstall(Smarty $smarty, &$errors = null) - { - $status = true; - - if ($errors === null) { - echo "<PRE>\n"; - echo "Smarty Installation test...\n"; - echo "Testing template directory...\n"; - } - - $_stream_resolve_include_path = function_exists('stream_resolve_include_path'); - - // test if all registered template_dir are accessible - foreach ($smarty->getTemplateDir() as $template_dir) { - $_template_dir = $template_dir; - $template_dir = realpath($template_dir); - // resolve include_path or fail existence - if (!$template_dir) { - if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_template_dir)) { - // try PHP include_path - if ($_stream_resolve_include_path) { - $template_dir = stream_resolve_include_path($_template_dir); - } else { - $template_dir = Smarty_Internal_Get_Include_Path::getIncludePath($_template_dir); - } - - if ($template_dir !== false) { - if ($errors === null) { - echo "$template_dir is OK.\n"; - } - - continue; - } else { - $status = false; - $message = "FAILED: $_template_dir does not exist (and couldn't be found in include_path either)"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['template_dir'] = $message; - } - - continue; - } - } else { - $status = false; - $message = "FAILED: $_template_dir does not exist"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['template_dir'] = $message; - } - - continue; - } - } - - if (!is_dir($template_dir)) { - $status = false; - $message = "FAILED: $template_dir is not a directory"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['template_dir'] = $message; - } - } elseif (!is_readable($template_dir)) { - $status = false; - $message = "FAILED: $template_dir is not readable"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['template_dir'] = $message; - } - } else { - if ($errors === null) { - echo "$template_dir is OK.\n"; - } - } - } - - if ($errors === null) { - echo "Testing compile directory...\n"; - } - - // test if registered compile_dir is accessible - $__compile_dir = $smarty->getCompileDir(); - $_compile_dir = realpath($__compile_dir); - if (!$_compile_dir) { - $status = false; - $message = "FAILED: {$__compile_dir} does not exist"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['compile_dir'] = $message; - } - } elseif (!is_dir($_compile_dir)) { - $status = false; - $message = "FAILED: {$_compile_dir} is not a directory"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['compile_dir'] = $message; - } - } elseif (!is_readable($_compile_dir)) { - $status = false; - $message = "FAILED: {$_compile_dir} is not readable"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['compile_dir'] = $message; - } - } elseif (!is_writable($_compile_dir)) { - $status = false; - $message = "FAILED: {$_compile_dir} is not writable"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['compile_dir'] = $message; - } - } else { - if ($errors === null) { - echo "{$_compile_dir} is OK.\n"; - } - } - - if ($errors === null) { - echo "Testing plugins directory...\n"; - } - - // test if all registered plugins_dir are accessible - // and if core plugins directory is still registered - $_core_plugins_dir = realpath(dirname(__FILE__) . '/../plugins'); - $_core_plugins_available = false; - foreach ($smarty->getPluginsDir() as $plugin_dir) { - $_plugin_dir = $plugin_dir; - $plugin_dir = realpath($plugin_dir); - // resolve include_path or fail existence - if (!$plugin_dir) { - if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_plugin_dir)) { - // try PHP include_path - if ($_stream_resolve_include_path) { - $plugin_dir = stream_resolve_include_path($_plugin_dir); - } else { - $plugin_dir = Smarty_Internal_Get_Include_Path::getIncludePath($_plugin_dir); - } - - if ($plugin_dir !== false) { - if ($errors === null) { - echo "$plugin_dir is OK.\n"; - } - - continue; - } else { - $status = false; - $message = "FAILED: $_plugin_dir does not exist (and couldn't be found in include_path either)"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['plugins_dir'] = $message; - } - - continue; - } - } else { - $status = false; - $message = "FAILED: $_plugin_dir does not exist"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['plugins_dir'] = $message; - } - - continue; - } - } - - if (!is_dir($plugin_dir)) { - $status = false; - $message = "FAILED: $plugin_dir is not a directory"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['plugins_dir'] = $message; - } - } elseif (!is_readable($plugin_dir)) { - $status = false; - $message = "FAILED: $plugin_dir is not readable"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['plugins_dir'] = $message; - } - } elseif ($_core_plugins_dir && $_core_plugins_dir == realpath($plugin_dir)) { - $_core_plugins_available = true; - if ($errors === null) { - echo "$plugin_dir is OK.\n"; - } - } else { - if ($errors === null) { - echo "$plugin_dir is OK.\n"; - } - } - } - if (!$_core_plugins_available) { - $status = false; - $message = "WARNING: Smarty's own libs/plugins is not available"; - if ($errors === null) { - echo $message . ".\n"; - } elseif (!isset($errors['plugins_dir'])) { - $errors['plugins_dir'] = $message; - } - } - - if ($errors === null) { - echo "Testing cache directory...\n"; - } - - // test if all registered cache_dir is accessible - $__cache_dir = $smarty->getCacheDir(); - $_cache_dir = realpath($__cache_dir); - if (!$_cache_dir) { - $status = false; - $message = "FAILED: {$__cache_dir} does not exist"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['cache_dir'] = $message; - } - } elseif (!is_dir($_cache_dir)) { - $status = false; - $message = "FAILED: {$_cache_dir} is not a directory"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['cache_dir'] = $message; - } - } elseif (!is_readable($_cache_dir)) { - $status = false; - $message = "FAILED: {$_cache_dir} is not readable"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['cache_dir'] = $message; - } - } elseif (!is_writable($_cache_dir)) { - $status = false; - $message = "FAILED: {$_cache_dir} is not writable"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['cache_dir'] = $message; - } - } else { - if ($errors === null) { - echo "{$_cache_dir} is OK.\n"; - } - } - - if ($errors === null) { - echo "Testing configs directory...\n"; - } - - // test if all registered config_dir are accessible - foreach ($smarty->getConfigDir() as $config_dir) { - $_config_dir = $config_dir; - $config_dir = realpath($config_dir); - // resolve include_path or fail existence - if (!$config_dir) { - if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_config_dir)) { - // try PHP include_path - if ($_stream_resolve_include_path) { - $config_dir = stream_resolve_include_path($_config_dir); - } else { - $config_dir = Smarty_Internal_Get_Include_Path::getIncludePath($_config_dir); - } - - if ($config_dir !== false) { - if ($errors === null) { - echo "$config_dir is OK.\n"; - } - - continue; - } else { - $status = false; - $message = "FAILED: $_config_dir does not exist (and couldn't be found in include_path either)"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['config_dir'] = $message; - } - - continue; - } - } else { - $status = false; - $message = "FAILED: $_config_dir does not exist"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['config_dir'] = $message; - } - - continue; - } - } - - if (!is_dir($config_dir)) { - $status = false; - $message = "FAILED: $config_dir is not a directory"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['config_dir'] = $message; - } - } elseif (!is_readable($config_dir)) { - $status = false; - $message = "FAILED: $config_dir is not readable"; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['config_dir'] = $message; - } - } else { - if ($errors === null) { - echo "$config_dir is OK.\n"; - } - } - } - - if ($errors === null) { - echo "Testing sysplugin files...\n"; - } - // test if sysplugins are available - $source = SMARTY_SYSPLUGINS_DIR; - if (is_dir($source)) { - $expected = array( - "smarty_cacheresource.php" => true, - "smarty_cacheresource_custom.php" => true, - "smarty_cacheresource_keyvaluestore.php" => true, - "smarty_config_source.php" => true, - "smarty_internal_cacheresource_file.php" => true, - "smarty_internal_compile_append.php" => true, - "smarty_internal_compile_assign.php" => true, - "smarty_internal_compile_block.php" => true, - "smarty_internal_compile_break.php" => true, - "smarty_internal_compile_call.php" => true, - "smarty_internal_compile_capture.php" => true, - "smarty_internal_compile_config_load.php" => true, - "smarty_internal_compile_continue.php" => true, - "smarty_internal_compile_debug.php" => true, - "smarty_internal_compile_eval.php" => true, - "smarty_internal_compile_extends.php" => true, - "smarty_internal_compile_for.php" => true, - "smarty_internal_compile_foreach.php" => true, - "smarty_internal_compile_function.php" => true, - "smarty_internal_compile_if.php" => true, - "smarty_internal_compile_include.php" => true, - "smarty_internal_compile_include_php.php" => true, - "smarty_internal_compile_insert.php" => true, - "smarty_internal_compile_ldelim.php" => true, - "smarty_internal_compile_nocache.php" => true, - "smarty_internal_compile_private_block_plugin.php" => true, - "smarty_internal_compile_private_function_plugin.php" => true, - "smarty_internal_compile_private_modifier.php" => true, - "smarty_internal_compile_private_object_block_function.php" => true, - "smarty_internal_compile_private_object_function.php" => true, - "smarty_internal_compile_private_print_expression.php" => true, - "smarty_internal_compile_private_registered_block.php" => true, - "smarty_internal_compile_private_registered_function.php" => true, - "smarty_internal_compile_private_special_variable.php" => true, - "smarty_internal_compile_rdelim.php" => true, - "smarty_internal_compile_section.php" => true, - "smarty_internal_compile_setfilter.php" => true, - "smarty_internal_compile_while.php" => true, - "smarty_internal_compilebase.php" => true, - "smarty_internal_config.php" => true, - "smarty_internal_config_file_compiler.php" => true, - "smarty_internal_configfilelexer.php" => true, - "smarty_internal_configfileparser.php" => true, - "smarty_internal_data.php" => true, - "smarty_internal_debug.php" => true, - "smarty_internal_filter_handler.php" => true, - "smarty_internal_function_call_handler.php" => true, - "smarty_internal_get_include_path.php" => true, - "smarty_internal_nocache_insert.php" => true, - "smarty_internal_parsetree.php" => true, - "smarty_internal_resource_eval.php" => true, - "smarty_internal_resource_extends.php" => true, - "smarty_internal_resource_file.php" => true, - "smarty_internal_resource_registered.php" => true, - "smarty_internal_resource_stream.php" => true, - "smarty_internal_resource_string.php" => true, - "smarty_internal_smartytemplatecompiler.php" => true, - "smarty_internal_template.php" => true, - "smarty_internal_templatebase.php" => true, - "smarty_internal_templatecompilerbase.php" => true, - "smarty_internal_templatelexer.php" => true, - "smarty_internal_templateparser.php" => true, - "smarty_internal_utility.php" => true, - "smarty_internal_write_file.php" => true, - "smarty_resource.php" => true, - "smarty_resource_custom.php" => true, - "smarty_resource_recompiled.php" => true, - "smarty_resource_uncompiled.php" => true, - "smarty_security.php" => true, - ); - $iterator = new DirectoryIterator($source); - foreach ($iterator as $file) { - if (!$file->isDot()) { - $filename = $file->getFilename(); - if (isset($expected[$filename])) { - unset($expected[$filename]); - } - } - } - if ($expected) { - $status = false; - $message = "FAILED: files missing from libs/sysplugins: " . join(', ', array_keys($expected)); - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['sysplugins'] = $message; - } - } elseif ($errors === null) { - echo "... OK\n"; - } - } else { - $status = false; - $message = "FAILED: " . SMARTY_SYSPLUGINS_DIR . ' is not a directory'; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['sysplugins_dir_constant'] = $message; - } - } - - if ($errors === null) { - echo "Testing plugin files...\n"; - } - // test if core plugins are available - $source = SMARTY_PLUGINS_DIR; - if (is_dir($source)) { - $expected = array( - "block.textformat.php" => true, - "function.counter.php" => true, - "function.cycle.php" => true, - "function.fetch.php" => true, - "function.html_checkboxes.php" => true, - "function.html_image.php" => true, - "function.html_options.php" => true, - "function.html_radios.php" => true, - "function.html_select_date.php" => true, - "function.html_select_time.php" => true, - "function.html_table.php" => true, - "function.mailto.php" => true, - "function.math.php" => true, - "modifier.capitalize.php" => true, - "modifier.date_format.php" => true, - "modifier.debug_print_var.php" => true, - "modifier.escape.php" => true, - "modifier.regex_replace.php" => true, - "modifier.replace.php" => true, - "modifier.spacify.php" => true, - "modifier.truncate.php" => true, - "modifiercompiler.cat.php" => true, - "modifiercompiler.count_characters.php" => true, - "modifiercompiler.count_paragraphs.php" => true, - "modifiercompiler.count_sentences.php" => true, - "modifiercompiler.count_words.php" => true, - "modifiercompiler.default.php" => true, - "modifiercompiler.escape.php" => true, - "modifiercompiler.from_charset.php" => true, - "modifiercompiler.indent.php" => true, - "modifiercompiler.lower.php" => true, - "modifiercompiler.noprint.php" => true, - "modifiercompiler.string_format.php" => true, - "modifiercompiler.strip.php" => true, - "modifiercompiler.strip_tags.php" => true, - "modifiercompiler.to_charset.php" => true, - "modifiercompiler.unescape.php" => true, - "modifiercompiler.upper.php" => true, - "modifiercompiler.wordwrap.php" => true, - "outputfilter.trimwhitespace.php" => true, - "shared.escape_special_chars.php" => true, - "shared.literal_compiler_param.php" => true, - "shared.make_timestamp.php" => true, - "shared.mb_str_replace.php" => true, - "shared.mb_unicode.php" => true, - "shared.mb_wordwrap.php" => true, - "variablefilter.htmlspecialchars.php" => true, - ); - $iterator = new DirectoryIterator($source); - foreach ($iterator as $file) { - if (!$file->isDot()) { - $filename = $file->getFilename(); - if (isset($expected[$filename])) { - unset($expected[$filename]); - } - } - } - if ($expected) { - $status = false; - $message = "FAILED: files missing from libs/plugins: " . join(', ', array_keys($expected)); - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['plugins'] = $message; - } - } elseif ($errors === null) { - echo "... OK\n"; - } - } else { - $status = false; - $message = "FAILED: " . SMARTY_PLUGINS_DIR . ' is not a directory'; - if ($errors === null) { - echo $message . ".\n"; - } else { - $errors['plugins_dir_constant'] = $message; - } - } - - if ($errors === null) { - echo "Tests complete.\n"; - echo "</PRE>\n"; - } - - return $status; - } -} diff --git a/library/Smarty/libs/sysplugins/smarty_resource.php b/library/Smarty/libs/sysplugins/smarty_resource.php index f478a533d..72611255e 100644 --- a/library/Smarty/libs/sysplugins/smarty_resource.php +++ b/library/Smarty/libs/sysplugins/smarty_resource.php @@ -17,36 +17,37 @@ abstract class Smarty_Resource { /** - * cache for Smarty_Template_Source instances + * Source is bypassing compiler * - * @var array + * @var boolean */ - public static $sources = array(); + public $uncompiled = false; + /** - * cache for Smarty_Template_Compiled instances + * Source must be recompiled on every occasion * - * @var array + * @var boolean */ - public static $compileds = array(); + public $recompiled = false; + /** - * cache for Smarty_Resource instances + * resource types provided by the core * * @var array */ - public static $resources = array(); + public static $sysplugins = array('file' => 'smarty_internal_resource_file.php', + 'string' => 'smarty_internal_resource_string.php', + 'extends' => 'smarty_internal_resource_extends.php', + 'stream' => 'smarty_internal_resource_stream.php', + 'eval' => 'smarty_internal_resource_eval.php', + 'php' => 'smarty_internal_resource_php.php'); + /** - * resource types provided by the core + * Flag if resource does implement populateCompiledFilepath() method * - * @var array + * @var bool */ - protected static $sysplugins = array( - 'file' => true, - 'string' => true, - 'extends' => true, - 'stream' => true, - 'eval' => true, - 'php' => true - ); + public $hasCompiledHandler = false; /** * Name of the Class to compile this resource's contents with @@ -71,7 +72,6 @@ abstract class Smarty_Resource /** * Load template's source into current template object - * {@internal The loaded source is assigned to $_template->source->content directly.}} * * @param Smarty_Template_Source $source source object * @@ -103,268 +103,23 @@ abstract class Smarty_Resource * * @param Smarty $smarty Smarty instance * @param string $resource_name resource_name to make unique - * @param boolean $is_config flag for config resource + * @param boolean $isConfig flag for config resource * * @return string unique resource name */ - protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false) - { - if ($is_config) { - return get_class($this) . '#' . $smarty->joined_config_dir . '#' . $resource_name; - } else { - return get_class($this) . '#' . $smarty->joined_template_dir . '#' . $resource_name; - } - } - - /** - * populate Compiled Object with compiled filepath - * - * @param Smarty_Template_Compiled $compiled compiled object - * @param Smarty_Internal_Template $_template template object - */ - public function populateCompiledFilepath(Smarty_Template_Compiled $compiled, Smarty_Internal_Template $_template) - { - $_compile_id = isset($_template->compile_id) ? preg_replace('![^\w\|]+!', '_', $_template->compile_id) : null; - $_filepath = $compiled->source->uid; - // if use_sub_dirs, break file into directories - if ($_template->smarty->use_sub_dirs) { - $_filepath = substr($_filepath, 0, 2) . DS - . substr($_filepath, 2, 2) . DS - . substr($_filepath, 4, 2) . DS - . $_filepath; - } - $_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^'; - if (isset($_compile_id)) { - $_filepath = $_compile_id . $_compile_dir_sep . $_filepath; - } - // caching token - if ($_template->caching) { - $_cache = '.cache'; - } else { - $_cache = ''; - } - $_compile_dir = $_template->smarty->getCompileDir(); - // set basename if not specified - $_basename = $this->getBasename($compiled->source); - if ($_basename === null) { - $_basename = basename(preg_replace('![^\w\/]+!', '_', $compiled->source->name)); - } - // separate (optional) basename by dot - if ($_basename) { - $_basename = '.' . $_basename; - } - - $compiled->filepath = $_compile_dir . $_filepath . '.' . $compiled->source->type . $_basename . $_cache . '.php'; - } - - /** - * Normalize Paths "foo/../bar" to "bar" - * - * @param string $_path path to normalize - * @param boolean $ds respect windows directory separator - * - * @return string normalized path - */ - protected function normalizePath($_path, $ds = true) - { - if ($ds) { - // don't we all just love windows? - $_path = str_replace('\\', '/', $_path); - } - - $offset = 0; - - // resolve simples - $_path = preg_replace('#/\./(\./)*#', '/', $_path); - // resolve parents - while (true) { - $_parent = strpos($_path, '/../', $offset); - if (!$_parent) { - break; - } elseif ($_path[$_parent - 1] === '.') { - $offset = $_parent + 3; - continue; - } - - $_pos = strrpos($_path, '/', $_parent - strlen($_path) - 1); - if ($_pos === false) { - // don't we all just love windows? - $_pos = $_parent; - } - - $_path = substr_replace($_path, '', $_pos, $_parent + 3 - $_pos); - } - - if ($ds && DS != '/') { - // don't we all just love windows? - $_path = str_replace('/', '\\', $_path); - } - - return $_path; - } - - /** - * build template filepath by traversing the template_dir array - * - * @param Smarty_Template_Source $source source object - * @param Smarty_Internal_Template $_template template object - * - * @return string fully qualified filepath - * @throws SmartyException if default template handler is registered but not callable - */ - protected function buildFilepath(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null) + public function buildUniqueResourceName(Smarty $smarty, $resource_name, $isConfig = false) { - $file = $source->name; - if ($source instanceof Smarty_Config_Source) { - $_directories = $source->smarty->getConfigDir(); - $_default_handler = $source->smarty->default_config_handler_func; - } else { - $_directories = $source->smarty->getTemplateDir(); - $_default_handler = $source->smarty->default_template_handler_func; - } - - // go relative to a given template? - $_file_is_dotted = $file[0] == '.' && ($file[1] == '.' || $file[1] == '/' || $file[1] == "\\"); - if ($_template && $_template->parent instanceof Smarty_Internal_Template && $_file_is_dotted) { - if ($_template->parent->source->type != 'file' && $_template->parent->source->type != 'extends' && !$_template->parent->allow_relative_path) { - throw new SmartyException("Template '{$file}' cannot be relative to template of resource type '{$_template->parent->source->type}'"); - } - $file = dirname($_template->parent->source->filepath) . DS . $file; - $_file_exact_match = true; - if (!preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $file)) { - // the path gained from the parent template is relative to the current working directory - // as expansions (like include_path) have already been done - $file = getcwd() . DS . $file; + if ($isConfig) { + if (!isset($smarty->_joined_config_dir)) { + $smarty->getTemplateDir(null, true); } - } - - // resolve relative path - if (!preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $file)) { - // don't we all just love windows? - $_path = DS . trim($file, '/'); - $_was_relative = true; + return get_class($this) . '#' . $smarty->_joined_config_dir . '#' . $resource_name; } else { - // don't we all just love windows? - $_path = str_replace('\\', '/', $file); - } - $_path = $this->normalizePath($_path, false); - if (DS != '/') { - // don't we all just love windows? - $_path = str_replace('/', '\\', $_path); - } - // revert to relative - if (isset($_was_relative)) { - $_path = substr($_path, 1); - } - - // this is only required for directories - $file = rtrim($_path, '/\\'); - - // files relative to a template only get one shot - if (isset($_file_exact_match)) { - return $this->fileExists($source, $file) ? $file : false; - } - - // template_dir index? - if (preg_match('#^\[(?P<key>[^\]]+)\](?P<file>.+)$#', $file, $match)) { - $_directory = null; - // try string indexes - if (isset($_directories[$match['key']])) { - $_directory = $_directories[$match['key']]; - } elseif (is_numeric($match['key'])) { - // try numeric index - $match['key'] = (int) $match['key']; - if (isset($_directories[$match['key']])) { - $_directory = $_directories[$match['key']]; - } else { - // try at location index - $keys = array_keys($_directories); - $_directory = $_directories[$keys[$match['key']]]; - } - } - - if ($_directory) { - $_file = substr($file, strpos($file, ']') + 1); - $_filepath = $_directory . $_file; - if ($this->fileExists($source, $_filepath)) { - return $_filepath; - } - } - } - - $_stream_resolve_include_path = function_exists('stream_resolve_include_path'); - - // relative file name? - if (!preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $file)) { - foreach ($_directories as $_directory) { - $_filepath = $_directory . $file; - if ($this->fileExists($source, $_filepath)) { - return $this->normalizePath($_filepath); - } - if ($source->smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_directory)) { - // try PHP include_path - if ($_stream_resolve_include_path) { - $_filepath = stream_resolve_include_path($_filepath); - } else { - $_filepath = Smarty_Internal_Get_Include_Path::getIncludePath($_filepath); - } - - if ($_filepath !== false) { - if ($this->fileExists($source, $_filepath)) { - return $this->normalizePath($_filepath); - } - } - } - } - } - - // try absolute filepath - if ($this->fileExists($source, $file)) { - return $file; - } - - // no tpl file found - if ($_default_handler) { - if (!is_callable($_default_handler)) { - if ($source instanceof Smarty_Config_Source) { - throw new SmartyException("Default config handler not callable"); - } else { - throw new SmartyException("Default template handler not callable"); - } - } - $_return = call_user_func_array($_default_handler, - array($source->type, $source->name, &$_content, &$_timestamp, $source->smarty)); - if (is_string($_return)) { - $source->timestamp = @filemtime($_return); - $source->exists = !!$source->timestamp; - - return $_return; - } elseif ($_return === true) { - $source->content = $_content; - $source->timestamp = $_timestamp; - $source->exists = true; - - return $_filepath; + if (!isset($smarty->_joined_template_dir)) { + $smarty->getTemplateDir(); } + return get_class($this) . '#' . $smarty->_joined_template_dir . '#' . $resource_name; } - - // give up - return false; - } - - /** - * test is file exists and save timestamp - * - * @param Smarty_Template_Source $source source object - * @param string $file file name - * - * @return bool true if file exists - */ - protected function fileExists(Smarty_Template_Source $source, $file) - { - $source->timestamp = is_file($file) ? @filemtime($file) : false; - - return $source->exists = !!$source->timestamp; } /** @@ -374,7 +129,7 @@ abstract class Smarty_Resource * * @return string resource's basename */ - protected function getBasename(Smarty_Template_Source $source) + public function getBasename(Smarty_Template_Source $source) { return null; } @@ -391,57 +146,32 @@ abstract class Smarty_Resource public static function load(Smarty $smarty, $type) { // try smarty's cache - if (isset($smarty->_resource_handlers[$type])) { - return $smarty->_resource_handlers[$type]; + if (isset($smarty->_cache['resource_handlers'][$type])) { + return $smarty->_cache['resource_handlers'][$type]; } // try registered resource if (isset($smarty->registered_resources[$type])) { - if ($smarty->registered_resources[$type] instanceof Smarty_Resource) { - $smarty->_resource_handlers[$type] = $smarty->registered_resources[$type]; - // note registered to smarty is not kept unique! - return $smarty->_resource_handlers[$type]; - } - - if (!isset(self::$resources['registered'])) { - self::$resources['registered'] = new Smarty_Internal_Resource_Registered(); - } - if (!isset($smarty->_resource_handlers[$type])) { - $smarty->_resource_handlers[$type] = self::$resources['registered']; - } - - return $smarty->_resource_handlers[$type]; + return $smarty->_cache['resource_handlers'][$type] = + $smarty->registered_resources[$type] instanceof Smarty_Resource ? $smarty->registered_resources[$type] : + new Smarty_Internal_Resource_Registered(); } // try sysplugins dir if (isset(self::$sysplugins[$type])) { - if (!isset(self::$resources[$type])) { - $_resource_class = 'Smarty_Internal_Resource_' . ucfirst($type); - self::$resources[$type] = new $_resource_class(); - } - - return $smarty->_resource_handlers[$type] = self::$resources[$type]; + $_resource_class = 'Smarty_Internal_Resource_' . ucfirst($type); + return $smarty->_cache['resource_handlers'][$type] = new $_resource_class(); } // try plugins dir $_resource_class = 'Smarty_Resource_' . ucfirst($type); if ($smarty->loadPlugin($_resource_class)) { - if (isset(self::$resources[$type])) { - return $smarty->_resource_handlers[$type] = self::$resources[$type]; - } - if (class_exists($_resource_class, false)) { - self::$resources[$type] = new $_resource_class(); - - return $smarty->_resource_handlers[$type] = self::$resources[$type]; + return $smarty->_cache['resource_handlers'][$type] = new $_resource_class(); } else { - $smarty->registerResource($type, array( - "smarty_resource_{$type}_source", - "smarty_resource_{$type}_timestamp", - "smarty_resource_{$type}_secure", - "smarty_resource_{$type}_trusted" - )); - + $smarty->registerResource($type, + array("smarty_resource_{$type}_source", "smarty_resource_{$type}_timestamp", + "smarty_resource_{$type}_secure", "smarty_resource_{$type}_trusted")); // give it another try, now that the resource is registered properly return self::load($smarty, $type); } @@ -454,11 +184,7 @@ abstract class Smarty_Resource if (is_object($smarty->security_policy)) { $smarty->security_policy->isTrustedStream($type); } - if (!isset(self::$resources['stream'])) { - self::$resources['stream'] = new Smarty_Internal_Resource_Stream(); - } - - return $smarty->_resource_handlers[$type] = self::$resources['stream']; + return $smarty->_cache['resource_handlers'][$type] = new Smarty_Internal_Resource_Stream(); } // TODO: try default_(template|config)_handler @@ -473,57 +199,50 @@ abstract class Smarty_Resource * * @param string $resource_name template_resource or config_resource to parse * @param string $default_resource the default resource_type defined in $smarty - * @param string &$name the parsed resource name - * @param string &$type the parsed resource type * - * @return void + * @return array with parsed resource name and type */ - protected static function parseResourceName($resource_name, $default_resource, &$name, &$type) + public static function parseResourceName($resource_name, $default_resource) { - $parts = explode(':', $resource_name, 2); - if (!isset($parts[1]) || !isset($parts[0][1])) { + if (preg_match('/^([A-Za-z0-9_\-]{2,})[:]/', $resource_name, $match)) { + $type = $match[1]; + $name = substr($resource_name, strlen($match[0])); + } else { // no resource given, use default // or single character before the colon is not a resource type, but part of the filepath $type = $default_resource; $name = $resource_name; - } else { - $type = $parts[0]; - $name = $parts[1]; } + return array($name, $type); } /** - * modify resource_name according to resource handlers specifications - * - * @param Smarty $smarty Smarty instance - * @param string $resource_name resource_name to make unique - * - * @return string unique resource name - */ - - /** * modify template_resource according to resource handlers specifications * - * @param Smarty_Internal_template $template Smarty instance - * @param string $template_resource template_resource to extract resource handler and name of + * @param \Smarty_Internal_Template|\Smarty $obj Smarty instance + * @param string $template_resource template_resource to extract resource handler and name of * * @return string unique resource name */ - public static function getUniqueTemplateName($template, $template_resource) + public static function getUniqueTemplateName($obj, $template_resource) { - self::parseResourceName($template_resource, $template->smarty->default_resource_type, $name, $type); + $smarty = $obj->_objType == 2 ? $obj->smarty : $obj; + list($name, $type) = self::parseResourceName($template_resource, $smarty->default_resource_type); // TODO: optimize for Smarty's internal resource types - $resource = Smarty_Resource::load($template->smarty, $type); + $resource = Smarty_Resource::load($smarty, $type); // go relative to a given template? - $_file_is_dotted = $name[0] == '.' && ($name[1] == '.' || $name[1] == '/' || $name[1] == "\\"); - if ($template instanceof Smarty_Internal_Template && $_file_is_dotted && ($template->source->type == 'file' || $template->parent->source->type == 'extends')) { - $name = dirname($template->source->filepath) . DS . $name; + $_file_is_dotted = $name[0] == '.' && ($name[1] == '.' || $name[1] == '/'); + if ($obj->_objType == 2 && $_file_is_dotted && + ($obj->source->type == 'file' || $obj->parent->source->type == 'extends') + ) { + $name = dirname($obj->source->filepath) . DS . $name; } - return $resource->buildUniqueResourceName($template->smarty, $name); + return $resource->buildUniqueResourceName($smarty, $name); } /** * initialize Source Object for given resource + * wrapper for backward compatibility to versions < 3.1.22 * Either [$_template] or [$smarty, $template_resource] must be specified * * @param Smarty_Internal_Template $_template template object @@ -532,381 +251,10 @@ abstract class Smarty_Resource * * @return Smarty_Template_Source Source Object */ - public static function source(Smarty_Internal_Template $_template = null, Smarty $smarty = null, $template_resource = null) - { - if ($_template) { - $smarty = $_template->smarty; - $template_resource = $_template->template_resource; - } - - // parse resource_name, load resource handler, identify unique resource name - self::parseResourceName($template_resource, $smarty->default_resource_type, $name, $type); - $resource = Smarty_Resource::load($smarty, $type); - // go relative to a given template? - $_file_is_dotted = isset($name[0]) && $name[0] == '.' && ($name[1] == '.' || $name[1] == '/' || $name[1] == "\\"); - if ($_file_is_dotted && isset($_template) && $_template->parent instanceof Smarty_Internal_Template && ($_template->parent->source->type == 'file' || $_template->parent->source->type == 'extends')) { - $name2 = dirname($_template->parent->source->filepath) . DS . $name; - } else { - $name2 = $name; - } - $unique_resource_name = $resource->buildUniqueResourceName($smarty, $name2); - - // check runtime cache - $_cache_key = 'template|' . $unique_resource_name; - if ($smarty->compile_id) { - $_cache_key .= '|' . $smarty->compile_id; - } - if (isset(self::$sources[$_cache_key])) { - return self::$sources[$_cache_key]; - } - - // create source - $source = new Smarty_Template_Source($resource, $smarty, $template_resource, $type, $name, $unique_resource_name); - $resource->populate($source, $_template); - - // runtime cache - self::$sources[$_cache_key] = $source; - - return $source; - } - - /** - * initialize Config Source Object for given resource - * - * @param Smarty_Internal_Config $_config config object - * - * @throws SmartyException - * @return Smarty_Config_Source Source Object - */ - public static function config(Smarty_Internal_Config $_config) + public static function source(Smarty_Internal_Template $_template = null, Smarty $smarty = null, + $template_resource = null) { - static $_incompatible_resources = array('eval' => true, 'string' => true, 'extends' => true, 'php' => true); - $config_resource = $_config->config_resource; - $smarty = $_config->smarty; - - // parse resource_name - self::parseResourceName($config_resource, $smarty->default_config_type, $name, $type); - - // make sure configs are not loaded via anything smarty can't handle - if (isset($_incompatible_resources[$type])) { - throw new SmartyException ("Unable to use resource '{$type}' for config"); - } - - // load resource handler, identify unique resource name - $resource = Smarty_Resource::load($smarty, $type); - $unique_resource_name = $resource->buildUniqueResourceName($smarty, $name, true); - - // check runtime cache - $_cache_key = 'config|' . $unique_resource_name; - if (isset(self::$sources[$_cache_key])) { - return self::$sources[$_cache_key]; - } - - // create source - $source = new Smarty_Config_Source($resource, $smarty, $config_resource, $type, $name, $unique_resource_name); - $resource->populate($source, null); - - // runtime cache - self::$sources[$_cache_key] = $source; - - return $source; + return Smarty_Template_Source::load($_template, $smarty, $template_resource); } } -/** - * Smarty Resource Data Object - * Meta Data Container for Template Files - * - * @package Smarty - * @subpackage TemplateResources - * @author Rodney Rehm - * @property integer $timestamp Source Timestamp - * @property boolean $exists Source Existence - * @property boolean $template Extended Template reference - * @property string $content Source Content - */ -class Smarty_Template_Source -{ - /** - * Name of the Class to compile this resource's contents with - * - * @var string - */ - public $compiler_class = null; - - /** - * Name of the Class to tokenize this resource's contents with - * - * @var string - */ - public $template_lexer_class = null; - - /** - * Name of the Class to parse this resource's contents with - * - * @var string - */ - public $template_parser_class = null; - - /** - * Unique Template ID - * - * @var string - */ - public $uid = null; - - /** - * Template Resource (Smarty_Internal_Template::$template_resource) - * - * @var string - */ - public $resource = null; - - /** - * Resource Type - * - * @var string - */ - public $type = null; - - /** - * Resource Name - * - * @var string - */ - public $name = null; - - /** - * Unique Resource Name - * - * @var string - */ - public $unique_resource = null; - - /** - * Source Filepath - * - * @var string - */ - public $filepath = null; - - /** - * Source is bypassing compiler - * - * @var boolean - */ - public $uncompiled = null; - - /** - * Source must be recompiled on every occasion - * - * @var boolean - */ - public $recompiled = null; - - /** - * The Components an extended template is made of - * - * @var array - */ - public $components = null; - - /** - * Resource Handler - * - * @var Smarty_Resource - */ - public $handler = null; - - /** - * Smarty instance - * - * @var Smarty - */ - public $smarty = null; - - /** - * create Source Object container - * - * @param Smarty_Resource $handler Resource Handler this source object communicates with - * @param Smarty $smarty Smarty instance this source object belongs to - * @param string $resource full template_resource - * @param string $type type of resource - * @param string $name resource name - * @param string $unique_resource unique resource name - */ - public function __construct(Smarty_Resource $handler, Smarty $smarty, $resource, $type, $name, $unique_resource) - { - $this->handler = $handler; // Note: prone to circular references - - $this->compiler_class = $handler->compiler_class; - $this->template_lexer_class = $handler->template_lexer_class; - $this->template_parser_class = $handler->template_parser_class; - $this->uncompiled = $this->handler instanceof Smarty_Resource_Uncompiled; - $this->recompiled = $this->handler instanceof Smarty_Resource_Recompiled; - - $this->smarty = $smarty; - $this->resource = $resource; - $this->type = $type; - $this->name = $name; - $this->unique_resource = $unique_resource; - } - - /** - * get a Compiled Object of this source - * - * @param Smarty_Internal_Template|Smarty_Internal_Config $_template template object - * - * @return Smarty_Template_Compiled compiled object - */ - public function getCompiled($_template) - { - // check runtime cache - $_cache_key = $this->unique_resource . '#' . $_template->compile_id; - if (isset(Smarty_Resource::$compileds[$_cache_key])) { - return Smarty_Resource::$compileds[$_cache_key]; - } - - $compiled = new Smarty_Template_Compiled($this); - $this->handler->populateCompiledFilepath($compiled, $_template); - $compiled->timestamp = @filemtime($compiled->filepath); - $compiled->exists = !!$compiled->timestamp; - - // runtime cache - Smarty_Resource::$compileds[$_cache_key] = $compiled; - - return $compiled; - } - - /** - * render the uncompiled source - * - * @param Smarty_Internal_Template $_template template object - */ - public function renderUncompiled(Smarty_Internal_Template $_template) - { - return $this->handler->renderUncompiled($this, $_template); - } - - /** - * <<magic>> Generic Setter. - * - * @param string $property_name valid: timestamp, exists, content, template - * @param mixed $value new value (is not checked) - * - * @throws SmartyException if $property_name is not valid - */ - public function __set($property_name, $value) - { - switch ($property_name) { - // regular attributes - case 'timestamp': - case 'exists': - case 'content': - // required for extends: only - case 'template': - $this->$property_name = $value; - break; - - default: - throw new SmartyException("invalid source property '$property_name'."); - } - } - - /** - * <<magic>> Generic getter. - * - * @param string $property_name valid: timestamp, exists, content - * - * @return mixed - * @throws SmartyException if $property_name is not valid - */ - public function __get($property_name) - { - switch ($property_name) { - case 'timestamp': - case 'exists': - $this->handler->populateTimestamp($this); - - return $this->$property_name; - - case 'content': - return $this->content = $this->handler->getContent($this); - - default: - throw new SmartyException("source property '$property_name' does not exist."); - } - } -} - -/** - * Smarty Resource Data Object - * Meta Data Container for Template Files - * - * @package Smarty - * @subpackage TemplateResources - * @author Rodney Rehm - * @property string $content compiled content - */ -class Smarty_Template_Compiled -{ - /** - * Compiled Filepath - * - * @var string - */ - public $filepath = null; - - /** - * Compiled Timestamp - * - * @var integer - */ - public $timestamp = null; - - /** - * Compiled Existence - * - * @var boolean - */ - public $exists = false; - - /** - * Compiled Content Loaded - * - * @var boolean - */ - public $loaded = false; - - /** - * Template was compiled - * - * @var boolean - */ - public $isCompiled = false; - - /** - * Source Object - * - * @var Smarty_Template_Source - */ - public $source = null; - - /** - * Metadata properties - * populated by Smarty_Internal_Template::decodeProperties() - * - * @var array - */ - public $_properties = null; - - /** - * create Compiled Object container - * - * @param Smarty_Template_Source $source source object this compiled object belongs to - */ - public function __construct(Smarty_Template_Source $source) - { - $this->source = $source; - } -} diff --git a/library/Smarty/libs/sysplugins/smarty_resource_custom.php b/library/Smarty/libs/sysplugins/smarty_resource_custom.php index 7c11bd8c7..619f2d6f0 100644 --- a/library/Smarty/libs/sysplugins/smarty_resource_custom.php +++ b/library/Smarty/libs/sysplugins/smarty_resource_custom.php @@ -88,7 +88,7 @@ abstract class Smarty_Resource_Custom extends Smarty_Resource * * @return string resource's basename */ - protected function getBasename(Smarty_Template_Source $source) + public function getBasename(Smarty_Template_Source $source) { return basename($source->name); } diff --git a/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php b/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php index 66b36e17a..cfd73401b 100644 --- a/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php +++ b/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php @@ -17,6 +17,20 @@ abstract class Smarty_Resource_Recompiled extends Smarty_Resource { /** + * Flag that it's an recompiled resource + * + * @var bool + */ + public $recompiled = true; + + /** + * Resource does implement populateCompiledFilepath() method + * + * @var bool + */ + public $hasCompiledHandler = true; + + /** * populate Compiled Object with compiled filepath * * @param Smarty_Template_Compiled $compiled compiled object diff --git a/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php b/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php index 4ee5d7908..88d2bba81 100644 --- a/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php +++ b/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php @@ -17,6 +17,20 @@ abstract class Smarty_Resource_Uncompiled extends Smarty_Resource { /** + * Flag that it's an uncompiled resource + * + * @var bool + */ + public $uncompiled = true; + + /** + * Resource does implement populateCompiledFilepath() method + * + * @var bool + */ + public $hasCompiledHandler = true; + + /** * Render and output the template (without using the compiler) * * @param Smarty_Template_Source $source source object @@ -38,4 +52,28 @@ abstract class Smarty_Resource_Uncompiled extends Smarty_Resource $compiled->timestamp = false; $compiled->exists = false; } + + /** + * render compiled template code + * + * @param Smarty_Internal_Template $_template + * + * @return string + * @throws Exception + */ + public function render($_template) + { + $level = ob_get_level(); + ob_start(); + try { + $this->renderUncompiled($_template->source, $_template); + return ob_get_clean(); + } + catch (Exception $e) { + while (ob_get_level() > $level) { + ob_end_clean(); + } + throw $e; + } + } } diff --git a/library/Smarty/libs/sysplugins/smarty_security.php b/library/Smarty/libs/sysplugins/smarty_security.php index 9f7183bd0..9d48bcb21 100644 --- a/library/Smarty/libs/sysplugins/smarty_security.php +++ b/library/Smarty/libs/sysplugins/smarty_security.php @@ -34,6 +34,7 @@ class Smarty_Security * @var integer */ public $php_handling = Smarty::PHP_PASSTHRU; + /** * This is the list of template directories that are considered secure. * $template_dir is in this list implicitly. @@ -41,6 +42,7 @@ class Smarty_Security * @var array */ public $secure_dir = array(); + /** * This is an array of directories where trusted php scripts reside. * {@link $security} is disabled during their inclusion/execution. @@ -48,12 +50,21 @@ class Smarty_Security * @var array */ public $trusted_dir = array(); + /** * List of regular expressions (PCRE) that include trusted URIs * * @var array */ public $trusted_uri = array(); + + /** + * List of trusted constants names + * + * @var array + */ + public $trusted_constants = array(); + /** * This is an array of trusted static classes. * If empty access to all static classes is allowed. @@ -62,6 +73,35 @@ class Smarty_Security * @var array */ public $static_classes = array(); + + /** + * This is an nested array of trusted classes and static methods. + * If empty access to all static classes and methods is allowed. + * Format: + * array ( + * 'class_1' => array('method_1', 'method_2'), // allowed methods listed + * 'class_2' => array(), // all methods of class allowed + * ) + * If set to null none is allowed. + * + * @var array + */ + public $trusted_static_methods = array(); + + /** + * This is an array of trusted static properties. + * If empty access to all static classes and properties is allowed. + * Format: + * array ( + * 'class_1' => array('prop_1', 'prop_2'), // allowed properties listed + * 'class_2' => array(), // all properties of class allowed + * ) + * If set to null none is allowed. + * + * @var array + */ + public $trusted_static_properties = array(); + /** * This is an array of trusted PHP functions. * If empty all functions are allowed. @@ -69,13 +109,8 @@ class Smarty_Security * * @var array */ - public $php_functions = array( - 'isset', 'empty', - 'count', 'sizeof', - 'in_array', 'is_array', - 'time', - 'nl2br', - ); + public $php_functions = array('isset', 'empty', 'count', 'sizeof', 'in_array', 'is_array', 'time',); + /** * This is an array of trusted PHP modifiers. * If empty all modifiers are allowed. @@ -83,10 +118,8 @@ class Smarty_Security * * @var array */ - public $php_modifiers = array( - 'escape', - 'count' - ); + public $php_modifiers = array('escape', 'count', 'nl2br',); + /** * This is an array of allowed tags. * If empty no restriction by allowed_tags. @@ -94,6 +127,7 @@ class Smarty_Security * @var array */ public $allowed_tags = array(); + /** * This is an array of disabled tags. * If empty no restriction by disabled_tags. @@ -101,6 +135,7 @@ class Smarty_Security * @var array */ public $disabled_tags = array(); + /** * This is an array of allowed modifier plugins. * If empty no restriction by allowed_modifiers. @@ -108,6 +143,7 @@ class Smarty_Security * @var array */ public $allowed_modifiers = array(); + /** * This is an array of disabled modifier plugins. * If empty no restriction by disabled_modifiers. @@ -115,6 +151,14 @@ class Smarty_Security * @var array */ public $disabled_modifiers = array(); + + /** + * This is an array of disabled special $smarty variables. + * + * @var array + */ + public $disabled_special_smarty_vars = array(); + /** * This is an array of trusted streams. * If empty all streams are allowed. @@ -123,12 +167,14 @@ class Smarty_Security * @var array */ public $streams = array('file'); + /** * + flag if constants can be accessed from template * * @var boolean */ public $allow_constants = true; + /** * + flag if super globals can be accessed from template * @@ -137,35 +183,54 @@ class Smarty_Security public $allow_super_globals = true; /** + * max template nesting level + * + * @var int + */ + public $max_template_nesting = 0; + + /** + * current template nesting level + * + * @var int + */ + private $_current_template_nesting = 0; + + /** * Cache for $resource_dir lookup * * @var array */ - protected $_resource_dir = null; + protected $_resource_dir = array(); + /** * Cache for $template_dir lookup * * @var array */ - protected $_template_dir = null; + protected $_template_dir = array(); + /** * Cache for $config_dir lookup * * @var array */ - protected $_config_dir = null; + protected $_config_dir = array(); + /** * Cache for $secure_dir lookup * * @var array */ - protected $_secure_dir = null; + protected $_secure_dir = array(); + /** * Cache for $php_resource_dir lookup * * @var array */ protected $_php_resource_dir = null; + /** * Cache for $trusted_dir lookup * @@ -174,6 +239,20 @@ class Smarty_Security protected $_trusted_dir = null; /** + * Cache for include path status + * + * @var bool + */ + protected $_include_path_status = false; + + /** + * Cache for $_include_array lookup + * + * @var array + */ + protected $_include_dir = array(); + + /** * @param Smarty $smarty */ public function __construct($smarty) @@ -192,7 +271,9 @@ class Smarty_Security */ public function isTrustedPhpFunction($function_name, $compiler) { - if (isset($this->php_functions) && (empty($this->php_functions) || in_array($function_name, $this->php_functions))) { + if (isset($this->php_functions) && + (empty($this->php_functions) || in_array($function_name, $this->php_functions)) + ) { return true; } @@ -212,7 +293,9 @@ class Smarty_Security */ public function isTrustedStaticClass($class_name, $compiler) { - if (isset($this->static_classes) && (empty($this->static_classes) || in_array($class_name, $this->static_classes))) { + if (isset($this->static_classes) && + (empty($this->static_classes) || in_array($class_name, $this->static_classes)) + ) { return true; } @@ -222,6 +305,45 @@ class Smarty_Security } /** + * Check if static class method/property is trusted. + * + * @param string $class_name + * @param string $params + * @param object $compiler compiler object + * + * @return boolean true if class method is trusted + * @throws SmartyCompilerException if static class method is not trusted + */ + public function isTrustedStaticClassAccess($class_name, $params, $compiler) + { + if (!isset($params[2])) { + // fall back + return $this->isTrustedStaticClass($class_name, $compiler); + } + if ($params[2] == 'method') { + $allowed = $this->trusted_static_methods; + $name = substr($params[0], 0, strpos($params[0], '(')); + } else { + $allowed = $this->trusted_static_properties; + // strip '$' + $name = substr($params[0], 1); + } + if (isset($allowed)) { + if (empty($allowed)) { + // fall back + return $this->isTrustedStaticClass($class_name, $compiler); + } + if (isset($allowed[$class_name]) && + (empty($allowed[$class_name]) || in_array($name, $allowed[$class_name])) + ) { + return true; + } + } + $compiler->trigger_template_error("access to static class '{$class_name}' {$params[2]} '{$name}' not allowed by security setting"); + return false; // should not, but who knows what happens to the compiler in the future? + } + + /** * Check if PHP modifier is trusted. * * @param string $modifier_name @@ -232,7 +354,9 @@ class Smarty_Security */ public function isTrustedPhpModifier($modifier_name, $compiler) { - if (isset($this->php_modifiers) && (empty($this->php_modifiers) || in_array($modifier_name, $this->php_modifiers))) { + if (isset($this->php_modifiers) && + (empty($this->php_modifiers) || in_array($modifier_name, $this->php_modifiers)) + ) { return true; } @@ -253,9 +377,11 @@ class Smarty_Security public function isTrustedTag($tag_name, $compiler) { // check for internal always required tags - if (in_array($tag_name, array('assign', 'call', 'private_filter', 'private_block_plugin', 'private_function_plugin', 'private_object_block_function', - 'private_object_function', 'private_registered_function', 'private_registered_block', 'private_special_variable', 'private_print_expression', 'private_modifier')) - ) { + if (in_array($tag_name, array('assign', 'call', 'private_filter', 'private_block_plugin', + 'private_function_plugin', 'private_object_block_function', + 'private_object_function', 'private_registered_function', + 'private_registered_block', 'private_special_variable', + 'private_print_expression', 'private_modifier'))) { return true; } // check security settings @@ -263,12 +389,32 @@ class Smarty_Security if (empty($this->disabled_tags) || !in_array($tag_name, $this->disabled_tags)) { return true; } else { - $compiler->trigger_template_error("tag '{$tag_name}' disabled by security setting", $compiler->lex->taglineno); + $compiler->trigger_template_error("tag '{$tag_name}' disabled by security setting", null, true); } } elseif (in_array($tag_name, $this->allowed_tags) && !in_array($tag_name, $this->disabled_tags)) { return true; } else { - $compiler->trigger_template_error("tag '{$tag_name}' not allowed by security setting", $compiler->lex->taglineno); + $compiler->trigger_template_error("tag '{$tag_name}' not allowed by security setting", null, true); + } + + return false; // should not, but who knows what happens to the compiler in the future? + } + + /** + * Check if special $smarty variable is trusted. + * + * @param string $var_name + * @param object $compiler compiler object + * + * @return boolean true if tag is trusted + * @throws SmartyCompilerException if modifier is not trusted + */ + public function isTrustedSpecialSmartyVar($var_name, $compiler) + { + if (!in_array($var_name, $this->disabled_special_smarty_vars)) { + return true; + } else { + $compiler->trigger_template_error("special variable '\$smarty.{$var_name}' not allowed by security setting", null, true); } return false; // should not, but who knows what happens to the compiler in the future? @@ -294,18 +440,47 @@ class Smarty_Security if (empty($this->disabled_modifiers) || !in_array($modifier_name, $this->disabled_modifiers)) { return true; } else { - $compiler->trigger_template_error("modifier '{$modifier_name}' disabled by security setting", $compiler->lex->taglineno); + $compiler->trigger_template_error("modifier '{$modifier_name}' disabled by security setting", null, true); } - } elseif (in_array($modifier_name, $this->allowed_modifiers) && !in_array($modifier_name, $this->disabled_modifiers)) { + } elseif (in_array($modifier_name, $this->allowed_modifiers) && + !in_array($modifier_name, $this->disabled_modifiers) + ) { return true; } else { - $compiler->trigger_template_error("modifier '{$modifier_name}' not allowed by security setting", $compiler->lex->taglineno); + $compiler->trigger_template_error("modifier '{$modifier_name}' not allowed by security setting", null, true); } return false; // should not, but who knows what happens to the compiler in the future? } /** + * Check if constants are enabled or trusted + * + * @param string $const constant name + * @param object $compiler compiler object + * + * @return bool + */ + public function isTrustedConstant($const, $compiler) + { + if (in_array($const, array('true', 'false', 'null'))) { + return true; + } + if (!empty($this->trusted_constants)) { + if (!in_array($const, $this->trusted_constants)) { + $compiler->trigger_template_error("Security: access to constant '{$const}' not permitted"); + return false; + } + return true; + } + if ($this->allow_constants) { + return true; + } + $compiler->trigger_template_error("Security: access to constants not permitted"); + return false; + } + + /** * Check if stream is trusted. * * @param string $stream_name @@ -325,81 +500,70 @@ class Smarty_Security /** * Check if directory of file resource is trusted. * - * @param string $filepath + * @param string $filepath + * @param null|bool $isConfig * - * @return boolean true if directory is trusted - * @throws SmartyException if directory is not trusted + * @return bool true if directory is trusted + * @throws \SmartyException if directory is not trusted */ - public function isTrustedResourceDir($filepath) + public function isTrustedResourceDir($filepath, $isConfig = null) { - $_template = false; - $_config = false; - $_secure = false; - - $_template_dir = $this->smarty->getTemplateDir(); - $_config_dir = $this->smarty->getConfigDir(); - - // check if index is outdated - if ((!$this->_template_dir || $this->_template_dir !== $_template_dir) - || (!$this->_config_dir || $this->_config_dir !== $_config_dir) - || (!empty($this->secure_dir) && (!$this->_secure_dir || $this->_secure_dir !== $this->secure_dir)) - ) { - $this->_resource_dir = array(); - $_template = true; - $_config = true; - $_secure = !empty($this->secure_dir); - } - - // rebuild template dir index - if ($_template) { - $this->_template_dir = $_template_dir; - foreach ($_template_dir as $directory) { - $directory = realpath($directory); - $this->_resource_dir[$directory] = true; + if ($this->_include_path_status !== $this->smarty->use_include_path) { + foreach ($this->_include_dir as $directory) { + unset($this->_resource_dir[$directory]); + } + if ($this->smarty->use_include_path) { + $this->_include_dir = array(); + $_dirs = $this->smarty->ext->_getIncludePath->getIncludePathDirs($this->smarty); + foreach ($_dirs as $directory) { + $this->_include_dir[] = $directory; + $this->_resource_dir[$directory] = true; + } } + $this->_include_path_status = $this->smarty->use_include_path; } - - // rebuild config dir index - if ($_config) { - $this->_config_dir = $_config_dir; - foreach ($_config_dir as $directory) { - $directory = realpath($directory); - $this->_resource_dir[$directory] = true; + if ($isConfig !== true && + (!isset($this->smarty->_cache['template_dir_new']) || $this->smarty->_cache['template_dir_new']) + ) { + $_dir = $this->smarty->getTemplateDir(); + if ($this->_template_dir !== $_dir) { + foreach ($this->_template_dir as $directory) { + unset($this->_resource_dir[$directory]); + } + foreach ($_dir as $directory) { + $this->_resource_dir[$directory] = true; + } + $this->_template_dir = $_dir; } + $this->smarty->_cache['template_dir_new'] = false; } - - // rebuild secure dir index - if ($_secure) { - $this->_secure_dir = $this->secure_dir; - foreach ((array) $this->secure_dir as $directory) { - $directory = realpath($directory); - $this->_resource_dir[$directory] = true; + if ($isConfig !== false && + (!isset($this->smarty->_cache['config_dir_new']) || $this->smarty->_cache['config_dir_new']) + ) { + $_dir = $this->smarty->getConfigDir(); + if ($this->_config_dir !== $_dir) { + foreach ($this->_config_dir as $directory) { + unset($this->_resource_dir[$directory]); + } + foreach ($_dir as $directory) { + $this->_resource_dir[$directory] = true; + } + $this->_config_dir = $_dir; } + $this->smarty->_cache['config_dir_new'] = false; } - - $_filepath = realpath($filepath); - $directory = dirname($_filepath); - $_directory = array(); - while (true) { - // remember the directory to add it to _resource_dir in case we're successful - $_directory[$directory] = true; - // test if the directory is trusted - if (isset($this->_resource_dir[$directory])) { - // merge sub directories of current $directory into _resource_dir to speed up subsequent lookup - $this->_resource_dir = array_merge($this->_resource_dir, $_directory); - - return true; + if ($this->_secure_dir !== (array) $this->secure_dir) { + foreach ($this->_secure_dir as $directory) { + unset($this->_resource_dir[$directory]); } - // abort if we've reached root - if (($pos = strrpos($directory, DS)) === false || !isset($directory[1])) { - break; + foreach ((array) $this->secure_dir as $directory) { + $directory = $this->smarty->_realpath($directory . DS, true); + $this->_resource_dir[$directory] = true; } - // bubble up one level - $directory = substr($directory, 0, $pos); + $this->_secure_dir = (array) $this->secure_dir; } - - // give up - throw new SmartyException("directory '{$_filepath}' not allowed by security setting"); + $this->_resource_dir = $this->_checkDir($filepath, $this->_resource_dir); + return true; } /** @@ -449,32 +613,103 @@ class Smarty_Security $this->_trusted_dir = $this->trusted_dir; foreach ((array) $this->trusted_dir as $directory) { - $directory = realpath($directory); + $directory = $this->smarty->_realpath($directory . DS, true); $this->_php_resource_dir[$directory] = true; } } - $_filepath = realpath($filepath); - $directory = dirname($_filepath); + $this->_php_resource_dir = $this->_checkDir($this->smarty->_realpath($filepath, true), $this->_php_resource_dir); + return true; + } + + /** + * Start template processing + * + * @param $template + * + * @throws SmartyException + */ + public function startTemplate($template) + { + if ($this->max_template_nesting > 0 && $this->_current_template_nesting ++ >= $this->max_template_nesting) { + throw new SmartyException("maximum template nesting level of '{$this->max_template_nesting}' exceeded when calling '{$template->template_resource}'"); + } + } + + /** + * Exit template processing + * + * @internal param $template + */ + public function exitTemplate() + { + if ($this->max_template_nesting > 0) { + $this->_current_template_nesting --; + } + } + + /** + * Check if file is inside a valid directory + * + * @param string $filepath + * @param array $dirs valid directories + * + * @return array + * @throws \SmartyException + */ + private function _checkDir($filepath, $dirs) + { + $directory = dirname($filepath) . DS; $_directory = array(); while (true) { // remember the directory to add it to _resource_dir in case we're successful - $_directory[] = $directory; + $_directory[$directory] = true; // test if the directory is trusted - if (isset($this->_php_resource_dir[$directory])) { + if (isset($dirs[$directory])) { // merge sub directories of current $directory into _resource_dir to speed up subsequent lookup - $this->_php_resource_dir = array_merge($this->_php_resource_dir, $_directory); + $dirs = array_merge($dirs, $_directory); - return true; + return $dirs; } // abort if we've reached root - if (($pos = strrpos($directory, DS)) === false || !isset($directory[2])) { + if (!preg_match('#[\\\/][^\\\/]+[\\\/]$#', $directory)) { break; } // bubble up one level - $directory = substr($directory, 0, $pos); + $directory = preg_replace('#[\\\/][^\\\/]+[\\\/]$#', DS, $directory); } - throw new SmartyException("directory '{$_filepath}' not allowed by security setting"); + // give up + throw new SmartyException("directory '{$filepath}' not allowed by security setting"); + } + + /** + * Loads security class and enables security + * + * @param \Smarty $smarty + * @param string|Smarty_Security $security_class if a string is used, it must be class-name + * + * @return \Smarty current Smarty instance for chaining + * @throws \SmartyException when an invalid class name is provided + */ + public static function enableSecurity(Smarty $smarty, $security_class) + { + if ($security_class instanceof Smarty_Security) { + $smarty->security_policy = $security_class; + return; + } elseif (is_object($security_class)) { + throw new SmartyException("Class '" . get_class($security_class) . "' must extend Smarty_Security."); + } + if ($security_class == null) { + $security_class = $smarty->security_class; + } + if (!class_exists($security_class)) { + throw new SmartyException("Security class '$security_class' is not defined"); + } elseif ($security_class !== 'Smarty_Security' && !is_subclass_of($security_class, 'Smarty_Security')) { + throw new SmartyException("Class '$security_class' must extend Smarty_Security."); + } else { + $smarty->security_policy = new $security_class($smarty); + } + return; } } diff --git a/library/Smarty/libs/sysplugins/smarty_template_cached.php b/library/Smarty/libs/sysplugins/smarty_template_cached.php new file mode 100644 index 000000000..cecf42986 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_template_cached.php @@ -0,0 +1,246 @@ +<?php +/** + * Created by PhpStorm. + * User: Uwe Tews + * Date: 04.12.2014 + * Time: 06:08 + */ + +/** + * Smarty Resource Data Object + * Cache Data Container for Template Files + * + * @package Smarty + * @subpackage TemplateResources + * @author Rodney Rehm + */ +class Smarty_Template_Cached extends Smarty_Template_Resource_Base +{ + /** + * Cache Is Valid + * + * @var boolean + */ + public $valid = null; + + /** + * CacheResource Handler + * + * @var Smarty_CacheResource + */ + public $handler = null; + + /** + * Template Cache Id (Smarty_Internal_Template::$cache_id) + * + * @var string + */ + public $cache_id = null; + + /** + * saved cache lifetime in seconds + * + * @var integer + */ + public $cache_lifetime = 0; + + /** + * Id for cache locking + * + * @var string + */ + public $lock_id = null; + + /** + * flag that cache is locked by this instance + * + * @var bool + */ + public $is_locked = false; + + /** + * Source Object + * + * @var Smarty_Template_Source + */ + public $source = null; + + /** + * Nocache hash codes of processed compiled templates + * + * @var array + */ + public $hashes = array(); + + /** + * create Cached Object container + * + * @param Smarty_Internal_Template $_template template object + */ + public function __construct(Smarty_Internal_Template $_template) + { + $this->compile_id = $_template->compile_id; + $this->cache_id = $_template->cache_id; + $this->source = $_template->source; + if (!class_exists('Smarty_CacheResource', false)) { + require SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php'; + } + $this->handler = Smarty_CacheResource::load($_template->smarty); + } + + /** + * @param Smarty_Internal_Template $_template + * + * @return Smarty_Template_Cached + */ + static function load(Smarty_Internal_Template $_template) + { + $_template->cached = new Smarty_Template_Cached($_template); + $_template->cached->handler->populate($_template->cached, $_template); + // caching enabled ? + if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || + $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || $_template->source->handler->recompiled + ) { + $_template->cached->valid = false; + } + return $_template->cached; + } + + /** + * Render cache template + * + * @param \Smarty_Internal_Template $_template + * @param bool $no_output_filter + * + * @throws \Exception + */ + public function render(Smarty_Internal_Template $_template, $no_output_filter = true) + { + if ($this->isCached($_template)) { + if ($_template->smarty->debugging) { + $_template->smarty->_debug->start_cache($_template); + } + if (!$this->processed) { + $this->process($_template); + } + $this->getRenderedTemplateCode($_template); + if ($_template->smarty->debugging) { + $_template->smarty->_debug->end_cache($_template); + } + return; + } else { + $_template->smarty->ext->_updateCache->updateCache($this, $_template, $no_output_filter); + } + } + + /** + * Check if cache is valid, lock cache if required + * + * @param \Smarty_Internal_Template $_template + * + * @return bool flag true if cache is valid + */ + public function isCached(Smarty_Internal_Template $_template) + { + if ($this->valid !== null) { + return $this->valid; + } + while (true) { + while (true) { + if ($this->exists === false || $_template->smarty->force_compile || $_template->smarty->force_cache) { + $this->valid = false; + } else { + $this->valid = true; + } + if ($this->valid && $_template->caching == Smarty::CACHING_LIFETIME_CURRENT && + $_template->cache_lifetime >= 0 && time() > ($this->timestamp + $_template->cache_lifetime) + ) { + // lifetime expired + $this->valid = false; + } + if ($this->valid && $_template->smarty->compile_check == 1 && + $_template->source->getTimeStamp() > $this->timestamp + ) { + $this->valid = false; + } + if ($this->valid || !$_template->smarty->cache_locking) { + break; + } + if (!$this->handler->locked($_template->smarty, $this)) { + $this->handler->acquireLock($_template->smarty, $this); + break 2; + } + $this->handler->populate($this, $_template); + } + if ($this->valid) { + if (!$_template->smarty->cache_locking || $this->handler->locked($_template->smarty, $this) === null) { + // load cache file for the following checks + if ($_template->smarty->debugging) { + $_template->smarty->_debug->start_cache($_template); + } + if ($this->handler->process($_template, $this) === false) { + $this->valid = false; + } else { + $this->processed = true; + } + if ($_template->smarty->debugging) { + $_template->smarty->_debug->end_cache($_template); + } + } else { + $this->is_locked = true; + continue; + } + } else { + return $this->valid; + } + if ($this->valid && $_template->caching === Smarty::CACHING_LIFETIME_SAVED && + $_template->cached->cache_lifetime >= 0 && + (time() > ($_template->cached->timestamp + $_template->cached->cache_lifetime)) + ) { + $this->valid = false; + } + if ($_template->smarty->cache_locking) { + if (!$this->valid) { + $this->handler->acquireLock($_template->smarty, $this); + } elseif ($this->is_locked) { + $this->handler->releaseLock($_template->smarty, $this); + } + } + return $this->valid; + } + return $this->valid; + } + + /** + * Process cached template + * + * @param Smarty_Internal_Template $_template template object + * @param bool $update flag if called because cache update + */ + public function process(Smarty_Internal_Template $_template, $update = false) + { + if ($this->handler->process($_template, $this, $update) === false) { + $this->valid = false; + } + if ($this->valid) { + $this->processed = true; + } else { + $this->processed = false; + } + } + + /** + * Read cache content from handler + * + * @param Smarty_Internal_Template $_template template object + * + * @return string content + */ + public function read(Smarty_Internal_Template $_template) + { + if (!$_template->source->handler->recompiled) { + return $this->handler->readCachedContent($_template); + } + return false; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_template_compiled.php b/library/Smarty/libs/sysplugins/smarty_template_compiled.php new file mode 100644 index 000000000..e7710f85e --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_template_compiled.php @@ -0,0 +1,297 @@ +<?php + +/** + * Smarty Resource Data Object + * Meta Data Container for Template Files + * + * @package Smarty + * @subpackage TemplateResources + * @author Rodney Rehm + * @property string $content compiled content + */ +class Smarty_Template_Compiled extends Smarty_Template_Resource_Base +{ + + /** + * nocache hash + * + * @var string|null + */ + public $nocache_hash = null; + + /** + * get a Compiled Object of this source + * + * @param Smarty_Internal_Template $_template template object + * + * @return Smarty_Template_Compiled compiled object + */ + static function load($_template) + { + // check runtime cache + if (!$_template->source->handler->recompiled && + ($_template->smarty->resource_cache_mode & Smarty::RESOURCE_CACHE_ON) + ) { + $_cache_key = $_template->source->unique_resource . '#'; + if ($_template->caching) { + $_cache_key .= 'caching#'; + } + $_cache_key .= $_template->compile_id; + if (isset($_template->source->compileds[$_cache_key])) { + return $_template->source->compileds[$_cache_key]; + } + } + $compiled = new Smarty_Template_Compiled(); + if ($_template->source->handler->hasCompiledHandler) { + $_template->source->handler->populateCompiledFilepath($compiled, $_template); + } else { + $compiled->populateCompiledFilepath($_template); + } + // runtime cache + if (!$_template->source->handler->recompiled && + ($_template->smarty->resource_cache_mode & Smarty::RESOURCE_CACHE_ON) + ) { + $_template->source->compileds[$_cache_key] = $compiled; + } + return $compiled; + } + + /** + * populate Compiled Object with compiled filepath + * + * @param Smarty_Internal_Template $_template template object + **/ + public function populateCompiledFilepath(Smarty_Internal_Template $_template) + { + $_compile_id = isset($_template->compile_id) ? preg_replace('![^\w]+!', '_', $_template->compile_id) : null; + if ($_template->source->isConfig) { + $_flag = '_' . + ((int) $_template->smarty->config_read_hidden + (int) $_template->smarty->config_booleanize * 2 + + (int) $_template->smarty->config_overwrite * 4); + } else { + $_flag = + '_' . ((int) $_template->smarty->merge_compiled_includes + (int) $_template->smarty->escape_html * 2); + } + $_filepath = $_template->source->uid . $_flag; + // if use_sub_dirs, break file into directories + if ($_template->smarty->use_sub_dirs) { + $_filepath = substr($_filepath, 0, 2) . DS . substr($_filepath, 2, 2) . DS . substr($_filepath, 4, 2) . DS . + $_filepath; + } + $_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^'; + if (isset($_compile_id)) { + $_filepath = $_compile_id . $_compile_dir_sep . $_filepath; + } + // caching token + if ($_template->caching) { + $_cache = '.cache'; + } else { + $_cache = ''; + } + $_compile_dir = $_template->smarty->getCompileDir(); + // set basename if not specified + $_basename = $_template->source->handler->getBasename($_template->source); + if ($_basename === null) { + $_basename = basename(preg_replace('![^\w]+!', '_', $_template->source->name)); + } + // separate (optional) basename by dot + if ($_basename) { + $_basename = '.' . $_basename; + } + + $this->filepath = $_compile_dir . $_filepath . '.' . $_template->source->type . $_basename . $_cache . '.php'; + $this->exists = is_file($this->filepath); + if (!$this->exists) { + $this->timestamp = false; + } + } + + /** + * load compiled template or compile from source + * + * @param Smarty_Internal_Template $_template + * + * @throws Exception + */ + public function process(Smarty_Internal_Template $_template) + { + $_smarty_tpl = $_template; + if ($_template->source->handler->recompiled || !$_template->compiled->exists || + $_template->smarty->force_compile || ($_template->smarty->compile_check && + $_template->source->getTimeStamp() > $_template->compiled->getTimeStamp()) + ) { + $this->compileTemplateSource($_template); + $compileCheck = $_template->smarty->compile_check; + $_template->smarty->compile_check = false; + if ($_template->source->handler->recompiled) { + $level = ob_get_level(); + ob_start(); + try { + eval("?>" . $this->content); + } + catch (Exception $e) { + while (ob_get_level() > $level) { + ob_end_clean(); + } + throw $e; + } + ob_get_clean(); + $this->content = null; + } else { + $this->loadCompiledTemplate($_template); + } + $_template->smarty->compile_check = $compileCheck; + } else { + $_template->mustCompile = true; + @include($_template->compiled->filepath); + if ($_template->mustCompile) { + $this->compileTemplateSource($_template); + $compileCheck = $_template->smarty->compile_check; + $_template->smarty->compile_check = false; + $this->loadCompiledTemplate($_template); + $_template->smarty->compile_check = $compileCheck; + } + } + $_template->smarty->ext->_subTemplate->registerSubTemplates($_template); + + $this->processed = true; + } + + /** + * Load fresh compiled template by including the PHP file + * HHVM requires a work around because of a PHP incompatibility + * + * @param \Smarty_Internal_Template $_template + */ + private function loadCompiledTemplate(Smarty_Internal_Template $_template) + { + if (function_exists('opcache_invalidate')) { + opcache_invalidate($_template->compiled->filepath); + } + $_smarty_tpl = $_template; + if (defined('HHVM_VERSION')) { + $_template->smarty->ext->_hhvm->includeHhvm($_template, $_template->compiled->filepath); + } else { + include($_template->compiled->filepath); + } + } + + /** + * render compiled template code + * + * @param Smarty_Internal_Template $_template + * + * @return string + * @throws Exception + */ + public function render(Smarty_Internal_Template $_template) + { + if ($_template->smarty->debugging) { + $_template->smarty->_debug->start_render($_template); + } + if (!$this->processed) { + $this->process($_template); + } + if (isset($_template->cached)) { + $_template->cached->file_dependency = + array_merge($_template->cached->file_dependency, $this->file_dependency); + } + $this->getRenderedTemplateCode($_template); + if ($_template->caching && $this->has_nocache_code) { + $_template->cached->hashes[$this->nocache_hash] = true; + } + if (isset($_template->parent) && $_template->parent->_objType == 2 && !empty($_template->tpl_function)) { + $_template->parent->tpl_function = array_merge($_template->parent->tpl_function, $_template->tpl_function); + } + if ($_template->smarty->debugging) { + $_template->smarty->_debug->end_render($_template); + } + } + + /** + * compile template from source + * + * @param Smarty_Internal_Template $_template + * + * @return string + * @throws Exception + */ + public function compileTemplateSource(Smarty_Internal_Template $_template) + { + $_template->source->compileds = array(); + $this->file_dependency = array(); + $this->tpl_function = array(); + $this->includes = array(); + $this->nocache_hash = null; + $this->unifunc = null; + // compile locking + if (!$_template->source->handler->recompiled) { + if ($saved_timestamp = $_template->compiled->getTimeStamp()) { + touch($_template->compiled->filepath); + } + } + // call compiler + try { + $_template->loadCompiler(); + $code = $_template->compiler->compileTemplate($_template); + } + catch (Exception $e) { + // restore old timestamp in case of error + if (!$_template->source->handler->recompiled && $saved_timestamp) { + touch($_template->compiled->filepath, $saved_timestamp); + } + throw $e; + } + // compiling succeeded + if ($_template->compiler->write_compiled_code) { + // write compiled template + $this->write($_template, $code); + $code = ''; + } + // release compiler object to free memory + unset($_template->compiler); + return $code; + } + + /** + * Write compiled code by handler + * + * @param Smarty_Internal_Template $_template template object + * @param string $code compiled code + * + * @return boolean success + */ + public function write(Smarty_Internal_Template $_template, $code) + { + if (!$_template->source->handler->recompiled) { + if ($_template->smarty->ext->_writeFile->writeFile($this->filepath, $code, $_template->smarty) === true) { + $this->timestamp = $this->exists = is_file($this->filepath); + if ($this->exists) { + $this->timestamp = filemtime($this->filepath); + return true; + } + } + return false; + } else { + $this->content = $code; + } + $this->timestamp = time(); + $this->exists = true; + return true; + } + + /** + * Read compiled content from handler + * + * @param Smarty_Internal_Template $_template template object + * + * @return string content + */ + public function read(Smarty_Internal_Template $_template) + { + if (!$_template->source->handler->recompiled) { + return file_get_contents($this->filepath); + } + return isset($this->content) ? $this->content : false; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_template_config.php b/library/Smarty/libs/sysplugins/smarty_template_config.php new file mode 100644 index 000000000..f0fff5080 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_template_config.php @@ -0,0 +1,97 @@ +<?php +/** + * Smarty Config Source Plugin + * + * @package Smarty + * @subpackage TemplateResources + * @author Uwe Tews + */ + +/** + * Smarty Connfig Resource Data Object + * Meta Data Container for Template Files + * + * @package Smarty + * @subpackage TemplateResources + * @author Uwe Tews + * + */ +class Smarty_Template_Config extends Smarty_Template_Source +{ + /** + * array of section names, single section or null + * + * @var null|string|array + */ + public $config_sections = null; + + /** + * scope into which the config variables shall be loaded + * + * @var string + */ + public $scope = 'local'; + + /** + * Flag that source is a config file + * + * @var bool + */ + public $isConfig = true; + + /** + * create Source Object container + * + * @param Smarty_Resource $handler Resource Handler this source object communicates with + * @param Smarty $smarty Smarty instance this source object belongs to + * @param string $resource full template_resource + * @param string $type type of resource + * @param string $name resource name + */ + public function __construct(Smarty_Resource $handler, Smarty $smarty, $resource, $type, $name) + { + // must clone handler as we change class names + $this->handler = clone $handler; // Note: prone to circular references + $this->handler->compiler_class = 'Smarty_Internal_Config_File_Compiler'; + $this->handler->template_lexer_class = 'Smarty_Internal_Configfilelexer'; + $this->handler->template_parser_class = 'Smarty_Internal_Configfileparser'; + $this->resource = $resource; + $this->type = $type; + $this->name = $name; + $this->smarty = $smarty; + } + + /** + * initialize Source Object for given resource + * Either [$_template] or [$smarty, $template_resource] must be specified + * + * @param Smarty_Internal_Template $_template template object + * @param Smarty $smarty smarty object + * @param string $template_resource resource identifier + * + * @return Smarty_Template_Config Source Object + * @throws SmartyException + */ + public static function load(Smarty_Internal_Template $_template = null, Smarty $smarty = null, $template_resource = null) + { + static $_incompatible_resources = array('extends' => true, 'php' => true); + $template_resource = $_template->template_resource; + if (empty($template_resource)) { + throw new SmartyException('Missing config name'); + } + // parse resource_name, load resource handler + list($name, $type) = Smarty_Resource::parseResourceName($template_resource, $_template->smarty->default_config_type); + // make sure configs are not loaded via anything smarty can't handle + if (isset($_incompatible_resources[$type])) { + throw new SmartyException ("Unable to use resource '{$type}' for config"); + } + $resource = Smarty_Resource::load($_template->smarty, $type); + $source = new Smarty_Template_Config($resource, $_template->smarty, $template_resource, $type, $name); + $resource->populate($source, $_template); + if (!$source->exists && isset($_template->smarty->default_config_handler_func)) { + Smarty_Internal_Method_RegisterDefaultTemplateHandler::_getDefaultTemplate($source); + } + $source->unique_resource = $resource->buildUniqueResourceName($_template->smarty, $name, true); + return $source; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_template_resource_base.php b/library/Smarty/libs/sysplugins/smarty_template_resource_base.php new file mode 100644 index 000000000..b9e2e2830 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_template_resource_base.php @@ -0,0 +1,162 @@ +<?php + +/** + * Smarty Template Resource Base Object + * + * @package Smarty + * @subpackage TemplateResources + * @author Rodney Rehm + */ +abstract class Smarty_Template_Resource_Base +{ + /** + * Compiled Filepath + * + * @var string + */ + public $filepath = null; + + /** + * Compiled Timestamp + * + * @var integer + */ + public $timestamp = null; + + /** + * Compiled Existence + * + * @var boolean + */ + public $exists = false; + + /** + * Template Compile Id (Smarty_Internal_Template::$compile_id) + * + * @var string + */ + public $compile_id = null; + + /** + * Compiled Content Loaded + * + * @var boolean + */ + public $processed = false; + + /** + * unique function name for compiled template code + * + * @var string + */ + public $unifunc = ''; + + /** + * flag if template does contain nocache code sections + * + * @var bool + */ + public $has_nocache_code = false; + + /** + * resource file dependency + * + * @var array + */ + public $file_dependency = array(); + + /** + * Content buffer + * + * @var string + */ + public $content = null; + + /** + * required plugins + * + * @var array + */ + public $required_plugins = array(); + + /** + * Known template functions + * + * @var array + */ + public $tpl_function = array(); + + /** + * Included subtemplates + * + * @var array + */ + public $includes = array(); + + /** + * Process resource + * + * @param Smarty_Internal_Template $_template template object + */ + abstract public function process(Smarty_Internal_Template $_template); + + /** + * get rendered template content by calling compiled or cached template code + * + * @param string $unifunc function with template code + * + * @return string + * @throws \Exception + */ + public function getRenderedTemplateCode(Smarty_Internal_Template $_template, $unifunc = null) + { + $unifunc = isset($unifunc) ? $unifunc : $this->unifunc; + $level = ob_get_level(); + try { + if (empty($unifunc) || !is_callable($unifunc)) { + throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'"); + } + if (isset($_template->smarty->security_policy)) { + $_template->smarty->security_policy->startTemplate($_template); + } + // + // render compiled or saved template code + // + if (!isset($_template->_cache['capture_stack'])) { + $_template->_cache['capture_stack'] = array(); + } + $_saved_capture_level = count($_template->_cache['capture_stack']); + $unifunc($_template); + // any unclosed {capture} tags ? + if ($_saved_capture_level != count($_template->_cache['capture_stack'])) { + $_template->capture_error(); + } + if (isset($_template->smarty->security_policy)) { + $_template->smarty->security_policy->exitTemplate(); + } + return null; + } + catch (Exception $e) { + while (ob_get_level() > $level) { + ob_end_clean(); + } + if (isset($_template->smarty->security_policy)) { + $_template->smarty->security_policy->exitTemplate(); + } + throw $e; + } + } + + /** + * Get compiled time stamp + * + * @return int + */ + public function getTimeStamp() + { + if ($this->exists && !isset($this->timestamp)) { + $this->timestamp = @filemtime($this->filepath); + } + return $this->timestamp; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_template_source.php b/library/Smarty/libs/sysplugins/smarty_template_source.php new file mode 100644 index 000000000..be5b62809 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_template_source.php @@ -0,0 +1,267 @@ +<?php + +/** + * Smarty Resource Data Object + * Meta Data Container for Template Files + * + * @package Smarty + * @subpackage TemplateResources + * @author Rodney Rehm + * + */ +class Smarty_Template_Source +{ + /** + * Unique Template ID + * + * @var string + */ + public $uid = null; + + /** + * Template Resource (Smarty_Internal_Template::$template_resource) + * + * @var string + */ + public $resource = null; + + /** + * Resource Type + * + * @var string + */ + public $type = null; + + /** + * Resource Name + * + * @var string + */ + public $name = null; + + /** + * Unique Resource Name + * + * @var string + */ + public $unique_resource = null; + + /** + * Source Filepath + * + * @var string + */ + public $filepath = null; + + /** + * Source Timestamp + * + * @var integer + */ + public $timestamp = null; + + /** + * Source Existence + * + * @var boolean + */ + public $exists = false; + + /** + * Source File Base name + * + * @var string + */ + public $basename = null; + + /** + * The Components an extended template is made of + * + * @var \Smarty_Template_Source[] + */ + public $components = null; + + /** + * Resource Handler + * + * @var \Smarty_Resource + */ + public $handler = null; + + /** + * Smarty instance + * + * @var Smarty + */ + public $smarty = null; + + /** + * Resource is source + * + * @var bool + */ + public $isConfig = false; + + /** + * cache for Smarty_Template_Compiled instances + * + * @var Smarty_Template_Compiled[] + */ + public $compileds = array(); + + /** + * Template source content eventually set by default handler + * + * @var string + */ + public $content = null; + + /** + * create Source Object container + * + * @param Smarty_Resource $handler Resource Handler this source object communicates with + * @param Smarty $smarty Smarty instance this source object belongs to + * @param string $resource full template_resource + * @param string $type type of resource + * @param string $name resource name + * + */ + public function __construct(Smarty_Resource $handler, Smarty $smarty, $resource, $type, $name) + { + $this->handler = $handler; // Note: prone to circular references + $this->smarty = $smarty; + $this->resource = $resource; + $this->type = $type; + $this->name = $name; + } + + /** + * initialize Source Object for given resource + * Either [$_template] or [$smarty, $template_resource] must be specified + * + * @param Smarty_Internal_Template $_template template object + * @param Smarty $smarty smarty object + * @param string $template_resource resource identifier + * + * @return Smarty_Template_Source Source Object + * @throws SmartyException + */ + public static function load(Smarty_Internal_Template $_template = null, Smarty $smarty = null, + $template_resource = null) + { + if ($_template) { + $smarty = $_template->smarty; + $template_resource = $_template->template_resource; + } + if (empty($template_resource)) { + throw new SmartyException('Missing template name'); + } + // parse resource_name, load resource handler, identify unique resource name + if (preg_match('/^([A-Za-z0-9_\-]{2,})[:]([\s\S]*)$/', $template_resource, $match)) { + $type = $match[1]; + $name = $match[2]; + } else { + // no resource given, use default + // or single character before the colon is not a resource type, but part of the filepath + $type = $smarty->default_resource_type; + $name = $template_resource; + } + + $handler = isset($smarty->_cache['resource_handlers'][$type]) ? + $smarty->_cache['resource_handlers'][$type] : + Smarty_Resource::load($smarty, $type); + // if resource is not recompiling and resource name is not dotted we can check the source cache + if (($smarty->resource_cache_mode & Smarty::RESOURCE_CACHE_ON) && !$handler->recompiled && + !(isset($name[1]) && $name[0] == '.' && ($name[1] == '.' || $name[1] == '/')) + ) { + $unique_resource = $handler->buildUniqueResourceName($smarty, $name); + if (isset($smarty->_cache['source_objects'][$unique_resource])) { + return $smarty->_cache['source_objects'][$unique_resource]; + } + } else { + $unique_resource = null; + } + // create new source object + $source = new Smarty_Template_Source($handler, $smarty, $template_resource, $type, $name); + $handler->populate($source, $_template); + if (!$source->exists && isset($_template->smarty->default_template_handler_func)) { + Smarty_Internal_Method_RegisterDefaultTemplateHandler::_getDefaultTemplate($source); + } + // on recompiling resources we are done + if (($smarty->resource_cache_mode & Smarty::RESOURCE_CACHE_ON) && !$handler->recompiled) { + // may by we have already $unique_resource + $is_relative = false; + if (!isset($unique_resource)) { + $is_relative = isset($name[1]) && $name[0] == '.' && ($name[1] == '.' || $name[1] == '/') && + ($type == 'file' || + (isset($_template->parent->source) && $_template->parent->source->type == 'extends')); + $unique_resource = + $handler->buildUniqueResourceName($smarty, $is_relative ? $source->filepath . $name : $name); + } + $source->unique_resource = $unique_resource; + // save in runtime cache if not relative + if (!$is_relative) { + $smarty->_cache['source_objects'][$unique_resource] = $source; + } + } + return $source; + } + + /** + * render the uncompiled source + * + * @param Smarty_Internal_Template $_template template object + * + * @return string + * @throws \Exception + */ + public function renderUncompiled(Smarty_Internal_Template $_template) + { + $this->handler->renderUncompiled($_template->source, $_template); + } + + /** + * Render uncompiled source + * + * @param \Smarty_Internal_Template $_template + */ + public function render(Smarty_Internal_Template $_template) + { + if ($_template->source->handler->uncompiled) { + if ($_template->smarty->debugging) { + $_template->smarty->_debug->start_render($_template); + } + $this->handler->renderUncompiled($_template->source, $_template); + if (isset($_template->parent) && $_template->parent->_objType == 2 && !empty($_template->tpl_function)) { + $_template->parent->tpl_function = + array_merge($_template->parent->tpl_function, $_template->tpl_function); + } + if ($_template->smarty->debugging) { + $_template->smarty->_debug->end_render($_template); + } + } + } + + /** + * Get source time stamp + * + * @return int + */ + public function getTimeStamp() + { + if (!isset($this->timestamp)) { + $this->handler->populateTimestamp($this); + } + return $this->timestamp; + } + + /** + * Get source content + * + * @return string + */ + public function getContent() + { + return isset($this->content) ? $this->content : $this->handler->getContent($this); + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_undefined_variable.php b/library/Smarty/libs/sysplugins/smarty_undefined_variable.php new file mode 100644 index 000000000..88bc6f68c --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_undefined_variable.php @@ -0,0 +1,37 @@ +<?php + +/** + * class for undefined variable object + * This class defines an object for undefined variable handling + * + * @package Smarty + * @subpackage Template + */ +class Smarty_Undefined_Variable +{ + /** + * Returns FALSE for 'nocache' and NULL otherwise. + * + * @param string $name + * + * @return bool + */ + public function __get($name) + { + if ($name == 'nocache') { + return false; + } else { + return null; + } + } + + /** + * Always returns an empty string. + * + * @return string + */ + public function __toString() + { + return ""; + } +} diff --git a/library/Smarty/libs/sysplugins/smarty_variable.php b/library/Smarty/libs/sysplugins/smarty_variable.php new file mode 100644 index 000000000..a6504b18f --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_variable.php @@ -0,0 +1,47 @@ +<?php + +/** + * class for the Smarty variable object + * This class defines the Smarty variable object + * + * @package Smarty + * @subpackage Template + */ +class Smarty_Variable +{ + /** + * template variable + * + * @var mixed + */ + public $value = null; + /** + * if true any output of this variable will be not cached + * + * @var boolean + */ + public $nocache = false; + + /** + * create Smarty variable object + * + * @param mixed $value the value to assign + * @param boolean $nocache if true any output of this variable will be not cached + */ + public function __construct($value = null, $nocache = false) + { + $this->value = $value; + $this->nocache = $nocache; + } + + /** + * <<magic>> String conversion + * + * @return string + */ + public function __toString() + { + return (string) $this->value; + } +} + diff --git a/library/Smarty/libs/sysplugins/smartycompilerexception.php b/library/Smarty/libs/sysplugins/smartycompilerexception.php new file mode 100644 index 000000000..4d5d77875 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smartycompilerexception.php @@ -0,0 +1,39 @@ +<?php + +/** + * Smarty compiler exception class + * + * @package Smarty + */ +class SmartyCompilerException extends SmartyException +{ + public function __toString() + { + return ' --> Smarty Compiler: ' . $this->message . ' <-- '; + } + + /** + * The line number of the template error + * + * @type int|null + */ + public $line = null; + /** + * The template source snippet relating to the error + * + * @type string|null + */ + public $source = null; + /** + * The raw text of the error message + * + * @type string|null + */ + public $desc = null; + /** + * The resource identifier or template name + * + * @type string|null + */ + public $template = null; +} diff --git a/library/Smarty/libs/sysplugins/smartyexception.php b/library/Smarty/libs/sysplugins/smartyexception.php new file mode 100644 index 000000000..3da16c276 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smartyexception.php @@ -0,0 +1,15 @@ +<?php +/** + * Smarty exception class + * + * @package Smarty + */ +class SmartyException extends Exception +{ + public static $escape = false; + + public function __toString() + { + return ' --> Smarty: ' . (self::$escape ? htmlentities($this->message) : $this->message) . ' <-- '; + } +} diff --git a/library/cacert.pem b/library/cacert.pem index 739128024..ef43898ab 100644 --- a/library/cacert.pem +++ b/library/cacert.pem @@ -4078,3 +4078,33 @@ Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= -----END CERTIFICATE----- + +Lets Encrypt +============ +-----BEGIN CERTIFICATE----- +MIIEqDCCA5CgAwIBAgIRAJgT9HUT5XULQ+dDHpceRL0wDQYJKoZIhvcNAQELBQAw +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzAeFw0xNTEwMTkyMjMzMzZaFw0yMDEwMTkyMjMzMzZa +MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD +ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAJzTDPBa5S5Ht3JdN4OzaGMw6tc1Jhkl4b2+NfFwki+3uEtB +BaupnjUIWOyxKsRohwuj43Xk5vOnYnG6eYFgH9eRmp/z0HhncchpDpWRz/7mmelg +PEjMfspNdxIknUcbWuu57B43ABycrHunBerOSuu9QeU2mLnL/W08lmjfIypCkAyG +dGfIf6WauFJhFBM/ZemCh8vb+g5W9oaJ84U/l4avsNwa72sNlRZ9xCugZbKZBDZ1 +gGusSvMbkEl4L6KWTyogJSkExnTA0DHNjzE4lRa6qDO4Q/GxH8Mwf6J5MRM9LTb4 +4/zyM2q5OTHFr8SNDR1kFjOq+oQpttQLwNh9w5MCAwEAAaOCAZIwggGOMBIGA1Ud +EwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMH8GCCsGAQUFBwEBBHMwcTAy +BggrBgEFBQcwAYYmaHR0cDovL2lzcmcudHJ1c3RpZC5vY3NwLmlkZW50cnVzdC5j +b20wOwYIKwYBBQUHMAKGL2h0dHA6Ly9hcHBzLmlkZW50cnVzdC5jb20vcm9vdHMv +ZHN0cm9vdGNheDMucDdjMB8GA1UdIwQYMBaAFMSnsaR7LHH62+FLkHX/xBVghYkQ +MFQGA1UdIARNMEswCAYGZ4EMAQIBMD8GCysGAQQBgt8TAQEBMDAwLgYIKwYBBQUH +AgEWImh0dHA6Ly9jcHMucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcwPAYDVR0fBDUw +MzAxoC+gLYYraHR0cDovL2NybC5pZGVudHJ1c3QuY29tL0RTVFJPT1RDQVgzQ1JM +LmNybDATBgNVHR4EDDAKoQgwBoIELm1pbDAdBgNVHQ4EFgQUqEpqYwR93brm0Tm3 +pkVl7/Oo7KEwDQYJKoZIhvcNAQELBQADggEBANHIIkus7+MJiZZQsY14cCoBG1hd +v0J20/FyWo5ppnfjL78S2k4s2GLRJ7iD9ZDKErndvbNFGcsW+9kKK/TnY21hp4Dd +ITv8S9ZYQ7oaoqs7HwhEMY9sibED4aXw09xrJZTC9zK1uIfW6t5dHQjuOWv+HHoW +ZnupyxpsEUlEaFb+/SCI4KCSBdAsYxAcsHYI5xxEI4LutHp6s3OT2FuO90WfdsIk +6q78OMSdn875bNjdBYAqxUp2/LEIHfDBkLoQz0hFJmwAbYahqKaLn73PAAm1X2kj +f1w8DdnkabOLGeOVcj9LQ+s67vBykx4anTjURkbqZslUEUsn2k5xeua2zUk= +-----END CERTIFICATE----- diff --git a/library/certs/cacert.pem b/library/certs/cacert.pem index 1ff34f9b5..e4da7fc15 100644 --- a/library/certs/cacert.pem +++ b/library/certs/cacert.pem @@ -3986,3 +3986,33 @@ PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su -----END CERTIFICATE----- + +Lets Encrypt +============ +-----BEGIN CERTIFICATE----- +MIIEqDCCA5CgAwIBAgIRAJgT9HUT5XULQ+dDHpceRL0wDQYJKoZIhvcNAQELBQAw +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzAeFw0xNTEwMTkyMjMzMzZaFw0yMDEwMTkyMjMzMzZa +MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD +ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAJzTDPBa5S5Ht3JdN4OzaGMw6tc1Jhkl4b2+NfFwki+3uEtB +BaupnjUIWOyxKsRohwuj43Xk5vOnYnG6eYFgH9eRmp/z0HhncchpDpWRz/7mmelg +PEjMfspNdxIknUcbWuu57B43ABycrHunBerOSuu9QeU2mLnL/W08lmjfIypCkAyG +dGfIf6WauFJhFBM/ZemCh8vb+g5W9oaJ84U/l4avsNwa72sNlRZ9xCugZbKZBDZ1 +gGusSvMbkEl4L6KWTyogJSkExnTA0DHNjzE4lRa6qDO4Q/GxH8Mwf6J5MRM9LTb4 +4/zyM2q5OTHFr8SNDR1kFjOq+oQpttQLwNh9w5MCAwEAAaOCAZIwggGOMBIGA1Ud +EwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMH8GCCsGAQUFBwEBBHMwcTAy +BggrBgEFBQcwAYYmaHR0cDovL2lzcmcudHJ1c3RpZC5vY3NwLmlkZW50cnVzdC5j +b20wOwYIKwYBBQUHMAKGL2h0dHA6Ly9hcHBzLmlkZW50cnVzdC5jb20vcm9vdHMv +ZHN0cm9vdGNheDMucDdjMB8GA1UdIwQYMBaAFMSnsaR7LHH62+FLkHX/xBVghYkQ +MFQGA1UdIARNMEswCAYGZ4EMAQIBMD8GCysGAQQBgt8TAQEBMDAwLgYIKwYBBQUH +AgEWImh0dHA6Ly9jcHMucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcwPAYDVR0fBDUw +MzAxoC+gLYYraHR0cDovL2NybC5pZGVudHJ1c3QuY29tL0RTVFJPT1RDQVgzQ1JM +LmNybDATBgNVHR4EDDAKoQgwBoIELm1pbDAdBgNVHQ4EFgQUqEpqYwR93brm0Tm3 +pkVl7/Oo7KEwDQYJKoZIhvcNAQELBQADggEBANHIIkus7+MJiZZQsY14cCoBG1hd +v0J20/FyWo5ppnfjL78S2k4s2GLRJ7iD9ZDKErndvbNFGcsW+9kKK/TnY21hp4Dd +ITv8S9ZYQ7oaoqs7HwhEMY9sibED4aXw09xrJZTC9zK1uIfW6t5dHQjuOWv+HHoW +ZnupyxpsEUlEaFb+/SCI4KCSBdAsYxAcsHYI5xxEI4LutHp6s3OT2FuO90WfdsIk +6q78OMSdn875bNjdBYAqxUp2/LEIHfDBkLoQz0hFJmwAbYahqKaLn73PAAm1X2kj +f1w8DdnkabOLGeOVcj9LQ+s67vBykx4anTjURkbqZslUEUsn2k5xeua2zUk= +-----END CERTIFICATE----- diff --git a/library/ical.php b/library/ical.php deleted file mode 100644 index 6bb26bad8..000000000 --- a/library/ical.php +++ /dev/null @@ -1,379 +0,0 @@ -<?php -/** - * This PHP-Class should only read a iCal-File (*.ics), parse it and give an - * array with its content. - * - * PHP Version 5 - * - * @category Parser - * @package Ics-parser - * @author Martin Thoma <info@martin-thoma.de> - * @license http://www.opensource.org/licenses/mit-license.php MIT License - * @version SVN: <svn_id> - * @link http://code.google.com/p/ics-parser/ - * @example $ical = new ical('MyCal.ics'); - * print_r( $ical->events() ); - */ - -/** - * This example demonstrates how the Ics-Parser should be used. - * - * PHP Version 5 - * - * @category Example - * @package Ics-parser - * @author Martin Thoma <info@martin-thoma.de> - * @license http://www.opensource.org/licenses/mit-license.php MIT License - * @version SVN: <svn_id> - * @link http://code.google.com/p/ics-parser/ - * @example $ical = new ical('MyCal.ics'); - * print_r( $ical->get_event_array() ); - -require 'class.iCalReader.php'; - -$ical = new ICal('MyCal.ics'); -$events = $ical->events(); - -$date = $events[0]['DTSTART']; -echo "The ical date: "; -echo $date; -echo "<br/>"; - -echo "The Unix timestamp: "; -echo $ical->iCalDateToUnixTimestamp($date); -echo "<br/>"; - -echo "The number of events: "; -echo $ical->event_count; -echo "<br/>"; - -echo "The number of todos: "; -echo $ical->todo_count; -echo "<br/>"; -echo "<hr/><hr/>"; - -foreach ($events as $event) { - echo "SUMMARY: ".$event['SUMMARY']."<br/>"; - echo "DTSTART: ".$event['DTSTART']." - UNIX-Time: ".$ical->iCalDateToUnixTimestamp($event['DTSTART'])."<br/>"; - echo "DTEND: ".$event['DTEND']."<br/>"; - echo "DTSTAMP: ".$event['DTSTAMP']."<br/>"; - echo "UID: ".$event['UID']."<br/>"; - echo "CREATED: ".$event['CREATED']."<br/>"; - echo "DESCRIPTION: ".$event['DESCRIPTION']."<br/>"; - echo "LAST-MODIFIED: ".$event['LAST-MODIFIED']."<br/>"; - echo "LOCATION: ".$event['LOCATION']."<br/>"; - echo "SEQUENCE: ".$event['SEQUENCE']."<br/>"; - echo "STATUS: ".$event['STATUS']."<br/>"; - echo "TRANSP: ".$event['TRANSP']."<br/>"; - echo "<hr/>"; -} - - (end example) - * - * - */ - -// error_reporting(E_ALL); - -/** - * This is the iCal-class - * - * @category Parser - * @package Ics-parser - * @author Martin Thoma <info@martin-thoma.de> - * @license http://www.opensource.org/licenses/mit-license.php MIT License - * @link http://code.google.com/p/ics-parser/ - * - * @param {string} filename The name of the file which should be parsed - * @constructor - */ -class ICal -{ - /* How many ToDos are in this ical? */ - public /** @type {int} */ $todo_count = 0; - - /* How many events are in this ical? */ - public /** @type {int} */ $event_count = 0; - - /* The parsed calendar */ - public /** @type {Array} */ $cal; - - /* Which keyword has been added to cal at last? */ - private /** @type {string} */ $_lastKeyWord; - - /** - * Creates the iCal-Object - * - * @param {string} $filename The path to the iCal-file - * - * @return Object The iCal-Object - */ - public function __construct($filename) - { - if (!$filename) { - return false; - } - - $lines = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - if (stristr($lines[0], 'BEGIN:VCALENDAR') === false) { - return false; - } else { - // TODO: Fix multiline-description problem (see http://tools.ietf.org/html/rfc2445#section-4.8.1.5) - foreach ($lines as $line) { - $line = trim($line); - $add = $this->keyValueFromString($line); - if ($add === false) { - $this->addCalendarComponentWithKeyAndValue($type, false, $line); - continue; - } - - list($keyword, $value) = $add; - - switch ($line) { - // http://www.kanzaki.com/docs/ical/vtodo.html - case "BEGIN:VTODO": - $this->todo_count++; - $type = "VTODO"; - break; - - // http://www.kanzaki.com/docs/ical/vevent.html - case "BEGIN:VEVENT": - //echo "vevent gematcht"; - $this->event_count++; - $type = "VEVENT"; - break; - - //all other special strings - case "BEGIN:VCALENDAR": - case "BEGIN:DAYLIGHT": - // http://www.kanzaki.com/docs/ical/vtimezone.html - case "BEGIN:VTIMEZONE": - case "BEGIN:STANDARD": - $type = $value; - break; - case "END:VTODO": // end special text - goto VCALENDAR key - case "END:VEVENT": - case "END:VCALENDAR": - case "END:DAYLIGHT": - case "END:VTIMEZONE": - case "END:STANDARD": - $type = "VCALENDAR"; - break; - default: - $this->addCalendarComponentWithKeyAndValue($type, - $keyword, - $value); - break; - } - } - return $this->cal; - } - } - - /** - * Add to $this->ical array one value and key. - * - * @param {string} $component This could be VTODO, VEVENT, VCALENDAR, ... - * @param {string} $keyword The keyword, for example DTSTART - * @param {string} $value The value, for example 20110105T090000Z - * - * @return {None} - */ - public function addCalendarComponentWithKeyAndValue($component, - $keyword, - $value) - { - if ($keyword == false) { - $keyword = $this->last_keyword; - switch ($component) { - case 'VEVENT': - $value = $this->cal[$component][$this->event_count - 1] - [$keyword].$value; - break; - case 'VTODO' : - $value = $this->cal[$component][$this->todo_count - 1] - [$keyword].$value; - break; - } - } - - if (stristr($keyword, "DTSTART") or stristr($keyword, "DTEND")) { - $keyword = explode(";", $keyword); - $keyword = $keyword[0]; - } - - switch ($component) { - case "VTODO": - $this->cal[$component][$this->todo_count - 1][$keyword] = $value; - //$this->cal[$component][$this->todo_count]['Unix'] = $unixtime; - break; - case "VEVENT": - $this->cal[$component][$this->event_count - 1][$keyword] = $value; - break; - default: - $this->cal[$component][$keyword] = $value; - break; - } - $this->last_keyword = $keyword; - } - - /** - * Get a key-value pair of a string. - * - * @param {string} $text which is like "VCALENDAR:Begin" or "LOCATION:" - * - * @return {array} array("VCALENDAR", "Begin") - */ - public function keyValueFromString($text) - { - preg_match("/([^:]+)[:]([\w\W]*)/", $text, $matches); - if (count($matches) == 0) { - return false; - } - $matches = array_splice($matches, 1, 2); - return $matches; - } - - /** - * Return Unix timestamp from ical date time format - * - * @param {string} $icalDate A Date in the format YYYYMMDD[T]HHMMSS[Z] or - * YYYYMMDD[T]HHMMSS - * - * @return {int} - */ - public function iCalDateToUnixTimestamp($icalDate) - { - $icalDate = str_replace('T', '', $icalDate); - $icalDate = str_replace('Z', '', $icalDate); - - $pattern = '/([0-9]{4})'; // 1: YYYY - $pattern .= '([0-9]{2})'; // 2: MM - $pattern .= '([0-9]{2})'; // 3: DD - $pattern .= '([0-9]{0,2})'; // 4: HH - $pattern .= '([0-9]{0,2})'; // 5: MM - $pattern .= '([0-9]{0,2})/'; // 6: SS - preg_match($pattern, $icalDate, $date); - - // Unix timestamp can't represent dates before 1970 - if ($date[1] <= 1970) { - return false; - } - // Unix timestamps after 03:14:07 UTC 2038-01-19 might cause an overflow - // if 32 bit integers are used. - $timestamp = mktime((int)$date[4], - (int)$date[5], - (int)$date[6], - (int)$date[2], - (int)$date[3], - (int)$date[1]); - return $timestamp; - } - - /** - * Returns an array of arrays with all events. Every event is an associative - * array and each property is an element it. - * - * @return {array} - */ - public function events() - { - $array = $this->cal; - return $array['VEVENT']; - } - - /** - * Returns a boolean value whether thr current calendar has events or not - * - * @return {boolean} - */ - public function hasEvents() - { - return ( count($this->events()) > 0 ? true : false ); - } - - /** - * Returns false when the current calendar has no events in range, else the - * events. - * - * Note that this function makes use of a UNIX timestamp. This might be a - * problem on January the 29th, 2038. - * See http://en.wikipedia.org/wiki/Unix_time#Representing_the_number - * - * @param {boolean} $rangeStart Either true or false - * @param {boolean} $rangeEnd Either true or false - * - * @return {mixed} - */ - public function eventsFromRange($rangeStart = false, $rangeEnd = false) - { - $events = $this->sortEventsWithOrder($this->events(), SORT_ASC); - - if (!$events) { - return false; - } - - $extendedEvents = array(); - - if ($rangeStart !== false) { - $rangeStart = new DateTime(); - } - - if ($rangeEnd !== false or $rangeEnd <= 0) { - $rangeEnd = new DateTime('2038/01/18'); - } else { - $rangeEnd = new DateTime($rangeEnd); - } - - $rangeStart = $rangeStart->format('U'); - $rangeEnd = $rangeEnd->format('U'); - - - - // loop through all events by adding two new elements - foreach ($events as $anEvent) { - $timestamp = $this->iCalDateToUnixTimestamp($anEvent['DTSTART']); - if ($timestamp >= $rangeStart && $timestamp <= $rangeEnd) { - $extendedEvents[] = $anEvent; - } - } - - return $extendedEvents; - } - - /** - * Returns a boolean value whether thr current calendar has events or not - * - * @param {array} $events An array with events. - * @param {array} $sortOrder Either SORT_ASC, SORT_DESC, SORT_REGULAR, - * SORT_NUMERIC, SORT_STRING - * - * @return {boolean} - */ - public function sortEventsWithOrder($events, $sortOrder = SORT_ASC) - { - $extendedEvents = array(); - - // loop through all events by adding two new elements - foreach ($events as $anEvent) { - if (!array_key_exists('UNIX_TIMESTAMP', $anEvent)) { - $anEvent['UNIX_TIMESTAMP'] = - $this->iCalDateToUnixTimestamp($anEvent['DTSTART']); - } - - if (!array_key_exists('REAL_DATETIME', $anEvent)) { - $anEvent['REAL_DATETIME'] = - date("d.m.Y", $anEvent['UNIX_TIMESTAMP']); - } - - $extendedEvents[] = $anEvent; - } - - foreach ($extendedEvents as $key => $value) { - $timestamp[$key] = $value['UNIX_TIMESTAMP']; - } - array_multisort($timestamp, $sortOrder, $extendedEvents); - - return $extendedEvents; - } -} diff --git a/mod/admin.php b/mod/admin.php index 4b7cb3cd9..bac0148e0 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -243,7 +243,7 @@ function admin_page_site_post(&$a){ $not_allowed_email = ((x($_POST,'not_allowed_email')) ? notags(trim($_POST['not_allowed_email'])) : ''); $block_public = ((x($_POST,'block_public')) ? True : False); $force_publish = ((x($_POST,'publish_all')) ? True : False); - $disable_discover_tab = ((x($_POST,'disable_discover_tab')) ? True : False); + $disable_discover_tab = ((x($_POST,'disable_discover_tab')) ? False : True); $login_on_homepage = ((x($_POST,'login_on_homepage')) ? True : False); $global_directory = ((x($_POST,'directory_submit_url')) ? notags(trim($_POST['directory_submit_url'])) : ''); $no_community_page = !((x($_POST,'no_community_page')) ? True : False); @@ -425,6 +425,13 @@ function admin_page_site(&$a) { // SSL_POLICY_FULL => t("Force all links to use SSL") // ); + $discover_tab = get_config('system','disable_discover_tab'); + // $disable public streams by default + if($discover_tab === false) + $discover_tab = 1; + // now invert the logic for the setting. + $discover_tab = (1 - $discover_tab); + $homelogin = get_config('system','login_on_homepage'); @@ -461,7 +468,7 @@ function admin_page_site(&$a) { '$block_public' => array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently logged in.")), '$verify_email' => array('verify_email', t("Verify Email Addresses"), get_config('system','verify_email'), t("Check to verify email addresses used in account registration (recommended).")), '$force_publish' => array('publish_all', t("Force publish"), get_config('system','publish_all'), t("Check to force all profiles on this site to be listed in the site directory.")), - '$disable_discover_tab' => array('disable_discover_tab', t("Disable discovery tab"), get_config('system','disable_discover_tab'), t("Remove the tab in the network view with public content pulled from sources chosen for this site.")), + '$disable_discover_tab' => array('disable_discover_tab', t('Import Public Streams'), $discover_tab, t('Import and allow access to public content pulled from other sites. Warning: this content is unmoderated.')), '$login_on_homepage' => array('login_on_homepage', t("login on Homepage"),((intval($homelogin) || $homelogin === false) ? 1 : '') , t("Present a login box to visitors on the home page if no other content has been configured.")), '$directory_server' => (($dir_choices) ? array('directory_server', t("Directory Server URL"), get_config('system','directory_server'), t("Default directory server"), $dir_choices) : null), diff --git a/mod/cloud.php b/mod/cloud.php index efb33f935..67fc199bf 100644 --- a/mod/cloud.php +++ b/mod/cloud.php @@ -73,36 +73,18 @@ function cloud_init(&$a) { $server->addPlugin($lockPlugin); -/* This next bit should no longer be needed... */ - - // The next section of code allows us to bypass prompting for http-auth if a - // FILE is being accessed anonymously and permissions allow this. This way - // one can create hotlinks to public media files in their cloud and anonymous - // viewers won't get asked to login. - // If a DIRECTORY is accessed or there are permission issues accessing the - // file and we aren't previously authenticated via zot, prompt for HTTP-auth. - // This will be the default case for mounting a DAV directory. - // In order to avoid prompting for passwords for viewing a DIRECTORY, add - // the URL query parameter 'davguest=1'. - -// $isapublic_file = false; -// $davguest = ((x($_SESSION, 'davguest')) ? true : false); - -// if ((! $auth->observer) && ($_SERVER['REQUEST_METHOD'] === 'GET')) { -// try { -// $x = RedFileData('/' . $a->cmd, $auth); -// if($x instanceof RedDAV\RedFile) -// $isapublic_file = true; -// } -// catch (Exception $e) { -// $isapublic_file = false; -// } -// } - -// if ((! $auth->observer) && (! $isapublic_file) && (! $davguest)) { -// logger('mod_cloud: auth exception'); -// http_status_exit(401, 'Permission denied.'); -// } + $is_readable = false; + + if($_SERVER['REQUEST_METHOD'] === 'GET') { + try { + $x = RedFileData('/' . $a->cmd, $auth); + } + catch(\Exception $e) { + if($e instanceof Sabre\DAV\Exception\Forbidden) { + http_status_exit(401, 'Permission denied.'); + } + } + } require_once('include/RedDAV/RedBrowser.php'); // provide a directory view for the cloud in Hubzilla diff --git a/mod/dirsearch.php b/mod/dirsearch.php index 548acbd08..388e5f3ac 100644 --- a/mod/dirsearch.php +++ b/mod/dirsearch.php @@ -26,8 +26,8 @@ function dirsearch_content(&$a) { $token = get_config('system','realm_token'); if($token && $access_token != $token) { - $result['message'] = t('This directory server requires an access token'); - return; + $ret['message'] = t('This directory server requires an access token'); + json_return_and_die($ret); } diff --git a/mod/events.php b/mod/events.php index 080c39911..74b44906c 100755 --- a/mod/events.php +++ b/mod/events.php @@ -434,22 +434,22 @@ function events_content(&$a) { '$xchan' => $event_xchan, '$mid' => $mid, '$event_hash' => $event_id, - '$summary' => array('summary', t('Event Title'), $t_orig, t('Required'), '*'), + '$summary' => array('summary', (($event_id) ? t('Edit event titel') : t('Event titel')), $t_orig, t('Required'), '*'), '$catsenabled' => $catsenabled, '$placeholdercategory' => t('Categories (comma-separated list)'), - '$c_text' => t('Category'), + '$c_text' => (($event_id) ? t('Edit Category') : t('Category')), '$category' => $category, '$required' => '<span class="required" title="' . t('Required') . '">*</span>', - '$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"), t('Start date and time'), 'start_text',true,true,'','',true,$first_day), + '$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"), (($event_id) ? t('Edit start date and time') : t('Start date and time')), 'start_text',true,true,'','',true,$first_day), '$n_text' => t('Finish date and time are not known or not relevant'), '$n_checked' => $n_checked, - '$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"), t('Finish date and time'),'finish_text',true,true,'start_text','',false,$first_day), + '$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"), (($event_id) ? t('Edit finish date and time') : t('Finish date and time')),'finish_text',true,true,'start_text','',false,$first_day), '$nofinish' => array('nofinish', t('Finish date and time are not known or not relevant'), $n_checked, '', array(t('No'),t('Yes')), 'onclick="enableDisableFinishDate();"'), '$adjust' => array('adjust', t('Adjust for viewer timezone'), $a_checked, t('Important for events that happen in a particular place. Not practical for global holidays.'), array(t('No'),t('Yes'))), '$a_text' => t('Adjust for viewer timezone'), - '$d_text' => t('Description'), + '$d_text' => (($event_id) ? t('Edit Description') : t('Description')), '$d_orig' => $d_orig, - '$l_text' => t('Location'), + '$l_text' => (($event_id) ? t('Edit Location') : t('Location')), '$l_orig' => $l_orig, '$t_orig' => $t_orig, '$sh_text' => t('Share this event'), @@ -648,7 +648,7 @@ function events_content(&$a) { $o = replace_macros($tpl, array( '$baseurl' => $a->get_baseurl(), - '$new_event' => array($a->get_baseurl().'/events/new',t('New Event'),'',''), + '$new_event' => array($a->get_baseurl().'/events',(($event_id) ? t('Edit Event') : t('Create Event')),'',''), '$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''), '$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''), '$export' => array($a->get_baseurl()."/events/$y/$m/export",t('Export'),'',''), diff --git a/mod/fbrowser.php b/mod/fbrowser.php index 90b554edd..13abbfd8a 100644 --- a/mod/fbrowser.php +++ b/mod/fbrowser.php @@ -57,13 +57,8 @@ function fbrowser_content($a){ $types = $ph->supportedTypes(); $ext = $types[$rr['type']]; - if($a->get_template_engine() === 'internal') { - $filename_e = template_escape($rr['filename']); - } - else { - $filename_e = $rr['filename']; - } - + $filename_e = $rr['filename']; + return array( $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['hiq'] . '.' .$ext, $filename_e, diff --git a/mod/feed.php b/mod/feed.php index 3b622fc17..eb72af9cf 100644 --- a/mod/feed.php +++ b/mod/feed.php @@ -15,6 +15,7 @@ function feed_init(&$a) { $params['start'] = ((x($params,'start')) ? intval($params['start']) : 0); $params['records'] = ((x($params,'records')) ? intval($params['records']) : 40); $params['direction'] = ((x($params,'direction')) ? dbesc($params['direction']) : 'desc'); + $params['cat'] = ((x($_REQUEST,'cat')) ? escape_tags($_REQUEST['cat']) : ''); $channel = ''; if(argc() > 1) { diff --git a/mod/home.php b/mod/home.php index bf2463bbc..bfac17eab 100644 --- a/mod/home.php +++ b/mod/home.php @@ -72,7 +72,7 @@ function home_content(&$a, $update = 0, $load = false) { $sitename = get_config('system','sitename'); if($sitename) - $o .= '<h1>' . sprintf( t("Welcome to %s") ,$sitename) . '</h1>'; + $o .= '<h1 class="home-welcome">' . sprintf( t("Welcome to %s") ,$sitename) . '</h1>'; $loginbox = get_config('system','login_on_homepage'); if(intval($loginbox) || $loginbox === false) diff --git a/mod/invite.php b/mod/invite.php index bda808142..e8bb74ee2 100644 --- a/mod/invite.php +++ b/mod/invite.php @@ -50,23 +50,6 @@ function invite_post(&$a) { continue; } - if($invonly && ($x || is_site_admin())) { - $code = autoname(8) . srand(1000,9999); - $nmessage = str_replace('$invite_code',$code,$message); - - $r = q("INSERT INTO `register` (`hash`,`created`) VALUES ('%s', '%s') ", - dbesc($code), - dbesc(datetime_convert()) - ); - - if(! is_site_admin()) { - $x --; - if($x >= 0) - set_pconfig(local_channel(),'system','invites_remaining',$x); - else - return; - } - } else $nmessage = $message; @@ -117,6 +100,23 @@ function invite_content(&$a) { } } + if($invonly && ($x || is_site_admin())) { + $invite_code = autoname(8) . rand(1000,9999); + $nmessage = str_replace('$invite_code',$invite_code,$message); + + $r = q("INSERT INTO `register` (`hash`,`created`) VALUES ('%s', '%s') ", + dbesc($invite_code), + dbesc(datetime_convert()) + ); + + if(! is_site_admin()) { + $x --; + if($x >= 0) + set_pconfig(local_channel(),'system','invites_remaining',$x); + else + return; + } + } $ob = $a->get_observer(); if(! $ob) diff --git a/mod/mail.php b/mod/mail.php index 536149a28..59d15772b 100644 --- a/mod/mail.php +++ b/mod/mail.php @@ -17,6 +17,7 @@ function mail_post(&$a) { $body = ((x($_REQUEST,'body')) ? escape_tags(trim($_REQUEST['body'])) : ''); $recipient = ((x($_REQUEST,'messageto')) ? notags(trim($_REQUEST['messageto'])) : ''); $rstr = ((x($_REQUEST,'messagerecip')) ? notags(trim($_REQUEST['messagerecip'])) : ''); + $preview = ((x($_REQUEST,'preview')) ? intval($_REQUEST['preview']) : 0); $expires = ((x($_REQUEST,'expires')) ? datetime_convert(date_default_timezone_get(),'UTC', $_REQUEST['expires']) : NULL_DATE); // If we have a raw string for a recipient which hasn't been auto-filled, @@ -86,6 +87,13 @@ function mail_post(&$a) { require_once('include/text.php'); linkify_tags($a, $body, local_channel()); + if($preview) { + + + + + } + if(! $recipient) { notice('No recipient found.'); $a->argc = 2; @@ -329,7 +337,8 @@ function mail_content(&$a) { 'to_url' => chanlink_hash($message['to_xchan']), 'to_photo' => $message['to']['xchan_photo_s'], 'subject' => $message['title'], - 'body' => smilies(bbcode($message['body']) . $s), + 'body' => smilies(bbcode($message['body'])), + 'attachments' => $s, 'delete' => t('Delete message'), 'dreport' => t('Delivery report'), 'recall' => t('Recall message'), diff --git a/mod/photos.php b/mod/photos.php index 33a895fdf..b0d9bc631 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -698,12 +698,7 @@ function photos_content(&$a) { $album_edit = null; if(($album !== t('Profile Photos')) && ($album !== 'Profile Photos') && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) { if($can_post) { - if($a->get_template_engine() === 'internal') { - $album_e = template_escape($album); - } - else { - $album_e = $album; - } + $album_e = $album; $albums = ((array_key_exists('albums', $a->data)) ? $a->data['albums'] : photos_albums_list($a->data['channel'],$a->data['observer'])); // @fixme - syncronise actions with DAV @@ -765,6 +760,7 @@ function photos_content(&$a) { if($photos) { $o = replace_macros(get_markup_template('photosajax.tpl'),array( '$photos' => $photos, + '$album_id' => bin2hex($album) )); } else { @@ -779,6 +775,7 @@ function photos_content(&$a) { $o .= replace_macros($tpl, array( '$photos' => $photos, '$album' => $album, + '$album_id' => bin2hex($album), '$album_edit' => array(t('Edit Album'), $album_edit), '$can_post' => $can_post, '$upload' => array(t('Upload'), $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/upload/' . bin2hex($album)), @@ -1300,6 +1297,7 @@ function photos_content(&$a) { if($photos) { $o = replace_macros(get_markup_template('photosajax.tpl'),array( '$photos' => $photos, + '$album_id' => bin2hex(t('Recent Photos')) )); } else { @@ -1313,6 +1311,7 @@ function photos_content(&$a) { $tpl = get_markup_template('photos_recent.tpl'); $o .= replace_macros($tpl, array( '$title' => t('Recent Photos'), + '$album_id' => bin2hex(t('Recent Photos')), '$can_post' => $can_post, '$upload' => array(t('Upload'), $a->get_baseurl().'/photos/'.$a->data['channel']['channel_address'].'/upload'), '$photos' => $photos, diff --git a/mod/post.php b/mod/post.php index 4c52de44a..6555a16c2 100644 --- a/mod/post.php +++ b/mod/post.php @@ -9,952 +9,26 @@ require_once('include/zot.php'); -/** - * @brief HTTP POST entry point for Zot. - * - * Most access to this endpoint is via the post method. - * Here we will pick out the magic auth params which arrive as a get request, - * and the only communications to arrive this way. - * - * Magic Auth - * ========== - * - * So-called "magic auth" takes place by a special exchange. On the site where the "channel to be authenticated" lives (e.g. $mysite), - * a redirection is made via $mysite/magic to the zot endpoint of the remote site ($remotesite) with special GET parameters. - * - * The endpoint is typically https://$remotesite/post - or whatever was specified as the callback url in prior communications - * (we will bootstrap an address and fetch a zot info packet if possible where no prior communications exist) - * - * Five GET parameters are supplied: - * * auth => the urlencoded webbie (channel@host.domain) of the channel requesting access - * * dest => the desired destination URL (urlencoded) - * * sec => a random string which is also stored on $mysite for use during the verification phase. - * * version => the zot revision - * * delegate => optional urlencoded webbie of a local channel to invoke delegation rights for - * - * When this packet is received, an "auth-check" zot message is sent to $mysite. - * (e.g. if $_GET['auth'] is foobar@podunk.edu, a zot packet is sent to the podunk.edu zot endpoint, which is typically /post) - * If no information has been recorded about the requesting identity a zot information packet will be retrieved before - * continuing. - * - * The sender of this packet is an arbitrary/random site channel. The recipients will be a single recipient corresponding - * to the guid and guid_sig we have associated with the requesting auth identity - * - * \code{.json} - * { - * "type":"auth_check", - * "sender":{ - * "guid":"kgVFf_...", - * "guid_sig":"PT9-TApz...", - * "url":"http:\/\/podunk.edu", - * "url_sig":"T8Bp7j..." - * }, - * "recipients":{ - * { - * "guid":"ZHSqb...", - * "guid_sig":"JsAAXi..." - * } - * } - * "callback":"\/post", - * "version":1, - * "secret":"1eaa661", - * "secret_sig":"eKV968b1..." - * } - * \endcode - * - * auth_check messages MUST use encapsulated encryption. This message is sent to the origination site, which checks the 'secret' to see - * if it is the same as the 'sec' which it passed originally. It also checks the secret_sig which is the secret signed by the - * destination channel's private key and base64url encoded. If everything checks out, a json packet is returned: - * - * \code{.json} - * { - * "success":1, - * "confirm":"q0Ysovd1u...", - * "service_class":(optional) - * "level":(optional) - * } - * \endcode - * - * 'confirm' in this case is the base64url encoded RSA signature of the concatenation of 'secret' with the - * base64url encoded whirlpool hash of the requestor's guid and guid_sig; signed with the source channel private key. - * This prevents a man-in-the-middle from inserting a rogue success packet. Upon receipt and successful - * verification of this packet, the destination site will redirect to the original destination URL and indicate a successful remote login. - * Service_class can be used by cooperating sites to provide different access rights based on account rights and subscription plans. It is - * a string whose contents are not defined by protocol. Example: "basic" or "gold". - * - * @param[in,out] App &$a - */ function post_init(&$a) { if (array_key_exists('auth', $_REQUEST)) { - - $ret = array('success' => false, 'message' => ''); - - logger('mod_zot: auth request received.'); - $address = $_REQUEST['auth']; - $desturl = $_REQUEST['dest']; - $sec = $_REQUEST['sec']; - $version = $_REQUEST['version']; - $delegate = $_REQUEST['delegate']; - - $test = ((x($_REQUEST, 'test')) ? intval($_REQUEST['test']) : 0); - - // They are authenticating ultimately to the site and not to a particular channel. - // Any channel will do, providing it's currently active. We just need to have an - // identity to attach to the packet we send back. So find one. - - $c = q("select * from channel where channel_removed = 0 limit 1"); - - if (! $c) { - // nobody here - logger('mod_zot: auth: unable to find a response channel'); - if ($test) { - $ret['message'] .= 'no local channels found.' . EOL; - json_return_and_die($ret); - } - - goaway($desturl); - } - - // Try and find a hubloc for the person attempting to auth - $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_addr = '%s' order by hubloc_id desc", - dbesc($address) - ); - - if (! $x) { - // finger them if they can't be found. - $ret = zot_finger($address, null); - if ($ret['success']) { - $j = json_decode($ret['body'], true); - if ($j) - import_xchan($j); - $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_addr = '%s' order by hubloc_id desc", - dbesc($address) - ); - } - } - if(! $x) { - logger('mod_zot: auth: unable to finger ' . $address); - - if($test) { - $ret['message'] .= 'no hubloc found for ' . $address . ' and probing failed.' . EOL; - json_return_and_die($ret); - } - - goaway($desturl); - } - - - foreach($x as $xx) { - logger('mod_zot: auth request received from ' . $xx['hubloc_addr'] ); - - // check credentials and access - - // If they are already authenticated and haven't changed credentials, - // we can save an expensive network round trip and improve performance. - - $remote = remote_channel(); - $result = null; - $remote_service_class = ''; - $remote_level = 0; - $remote_hub = $xx['hubloc_url']; - $DNT = 0; - - // Also check that they are coming from the same site as they authenticated with originally. - - $already_authed = ((($remote) && ($xx['hubloc_hash'] == $remote) && ($xx['hubloc_url'] === $_SESSION['remote_hub'])) ? true : false); - if($delegate && $delegate !== $_SESSION['delegate_channel']) - $already_authed = false; - - $j = array(); - - if (! $already_authed) { - - // Auth packets MUST use ultra top-secret hush-hush mode - e.g. the entire packet is encrypted using the site private key - // The actual channel sending the packet ($c[0]) is not important, but this provides a generic zot packet with a sender - // which can be verified - - $p = zot_build_packet($c[0],$type = 'auth_check', array(array('guid' => $xx['hubloc_guid'],'guid_sig' => $xx['hubloc_guid_sig'])), $xx['hubloc_sitekey'], $sec); - if ($test) { - $ret['message'] .= 'auth check packet created using sitekey ' . $xx['hubloc_sitekey'] . EOL; - $ret['message'] .= 'packet contents: ' . $p . EOL; - } - - $result = zot_zot($xx['hubloc_callback'],$p); - - if (! $result['success']) { - logger('mod_zot: auth_check callback failed.'); - if ($test) { - $ret['message'] .= 'auth check request to your site returned .' . print_r($result, true) . EOL; - continue; - } - continue; - } - $j = json_decode($result['body'], true); - if (! $j) { - logger('mod_zot: auth_check json data malformed.'); - if($test) { - $ret['message'] .= 'json malformed: ' . $result['body'] . EOL; - continue; - } - } - } - - if ($test) { - $ret['message'] .= 'auth check request returned .' . print_r($j, true) . EOL; - } - - if ($already_authed || $j['success']) { - if ($j['success']) { - // legit response, but we do need to check that this wasn't answered by a man-in-middle - if (! rsa_verify($sec . $xx['xchan_hash'],base64url_decode($j['confirm']),$xx['xchan_pubkey'])) { - logger('mod_zot: auth: final confirmation failed.'); - if ($test) { - $ret['message'] .= 'final confirmation failed. ' . $sec . print_r($j,true) . print_r($xx,true); - continue; - } - - continue; - } - if (array_key_exists('service_class',$j)) - $remote_service_class = $j['service_class']; - if (array_key_exists('level',$j)) - $remote_level = $j['level']; - if (array_key_exists('DNT',$j)) - $DNT = $j['DNT']; - } - // everything is good... maybe - if(local_channel()) { - - // tell them to logout if they're logged in locally as anything but the target remote account - // in which case just shut up because they don't need to be doing this at all. - - if ($a->channel['channel_hash'] != $xx['xchan_hash']) { - logger('mod_zot: auth: already authenticated locally as somebody else.'); - notice( t('Remote authentication blocked. You are logged into this site locally. Please logout and retry.') . EOL); - if ($test) { - $ret['message'] .= 'already logged in locally with a conflicting identity.' . EOL; - continue; - } - } - continue; - } - - // log them in - - if ($test) { - $ret['success'] = true; - $ret['message'] .= 'Authentication Success!' . EOL; - json_return_and_die($ret); - } - - $delegation_success = false; - if ($delegate) { - $r = q("select * from channel left join xchan on channel_hash = xchan_hash where xchan_addr = '%s' limit 1", - dbesc($delegate) - ); - if ($r && intval($r[0]['channel_id'])) { - $allowed = perm_is_allowed($r[0]['channel_id'],$xx['xchan_hash'],'delegate'); - if ($allowed) { - $_SESSION['delegate_channel'] = $r[0]['channel_id']; - $_SESSION['delegate'] = $xx['xchan_hash']; - $_SESSION['account_id'] = intval($r[0]['channel_account_id']); - require_once('include/security.php'); - change_channel($r[0]['channel_id']); - $delegation_success = true; - } - } - } - - $_SESSION['authenticated'] = 1; - if (! $delegation_success) { - $_SESSION['visitor_id'] = $xx['xchan_hash']; - $_SESSION['my_url'] = $xx['xchan_url']; - $_SESSION['my_address'] = $address; - $_SESSION['remote_service_class'] = $remote_service_class; - $_SESSION['remote_level'] = $remote_level; - $_SESSION['remote_hub'] = $remote_hub; - $_SESSION['DNT'] = $DNT; - } - - $arr = array('xchan' => $xx, 'url' => $desturl, 'session' => $_SESSION); - call_hooks('magic_auth_success',$arr); - $a->set_observer($xx); - require_once('include/security.php'); - $a->set_groups(init_groups_visitor($_SESSION['visitor_id'])); - info(sprintf( t('Welcome %s. Remote authentication successful.'),$xx['xchan_name'])); - logger('mod_zot: auth success from ' . $xx['xchan_addr']); - } - else { - if ($test) { - $ret['message'] .= 'auth failure. ' . print_r($_REQUEST,true) . print_r($j,true) . EOL; - continue; - } - logger('mod_zot: magic-auth failure - not authenticated: ' . $xx['xchan_addr']); - } - - if ($test) { - $ret['message'] .= 'auth failure fallthrough ' . print_r($_REQUEST,true) . print_r($j,true) . EOL; - continue; - } - } - - /** - * @FIXME we really want to save the return_url in the session before we - * visit rmagic. This does however prevent a recursion if you visit - * rmagic directly, as it would otherwise send you back here again. - * But z_root() probably isn't where you really want to go. - */ - - if(strstr($desturl,z_root() . '/rmagic')) - goaway(z_root()); - - if ($test) { - json_return_and_die($ret); - } - - goaway($desturl); + require_once('Zotlabs/Zot/Auth.php'); + $x = new Zotlabs\Zot\Auth($_REQUEST); + exit; } + } -/** - * @brief zot communications and messaging. - * - * Sender HTTP posts to this endpoint ($site/post typically) with 'data' parameter set to json zot message packet. - * This packet is optionally encrypted, which we will discover if the json has an 'iv' element. - * $contents => array( 'alg' => 'aes256cbc', 'iv' => initialisation vector, 'key' => decryption key, 'data' => encrypted data); - * $contents->iv and $contents->key are random strings encrypted with this site's RSA public key and then base64url encoded. - * Currently only 'aes256cbc' is used, but this is extensible should that algorithm prove inadequate. - * - * Once decrypted, one will find the normal json_encoded zot message packet. - * - * Defined packet types are: notify, purge, refresh, force_refresh, auth_check, ping, and pickup - * - * Standard packet: (used by notify, purge, refresh, force_refresh, and auth_check) - * \code{.json} - * { - * "type": "notify", - * "sender":{ - * "guid":"kgVFf_1...", - * "guid_sig":"PT9-TApzp...", - * "url":"http:\/\/podunk.edu", - * "url_sig":"T8Bp7j5...", - * }, - * "recipients": { optional recipient array }, - * "callback":"\/post", - * "version":1, - * "secret":"1eaa...", - * "secret_sig": "df89025470fac8..." - * } - * \endcode - * - * Signature fields are all signed with the sender channel private key and base64url encoded. - * Recipients are arrays of guid and guid_sig, which were previously signed with the recipients private - * key and base64url encoded and later obtained via channel discovery. Absence of recipients indicates - * a public message or visible to all potential listeners on this site. - * - * "pickup" packet: - * The pickup packet is sent in response to a notify packet from another site - * \code{.json} - * { - * "type":"pickup", - * "url":"http:\/\/example.com", - * "callback":"http:\/\/example.com\/post", - * "callback_sig":"teE1_fLI...", - * "secret":"1eaa...", - * "secret_sig":"O7nB4_..." - * } - * \endcode - * - * In the pickup packet, the sig fields correspond to the respective data - * element signed with this site's system private key and then base64url encoded. - * The "secret" is the same as the original secret from the notify packet. - * - * If verification is successful, a json structure is returned containing a - * success indicator and an array of type 'pickup'. - * Each pickup element contains the original notify request and a message field - * whose contents are dependent on the message type. - * - * This JSON array is AES encapsulated using the site public key of the site - * that sent the initial zot pickup packet. - * Using the above example, this would be example.com. - * - * \code{.json} - * { - * "success":1, - * "pickup":{ - * "notify":{ - * "type":"notify", - * "sender":{ - * "guid":"kgVFf_...", - * "guid_sig":"PT9-TApz...", - * "url":"http:\/\/z.podunk.edu", - * "url_sig":"T8Bp7j5D..." - * }, - * "callback":"\/post", - * "version":1, - * "secret":"1eaa661..." - * }, - * "message":{ - * "type":"activity", - * "message_id":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu", - * "message_top":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu", - * "message_parent":"10b049ce384cbb2da9467319bc98169ab36290b8bbb403aa0c0accd9cb072e76@podunk.edu", - * "created":"2012-11-20 04:04:16", - * "edited":"2012-11-20 04:04:16", - * "title":"", - * "body":"Hi Nickordo", - * "app":"", - * "verb":"post", - * "object_type":"", - * "target_type":"", - * "permalink":"", - * "location":"", - * "longlat":"", - * "owner":{ - * "name":"Indigo", - * "address":"indigo@podunk.edu", - * "url":"http:\/\/podunk.edu", - * "photo":{ - * "mimetype":"image\/jpeg", - * "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5" - * }, - * "guid":"kgVFf_...", - * "guid_sig":"PT9-TAp...", - * }, - * "author":{ - * "name":"Indigo", - * "address":"indigo@podunk.edu", - * "url":"http:\/\/podunk.edu", - * "photo":{ - * "mimetype":"image\/jpeg", - * "src":"http:\/\/podunk.edu\/photo\/profile\/m\/5" - * }, - * "guid":"kgVFf_...", - * "guid_sig":"PT9-TAp..." - * } - * } - * } - * } - * \endcode - * - * Currently defined message types are 'activity', 'mail', 'profile', 'location' - * and 'channel_sync', which each have different content schemas. - * - * Ping packet: - * A ping packet does not require any parameters except the type. It may or may - * not be encrypted. - * - * \code{.json} - * { - * "type": "ping" - * } - * \endcode - * - * On receipt of a ping packet a ping response will be returned: - * - * \code{.json} - * { - * "success" : 1, - * "site" { - * "url": "http:\/\/podunk.edu", - * "url_sig": "T8Bp7j5...", - * "sitekey": "-----BEGIN PUBLIC KEY----- - * MIICIjANBgkqhkiG9w0BAQE..." - * } - * } - * \endcode - * - * The ping packet can be used to verify that a site has not been re-installed, and to - * initiate corrective action if it has. The url_sig is signed with the site private key - * and base64url encoded - and this should verify with the enclosed sitekey. Failure to - * verify indicates the site is corrupt or otherwise unable to communicate using zot. - * This return packet is not otherwise verified, so should be compared with other - * results obtained from this site which were verified prior to taking action. For instance - * if you have one verified result with this signature and key, and other records for this - * url which have different signatures and keys, it indicates that the site was re-installed - * and corrective action may commence (remove or mark invalid any entries with different - * signatures). - * If you have no records which match this url_sig and key - no corrective action should - * be taken as this packet may have been returned by an imposter. - * - * @param[in,out] App &$a - */ function post_post(&$a) { - $encrypted_packet = false; - $ret = array('success' => false); - - $data = json_decode($_REQUEST['data'],true); - - /* - * Many message packets will arrive encrypted. The existence of an 'iv' - * element tells us we need to unencapsulate the AES-256-CBC content using - * the site private key. - */ - - if($data && array_key_exists('iv',$data)) { - $encrypted_packet = true; - $data = crypto_unencapsulate($data,get_config('system','prvkey')); - logger('mod_zot: decrypt1: ' . $data, LOGGER_DATA); - $data = json_decode($data,true); - } - - if(! $data) { - - // possible Bleichenbacher's attack, just treat it as a - // message we have no handler for. It should fail a bit - // further along with "no hub". Our public key is public - // knowledge. There's no reason why anybody should get the - // encryption wrong unless they're fishing or hacking. If - // they're developing and made a goof, this can be discovered - // in the logs of the destination site. If they're fishing or - // hacking, the bottom line is we can't verify their hub. - // That's all we're going to tell them. - - $data = array('type' => 'bogus'); - } - - - $msgtype = ((array_key_exists('type',$data)) ? $data['type'] : ''); - - if($msgtype === 'ping') { - - // Useful to get a health check on a remote site. - // This will let us know if any important communication details - // that we may have stored are no longer valid, regardless of xchan details. - logger('POST: got ping send pong now back: ' . z_root() , LOGGER_DEBUG ); - - $ret['success'] = true; - $ret['site'] = array(); - $ret['site']['url'] = z_root(); - $ret['site']['url_sig'] = base64url_encode(rsa_sign(z_root(),get_config('system','prvkey'))); - $ret['site']['sitekey'] = get_config('system','pubkey'); - json_return_and_die($ret); - } - - - if($msgtype === 'pickup') { - - /* - * The 'pickup' message arrives with a tracking ID which is associated with a particular outq_hash - * First verify that that the returned signatures verify, then check that we have an outbound queue item - * with the correct hash. - * If everything verifies, find any/all outbound messages in the queue for this hubloc and send them back - */ - - if((! $data['secret']) || (! $data['secret_sig'])) { - $ret['message'] = 'no verification signature'; - logger('mod_zot: pickup: ' . $ret['message'], LOGGER_DEBUG); - json_return_and_die($ret); - } - $r = q("select distinct hubloc_sitekey from hubloc where hubloc_url = '%s' and hubloc_callback = '%s' and hubloc_sitekey != '' group by hubloc_sitekey ", - dbesc($data['url']), - dbesc($data['callback']) - ); - if(! $r) { - $ret['message'] = 'site not found'; - logger('mod_zot: pickup: ' . $ret['message']); - json_return_and_die($ret); - } - - foreach ($r as $hubsite) { + require_once('Zotlabs/Zot/Receiver.php'); + require_once('Zotlabs/Zot/ZotHandler.php'); - // verify the url_sig - // If the server was re-installed at some point, there could be multiple hubs with the same url and callback. - // Only one will have a valid key. - - $forgery = true; - $secret_fail = true; - - $sitekey = $hubsite['hubloc_sitekey']; - - logger('mod_zot: Checking sitekey: ' . $sitekey, LOGGER_DATA); - - if(rsa_verify($data['callback'],base64url_decode($data['callback_sig']),$sitekey)) { - $forgery = false; - } - if(rsa_verify($data['secret'],base64url_decode($data['secret_sig']),$sitekey)) { - $secret_fail = false; - } - if((! $forgery) && (! $secret_fail)) - break; - } - - if($forgery) { - $ret['message'] = 'possible site forgery'; - logger('mod_zot: pickup: ' . $ret['message']); - json_return_and_die($ret); - } - - if($secret_fail) { - $ret['message'] = 'secret validation failed'; - logger('mod_zot: pickup: ' . $ret['message']); - json_return_and_die($ret); - } - - /* - * If we made it to here, the signatures verify, but we still don't know if the tracking ID is valid. - * It wouldn't be an error if the tracking ID isn't found, because we may have sent this particular - * queue item with another pickup (after the tracking ID for the other pickup was verified). - */ - - $r = q("select outq_posturl from outq where outq_hash = '%s' and outq_posturl = '%s' limit 1", - dbesc($data['secret']), - dbesc($data['callback']) - ); - if(! $r) { - $ret['message'] = 'nothing to pick up'; - logger('mod_zot: pickup: ' . $ret['message']); - json_return_and_die($ret); - } - - /* - * Everything is good if we made it here, so find all messages that are going to this location - * and send them all. - */ - - $r = q("select * from outq where outq_posturl = '%s'", - dbesc($data['callback']) - ); - if($r) { - logger('mod_zot: successful pickup message received from ' . $data['callback'] . ' ' . count($r) . ' message(s) picked up', LOGGER_DEBUG); - - $ret['success'] = true; - $ret['pickup'] = array(); - foreach($r as $rr) { - if($rr['outq_msg']) { - $x = json_decode($rr['outq_msg'],true); - - if(! $x) - continue; - - if(array_key_exists('message_list',$x)) { - foreach($x['message_list'] as $xx) { - $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $xx); - } - } - else - $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $x); - - $x = q("delete from outq where outq_hash = '%s'", - dbesc($rr['outq_hash']) - ); - } - } - } - - $encrypted = crypto_encapsulate(json_encode($ret),$sitekey); - json_return_and_die($encrypted); - - /* pickup: end */ - } - - - /* - * All other message types require us to verify the sender. This is a generic check, so we - * will do it once here and bail if anything goes wrong. - */ - - if (array_key_exists('sender',$data)) { - $sender = $data['sender']; - } - - /* Check if the sender is already verified here */ - - $hubs = zot_gethub($sender,true); - - if (! $hubs) { - - /* Have never seen this guid or this guid coming from this location. Check it and register it. */ - - // (!!) this will validate the sender - $result = zot_register_hub($sender); - - if ((! $result['success']) || (! ($hubs = zot_gethub($sender,true)))) { - $ret['message'] = 'Hub not available.'; - logger('mod_zot: no hub'); - json_return_and_die($ret); - } - } - - - foreach($hubs as $hub) { - - $sitekey = $hub['hubloc_sitekey']; - - if(array_key_exists('sitekey',$sender) && $sender['sitekey']) { - - /* - * This hub has now been proven to be valid. - * Any hub with the same URL and a different sitekey cannot be valid. - * Get rid of them (mark them deleted). There's a good chance they were re-installs. - */ + $z = new Zotlabs\Zot\Receiver($_REQUEST['data'],get_config('system','prvkey'), new Zotlabs\Zot\ZotHandler()); - q("update hubloc set hubloc_deleted = 1, hubloc_error = 1 where hubloc_url = '%s' and hubloc_sitekey != '%s' ", - dbesc($hub['hubloc_url']), - dbesc($sender['sitekey']) - ); - - $sitekey = $sender['sitekey']; - } - - // $sender['sitekey'] is a new addition to the protcol to distinguish - // hublocs coming from re-installed sites. Older sites will not provide - // this field and we have to still mark them valid, since we can't tell - // if this hubloc has the same sitekey as the packet we received. - - - // Update our DB to show when we last communicated successfully with this hub - // This will allow us to prune dead hubs from using up resources - - $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d and hubloc_sitekey = '%s' ", - dbesc(datetime_convert()), - intval($hub['hubloc_id']), - dbesc($sitekey) - ); - - // a dead hub came back to life - reset any tombstones we might have - - if(intval($hub['hubloc_error'])) { - q("update hubloc set hubloc_error = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ", - intval($hub['hubloc_id']), - dbesc($sitekey) - ); - if(intval($r[0]['hubloc_orphancheck'])) { - q("update hubloc set hubloc_orhpancheck = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ", - intval($hub['hubloc_id']), - dbesc($sitekey) - ); - } - q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'", - dbesc($hub['hubloc_hash']) - ); - } - - $connecting_url = $hub['hubloc_url']; - } - - - /** @TODO check which hub is primary and take action if mismatched */ - - if (array_key_exists('recipients', $data)) - $recipients = $data['recipients']; - + // notreached; - if ($msgtype === 'auth_check') { - - /* - * Requestor visits /magic/?dest=somewhere on their own site with a browser - * magic redirects them to $destsite/post [with auth args....] - * $destsite sends an auth_check packet to originator site - * The auth_check packet is handled here by the originator's site - * - the browser session is still waiting - * inside $destsite/post for everything to verify - * If everything checks out we'll return a token to $destsite - * and then $destsite will verify the token, authenticate the browser - * session and then redirect to the original destination. - * If authentication fails, the redirection to the original destination - * will still take place but without authentication. - */ - logger('mod_zot: auth_check', LOGGER_DEBUG); - - if (! $encrypted_packet) { - logger('mod_zot: auth_check packet was not encrypted.'); - $ret['message'] .= 'no packet encryption' . EOL; - json_return_and_die($ret); - } - - $arr = $data['sender']; - $sender_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']); - - // garbage collect any old unused notifications - - // This was and should be 10 minutes but my hosting provider has time lag between the DB and - // the web server. We should probably convert this to webserver time rather than DB time so - // that the different clocks won't affect it and allow us to keep the time short. - - q("delete from verify where type = 'auth' and created < %s - INTERVAL %s", - db_utcnow(), db_quoteinterval('30 MINUTE') - ); - - $y = q("select xchan_pubkey from xchan where xchan_hash = '%s' limit 1", - dbesc($sender_hash) - ); - - // We created a unique hash in mod/magic.php when we invoked remote auth, and stored it in - // the verify table. It is now coming back to us as 'secret' and is signed by a channel at the other end. - // First verify their signature. We will have obtained a zot-info packet from them as part of the sender - // verification. - - if ((! $y) || (! rsa_verify($data['secret'], base64url_decode($data['secret_sig']),$y[0]['xchan_pubkey']))) { - logger('mod_zot: auth_check: sender not found or secret_sig invalid.'); - $ret['message'] .= 'sender not found or sig invalid ' . print_r($y,true) . EOL; - json_return_and_die($ret); - } - - // There should be exactly one recipient, the original auth requestor - - $ret['message'] .= 'recipients ' . print_r($recipients,true) . EOL; - - if ($data['recipients']) { - - $arr = $data['recipients'][0]; - $recip_hash = make_xchan_hash($arr['guid'], $arr['guid_sig']); - $c = q("select channel_id, channel_account_id, channel_prvkey from channel where channel_hash = '%s' limit 1", - dbesc($recip_hash) - ); - if (! $c) { - logger('mod_zot: auth_check: recipient channel not found.'); - $ret['message'] .= 'recipient not found.' . EOL; - json_return_and_die($ret); - } - - $confirm = base64url_encode(rsa_sign($data['secret'] . $recip_hash,$c[0]['channel_prvkey'])); - - // This additionally checks for forged sites since we already stored the expected result in meta - // and we've already verified that this is them via zot_gethub() and that their key signed our token - - $z = q("select id from verify where channel = %d and type = 'auth' and token = '%s' and meta = '%s' limit 1", - intval($c[0]['channel_id']), - dbesc($data['secret']), - dbesc($data['sender']['url']) - ); - if (! $z) { - logger('mod_zot: auth_check: verification key not found.'); - $ret['message'] .= 'verification key not found' . EOL; - json_return_and_die($ret); - } - $r = q("delete from verify where id = %d", - intval($z[0]['id']) - ); - - $u = q("select account_service_class from account where account_id = %d limit 1", - intval($c[0]['channel_account_id']) - ); - - logger('mod_zot: auth_check: success', LOGGER_DEBUG); - $ret['success'] = true; - $ret['confirm'] = $confirm; - if ($u && $u[0]['account_service_class']) - $ret['service_class'] = $u[0]['account_service_class']; - - // Set "do not track" flag if this site or this channel's profile is restricted - // in some way - - if (intval(get_config('system','block_public'))) - $ret['DNT'] = true; - if (! perm_is_allowed($c[0]['channel_id'],'','view_profile')) - $ret['DNT'] = true; - if (get_pconfig($c[0]['channel_id'],'system','do_not_track')) - $ret['DNT'] = true; - if (get_pconfig($c[0]['channel_id'],'system','hide_online_status')) - $ret['DNT'] = true; - - json_return_and_die($ret); - } - json_return_and_die($ret); - } - - if ($msgtype === 'request') { - // request a particular post/conversation by message_id - $x = zot_process_message_request($data); - json_return_and_die($x); - } - - if ($msgtype === 'purge') { - if ($recipients) { - // basically this means "unfriend" - foreach ($recipients as $recip) { - $r = q("select channel.*,xchan.* from channel - left join xchan on channel_hash = xchan_hash - where channel_guid = '%s' and channel_guid_sig = '%s' limit 1", - dbesc($recip['guid']), - dbesc($recip['guid_sig']) - ); - if ($r) { - $r = q("select abook_id from abook where uid = %d and abook_xchan = '%s' limit 1", - intval($r[0]['channel_id']), - dbesc(make_xchan_hash($sender['guid'],$sender['guid_sig'])) - ); - if ($r) { - contact_remove($r[0]['channel_id'],$r[0]['abook_id']); - } - } - } - } else { - // Unfriend everybody - basically this means the channel has committed suicide - $arr = $data['sender']; - $sender_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']); - - require_once('include/Contact.php'); - remove_all_xchan_resources($sender_hash); - - $ret['success'] = true; - json_return_and_die($ret); - } - } - - if (($msgtype === 'refresh') || ($msgtype === 'force_refresh')) { - - // remote channel info (such as permissions or photo or something) - // has been updated. Grab a fresh copy and sync it. - // The difference between refresh and force_refresh is that - // force_refresh unconditionally creates a directory update record, - // even if no changes were detected upon processing. - - if ($recipients) { - - // This would be a permissions update, typically for one connection - - foreach ($recipients as $recip) { - $r = q("select channel.*,xchan.* from channel - left join xchan on channel_hash = xchan_hash - where channel_guid = '%s' and channel_guid_sig = '%s' limit 1", - dbesc($recip['guid']), - dbesc($recip['guid_sig']) - ); - - $x = zot_refresh(array( - 'xchan_guid' => $sender['guid'], - 'xchan_guid_sig' => $sender['guid_sig'], - 'hubloc_url' => $sender['url'] - ), $r[0], (($msgtype === 'force_refresh') ? true : false)); - } - } else { - - // system wide refresh - - $x = zot_refresh(array( - 'xchan_guid' => $sender['guid'], - 'xchan_guid_sig' => $sender['guid_sig'], - 'hubloc_url' => $sender['url'] - ), null, (($msgtype === 'force_refresh') ? true : false)); - } - $ret['success'] = true; - json_return_and_die($ret); - } - - if ($msgtype === 'notify') { - - logger('notify received from ' . $connecting_url); - - - $async = get_config('system','queued_fetch'); - - if ($async) { - // add to receive queue - // qreceive_add($data); - } else { - $x = zot_fetch($data); - $ret['delivery_report'] = $x; - } - - $ret['success'] = true; - json_return_and_die($ret); - } + exit; - // catchall - json_return_and_die($ret); } diff --git a/mod/setup.php b/mod/setup.php index e5ac25965..5c9e988d9 100755 --- a/mod/setup.php +++ b/mod/setup.php @@ -14,7 +14,7 @@ $install_wizard_pass = 1; * * @param[in,out] App &$a */ -function setup_init(&$a){ +function setup_init(&$a) { // Ensure that if somebody hasn't read the install documentation and doesn't have all // the required modules or has a totally borked shared hosting provider and they can't diff --git a/mod/siteinfo.php b/mod/siteinfo.php index 231427290..52d014de1 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -1,104 +1,8 @@ <?php function siteinfo_init(&$a) { - global $db; - - if ($a->argv[1]=="json"){ - $register_policy = Array('REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN'); - $directory_mode = Array('DIRECTORY_MODE_NORMAL', 'DIRECTORY_MODE_SECONDARY','DIRECTORY_MODE_PRIMARY', 'DIRECTORY_MODE_STANDALONE'); - - $sql_extra = ''; - - $r = q("select * from channel left join account on account_id = channel_account_id where ( account_roles & 4096 )>0 and account_default_channel = channel_id"); - - - if($r) { - $admin = array(); - foreach($r as $rr) { - if($rr['channel_pageflags'] & PAGE_HUBADMIN) - $admin[] = array( 'name' => $rr['channel_name'], 'address' => $rr['channel_address'] . '@' . get_app()->get_hostname(), 'channel' => z_root() . '/channel/' . $rr['channel_address']); - } - if(! $admin) { - foreach($r as $rr) { - $admin[] = array( 'name' => $rr['channel_name'], 'address' => $rr['channel_address'] . '@' . get_app()->get_hostname(), 'channel' => z_root() . '/channel/' . $rr['channel_address']); - } - } - } - else { - $admin = false; - } - - $def_service_class = get_config('system','default_service_class'); - if($def_service_class) - $service_class = get_config('service_class',$def_service_class); - else - $service_class = false; - - $visible_plugins = array(); - if(is_array($a->plugins) && count($a->plugins)) { - $r = q("select * from addon where hidden = 0"); - if(count($r)) - foreach($r as $rr) - $visible_plugins[] = $rr['name']; - } - sort($visible_plugins); - - if(@is_dir('.git') && function_exists('shell_exec')) - $commit = trim(@shell_exec('git log -1 --format="%h"')); - if(! isset($commit) || strlen($commit) > 16) - $commit = ''; - - $site_info = get_config('system','info'); - $site_name = get_config('system','sitename'); - if(! get_config('system','hidden_version_siteinfo')) { - $version = RED_VERSION; - if(@is_dir('.git') && function_exists('shell_exec')) { - $commit = trim( @shell_exec('git log -1 --format="%h"')); - if(! get_config('system','hidden_tag_siteinfo')) - $tag = trim( @shell_exec('git describe --tags --abbrev=0')); - else - $tag = ''; - } - if(! isset($commit) || strlen($commit) > 16) - $commit = ''; - } - else { - $version = $commit = ''; - } - - //Statistics - $channels_total_stat = intval(get_config('system','channels_total_stat')); - $channels_active_halfyear_stat = intval(get_config('system','channels_active_halfyear_stat')); - $channels_active_monthly_stat = intval(get_config('system','channels_active_monthly_stat')); - $local_posts_stat = intval(get_config('system','local_posts_stat')); - $hide_in_statistics = intval(get_config('system','hide_in_statistics')); - $site_expire = intval(get_config('system', 'default_expire_days')); - - - $data = Array( - 'version' => $version, - 'version_tag' => $tag, - 'commit' => $commit, - 'url' => z_root(), - 'plugins' => $visible_plugins, - 'register_policy' => $register_policy[get_config('system','register_policy')], - 'directory_mode' => $directory_mode[get_config('system','directory_mode')], - 'language' => get_config('system','language'), - 'rss_connections' => get_config('system','feed_contacts'), - 'expiration' => $site_expire, - 'default_service_restrictions' => $service_class, - 'admin' => $admin, - 'site_name' => (($site_name) ? $site_name : ''), - 'platform' => PLATFORM_NAME, - 'dbdriver' => $db->getdriver(), - 'lastpoll' => get_config('system','lastpoll'), - 'info' => (($site_info) ? $site_info : ''), - 'channels_total' => $channels_total_stat, - 'channels_active_halfyear' => $channels_active_halfyear_stat, - 'channels_active_monthly' => $channels_active_monthly_stat, - 'local_posts' => $local_posts_stat, - 'hide_in_statistics' => $hide_in_statistics - ); + if (argv(1) === 'json') { + $data = get_site_info(); json_return_and_die($data); } } @@ -111,7 +15,7 @@ function siteinfo_content(&$a) { $version = sprintf( t('Version %s'), RED_VERSION ); if(@is_dir('.git') && function_exists('shell_exec')) { $commit = @shell_exec('git log -1 --format="%h"'); - $tag = @shell_exec('git describe --tags --abbrev=0'); + $tag = get_std_version(); // @shell_exec('git describe --tags --abbrev=0'); } if(! isset($commit) || strlen($commit) > 16) $commit = ''; diff --git a/mod/siteinfo_json.php b/mod/siteinfo_json.php new file mode 100644 index 000000000..35697917c --- /dev/null +++ b/mod/siteinfo_json.php @@ -0,0 +1,8 @@ +<?php + +function siteinfo_json_init(&$a) { + + $data = get_site_info(); + json_return_and_die($data); + +} diff --git a/util/hmessages.po b/util/hmessages.po index 00610c180..2cd008851 100644 --- a/util/hmessages.po +++ b/util/hmessages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 2015-11-20.1222\n" +"Project-Id-Version: 2015-12-04.1236\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-20 00:03-0800\n" +"POT-Creation-Date: 2015-12-04 00:03-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" @@ -17,16 +17,106 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../include/Import/import_diaspora.php:17 -msgid "No username found in import file." +#: ../../include/Contact.php:101 ../../include/identity.php:953 +#: ../../include/widgets.php:137 ../../include/widgets.php:175 +#: ../../include/conversation.php:953 ../../mod/match.php:64 +#: ../../mod/directory.php:318 ../../mod/suggest.php:52 +msgid "Connect" +msgstr "" + +#: ../../include/Contact.php:118 +msgid "New window" +msgstr "" + +#: ../../include/Contact.php:119 +msgid "Open the selected location in a different window or browser tab" +msgstr "" + +#: ../../include/Contact.php:237 +#, php-format +msgid "User '%s' deleted" +msgstr "" + +#: ../../include/chat.php:23 +msgid "Missing room name" msgstr "" -#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44 +#: ../../include/chat.php:32 +msgid "Duplicate room name" +msgstr "" + +#: ../../include/chat.php:82 ../../include/chat.php:90 +msgid "Invalid room specifier." +msgstr "" + +#: ../../include/chat.php:122 +msgid "Room not found." +msgstr "" + +#: ../../include/chat.php:133 ../../include/items.php:4398 +#: ../../include/attach.php:140 ../../include/attach.php:188 +#: ../../include/attach.php:251 ../../include/attach.php:265 +#: ../../include/attach.php:272 ../../include/attach.php:337 +#: ../../include/attach.php:351 ../../include/attach.php:358 +#: ../../include/attach.php:436 ../../include/attach.php:884 +#: ../../include/attach.php:955 ../../include/attach.php:1107 +#: ../../include/photos.php:29 ../../mod/filestorage.php:18 +#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88 +#: ../../mod/filestorage.php:115 ../../mod/group.php:9 ../../mod/item.php:205 +#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/common.php:35 +#: ../../mod/achievements.php:30 ../../mod/rate.php:111 +#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/id.php:71 +#: ../../mod/like.php:177 ../../mod/page.php:31 ../../mod/page.php:86 +#: ../../mod/mood.php:112 ../../mod/new_channel.php:68 +#: ../../mod/new_channel.php:99 ../../mod/setup.php:227 +#: ../../mod/bookmarks.php:48 ../../mod/poke.php:133 +#: ../../mod/profiles.php:198 ../../mod/profiles.php:584 +#: ../../mod/connedit.php:352 ../../mod/editwebpage.php:64 +#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101 +#: ../../mod/editwebpage.php:125 ../../mod/profile.php:64 +#: ../../mod/profile.php:72 ../../mod/api.php:26 ../../mod/api.php:31 +#: ../../mod/fsuggest.php:78 ../../mod/sources.php:66 +#: ../../mod/notifications.php:66 ../../mod/photos.php:70 +#: ../../mod/profile_photo.php:341 ../../mod/profile_photo.php:354 +#: ../../mod/thing.php:271 ../../mod/thing.php:291 ../../mod/thing.php:328 +#: ../../mod/editblock.php:65 ../../mod/network.php:12 +#: ../../mod/pdledit.php:21 ../../mod/register.php:72 +#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 +#: ../../mod/settings.php:568 ../../mod/webpages.php:69 +#: ../../mod/appman.php:66 ../../mod/layouts.php:69 ../../mod/layouts.php:76 +#: ../../mod/layouts.php:87 ../../mod/locs.php:83 ../../mod/invite.php:13 +#: ../../mod/invite.php:104 ../../mod/regmod.php:17 ../../mod/channel.php:100 +#: ../../mod/channel.php:214 ../../mod/channel.php:254 +#: ../../mod/editpost.php:13 ../../mod/chat.php:94 ../../mod/chat.php:99 +#: ../../mod/viewsrc.php:14 ../../mod/authtest.php:13 +#: ../../mod/connections.php:29 ../../mod/manage.php:6 ../../mod/menu.php:74 +#: ../../mod/mail.php:118 ../../mod/service_limits.php:7 +#: ../../mod/suggest.php:26 ../../mod/events.php:260 ../../mod/message.php:16 +#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/mitem.php:111 +#: ../../mod/sharedwithme.php:7 ../../mod/viewconnections.php:22 +#: ../../mod/viewconnections.php:27 ../../index.php:182 ../../index.php:365 +msgid "Permission denied." +msgstr "" + +#: ../../include/chat.php:143 +msgid "Room is full" +msgstr "" + +#: ../../include/import.php:23 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "" + +#: ../../include/import.php:44 ../../include/Import/import_diaspora.php:42 msgid "Unable to create a unique channel address. Import failed." msgstr "" -#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 -msgid "Import completed." +#: ../../include/import.php:70 +msgid "Channel clone failed. Import failed." +msgstr "" + +#: ../../include/import.php:80 ../../mod/import.php:139 +msgid "Cloned channel not found. Import failed." msgstr "" #: ../../include/RedDAV/RedBrowser.php:107 @@ -34,7 +124,7 @@ msgstr "" msgid "parent" msgstr "" -#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2546 +#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2582 msgid "Collection" msgstr "" @@ -58,15 +148,15 @@ msgstr "" msgid "Schedule Outbox" msgstr "" -#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1026 -#: ../../include/apps.php:360 ../../include/apps.php:415 -#: ../../include/widgets.php:1317 ../../mod/photos.php:759 +#: ../../include/RedDAV/RedBrowser.php:164 ../../include/widgets.php:1331 +#: ../../include/conversation.php:1027 ../../include/apps.php:360 +#: ../../include/apps.php:415 ../../mod/photos.php:759 #: ../../mod/photos.php:1198 msgid "Unknown" msgstr "" -#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1628 -#: ../../include/apps.php:135 ../../include/nav.php:93 +#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1629 +#: ../../include/nav.php:93 ../../include/apps.php:135 #: ../../mod/fbrowser.php:114 msgid "Files" msgstr "" @@ -80,21 +170,21 @@ msgid "Shared" msgstr "" #: ../../include/RedDAV/RedBrowser.php:230 -#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/layouts.php:175 -#: ../../mod/menu.php:114 ../../mod/new_channel.php:121 -#: ../../mod/webpages.php:180 ../../mod/blocks.php:152 +#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152 +#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180 +#: ../../mod/layouts.php:175 ../../mod/menu.php:114 msgid "Create" msgstr "" #: ../../include/RedDAV/RedBrowser.php:231 -#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329 +#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1343 #: ../../mod/photos.php:784 ../../mod/photos.php:1317 -#: ../../mod/profile_photo.php:450 +#: ../../mod/profile_photo.php:453 msgid "Upload" msgstr "" #: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974 -#: ../../mod/settings.php:586 ../../mod/settings.php:612 +#: ../../mod/settings.php:588 ../../mod/settings.php:614 #: ../../mod/sharedwithme.php:95 msgid "Name" msgstr "" @@ -103,7 +193,7 @@ msgstr "" msgid "Type" msgstr "" -#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1247 +#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1248 #: ../../mod/sharedwithme.php:97 msgid "Size" msgstr "" @@ -114,23 +204,24 @@ msgstr "" #: ../../include/RedDAV/RedBrowser.php:240 ../../include/menu.php:108 #: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36 -#: ../../include/apps.php:259 ../../include/ItemObject.php:100 -#: ../../mod/layouts.php:183 ../../mod/editblock.php:135 -#: ../../mod/editpost.php:112 ../../mod/menu.php:108 -#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257 -#: ../../mod/settings.php:646 ../../mod/connections.php:235 +#: ../../include/ItemObject.php:100 ../../include/apps.php:259 +#: ../../mod/blocks.php:153 ../../mod/editwebpage.php:176 +#: ../../mod/thing.php:257 ../../mod/editblock.php:135 +#: ../../mod/editlayout.php:134 ../../mod/settings.php:648 +#: ../../mod/webpages.php:181 ../../mod/layouts.php:183 +#: ../../mod/editpost.php:112 ../../mod/connections.php:235 #: ../../mod/connections.php:248 ../../mod/connections.php:267 -#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176 +#: ../../mod/menu.php:108 msgid "Edit" msgstr "" #: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657 -#: ../../include/apps.php:260 ../../include/ItemObject.php:120 -#: ../../mod/connedit.php:551 ../../mod/photos.php:1129 -#: ../../mod/editblock.php:181 ../../mod/admin.php:809 ../../mod/admin.php:968 -#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258 -#: ../../mod/settings.php:647 ../../mod/editlayout.php:179 -#: ../../mod/editwebpage.php:223 ../../mod/group.php:173 +#: ../../include/ItemObject.php:120 ../../include/apps.php:260 +#: ../../mod/group.php:173 ../../mod/blocks.php:155 ../../mod/connedit.php:551 +#: ../../mod/editwebpage.php:223 ../../mod/photos.php:1129 +#: ../../mod/thing.php:258 ../../mod/editblock.php:181 ../../mod/admin.php:809 +#: ../../mod/admin.php:968 ../../mod/editlayout.php:179 +#: ../../mod/settings.php:649 ../../mod/webpages.php:183 msgid "Delete" msgstr "" @@ -156,290 +247,1315 @@ msgstr "" msgid "Upload file" msgstr "" -#: ../../include/permissions.php:26 -msgid "Can view my normal stream and posts" +#: ../../include/js_strings.php:5 +msgid "Delete this item?" msgstr "" -#: ../../include/permissions.php:27 -msgid "Can view my default channel profile" +#: ../../include/js_strings.php:6 ../../include/ItemObject.php:696 +#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 +msgid "Comment" msgstr "" -#: ../../include/permissions.php:28 -msgid "Can view my connections" +#: ../../include/js_strings.php:7 ../../include/ItemObject.php:413 +msgid "[+] show all" msgstr "" -#: ../../include/permissions.php:29 -msgid "Can view my file storage and photos" +#: ../../include/js_strings.php:8 +msgid "[-] show less" msgstr "" -#: ../../include/permissions.php:30 -msgid "Can view my webpages" +#: ../../include/js_strings.php:9 +msgid "[+] expand" msgstr "" -#: ../../include/permissions.php:33 -msgid "Can send me their channel stream and posts" +#: ../../include/js_strings.php:10 +msgid "[-] collapse" msgstr "" -#: ../../include/permissions.php:34 -msgid "Can post on my channel page (\"wall\")" +#: ../../include/js_strings.php:11 +msgid "Password too short" msgstr "" -#: ../../include/permissions.php:35 -msgid "Can comment on or like my posts" +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" msgstr "" -#: ../../include/permissions.php:36 -msgid "Can send me private mail messages" +#: ../../include/js_strings.php:13 ../../mod/photos.php:41 +msgid "everybody" msgstr "" -#: ../../include/permissions.php:37 -msgid "Can like/dislike stuff" +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" msgstr "" -#: ../../include/permissions.php:37 -msgid "Profiles and things other than posts/comments" +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" msgstr "" -#: ../../include/permissions.php:39 -msgid "Can forward to all my channel contacts via post @mentions" +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." msgstr "" -#: ../../include/permissions.php:39 -msgid "Advanced - useful for creating group forum channels" +#: ../../include/js_strings.php:17 +msgid "close all" msgstr "" -#: ../../include/permissions.php:40 -msgid "Can chat with me (when available)" +#: ../../include/js_strings.php:18 +msgid "Nothing new here" msgstr "" -#: ../../include/permissions.php:41 -msgid "Can write to my file storage and photos" +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" msgstr "" -#: ../../include/permissions.php:42 -msgid "Can edit my webpages" +#: ../../include/js_strings.php:20 ../../mod/rate.php:157 +#: ../../mod/connedit.php:694 +msgid "Rating" msgstr "" -#: ../../include/permissions.php:44 -msgid "Can source my public posts in derived channels" +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" msgstr "" -#: ../../include/permissions.php:44 -msgid "Somewhat advanced - very useful in open communities" +#: ../../include/js_strings.php:22 ../../include/widgets.php:676 +#: ../../include/widgets.php:688 ../../include/ItemObject.php:697 +#: ../../mod/filestorage.php:156 ../../mod/group.php:81 +#: ../../mod/connect.php:93 ../../mod/rate.php:168 ../../mod/mood.php:135 +#: ../../mod/setup.php:331 ../../mod/setup.php:371 ../../mod/pconfig.php:108 +#: ../../mod/poke.php:171 ../../mod/profiles.php:675 +#: ../../mod/connedit.php:715 ../../mod/fsuggest.php:108 +#: ../../mod/sources.php:104 ../../mod/sources.php:138 +#: ../../mod/import.php:527 ../../mod/photos.php:637 ../../mod/photos.php:1008 +#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/thing.php:313 +#: ../../mod/thing.php:359 ../../mod/import_items.php:122 +#: ../../mod/pdledit.php:58 ../../mod/admin.php:435 ../../mod/admin.php:802 +#: ../../mod/admin.php:966 ../../mod/admin.php:1103 ../../mod/admin.php:1297 +#: ../../mod/admin.php:1382 ../../mod/settings.php:586 +#: ../../mod/settings.php:698 ../../mod/settings.php:726 +#: ../../mod/settings.php:749 ../../mod/settings.php:834 +#: ../../mod/settings.php:1023 ../../mod/appman.php:99 ../../mod/locs.php:116 +#: ../../mod/invite.php:142 ../../mod/xchan.php:11 ../../mod/chat.php:184 +#: ../../mod/chat.php:213 ../../mod/mail.php:372 ../../mod/events.php:461 +#: ../../mod/events.php:658 ../../mod/mitem.php:231 +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Submit" msgstr "" -#: ../../include/permissions.php:46 -msgid "Can administer my channel resources" +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" msgstr "" -#: ../../include/permissions.php:46 -msgid "Extremely advanced. Leave this alone unless you know what you are doing" +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" msgstr "" -#: ../../include/permissions.php:867 -msgid "Social Networking" +#: ../../include/js_strings.php:25 ../../mod/pubsites.php:28 +#: ../../mod/profiles.php:464 ../../mod/events.php:452 +msgid "Location" msgstr "" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Mostly Public" +#: ../../include/js_strings.php:27 +msgid "timeago.prefixAgo" msgstr "" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Restricted" +#: ../../include/js_strings.php:28 +msgid "timeago.prefixFromNow" msgstr "" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -msgid "Private" +#: ../../include/js_strings.php:29 +msgid "ago" msgstr "" -#: ../../include/permissions.php:868 -msgid "Community Forum" +#: ../../include/js_strings.php:30 +msgid "from now" msgstr "" -#: ../../include/permissions.php:869 -msgid "Feed Republish" +#: ../../include/js_strings.php:31 +msgid "less than a minute" msgstr "" -#: ../../include/permissions.php:870 -msgid "Special Purpose" +#: ../../include/js_strings.php:32 +msgid "about a minute" msgstr "" -#: ../../include/permissions.php:870 -msgid "Celebrity/Soapbox" +#: ../../include/js_strings.php:33 +#, php-format +msgid "%d minutes" msgstr "" -#: ../../include/permissions.php:870 -msgid "Group Repository" +#: ../../include/js_strings.php:34 +msgid "about an hour" msgstr "" -#: ../../include/permissions.php:871 ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 -#: ../../include/profile_selectors.php:61 -#: ../../include/profile_selectors.php:97 -msgid "Other" +#: ../../include/js_strings.php:35 +#, php-format +msgid "about %d hours" msgstr "" -#: ../../include/permissions.php:871 -msgid "Custom/Expert Mode" +#: ../../include/js_strings.php:36 +msgid "a day" msgstr "" -#: ../../include/chat.php:23 -msgid "Missing room name" +#: ../../include/js_strings.php:37 +#, php-format +msgid "%d days" msgstr "" -#: ../../include/chat.php:32 -msgid "Duplicate room name" +#: ../../include/js_strings.php:38 +msgid "about a month" msgstr "" -#: ../../include/chat.php:82 ../../include/chat.php:90 -msgid "Invalid room specifier." +#: ../../include/js_strings.php:39 +#, php-format +msgid "%d months" msgstr "" -#: ../../include/chat.php:122 -msgid "Room not found." +#: ../../include/js_strings.php:40 +msgid "about a year" msgstr "" -#: ../../include/chat.php:133 ../../include/items.php:4396 -#: ../../include/photos.php:29 ../../include/attach.php:140 -#: ../../include/attach.php:188 ../../include/attach.php:251 -#: ../../include/attach.php:265 ../../include/attach.php:272 -#: ../../include/attach.php:337 ../../include/attach.php:351 -#: ../../include/attach.php:358 ../../include/attach.php:436 -#: ../../include/attach.php:884 ../../include/attach.php:955 -#: ../../include/attach.php:1107 ../../mod/achievements.php:30 -#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13 -#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72 -#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35 -#: ../../mod/mitem.php:111 ../../mod/connedit.php:352 ../../mod/mood.php:112 -#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73 -#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115 -#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87 -#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:94 -#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/photos.php:70 -#: ../../mod/editblock.php:65 ../../mod/editpost.php:13 -#: ../../mod/appman.php:66 ../../mod/profile.php:64 ../../mod/profile.php:72 -#: ../../mod/menu.php:74 ../../mod/page.php:31 ../../mod/page.php:86 -#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99 -#: ../../mod/notifications.php:66 ../../mod/pdledit.php:21 -#: ../../mod/events.php:256 ../../mod/profile_photo.php:338 -#: ../../mod/profile_photo.php:351 ../../mod/item.php:205 -#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/message.php:16 -#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69 -#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7 -#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/channel.php:100 -#: ../../mod/channel.php:214 ../../mod/channel.php:254 ../../mod/thing.php:271 -#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13 -#: ../../mod/invite.php:104 ../../mod/mail.php:118 ../../mod/viewsrc.php:14 -#: ../../mod/settings.php:566 ../../mod/manage.php:6 ../../mod/api.php:26 -#: ../../mod/api.php:31 ../../mod/connections.php:29 -#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 -#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86 -#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125 -#: ../../mod/group.php:9 ../../mod/viewconnections.php:22 -#: ../../mod/viewconnections.php:27 ../../mod/locs.php:83 -#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7 -#: ../../mod/suggest.php:26 ../../mod/profiles.php:188 -#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361 -msgid "Permission denied." +#: ../../include/js_strings.php:41 +#, php-format +msgid "%d years" msgstr "" -#: ../../include/chat.php:143 -msgid "Room is full" +#: ../../include/js_strings.php:42 +msgid " " msgstr "" -#: ../../include/datetime.php:48 -msgid "Miscellaneous" +#: ../../include/js_strings.php:43 +msgid "timeago.numbers" msgstr "" -#: ../../include/datetime.php:132 -msgid "YYYY-MM-DD or MM-DD" +#: ../../include/js_strings.php:45 ../../include/text.php:1165 +msgid "January" msgstr "" -#: ../../include/datetime.php:235 ../../mod/appman.php:91 -#: ../../mod/appman.php:92 ../../mod/events.php:689 -msgid "Required" +#: ../../include/js_strings.php:46 ../../include/text.php:1165 +msgid "February" msgstr "" -#: ../../include/datetime.php:262 ../../boot.php:2289 -msgid "never" +#: ../../include/js_strings.php:47 ../../include/text.php:1165 +msgid "March" msgstr "" -#: ../../include/datetime.php:268 -msgid "less than a second ago" +#: ../../include/js_strings.php:48 ../../include/text.php:1165 +msgid "April" msgstr "" -#: ../../include/datetime.php:271 -msgid "year" +#: ../../include/js_strings.php:49 +msgctxt "long" +msgid "May" msgstr "" -#: ../../include/datetime.php:271 -msgid "years" +#: ../../include/js_strings.php:50 ../../include/text.php:1165 +msgid "June" msgstr "" -#: ../../include/datetime.php:272 -msgid "month" +#: ../../include/js_strings.php:51 ../../include/text.php:1165 +msgid "July" msgstr "" -#: ../../include/datetime.php:272 -msgid "months" +#: ../../include/js_strings.php:52 ../../include/text.php:1165 +msgid "August" msgstr "" -#: ../../include/datetime.php:273 -msgid "week" +#: ../../include/js_strings.php:53 ../../include/text.php:1165 +msgid "September" msgstr "" -#: ../../include/datetime.php:273 -msgid "weeks" +#: ../../include/js_strings.php:54 ../../include/text.php:1165 +msgid "October" msgstr "" -#: ../../include/datetime.php:274 +#: ../../include/js_strings.php:55 ../../include/text.php:1165 +msgid "November" +msgstr "" + +#: ../../include/js_strings.php:56 ../../include/text.php:1165 +msgid "December" +msgstr "" + +#: ../../include/js_strings.php:57 +msgid "Jan" +msgstr "" + +#: ../../include/js_strings.php:58 +msgid "Feb" +msgstr "" + +#: ../../include/js_strings.php:59 +msgid "Mar" +msgstr "" + +#: ../../include/js_strings.php:60 +msgid "Apr" +msgstr "" + +#: ../../include/js_strings.php:61 +msgctxt "short" +msgid "May" +msgstr "" + +#: ../../include/js_strings.php:62 +msgid "Jun" +msgstr "" + +#: ../../include/js_strings.php:63 +msgid "Jul" +msgstr "" + +#: ../../include/js_strings.php:64 +msgid "Aug" +msgstr "" + +#: ../../include/js_strings.php:65 +msgid "Sep" +msgstr "" + +#: ../../include/js_strings.php:66 +msgid "Oct" +msgstr "" + +#: ../../include/js_strings.php:67 +msgid "Nov" +msgstr "" + +#: ../../include/js_strings.php:68 +msgid "Dec" +msgstr "" + +#: ../../include/js_strings.php:69 ../../include/text.php:1161 +msgid "Sunday" +msgstr "" + +#: ../../include/js_strings.php:70 ../../include/text.php:1161 +msgid "Monday" +msgstr "" + +#: ../../include/js_strings.php:71 ../../include/text.php:1161 +msgid "Tuesday" +msgstr "" + +#: ../../include/js_strings.php:72 ../../include/text.php:1161 +msgid "Wednesday" +msgstr "" + +#: ../../include/js_strings.php:73 ../../include/text.php:1161 +msgid "Thursday" +msgstr "" + +#: ../../include/js_strings.php:74 ../../include/text.php:1161 +msgid "Friday" +msgstr "" + +#: ../../include/js_strings.php:75 ../../include/text.php:1161 +msgid "Saturday" +msgstr "" + +#: ../../include/js_strings.php:76 +msgid "Sun" +msgstr "" + +#: ../../include/js_strings.php:77 +msgid "Mon" +msgstr "" + +#: ../../include/js_strings.php:78 +msgid "Tue" +msgstr "" + +#: ../../include/js_strings.php:79 +msgid "Wed" +msgstr "" + +#: ../../include/js_strings.php:80 +msgid "Thu" +msgstr "" + +#: ../../include/js_strings.php:81 +msgid "Fri" +msgstr "" + +#: ../../include/js_strings.php:82 +msgid "Sat" +msgstr "" + +#: ../../include/js_strings.php:83 +msgctxt "calendar" +msgid "today" +msgstr "" + +#: ../../include/js_strings.php:84 +msgctxt "calendar" +msgid "month" +msgstr "" + +#: ../../include/js_strings.php:85 +msgctxt "calendar" +msgid "week" +msgstr "" + +#: ../../include/js_strings.php:86 +msgctxt "calendar" msgid "day" msgstr "" -#: ../../include/datetime.php:274 -msgid "days" +#: ../../include/js_strings.php:87 +msgctxt "calendar" +msgid "All day" msgstr "" -#: ../../include/datetime.php:275 -msgid "hour" +#: ../../include/Import/import_diaspora.php:17 +msgid "No username found in import file." msgstr "" -#: ../../include/datetime.php:275 -msgid "hours" +#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 +msgid "Import completed." msgstr "" -#: ../../include/datetime.php:276 -msgid "minute" +#: ../../include/comanche.php:34 ../../mod/admin.php:351 +msgid "Default" msgstr "" -#: ../../include/datetime.php:276 -msgid "minutes" +#: ../../include/items.php:423 ../../mod/group.php:68 ../../mod/like.php:280 +#: ../../mod/dreport.php:6 ../../mod/dreport.php:45 ../../mod/subthread.php:58 +#: ../../mod/import_items.php:114 ../../mod/profperm.php:23 +#: ../../index.php:364 +msgid "Permission denied" msgstr "" -#: ../../include/datetime.php:277 -msgid "second" +#: ../../include/items.php:1130 ../../include/items.php:1176 +msgid "(Unknown)" msgstr "" -#: ../../include/datetime.php:277 -msgid "seconds" +#: ../../include/items.php:1373 +msgid "Visible to anybody on the internet." +msgstr "" + +#: ../../include/items.php:1375 +msgid "Visible to you only." msgstr "" -#: ../../include/datetime.php:285 +#: ../../include/items.php:1377 +msgid "Visible to anybody in this network." +msgstr "" + +#: ../../include/items.php:1379 +msgid "Visible to anybody authenticated." +msgstr "" + +#: ../../include/items.php:1381 #, php-format -msgctxt "e.g. 22 hours ago, 1 minute ago" -msgid "%1$d %2$s ago" +msgid "Visible to anybody on %s." +msgstr "" + +#: ../../include/items.php:1383 +msgid "Visible to all connections." +msgstr "" + +#: ../../include/items.php:1385 +msgid "Visible to approved connections." +msgstr "" + +#: ../../include/items.php:1387 +msgid "Visible to specific connections." msgstr "" -#: ../../include/datetime.php:519 +#: ../../include/items.php:4319 ../../mod/filestorage.php:27 +#: ../../mod/thing.php:86 ../../mod/admin.php:127 ../../mod/admin.php:1005 +#: ../../mod/admin.php:1210 ../../mod/display.php:36 ../../mod/viewsrc.php:20 +msgid "Item not found." +msgstr "" + +#: ../../include/items.php:4831 ../../mod/group.php:38 ../../mod/group.php:137 +msgid "Collection not found." +msgstr "" + +#: ../../include/items.php:4847 +msgid "Collection is empty." +msgstr "" + +#: ../../include/items.php:4854 #, php-format -msgid "%1$s's birthday" +msgid "Collection: %s" msgstr "" -#: ../../include/datetime.php:520 +#: ../../include/items.php:4864 ../../mod/connedit.php:683 #, php-format -msgid "Happy Birthday %1$s" +msgid "Connection: %s" +msgstr "" + +#: ../../include/items.php:4866 +msgid "Connection not found." +msgstr "" + +#: ../../include/network.php:630 +msgid "view full size" +msgstr "" + +#: ../../include/network.php:1608 ../../include/enotify.php:57 +msgid "$Projectname Notification" +msgstr "" + +#: ../../include/network.php:1609 ../../include/enotify.php:58 +msgid "$projectname" +msgstr "" + +#: ../../include/network.php:1611 ../../include/enotify.php:60 +msgid "Thank You," +msgstr "" + +#: ../../include/network.php:1613 ../../include/enotify.php:62 +#, php-format +msgid "%s Administrator" +msgstr "" + +#: ../../include/network.php:1655 ../../include/account.php:316 +#: ../../include/account.php:343 ../../include/account.php:403 +msgid "Administrator" +msgstr "" + +#: ../../include/network.php:1669 +msgid "No Subject" +msgstr "" + +#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 +#: ../../include/text.php:1392 +msgid "l F d, Y \\@ g:i A" +msgstr "" + +#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 +#: ../../include/text.php:1396 +msgid "Starts:" +msgstr "" + +#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 +#: ../../include/text.php:1400 +msgid "Finishes:" +msgstr "" + +#: ../../include/event.php:52 ../../include/identity.php:1004 +#: ../../include/bb2diaspora.php:493 ../../include/text.php:1407 +#: ../../mod/directory.php:304 +msgid "Location:" +msgstr "" + +#: ../../include/event.php:768 +msgid "This event has been added to your calendar." +msgstr "" + +#: ../../include/event.php:904 ../../include/conversation.php:123 +#: ../../include/text.php:1919 ../../mod/tagger.php:47 ../../mod/like.php:363 +#: ../../mod/events.php:249 +msgid "event" +msgstr "" + +#: ../../include/event.php:967 +msgid "Not specified" +msgstr "" + +#: ../../include/event.php:968 +msgid "Needs Action" +msgstr "" + +#: ../../include/event.php:969 +msgid "Completed" +msgstr "" + +#: ../../include/event.php:970 +msgid "In Process" +msgstr "" + +#: ../../include/event.php:971 +msgid "Cancelled" +msgstr "" + +#: ../../include/identity.php:32 +msgid "Unable to obtain identity information from database" +msgstr "" + +#: ../../include/identity.php:66 +msgid "Empty name" +msgstr "" + +#: ../../include/identity.php:69 +msgid "Name too long" +msgstr "" + +#: ../../include/identity.php:181 +msgid "No account identifier" +msgstr "" + +#: ../../include/identity.php:193 +msgid "Nickname is required." +msgstr "" + +#: ../../include/identity.php:207 +msgid "Reserved nickname. Please choose another." +msgstr "" + +#: ../../include/identity.php:212 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "" + +#: ../../include/identity.php:288 +msgid "Unable to retrieve created identity" +msgstr "" + +#: ../../include/identity.php:346 +msgid "Default Profile" +msgstr "" + +#: ../../include/identity.php:390 ../../include/identity.php:391 +#: ../../include/identity.php:398 ../../include/widgets.php:430 +#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:573 +#: ../../mod/settings.php:338 ../../mod/settings.php:342 +#: ../../mod/settings.php:343 ../../mod/settings.php:346 +#: ../../mod/settings.php:357 +msgid "Friends" +msgstr "" + +#: ../../include/identity.php:770 +msgid "Requested channel is not available." +msgstr "" + +#: ../../include/identity.php:816 ../../mod/filestorage.php:54 +#: ../../mod/connect.php:13 ../../mod/achievements.php:11 +#: ../../mod/blocks.php:29 ../../mod/hcard.php:8 ../../mod/editwebpage.php:28 +#: ../../mod/profile.php:16 ../../mod/editblock.php:29 +#: ../../mod/editlayout.php:27 ../../mod/webpages.php:29 +#: ../../mod/layouts.php:29 +msgid "Requested profile is not available." +msgstr "" + +#: ../../include/identity.php:966 ../../mod/profiles.php:782 +msgid "Change profile photo" +msgstr "" + +#: ../../include/identity.php:972 +msgid "Profiles" +msgstr "" + +#: ../../include/identity.php:972 +msgid "Manage/edit profiles" +msgstr "" + +#: ../../include/identity.php:973 ../../mod/profiles.php:783 +msgid "Create New Profile" +msgstr "" + +#: ../../include/identity.php:976 ../../include/nav.php:90 +msgid "Edit Profile" +msgstr "" + +#: ../../include/identity.php:988 ../../mod/profiles.php:794 +msgid "Profile Image" +msgstr "" + +#: ../../include/identity.php:991 +msgid "visible to everybody" +msgstr "" + +#: ../../include/identity.php:992 ../../mod/profiles.php:677 +#: ../../mod/profiles.php:798 +msgid "Edit visibility" +msgstr "" + +#: ../../include/identity.php:1008 ../../include/identity.php:1248 +msgid "Gender:" +msgstr "" + +#: ../../include/identity.php:1009 ../../include/identity.php:1292 +msgid "Status:" +msgstr "" + +#: ../../include/identity.php:1010 ../../include/identity.php:1303 +msgid "Homepage:" +msgstr "" + +#: ../../include/identity.php:1011 +msgid "Online Now" +msgstr "" + +#: ../../include/identity.php:1095 ../../include/identity.php:1173 +#: ../../mod/ping.php:318 +msgid "g A l F d" +msgstr "" + +#: ../../include/identity.php:1096 ../../include/identity.php:1174 +msgid "F d" +msgstr "" + +#: ../../include/identity.php:1141 ../../include/identity.php:1213 +#: ../../mod/ping.php:341 +msgid "[today]" +msgstr "" + +#: ../../include/identity.php:1152 +msgid "Birthday Reminders" +msgstr "" + +#: ../../include/identity.php:1153 +msgid "Birthdays this week:" +msgstr "" + +#: ../../include/identity.php:1206 +msgid "[No description]" +msgstr "" + +#: ../../include/identity.php:1224 +msgid "Event Reminders" +msgstr "" + +#: ../../include/identity.php:1225 +msgid "Events this week:" +msgstr "" + +#: ../../include/identity.php:1238 ../../include/identity.php:1355 +#: ../../include/apps.php:138 ../../mod/profperm.php:112 +msgid "Profile" +msgstr "" + +#: ../../include/identity.php:1246 ../../mod/settings.php:1029 +msgid "Full Name:" +msgstr "" + +#: ../../include/identity.php:1253 +msgid "Like this channel" +msgstr "" + +#: ../../include/identity.php:1264 ../../include/taxonomy.php:414 +#: ../../include/conversation.php:1721 ../../include/ItemObject.php:179 +#: ../../mod/photos.php:1086 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/identity.php:1277 +msgid "j F, Y" +msgstr "" + +#: ../../include/identity.php:1278 +msgid "j F" +msgstr "" + +#: ../../include/identity.php:1285 +msgid "Birthday:" +msgstr "" + +#: ../../include/identity.php:1289 ../../mod/directory.php:299 +msgid "Age:" +msgstr "" + +#: ../../include/identity.php:1298 +#, php-format +msgid "for %1$d %2$s" +msgstr "" + +#: ../../include/identity.php:1301 ../../mod/profiles.php:699 +msgid "Sexual Preference:" +msgstr "" + +#: ../../include/identity.php:1305 ../../mod/profiles.php:701 +#: ../../mod/directory.php:315 +msgid "Hometown:" +msgstr "" + +#: ../../include/identity.php:1307 +msgid "Tags:" +msgstr "" + +#: ../../include/identity.php:1309 ../../mod/profiles.php:702 +msgid "Political Views:" +msgstr "" + +#: ../../include/identity.php:1311 +msgid "Religion:" +msgstr "" + +#: ../../include/identity.php:1313 ../../mod/directory.php:317 +msgid "About:" +msgstr "" + +#: ../../include/identity.php:1315 +msgid "Hobbies/Interests:" +msgstr "" + +#: ../../include/identity.php:1317 ../../mod/profiles.php:705 +msgid "Likes:" +msgstr "" + +#: ../../include/identity.php:1319 ../../mod/profiles.php:706 +msgid "Dislikes:" +msgstr "" + +#: ../../include/identity.php:1321 +msgid "Contact information and Social Networks:" +msgstr "" + +#: ../../include/identity.php:1323 +msgid "My other channels:" +msgstr "" + +#: ../../include/identity.php:1325 +msgid "Musical interests:" +msgstr "" + +#: ../../include/identity.php:1327 +msgid "Books, literature:" +msgstr "" + +#: ../../include/identity.php:1329 +msgid "Television:" +msgstr "" + +#: ../../include/identity.php:1331 +msgid "Film/dance/culture/entertainment:" +msgstr "" + +#: ../../include/identity.php:1333 +msgid "Love/Romance:" +msgstr "" + +#: ../../include/identity.php:1335 +msgid "Work/employment:" +msgstr "" + +#: ../../include/identity.php:1337 +msgid "School/education:" +msgstr "" + +#: ../../include/identity.php:1357 +msgid "Like this thing" +msgstr "" + +#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261 +msgid "Tags" +msgstr "" + +#: ../../include/taxonomy.php:282 ../../include/widgets.php:36 +#: ../../include/contact_widgets.php:95 +msgid "Categories" +msgstr "" + +#: ../../include/taxonomy.php:305 +msgid "Keywords" +msgstr "" + +#: ../../include/taxonomy.php:326 +msgid "have" +msgstr "" + +#: ../../include/taxonomy.php:326 +msgid "has" +msgstr "" + +#: ../../include/taxonomy.php:327 +msgid "want" +msgstr "" + +#: ../../include/taxonomy.php:327 +msgid "wants" +msgstr "" + +#: ../../include/taxonomy.php:328 ../../include/ItemObject.php:254 +msgid "like" +msgstr "" + +#: ../../include/taxonomy.php:328 +msgid "likes" +msgstr "" + +#: ../../include/taxonomy.php:329 ../../include/ItemObject.php:255 +msgid "dislike" +msgstr "" + +#: ../../include/taxonomy.php:329 +msgid "dislikes" +msgstr "" + +#: ../../include/acl_selectors.php:240 +msgid "Visible to your default audience" +msgstr "" + +#: ../../include/acl_selectors.php:241 +msgid "Show" +msgstr "" + +#: ../../include/acl_selectors.php:242 +msgid "Don't show" +msgstr "" + +#: ../../include/acl_selectors.php:247 +msgid "Other networks and post services" +msgstr "" + +#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 +#: ../../mod/photos.php:631 ../../mod/photos.php:1001 ../../mod/thing.php:310 +#: ../../mod/thing.php:356 ../../mod/chat.php:211 +msgid "Permissions" +msgstr "" + +#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:384 +#: ../../mod/photos.php:1218 +msgid "Close" +msgstr "" + +#: ../../include/activities.php:42 +msgid " and " +msgstr "" + +#: ../../include/activities.php:50 +msgid "public profile" +msgstr "" + +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "" + +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "" + +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "" + +#: ../../include/attach.php:246 ../../include/attach.php:332 +msgid "Item was not found." +msgstr "" + +#: ../../include/attach.php:496 +msgid "No source file." +msgstr "" + +#: ../../include/attach.php:514 +msgid "Cannot locate file to replace" +msgstr "" + +#: ../../include/attach.php:532 +msgid "Cannot locate file to revise/update" +msgstr "" + +#: ../../include/attach.php:667 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "" + +#: ../../include/attach.php:681 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "" + +#: ../../include/attach.php:837 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "" + +#: ../../include/attach.php:850 +msgid "Stored file could not be verified. Upload failed." +msgstr "" + +#: ../../include/attach.php:898 ../../include/attach.php:914 +msgid "Path not available." +msgstr "" + +#: ../../include/attach.php:960 ../../include/attach.php:1112 +msgid "Empty pathname" +msgstr "" + +#: ../../include/attach.php:986 +msgid "duplicate filename or path" +msgstr "" + +#: ../../include/attach.php:1008 +msgid "Path not found." +msgstr "" + +#: ../../include/attach.php:1066 +msgid "mkdir failed." +msgstr "" + +#: ../../include/attach.php:1070 +msgid "database storage failed." +msgstr "" + +#: ../../include/attach.php:1118 +msgid "Empty path" +msgstr "" + +#: ../../include/bb2diaspora.php:382 +msgid "Attachments:" +msgstr "" + +#: ../../include/bb2diaspora.php:473 +msgid "$Projectname event notification:" +msgstr "" + +#: ../../include/notify.php:20 +msgid "created a new post" +msgstr "" + +#: ../../include/notify.php:21 +#, php-format +msgid "commented on %s's post" +msgstr "" + +#: ../../include/widgets.php:92 ../../include/nav.php:157 +#: ../../mod/apps.php:36 +msgid "Apps" +msgstr "" + +#: ../../include/widgets.php:93 +msgid "System" +msgstr "" + +#: ../../include/widgets.php:95 ../../include/conversation.php:1526 +msgid "Personal" +msgstr "" + +#: ../../include/widgets.php:96 +msgid "Create Personal App" +msgstr "" + +#: ../../include/widgets.php:97 +msgid "Edit Personal App" +msgstr "" + +#: ../../include/widgets.php:139 ../../mod/suggest.php:54 +msgid "Ignore/Hide" +msgstr "" + +#: ../../include/widgets.php:144 ../../mod/connections.php:125 +msgid "Suggestions" +msgstr "" + +#: ../../include/widgets.php:145 +msgid "See more..." +msgstr "" + +#: ../../include/widgets.php:166 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "" + +#: ../../include/widgets.php:172 +msgid "Add New Connection" +msgstr "" + +#: ../../include/widgets.php:173 +msgid "Enter the channel address" +msgstr "" + +#: ../../include/widgets.php:174 +msgid "Example: bob@example.com, http://example.com/barbara" +msgstr "" + +#: ../../include/widgets.php:190 +msgid "Notes" +msgstr "" + +#: ../../include/widgets.php:192 ../../include/text.php:868 +#: ../../include/text.php:880 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 +#: ../../mod/admin.php:1442 ../../mod/admin.php:1462 ../../mod/filer.php:49 +msgid "Save" +msgstr "" + +#: ../../include/widgets.php:266 +msgid "Remove term" +msgstr "" + +#: ../../include/widgets.php:274 ../../include/features.php:72 +msgid "Saved Searches" +msgstr "" + +#: ../../include/widgets.php:275 ../../include/group.php:300 +msgid "add" +msgstr "" + +#: ../../include/widgets.php:304 ../../include/features.php:85 +#: ../../include/contact_widgets.php:57 +msgid "Saved Folders" +msgstr "" + +#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60 +#: ../../include/contact_widgets.php:98 +msgid "Everything" +msgstr "" + +#: ../../include/widgets.php:349 +msgid "Archives" +msgstr "" + +#: ../../include/widgets.php:428 ../../mod/connedit.php:571 +msgid "Me" +msgstr "" + +#: ../../include/widgets.php:429 ../../mod/connedit.php:572 +msgid "Family" +msgstr "" + +#: ../../include/widgets.php:431 ../../mod/connedit.php:574 +msgid "Acquaintances" +msgstr "" + +#: ../../include/widgets.php:432 ../../mod/connedit.php:575 +#: ../../mod/connections.php:88 ../../mod/connections.php:103 +msgid "All" +msgstr "" + +#: ../../include/widgets.php:451 +msgid "Refresh" +msgstr "" + +#: ../../include/widgets.php:485 +msgid "Account settings" +msgstr "" + +#: ../../include/widgets.php:491 +msgid "Channel settings" +msgstr "" + +#: ../../include/widgets.php:497 +msgid "Additional features" +msgstr "" + +#: ../../include/widgets.php:503 +msgid "Feature/Addon settings" +msgstr "" + +#: ../../include/widgets.php:509 +msgid "Display settings" +msgstr "" + +#: ../../include/widgets.php:515 +msgid "Connected apps" +msgstr "" + +#: ../../include/widgets.php:521 +msgid "Export channel" +msgstr "" + +#: ../../include/widgets.php:530 ../../mod/connedit.php:683 +msgid "Connection Default Permissions" +msgstr "" + +#: ../../include/widgets.php:538 +msgid "Premium Channel Settings" +msgstr "" + +#: ../../include/widgets.php:546 ../../include/features.php:59 +#: ../../mod/sources.php:88 +msgid "Channel Sources" +msgstr "" + +#: ../../include/widgets.php:554 ../../include/nav.php:202 +#: ../../include/apps.php:134 ../../mod/admin.php:1064 +#: ../../mod/admin.php:1264 +msgid "Settings" +msgstr "" + +#: ../../include/widgets.php:568 +msgid "Private Mail Menu" +msgstr "" + +#: ../../include/widgets.php:570 +msgid "Combined View" +msgstr "" + +#: ../../include/widgets.php:575 ../../include/nav.php:191 +msgid "Inbox" +msgstr "" + +#: ../../include/widgets.php:580 ../../include/nav.php:192 +msgid "Outbox" +msgstr "" + +#: ../../include/widgets.php:585 ../../include/nav.php:193 +msgid "New Message" +msgstr "" + +#: ../../include/widgets.php:604 ../../include/widgets.php:616 +msgid "Conversations" +msgstr "" + +#: ../../include/widgets.php:608 +msgid "Received Messages" +msgstr "" + +#: ../../include/widgets.php:612 +msgid "Sent Messages" +msgstr "" + +#: ../../include/widgets.php:626 +msgid "No messages." +msgstr "" + +#: ../../include/widgets.php:644 +msgid "Delete conversation" +msgstr "" + +#: ../../include/widgets.php:670 +msgid "Events Menu" +msgstr "" + +#: ../../include/widgets.php:671 +msgid "Day View" +msgstr "" + +#: ../../include/widgets.php:672 +msgid "Week View" +msgstr "" + +#: ../../include/widgets.php:673 +msgid "Month View" +msgstr "" + +#: ../../include/widgets.php:674 ../../mod/events.php:654 +msgid "Export" +msgstr "" + +#: ../../include/widgets.php:675 ../../mod/events.php:657 +msgid "Import" +msgstr "" + +#: ../../include/widgets.php:685 +msgid "Events Tools" +msgstr "" + +#: ../../include/widgets.php:686 +msgid "Export Calendar" +msgstr "" + +#: ../../include/widgets.php:687 +msgid "Import Calendar" +msgstr "" + +#: ../../include/widgets.php:761 +msgid "Chat Rooms" +msgstr "" + +#: ../../include/widgets.php:781 +msgid "Bookmarked Chatrooms" +msgstr "" + +#: ../../include/widgets.php:801 +msgid "Suggested Chatrooms" +msgstr "" + +#: ../../include/widgets.php:928 ../../include/widgets.php:986 +msgid "photo/image" +msgstr "" + +#: ../../include/widgets.php:1081 ../../include/widgets.php:1083 +msgid "Rate Me" +msgstr "" + +#: ../../include/widgets.php:1087 +msgid "View Ratings" +msgstr "" + +#: ../../include/widgets.php:1098 +msgid "Public Hubs" +msgstr "" + +#: ../../include/widgets.php:1146 +msgid "Forums" +msgstr "" + +#: ../../include/widgets.php:1175 +msgid "Tasks" +msgstr "" + +#: ../../include/widgets.php:1184 +msgid "Documentation" +msgstr "" + +#: ../../include/widgets.php:1186 +msgid "Project/Site Information" +msgstr "" + +#: ../../include/widgets.php:1187 +msgid "For Members" +msgstr "" + +#: ../../include/widgets.php:1188 +msgid "For Administrators" +msgstr "" + +#: ../../include/widgets.php:1189 +msgid "For Developers" +msgstr "" + +#: ../../include/widgets.php:1214 ../../mod/admin.php:434 +msgid "Site" +msgstr "" + +#: ../../include/widgets.php:1215 +msgid "Accounts" +msgstr "" + +#: ../../include/widgets.php:1216 ../../mod/admin.php:965 +msgid "Channels" +msgstr "" + +#: ../../include/widgets.php:1217 ../../mod/admin.php:1062 +#: ../../mod/admin.php:1102 +msgid "Plugins" +msgstr "" + +#: ../../include/widgets.php:1218 ../../mod/admin.php:1262 +#: ../../mod/admin.php:1296 +msgid "Themes" +msgstr "" + +#: ../../include/widgets.php:1219 +msgid "Inspect queue" +msgstr "" + +#: ../../include/widgets.php:1220 +msgid "Profile Config" +msgstr "" + +#: ../../include/widgets.php:1221 +msgid "DB updates" +msgstr "" + +#: ../../include/widgets.php:1239 ../../include/widgets.php:1245 +#: ../../mod/admin.php:1381 +msgid "Logs" +msgstr "" + +#: ../../include/widgets.php:1243 ../../include/nav.php:210 +msgid "Admin" +msgstr "" + +#: ../../include/widgets.php:1244 +msgid "Plugin Features" +msgstr "" + +#: ../../include/widgets.php:1246 +msgid "User registrations waiting for confirmation" +msgstr "" + +#: ../../include/widgets.php:1325 ../../mod/photos.php:753 +#: ../../mod/photos.php:1286 +msgid "View Photo" +msgstr "" + +#: ../../include/widgets.php:1341 ../../mod/photos.php:782 +msgid "Edit Album" +msgstr "" + +#: ../../include/bookmarks.php:35 +#, php-format +msgid "%1$s's bookmarks" msgstr "" #: ../../include/features.php:38 @@ -550,11 +1666,6 @@ msgid "" "(640px) photo thumbnails" msgstr "" -#: ../../include/features.php:59 ../../include/widgets.php:546 -#: ../../mod/sources.php:88 -msgid "Channel Sources" -msgstr "" - #: ../../include/features.php:59 msgid "Automatically import channel content from other channels or feeds" msgstr "" @@ -614,10 +1725,6 @@ msgstr "" msgid "Enable widget to display Network posts only from selected collections" msgstr "" -#: ../../include/features.php:72 ../../include/widgets.php:274 -msgid "Saved Searches" -msgstr "" - #: ../../include/features.php:72 msgid "Save search terms for re-use" msgstr "" @@ -682,11 +1789,6 @@ msgstr "" msgid "Add categories to your posts" msgstr "" -#: ../../include/features.php:85 ../../include/contact_widgets.php:57 -#: ../../include/widgets.php:304 -msgid "Saved Folders" -msgstr "" - #: ../../include/features.php:85 msgid "Ability to file posts under folders" msgstr "" @@ -715,570 +1817,361 @@ msgstr "" msgid "Provide a personal tag cloud on your channel page" msgstr "" -#: ../../include/comanche.php:34 ../../mod/admin.php:351 -msgid "Default" -msgstr "" - -#: ../../include/js_strings.php:5 -msgid "Delete this item?" -msgstr "" - -#: ../../include/js_strings.php:6 ../../include/ItemObject.php:682 -#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 -msgid "Comment" -msgstr "" - -#: ../../include/js_strings.php:7 ../../include/ItemObject.php:399 -msgid "[+] show all" -msgstr "" - -#: ../../include/js_strings.php:8 -msgid "[-] show less" -msgstr "" - -#: ../../include/js_strings.php:9 -msgid "[+] expand" -msgstr "" - -#: ../../include/js_strings.php:10 -msgid "[-] collapse" -msgstr "" - -#: ../../include/js_strings.php:11 -msgid "Password too short" -msgstr "" - -#: ../../include/js_strings.php:12 -msgid "Passwords do not match" -msgstr "" - -#: ../../include/js_strings.php:13 ../../mod/photos.php:41 -msgid "everybody" -msgstr "" - -#: ../../include/js_strings.php:14 -msgid "Secret Passphrase" -msgstr "" - -#: ../../include/js_strings.php:15 -msgid "Passphrase hint" -msgstr "" - -#: ../../include/js_strings.php:16 -msgid "Notice: Permissions have changed but have not yet been submitted." -msgstr "" - -#: ../../include/js_strings.php:17 -msgid "close all" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 +msgid "Male" msgstr "" -#: ../../include/js_strings.php:18 -msgid "Nothing new here" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 +msgid "Female" msgstr "" -#: ../../include/js_strings.php:19 -msgid "Rate This Channel (this is public)" +#: ../../include/profile_selectors.php:6 +msgid "Currently Male" msgstr "" -#: ../../include/js_strings.php:20 ../../mod/connedit.php:694 -#: ../../mod/rate.php:157 -msgid "Rating" +#: ../../include/profile_selectors.php:6 +msgid "Currently Female" msgstr "" -#: ../../include/js_strings.php:21 -msgid "Describe (optional)" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Male" msgstr "" -#: ../../include/js_strings.php:22 ../../include/ItemObject.php:683 -#: ../../include/widgets.php:676 ../../mod/fsuggest.php:108 -#: ../../mod/mitem.php:231 ../../mod/connedit.php:715 ../../mod/mood.php:135 -#: ../../mod/pconfig.php:108 ../../mod/filestorage.php:156 -#: ../../mod/poke.php:171 ../../mod/chat.php:184 ../../mod/chat.php:213 -#: ../../mod/rate.php:168 ../../mod/photos.php:637 ../../mod/photos.php:1008 -#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:435 -#: ../../mod/admin.php:802 ../../mod/admin.php:966 ../../mod/admin.php:1103 -#: ../../mod/admin.php:1297 ../../mod/admin.php:1382 ../../mod/appman.php:99 -#: ../../mod/pdledit.php:58 ../../mod/events.php:531 ../../mod/events.php:710 -#: ../../mod/sources.php:104 ../../mod/sources.php:138 -#: ../../mod/import.php:527 ../../mod/thing.php:313 ../../mod/thing.php:359 -#: ../../mod/invite.php:142 ../../mod/mail.php:371 ../../mod/settings.php:584 -#: ../../mod/settings.php:696 ../../mod/settings.php:724 -#: ../../mod/settings.php:747 ../../mod/settings.php:832 -#: ../../mod/settings.php:1021 ../../mod/xchan.php:11 ../../mod/group.php:81 -#: ../../mod/connect.php:93 ../../mod/locs.php:116 ../../mod/setup.php:331 -#: ../../mod/setup.php:371 ../../mod/profiles.php:667 -#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99 -msgid "Submit" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Female" msgstr "" -#: ../../include/js_strings.php:23 -msgid "Please enter a link URL" +#: ../../include/profile_selectors.php:6 +msgid "Transgender" msgstr "" -#: ../../include/js_strings.php:24 -msgid "Unsaved changes. Are you sure you wish to leave this page?" +#: ../../include/profile_selectors.php:6 +msgid "Intersex" msgstr "" -#: ../../include/js_strings.php:26 -msgid "timeago.prefixAgo" +#: ../../include/profile_selectors.php:6 +msgid "Transsexual" msgstr "" -#: ../../include/js_strings.php:27 -msgid "timeago.prefixFromNow" +#: ../../include/profile_selectors.php:6 +msgid "Hermaphrodite" msgstr "" -#: ../../include/js_strings.php:28 -msgid "ago" +#: ../../include/profile_selectors.php:6 +msgid "Neuter" msgstr "" -#: ../../include/js_strings.php:29 -msgid "from now" +#: ../../include/profile_selectors.php:6 +msgid "Non-specific" msgstr "" -#: ../../include/js_strings.php:30 -msgid "less than a minute" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 +#: ../../include/profile_selectors.php:61 +#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871 +msgid "Other" msgstr "" -#: ../../include/js_strings.php:31 -msgid "about a minute" +#: ../../include/profile_selectors.php:6 +msgid "Undecided" msgstr "" -#: ../../include/js_strings.php:32 -#, php-format -msgid "%d minutes" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Males" msgstr "" -#: ../../include/js_strings.php:33 -msgid "about an hour" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Females" msgstr "" -#: ../../include/js_strings.php:34 -#, php-format -msgid "about %d hours" +#: ../../include/profile_selectors.php:42 +msgid "Gay" msgstr "" -#: ../../include/js_strings.php:35 -msgid "a day" +#: ../../include/profile_selectors.php:42 +msgid "Lesbian" msgstr "" -#: ../../include/js_strings.php:36 -#, php-format -msgid "%d days" +#: ../../include/profile_selectors.php:42 +msgid "No Preference" msgstr "" -#: ../../include/js_strings.php:37 -msgid "about a month" +#: ../../include/profile_selectors.php:42 +msgid "Bisexual" msgstr "" -#: ../../include/js_strings.php:38 -#, php-format -msgid "%d months" +#: ../../include/profile_selectors.php:42 +msgid "Autosexual" msgstr "" -#: ../../include/js_strings.php:39 -msgid "about a year" +#: ../../include/profile_selectors.php:42 +msgid "Abstinent" msgstr "" -#: ../../include/js_strings.php:40 -#, php-format -msgid "%d years" +#: ../../include/profile_selectors.php:42 +msgid "Virgin" msgstr "" -#: ../../include/js_strings.php:41 -msgid " " +#: ../../include/profile_selectors.php:42 +msgid "Deviant" msgstr "" -#: ../../include/js_strings.php:42 -msgid "timeago.numbers" +#: ../../include/profile_selectors.php:42 +msgid "Fetish" msgstr "" -#: ../../include/js_strings.php:44 ../../include/text.php:1164 -msgid "January" +#: ../../include/profile_selectors.php:42 +msgid "Oodles" msgstr "" -#: ../../include/js_strings.php:45 ../../include/text.php:1164 -msgid "February" +#: ../../include/profile_selectors.php:42 +msgid "Nonsexual" msgstr "" -#: ../../include/js_strings.php:46 ../../include/text.php:1164 -msgid "March" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Single" msgstr "" -#: ../../include/js_strings.php:47 ../../include/text.php:1164 -msgid "April" +#: ../../include/profile_selectors.php:80 +msgid "Lonely" msgstr "" -#: ../../include/js_strings.php:48 -msgctxt "long" -msgid "May" +#: ../../include/profile_selectors.php:80 +msgid "Available" msgstr "" -#: ../../include/js_strings.php:49 ../../include/text.php:1164 -msgid "June" +#: ../../include/profile_selectors.php:80 +msgid "Unavailable" msgstr "" -#: ../../include/js_strings.php:50 ../../include/text.php:1164 -msgid "July" +#: ../../include/profile_selectors.php:80 +msgid "Has crush" msgstr "" -#: ../../include/js_strings.php:51 ../../include/text.php:1164 -msgid "August" +#: ../../include/profile_selectors.php:80 +msgid "Infatuated" msgstr "" -#: ../../include/js_strings.php:52 ../../include/text.php:1164 -msgid "September" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Dating" msgstr "" -#: ../../include/js_strings.php:53 ../../include/text.php:1164 -msgid "October" +#: ../../include/profile_selectors.php:80 +msgid "Unfaithful" msgstr "" -#: ../../include/js_strings.php:54 ../../include/text.php:1164 -msgid "November" +#: ../../include/profile_selectors.php:80 +msgid "Sex Addict" msgstr "" -#: ../../include/js_strings.php:55 ../../include/text.php:1164 -msgid "December" +#: ../../include/profile_selectors.php:80 +msgid "Friends/Benefits" msgstr "" -#: ../../include/js_strings.php:56 -msgid "Jan" +#: ../../include/profile_selectors.php:80 +msgid "Casual" msgstr "" -#: ../../include/js_strings.php:57 -msgid "Feb" +#: ../../include/profile_selectors.php:80 +msgid "Engaged" msgstr "" -#: ../../include/js_strings.php:58 -msgid "Mar" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Married" msgstr "" -#: ../../include/js_strings.php:59 -msgid "Apr" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily married" msgstr "" -#: ../../include/js_strings.php:60 -msgctxt "short" -msgid "May" +#: ../../include/profile_selectors.php:80 +msgid "Partners" msgstr "" -#: ../../include/js_strings.php:61 -msgid "Jun" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Cohabiting" msgstr "" -#: ../../include/js_strings.php:62 -msgid "Jul" +#: ../../include/profile_selectors.php:80 +msgid "Common law" msgstr "" -#: ../../include/js_strings.php:63 -msgid "Aug" +#: ../../include/profile_selectors.php:80 +msgid "Happy" msgstr "" -#: ../../include/js_strings.php:64 -msgid "Sep" +#: ../../include/profile_selectors.php:80 +msgid "Not looking" msgstr "" -#: ../../include/js_strings.php:65 -msgid "Oct" +#: ../../include/profile_selectors.php:80 +msgid "Swinger" msgstr "" -#: ../../include/js_strings.php:66 -msgid "Nov" +#: ../../include/profile_selectors.php:80 +msgid "Betrayed" msgstr "" -#: ../../include/js_strings.php:67 -msgid "Dec" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Separated" msgstr "" -#: ../../include/js_strings.php:68 ../../include/text.php:1160 -msgid "Sunday" +#: ../../include/profile_selectors.php:80 +msgid "Unstable" msgstr "" -#: ../../include/js_strings.php:69 ../../include/text.php:1160 -msgid "Monday" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Divorced" msgstr "" -#: ../../include/js_strings.php:70 ../../include/text.php:1160 -msgid "Tuesday" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily divorced" msgstr "" -#: ../../include/js_strings.php:71 ../../include/text.php:1160 -msgid "Wednesday" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Widowed" msgstr "" -#: ../../include/js_strings.php:72 ../../include/text.php:1160 -msgid "Thursday" +#: ../../include/profile_selectors.php:80 +msgid "Uncertain" msgstr "" -#: ../../include/js_strings.php:73 ../../include/text.php:1160 -msgid "Friday" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "It's complicated" msgstr "" -#: ../../include/js_strings.php:74 ../../include/text.php:1160 -msgid "Saturday" +#: ../../include/profile_selectors.php:80 +msgid "Don't care" msgstr "" -#: ../../include/js_strings.php:75 -msgid "Sun" +#: ../../include/profile_selectors.php:80 +msgid "Ask me" msgstr "" -#: ../../include/js_strings.php:76 -msgid "Mon" +#: ../../include/datetime.php:48 +msgid "Miscellaneous" msgstr "" -#: ../../include/js_strings.php:77 -msgid "Tue" +#: ../../include/datetime.php:132 +msgid "YYYY-MM-DD or MM-DD" msgstr "" -#: ../../include/js_strings.php:78 -msgid "Wed" +#: ../../include/datetime.php:236 ../../mod/appman.php:91 +#: ../../mod/appman.php:92 ../../mod/events.php:437 ../../mod/events.php:442 +msgid "Required" msgstr "" -#: ../../include/js_strings.php:79 -msgid "Thu" +#: ../../include/datetime.php:263 ../../boot.php:2284 +msgid "never" msgstr "" -#: ../../include/js_strings.php:80 -msgid "Fri" +#: ../../include/datetime.php:269 +msgid "less than a second ago" msgstr "" -#: ../../include/js_strings.php:81 -msgid "Sat" +#: ../../include/datetime.php:272 +msgid "year" msgstr "" -#: ../../include/js_strings.php:82 -msgctxt "calendar" -msgid "today" +#: ../../include/datetime.php:272 +msgid "years" msgstr "" -#: ../../include/js_strings.php:83 -msgctxt "calendar" +#: ../../include/datetime.php:273 msgid "month" msgstr "" -#: ../../include/js_strings.php:84 -msgctxt "calendar" -msgid "week" -msgstr "" - -#: ../../include/js_strings.php:85 -msgctxt "calendar" -msgid "day" -msgstr "" - -#: ../../include/js_strings.php:86 -msgctxt "calendar" -msgid "All day" -msgstr "" - -#: ../../include/contact_selectors.php:56 -msgid "Frequently" -msgstr "" - -#: ../../include/contact_selectors.php:57 -msgid "Hourly" -msgstr "" - -#: ../../include/contact_selectors.php:58 -msgid "Twice daily" -msgstr "" - -#: ../../include/contact_selectors.php:59 -msgid "Daily" -msgstr "" - -#: ../../include/contact_selectors.php:60 -msgid "Weekly" -msgstr "" - -#: ../../include/contact_selectors.php:61 -msgid "Monthly" -msgstr "" - -#: ../../include/contact_selectors.php:76 -msgid "Friendica" -msgstr "" - -#: ../../include/contact_selectors.php:77 -msgid "OStatus" -msgstr "" - -#: ../../include/contact_selectors.php:78 -msgid "RSS/Atom" -msgstr "" - -#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 -#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 -#: ../../boot.php:1488 -msgid "Email" -msgstr "" - -#: ../../include/contact_selectors.php:80 -msgid "Diaspora" -msgstr "" - -#: ../../include/contact_selectors.php:81 -msgid "Facebook" -msgstr "" - -#: ../../include/contact_selectors.php:82 -msgid "Zot!" -msgstr "" - -#: ../../include/contact_selectors.php:83 -msgid "LinkedIn" -msgstr "" - -#: ../../include/contact_selectors.php:84 -msgid "XMPP/IM" -msgstr "" - -#: ../../include/contact_selectors.php:85 -msgid "MySpace" -msgstr "" - -#: ../../include/activities.php:42 -msgid " and " -msgstr "" - -#: ../../include/activities.php:50 -msgid "public profile" -msgstr "" - -#: ../../include/activities.php:59 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" -msgstr "" - -#: ../../include/activities.php:60 -#, php-format -msgid "Visit %1$s's %2$s" -msgstr "" - -#: ../../include/activities.php:63 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." -msgstr "" - -#: ../../include/Contact.php:101 ../../include/conversation.php:952 -#: ../../include/widgets.php:137 ../../include/widgets.php:175 -#: ../../include/identity.php:952 ../../mod/directory.php:318 -#: ../../mod/match.php:64 ../../mod/suggest.php:52 -msgid "Connect" +#: ../../include/datetime.php:273 +msgid "months" msgstr "" -#: ../../include/Contact.php:118 -msgid "New window" +#: ../../include/datetime.php:274 +msgid "week" msgstr "" -#: ../../include/Contact.php:119 -msgid "Open the selected location in a different window or browser tab" +#: ../../include/datetime.php:274 +msgid "weeks" msgstr "" -#: ../../include/Contact.php:237 -#, php-format -msgid "User '%s' deleted" +#: ../../include/datetime.php:275 +msgid "day" msgstr "" -#: ../../include/dba/dba_driver.php:141 -#, php-format -msgid "Cannot locate DNS info for database server '%s'" +#: ../../include/datetime.php:275 +msgid "days" msgstr "" -#: ../../include/items.php:423 ../../mod/like.php:280 -#: ../../mod/subthread.php:58 ../../mod/dreport.php:6 ../../mod/dreport.php:45 -#: ../../mod/group.php:68 ../../mod/profperm.php:23 -#: ../../mod/import_items.php:114 ../../index.php:360 -msgid "Permission denied" +#: ../../include/datetime.php:276 +msgid "hour" msgstr "" -#: ../../include/items.php:1128 ../../include/items.php:1174 -msgid "(Unknown)" +#: ../../include/datetime.php:276 +msgid "hours" msgstr "" -#: ../../include/items.php:1371 -msgid "Visible to anybody on the internet." +#: ../../include/datetime.php:277 +msgid "minute" msgstr "" -#: ../../include/items.php:1373 -msgid "Visible to you only." +#: ../../include/datetime.php:277 +msgid "minutes" msgstr "" -#: ../../include/items.php:1375 -msgid "Visible to anybody in this network." +#: ../../include/datetime.php:278 +msgid "second" msgstr "" -#: ../../include/items.php:1377 -msgid "Visible to anybody authenticated." +#: ../../include/datetime.php:278 +msgid "seconds" msgstr "" -#: ../../include/items.php:1379 +#: ../../include/datetime.php:286 #, php-format -msgid "Visible to anybody on %s." -msgstr "" - -#: ../../include/items.php:1381 -msgid "Visible to all connections." -msgstr "" - -#: ../../include/items.php:1383 -msgid "Visible to approved connections." -msgstr "" - -#: ../../include/items.php:1385 -msgid "Visible to specific connections." -msgstr "" - -#: ../../include/items.php:4317 ../../mod/display.php:36 -#: ../../mod/filestorage.php:27 ../../mod/admin.php:127 -#: ../../mod/admin.php:1005 ../../mod/admin.php:1210 ../../mod/thing.php:86 -#: ../../mod/viewsrc.php:20 -msgid "Item not found." -msgstr "" - -#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137 -msgid "Collection not found." -msgstr "" - -#: ../../include/items.php:4842 -msgid "Collection is empty." +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" msgstr "" -#: ../../include/items.php:4849 +#: ../../include/datetime.php:520 #, php-format -msgid "Collection: %s" +msgid "%1$s's birthday" msgstr "" -#: ../../include/items.php:4859 ../../mod/connedit.php:683 +#: ../../include/datetime.php:521 #, php-format -msgid "Connection: %s" +msgid "Happy Birthday %1$s" msgstr "" -#: ../../include/items.php:4861 -msgid "Connection not found." +#: ../../include/api.php:1301 +msgid "Public Timeline" msgstr "" -#: ../../include/conversation.php:120 ../../include/text.php:1880 -#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:83 +#: ../../include/conversation.php:120 ../../include/text.php:1916 +#: ../../mod/tagger.php:43 ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "photo" msgstr "" -#: ../../include/conversation.php:123 ../../include/event.php:896 -#: ../../include/text.php:1883 ../../mod/like.php:363 ../../mod/tagger.php:47 -#: ../../mod/events.php:245 -msgid "event" -msgstr "" - #: ../../include/conversation.php:126 ../../mod/like.php:113 msgid "channel" msgstr "" -#: ../../include/conversation.php:148 ../../include/text.php:1886 +#: ../../include/conversation.php:148 ../../include/text.php:1922 #: ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "status" msgstr "" -#: ../../include/conversation.php:150 ../../include/text.php:1888 +#: ../../include/conversation.php:150 ../../include/text.php:1924 #: ../../mod/tagger.php:53 msgid "comment" msgstr "" @@ -1303,7 +2196,7 @@ msgstr "" msgid "%1$s poked %2$s" msgstr "" -#: ../../include/conversation.php:243 ../../include/text.php:953 +#: ../../include/conversation.php:243 ../../include/text.php:954 msgid "poked" msgstr "" @@ -1374,478 +2267,464 @@ msgstr "" msgid "View %s's profile @ %s" msgstr "" -#: ../../include/conversation.php:709 +#: ../../include/conversation.php:710 msgid "Categories:" msgstr "" -#: ../../include/conversation.php:710 +#: ../../include/conversation.php:711 msgid "Filed under:" msgstr "" -#: ../../include/conversation.php:718 ../../include/ItemObject.php:321 +#: ../../include/conversation.php:719 ../../include/ItemObject.php:334 #, php-format msgid "from %s" msgstr "" -#: ../../include/conversation.php:721 ../../include/ItemObject.php:324 +#: ../../include/conversation.php:722 ../../include/ItemObject.php:337 #, php-format msgid "last edited: %s" msgstr "" -#: ../../include/conversation.php:722 ../../include/ItemObject.php:325 +#: ../../include/conversation.php:723 ../../include/ItemObject.php:338 #, php-format msgid "Expires: %s" msgstr "" -#: ../../include/conversation.php:737 +#: ../../include/conversation.php:738 msgid "View in context" msgstr "" -#: ../../include/conversation.php:739 ../../include/conversation.php:1226 -#: ../../include/ItemObject.php:375 ../../mod/photos.php:1029 -#: ../../mod/editblock.php:150 ../../mod/editpost.php:129 -#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190 +#: ../../include/conversation.php:740 ../../include/conversation.php:1227 +#: ../../include/ItemObject.php:389 ../../mod/editwebpage.php:190 +#: ../../mod/photos.php:1029 ../../mod/editblock.php:150 +#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129 msgid "Please wait" msgstr "" -#: ../../include/conversation.php:849 +#: ../../include/conversation.php:850 msgid "remove" msgstr "" -#: ../../include/conversation.php:853 ../../include/nav.php:241 +#: ../../include/conversation.php:854 ../../include/nav.php:241 msgid "Loading..." msgstr "" -#: ../../include/conversation.php:854 +#: ../../include/conversation.php:855 msgid "Delete Selected Items" msgstr "" -#: ../../include/conversation.php:945 +#: ../../include/conversation.php:946 msgid "View Source" msgstr "" -#: ../../include/conversation.php:946 +#: ../../include/conversation.php:947 msgid "Follow Thread" msgstr "" -#: ../../include/conversation.php:947 +#: ../../include/conversation.php:948 msgid "Unfollow Thread" msgstr "" -#: ../../include/conversation.php:948 +#: ../../include/conversation.php:949 msgid "View Status" msgstr "" -#: ../../include/conversation.php:949 ../../include/nav.php:86 +#: ../../include/conversation.php:950 ../../include/nav.php:86 #: ../../mod/connedit.php:498 msgid "View Profile" msgstr "" -#: ../../include/conversation.php:950 +#: ../../include/conversation.php:951 msgid "View Photos" msgstr "" -#: ../../include/conversation.php:951 +#: ../../include/conversation.php:952 msgid "Activity/Posts" msgstr "" -#: ../../include/conversation.php:953 +#: ../../include/conversation.php:954 msgid "Edit Connection" msgstr "" -#: ../../include/conversation.php:954 +#: ../../include/conversation.php:955 msgid "Send PM" msgstr "" -#: ../../include/conversation.php:955 ../../include/apps.php:145 +#: ../../include/conversation.php:956 ../../include/apps.php:145 msgid "Poke" msgstr "" -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s likes this." msgstr "" -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s doesn't like this." msgstr "" -#: ../../include/conversation.php:1073 +#: ../../include/conversation.php:1074 #, 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:1075 +#: ../../include/conversation.php:1076 #, 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:1081 +#: ../../include/conversation.php:1082 msgid "and" msgstr "" -#: ../../include/conversation.php:1084 +#: ../../include/conversation.php:1085 #, php-format msgid ", and %d other people" msgid_plural ", and %d other people" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s like this." msgstr "" -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s don't like this." msgstr "" -#: ../../include/conversation.php:1153 +#: ../../include/conversation.php:1154 msgid "Visible to <strong>everybody</strong>" msgstr "" -#: ../../include/conversation.php:1154 ../../mod/mail.php:194 +#: ../../include/conversation.php:1155 ../../mod/mail.php:194 #: ../../mod/mail.php:308 msgid "Please enter a link URL:" msgstr "" -#: ../../include/conversation.php:1155 +#: ../../include/conversation.php:1156 msgid "Please enter a video link/URL:" msgstr "" -#: ../../include/conversation.php:1156 +#: ../../include/conversation.php:1157 msgid "Please enter an audio link/URL:" msgstr "" -#: ../../include/conversation.php:1157 +#: ../../include/conversation.php:1158 msgid "Tag term:" msgstr "" -#: ../../include/conversation.php:1158 ../../mod/filer.php:48 +#: ../../include/conversation.php:1159 ../../mod/filer.php:48 msgid "Save to Folder:" msgstr "" -#: ../../include/conversation.php:1159 +#: ../../include/conversation.php:1160 msgid "Where are you right now?" msgstr "" -#: ../../include/conversation.php:1160 ../../mod/editpost.php:56 +#: ../../include/conversation.php:1161 ../../mod/editpost.php:56 #: ../../mod/mail.php:195 ../../mod/mail.php:309 msgid "Expires YYYY-MM-DD HH:MM" msgstr "" -#: ../../include/conversation.php:1168 ../../include/page_widgets.php:40 -#: ../../include/ItemObject.php:692 ../../mod/photos.php:1049 -#: ../../mod/editblock.php:171 ../../mod/editpost.php:149 -#: ../../mod/events.php:707 ../../mod/webpages.php:188 -#: ../../mod/editwebpage.php:212 +#: ../../include/conversation.php:1169 ../../include/page_widgets.php:40 +#: ../../include/ItemObject.php:706 ../../mod/editwebpage.php:212 +#: ../../mod/photos.php:1049 ../../mod/editblock.php:171 +#: ../../mod/webpages.php:188 ../../mod/editpost.php:149 +#: ../../mod/events.php:458 msgid "Preview" msgstr "" -#: ../../include/conversation.php:1191 ../../mod/layouts.php:184 +#: ../../include/conversation.php:1192 ../../mod/blocks.php:154 #: ../../mod/photos.php:1028 ../../mod/webpages.php:182 -#: ../../mod/blocks.php:154 +#: ../../mod/layouts.php:184 msgid "Share" msgstr "" -#: ../../include/conversation.php:1193 +#: ../../include/conversation.php:1194 msgid "Page link name" msgstr "" -#: ../../include/conversation.php:1196 +#: ../../include/conversation.php:1197 msgid "Post as" msgstr "" -#: ../../include/conversation.php:1198 ../../include/ItemObject.php:684 -#: ../../mod/editblock.php:136 ../../mod/editpost.php:113 -#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177 +#: ../../include/conversation.php:1199 ../../include/ItemObject.php:698 +#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:136 +#: ../../mod/editlayout.php:135 ../../mod/editpost.php:113 msgid "Bold" msgstr "" -#: ../../include/conversation.php:1199 ../../include/ItemObject.php:685 -#: ../../mod/editblock.php:137 ../../mod/editpost.php:114 -#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178 +#: ../../include/conversation.php:1200 ../../include/ItemObject.php:699 +#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:137 +#: ../../mod/editlayout.php:136 ../../mod/editpost.php:114 msgid "Italic" msgstr "" -#: ../../include/conversation.php:1200 ../../include/ItemObject.php:686 -#: ../../mod/editblock.php:138 ../../mod/editpost.php:115 -#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179 +#: ../../include/conversation.php:1201 ../../include/ItemObject.php:700 +#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:138 +#: ../../mod/editlayout.php:137 ../../mod/editpost.php:115 msgid "Underline" msgstr "" -#: ../../include/conversation.php:1201 ../../include/ItemObject.php:687 -#: ../../mod/editblock.php:139 ../../mod/editpost.php:116 -#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180 +#: ../../include/conversation.php:1202 ../../include/ItemObject.php:701 +#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:139 +#: ../../mod/editlayout.php:138 ../../mod/editpost.php:116 msgid "Quote" msgstr "" -#: ../../include/conversation.php:1202 ../../include/ItemObject.php:688 -#: ../../mod/editblock.php:140 ../../mod/editpost.php:117 -#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181 +#: ../../include/conversation.php:1203 ../../include/ItemObject.php:702 +#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:140 +#: ../../mod/editlayout.php:139 ../../mod/editpost.php:117 msgid "Code" msgstr "" -#: ../../include/conversation.php:1203 ../../mod/editblock.php:142 -#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140 -#: ../../mod/editwebpage.php:182 +#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:182 +#: ../../mod/editblock.php:142 ../../mod/editlayout.php:140 +#: ../../mod/editpost.php:118 msgid "Upload photo" msgstr "" -#: ../../include/conversation.php:1204 +#: ../../include/conversation.php:1205 msgid "upload photo" msgstr "" -#: ../../include/conversation.php:1205 ../../mod/editblock.php:143 -#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:369 -#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183 +#: ../../include/conversation.php:1206 ../../mod/editwebpage.php:183 +#: ../../mod/editblock.php:143 ../../mod/editlayout.php:141 +#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:370 msgid "Attach file" msgstr "" -#: ../../include/conversation.php:1206 +#: ../../include/conversation.php:1207 msgid "attach file" msgstr "" -#: ../../include/conversation.php:1207 ../../mod/editblock.php:144 -#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:370 -#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184 +#: ../../include/conversation.php:1208 ../../mod/editwebpage.php:184 +#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142 +#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:371 msgid "Insert web link" msgstr "" -#: ../../include/conversation.php:1208 +#: ../../include/conversation.php:1209 msgid "web link" msgstr "" -#: ../../include/conversation.php:1209 +#: ../../include/conversation.php:1210 msgid "Insert video link" msgstr "" -#: ../../include/conversation.php:1210 +#: ../../include/conversation.php:1211 msgid "video link" msgstr "" -#: ../../include/conversation.php:1211 +#: ../../include/conversation.php:1212 msgid "Insert audio link" msgstr "" -#: ../../include/conversation.php:1212 +#: ../../include/conversation.php:1213 msgid "audio link" msgstr "" -#: ../../include/conversation.php:1213 ../../mod/editblock.php:148 -#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146 -#: ../../mod/editwebpage.php:188 +#: ../../include/conversation.php:1214 ../../mod/editwebpage.php:188 +#: ../../mod/editblock.php:148 ../../mod/editlayout.php:146 +#: ../../mod/editpost.php:124 msgid "Set your location" msgstr "" -#: ../../include/conversation.php:1214 +#: ../../include/conversation.php:1215 msgid "set location" msgstr "" -#: ../../include/conversation.php:1215 ../../mod/editpost.php:126 +#: ../../include/conversation.php:1216 ../../mod/editpost.php:126 msgid "Toggle voting" msgstr "" -#: ../../include/conversation.php:1218 ../../mod/editblock.php:149 -#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147 -#: ../../mod/editwebpage.php:189 +#: ../../include/conversation.php:1219 ../../mod/editwebpage.php:189 +#: ../../mod/editblock.php:149 ../../mod/editlayout.php:147 +#: ../../mod/editpost.php:125 msgid "Clear browser location" msgstr "" -#: ../../include/conversation.php:1219 +#: ../../include/conversation.php:1220 msgid "clear location" msgstr "" -#: ../../include/conversation.php:1221 ../../mod/editblock.php:162 -#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205 +#: ../../include/conversation.php:1222 ../../mod/editwebpage.php:205 +#: ../../mod/editblock.php:162 ../../mod/editpost.php:141 msgid "Title (optional)" msgstr "" -#: ../../include/conversation.php:1225 ../../mod/editblock.php:165 -#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163 -#: ../../mod/editwebpage.php:207 +#: ../../include/conversation.php:1226 ../../mod/editwebpage.php:207 +#: ../../mod/editblock.php:165 ../../mod/editlayout.php:163 +#: ../../mod/editpost.php:143 msgid "Categories (optional, comma-separated list)" msgstr "" -#: ../../include/conversation.php:1227 ../../mod/editblock.php:151 -#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149 -#: ../../mod/editwebpage.php:191 +#: ../../include/conversation.php:1228 ../../mod/editwebpage.php:191 +#: ../../mod/editblock.php:151 ../../mod/editlayout.php:149 +#: ../../mod/editpost.php:130 ../../mod/events.php:459 msgid "Permission settings" msgstr "" -#: ../../include/conversation.php:1228 +#: ../../include/conversation.php:1229 msgid "permissions" msgstr "" -#: ../../include/conversation.php:1236 ../../mod/editblock.php:159 -#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156 -#: ../../mod/editwebpage.php:200 +#: ../../include/conversation.php:1237 ../../mod/editwebpage.php:200 +#: ../../mod/editblock.php:159 ../../mod/editlayout.php:156 +#: ../../mod/editpost.php:138 msgid "Public post" msgstr "" -#: ../../include/conversation.php:1238 ../../mod/editblock.php:166 -#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164 -#: ../../mod/editwebpage.php:208 +#: ../../include/conversation.php:1239 ../../mod/editwebpage.php:208 +#: ../../mod/editblock.php:166 ../../mod/editlayout.php:164 +#: ../../mod/editpost.php:144 msgid "Example: bob@example.com, mary@example.com" msgstr "" -#: ../../include/conversation.php:1251 ../../mod/editblock.php:176 -#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:374 -#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217 +#: ../../include/conversation.php:1252 ../../mod/editwebpage.php:217 +#: ../../mod/editblock.php:176 ../../mod/editlayout.php:173 +#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:375 msgid "Set expiration date" msgstr "" -#: ../../include/conversation.php:1254 +#: ../../include/conversation.php:1255 msgid "Set publish date" msgstr "" -#: ../../include/conversation.php:1256 ../../include/ItemObject.php:695 -#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:376 +#: ../../include/conversation.php:1257 ../../include/ItemObject.php:709 +#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:377 msgid "Encrypt text" msgstr "" -#: ../../include/conversation.php:1258 ../../mod/editpost.php:159 -#: ../../mod/events.php:691 +#: ../../include/conversation.php:1259 ../../mod/editpost.php:159 msgid "OK" msgstr "" -#: ../../include/conversation.php:1259 ../../mod/fbrowser.php:82 -#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160 -#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 -#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../include/conversation.php:1260 ../../mod/fbrowser.php:82 +#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 +#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/editpost.php:160 msgid "Cancel" msgstr "" -#: ../../include/conversation.php:1502 +#: ../../include/conversation.php:1503 msgid "Discover" msgstr "" -#: ../../include/conversation.php:1505 +#: ../../include/conversation.php:1506 msgid "Imported public streams" msgstr "" -#: ../../include/conversation.php:1510 +#: ../../include/conversation.php:1511 msgid "Commented Order" msgstr "" -#: ../../include/conversation.php:1513 +#: ../../include/conversation.php:1514 msgid "Sort by Comment Date" msgstr "" -#: ../../include/conversation.php:1517 +#: ../../include/conversation.php:1518 msgid "Posted Order" msgstr "" -#: ../../include/conversation.php:1520 +#: ../../include/conversation.php:1521 msgid "Sort by Post Date" msgstr "" -#: ../../include/conversation.php:1525 ../../include/widgets.php:95 -msgid "Personal" -msgstr "" - -#: ../../include/conversation.php:1528 +#: ../../include/conversation.php:1529 msgid "Posts that mention or involve you" msgstr "" -#: ../../include/conversation.php:1534 ../../mod/menu.php:112 -#: ../../mod/connections.php:72 ../../mod/connections.php:82 +#: ../../include/conversation.php:1535 ../../mod/connections.php:72 +#: ../../mod/connections.php:82 ../../mod/menu.php:112 msgid "New" msgstr "" -#: ../../include/conversation.php:1537 +#: ../../include/conversation.php:1538 msgid "Activity Stream - by date" msgstr "" -#: ../../include/conversation.php:1543 +#: ../../include/conversation.php:1544 msgid "Starred" msgstr "" -#: ../../include/conversation.php:1546 +#: ../../include/conversation.php:1547 msgid "Favourite Posts" msgstr "" -#: ../../include/conversation.php:1553 +#: ../../include/conversation.php:1554 msgid "Spam" msgstr "" -#: ../../include/conversation.php:1556 +#: ../../include/conversation.php:1557 msgid "Posts flagged as SPAM" msgstr "" -#: ../../include/conversation.php:1600 ../../mod/admin.php:973 +#: ../../include/conversation.php:1601 ../../mod/admin.php:973 msgid "Channel" msgstr "" -#: ../../include/conversation.php:1603 +#: ../../include/conversation.php:1604 msgid "Status Messages and Posts" msgstr "" -#: ../../include/conversation.php:1612 +#: ../../include/conversation.php:1613 msgid "About" msgstr "" -#: ../../include/conversation.php:1615 +#: ../../include/conversation.php:1616 msgid "Profile Details" msgstr "" -#: ../../include/conversation.php:1621 ../../include/apps.php:139 -#: ../../include/nav.php:92 ../../mod/fbrowser.php:25 +#: ../../include/conversation.php:1622 ../../include/nav.php:92 +#: ../../include/apps.php:139 ../../mod/fbrowser.php:25 msgid "Photos" msgstr "" -#: ../../include/conversation.php:1624 ../../include/photos.php:483 +#: ../../include/conversation.php:1625 ../../include/photos.php:483 msgid "Photo Albums" msgstr "" -#: ../../include/conversation.php:1631 +#: ../../include/conversation.php:1632 msgid "Files and Storage" msgstr "" -#: ../../include/conversation.php:1641 ../../include/conversation.php:1644 +#: ../../include/conversation.php:1642 ../../include/conversation.php:1645 msgid "Chatrooms" msgstr "" -#: ../../include/conversation.php:1654 ../../include/apps.php:129 -#: ../../include/nav.php:103 +#: ../../include/conversation.php:1655 ../../include/nav.php:103 +#: ../../include/apps.php:129 msgid "Bookmarks" msgstr "" -#: ../../include/conversation.php:1657 +#: ../../include/conversation.php:1658 msgid "Saved Bookmarks" msgstr "" -#: ../../include/conversation.php:1664 ../../include/apps.php:136 -#: ../../include/nav.php:107 ../../mod/webpages.php:178 +#: ../../include/conversation.php:1665 ../../include/nav.php:107 +#: ../../include/apps.php:136 ../../mod/webpages.php:178 msgid "Webpages" msgstr "" -#: ../../include/conversation.php:1667 +#: ../../include/conversation.php:1668 msgid "Manage Webpages" msgstr "" -#: ../../include/conversation.php:1696 ../../include/ItemObject.php:175 +#: ../../include/conversation.php:1697 ../../include/ItemObject.php:175 #: ../../include/ItemObject.php:187 ../../mod/photos.php:1082 #: ../../mod/photos.php:1094 msgid "View all" msgstr "" -#: ../../include/conversation.php:1720 ../../include/ItemObject.php:179 -#: ../../include/identity.php:1263 ../../include/taxonomy.php:412 -#: ../../mod/photos.php:1086 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1723 ../../include/ItemObject.php:184 +#: ../../include/conversation.php:1724 ../../include/ItemObject.php:184 #: ../../mod/photos.php:1091 msgctxt "noun" msgid "Dislike" @@ -1853,600 +2732,247 @@ msgid_plural "Dislikes" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1726 +#: ../../include/conversation.php:1727 msgctxt "noun" msgid "Attending" msgid_plural "Attending" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1729 +#: ../../include/conversation.php:1730 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1732 +#: ../../include/conversation.php:1733 msgctxt "noun" msgid "Undecided" msgid_plural "Undecided" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1735 +#: ../../include/conversation.php:1736 msgctxt "noun" msgid "Agree" msgid_plural "Agrees" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1738 +#: ../../include/conversation.php:1739 msgctxt "noun" msgid "Disagree" msgid_plural "Disagrees" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1741 +#: ../../include/conversation.php:1742 msgctxt "noun" msgid "Abstain" msgid_plural "Abstains" msgstr[0] "" msgstr[1] "" -#: ../../include/network.php:613 -msgid "view full size" -msgstr "" - -#: ../../include/network.php:1591 ../../include/enotify.php:57 -msgid "$Projectname Notification" -msgstr "" - -#: ../../include/network.php:1592 ../../include/enotify.php:58 -msgid "$projectname" -msgstr "" - -#: ../../include/network.php:1594 ../../include/enotify.php:60 -msgid "Thank You," -msgstr "" - -#: ../../include/network.php:1596 ../../include/enotify.php:62 -#, php-format -msgid "%s Administrator" -msgstr "" - -#: ../../include/network.php:1638 ../../include/account.php:316 -#: ../../include/account.php:343 ../../include/account.php:403 -msgid "Administrator" -msgstr "" - -#: ../../include/network.php:1652 -msgid "No Subject" -msgstr "" - -#: ../../include/bookmarks.php:35 -#, php-format -msgid "%1$s's bookmarks" -msgstr "" - -#: ../../include/acl_selectors.php:240 -msgid "Visible to your default audience" -msgstr "" - -#: ../../include/acl_selectors.php:241 -msgid "Show" -msgstr "" - -#: ../../include/acl_selectors.php:242 -msgid "Don't show" -msgstr "" - -#: ../../include/acl_selectors.php:247 -msgid "Other networks and post services" -msgstr "" - -#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 -#: ../../mod/chat.php:211 ../../mod/photos.php:631 ../../mod/photos.php:1001 -#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356 -msgid "Permissions" -msgstr "" - -#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:370 -#: ../../mod/photos.php:1218 -msgid "Close" -msgstr "" - -#: ../../include/photos.php:112 -#, php-format -msgid "Image exceeds website size limit of %lu bytes" -msgstr "" - -#: ../../include/photos.php:119 -msgid "Image file is empty." -msgstr "" - -#: ../../include/photos.php:146 ../../mod/profile_photo.php:222 -msgid "Unable to process image" -msgstr "" - -#: ../../include/photos.php:257 -msgid "Photo storage failed." -msgstr "" - -#: ../../include/photos.php:487 -msgid "Upload New Photos" -msgstr "" - -#: ../../include/notify.php:20 -msgid "created a new post" -msgstr "" - -#: ../../include/notify.php:21 -#, php-format -msgid "commented on %s's post" -msgstr "" - -#: ../../include/page_widgets.php:6 -msgid "New Page" -msgstr "" - -#: ../../include/page_widgets.php:39 ../../mod/layouts.php:188 -#: ../../mod/webpages.php:187 ../../mod/blocks.php:159 -msgid "View" -msgstr "" - -#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 -msgid "Actions" -msgstr "" - -#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 -msgid "Page Link" -msgstr "" - -#: ../../include/page_widgets.php:43 -msgid "Title" -msgstr "" - -#: ../../include/page_widgets.php:44 ../../mod/layouts.php:181 -#: ../../mod/menu.php:110 ../../mod/webpages.php:192 ../../mod/blocks.php:150 -msgid "Created" -msgstr "" - -#: ../../include/page_widgets.php:45 ../../mod/layouts.php:182 -#: ../../mod/menu.php:111 ../../mod/webpages.php:193 ../../mod/blocks.php:151 -msgid "Edited" -msgstr "" - -#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 -#: ../../mod/photos.php:699 ../../mod/profile_photo.php:146 -#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376 -msgid "Profile Photos" -msgstr "" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 -msgid "Male" -msgstr "" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 -msgid "Female" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Male" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Female" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Male" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Female" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Transgender" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Intersex" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Transsexual" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Hermaphrodite" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Neuter" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Non-specific" -msgstr "" - -#: ../../include/profile_selectors.php:6 -msgid "Undecided" -msgstr "" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Males" -msgstr "" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Females" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Gay" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Lesbian" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "No Preference" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Bisexual" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Autosexual" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Abstinent" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Virgin" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Deviant" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Fetish" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Oodles" -msgstr "" - -#: ../../include/profile_selectors.php:42 -msgid "Nonsexual" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Single" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Lonely" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Available" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Unavailable" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Has crush" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Infatuated" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Dating" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Unfaithful" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Sex Addict" -msgstr "" - -#: ../../include/profile_selectors.php:80 ../../include/widgets.php:430 -#: ../../include/identity.php:390 ../../include/identity.php:391 -#: ../../include/identity.php:398 ../../mod/connedit.php:573 -#: ../../mod/settings.php:338 ../../mod/settings.php:342 -#: ../../mod/settings.php:343 ../../mod/settings.php:346 -#: ../../mod/settings.php:357 -msgid "Friends" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Friends/Benefits" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Casual" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Engaged" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Married" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily married" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Partners" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Cohabiting" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Common law" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Happy" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Not looking" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Swinger" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Betrayed" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Separated" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Unstable" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Divorced" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily divorced" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Widowed" -msgstr "" - -#: ../../include/profile_selectors.php:80 -msgid "Uncertain" -msgstr "" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "It's complicated" +#: ../../include/auth.php:132 +msgid "Logged out." msgstr "" -#: ../../include/profile_selectors.php:80 -msgid "Don't care" +#: ../../include/auth.php:273 +msgid "Failed authentication" msgstr "" -#: ../../include/profile_selectors.php:80 -msgid "Ask me" +#: ../../include/auth.php:287 ../../mod/openid.php:189 +msgid "Login failed." msgstr "" -#: ../../include/oembed.php:213 -msgid "Embedded content" +#: ../../include/contact_selectors.php:56 +msgid "Frequently" msgstr "" -#: ../../include/oembed.php:222 -msgid "Embedding disabled" +#: ../../include/contact_selectors.php:57 +msgid "Hourly" msgstr "" -#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 -msgid "l F d, Y \\@ g:i A" +#: ../../include/contact_selectors.php:58 +msgid "Twice daily" msgstr "" -#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 -msgid "Starts:" +#: ../../include/contact_selectors.php:59 +msgid "Daily" msgstr "" -#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 -msgid "Finishes:" +#: ../../include/contact_selectors.php:60 +msgid "Weekly" msgstr "" -#: ../../include/event.php:50 ../../include/identity.php:1003 -#: ../../include/bb2diaspora.php:493 ../../mod/directory.php:304 -#: ../../mod/events.php:701 -msgid "Location:" +#: ../../include/contact_selectors.php:61 +msgid "Monthly" msgstr "" -#: ../../include/event.php:766 -msgid "This event has been added to your calendar." +#: ../../include/contact_selectors.php:76 +msgid "Friendica" msgstr "" -#: ../../include/event.php:953 -msgid "Not specified" +#: ../../include/contact_selectors.php:77 +msgid "OStatus" msgstr "" -#: ../../include/event.php:954 -msgid "Needs Action" +#: ../../include/contact_selectors.php:78 +msgid "RSS/Atom" msgstr "" -#: ../../include/event.php:955 -msgid "Completed" +#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 +#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 +#: ../../boot.php:1483 +msgid "Email" msgstr "" -#: ../../include/event.php:956 -msgid "In Process" +#: ../../include/contact_selectors.php:80 +msgid "Diaspora" msgstr "" -#: ../../include/event.php:957 -msgid "Cancelled" +#: ../../include/contact_selectors.php:81 +msgid "Facebook" msgstr "" -#: ../../include/apps.php:128 -msgid "Site Admin" +#: ../../include/contact_selectors.php:82 +msgid "Zot!" msgstr "" -#: ../../include/apps.php:130 -msgid "Address Book" +#: ../../include/contact_selectors.php:83 +msgid "LinkedIn" msgstr "" -#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1486 -msgid "Login" +#: ../../include/contact_selectors.php:84 +msgid "XMPP/IM" msgstr "" -#: ../../include/apps.php:132 ../../include/nav.php:200 -#: ../../mod/manage.php:160 -msgid "Channel Manager" +#: ../../include/contact_selectors.php:85 +msgid "MySpace" msgstr "" -#: ../../include/apps.php:133 ../../include/nav.php:174 -msgid "Grid" +#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 +#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 +#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 +#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 +#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 +#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 +#: ../../include/bbcode.php:833 +msgid "Image/photo" msgstr "" -#: ../../include/apps.php:134 ../../include/widgets.php:554 -#: ../../include/nav.php:202 ../../mod/admin.php:1064 ../../mod/admin.php:1264 -msgid "Settings" +#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 +msgid "Encrypted content" msgstr "" -#: ../../include/apps.php:137 ../../include/nav.php:177 -msgid "Channel Home" +#: ../../include/bbcode.php:179 +#, php-format +msgid "Install %s element: " msgstr "" -#: ../../include/apps.php:138 ../../include/identity.php:1237 -#: ../../include/identity.php:1354 ../../mod/profperm.php:112 -msgid "Profile" +#: ../../include/bbcode.php:183 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." msgstr "" -#: ../../include/apps.php:140 ../../include/nav.php:196 -#: ../../mod/events.php:523 -msgid "Events" +#: ../../include/bbcode.php:193 ../../mod/impel.php:37 +msgid "webpage" msgstr "" -#: ../../include/apps.php:141 ../../include/nav.php:162 -msgid "Directory" +#: ../../include/bbcode.php:196 ../../mod/impel.php:47 +msgid "layout" msgstr "" -#: ../../include/apps.php:142 ../../include/nav.php:154 ../../mod/help.php:202 -#: ../../mod/help.php:207 ../../mod/layouts.php:176 -msgid "Help" +#: ../../include/bbcode.php:199 ../../mod/impel.php:42 +msgid "block" msgstr "" -#: ../../include/apps.php:143 ../../include/nav.php:188 -msgid "Mail" +#: ../../include/bbcode.php:202 ../../mod/impel.php:54 +msgid "menu" msgstr "" -#: ../../include/apps.php:144 ../../mod/mood.php:131 -msgid "Mood" +#: ../../include/bbcode.php:257 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" msgstr "" -#: ../../include/apps.php:146 ../../include/nav.php:97 -msgid "Chat" +#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 +msgid "post" msgstr "" -#: ../../include/apps.php:147 ../../include/text.php:866 -#: ../../include/text.php:878 ../../include/nav.php:159 -#: ../../mod/search.php:40 -msgid "Search" +#: ../../include/bbcode.php:547 +msgid "Different viewers will see this text differently" msgstr "" -#: ../../include/apps.php:148 -msgid "Probe" +#: ../../include/bbcode.php:755 +msgid "$1 spoiler" msgstr "" -#: ../../include/apps.php:149 -msgid "Suggest" +#: ../../include/bbcode.php:782 +msgid "$1 wrote:" msgstr "" -#: ../../include/apps.php:150 -msgid "Random Channel" -msgstr "" +#: ../../include/contact_widgets.php:14 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "" +msgstr[1] "" -#: ../../include/apps.php:151 -msgid "Invite" +#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 +msgid "Advanced" msgstr "" -#: ../../include/apps.php:152 -msgid "Features" +#: ../../include/contact_widgets.php:22 +msgid "Find Channels" msgstr "" -#: ../../include/apps.php:153 ../../mod/id.php:28 -msgid "Language" +#: ../../include/contact_widgets.php:23 +msgid "Enter name or interest" msgstr "" -#: ../../include/apps.php:154 -msgid "Post" +#: ../../include/contact_widgets.php:24 +msgid "Connect/Follow" msgstr "" -#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 -#: ../../mod/id.php:19 -msgid "Profile Photo" +#: ../../include/contact_widgets.php:25 +msgid "Examples: Robert Morgenstein, Fishing" msgstr "" -#: ../../include/apps.php:252 ../../mod/settings.php:84 -#: ../../mod/settings.php:610 -msgid "Update" +#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 +#: ../../mod/directory.php:386 ../../mod/connections.php:266 +msgid "Find" msgstr "" -#: ../../include/apps.php:252 -msgid "Install" +#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 +#: ../../mod/suggest.php:60 +msgid "Channel Suggestions" msgstr "" -#: ../../include/apps.php:257 -msgid "Purchase" +#: ../../include/contact_widgets.php:29 +msgid "Random Profile" msgstr "" -#: ../../include/api.php:1302 -msgid "Public Timeline" +#: ../../include/contact_widgets.php:30 +msgid "Invite Friends" msgstr "" -#: ../../include/import.php:23 -msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." +#: ../../include/contact_widgets.php:32 +msgid "Advanced example: name=fred and country=iceland" msgstr "" -#: ../../include/import.php:70 -msgid "Channel clone failed. Import failed." -msgstr "" +#: ../../include/contact_widgets.php:128 +#, php-format +msgid "%d connection in common" +msgid_plural "%d connections in common" +msgstr[0] "" +msgstr[1] "" -#: ../../include/import.php:80 ../../mod/import.php:139 -msgid "Cloned channel not found. Import failed." +#: ../../include/contact_widgets.php:133 +msgid "show more" msgstr "" #: ../../include/enotify.php:96 @@ -2627,419 +3153,567 @@ msgstr "" msgid "[Hubzilla:Notify]" msgstr "" -#: ../../include/ItemObject.php:130 -msgid "Save to Folder" +#: ../../include/follow.php:28 +msgid "Channel is blocked on this site." msgstr "" -#: ../../include/ItemObject.php:151 -msgid "I will attend" +#: ../../include/follow.php:33 +msgid "Channel location missing." msgstr "" -#: ../../include/ItemObject.php:151 -msgid "I will not attend" +#: ../../include/follow.php:82 +msgid "Response from remote channel was incomplete." msgstr "" -#: ../../include/ItemObject.php:151 -msgid "I might attend" +#: ../../include/follow.php:99 +msgid "Channel was deleted and no longer exists." msgstr "" -#: ../../include/ItemObject.php:161 -msgid "I agree" +#: ../../include/follow.php:152 ../../include/follow.php:180 +msgid "Protocol disabled." msgstr "" -#: ../../include/ItemObject.php:161 -msgid "I disagree" +#: ../../include/follow.php:170 +msgid "Channel discovery failed." msgstr "" -#: ../../include/ItemObject.php:161 -msgid "I abstain" +#: ../../include/follow.php:196 +msgid "local account not found." msgstr "" -#: ../../include/ItemObject.php:212 -msgid "Add Star" +#: ../../include/follow.php:220 +msgid "Cannot connect to yourself." msgstr "" -#: ../../include/ItemObject.php:213 -msgid "Remove Star" +#: ../../include/oembed.php:213 +msgid "Embedded content" msgstr "" -#: ../../include/ItemObject.php:214 -msgid "Toggle Star Status" +#: ../../include/oembed.php:222 +msgid "Embedding disabled" msgstr "" -#: ../../include/ItemObject.php:218 -msgid "starred" +#: ../../include/message.php:19 +msgid "No recipient provided." msgstr "" -#: ../../include/ItemObject.php:236 -msgid "Add Tag" +#: ../../include/message.php:24 +msgid "[no subject]" msgstr "" -#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 -msgid "I like this (toggle)" +#: ../../include/message.php:44 +msgid "Unable to determine sender." msgstr "" -#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:326 -msgid "like" +#: ../../include/message.php:219 +msgid "Stored post could not be verified." msgstr "" -#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 -msgid "I don't like this (toggle)" +#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1480 +msgid "Logout" msgstr "" -#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:327 -msgid "dislike" +#: ../../include/nav.php:82 ../../include/nav.php:114 +msgid "End this session" msgstr "" -#: ../../include/ItemObject.php:259 -msgid "Share This" +#: ../../include/nav.php:85 ../../include/nav.php:145 +msgid "Home" msgstr "" -#: ../../include/ItemObject.php:259 -msgid "share" +#: ../../include/nav.php:85 +msgid "Your posts and conversations" msgstr "" -#: ../../include/ItemObject.php:277 -#, php-format -msgid "%d comment" -msgid_plural "%d comments" -msgstr[0] "" -msgstr[1] "" +#: ../../include/nav.php:86 +msgid "Your profile page" +msgstr "" + +#: ../../include/nav.php:88 +msgid "Edit Profiles" +msgstr "" + +#: ../../include/nav.php:88 +msgid "Manage/Edit profiles" +msgstr "" + +#: ../../include/nav.php:90 +msgid "Edit your profile" +msgstr "" + +#: ../../include/nav.php:92 +msgid "Your photos" +msgstr "" + +#: ../../include/nav.php:93 +msgid "Your files" +msgstr "" + +#: ../../include/nav.php:97 ../../include/apps.php:146 +msgid "Chat" +msgstr "" -#: ../../include/ItemObject.php:302 ../../include/ItemObject.php:303 +#: ../../include/nav.php:97 +msgid "Your chatrooms" +msgstr "" + +#: ../../include/nav.php:103 +msgid "Your bookmarks" +msgstr "" + +#: ../../include/nav.php:107 +msgid "Your webpages" +msgstr "" + +#: ../../include/nav.php:111 ../../include/apps.php:131 ../../boot.php:1481 +msgid "Login" +msgstr "" + +#: ../../include/nav.php:111 +msgid "Sign in" +msgstr "" + +#: ../../include/nav.php:128 #, php-format -msgid "View %s's profile - %s" +msgid "%s - click to logout" msgstr "" -#: ../../include/ItemObject.php:306 -msgid "to" +#: ../../include/nav.php:131 +msgid "Remote authentication" msgstr "" -#: ../../include/ItemObject.php:307 -msgid "via" +#: ../../include/nav.php:131 +msgid "Click to authenticate to your home hub" msgstr "" -#: ../../include/ItemObject.php:308 -msgid "Wall-to-Wall" +#: ../../include/nav.php:145 +msgid "Home Page" msgstr "" -#: ../../include/ItemObject.php:309 -msgid "via Wall-To-Wall:" +#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1463 +msgid "Register" msgstr "" -#: ../../include/ItemObject.php:312 -msgid "Delivery Report" +#: ../../include/nav.php:149 +msgid "Create an account" msgstr "" -#: ../../include/ItemObject.php:348 -msgid "Save Bookmarks" +#: ../../include/nav.php:154 ../../include/apps.php:142 +#: ../../mod/layouts.php:176 ../../mod/help.php:202 ../../mod/help.php:207 +msgid "Help" msgstr "" -#: ../../include/ItemObject.php:349 -msgid "Add to Calendar" +#: ../../include/nav.php:154 +msgid "Help and documentation" msgstr "" -#: ../../include/ItemObject.php:358 -msgid "Mark all seen" +#: ../../include/nav.php:157 +msgid "Applications, utilities, links, games" msgstr "" -#: ../../include/ItemObject.php:364 ../../mod/photos.php:1212 -msgctxt "noun" -msgid "Likes" +#: ../../include/nav.php:159 ../../include/text.php:867 +#: ../../include/text.php:879 ../../include/apps.php:147 +#: ../../mod/search.php:40 +msgid "Search" msgstr "" -#: ../../include/ItemObject.php:365 ../../mod/photos.php:1213 -msgctxt "noun" -msgid "Dislikes" +#: ../../include/nav.php:159 +msgid "Search site @name, #tag, ?docs, content" msgstr "" -#: ../../include/ItemObject.php:680 ../../mod/photos.php:1045 -#: ../../mod/photos.php:1163 -msgid "This is you" +#: ../../include/nav.php:162 ../../include/apps.php:141 +msgid "Directory" msgstr "" -#: ../../include/ItemObject.php:689 -msgid "Image" +#: ../../include/nav.php:162 +msgid "Channel Directory" msgstr "" -#: ../../include/ItemObject.php:690 -msgid "Insert Link" +#: ../../include/nav.php:174 ../../include/apps.php:133 +msgid "Grid" msgstr "" -#: ../../include/ItemObject.php:691 -msgid "Video" +#: ../../include/nav.php:174 +msgid "Your grid" msgstr "" -#: ../../include/zot.php:685 -msgid "Invalid data packet" +#: ../../include/nav.php:175 +msgid "Mark all grid notifications seen" msgstr "" -#: ../../include/zot.php:701 -msgid "Unable to verify channel signature" +#: ../../include/nav.php:177 ../../include/apps.php:137 +msgid "Channel Home" msgstr "" -#: ../../include/zot.php:2265 -#, php-format -msgid "Unable to verify site signature for %s" +#: ../../include/nav.php:177 +msgid "Channel home" msgstr "" -#: ../../include/zot.php:3592 -msgid "invalid target signature" +#: ../../include/nav.php:178 +msgid "Mark all channel notifications seen" msgstr "" -#: ../../include/auth.php:132 -msgid "Logged out." +#: ../../include/nav.php:181 ../../mod/connections.php:260 +msgid "Connections" msgstr "" -#: ../../include/auth.php:273 -msgid "Failed authentication" +#: ../../include/nav.php:184 +msgid "Notices" msgstr "" -#: ../../include/auth.php:287 ../../mod/openid.php:189 -msgid "Login failed." +#: ../../include/nav.php:184 +msgid "Notifications" msgstr "" -#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 -#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 -#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 -#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 -#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 -#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 -#: ../../include/bbcode.php:833 -msgid "Image/photo" +#: ../../include/nav.php:185 +msgid "See all notifications" msgstr "" -#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 -msgid "Encrypted content" +#: ../../include/nav.php:186 ../../mod/notifications.php:99 +msgid "Mark all system notifications seen" msgstr "" -#: ../../include/bbcode.php:179 -#, php-format -msgid "Install %s element: " +#: ../../include/nav.php:188 ../../include/apps.php:143 +msgid "Mail" msgstr "" -#: ../../include/bbcode.php:183 -#, php-format +#: ../../include/nav.php:188 +msgid "Private mail" +msgstr "" + +#: ../../include/nav.php:189 +msgid "See all private messages" +msgstr "" + +#: ../../include/nav.php:190 +msgid "Mark all private messages seen" +msgstr "" + +#: ../../include/nav.php:196 ../../include/apps.php:140 +msgid "Events" +msgstr "" + +#: ../../include/nav.php:196 +msgid "Event Calendar" +msgstr "" + +#: ../../include/nav.php:197 +msgid "See all events" +msgstr "" + +#: ../../include/nav.php:198 +msgid "Mark all events seen" +msgstr "" + +#: ../../include/nav.php:200 ../../include/apps.php:132 +#: ../../mod/manage.php:160 +msgid "Channel Manager" +msgstr "" + +#: ../../include/nav.php:200 +msgid "Manage Your Channels" +msgstr "" + +#: ../../include/nav.php:202 +msgid "Account/Channel Settings" +msgstr "" + +#: ../../include/nav.php:210 +msgid "Site Setup and Configuration" +msgstr "" + +#: ../../include/nav.php:246 +msgid "@name, #tag, ?doc, content" +msgstr "" + +#: ../../include/nav.php:247 +msgid "Please wait..." +msgstr "" + +#: ../../include/security.php:381 msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." +"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/bbcode.php:193 ../../mod/impel.php:37 -msgid "webpage" +#: ../../include/text.php:394 +msgid "prev" msgstr "" -#: ../../include/bbcode.php:196 ../../mod/impel.php:47 -msgid "layout" +#: ../../include/text.php:396 +msgid "first" msgstr "" -#: ../../include/bbcode.php:199 ../../mod/impel.php:42 -msgid "block" +#: ../../include/text.php:425 +msgid "last" msgstr "" -#: ../../include/bbcode.php:202 ../../mod/impel.php:54 -msgid "menu" +#: ../../include/text.php:428 +msgid "next" msgstr "" -#: ../../include/bbcode.php:257 +#: ../../include/text.php:438 +msgid "older" +msgstr "" + +#: ../../include/text.php:440 +msgid "newer" +msgstr "" + +#: ../../include/text.php:785 +msgid "No connections" +msgstr "" + +#: ../../include/text.php:797 #, php-format -msgid "%1$s wrote the following %2$s %3$s" +msgid "%d Connection" +msgid_plural "%d Connections" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/text.php:810 ../../mod/viewconnections.php:101 +msgid "View Connections" msgstr "" -#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 -msgid "post" +#: ../../include/text.php:954 +msgid "poke" msgstr "" -#: ../../include/bbcode.php:547 -msgid "Different viewers will see this text differently" +#: ../../include/text.php:955 +msgid "ping" msgstr "" -#: ../../include/bbcode.php:755 -msgid "$1 spoiler" +#: ../../include/text.php:955 +msgid "pinged" msgstr "" -#: ../../include/bbcode.php:782 -msgid "$1 wrote:" +#: ../../include/text.php:956 +msgid "prod" msgstr "" -#: ../../include/account.php:27 -msgid "Not a valid email address" +#: ../../include/text.php:956 +msgid "prodded" msgstr "" -#: ../../include/account.php:29 -msgid "Your email domain is not among those allowed on this site" +#: ../../include/text.php:957 +msgid "slap" msgstr "" -#: ../../include/account.php:35 -msgid "Your email address is already registered at this site." +#: ../../include/text.php:957 +msgid "slapped" msgstr "" -#: ../../include/account.php:67 -msgid "An invitation is required." +#: ../../include/text.php:958 +msgid "finger" msgstr "" -#: ../../include/account.php:71 -msgid "Invitation could not be verified." +#: ../../include/text.php:958 +msgid "fingered" msgstr "" -#: ../../include/account.php:121 -msgid "Please enter the required information." +#: ../../include/text.php:959 +msgid "rebuff" msgstr "" -#: ../../include/account.php:188 -msgid "Failed to store account information." +#: ../../include/text.php:959 +msgid "rebuffed" msgstr "" -#: ../../include/account.php:248 -#, php-format -msgid "Registration confirmation for %s" +#: ../../include/text.php:969 +msgid "happy" msgstr "" -#: ../../include/account.php:314 -#, php-format -msgid "Registration request at %s" +#: ../../include/text.php:970 +msgid "sad" msgstr "" -#: ../../include/account.php:338 -msgid "your registration password" +#: ../../include/text.php:971 +msgid "mellow" msgstr "" -#: ../../include/account.php:341 ../../include/account.php:401 -#, php-format -msgid "Registration details for %s" +#: ../../include/text.php:972 +msgid "tired" msgstr "" -#: ../../include/account.php:410 -msgid "Account approved." +#: ../../include/text.php:973 +msgid "perky" msgstr "" -#: ../../include/account.php:449 -#, php-format -msgid "Registration revoked for %s" +#: ../../include/text.php:974 +msgid "angry" msgstr "" -#: ../../include/account.php:494 -msgid "Account verified. Please login." +#: ../../include/text.php:975 +msgid "stupified" msgstr "" -#: ../../include/account.php:707 ../../include/account.php:709 -msgid "Click here to upgrade." +#: ../../include/text.php:976 +msgid "puzzled" msgstr "" -#: ../../include/account.php:715 -msgid "This action exceeds the limits set by your subscription plan." +#: ../../include/text.php:977 +msgid "interested" msgstr "" -#: ../../include/account.php:720 -msgid "This action is not available under your subscription plan." +#: ../../include/text.php:978 +msgid "bitter" msgstr "" -#: ../../include/follow.php:28 -msgid "Channel is blocked on this site." +#: ../../include/text.php:979 +msgid "cheerful" msgstr "" -#: ../../include/follow.php:33 -msgid "Channel location missing." +#: ../../include/text.php:980 +msgid "alive" msgstr "" -#: ../../include/follow.php:82 -msgid "Response from remote channel was incomplete." +#: ../../include/text.php:981 +msgid "annoyed" msgstr "" -#: ../../include/follow.php:99 -msgid "Channel was deleted and no longer exists." +#: ../../include/text.php:982 +msgid "anxious" msgstr "" -#: ../../include/follow.php:152 ../../include/follow.php:180 -msgid "Protocol disabled." +#: ../../include/text.php:983 +msgid "cranky" msgstr "" -#: ../../include/follow.php:170 -msgid "Channel discovery failed." +#: ../../include/text.php:984 +msgid "disturbed" msgstr "" -#: ../../include/follow.php:196 -msgid "local account not found." +#: ../../include/text.php:985 +msgid "frustrated" msgstr "" -#: ../../include/follow.php:220 -msgid "Cannot connect to yourself." +#: ../../include/text.php:986 +msgid "depressed" msgstr "" -#: ../../include/security.php:381 -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." +#: ../../include/text.php:987 +msgid "motivated" msgstr "" -#: ../../include/contact_widgets.php:14 -#, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "" -msgstr[1] "" +#: ../../include/text.php:988 +msgid "relaxed" +msgstr "" -#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 -msgid "Advanced" +#: ../../include/text.php:989 +msgid "surprised" msgstr "" -#: ../../include/contact_widgets.php:22 -msgid "Find Channels" +#: ../../include/text.php:1165 +msgid "May" msgstr "" -#: ../../include/contact_widgets.php:23 -msgid "Enter name or interest" +#: ../../include/text.php:1242 ../../include/text.php:1246 +msgid "Unknown Attachment" msgstr "" -#: ../../include/contact_widgets.php:24 -msgid "Connect/Follow" +#: ../../include/text.php:1248 +msgid "unknown" msgstr "" -#: ../../include/contact_widgets.php:25 -msgid "Examples: Robert Morgenstein, Fishing" +#: ../../include/text.php:1284 +msgid "remove category" msgstr "" -#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 -#: ../../mod/directory.php:386 ../../mod/connections.php:266 -msgid "Find" +#: ../../include/text.php:1361 +msgid "remove from file" msgstr "" -#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 -#: ../../mod/suggest.php:60 -msgid "Channel Suggestions" +#: ../../include/text.php:1507 ../../include/text.php:1518 +msgid "Click to open/close" msgstr "" -#: ../../include/contact_widgets.php:29 -msgid "Random Profile" +#: ../../include/text.php:1692 ../../mod/events.php:623 +msgid "Link to Source" msgstr "" -#: ../../include/contact_widgets.php:30 -msgid "Invite Friends" +#: ../../include/text.php:1713 ../../include/text.php:1785 +msgid "default" msgstr "" -#: ../../include/contact_widgets.php:32 -msgid "Advanced example: name=fred and country=iceland" +#: ../../include/text.php:1721 +msgid "Page layout" msgstr "" -#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98 -#: ../../include/widgets.php:307 -msgid "Everything" +#: ../../include/text.php:1721 +msgid "You can create your own with the layouts tool" msgstr "" -#: ../../include/contact_widgets.php:95 ../../include/widgets.php:36 -#: ../../include/taxonomy.php:280 -msgid "Categories" +#: ../../include/text.php:1763 +msgid "Page content type" msgstr "" -#: ../../include/contact_widgets.php:128 -#, php-format -msgid "%d connection in common" -msgid_plural "%d connections in common" -msgstr[0] "" -msgstr[1] "" +#: ../../include/text.php:1797 +msgid "Select an alternate language" +msgstr "" -#: ../../include/contact_widgets.php:133 -msgid "show more" +#: ../../include/text.php:1929 +msgid "activity" +msgstr "" + +#: ../../include/text.php:2224 +msgid "Design Tools" +msgstr "" + +#: ../../include/text.php:2227 ../../mod/blocks.php:147 +msgid "Blocks" +msgstr "" + +#: ../../include/text.php:2228 ../../mod/menu.php:103 +msgid "Menus" +msgstr "" + +#: ../../include/text.php:2229 ../../mod/layouts.php:174 +msgid "Layouts" +msgstr "" + +#: ../../include/text.php:2230 +msgid "Pages" +msgstr "" + +#: ../../include/dir_fns.php:139 +msgid "Directory Options" +msgstr "" + +#: ../../include/dir_fns.php:141 +msgid "Safe Mode" +msgstr "" + +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/connedit.php:635 ../../mod/connedit.php:684 ../../mod/api.php:106 +#: ../../mod/photos.php:626 ../../mod/admin.php:410 ../../mod/settings.php:577 +#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/events.php:447 +#: ../../mod/events.php:448 ../../mod/events.php:457 ../../mod/mitem.php:154 +#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229 +#: ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1485 +msgid "No" +msgstr "" + +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/api.php:105 ../../mod/photos.php:626 ../../mod/admin.php:412 +#: ../../mod/settings.php:577 ../../mod/menu.php:96 ../../mod/menu.php:153 +#: ../../mod/events.php:447 ../../mod/events.php:448 ../../mod/events.php:457 +#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 +#: ../../mod/mitem.php:229 ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1485 +msgid "Yes" +msgstr "" + +#: ../../include/dir_fns.php:142 +msgid "Public Forums Only" +msgstr "" + +#: ../../include/dir_fns.php:143 +msgid "This Website Only" msgstr "" #: ../../include/group.php:26 @@ -3077,1682 +3751,1775 @@ msgstr "" msgid "Channels not in any collection" msgstr "" -#: ../../include/group.php:300 ../../include/widgets.php:275 -msgid "add" +#: ../../include/zot.php:675 +msgid "Invalid data packet" msgstr "" -#: ../../include/widgets.php:92 ../../include/nav.php:157 -#: ../../mod/apps.php:36 -msgid "Apps" +#: ../../include/zot.php:691 +msgid "Unable to verify channel signature" msgstr "" -#: ../../include/widgets.php:93 -msgid "System" +#: ../../include/zot.php:2259 +#, php-format +msgid "Unable to verify site signature for %s" msgstr "" -#: ../../include/widgets.php:96 -msgid "Create Personal App" +#: ../../include/zot.php:3586 +msgid "invalid target signature" msgstr "" -#: ../../include/widgets.php:97 -msgid "Edit Personal App" +#: ../../include/page_widgets.php:6 +msgid "New Page" msgstr "" -#: ../../include/widgets.php:139 ../../mod/suggest.php:54 -msgid "Ignore/Hide" +#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159 +#: ../../mod/webpages.php:187 ../../mod/layouts.php:188 +msgid "View" msgstr "" -#: ../../include/widgets.php:144 ../../mod/connections.php:125 -msgid "Suggestions" +#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 +msgid "Actions" msgstr "" -#: ../../include/widgets.php:145 -msgid "See more..." +#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 +msgid "Page Link" msgstr "" -#: ../../include/widgets.php:166 -#, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." +#: ../../include/page_widgets.php:43 +msgid "Title" msgstr "" -#: ../../include/widgets.php:172 -msgid "Add New Connection" +#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150 +#: ../../mod/webpages.php:192 ../../mod/layouts.php:181 ../../mod/menu.php:110 +msgid "Created" msgstr "" -#: ../../include/widgets.php:173 -msgid "Enter the channel address" +#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151 +#: ../../mod/webpages.php:193 ../../mod/layouts.php:182 ../../mod/menu.php:111 +msgid "Edited" msgstr "" -#: ../../include/widgets.php:174 -msgid "Example: bob@example.com, http://example.com/barbara" +#: ../../include/dba/dba_driver.php:141 +#, php-format +msgid "Cannot locate DNS info for database server '%s'" msgstr "" -#: ../../include/widgets.php:190 -msgid "Notes" +#: ../../include/photos.php:112 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" msgstr "" -#: ../../include/widgets.php:192 ../../include/text.php:867 -#: ../../include/text.php:879 ../../mod/filer.php:49 ../../mod/admin.php:1442 -#: ../../mod/admin.php:1462 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 -msgid "Save" +#: ../../include/photos.php:119 +msgid "Image file is empty." msgstr "" -#: ../../include/widgets.php:266 -msgid "Remove term" +#: ../../include/photos.php:146 ../../mod/profile_photo.php:225 +msgid "Unable to process image" msgstr "" -#: ../../include/widgets.php:349 -msgid "Archives" +#: ../../include/photos.php:257 +msgid "Photo storage failed." msgstr "" -#: ../../include/widgets.php:428 ../../mod/connedit.php:571 -msgid "Me" +#: ../../include/photos.php:487 +msgid "Upload New Photos" msgstr "" -#: ../../include/widgets.php:429 ../../mod/connedit.php:572 -msgid "Family" +#: ../../include/ItemObject.php:130 +msgid "Save to Folder" msgstr "" -#: ../../include/widgets.php:431 ../../mod/connedit.php:574 -msgid "Acquaintances" +#: ../../include/ItemObject.php:151 +msgid "I will attend" msgstr "" -#: ../../include/widgets.php:432 ../../mod/connedit.php:575 -#: ../../mod/connections.php:88 ../../mod/connections.php:103 -msgid "All" +#: ../../include/ItemObject.php:151 +msgid "I will not attend" msgstr "" -#: ../../include/widgets.php:451 -msgid "Refresh" +#: ../../include/ItemObject.php:151 +msgid "I might attend" msgstr "" -#: ../../include/widgets.php:485 -msgid "Account settings" +#: ../../include/ItemObject.php:161 +msgid "I agree" msgstr "" -#: ../../include/widgets.php:491 -msgid "Channel settings" +#: ../../include/ItemObject.php:161 +msgid "I disagree" msgstr "" -#: ../../include/widgets.php:497 -msgid "Additional features" +#: ../../include/ItemObject.php:161 +msgid "I abstain" msgstr "" -#: ../../include/widgets.php:503 -msgid "Feature/Addon settings" +#: ../../include/ItemObject.php:212 +msgid "Add Star" msgstr "" -#: ../../include/widgets.php:509 -msgid "Display settings" +#: ../../include/ItemObject.php:213 +msgid "Remove Star" msgstr "" -#: ../../include/widgets.php:515 -msgid "Connected apps" +#: ../../include/ItemObject.php:214 +msgid "Toggle Star Status" msgstr "" -#: ../../include/widgets.php:521 -msgid "Export channel" +#: ../../include/ItemObject.php:218 +msgid "starred" msgstr "" -#: ../../include/widgets.php:530 ../../mod/connedit.php:683 -msgid "Connection Default Permissions" +#: ../../include/ItemObject.php:236 +msgid "Add Tag" msgstr "" -#: ../../include/widgets.php:538 -msgid "Premium Channel Settings" +#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 +msgid "I like this (toggle)" msgstr "" -#: ../../include/widgets.php:568 -msgid "Private Mail Menu" +#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 +msgid "I don't like this (toggle)" msgstr "" -#: ../../include/widgets.php:570 -msgid "Combined View" +#: ../../include/ItemObject.php:259 +msgid "Share This" msgstr "" -#: ../../include/widgets.php:575 ../../include/nav.php:191 -msgid "Inbox" +#: ../../include/ItemObject.php:259 +msgid "share" msgstr "" -#: ../../include/widgets.php:580 ../../include/nav.php:192 -msgid "Outbox" +#: ../../include/ItemObject.php:268 +msgid "Delivery Report" msgstr "" -#: ../../include/widgets.php:585 ../../include/nav.php:193 -msgid "New Message" +#: ../../include/ItemObject.php:286 +#, php-format +msgid "%d comment" +msgid_plural "%d comments" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316 +#, php-format +msgid "View %s's profile - %s" msgstr "" -#: ../../include/widgets.php:604 ../../include/widgets.php:616 -msgid "Conversations" +#: ../../include/ItemObject.php:319 +msgid "to" msgstr "" -#: ../../include/widgets.php:608 -msgid "Received Messages" +#: ../../include/ItemObject.php:320 +msgid "via" msgstr "" -#: ../../include/widgets.php:612 -msgid "Sent Messages" +#: ../../include/ItemObject.php:321 +msgid "Wall-to-Wall" msgstr "" -#: ../../include/widgets.php:626 -msgid "No messages." +#: ../../include/ItemObject.php:322 +msgid "via Wall-To-Wall:" msgstr "" -#: ../../include/widgets.php:644 -msgid "Delete conversation" +#: ../../include/ItemObject.php:362 +msgid "Save Bookmarks" msgstr "" -#: ../../include/widgets.php:670 -msgid "Events Menu" +#: ../../include/ItemObject.php:363 +msgid "Add to Calendar" msgstr "" -#: ../../include/widgets.php:671 -msgid "Day View" +#: ../../include/ItemObject.php:372 +msgid "Mark all seen" msgstr "" -#: ../../include/widgets.php:672 -msgid "Week View" +#: ../../include/ItemObject.php:378 ../../mod/photos.php:1212 +msgctxt "noun" +msgid "Likes" msgstr "" -#: ../../include/widgets.php:673 -msgid "Month View" +#: ../../include/ItemObject.php:379 ../../mod/photos.php:1213 +msgctxt "noun" +msgid "Dislikes" msgstr "" -#: ../../include/widgets.php:674 ../../mod/events.php:527 -msgid "Export" +#: ../../include/ItemObject.php:694 ../../mod/photos.php:1045 +#: ../../mod/photos.php:1163 +msgid "This is you" msgstr "" -#: ../../include/widgets.php:675 ../../mod/events.php:530 -msgid "Import" +#: ../../include/ItemObject.php:703 +msgid "Image" msgstr "" -#: ../../include/widgets.php:749 -msgid "Chat Rooms" +#: ../../include/ItemObject.php:704 +msgid "Insert Link" msgstr "" -#: ../../include/widgets.php:769 -msgid "Bookmarked Chatrooms" +#: ../../include/ItemObject.php:705 +msgid "Video" msgstr "" -#: ../../include/widgets.php:789 -msgid "Suggested Chatrooms" +#: ../../include/account.php:27 +msgid "Not a valid email address" msgstr "" -#: ../../include/widgets.php:916 ../../include/widgets.php:974 -msgid "photo/image" +#: ../../include/account.php:29 +msgid "Your email domain is not among those allowed on this site" msgstr "" -#: ../../include/widgets.php:1069 ../../include/widgets.php:1071 -msgid "Rate Me" +#: ../../include/account.php:35 +msgid "Your email address is already registered at this site." msgstr "" -#: ../../include/widgets.php:1075 -msgid "View Ratings" +#: ../../include/account.php:67 +msgid "An invitation is required." msgstr "" -#: ../../include/widgets.php:1086 -msgid "Public Hubs" +#: ../../include/account.php:71 +msgid "Invitation could not be verified." msgstr "" -#: ../../include/widgets.php:1134 -msgid "Forums" +#: ../../include/account.php:121 +msgid "Please enter the required information." msgstr "" -#: ../../include/widgets.php:1161 -msgid "Tasks" +#: ../../include/account.php:188 +msgid "Failed to store account information." msgstr "" -#: ../../include/widgets.php:1170 -msgid "Documentation" +#: ../../include/account.php:248 +#, php-format +msgid "Registration confirmation for %s" msgstr "" -#: ../../include/widgets.php:1172 -msgid "Project/Site Information" +#: ../../include/account.php:314 +#, php-format +msgid "Registration request at %s" msgstr "" -#: ../../include/widgets.php:1173 -msgid "For Members" +#: ../../include/account.php:338 +msgid "your registration password" msgstr "" -#: ../../include/widgets.php:1174 -msgid "For Administrators" +#: ../../include/account.php:341 ../../include/account.php:401 +#, php-format +msgid "Registration details for %s" msgstr "" -#: ../../include/widgets.php:1175 -msgid "For Developers" +#: ../../include/account.php:410 +msgid "Account approved." msgstr "" -#: ../../include/widgets.php:1200 ../../mod/admin.php:434 -msgid "Site" +#: ../../include/account.php:449 +#, php-format +msgid "Registration revoked for %s" msgstr "" -#: ../../include/widgets.php:1201 -msgid "Accounts" +#: ../../include/account.php:494 +msgid "Account verified. Please login." msgstr "" -#: ../../include/widgets.php:1202 ../../mod/admin.php:965 -msgid "Channels" +#: ../../include/account.php:707 ../../include/account.php:709 +msgid "Click here to upgrade." msgstr "" -#: ../../include/widgets.php:1203 ../../mod/admin.php:1062 -#: ../../mod/admin.php:1102 -msgid "Plugins" +#: ../../include/account.php:715 +msgid "This action exceeds the limits set by your subscription plan." msgstr "" -#: ../../include/widgets.php:1204 ../../mod/admin.php:1262 -#: ../../mod/admin.php:1296 -msgid "Themes" +#: ../../include/account.php:720 +msgid "This action is not available under your subscription plan." msgstr "" -#: ../../include/widgets.php:1205 -msgid "Inspect queue" +#: ../../include/apps.php:128 +msgid "Site Admin" msgstr "" -#: ../../include/widgets.php:1206 -msgid "Profile Config" +#: ../../include/apps.php:130 +msgid "Address Book" msgstr "" -#: ../../include/widgets.php:1207 -msgid "DB updates" +#: ../../include/apps.php:144 ../../mod/mood.php:131 +msgid "Mood" msgstr "" -#: ../../include/widgets.php:1225 ../../include/widgets.php:1231 -#: ../../mod/admin.php:1381 -msgid "Logs" +#: ../../include/apps.php:148 +msgid "Probe" msgstr "" -#: ../../include/widgets.php:1229 ../../include/nav.php:210 -msgid "Admin" +#: ../../include/apps.php:149 +msgid "Suggest" msgstr "" -#: ../../include/widgets.php:1230 -msgid "Plugin Features" +#: ../../include/apps.php:150 +msgid "Random Channel" msgstr "" -#: ../../include/widgets.php:1232 -msgid "User registrations waiting for confirmation" +#: ../../include/apps.php:151 +msgid "Invite" msgstr "" -#: ../../include/widgets.php:1311 ../../mod/photos.php:753 -#: ../../mod/photos.php:1286 -msgid "View Photo" +#: ../../include/apps.php:152 +msgid "Features" msgstr "" -#: ../../include/widgets.php:1327 ../../mod/photos.php:782 -msgid "Edit Album" +#: ../../include/apps.php:153 ../../mod/id.php:28 +msgid "Language" msgstr "" -#: ../../include/message.php:18 -msgid "No recipient provided." +#: ../../include/apps.php:154 +msgid "Post" msgstr "" -#: ../../include/message.php:23 -msgid "[no subject]" +#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 +#: ../../mod/id.php:19 +msgid "Profile Photo" msgstr "" -#: ../../include/message.php:43 -msgid "Unable to determine sender." +#: ../../include/apps.php:252 ../../mod/settings.php:84 +#: ../../mod/settings.php:612 +msgid "Update" msgstr "" -#: ../../include/message.php:218 -msgid "Stored post could not be verified." +#: ../../include/apps.php:252 +msgid "Install" msgstr "" -#: ../../include/identity.php:32 -msgid "Unable to obtain identity information from database" +#: ../../include/apps.php:257 +msgid "Purchase" msgstr "" -#: ../../include/identity.php:66 -msgid "Empty name" +#: ../../include/permissions.php:26 +msgid "Can view my normal stream and posts" msgstr "" -#: ../../include/identity.php:69 -msgid "Name too long" +#: ../../include/permissions.php:27 +msgid "Can view my default channel profile" msgstr "" -#: ../../include/identity.php:181 -msgid "No account identifier" +#: ../../include/permissions.php:28 +msgid "Can view my connections" msgstr "" -#: ../../include/identity.php:193 -msgid "Nickname is required." +#: ../../include/permissions.php:29 +msgid "Can view my file storage and photos" msgstr "" -#: ../../include/identity.php:207 -msgid "Reserved nickname. Please choose another." +#: ../../include/permissions.php:30 +msgid "Can view my webpages" msgstr "" -#: ../../include/identity.php:212 -msgid "" -"Nickname has unsupported characters or is already being used on this site." +#: ../../include/permissions.php:33 +msgid "Can send me their channel stream and posts" msgstr "" -#: ../../include/identity.php:288 -msgid "Unable to retrieve created identity" +#: ../../include/permissions.php:34 +msgid "Can post on my channel page (\"wall\")" msgstr "" -#: ../../include/identity.php:346 -msgid "Default Profile" +#: ../../include/permissions.php:35 +msgid "Can comment on or like my posts" msgstr "" -#: ../../include/identity.php:769 -msgid "Requested channel is not available." +#: ../../include/permissions.php:36 +msgid "Can send me private mail messages" msgstr "" -#: ../../include/identity.php:815 ../../mod/achievements.php:11 -#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29 -#: ../../mod/editblock.php:29 ../../mod/profile.php:16 -#: ../../mod/webpages.php:29 ../../mod/blocks.php:29 -#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28 -#: ../../mod/connect.php:13 -msgid "Requested profile is not available." +#: ../../include/permissions.php:37 +msgid "Can like/dislike stuff" msgstr "" -#: ../../include/identity.php:965 ../../mod/profiles.php:774 -msgid "Change profile photo" +#: ../../include/permissions.php:37 +msgid "Profiles and things other than posts/comments" msgstr "" -#: ../../include/identity.php:971 -msgid "Profiles" +#: ../../include/permissions.php:39 +msgid "Can forward to all my channel contacts via post @mentions" msgstr "" -#: ../../include/identity.php:971 -msgid "Manage/edit profiles" +#: ../../include/permissions.php:39 +msgid "Advanced - useful for creating group forum channels" msgstr "" -#: ../../include/identity.php:972 ../../mod/profiles.php:775 -msgid "Create New Profile" +#: ../../include/permissions.php:40 +msgid "Can chat with me (when available)" msgstr "" -#: ../../include/identity.php:975 ../../include/nav.php:90 -msgid "Edit Profile" +#: ../../include/permissions.php:41 +msgid "Can write to my file storage and photos" msgstr "" -#: ../../include/identity.php:987 ../../mod/profiles.php:786 -msgid "Profile Image" +#: ../../include/permissions.php:42 +msgid "Can edit my webpages" msgstr "" -#: ../../include/identity.php:990 -msgid "visible to everybody" +#: ../../include/permissions.php:44 +msgid "Can source my public posts in derived channels" msgstr "" -#: ../../include/identity.php:991 ../../mod/profiles.php:669 -#: ../../mod/profiles.php:790 -msgid "Edit visibility" +#: ../../include/permissions.php:44 +msgid "Somewhat advanced - very useful in open communities" msgstr "" -#: ../../include/identity.php:1007 ../../include/identity.php:1247 -msgid "Gender:" +#: ../../include/permissions.php:46 +msgid "Can administer my channel resources" msgstr "" -#: ../../include/identity.php:1008 ../../include/identity.php:1291 -msgid "Status:" +#: ../../include/permissions.php:46 +msgid "Extremely advanced. Leave this alone unless you know what you are doing" msgstr "" -#: ../../include/identity.php:1009 ../../include/identity.php:1302 -msgid "Homepage:" +#: ../../include/permissions.php:867 +msgid "Social Networking" msgstr "" -#: ../../include/identity.php:1010 -msgid "Online Now" +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Mostly Public" msgstr "" -#: ../../include/identity.php:1094 ../../include/identity.php:1172 -#: ../../mod/ping.php:318 -msgid "g A l F d" +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Restricted" msgstr "" -#: ../../include/identity.php:1095 ../../include/identity.php:1173 -msgid "F d" +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +msgid "Private" msgstr "" -#: ../../include/identity.php:1140 ../../include/identity.php:1212 -#: ../../mod/ping.php:341 -msgid "[today]" +#: ../../include/permissions.php:868 +msgid "Community Forum" msgstr "" -#: ../../include/identity.php:1151 -msgid "Birthday Reminders" +#: ../../include/permissions.php:869 +msgid "Feed Republish" msgstr "" -#: ../../include/identity.php:1152 -msgid "Birthdays this week:" +#: ../../include/permissions.php:870 +msgid "Special Purpose" msgstr "" -#: ../../include/identity.php:1205 -msgid "[No description]" +#: ../../include/permissions.php:870 +msgid "Celebrity/Soapbox" msgstr "" -#: ../../include/identity.php:1223 -msgid "Event Reminders" +#: ../../include/permissions.php:870 +msgid "Group Repository" msgstr "" -#: ../../include/identity.php:1224 -msgid "Events this week:" +#: ../../include/permissions.php:871 +msgid "Custom/Expert Mode" msgstr "" -#: ../../include/identity.php:1245 ../../mod/settings.php:1027 -msgid "Full Name:" +#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 +#: ../../mod/photos.php:699 ../../mod/profile_photo.php:147 +#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:379 +msgid "Profile Photos" msgstr "" -#: ../../include/identity.php:1252 -msgid "Like this channel" +#: ../../mod/filestorage.php:82 +msgid "Permission Denied." msgstr "" -#: ../../include/identity.php:1276 -msgid "j F, Y" +#: ../../mod/filestorage.php:98 +msgid "File not found." msgstr "" -#: ../../include/identity.php:1277 -msgid "j F" +#: ../../mod/filestorage.php:141 +msgid "Edit file permissions" msgstr "" -#: ../../include/identity.php:1284 -msgid "Birthday:" +#: ../../mod/filestorage.php:150 +msgid "Set/edit permissions" msgstr "" -#: ../../include/identity.php:1288 ../../mod/directory.php:299 -msgid "Age:" +#: ../../mod/filestorage.php:151 +msgid "Include all files and sub folders" msgstr "" -#: ../../include/identity.php:1297 -#, php-format -msgid "for %1$d %2$s" +#: ../../mod/filestorage.php:152 +msgid "Return to file list" msgstr "" -#: ../../include/identity.php:1300 ../../mod/profiles.php:691 -msgid "Sexual Preference:" +#: ../../mod/filestorage.php:154 +msgid "Copy/paste this code to attach file to a post" msgstr "" -#: ../../include/identity.php:1304 ../../mod/directory.php:315 -#: ../../mod/profiles.php:693 -msgid "Hometown:" +#: ../../mod/filestorage.php:155 +msgid "Copy/paste this URL to link file from a web page" msgstr "" -#: ../../include/identity.php:1306 -msgid "Tags:" +#: ../../mod/filestorage.php:157 +msgid "Share this file" msgstr "" -#: ../../include/identity.php:1308 ../../mod/profiles.php:694 -msgid "Political Views:" +#: ../../mod/filestorage.php:158 +msgid "Show URL to this file" msgstr "" -#: ../../include/identity.php:1310 -msgid "Religion:" +#: ../../mod/filestorage.php:159 +msgid "Notify your contacts about this file" msgstr "" -#: ../../include/identity.php:1312 ../../mod/directory.php:317 -msgid "About:" +#: ../../mod/group.php:20 +msgid "Collection created." msgstr "" -#: ../../include/identity.php:1314 -msgid "Hobbies/Interests:" +#: ../../mod/group.php:26 +msgid "Could not create collection." msgstr "" -#: ../../include/identity.php:1316 ../../mod/profiles.php:697 -msgid "Likes:" +#: ../../mod/group.php:54 +msgid "Collection updated." msgstr "" -#: ../../include/identity.php:1318 ../../mod/profiles.php:698 -msgid "Dislikes:" +#: ../../mod/group.php:86 +msgid "Create a collection of channels." msgstr "" -#: ../../include/identity.php:1320 -msgid "Contact information and Social Networks:" +#: ../../mod/group.php:87 ../../mod/group.php:180 +msgid "Collection Name: " msgstr "" -#: ../../include/identity.php:1322 -msgid "My other channels:" +#: ../../mod/group.php:89 ../../mod/group.php:183 +msgid "Members are visible to other channels" msgstr "" -#: ../../include/identity.php:1324 -msgid "Musical interests:" +#: ../../mod/group.php:107 +msgid "Collection removed." msgstr "" -#: ../../include/identity.php:1326 -msgid "Books, literature:" +#: ../../mod/group.php:109 +msgid "Unable to remove collection." msgstr "" -#: ../../include/identity.php:1328 -msgid "Television:" +#: ../../mod/group.php:179 +msgid "Collection Editor" msgstr "" -#: ../../include/identity.php:1330 -msgid "Film/dance/culture/entertainment:" +#: ../../mod/group.php:193 +msgid "Members" msgstr "" -#: ../../include/identity.php:1332 -msgid "Love/Romance:" +#: ../../mod/group.php:195 +msgid "All Connected Channels" msgstr "" -#: ../../include/identity.php:1334 -msgid "Work/employment:" +#: ../../mod/group.php:227 +msgid "Click on a channel to add or remove." msgstr "" -#: ../../include/identity.php:1336 -msgid "School/education:" +#: ../../mod/item.php:173 +msgid "Unable to locate original post." msgstr "" -#: ../../include/identity.php:1356 -msgid "Like this thing" +#: ../../mod/item.php:417 +msgid "Empty post discarded." msgstr "" -#: ../../include/taxonomy.php:238 ../../include/taxonomy.php:259 -msgid "Tags" +#: ../../mod/item.php:457 +msgid "Executable content type not permitted to this channel." msgstr "" -#: ../../include/taxonomy.php:303 -msgid "Keywords" +#: ../../mod/item.php:822 +msgid "Duplicate post suppressed." msgstr "" -#: ../../include/taxonomy.php:324 -msgid "have" +#: ../../mod/item.php:953 +msgid "System error. Post not saved." msgstr "" -#: ../../include/taxonomy.php:324 -msgid "has" +#: ../../mod/item.php:1220 +msgid "Unable to obtain post information from database." msgstr "" -#: ../../include/taxonomy.php:325 -msgid "want" +#: ../../mod/item.php:1227 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." msgstr "" -#: ../../include/taxonomy.php:325 -msgid "wants" +#: ../../mod/item.php:1234 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." msgstr "" -#: ../../include/taxonomy.php:326 -msgid "likes" +#: ../../mod/common.php:10 +msgid "No channel." msgstr "" -#: ../../include/taxonomy.php:327 -msgid "dislikes" +#: ../../mod/common.php:39 +msgid "Common connections" msgstr "" -#: ../../include/attach.php:246 ../../include/attach.php:332 -msgid "Item was not found." +#: ../../mod/common.php:44 +msgid "No connections in common." msgstr "" -#: ../../include/attach.php:496 -msgid "No source file." +#: ../../mod/connect.php:56 ../../mod/connect.php:104 +msgid "Continue" msgstr "" -#: ../../include/attach.php:514 -msgid "Cannot locate file to replace" +#: ../../mod/connect.php:85 +msgid "Premium Channel Setup" msgstr "" -#: ../../include/attach.php:532 -msgid "Cannot locate file to revise/update" +#: ../../mod/connect.php:87 +msgid "Enable premium channel connection restrictions" msgstr "" -#: ../../include/attach.php:667 -#, php-format -msgid "File exceeds size limit of %d" +#: ../../mod/connect.php:88 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." msgstr "" -#: ../../include/attach.php:681 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +#: ../../mod/connect.php:90 ../../mod/connect.php:110 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" msgstr "" -#: ../../include/attach.php:837 -msgid "File upload failed. Possible system limit or action terminated." +#: ../../mod/connect.php:91 +msgid "" +"Potential connections will then see the following text before proceeding:" msgstr "" -#: ../../include/attach.php:850 -msgid "Stored file could not be verified. Upload failed." +#: ../../mod/connect.php:92 ../../mod/connect.php:113 +msgid "" +"By continuing, I certify that I have complied with any instructions provided " +"on this page." msgstr "" -#: ../../include/attach.php:898 ../../include/attach.php:914 -msgid "Path not available." +#: ../../mod/connect.php:101 +msgid "(No specific instructions have been provided by the channel owner.)" msgstr "" -#: ../../include/attach.php:960 ../../include/attach.php:1112 -msgid "Empty pathname" +#: ../../mod/connect.php:109 +msgid "Restricted or Premium Channel" msgstr "" -#: ../../include/attach.php:986 -msgid "duplicate filename or path" +#: ../../mod/match.php:22 +msgid "Profile Match" msgstr "" -#: ../../include/attach.php:1008 -msgid "Path not found." +#: ../../mod/match.php:31 +msgid "No keywords to match. Please add keywords to your default profile." msgstr "" -#: ../../include/attach.php:1066 -msgid "mkdir failed." +#: ../../mod/match.php:63 +msgid "is interested in:" msgstr "" -#: ../../include/attach.php:1070 -msgid "database storage failed." +#: ../../mod/match.php:70 +msgid "No matches" msgstr "" -#: ../../include/attach.php:1118 -msgid "Empty path" +#: ../../mod/openid.php:26 +msgid "OpenID protocol error. No ID returned." msgstr "" -#: ../../include/bb2diaspora.php:382 -msgid "Attachments:" +#: ../../mod/openid.php:72 ../../mod/openid.php:179 ../../mod/post.php:285 +#, php-format +msgid "Welcome %s. Remote authentication successful." msgstr "" -#: ../../include/bb2diaspora.php:473 -msgid "$Projectname event notification:" +#: ../../mod/achievements.php:34 +msgid "Some blurb about what to do when you're new here" msgstr "" -#: ../../include/text.php:393 -msgid "prev" +#: ../../mod/chatsvc.php:111 +msgid "Away" msgstr "" -#: ../../include/text.php:395 -msgid "first" +#: ../../mod/chatsvc.php:115 +msgid "Online" msgstr "" -#: ../../include/text.php:424 -msgid "last" +#: ../../mod/pubsites.php:18 +msgid "Public Sites" msgstr "" -#: ../../include/text.php:427 -msgid "next" +#: ../../mod/pubsites.php:21 +msgid "" +"The listed sites allow public registration for the $Projectname network. All " +"sites in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some sites may require subscription or " +"provide tiered service plans. The provider links <strong>may</strong> " +"provide additional details." msgstr "" -#: ../../include/text.php:437 -msgid "older" +#: ../../mod/pubsites.php:27 +msgid "Rate this hub" msgstr "" -#: ../../include/text.php:439 -msgid "newer" +#: ../../mod/pubsites.php:28 +msgid "Site URL" msgstr "" -#: ../../include/text.php:784 -msgid "No connections" +#: ../../mod/pubsites.php:28 +msgid "Access Type" msgstr "" -#: ../../include/text.php:796 -#, php-format -msgid "%d Connection" -msgid_plural "%d Connections" -msgstr[0] "" -msgstr[1] "" +#: ../../mod/pubsites.php:28 +msgid "Registration Policy" +msgstr "" -#: ../../include/text.php:809 ../../mod/viewconnections.php:101 -msgid "View Connections" +#: ../../mod/pubsites.php:28 +msgid "Project" msgstr "" -#: ../../include/text.php:953 -msgid "poke" +#: ../../mod/pubsites.php:28 +msgid "View hub ratings" msgstr "" -#: ../../include/text.php:954 -msgid "ping" +#: ../../mod/pubsites.php:32 +msgid "Rate" msgstr "" -#: ../../include/text.php:954 -msgid "pinged" +#: ../../mod/pubsites.php:33 +msgid "View ratings" msgstr "" -#: ../../include/text.php:955 -msgid "prod" +#: ../../mod/tagger.php:96 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" -#: ../../include/text.php:955 -msgid "prodded" +#: ../../mod/rate.php:158 +msgid "Website:" msgstr "" -#: ../../include/text.php:956 -msgid "slap" +#: ../../mod/rate.php:161 +#, php-format +msgid "Remote Channel [%s] (not yet known on this site)" msgstr "" -#: ../../include/text.php:956 -msgid "slapped" +#: ../../mod/rate.php:162 +msgid "Rating (this information is public)" msgstr "" -#: ../../include/text.php:957 -msgid "finger" +#: ../../mod/rate.php:163 +msgid "Optionally explain your rating (this information is public)" msgstr "" -#: ../../include/text.php:957 -msgid "fingered" +#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 +msgid "Block Name" msgstr "" -#: ../../include/text.php:958 -msgid "rebuff" +#: ../../mod/blocks.php:149 +msgid "Block Title" msgstr "" -#: ../../include/text.php:958 -msgid "rebuffed" +#: ../../mod/id.php:11 +msgid "First Name" msgstr "" -#: ../../include/text.php:968 -msgid "happy" +#: ../../mod/id.php:12 +msgid "Last Name" msgstr "" -#: ../../include/text.php:969 -msgid "sad" +#: ../../mod/id.php:13 +msgid "Nickname" msgstr "" -#: ../../include/text.php:970 -msgid "mellow" +#: ../../mod/id.php:14 +msgid "Full Name" msgstr "" -#: ../../include/text.php:971 -msgid "tired" +#: ../../mod/id.php:20 +msgid "Profile Photo 16px" msgstr "" -#: ../../include/text.php:972 -msgid "perky" +#: ../../mod/id.php:21 +msgid "Profile Photo 32px" msgstr "" -#: ../../include/text.php:973 -msgid "angry" +#: ../../mod/id.php:22 +msgid "Profile Photo 48px" msgstr "" -#: ../../include/text.php:974 -msgid "stupified" +#: ../../mod/id.php:23 +msgid "Profile Photo 64px" msgstr "" -#: ../../include/text.php:975 -msgid "puzzled" +#: ../../mod/id.php:24 +msgid "Profile Photo 80px" msgstr "" -#: ../../include/text.php:976 -msgid "interested" +#: ../../mod/id.php:25 +msgid "Profile Photo 128px" msgstr "" -#: ../../include/text.php:977 -msgid "bitter" +#: ../../mod/id.php:26 +msgid "Timezone" msgstr "" -#: ../../include/text.php:978 -msgid "cheerful" +#: ../../mod/id.php:27 +msgid "Homepage URL" msgstr "" -#: ../../include/text.php:979 -msgid "alive" +#: ../../mod/id.php:29 +msgid "Birth Year" msgstr "" -#: ../../include/text.php:980 -msgid "annoyed" +#: ../../mod/id.php:30 +msgid "Birth Month" msgstr "" -#: ../../include/text.php:981 -msgid "anxious" +#: ../../mod/id.php:31 +msgid "Birth Day" msgstr "" -#: ../../include/text.php:982 -msgid "cranky" +#: ../../mod/id.php:32 +msgid "Birthdate" msgstr "" -#: ../../include/text.php:983 -msgid "disturbed" +#: ../../mod/id.php:33 ../../mod/profiles.php:441 +msgid "Gender" msgstr "" -#: ../../include/text.php:984 -msgid "frustrated" +#: ../../mod/like.php:15 +msgid "Like/Dislike" msgstr "" -#: ../../include/text.php:985 -msgid "depressed" +#: ../../mod/like.php:20 +msgid "This action is restricted to members." msgstr "" -#: ../../include/text.php:986 -msgid "motivated" +#: ../../mod/like.php:21 +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 "" -#: ../../include/text.php:987 -msgid "relaxed" +#: ../../mod/like.php:101 ../../mod/like.php:127 ../../mod/like.php:165 +msgid "Invalid request." msgstr "" -#: ../../include/text.php:988 -msgid "surprised" +#: ../../mod/like.php:142 +msgid "thing" msgstr "" -#: ../../include/text.php:1164 -msgid "May" +#: ../../mod/like.php:188 +msgid "Channel unavailable." msgstr "" -#: ../../include/text.php:1241 ../../include/text.php:1245 -msgid "Unknown Attachment" +#: ../../mod/like.php:236 +msgid "Previous action reversed." msgstr "" -#: ../../include/text.php:1247 -msgid "unknown" +#: ../../mod/like.php:414 +#, php-format +msgid "%1$s agrees with %2$s's %3$s" msgstr "" -#: ../../include/text.php:1283 -msgid "remove category" +#: ../../mod/like.php:416 +#, php-format +msgid "%1$s doesn't agree with %2$s's %3$s" msgstr "" -#: ../../include/text.php:1360 -msgid "remove from file" +#: ../../mod/like.php:418 +#, php-format +msgid "%1$s abstains from a decision on %2$s's %3$s" msgstr "" -#: ../../include/text.php:1472 ../../include/text.php:1483 -msgid "Click to open/close" +#: ../../mod/like.php:420 +#, php-format +msgid "%1$s is attending %2$s's %3$s" msgstr "" -#: ../../include/text.php:1656 ../../mod/events.php:495 -msgid "Link to Source" +#: ../../mod/like.php:422 +#, php-format +msgid "%1$s is not attending %2$s's %3$s" msgstr "" -#: ../../include/text.php:1677 ../../include/text.php:1749 -msgid "default" +#: ../../mod/like.php:424 +#, php-format +msgid "%1$s may attend %2$s's %3$s" msgstr "" -#: ../../include/text.php:1685 -msgid "Page layout" +#: ../../mod/like.php:520 +msgid "Action completed." msgstr "" -#: ../../include/text.php:1685 -msgid "You can create your own with the layouts tool" +#: ../../mod/like.php:521 +msgid "Thank you." msgstr "" -#: ../../include/text.php:1727 -msgid "Page content type" +#: ../../mod/page.php:36 ../../mod/block.php:27 +msgid "Invalid item." msgstr "" -#: ../../include/text.php:1761 -msgid "Select an alternate language" +#: ../../mod/page.php:52 ../../mod/wall_upload.php:29 ../../mod/block.php:39 +msgid "Channel not found." msgstr "" -#: ../../include/text.php:1893 -msgid "activity" +#: ../../mod/page.php:89 ../../mod/display.php:110 ../../mod/help.php:214 +#: ../../mod/block.php:75 ../../index.php:241 +msgid "Page not found." msgstr "" -#: ../../include/text.php:2188 -msgid "Design Tools" +#: ../../mod/page.php:126 +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 "" -#: ../../include/text.php:2191 ../../mod/blocks.php:147 -msgid "Blocks" +#: ../../mod/removeme.php:29 +msgid "" +"Channel removals are not allowed within 48 hours of changing the account " +"password." msgstr "" -#: ../../include/text.php:2192 ../../mod/menu.php:103 -msgid "Menus" +#: ../../mod/removeme.php:57 +msgid "Remove This Channel" msgstr "" -#: ../../include/text.php:2193 ../../mod/layouts.php:174 -msgid "Layouts" +#: ../../mod/removeme.php:58 ../../mod/removeaccount.php:58 +msgid "WARNING: " msgstr "" -#: ../../include/text.php:2194 -msgid "Pages" +#: ../../mod/removeme.php:58 +msgid "This channel will be completely removed from the network. " msgstr "" -#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485 -msgid "Logout" +#: ../../mod/removeme.php:58 ../../mod/removeaccount.php:58 +msgid "This action is permanent and can not be undone!" msgstr "" -#: ../../include/nav.php:82 ../../include/nav.php:114 -msgid "End this session" +#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59 +msgid "Please enter your password for verification:" msgstr "" -#: ../../include/nav.php:85 ../../include/nav.php:145 -msgid "Home" +#: ../../mod/removeme.php:60 +msgid "Remove this channel and all its clones from the network" msgstr "" -#: ../../include/nav.php:85 -msgid "Your posts and conversations" +#: ../../mod/removeme.php:60 +msgid "" +"By default only the instance of the channel located on this hub will be " +"removed from the network" msgstr "" -#: ../../include/nav.php:86 -msgid "Your profile page" +#: ../../mod/removeme.php:61 ../../mod/settings.php:1112 +msgid "Remove Channel" msgstr "" -#: ../../include/nav.php:88 -msgid "Edit Profiles" +#: ../../mod/mood.php:132 +msgid "Set your current mood and tell your friends" msgstr "" -#: ../../include/nav.php:88 -msgid "Manage/Edit profiles" +#: ../../mod/new_channel.php:109 +msgid "Add a Channel" msgstr "" -#: ../../include/nav.php:90 -msgid "Edit your profile" +#: ../../mod/new_channel.php:110 +msgid "" +"A channel is your own collection of related web pages. A channel can be used " +"to hold social network profiles, blogs, conversation groups and forums, " +"celebrity pages, and much more. You may create as many channels as your " +"service provider allows." msgstr "" -#: ../../include/nav.php:92 -msgid "Your photos" +#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 +#: ../../mod/sources.php:137 +msgid "Channel Name" msgstr "" -#: ../../include/nav.php:93 -msgid "Your files" +#: ../../mod/new_channel.php:113 +msgid "" +"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " +"Group\" " msgstr "" -#: ../../include/nav.php:97 -msgid "Your chatrooms" +#: ../../mod/new_channel.php:114 +msgid "Choose a short nickname" msgstr "" -#: ../../include/nav.php:103 -msgid "Your bookmarks" +#: ../../mod/new_channel.php:115 +msgid "" +"Your nickname will be used to create an easily remembered channel address " +"(like an email address) which you can share with others." msgstr "" -#: ../../include/nav.php:107 -msgid "Your webpages" +#: ../../mod/new_channel.php:116 +msgid "" +"Or <a href=\"import\">import an existing channel</a> from another location" msgstr "" -#: ../../include/nav.php:111 -msgid "Sign in" +#: ../../mod/new_channel.php:118 +msgid "" +"Please choose a channel type (such as social networking or community forum) " +"and privacy requirements so we can select the best permissions for you" msgstr "" -#: ../../include/nav.php:128 -#, php-format -msgid "%s - click to logout" +#: ../../mod/new_channel.php:119 +msgid "Channel Type" msgstr "" -#: ../../include/nav.php:131 -msgid "Remote authentication" +#: ../../mod/new_channel.php:119 +msgid "Read more about roles" msgstr "" -#: ../../include/nav.php:131 -msgid "Click to authenticate to your home hub" +#: ../../mod/ratings.php:69 +msgid "No ratings" msgstr "" -#: ../../include/nav.php:145 -msgid "Home Page" +#: ../../mod/ratings.php:82 ../../mod/search.php:13 ../../mod/directory.php:59 +#: ../../mod/photos.php:490 ../../mod/display.php:13 +#: ../../mod/viewconnections.php:17 +msgid "Public access denied." msgstr "" -#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462 -msgid "Register" +#: ../../mod/ratings.php:99 +msgid "Ratings" msgstr "" -#: ../../include/nav.php:149 -msgid "Create an account" +#: ../../mod/ratings.php:100 +msgid "Rating: " msgstr "" -#: ../../include/nav.php:154 -msgid "Help and documentation" +#: ../../mod/ratings.php:101 +msgid "Website: " msgstr "" -#: ../../include/nav.php:157 -msgid "Applications, utilities, links, games" +#: ../../mod/ratings.php:103 +msgid "Description: " msgstr "" -#: ../../include/nav.php:159 -msgid "Search site @name, #tag, ?docs, content" +#: ../../mod/setup.php:191 +msgid "$Projectname Server - Setup" msgstr "" -#: ../../include/nav.php:162 -msgid "Channel Directory" +#: ../../mod/setup.php:195 +msgid "Could not connect to database." msgstr "" -#: ../../include/nav.php:174 -msgid "Your grid" +#: ../../mod/setup.php:199 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." msgstr "" -#: ../../include/nav.php:175 -msgid "Mark all grid notifications seen" +#: ../../mod/setup.php:206 +msgid "Could not create table." msgstr "" -#: ../../include/nav.php:177 -msgid "Channel home" +#: ../../mod/setup.php:211 +msgid "Your site database has been installed." msgstr "" -#: ../../include/nav.php:178 -msgid "Mark all channel notifications seen" +#: ../../mod/setup.php:215 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." msgstr "" -#: ../../include/nav.php:181 ../../mod/connections.php:260 -msgid "Connections" +#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 +msgid "Please see the file \"install/INSTALL.txt\"." msgstr "" -#: ../../include/nav.php:184 -msgid "Notices" +#: ../../mod/setup.php:281 +msgid "System check" msgstr "" -#: ../../include/nav.php:184 -msgid "Notifications" +#: ../../mod/setup.php:285 ../../mod/photos.php:914 ../../mod/events.php:653 +#: ../../mod/events.php:660 +msgid "Next" msgstr "" -#: ../../include/nav.php:185 -msgid "See all notifications" +#: ../../mod/setup.php:286 +msgid "Check again" msgstr "" -#: ../../include/nav.php:186 ../../mod/notifications.php:99 -msgid "Mark all system notifications seen" +#: ../../mod/setup.php:308 +msgid "Database connection" msgstr "" -#: ../../include/nav.php:188 -msgid "Private mail" +#: ../../mod/setup.php:309 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." msgstr "" -#: ../../include/nav.php:189 -msgid "See all private messages" +#: ../../mod/setup.php:310 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." msgstr "" -#: ../../include/nav.php:190 -msgid "Mark all private messages seen" +#: ../../mod/setup.php:311 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." msgstr "" -#: ../../include/nav.php:196 -msgid "Event Calendar" +#: ../../mod/setup.php:315 +msgid "Database Server Name" msgstr "" -#: ../../include/nav.php:197 -msgid "See all events" +#: ../../mod/setup.php:315 +msgid "Default is 127.0.0.1" msgstr "" -#: ../../include/nav.php:198 -msgid "Mark all events seen" +#: ../../mod/setup.php:316 +msgid "Database Port" msgstr "" -#: ../../include/nav.php:200 -msgid "Manage Your Channels" +#: ../../mod/setup.php:316 +msgid "Communication port number - use 0 for default" msgstr "" -#: ../../include/nav.php:202 -msgid "Account/Channel Settings" +#: ../../mod/setup.php:317 +msgid "Database Login Name" msgstr "" -#: ../../include/nav.php:210 -msgid "Site Setup and Configuration" +#: ../../mod/setup.php:318 +msgid "Database Login Password" msgstr "" -#: ../../include/nav.php:246 -msgid "@name, #tag, ?doc, content" +#: ../../mod/setup.php:319 +msgid "Database Name" msgstr "" -#: ../../include/nav.php:247 -msgid "Please wait..." +#: ../../mod/setup.php:320 +msgid "Database Type" msgstr "" -#: ../../include/dir_fns.php:139 -msgid "Directory Options" +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "Site administrator email address" msgstr "" -#: ../../include/dir_fns.php:141 -msgid "Safe Mode" +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." msgstr "" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/connedit.php:635 -#: ../../mod/connedit.php:684 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:410 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:106 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "No" +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Website URL" msgstr "" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:412 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:105 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "Yes" +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Please use SSL (https) URL if available." msgstr "" -#: ../../include/dir_fns.php:142 -msgid "Public Forums Only" +#: ../../mod/setup.php:325 ../../mod/setup.php:367 +msgid "Please select a default timezone for your website" msgstr "" -#: ../../include/dir_fns.php:143 -msgid "This Website Only" +#: ../../mod/setup.php:352 +msgid "Site settings" msgstr "" -#: ../../mod/achievements.php:34 -msgid "Some blurb about what to do when you're new here" +#: ../../mod/setup.php:417 +msgid "Could not find a command line version of PHP in the web server PATH." msgstr "" -#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 -msgid "Contact not found." +#: ../../mod/setup.php:418 +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 "" -#: ../../mod/fsuggest.php:63 -msgid "Friend suggestion sent." +#: ../../mod/setup.php:422 +msgid "PHP executable path" msgstr "" -#: ../../mod/fsuggest.php:97 -msgid "Suggest Friends" +#: ../../mod/setup.php:422 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." msgstr "" -#: ../../mod/fsuggest.php:99 -#, php-format -msgid "Suggest a friend for %s" +#: ../../mod/setup.php:427 +msgid "Command line PHP" msgstr "" -#: ../../mod/directory.php:59 ../../mod/display.php:13 ../../mod/search.php:13 -#: ../../mod/photos.php:490 ../../mod/ratings.php:82 -#: ../../mod/viewconnections.php:17 -msgid "Public access denied." +#: ../../mod/setup.php:436 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." msgstr "" -#: ../../mod/directory.php:236 +#: ../../mod/setup.php:437 +msgid "This is required for message delivery to work." +msgstr "" + +#: ../../mod/setup.php:440 +msgid "PHP register_argc_argv" +msgstr "" + +#: ../../mod/setup.php:458 #, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "" -msgstr[1] "" +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 "" -#: ../../mod/directory.php:247 -msgid "Gender: " +#: ../../mod/setup.php:463 +msgid "You can adjust these settings in the servers php.ini." msgstr "" -#: ../../mod/directory.php:249 -msgid "Status: " +#: ../../mod/setup.php:465 +msgid "PHP upload limits" msgstr "" -#: ../../mod/directory.php:251 -msgid "Homepage: " +#: ../../mod/setup.php:488 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" msgstr "" -#: ../../mod/directory.php:310 ../../mod/events.php:699 -msgid "Description:" +#: ../../mod/setup.php:489 +msgid "" +"If running under Windows, please see \"http://www.php.net/manual/en/openssl." +"installation.php\"." msgstr "" -#: ../../mod/directory.php:319 -msgid "Public Forum:" +#: ../../mod/setup.php:492 +msgid "Generate encryption keys" msgstr "" -#: ../../mod/directory.php:322 -msgid "Keywords: " +#: ../../mod/setup.php:504 +msgid "libCurl PHP module" msgstr "" -#: ../../mod/directory.php:325 -msgid "Don't suggest" +#: ../../mod/setup.php:505 +msgid "GD graphics PHP module" msgstr "" -#: ../../mod/directory.php:327 -msgid "Common connections:" +#: ../../mod/setup.php:506 +msgid "OpenSSL PHP module" msgstr "" -#: ../../mod/directory.php:376 -msgid "Global Directory" +#: ../../mod/setup.php:507 +msgid "mysqli or postgres PHP module" msgstr "" -#: ../../mod/directory.php:376 -msgid "Local Directory" +#: ../../mod/setup.php:508 +msgid "mb_string PHP module" msgstr "" -#: ../../mod/directory.php:382 -msgid "Finding:" +#: ../../mod/setup.php:509 +msgid "mcrypt PHP module" msgstr "" -#: ../../mod/directory.php:387 -msgid "next page" +#: ../../mod/setup.php:510 +msgid "xml PHP module" msgstr "" -#: ../../mod/directory.php:387 -msgid "previous page" +#: ../../mod/setup.php:514 ../../mod/setup.php:516 +msgid "Apache mod_rewrite module" msgstr "" -#: ../../mod/directory.php:388 -msgid "Sort options" +#: ../../mod/setup.php:514 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." msgstr "" -#: ../../mod/directory.php:389 -msgid "Alphabetic" +#: ../../mod/setup.php:520 ../../mod/setup.php:523 +msgid "proc_open" msgstr "" -#: ../../mod/directory.php:390 -msgid "Reverse Alphabetic" +#: ../../mod/setup.php:520 +msgid "" +"Error: proc_open is required but is either not installed or has been " +"disabled in php.ini" msgstr "" -#: ../../mod/directory.php:391 -msgid "Newest to Oldest" +#: ../../mod/setup.php:528 +msgid "Error: libCURL PHP module required but not installed." msgstr "" -#: ../../mod/directory.php:392 -msgid "Oldest to Newest" +#: ../../mod/setup.php:532 +msgid "" +"Error: GD graphics PHP module with JPEG support required but not installed." msgstr "" -#: ../../mod/directory.php:409 -msgid "No entries (some entries may be hidden)." +#: ../../mod/setup.php:536 +msgid "Error: openssl PHP module required but not installed." msgstr "" -#: ../../mod/bookmarks.php:40 -msgid "Bookmark added" +#: ../../mod/setup.php:540 +msgid "" +"Error: mysqli or postgres PHP module required but neither are installed." msgstr "" -#: ../../mod/bookmarks.php:62 -msgid "My Bookmarks" +#: ../../mod/setup.php:544 +msgid "Error: mb_string PHP module required but not installed." msgstr "" -#: ../../mod/bookmarks.php:73 -msgid "My Connections Bookmarks" +#: ../../mod/setup.php:548 +msgid "Error: mcrypt PHP module required but not installed." msgstr "" -#: ../../mod/openid.php:26 -msgid "OpenID protocol error. No ID returned." +#: ../../mod/setup.php:552 +msgid "Error: xml PHP module required for DAV but not installed." msgstr "" -#: ../../mod/openid.php:72 ../../mod/openid.php:179 ../../mod/post.php:285 -#, php-format -msgid "Welcome %s. Remote authentication successful." +#: ../../mod/setup.php:570 +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 "" -#: ../../mod/block.php:27 ../../mod/page.php:36 -msgid "Invalid item." +#: ../../mod/setup.php:571 +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 "" -#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29 -msgid "Channel not found." +#: ../../mod/setup.php:572 +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 "" -#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:214 -#: ../../mod/page.php:89 ../../index.php:237 -msgid "Page not found." +#: ../../mod/setup.php:573 +msgid "" +"You can alternatively skip this procedure and perform a manual installation. " +"Please see the file \"install/INSTALL.txt\" for instructions." msgstr "" -#: ../../mod/id.php:11 -msgid "First Name" +#: ../../mod/setup.php:576 +msgid ".htconfig.php is writable" msgstr "" -#: ../../mod/id.php:12 -msgid "Last Name" +#: ../../mod/setup.php:590 +msgid "" +"Red uses the Smarty3 template engine to render its web views. Smarty3 " +"compiles templates to PHP to speed up rendering." msgstr "" -#: ../../mod/id.php:13 -msgid "Nickname" +#: ../../mod/setup.php:591 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the Red top level folder." msgstr "" -#: ../../mod/id.php:14 -msgid "Full Name" +#: ../../mod/setup.php:592 ../../mod/setup.php:613 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has " +"write access to this folder." msgstr "" -#: ../../mod/id.php:20 -msgid "Profile Photo 16px" +#: ../../mod/setup.php:593 +#, 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 "" -#: ../../mod/id.php:21 -msgid "Profile Photo 32px" +#: ../../mod/setup.php:596 +#, php-format +msgid "%s is writable" msgstr "" -#: ../../mod/id.php:22 -msgid "Profile Photo 48px" +#: ../../mod/setup.php:612 +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 "" -#: ../../mod/id.php:23 -msgid "Profile Photo 64px" +#: ../../mod/setup.php:616 +msgid "store is writable" msgstr "" -#: ../../mod/id.php:24 -msgid "Profile Photo 80px" +#: ../../mod/setup.php:649 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access " +"to this site." msgstr "" -#: ../../mod/id.php:25 -msgid "Profile Photo 128px" +#: ../../mod/setup.php:650 +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 "" -#: ../../mod/id.php:26 -msgid "Timezone" +#: ../../mod/setup.php:651 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." msgstr "" -#: ../../mod/id.php:27 -msgid "Homepage URL" +#: ../../mod/setup.php:652 +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 "" -#: ../../mod/id.php:29 -msgid "Birth Year" +#: ../../mod/setup.php:653 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." msgstr "" -#: ../../mod/id.php:30 -msgid "Birth Month" +#: ../../mod/setup.php:654 +msgid "" +"Providers are available that issue free certificates which are browser-valid." msgstr "" -#: ../../mod/id.php:31 -msgid "Birth Day" +#: ../../mod/setup.php:656 +msgid "SSL certificate validation" msgstr "" -#: ../../mod/id.php:32 -msgid "Birthdate" +#: ../../mod/setup.php:662 +msgid "" +"Url rewrite in .htaccess is not working. Check your server configuration." +"Test: " msgstr "" -#: ../../mod/id.php:33 ../../mod/profiles.php:431 -msgid "Gender" +#: ../../mod/setup.php:665 +msgid "Url rewrite is working" msgstr "" -#: ../../mod/like.php:15 -msgid "Like/Dislike" +#: ../../mod/setup.php:674 +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 "" -#: ../../mod/like.php:20 -msgid "This action is restricted to members." +#: ../../mod/setup.php:698 +msgid "Errors encountered creating database tables." msgstr "" -#: ../../mod/like.php:21 +#: ../../mod/setup.php:732 +msgid "<h1>What next</h1>" +msgstr "" + +#: ../../mod/setup.php:733 msgid "" -"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=" -"\"register\">register as a new $Projectname member</a> to continue." +"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." msgstr "" -#: ../../mod/like.php:101 ../../mod/like.php:127 ../../mod/like.php:165 -msgid "Invalid request." +#: ../../mod/bookmarks.php:40 +msgid "Bookmark added" msgstr "" -#: ../../mod/like.php:142 -msgid "thing" +#: ../../mod/bookmarks.php:62 +msgid "My Bookmarks" msgstr "" -#: ../../mod/like.php:188 -msgid "Channel unavailable." +#: ../../mod/bookmarks.php:73 +msgid "My Connections Bookmarks" msgstr "" -#: ../../mod/like.php:236 -msgid "Previous action reversed." +#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:61 +msgid "$Projectname" msgstr "" -#: ../../mod/like.php:414 +#: ../../mod/home.php:75 #, php-format -msgid "%1$s agrees with %2$s's %3$s" +msgid "Welcome to %s" msgstr "" -#: ../../mod/like.php:416 -#, php-format -msgid "%1$s doesn't agree with %2$s's %3$s" +#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 +msgid "This setting requires special processing and editing has been blocked." msgstr "" -#: ../../mod/like.php:418 -#, php-format -msgid "%1$s abstains from a decision on %2$s's %3$s" +#: ../../mod/pconfig.php:49 +msgid "Configuration Editor" msgstr "" -#: ../../mod/like.php:420 -#, php-format -msgid "%1$s is attending %2$s's %3$s" +#: ../../mod/pconfig.php:50 +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 "" -#: ../../mod/like.php:422 -#, php-format -msgid "%1$s is not attending %2$s's %3$s" +#: ../../mod/poke.php:164 +msgid "Poke/Prod" msgstr "" -#: ../../mod/like.php:424 -#, php-format -msgid "%1$s may attend %2$s's %3$s" +#: ../../mod/poke.php:165 +msgid "poke, prod or do other things to somebody" msgstr "" -#: ../../mod/like.php:520 -msgid "Action completed." +#: ../../mod/poke.php:166 +msgid "Recipient" msgstr "" -#: ../../mod/like.php:521 -msgid "Thank you." +#: ../../mod/poke.php:167 +msgid "Choose what you wish to do to recipient" msgstr "" -#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 -msgid "Export Channel" +#: ../../mod/poke.php:170 +msgid "Make this post private" msgstr "" -#: ../../mod/uexport.php:53 -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." +#: ../../mod/profiles.php:19 ../../mod/profiles.php:184 +#: ../../mod/profiles.php:241 ../../mod/profiles.php:608 +msgid "Profile not found." msgstr "" -#: ../../mod/uexport.php:54 -msgid "Export Content" +#: ../../mod/profiles.php:39 +msgid "Profile deleted." msgstr "" -#: ../../mod/uexport.php:55 -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." +#: ../../mod/profiles.php:63 ../../mod/profiles.php:99 +msgid "Profile-" msgstr "" -#: ../../mod/uexport.php:56 -msgid "Export your posts from a given year." +#: ../../mod/profiles.php:84 ../../mod/profiles.php:127 +msgid "New profile created." msgstr "" -#: ../../mod/uexport.php:58 -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." +#: ../../mod/profiles.php:105 +msgid "Profile unavailable to clone." msgstr "" -#: ../../mod/uexport.php:59 -#, php-format -msgid "" -"To select all posts for a given year, such as this year, visit <a href=\"%1$s" -"\">%2$s</a>" +#: ../../mod/profiles.php:146 +msgid "Profile unavailable to export." msgstr "" -#: ../../mod/uexport.php:60 -#, 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>" +#: ../../mod/profiles.php:251 +msgid "Profile Name is required." msgstr "" -#: ../../mod/uexport.php:61 -#, 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)." +#: ../../mod/profiles.php:414 +msgid "Marital Status" msgstr "" -#: ../../mod/chatsvc.php:111 -msgid "Away" +#: ../../mod/profiles.php:418 +msgid "Romantic Partner" msgstr "" -#: ../../mod/chatsvc.php:115 -msgid "Online" +#: ../../mod/profiles.php:422 +msgid "Likes" msgstr "" -#: ../../mod/tagger.php:96 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" +#: ../../mod/profiles.php:426 +msgid "Dislikes" msgstr "" -#: ../../mod/common.php:10 -msgid "No channel." +#: ../../mod/profiles.php:430 +msgid "Work/Employment" msgstr "" -#: ../../mod/common.php:39 -msgid "Common connections" +#: ../../mod/profiles.php:433 +msgid "Religion" msgstr "" -#: ../../mod/common.php:44 -msgid "No connections in common." +#: ../../mod/profiles.php:437 +msgid "Political Views" msgstr "" -#: ../../mod/ping.php:260 -msgid "sent you a private message" +#: ../../mod/profiles.php:445 +msgid "Sexual Preference" msgstr "" -#: ../../mod/ping.php:308 -msgid "added your channel" +#: ../../mod/profiles.php:449 +msgid "Homepage" msgstr "" -#: ../../mod/ping.php:350 -msgid "posted an event" +#: ../../mod/profiles.php:453 +msgid "Interests" msgstr "" -#: ../../mod/help.php:147 -msgid "Documentation Search" +#: ../../mod/profiles.php:457 ../../mod/admin.php:974 +msgid "Address" msgstr "" -#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 -msgid "Help:" +#: ../../mod/profiles.php:547 +msgid "Profile updated." msgstr "" -#: ../../mod/help.php:211 ../../index.php:234 -msgid "Not Found" +#: ../../mod/profiles.php:634 +msgid "Hide your contact/friend list from viewers of this profile?" msgstr "" -#: ../../mod/help.php:235 -msgid "$Projectname Documentation" +#: ../../mod/profiles.php:674 +msgid "Edit Profile Details" msgstr "" -#: ../../mod/removeme.php:29 -msgid "" -"Channel removals are not allowed within 48 hours of changing the account " -"password." +#: ../../mod/profiles.php:676 +msgid "View this profile" msgstr "" -#: ../../mod/removeme.php:57 -msgid "Remove This Channel" +#: ../../mod/profiles.php:678 +msgid "Change Profile Photo" msgstr "" -#: ../../mod/removeme.php:58 ../../mod/removeaccount.php:58 -msgid "WARNING: " +#: ../../mod/profiles.php:679 +msgid "Create a new profile using these settings" msgstr "" -#: ../../mod/removeme.php:58 -msgid "This channel will be completely removed from the network. " +#: ../../mod/profiles.php:680 +msgid "Clone this profile" msgstr "" -#: ../../mod/removeme.php:58 ../../mod/removeaccount.php:58 -msgid "This action is permanent and can not be undone!" +#: ../../mod/profiles.php:681 +msgid "Delete this profile" msgstr "" -#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59 -msgid "Please enter your password for verification:" +#: ../../mod/profiles.php:683 +msgid "Import profile from file" msgstr "" -#: ../../mod/removeme.php:60 -msgid "Remove this channel and all its clones from the network" +#: ../../mod/profiles.php:684 +msgid "Export profile to file" msgstr "" -#: ../../mod/removeme.php:60 -msgid "" -"By default only the instance of the channel located on this hub will be " -"removed from the network" +#: ../../mod/profiles.php:685 +msgid "Profile Name:" msgstr "" -#: ../../mod/removeme.php:61 ../../mod/settings.php:1110 -msgid "Remove Channel" +#: ../../mod/profiles.php:686 +msgid "Your Full Name:" msgstr "" -#: ../../mod/filer.php:48 -msgid "- select -" +#: ../../mod/profiles.php:687 +msgid "Title/Description:" msgstr "" -#: ../../mod/mitem.php:24 ../../mod/menu.php:140 -msgid "Menu not found." +#: ../../mod/profiles.php:688 +msgid "Your Gender:" msgstr "" -#: ../../mod/mitem.php:48 -msgid "Unable to create element." +#: ../../mod/profiles.php:689 +msgid "Birthday :" msgstr "" -#: ../../mod/mitem.php:72 -msgid "Unable to update menu element." +#: ../../mod/profiles.php:690 +msgid "Street Address:" msgstr "" -#: ../../mod/mitem.php:88 -msgid "Unable to add menu element." +#: ../../mod/profiles.php:691 +msgid "Locality/City:" msgstr "" -#: ../../mod/mitem.php:116 ../../mod/menu.php:162 ../../mod/xchan.php:37 -msgid "Not found." +#: ../../mod/profiles.php:692 +msgid "Postal/Zip Code:" msgstr "" -#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 -msgid "Menu Item Permissions" +#: ../../mod/profiles.php:693 +msgid "Country:" msgstr "" -#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1054 -msgid "(click to open/close)" +#: ../../mod/profiles.php:694 +msgid "Region/State:" msgstr "" -#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 -msgid "Link Name" +#: ../../mod/profiles.php:695 +msgid "<span class=\"heart\">♥</span> Marital Status:" msgstr "" -#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 -msgid "Link or Submenu Target" +#: ../../mod/profiles.php:696 +msgid "Who: (if applicable)" msgstr "" -#: ../../mod/mitem.php:153 -msgid "Enter URL of the link or select a menu name to create a submenu" +#: ../../mod/profiles.php:697 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgstr "" -#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 -msgid "Use magic-auth if available" +#: ../../mod/profiles.php:698 +msgid "Since [date]:" msgstr "" -#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 -msgid "Open link in new window" +#: ../../mod/profiles.php:700 +msgid "Homepage URL:" msgstr "" -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Order in list" +#: ../../mod/profiles.php:703 +msgid "Religious Views:" msgstr "" -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Higher numbers will sink to bottom of listing" +#: ../../mod/profiles.php:704 +msgid "Keywords:" msgstr "" -#: ../../mod/mitem.php:157 -msgid "Submit and finish" +#: ../../mod/profiles.php:707 +msgid "Example: fishing photography software" msgstr "" -#: ../../mod/mitem.php:158 -msgid "Submit and continue" +#: ../../mod/profiles.php:708 +msgid "Used in directory listings" msgstr "" -#: ../../mod/mitem.php:166 -msgid "Menu:" +#: ../../mod/profiles.php:709 +msgid "Tell us about yourself..." msgstr "" -#: ../../mod/mitem.php:169 -msgid "Link Target" +#: ../../mod/profiles.php:710 +msgid "Hobbies/Interests" msgstr "" -#: ../../mod/mitem.php:172 -msgid "Edit menu" +#: ../../mod/profiles.php:711 +msgid "Contact information and Social Networks" msgstr "" -#: ../../mod/mitem.php:175 -msgid "Edit element" +#: ../../mod/profiles.php:712 +msgid "My other channels" msgstr "" -#: ../../mod/mitem.php:176 -msgid "Drop element" +#: ../../mod/profiles.php:713 +msgid "Musical interests" msgstr "" -#: ../../mod/mitem.php:177 -msgid "New element" +#: ../../mod/profiles.php:714 +msgid "Books, literature" msgstr "" -#: ../../mod/mitem.php:178 -msgid "Edit this menu container" +#: ../../mod/profiles.php:715 +msgid "Television" msgstr "" -#: ../../mod/mitem.php:179 -msgid "Add menu element" +#: ../../mod/profiles.php:716 +msgid "Film/dance/culture/entertainment" msgstr "" -#: ../../mod/mitem.php:180 -msgid "Delete this menu item" +#: ../../mod/profiles.php:717 +msgid "Love/romance" msgstr "" -#: ../../mod/mitem.php:181 -msgid "Edit this menu item" +#: ../../mod/profiles.php:718 +msgid "Work/employment" msgstr "" -#: ../../mod/mitem.php:198 -msgid "Menu item not found." +#: ../../mod/profiles.php:719 +msgid "School/education" msgstr "" -#: ../../mod/mitem.php:211 -msgid "Menu item deleted." +#: ../../mod/profiles.php:725 +msgid "This is your default profile." msgstr "" -#: ../../mod/mitem.php:213 -msgid "Menu item could not be deleted." +#: ../../mod/profiles.php:736 +msgid "Age: " msgstr "" -#: ../../mod/mitem.php:220 -msgid "Edit Menu Element" +#: ../../mod/profiles.php:779 +msgid "Edit/Manage Profiles" msgstr "" -#: ../../mod/mitem.php:226 -msgid "Link text" +#: ../../mod/profiles.php:780 +msgid "Add profile things" +msgstr "" + +#: ../../mod/profiles.php:781 +msgid "Include desirable objects in your profile" +msgstr "" + +#: ../../mod/search.php:212 +#, php-format +msgid "Items tagged with: %s" +msgstr "" + +#: ../../mod/search.php:214 +#, php-format +msgid "Search results for: %s" msgstr "" #: ../../mod/connedit.php:75 @@ -5024,216 +5791,535 @@ msgstr "" msgid "Last update:" msgstr "" -#: ../../mod/mood.php:132 -msgid "Set your current mood and tell your friends" +#: ../../mod/acl.php:222 +msgid "network" msgstr "" -#: ../../mod/magic.php:69 -msgid "Hub not found." +#: ../../mod/acl.php:232 +msgid "RSS" msgstr "" -#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 -msgid "This setting requires special processing and editing has been blocked." +#: ../../mod/dav.php:121 +msgid "$Projectname channel" msgstr "" -#: ../../mod/pconfig.php:49 -msgid "Configuration Editor" +#: ../../mod/dreport.php:23 +msgid "Invalid message" msgstr "" -#: ../../mod/pconfig.php:50 +#: ../../mod/dreport.php:55 +msgid "no results" +msgstr "" + +#: ../../mod/dreport.php:60 +#, php-format +msgid "Delivery report for %1$s" +msgstr "" + +#: ../../mod/dreport.php:74 +msgid "channel sync processed" +msgstr "" + +#: ../../mod/dreport.php:78 +msgid "queued" +msgstr "" + +#: ../../mod/dreport.php:82 +msgid "posted" +msgstr "" + +#: ../../mod/dreport.php:86 +msgid "accepted for delivery" +msgstr "" + +#: ../../mod/dreport.php:90 +msgid "updated" +msgstr "" + +#: ../../mod/dreport.php:93 +msgid "update ignored" +msgstr "" + +#: ../../mod/dreport.php:96 +msgid "permission denied" +msgstr "" + +#: ../../mod/dreport.php:100 +msgid "recipient not found" +msgstr "" + +#: ../../mod/dreport.php:103 +msgid "mail recalled" +msgstr "" + +#: ../../mod/dreport.php:106 +msgid "duplicate mail received" +msgstr "" + +#: ../../mod/dreport.php:109 +msgid "mail delivered" +msgstr "" + +#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78 +#: ../../mod/editblock.php:94 ../../mod/editlayout.php:76 +#: ../../mod/editpost.php:20 +msgid "Item not found" +msgstr "" + +#: ../../mod/editwebpage.php:153 +msgid "Delete webpage?" +msgstr "" + +#: ../../mod/editwebpage.php:172 +msgid "Page link title" +msgstr "" + +#: ../../mod/editwebpage.php:185 ../../mod/editblock.php:145 +#: ../../mod/editlayout.php:143 ../../mod/editpost.php:121 +msgid "Insert YouTube video" +msgstr "" + +#: ../../mod/editwebpage.php:186 ../../mod/editblock.php:146 +#: ../../mod/editlayout.php:144 ../../mod/editpost.php:122 +msgid "Insert Vorbis [.ogg] video" +msgstr "" + +#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:147 +#: ../../mod/editlayout.php:145 ../../mod/editpost.php:123 +msgid "Insert Vorbis [.ogg] audio" +msgstr "" + +#: ../../mod/editwebpage.php:222 +msgid "Edit Webpage" +msgstr "" + +#: ../../mod/oexchange.php:23 +msgid "Unable to find your hub." +msgstr "" + +#: ../../mod/oexchange.php:37 +msgid "Post successful." +msgstr "" + +#: ../../mod/ping.php:260 +msgid "sent you a private message" +msgstr "" + +#: ../../mod/ping.php:308 +msgid "added your channel" +msgstr "" + +#: ../../mod/ping.php:350 +msgid "posted an event" +msgstr "" + +#: ../../mod/api.php:76 ../../mod/api.php:102 +msgid "Authorize application connection" +msgstr "" + +#: ../../mod/api.php:77 +msgid "Return to your app and insert this Securty Code:" +msgstr "" + +#: ../../mod/api.php:89 +msgid "Please login to continue." +msgstr "" + +#: ../../mod/api.php:104 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." +"Do you want to authorize this application to access your posts and contacts, " +"and/or create new posts for you?" msgstr "" -#: ../../mod/filestorage.php:82 -msgid "Permission Denied." +#: ../../mod/notify.php:53 ../../mod/notifications.php:94 +msgid "No more system notifications." msgstr "" -#: ../../mod/filestorage.php:98 -msgid "File not found." +#: ../../mod/notify.php:57 ../../mod/notifications.php:98 +msgid "System Notifications" msgstr "" -#: ../../mod/filestorage.php:141 -msgid "Edit file permissions" +#: ../../mod/rbmark.php:90 +msgid "Select a bookmark folder" msgstr "" -#: ../../mod/filestorage.php:150 -msgid "Set/edit permissions" +#: ../../mod/rbmark.php:95 +msgid "Save Bookmark" msgstr "" -#: ../../mod/filestorage.php:151 -msgid "Include all files and sub folders" +#: ../../mod/rbmark.php:96 +msgid "URL of bookmark" msgstr "" -#: ../../mod/filestorage.php:152 -msgid "Return to file list" +#: ../../mod/rbmark.php:97 ../../mod/appman.php:93 ../../mod/events.php:450 +msgid "Description" msgstr "" -#: ../../mod/filestorage.php:154 -msgid "Copy/paste this code to attach file to a post" +#: ../../mod/rbmark.php:101 +msgid "Or enter new bookmark folder name" msgstr "" -#: ../../mod/filestorage.php:155 -msgid "Copy/paste this URL to link file from a web page" +#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 +msgid "Contact not found." msgstr "" -#: ../../mod/filestorage.php:157 -msgid "Share this file" +#: ../../mod/fsuggest.php:63 +msgid "Friend suggestion sent." msgstr "" -#: ../../mod/filestorage.php:158 -msgid "Show URL to this file" +#: ../../mod/fsuggest.php:97 +msgid "Suggest Friends" msgstr "" -#: ../../mod/filestorage.php:159 -msgid "Notify your contacts about this file" +#: ../../mod/fsuggest.php:99 +#, php-format +msgid "Suggest a friend for %s" msgstr "" -#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 -msgid "This site is not a directory server" +#: ../../mod/sources.php:32 +msgid "Failed to create source. No channel selected." msgstr "" -#: ../../mod/layouts.php:121 ../../mod/layouts.php:179 -#: ../../mod/editlayout.php:161 -msgid "Layout Name" +#: ../../mod/sources.php:45 +msgid "Source created." msgstr "" -#: ../../mod/layouts.php:124 ../../mod/editlayout.php:159 -msgid "Layout Description (Optional)" +#: ../../mod/sources.php:57 +msgid "Source updated." msgstr "" -#: ../../mod/layouts.php:176 -msgid "Comanche page description language help" +#: ../../mod/sources.php:82 +msgid "*" msgstr "" -#: ../../mod/layouts.php:180 -msgid "Layout Description" +#: ../../mod/sources.php:89 +msgid "Manage remote sources of content for your channel." msgstr "" -#: ../../mod/layouts.php:185 -msgid "Download PDL file" +#: ../../mod/sources.php:90 ../../mod/sources.php:100 +msgid "New Source" msgstr "" -#: ../../mod/poke.php:164 -msgid "Poke/Prod" +#: ../../mod/sources.php:101 ../../mod/sources.php:133 +msgid "" +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." msgstr "" -#: ../../mod/poke.php:165 -msgid "poke, prod or do other things to somebody" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Only import content with these words (one per line)" msgstr "" -#: ../../mod/poke.php:166 -msgid "Recipient" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Leave blank to import all public content" msgstr "" -#: ../../mod/poke.php:167 -msgid "Choose what you wish to do to recipient" +#: ../../mod/sources.php:123 ../../mod/sources.php:150 +msgid "Source not found." msgstr "" -#: ../../mod/poke.php:170 -msgid "Make this post private" +#: ../../mod/sources.php:130 +msgid "Edit Source" msgstr "" -#: ../../mod/network.php:91 -msgid "No such group" +#: ../../mod/sources.php:131 +msgid "Delete Source" msgstr "" -#: ../../mod/network.php:131 -msgid "No such channel" +#: ../../mod/sources.php:158 +msgid "Source removed" msgstr "" -#: ../../mod/network.php:136 -msgid "forum" +#: ../../mod/sources.php:160 +msgid "Unable to remove source." msgstr "" -#: ../../mod/network.php:148 -msgid "Search Results For:" +#: ../../mod/notifications.php:26 +msgid "Invalid request identifier." msgstr "" -#: ../../mod/network.php:207 -msgid "Collection is empty" +#: ../../mod/notifications.php:35 +msgid "Discard" msgstr "" -#: ../../mod/network.php:216 -msgid "Collection: " +#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 +msgid "Tag removed" msgstr "" -#: ../../mod/network.php:242 -msgid "Invalid connection." +#: ../../mod/tagrm.php:119 +msgid "Remove Item Tag" msgstr "" -#: ../../mod/chat.php:19 ../../mod/channel.php:25 -msgid "You must be logged in to see this page." +#: ../../mod/tagrm.php:121 +msgid "Select a tag to remove: " msgstr "" -#: ../../mod/chat.php:174 -msgid "Room not found" +#: ../../mod/tagrm.php:133 ../../mod/photos.php:954 +msgid "Remove" msgstr "" -#: ../../mod/chat.php:185 -msgid "Leave Room" +#: ../../mod/directory.php:236 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "" +msgstr[1] "" + +#: ../../mod/directory.php:247 +msgid "Gender: " msgstr "" -#: ../../mod/chat.php:186 -msgid "Delete This Room" +#: ../../mod/directory.php:249 +msgid "Status: " msgstr "" -#: ../../mod/chat.php:187 -msgid "I am away right now" +#: ../../mod/directory.php:251 +msgid "Homepage: " msgstr "" -#: ../../mod/chat.php:188 -msgid "I am online" +#: ../../mod/directory.php:310 +msgid "Description:" msgstr "" -#: ../../mod/chat.php:190 -msgid "Bookmark this room" +#: ../../mod/directory.php:319 +msgid "Public Forum:" msgstr "" -#: ../../mod/chat.php:208 ../../mod/chat.php:231 -msgid "New Chatroom" +#: ../../mod/directory.php:322 +msgid "Keywords: " msgstr "" -#: ../../mod/chat.php:209 -msgid "Chatroom Name" +#: ../../mod/directory.php:325 +msgid "Don't suggest" msgstr "" -#: ../../mod/chat.php:210 -msgid "Expiration of chats (minutes)" +#: ../../mod/directory.php:327 +msgid "Common connections:" msgstr "" -#: ../../mod/chat.php:227 +#: ../../mod/directory.php:376 +msgid "Global Directory" +msgstr "" + +#: ../../mod/directory.php:376 +msgid "Local Directory" +msgstr "" + +#: ../../mod/directory.php:382 +msgid "Finding:" +msgstr "" + +#: ../../mod/directory.php:387 +msgid "next page" +msgstr "" + +#: ../../mod/directory.php:387 +msgid "previous page" +msgstr "" + +#: ../../mod/directory.php:388 +msgid "Sort options" +msgstr "" + +#: ../../mod/directory.php:389 +msgid "Alphabetic" +msgstr "" + +#: ../../mod/directory.php:390 +msgid "Reverse Alphabetic" +msgstr "" + +#: ../../mod/directory.php:391 +msgid "Newest to Oldest" +msgstr "" + +#: ../../mod/directory.php:392 +msgid "Oldest to Newest" +msgstr "" + +#: ../../mod/directory.php:409 +msgid "No entries (some entries may be hidden)." +msgstr "" + +#: ../../mod/lostpass.php:15 +msgid "No valid account found." +msgstr "" + +#: ../../mod/lostpass.php:29 +msgid "Password reset request issued. Check your email." +msgstr "" + +#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 #, php-format -msgid "%1$s's Chatrooms" +msgid "Site Member (%s)" msgstr "" -#: ../../mod/search.php:212 +#: ../../mod/lostpass.php:40 #, php-format -msgid "Items tagged with: %s" +msgid "Password reset requested at %s" msgstr "" -#: ../../mod/search.php:214 +#: ../../mod/lostpass.php:63 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "" + +#: ../../mod/lostpass.php:86 ../../boot.php:1489 +msgid "Password Reset" +msgstr "" + +#: ../../mod/lostpass.php:87 +msgid "Your password has been reset as requested." +msgstr "" + +#: ../../mod/lostpass.php:88 +msgid "Your new password is" +msgstr "" + +#: ../../mod/lostpass.php:89 +msgid "Save or copy your new password - and then" +msgstr "" + +#: ../../mod/lostpass.php:90 +msgid "click here to login" +msgstr "" + +#: ../../mod/lostpass.php:91 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "" + +#: ../../mod/lostpass.php:108 #, php-format -msgid "Search results for: %s" +msgid "Your password has changed at %s" msgstr "" -#: ../../mod/rate.php:158 -msgid "Website:" +#: ../../mod/lostpass.php:123 +msgid "Forgot your Password?" msgstr "" -#: ../../mod/rate.php:161 +#: ../../mod/lostpass.php:124 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "" + +#: ../../mod/lostpass.php:125 +msgid "Email Address" +msgstr "" + +#: ../../mod/lostpass.php:126 +msgid "Reset" +msgstr "" + +#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 +msgid "This site is not a directory server" +msgstr "" + +#: ../../mod/impel.php:192 #, php-format -msgid "Remote Channel [%s] (not yet known on this site)" +msgid "%s element installed" msgstr "" -#: ../../mod/rate.php:162 -msgid "Rating (this information is public)" +#: ../../mod/impel.php:195 +#, php-format +msgid "%s element installation failed" msgstr "" -#: ../../mod/rate.php:163 -msgid "Optionally explain your rating (this information is public)" +#: ../../mod/subthread.php:114 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "" + +#: ../../mod/subthread.php:116 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "" + +#: ../../mod/import.php:28 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "" + +#: ../../mod/import.php:66 ../../mod/import_items.php:38 +msgid "Nothing to import." +msgstr "" + +#: ../../mod/import.php:90 ../../mod/import_items.php:62 +msgid "Unable to download data from old server" +msgstr "" + +#: ../../mod/import.php:96 ../../mod/import_items.php:68 +msgid "Imported file is empty." +msgstr "" + +#: ../../mod/import.php:116 ../../mod/import_items.php:82 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "" + +#: ../../mod/import.php:149 +msgid "No channel. Import failed." +msgstr "" + +#: ../../mod/import.php:509 +msgid "You must be logged in to use this feature." +msgstr "" + +#: ../../mod/import.php:514 +msgid "Import Channel" +msgstr "" + +#: ../../mod/import.php:515 +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 "" + +#: ../../mod/import.php:516 ../../mod/import_items.php:121 +msgid "File to Upload" +msgstr "" + +#: ../../mod/import.php:517 +msgid "Or provide the old server/hub details" +msgstr "" + +#: ../../mod/import.php:518 +msgid "Your old identity address (xyz@example.com)" +msgstr "" + +#: ../../mod/import.php:519 +msgid "Your old login email address" +msgstr "" + +#: ../../mod/import.php:520 +msgid "Your old login password" +msgstr "" + +#: ../../mod/import.php:521 +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 "" + +#: ../../mod/import.php:522 +msgid "Make this hub my primary location" +msgstr "" + +#: ../../mod/import.php:523 +msgid "" +"Import existing posts if possible (experimental - limited by available memory" +msgstr "" + +#: ../../mod/import.php:524 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." msgstr "" #: ../../mod/photos.php:79 @@ -5327,7 +6413,7 @@ msgstr "" msgid "Private Photo" msgstr "" -#: ../../mod/photos.php:905 ../../mod/events.php:525 ../../mod/events.php:532 +#: ../../mod/photos.php:905 ../../mod/events.php:652 ../../mod/events.php:659 msgid "Previous" msgstr "" @@ -5335,15 +6421,6 @@ msgstr "" msgid "View Full Size" msgstr "" -#: ../../mod/photos.php:914 ../../mod/events.php:526 ../../mod/events.php:533 -#: ../../mod/setup.php:285 -msgid "Next" -msgstr "" - -#: ../../mod/photos.php:954 ../../mod/tagrm.php:133 -msgid "Remove" -msgstr "" - #: ../../mod/photos.php:988 msgid "Edit photo" msgstr "" @@ -5396,57 +6473,337 @@ msgstr "" msgid "Recent Photos" msgstr "" -#: ../../mod/editblock.php:78 ../../mod/editblock.php:94 -#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76 -#: ../../mod/editwebpage.php:77 -msgid "Item not found" +#: ../../mod/probe.php:24 ../../mod/probe.php:30 +#, php-format +msgid "Fetching URL returns error: %1$s" msgstr "" -#: ../../mod/editblock.php:118 -msgid "Delete block?" +#: ../../mod/profile_photo.php:112 +msgid "Image uploaded but image cropping failed." msgstr "" -#: ../../mod/editblock.php:145 ../../mod/editpost.php:121 -#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:185 -msgid "Insert YouTube video" +#: ../../mod/profile_photo.php:166 +msgid "Image resize failed." msgstr "" -#: ../../mod/editblock.php:146 ../../mod/editpost.php:122 -#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:186 -msgid "Insert Vorbis [.ogg] video" +#: ../../mod/profile_photo.php:212 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." msgstr "" -#: ../../mod/editblock.php:147 ../../mod/editpost.php:123 -#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:187 -msgid "Insert Vorbis [.ogg] audio" +#: ../../mod/profile_photo.php:250 +msgid "Image upload failed." msgstr "" -#: ../../mod/editblock.php:180 -msgid "Edit Block" +#: ../../mod/profile_photo.php:269 +msgid "Unable to process image." +msgstr "" + +#: ../../mod/profile_photo.php:297 +msgid "female" +msgstr "" + +#: ../../mod/profile_photo.php:298 +#, php-format +msgid "%1$s updated her %2$s" +msgstr "" + +#: ../../mod/profile_photo.php:299 +msgid "male" +msgstr "" + +#: ../../mod/profile_photo.php:300 +#, php-format +msgid "%1$s updated his %2$s" +msgstr "" + +#: ../../mod/profile_photo.php:302 +#, php-format +msgid "%1$s updated their %2$s" +msgstr "" + +#: ../../mod/profile_photo.php:304 +msgid "profile photo" +msgstr "" + +#: ../../mod/profile_photo.php:368 ../../mod/profile_photo.php:409 +msgid "Photo not available." +msgstr "" + +#: ../../mod/profile_photo.php:450 +msgid "Upload File:" +msgstr "" + +#: ../../mod/profile_photo.php:451 +msgid "Select a profile:" +msgstr "" + +#: ../../mod/profile_photo.php:452 +msgid "Upload Profile Photo" +msgstr "" + +#: ../../mod/profile_photo.php:457 ../../mod/settings.php:975 +msgid "or" +msgstr "" + +#: ../../mod/profile_photo.php:457 +msgid "skip this step" +msgstr "" + +#: ../../mod/profile_photo.php:457 +msgid "select a photo from your photo albums" +msgstr "" + +#: ../../mod/profile_photo.php:473 +msgid "Crop Image" +msgstr "" + +#: ../../mod/profile_photo.php:474 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "" + +#: ../../mod/profile_photo.php:476 +msgid "Done Editing" +msgstr "" + +#: ../../mod/thing.php:111 +msgid "Thing updated" +msgstr "" + +#: ../../mod/thing.php:163 +msgid "Object store: failed" +msgstr "" + +#: ../../mod/thing.php:167 +msgid "Thing added" +msgstr "" + +#: ../../mod/thing.php:193 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "" + +#: ../../mod/thing.php:256 +msgid "Show Thing" +msgstr "" + +#: ../../mod/thing.php:263 +msgid "item not found." +msgstr "" + +#: ../../mod/thing.php:296 +msgid "Edit Thing" +msgstr "" + +#: ../../mod/thing.php:298 ../../mod/thing.php:348 +msgid "Select a profile" +msgstr "" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Post an activity" +msgstr "" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Only sends to viewers of the applicable profile" +msgstr "" + +#: ../../mod/thing.php:304 ../../mod/thing.php:353 +msgid "Name of thing e.g. something" +msgstr "" + +#: ../../mod/thing.php:306 ../../mod/thing.php:354 +msgid "URL of thing (optional)" +msgstr "" + +#: ../../mod/thing.php:308 ../../mod/thing.php:355 +msgid "URL for photo of thing (optional)" +msgstr "" + +#: ../../mod/thing.php:346 +msgid "Add Thing to your Profile" msgstr "" #: ../../mod/dirsearch.php:29 msgid "This directory server requires an access token" msgstr "" -#: ../../mod/editpost.php:31 -msgid "Item is not editable" +#: ../../mod/editblock.php:118 +msgid "Delete block?" msgstr "" -#: ../../mod/editpost.php:57 -msgid "Delete item?" +#: ../../mod/editblock.php:180 +msgid "Edit Block" msgstr "" -#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 -msgid "Edit post" +#: ../../mod/removeaccount.php:30 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." msgstr "" -#: ../../mod/oexchange.php:23 -msgid "Unable to find your hub." +#: ../../mod/removeaccount.php:57 +msgid "Remove This Account" msgstr "" -#: ../../mod/oexchange.php:37 -msgid "Post successful." +#: ../../mod/removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "" + +#: ../../mod/removeaccount.php:60 +msgid "" +"Remove this account, all its channels and all its channel clones from the " +"network" +msgstr "" + +#: ../../mod/removeaccount.php:60 +msgid "" +"By default only the instances of the channels located on this hub will be " +"removed from the network" +msgstr "" + +#: ../../mod/removeaccount.php:61 ../../mod/settings.php:700 +msgid "Remove Account" +msgstr "" + +#: ../../mod/import_items.php:101 +msgid "Import completed" +msgstr "" + +#: ../../mod/import_items.php:119 +msgid "Import Items" +msgstr "" + +#: ../../mod/import_items.php:120 +msgid "Use this form to import existing posts and content from an export file." +msgstr "" + +#: ../../mod/network.php:91 +msgid "No such group" +msgstr "" + +#: ../../mod/network.php:131 +msgid "No such channel" +msgstr "" + +#: ../../mod/network.php:136 +msgid "forum" +msgstr "" + +#: ../../mod/network.php:148 +msgid "Search Results For:" +msgstr "" + +#: ../../mod/network.php:207 +msgid "Collection is empty" +msgstr "" + +#: ../../mod/network.php:216 +msgid "Collection: " +msgstr "" + +#: ../../mod/network.php:242 +msgid "Invalid connection." +msgstr "" + +#: ../../mod/pdledit.php:13 +msgid "Layout updated." +msgstr "" + +#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 +msgid "Edit System Page Description" +msgstr "" + +#: ../../mod/pdledit.php:48 +msgid "Layout not found." +msgstr "" + +#: ../../mod/pdledit.php:54 +msgid "Module Name:" +msgstr "" + +#: ../../mod/pdledit.php:55 +msgid "Layout Help" +msgstr "" + +#: ../../mod/register.php:44 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "" + +#: ../../mod/register.php:50 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "" + +#: ../../mod/register.php:84 +msgid "Passwords do not match." +msgstr "" + +#: ../../mod/register.php:117 +msgid "" +"Registration successful. Please check your email for validation instructions." +msgstr "" + +#: ../../mod/register.php:123 +msgid "Your registration is pending approval by the site owner." +msgstr "" + +#: ../../mod/register.php:126 +msgid "Your registration can not be processed." +msgstr "" + +#: ../../mod/register.php:163 +msgid "Registration on this site/hub is by approval only." +msgstr "" + +#: ../../mod/register.php:164 +msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" +msgstr "" + +#: ../../mod/register.php:174 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "" + +#: ../../mod/register.php:185 +msgid "Terms of Service" +msgstr "" + +#: ../../mod/register.php:191 +#, php-format +msgid "I accept the %s for this website" +msgstr "" + +#: ../../mod/register.php:193 +#, php-format +msgid "I am over 13 years of age and accept the %s for this website" +msgstr "" + +#: ../../mod/register.php:207 ../../mod/admin.php:436 +msgid "Registration" +msgstr "" + +#: ../../mod/register.php:212 +msgid "Membership on this site is by invitation only." +msgstr "" + +#: ../../mod/register.php:213 +msgid "Please enter your invitation code" +msgstr "" + +#: ../../mod/register.php:216 +msgid "Your email address" +msgstr "" + +#: ../../mod/register.php:217 +msgid "Choose a password" +msgstr "" + +#: ../../mod/register.php:218 +msgid "Please re-enter your password" msgstr "" #: ../../mod/admin.php:52 @@ -5520,7 +6877,7 @@ msgstr "" msgid "Site settings updated." msgstr "" -#: ../../mod/admin.php:361 ../../mod/settings.php:791 +#: ../../mod/admin.php:361 ../../mod/settings.php:793 msgid "mobile" msgstr "" @@ -5552,10 +6909,6 @@ msgstr "" msgid "My site offers free accounts with optional paid upgrades" msgstr "" -#: ../../mod/admin.php:436 ../../mod/register.php:207 -msgid "Registration" -msgstr "" - #: ../../mod/admin.php:437 msgid "File upload" msgstr "" @@ -6068,10 +7421,6 @@ msgstr "" msgid "UID" msgstr "" -#: ../../mod/admin.php:974 ../../mod/profiles.php:447 -msgid "Address" -msgstr "" - #: ../../mod/admin.php:976 msgid "" "Selected channels will be deleted!\\n\\nEverything that was posted in these " @@ -6195,1269 +7544,21 @@ msgstr "" msgid "Edit Profile Field" msgstr "" -#: ../../mod/appman.php:28 ../../mod/appman.php:44 -msgid "App installed." -msgstr "" - -#: ../../mod/appman.php:37 -msgid "Malformed app." -msgstr "" - -#: ../../mod/appman.php:80 -msgid "Embed code" -msgstr "" - -#: ../../mod/appman.php:86 -msgid "Edit App" -msgstr "" - -#: ../../mod/appman.php:86 -msgid "Create App" -msgstr "" - -#: ../../mod/appman.php:91 -msgid "Name of app" -msgstr "" - -#: ../../mod/appman.php:92 -msgid "Location (URL) of app" -msgstr "" - -#: ../../mod/appman.php:93 ../../mod/rbmark.php:97 -msgid "Description" -msgstr "" - -#: ../../mod/appman.php:94 -msgid "Photo icon URL" -msgstr "" - -#: ../../mod/appman.php:94 -msgid "80 x 80 pixels - optional" -msgstr "" - -#: ../../mod/appman.php:95 -msgid "Version ID" -msgstr "" - -#: ../../mod/appman.php:96 -msgid "Price of app" -msgstr "" - -#: ../../mod/appman.php:97 -msgid "Location (URL) to purchase app" -msgstr "" - -#: ../../mod/menu.php:45 -msgid "Unable to update menu." -msgstr "" - -#: ../../mod/menu.php:56 -msgid "Unable to create menu." -msgstr "" - -#: ../../mod/menu.php:94 ../../mod/menu.php:106 -msgid "Menu Name" -msgstr "" - -#: ../../mod/menu.php:94 -msgid "Unique name (not visible on webpage) - required" -msgstr "" - -#: ../../mod/menu.php:95 ../../mod/menu.php:107 -msgid "Menu Title" -msgstr "" - -#: ../../mod/menu.php:95 -msgid "Visible on webpage - leave empty for no title" -msgstr "" - -#: ../../mod/menu.php:96 -msgid "Allow Bookmarks" -msgstr "" - -#: ../../mod/menu.php:96 ../../mod/menu.php:153 -msgid "Menu may be used to store saved bookmarks" -msgstr "" - -#: ../../mod/menu.php:97 ../../mod/menu.php:155 -msgid "Submit and proceed" -msgstr "" - -#: ../../mod/menu.php:109 -msgid "Drop" -msgstr "" - -#: ../../mod/menu.php:113 -msgid "Bookmarks allowed" -msgstr "" - -#: ../../mod/menu.php:115 -msgid "Delete this menu" -msgstr "" - -#: ../../mod/menu.php:116 ../../mod/menu.php:150 -msgid "Edit menu contents" -msgstr "" - -#: ../../mod/menu.php:117 -msgid "Edit this menu" -msgstr "" - -#: ../../mod/menu.php:132 -msgid "Menu could not be deleted." -msgstr "" - -#: ../../mod/menu.php:145 -msgid "Edit Menu" -msgstr "" - -#: ../../mod/menu.php:149 -msgid "Add or remove entries to this menu" -msgstr "" - -#: ../../mod/menu.php:151 -msgid "Menu name" -msgstr "" - -#: ../../mod/menu.php:151 -msgid "Must be unique, only seen by you" -msgstr "" - -#: ../../mod/menu.php:152 -msgid "Menu title" -msgstr "" - -#: ../../mod/menu.php:152 -msgid "Menu title as seen by others" -msgstr "" - -#: ../../mod/menu.php:153 -msgid "Allow bookmarks" -msgstr "" - -#: ../../mod/notify.php:53 ../../mod/notifications.php:94 -msgid "No more system notifications." -msgstr "" - -#: ../../mod/notify.php:57 ../../mod/notifications.php:98 -msgid "System Notifications" -msgstr "" - -#: ../../mod/page.php:126 -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 "" - -#: ../../mod/new_channel.php:109 -msgid "Add a Channel" -msgstr "" - -#: ../../mod/new_channel.php:110 -msgid "" -"A channel is your own collection of related web pages. A channel can be used " -"to hold social network profiles, blogs, conversation groups and forums, " -"celebrity pages, and much more. You may create as many channels as your " -"service provider allows." -msgstr "" - -#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 -#: ../../mod/sources.php:137 -msgid "Channel Name" -msgstr "" - -#: ../../mod/new_channel.php:113 -msgid "" -"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " -"Group\" " -msgstr "" - -#: ../../mod/new_channel.php:114 -msgid "Choose a short nickname" -msgstr "" - -#: ../../mod/new_channel.php:115 -msgid "" -"Your nickname will be used to create an easily remembered channel address " -"(like an email address) which you can share with others." -msgstr "" - -#: ../../mod/new_channel.php:116 -msgid "" -"Or <a href=\"import\">import an existing channel</a> from another location" -msgstr "" - -#: ../../mod/new_channel.php:118 -msgid "" -"Please choose a channel type (such as social networking or community forum) " -"and privacy requirements so we can select the best permissions for you" -msgstr "" - -#: ../../mod/new_channel.php:119 -msgid "Channel Type" -msgstr "" - -#: ../../mod/new_channel.php:119 -msgid "Read more about roles" -msgstr "" - -#: ../../mod/notifications.php:26 -msgid "Invalid request identifier." -msgstr "" - -#: ../../mod/notifications.php:35 -msgid "Discard" -msgstr "" - -#: ../../mod/pdledit.php:13 -msgid "Layout updated." -msgstr "" - -#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 -msgid "Edit System Page Description" -msgstr "" - -#: ../../mod/pdledit.php:48 -msgid "Layout not found." -msgstr "" - -#: ../../mod/pdledit.php:54 -msgid "Module Name:" -msgstr "" - -#: ../../mod/pdledit.php:55 -msgid "Layout Help" -msgstr "" - -#: ../../mod/subthread.php:114 -#, php-format -msgid "%1$s is following %2$s's %3$s" -msgstr "" - -#: ../../mod/subthread.php:116 -#, php-format -msgid "%1$s stopped following %2$s's %3$s" -msgstr "" - -#: ../../mod/lostpass.php:15 -msgid "No valid account found." -msgstr "" - -#: ../../mod/lostpass.php:29 -msgid "Password reset request issued. Check your email." -msgstr "" - -#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 -#, php-format -msgid "Site Member (%s)" -msgstr "" - -#: ../../mod/lostpass.php:40 -#, php-format -msgid "Password reset requested at %s" -msgstr "" - -#: ../../mod/lostpass.php:63 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." -msgstr "" - -#: ../../mod/lostpass.php:86 ../../boot.php:1494 -msgid "Password Reset" -msgstr "" - -#: ../../mod/lostpass.php:87 -msgid "Your password has been reset as requested." -msgstr "" - -#: ../../mod/lostpass.php:88 -msgid "Your new password is" -msgstr "" - -#: ../../mod/lostpass.php:89 -msgid "Save or copy your new password - and then" -msgstr "" - -#: ../../mod/lostpass.php:90 -msgid "click here to login" -msgstr "" - -#: ../../mod/lostpass.php:91 -msgid "" -"Your password may be changed from the <em>Settings</em> page after " -"successful login." -msgstr "" - -#: ../../mod/lostpass.php:108 -#, php-format -msgid "Your password has changed at %s" -msgstr "" - -#: ../../mod/lostpass.php:123 -msgid "Forgot your Password?" -msgstr "" - -#: ../../mod/lostpass.php:124 -msgid "" -"Enter your email address and submit to have your password reset. Then check " -"your email for further instructions." -msgstr "" - -#: ../../mod/lostpass.php:125 -msgid "Email Address" -msgstr "" - -#: ../../mod/lostpass.php:126 -msgid "Reset" -msgstr "" - -#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:157 -msgid "$Projectname" -msgstr "" - -#: ../../mod/home.php:75 -#, php-format -msgid "Welcome to %s" -msgstr "" - -#: ../../mod/dav.php:121 -msgid "$Projectname channel" -msgstr "" - -#: ../../mod/events.php:21 -msgid "Calendar entries imported." -msgstr "" - -#: ../../mod/events.php:23 -msgid "No calendar entries found." -msgstr "" - -#: ../../mod/events.php:96 -msgid "Event can not end before it has started." -msgstr "" - -#: ../../mod/events.php:98 ../../mod/events.php:107 ../../mod/events.php:127 -msgid "Unable to generate preview." -msgstr "" - -#: ../../mod/events.php:105 -msgid "Event title and start time are required." -msgstr "" - -#: ../../mod/events.php:125 ../../mod/events.php:250 -msgid "Event not found." -msgstr "" - -#: ../../mod/events.php:446 -msgid "l, F j" -msgstr "" - -#: ../../mod/events.php:468 -msgid "Edit event" -msgstr "" - -#: ../../mod/events.php:470 -msgid "Delete event" -msgstr "" - -#: ../../mod/events.php:504 -msgid "calendar" -msgstr "" - -#: ../../mod/events.php:524 -msgid "New Event" -msgstr "" - -#: ../../mod/events.php:534 -msgid "Today" -msgstr "" - -#: ../../mod/events.php:564 -msgid "Event removed" -msgstr "" - -#: ../../mod/events.php:567 -msgid "Failed to remove event" -msgstr "" - -#: ../../mod/events.php:681 -msgid "Event details" -msgstr "" - -#: ../../mod/events.php:682 -msgid "Starting date and Title are required." -msgstr "" - -#: ../../mod/events.php:684 -msgid "Categories (comma-separated list)" -msgstr "" - -#: ../../mod/events.php:686 -msgid "Event Starts:" -msgstr "" - -#: ../../mod/events.php:693 -msgid "Finish date/time is not known or not relevant" -msgstr "" - -#: ../../mod/events.php:695 -msgid "Event Finishes:" -msgstr "" - -#: ../../mod/events.php:697 ../../mod/events.php:698 -msgid "Adjust for viewer timezone" -msgstr "" - -#: ../../mod/events.php:697 -msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." -msgstr "" - -#: ../../mod/events.php:703 -msgid "Title:" -msgstr "" - -#: ../../mod/events.php:705 -msgid "Share this event" -msgstr "" - -#: ../../mod/impel.php:192 -#, php-format -msgid "%s element installed" -msgstr "" - -#: ../../mod/impel.php:195 -#, php-format -msgid "%s element installation failed" -msgstr "" - -#: ../../mod/probe.php:24 ../../mod/probe.php:30 -#, php-format -msgid "Fetching URL returns error: %1$s" -msgstr "" - -#: ../../mod/match.php:22 -msgid "Profile Match" -msgstr "" - -#: ../../mod/match.php:31 -msgid "No keywords to match. Please add keywords to your default profile." -msgstr "" - -#: ../../mod/match.php:63 -msgid "is interested in:" -msgstr "" - -#: ../../mod/match.php:70 -msgid "No matches" -msgstr "" - -#: ../../mod/profile_photo.php:111 -msgid "Image uploaded but image cropping failed." -msgstr "" - -#: ../../mod/profile_photo.php:165 -msgid "Image resize failed." -msgstr "" - -#: ../../mod/profile_photo.php:209 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "" - -#: ../../mod/profile_photo.php:247 -msgid "Image upload failed." -msgstr "" - -#: ../../mod/profile_photo.php:266 -msgid "Unable to process image." -msgstr "" - -#: ../../mod/profile_photo.php:294 -msgid "female" -msgstr "" - -#: ../../mod/profile_photo.php:295 -#, php-format -msgid "%1$s updated her %2$s" -msgstr "" - -#: ../../mod/profile_photo.php:296 -msgid "male" -msgstr "" - -#: ../../mod/profile_photo.php:297 -#, php-format -msgid "%1$s updated his %2$s" -msgstr "" - -#: ../../mod/profile_photo.php:299 -#, php-format -msgid "%1$s updated their %2$s" -msgstr "" - -#: ../../mod/profile_photo.php:301 -msgid "profile photo" -msgstr "" - -#: ../../mod/profile_photo.php:365 ../../mod/profile_photo.php:406 -msgid "Photo not available." -msgstr "" - -#: ../../mod/profile_photo.php:447 -msgid "Upload File:" -msgstr "" - -#: ../../mod/profile_photo.php:448 -msgid "Select a profile:" -msgstr "" - -#: ../../mod/profile_photo.php:449 -msgid "Upload Profile Photo" -msgstr "" - -#: ../../mod/profile_photo.php:454 ../../mod/settings.php:973 -msgid "or" -msgstr "" - -#: ../../mod/profile_photo.php:454 -msgid "skip this step" -msgstr "" - -#: ../../mod/profile_photo.php:454 -msgid "select a photo from your photo albums" -msgstr "" - -#: ../../mod/profile_photo.php:470 -msgid "Crop Image" -msgstr "" - -#: ../../mod/profile_photo.php:471 -msgid "Please adjust the image cropping for optimum viewing." -msgstr "" - -#: ../../mod/profile_photo.php:473 -msgid "Done Editing" -msgstr "" - -#: ../../mod/follow.php:25 -msgid "Channel added." -msgstr "" - -#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 -msgid "Tag removed" -msgstr "" - -#: ../../mod/tagrm.php:119 -msgid "Remove Item Tag" -msgstr "" - -#: ../../mod/tagrm.php:121 -msgid "Select a tag to remove: " -msgstr "" - -#: ../../mod/ratings.php:69 -msgid "No ratings" -msgstr "" - -#: ../../mod/ratings.php:99 -msgid "Ratings" -msgstr "" - -#: ../../mod/ratings.php:100 -msgid "Rating: " -msgstr "" - -#: ../../mod/ratings.php:101 -msgid "Website: " -msgstr "" - -#: ../../mod/ratings.php:103 -msgid "Description: " -msgstr "" - -#: ../../mod/item.php:173 -msgid "Unable to locate original post." -msgstr "" - -#: ../../mod/item.php:417 -msgid "Empty post discarded." -msgstr "" - -#: ../../mod/item.php:457 -msgid "Executable content type not permitted to this channel." -msgstr "" - -#: ../../mod/item.php:822 -msgid "Duplicate post suppressed." -msgstr "" - -#: ../../mod/item.php:953 -msgid "System error. Post not saved." -msgstr "" - -#: ../../mod/item.php:1220 -msgid "Unable to obtain post information from database." -msgstr "" - -#: ../../mod/item.php:1227 -#, php-format -msgid "You have reached your limit of %1$.0f top level posts." -msgstr "" - -#: ../../mod/item.php:1234 -#, php-format -msgid "You have reached your limit of %1$.0f webpages." -msgstr "" - -#: ../../mod/webpages.php:191 -msgid "Page Title" -msgstr "" - -#: ../../mod/register.php:44 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." -msgstr "" - -#: ../../mod/register.php:50 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." -msgstr "" - -#: ../../mod/register.php:84 -msgid "Passwords do not match." -msgstr "" - -#: ../../mod/register.php:117 -msgid "" -"Registration successful. Please check your email for validation instructions." -msgstr "" - -#: ../../mod/register.php:123 -msgid "Your registration is pending approval by the site owner." -msgstr "" - -#: ../../mod/register.php:126 -msgid "Your registration can not be processed." -msgstr "" - -#: ../../mod/register.php:163 -msgid "Registration on this site/hub is by approval only." -msgstr "" - -#: ../../mod/register.php:164 -msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" -msgstr "" - -#: ../../mod/register.php:174 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "" - -#: ../../mod/register.php:185 -msgid "Terms of Service" -msgstr "" - -#: ../../mod/register.php:191 -#, php-format -msgid "I accept the %s for this website" -msgstr "" - -#: ../../mod/register.php:193 -#, php-format -msgid "I am over 13 years of age and accept the %s for this website" -msgstr "" - -#: ../../mod/register.php:212 -msgid "Membership on this site is by invitation only." -msgstr "" - -#: ../../mod/register.php:213 -msgid "Please enter your invitation code" -msgstr "" - -#: ../../mod/register.php:216 -msgid "Your email address" -msgstr "" - -#: ../../mod/register.php:217 -msgid "Choose a password" -msgstr "" - -#: ../../mod/register.php:218 -msgid "Please re-enter your password" -msgstr "" - -#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 -msgid "Block Name" -msgstr "" - -#: ../../mod/blocks.php:149 -msgid "Block Title" -msgstr "" - -#: ../../mod/removeaccount.php:30 -msgid "" -"Account removals are not allowed within 48 hours of changing the account " -"password." -msgstr "" - -#: ../../mod/removeaccount.php:57 -msgid "Remove This Account" -msgstr "" - -#: ../../mod/removeaccount.php:58 -msgid "" -"This account and all its channels will be completely removed from the " -"network. " -msgstr "" - -#: ../../mod/removeaccount.php:60 -msgid "" -"Remove this account, all its channels and all its channel clones from the " -"network" -msgstr "" - -#: ../../mod/removeaccount.php:60 -msgid "" -"By default only the instances of the channels located on this hub will be " -"removed from the network" -msgstr "" - -#: ../../mod/removeaccount.php:61 ../../mod/settings.php:698 -msgid "Remove Account" -msgstr "" - -#: ../../mod/service_limits.php:19 -msgid "No service class restrictions found." -msgstr "" - -#: ../../mod/attach.php:9 -msgid "Item not available." -msgstr "" - -#: ../../mod/pubsites.php:18 -msgid "Public Sites" -msgstr "" - -#: ../../mod/pubsites.php:21 -msgid "" -"The listed sites allow public registration for the $Projectname network. All " -"sites in the network are interlinked so membership on any of them conveys " -"membership in the network as a whole. Some sites may require subscription or " -"provide tiered service plans. The provider links <strong>may</strong> " -"provide additional details." -msgstr "" - -#: ../../mod/pubsites.php:27 -msgid "Rate this hub" -msgstr "" - -#: ../../mod/pubsites.php:28 -msgid "Site URL" -msgstr "" - -#: ../../mod/pubsites.php:28 -msgid "Access Type" -msgstr "" - -#: ../../mod/pubsites.php:28 -msgid "Registration Policy" -msgstr "" - -#: ../../mod/pubsites.php:28 ../../mod/profiles.php:454 -msgid "Location" -msgstr "" - -#: ../../mod/pubsites.php:28 -msgid "Project" -msgstr "" - -#: ../../mod/pubsites.php:28 -msgid "View hub ratings" -msgstr "" - -#: ../../mod/pubsites.php:32 -msgid "Rate" -msgstr "" - -#: ../../mod/pubsites.php:33 -msgid "View ratings" -msgstr "" - -#: ../../mod/sources.php:32 -msgid "Failed to create source. No channel selected." -msgstr "" - -#: ../../mod/sources.php:45 -msgid "Source created." -msgstr "" - -#: ../../mod/sources.php:57 -msgid "Source updated." -msgstr "" - -#: ../../mod/sources.php:82 -msgid "*" -msgstr "" - -#: ../../mod/sources.php:89 -msgid "Manage remote sources of content for your channel." -msgstr "" - -#: ../../mod/sources.php:90 ../../mod/sources.php:100 -msgid "New Source" -msgstr "" - -#: ../../mod/sources.php:101 ../../mod/sources.php:133 -msgid "" -"Import all or selected content from the following channel into this channel " -"and distribute it according to your channel settings." -msgstr "" - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Only import content with these words (one per line)" -msgstr "" - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Leave blank to import all public content" -msgstr "" - -#: ../../mod/sources.php:123 ../../mod/sources.php:150 -msgid "Source not found." -msgstr "" - -#: ../../mod/sources.php:130 -msgid "Edit Source" -msgstr "" - -#: ../../mod/sources.php:131 -msgid "Delete Source" -msgstr "" - -#: ../../mod/sources.php:158 -msgid "Source removed" -msgstr "" - -#: ../../mod/sources.php:160 -msgid "Unable to remove source." -msgstr "" - -#: ../../mod/lockview.php:37 -msgid "Remote privacy information not available." -msgstr "" - -#: ../../mod/lockview.php:58 -msgid "Visible to:" -msgstr "" - -#: ../../mod/acl.php:222 -msgid "network" -msgstr "" - -#: ../../mod/acl.php:232 -msgid "RSS" -msgstr "" - -#: ../../mod/regmod.php:11 -msgid "Please login." -msgstr "" - -#: ../../mod/rmagic.php:40 -msgid "" -"We encountered a problem while logging in with the OpenID you provided. " -"Please check the correct spelling of the ID." -msgstr "" - -#: ../../mod/rmagic.php:40 -msgid "The error message was:" -msgstr "" - -#: ../../mod/rmagic.php:44 -msgid "Authentication failed." -msgstr "" - -#: ../../mod/rmagic.php:84 -msgid "Remote Authentication" -msgstr "" - -#: ../../mod/rmagic.php:85 -msgid "Enter your channel address (e.g. channel@example.com)" -msgstr "" - -#: ../../mod/rmagic.php:86 -msgid "Authenticate" -msgstr "" - -#: ../../mod/channel.php:97 -msgid "Insufficient permissions. Request redirected to profile page." -msgstr "" - -#: ../../mod/import.php:28 -#, php-format -msgid "Your service plan only allows %d channels." -msgstr "" - -#: ../../mod/import.php:66 ../../mod/import_items.php:38 -msgid "Nothing to import." -msgstr "" - -#: ../../mod/import.php:90 ../../mod/import_items.php:62 -msgid "Unable to download data from old server" -msgstr "" - -#: ../../mod/import.php:96 ../../mod/import_items.php:68 -msgid "Imported file is empty." -msgstr "" - -#: ../../mod/import.php:116 ../../mod/import_items.php:82 -#, php-format -msgid "Warning: Database versions differ by %1$d updates." -msgstr "" - -#: ../../mod/import.php:149 -msgid "No channel. Import failed." -msgstr "" - -#: ../../mod/import.php:509 -msgid "You must be logged in to use this feature." -msgstr "" - -#: ../../mod/import.php:514 -msgid "Import Channel" -msgstr "" - -#: ../../mod/import.php:515 -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 "" - -#: ../../mod/import.php:516 ../../mod/import_items.php:121 -msgid "File to Upload" -msgstr "" - -#: ../../mod/import.php:517 -msgid "Or provide the old server/hub details" -msgstr "" - -#: ../../mod/import.php:518 -msgid "Your old identity address (xyz@example.com)" -msgstr "" - -#: ../../mod/import.php:519 -msgid "Your old login email address" -msgstr "" - -#: ../../mod/import.php:520 -msgid "Your old login password" -msgstr "" - -#: ../../mod/import.php:521 -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 "" - -#: ../../mod/import.php:522 -msgid "Make this hub my primary location" -msgstr "" - -#: ../../mod/import.php:523 -msgid "" -"Import existing posts if possible (experimental - limited by available memory" -msgstr "" - -#: ../../mod/import.php:524 -msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." -msgstr "" - -#: ../../mod/dreport.php:23 -msgid "Invalid message" -msgstr "" - -#: ../../mod/dreport.php:55 -msgid "no results" -msgstr "" - -#: ../../mod/dreport.php:60 -#, php-format -msgid "Delivery report for %1$s" -msgstr "" - -#: ../../mod/dreport.php:74 -msgid "channel sync processed" -msgstr "" - -#: ../../mod/dreport.php:78 -msgid "queued" -msgstr "" - -#: ../../mod/dreport.php:82 -msgid "posted" -msgstr "" - -#: ../../mod/dreport.php:86 -msgid "accepted for delivery" -msgstr "" - -#: ../../mod/dreport.php:90 -msgid "updated" -msgstr "" - -#: ../../mod/dreport.php:93 -msgid "update ignored" -msgstr "" - -#: ../../mod/dreport.php:96 -msgid "permission denied" -msgstr "" - -#: ../../mod/dreport.php:100 -msgid "recipient not found" -msgstr "" - -#: ../../mod/dreport.php:103 -msgid "mail recalled" -msgstr "" - -#: ../../mod/dreport.php:106 -msgid "duplicate mail received" -msgstr "" - -#: ../../mod/dreport.php:109 -msgid "mail delivered" -msgstr "" - -#: ../../mod/thing.php:111 -msgid "Thing updated" -msgstr "" - -#: ../../mod/thing.php:163 -msgid "Object store: failed" -msgstr "" - -#: ../../mod/thing.php:167 -msgid "Thing added" -msgstr "" - -#: ../../mod/thing.php:193 -#, php-format -msgid "OBJ: %1$s %2$s %3$s" -msgstr "" - -#: ../../mod/thing.php:256 -msgid "Show Thing" -msgstr "" - -#: ../../mod/thing.php:263 -msgid "item not found." -msgstr "" - -#: ../../mod/thing.php:296 -msgid "Edit Thing" -msgstr "" - -#: ../../mod/thing.php:298 ../../mod/thing.php:348 -msgid "Select a profile" -msgstr "" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Post an activity" -msgstr "" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Only sends to viewers of the applicable profile" -msgstr "" - -#: ../../mod/thing.php:304 ../../mod/thing.php:353 -msgid "Name of thing e.g. something" -msgstr "" - -#: ../../mod/thing.php:306 ../../mod/thing.php:354 -msgid "URL of thing (optional)" -msgstr "" - -#: ../../mod/thing.php:308 ../../mod/thing.php:355 -msgid "URL for photo of thing (optional)" -msgstr "" - -#: ../../mod/thing.php:346 -msgid "Add Thing to your Profile" -msgstr "" - -#: ../../mod/invite.php:25 -msgid "Total invitation limit exceeded." -msgstr "" - -#: ../../mod/invite.php:49 -#, php-format -msgid "%s : Not a valid email address." -msgstr "" - -#: ../../mod/invite.php:76 -msgid "Please join us on $Projectname" -msgstr "" - -#: ../../mod/invite.php:87 -msgid "Invitation limit exceeded. Please contact your site administrator." -msgstr "" - -#: ../../mod/invite.php:92 -#, php-format -msgid "%s : Message delivery failed." -msgstr "" - -#: ../../mod/invite.php:96 -#, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "" -msgstr[1] "" - -#: ../../mod/invite.php:115 -msgid "You have no more invitations available" -msgstr "" - -#: ../../mod/invite.php:129 -msgid "Send invitations" -msgstr "" - -#: ../../mod/invite.php:130 -msgid "Enter email addresses, one per line:" -msgstr "" - -#: ../../mod/invite.php:131 ../../mod/mail.php:238 -msgid "Your message:" -msgstr "" - -#: ../../mod/invite.php:132 -msgid "Please join my community on $Projectname." -msgstr "" - -#: ../../mod/invite.php:134 -msgid "You will need to supply this invitation code: " -msgstr "" - -#: ../../mod/invite.php:135 -msgid "1. Register at any $Projectname location (they are all inter-connected)" -msgstr "" - -#: ../../mod/invite.php:137 -msgid "2. Enter my $Projectname network address into the site searchbar." -msgstr "" - -#: ../../mod/invite.php:138 -msgid "or visit " -msgstr "" - -#: ../../mod/invite.php:140 -msgid "3. Click [Connect]" -msgstr "" - -#: ../../mod/mail.php:33 -msgid "Unable to lookup recipient." -msgstr "" - -#: ../../mod/mail.php:41 -msgid "Unable to communicate with requested channel." -msgstr "" - -#: ../../mod/mail.php:48 -msgid "Cannot verify requested channel." -msgstr "" - -#: ../../mod/mail.php:74 -msgid "Selected channel has private message restrictions. Send failed." -msgstr "" - -#: ../../mod/mail.php:132 -msgid "Messages" -msgstr "" - -#: ../../mod/mail.php:167 -msgid "Message recalled." -msgstr "" - -#: ../../mod/mail.php:180 -msgid "Conversation removed." -msgstr "" - -#: ../../mod/mail.php:223 -msgid "Requested channel is not in this network" -msgstr "" - -#: ../../mod/mail.php:231 -msgid "Send Private Message" -msgstr "" - -#: ../../mod/mail.php:232 ../../mod/mail.php:361 -msgid "To:" -msgstr "" - -#: ../../mod/mail.php:235 ../../mod/mail.php:363 -msgid "Subject:" -msgstr "" - -#: ../../mod/mail.php:242 -msgid "Send" -msgstr "" - -#: ../../mod/mail.php:333 -msgid "Delete message" -msgstr "" - -#: ../../mod/mail.php:334 -msgid "Delivery report" -msgstr "" - -#: ../../mod/mail.php:335 -msgid "Recall message" -msgstr "" - -#: ../../mod/mail.php:337 -msgid "Message has been recalled." -msgstr "" - -#: ../../mod/mail.php:354 -msgid "Delete Conversation" -msgstr "" - -#: ../../mod/mail.php:356 -msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." -msgstr "" - -#: ../../mod/mail.php:360 -msgid "Send Reply" +#: ../../mod/editlayout.php:112 +msgid "Delete layout?" msgstr "" -#: ../../mod/mail.php:365 -#, php-format -msgid "Your message for %s (%s):" +#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124 +msgid "Layout Description (Optional)" msgstr "" -#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25 -#: ../../mod/update_home.php:21 ../../mod/update_network.php:23 -#: ../../mod/update_search.php:46 ../../mod/update_public.php:21 -msgid "[Embedded content - reload page to view]" +#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121 +#: ../../mod/layouts.php:179 +msgid "Layout Name" msgstr "" -#: ../../mod/viewsrc.php:40 -msgid "Source of Item" +#: ../../mod/editlayout.php:178 +msgid "Edit Layout" msgstr "" #: ../../mod/settings.php:76 @@ -7496,1344 +7597,1301 @@ msgstr "" msgid "System failure storing new email. Please try again." msgstr "" -#: ../../mod/settings.php:519 +#: ../../mod/settings.php:521 msgid "Settings updated." msgstr "" -#: ../../mod/settings.php:583 ../../mod/settings.php:609 -#: ../../mod/settings.php:645 +#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../mod/settings.php:647 msgid "Add application" msgstr "" -#: ../../mod/settings.php:586 +#: ../../mod/settings.php:588 msgid "Name of application" msgstr "" -#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/settings.php:589 ../../mod/settings.php:615 msgid "Consumer Key" msgstr "" -#: ../../mod/settings.php:587 ../../mod/settings.php:588 +#: ../../mod/settings.php:589 ../../mod/settings.php:590 msgid "Automatically generated - change if desired. Max length 20" msgstr "" -#: ../../mod/settings.php:588 ../../mod/settings.php:614 +#: ../../mod/settings.php:590 ../../mod/settings.php:616 msgid "Consumer Secret" msgstr "" -#: ../../mod/settings.php:589 ../../mod/settings.php:615 +#: ../../mod/settings.php:591 ../../mod/settings.php:617 msgid "Redirect" msgstr "" -#: ../../mod/settings.php:589 +#: ../../mod/settings.php:591 msgid "" "Redirect URI - leave blank unless your application specifically requires this" msgstr "" -#: ../../mod/settings.php:590 ../../mod/settings.php:616 +#: ../../mod/settings.php:592 ../../mod/settings.php:618 msgid "Icon url" msgstr "" -#: ../../mod/settings.php:590 +#: ../../mod/settings.php:592 msgid "Optional" msgstr "" -#: ../../mod/settings.php:601 +#: ../../mod/settings.php:603 msgid "You can't edit this application." msgstr "" -#: ../../mod/settings.php:644 +#: ../../mod/settings.php:646 msgid "Connected Apps" msgstr "" -#: ../../mod/settings.php:648 +#: ../../mod/settings.php:650 msgid "Client key starts with" msgstr "" -#: ../../mod/settings.php:649 +#: ../../mod/settings.php:651 msgid "No name" msgstr "" -#: ../../mod/settings.php:650 +#: ../../mod/settings.php:652 msgid "Remove authorization" msgstr "" -#: ../../mod/settings.php:663 +#: ../../mod/settings.php:665 msgid "No feature settings configured" msgstr "" -#: ../../mod/settings.php:670 +#: ../../mod/settings.php:672 msgid "Feature/Addon Settings" msgstr "" -#: ../../mod/settings.php:693 +#: ../../mod/settings.php:695 msgid "Account Settings" msgstr "" -#: ../../mod/settings.php:694 +#: ../../mod/settings.php:696 msgid "Enter New Password:" msgstr "" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Confirm New Password:" msgstr "" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Leave password fields blank unless changing" msgstr "" -#: ../../mod/settings.php:697 ../../mod/settings.php:1028 +#: ../../mod/settings.php:699 ../../mod/settings.php:1030 msgid "Email Address:" msgstr "" -#: ../../mod/settings.php:699 +#: ../../mod/settings.php:701 msgid "Remove this account including all its channels" msgstr "" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "Off" msgstr "" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "On" msgstr "" -#: ../../mod/settings.php:722 +#: ../../mod/settings.php:724 msgid "Additional Features" msgstr "" -#: ../../mod/settings.php:746 +#: ../../mod/settings.php:748 msgid "Connector Settings" msgstr "" -#: ../../mod/settings.php:785 +#: ../../mod/settings.php:787 msgid "No special theme for mobile devices" msgstr "" -#: ../../mod/settings.php:788 +#: ../../mod/settings.php:790 #, php-format msgid "%s - (Experimental)" msgstr "" -#: ../../mod/settings.php:827 +#: ../../mod/settings.php:829 msgid "Display Settings" msgstr "" -#: ../../mod/settings.php:828 +#: ../../mod/settings.php:830 msgid "Theme Settings" msgstr "" -#: ../../mod/settings.php:829 +#: ../../mod/settings.php:831 msgid "Custom Theme Settings" msgstr "" -#: ../../mod/settings.php:830 +#: ../../mod/settings.php:832 msgid "Content Settings" msgstr "" -#: ../../mod/settings.php:836 +#: ../../mod/settings.php:838 msgid "Display Theme:" msgstr "" -#: ../../mod/settings.php:837 +#: ../../mod/settings.php:839 msgid "Mobile Theme:" msgstr "" -#: ../../mod/settings.php:838 +#: ../../mod/settings.php:840 msgid "Enable user zoom on mobile devices" msgstr "" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Update browser every xx seconds" msgstr "" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Minimum of 10 seconds, no maximum" msgstr "" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum number of conversations to load at any time:" msgstr "" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum of 100 items" msgstr "" -#: ../../mod/settings.php:841 +#: ../../mod/settings.php:843 msgid "Show emoticons (smilies) as images" msgstr "" -#: ../../mod/settings.php:842 +#: ../../mod/settings.php:844 msgid "Link post titles to source" msgstr "" -#: ../../mod/settings.php:843 +#: ../../mod/settings.php:845 msgid "System Page Layout Editor - (advanced)" msgstr "" -#: ../../mod/settings.php:846 +#: ../../mod/settings.php:848 msgid "Use blog/list mode on channel page" msgstr "" -#: ../../mod/settings.php:846 ../../mod/settings.php:847 +#: ../../mod/settings.php:848 ../../mod/settings.php:849 msgid "(comments displayed separately)" msgstr "" -#: ../../mod/settings.php:847 +#: ../../mod/settings.php:849 msgid "Use blog/list mode on matrix page" msgstr "" -#: ../../mod/settings.php:848 +#: ../../mod/settings.php:850 msgid "Channel page max height of content (in pixels)" msgstr "" -#: ../../mod/settings.php:848 ../../mod/settings.php:849 +#: ../../mod/settings.php:850 ../../mod/settings.php:851 msgid "click to expand content exceeding this height" msgstr "" -#: ../../mod/settings.php:849 +#: ../../mod/settings.php:851 msgid "Matrix page max height of content (in pixels)" msgstr "" -#: ../../mod/settings.php:883 +#: ../../mod/settings.php:885 msgid "Nobody except yourself" msgstr "" -#: ../../mod/settings.php:884 +#: ../../mod/settings.php:886 msgid "Only those you specifically allow" msgstr "" -#: ../../mod/settings.php:885 +#: ../../mod/settings.php:887 msgid "Approved connections" msgstr "" -#: ../../mod/settings.php:886 +#: ../../mod/settings.php:888 msgid "Any connections" msgstr "" -#: ../../mod/settings.php:887 +#: ../../mod/settings.php:889 msgid "Anybody on this website" msgstr "" -#: ../../mod/settings.php:888 +#: ../../mod/settings.php:890 msgid "Anybody in this network" msgstr "" -#: ../../mod/settings.php:889 +#: ../../mod/settings.php:891 msgid "Anybody authenticated" msgstr "" -#: ../../mod/settings.php:890 +#: ../../mod/settings.php:892 msgid "Anybody on the internet" msgstr "" -#: ../../mod/settings.php:964 +#: ../../mod/settings.php:966 msgid "Publish your default profile in the network directory" msgstr "" -#: ../../mod/settings.php:969 +#: ../../mod/settings.php:971 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "" -#: ../../mod/settings.php:978 +#: ../../mod/settings.php:980 msgid "Your channel address is" msgstr "" -#: ../../mod/settings.php:1019 +#: ../../mod/settings.php:1021 msgid "Channel Settings" msgstr "" -#: ../../mod/settings.php:1026 +#: ../../mod/settings.php:1028 msgid "Basic Settings" msgstr "" -#: ../../mod/settings.php:1029 +#: ../../mod/settings.php:1031 msgid "Your Timezone:" msgstr "" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Default Post Location:" msgstr "" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Geographical location to display on your posts" msgstr "" -#: ../../mod/settings.php:1031 +#: ../../mod/settings.php:1033 msgid "Use Browser Location:" msgstr "" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "Adult Content" msgstr "" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "" -#: ../../mod/settings.php:1035 +#: ../../mod/settings.php:1037 msgid "Security and Privacy Settings" msgstr "" -#: ../../mod/settings.php:1037 +#: ../../mod/settings.php:1039 msgid "Your permissions are already configured. Click to view/adjust" msgstr "" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Hide my online presence" msgstr "" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Prevents displaying in your profile that you are online" msgstr "" -#: ../../mod/settings.php:1041 +#: ../../mod/settings.php:1043 msgid "Simple Privacy Settings:" msgstr "" -#: ../../mod/settings.php:1042 +#: ../../mod/settings.php:1044 msgid "" "Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "" -#: ../../mod/settings.php:1043 +#: ../../mod/settings.php:1045 msgid "" "Typical - <em>default public, privacy when desired (similar to social " "network permissions but with improved privacy)</em>" msgstr "" -#: ../../mod/settings.php:1044 +#: ../../mod/settings.php:1046 msgid "Private - <em>default private, never open or public</em>" msgstr "" -#: ../../mod/settings.php:1045 +#: ../../mod/settings.php:1047 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "Allow others to tag your posts" msgstr "" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "" -#: ../../mod/settings.php:1049 +#: ../../mod/settings.php:1051 msgid "Advanced Privacy Settings" msgstr "" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "Expire other channel content after this many days" msgstr "" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "0 or blank prevents expiration" msgstr "" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "Maximum Friend Requests/Day:" msgstr "" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "May reduce spam activity" msgstr "" -#: ../../mod/settings.php:1053 +#: ../../mod/settings.php:1055 msgid "Default Post Permissions" msgstr "" -#: ../../mod/settings.php:1058 +#: ../../mod/settings.php:1056 ../../mod/mitem.php:150 ../../mod/mitem.php:223 +msgid "(click to open/close)" +msgstr "" + +#: ../../mod/settings.php:1060 msgid "Channel permissions category:" msgstr "" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Maximum private messages per day from unknown people:" msgstr "" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Useful to reduce spamming" msgstr "" -#: ../../mod/settings.php:1067 +#: ../../mod/settings.php:1069 msgid "Notification Settings" msgstr "" -#: ../../mod/settings.php:1068 +#: ../../mod/settings.php:1070 msgid "By default post a status message when:" msgstr "" -#: ../../mod/settings.php:1069 +#: ../../mod/settings.php:1071 msgid "accepting a friend request" msgstr "" -#: ../../mod/settings.php:1070 +#: ../../mod/settings.php:1072 msgid "joining a forum/community" msgstr "" -#: ../../mod/settings.php:1071 +#: ../../mod/settings.php:1073 msgid "making an <em>interesting</em> profile change" msgstr "" -#: ../../mod/settings.php:1072 +#: ../../mod/settings.php:1074 msgid "Send a notification email when:" msgstr "" -#: ../../mod/settings.php:1073 +#: ../../mod/settings.php:1075 msgid "You receive a connection request" msgstr "" -#: ../../mod/settings.php:1074 +#: ../../mod/settings.php:1076 msgid "Your connections are confirmed" msgstr "" -#: ../../mod/settings.php:1075 +#: ../../mod/settings.php:1077 msgid "Someone writes on your profile wall" msgstr "" -#: ../../mod/settings.php:1076 +#: ../../mod/settings.php:1078 msgid "Someone writes a followup comment" msgstr "" -#: ../../mod/settings.php:1077 +#: ../../mod/settings.php:1079 msgid "You receive a private message" msgstr "" -#: ../../mod/settings.php:1078 +#: ../../mod/settings.php:1080 msgid "You receive a friend suggestion" msgstr "" -#: ../../mod/settings.php:1079 +#: ../../mod/settings.php:1081 msgid "You are tagged in a post" msgstr "" -#: ../../mod/settings.php:1080 +#: ../../mod/settings.php:1082 msgid "You are poked/prodded/etc. in a post" msgstr "" -#: ../../mod/settings.php:1083 +#: ../../mod/settings.php:1085 msgid "Show visual notifications including:" msgstr "" -#: ../../mod/settings.php:1085 +#: ../../mod/settings.php:1087 msgid "Unseen matrix activity" msgstr "" -#: ../../mod/settings.php:1086 +#: ../../mod/settings.php:1088 msgid "Unseen channel activity" msgstr "" -#: ../../mod/settings.php:1087 +#: ../../mod/settings.php:1089 msgid "Unseen private messages" msgstr "" -#: ../../mod/settings.php:1087 ../../mod/settings.php:1092 -#: ../../mod/settings.php:1093 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1089 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1095 ../../mod/settings.php:1096 msgid "Recommended" msgstr "" -#: ../../mod/settings.php:1088 +#: ../../mod/settings.php:1090 msgid "Upcoming events" msgstr "" -#: ../../mod/settings.php:1089 +#: ../../mod/settings.php:1091 msgid "Events today" msgstr "" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Upcoming birthdays" msgstr "" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Not available in all themes" msgstr "" -#: ../../mod/settings.php:1091 +#: ../../mod/settings.php:1093 msgid "System (personal) notifications" msgstr "" -#: ../../mod/settings.php:1092 +#: ../../mod/settings.php:1094 msgid "System info messages" msgstr "" -#: ../../mod/settings.php:1093 +#: ../../mod/settings.php:1095 msgid "System critical alerts" msgstr "" -#: ../../mod/settings.php:1094 +#: ../../mod/settings.php:1096 msgid "New connections" msgstr "" -#: ../../mod/settings.php:1095 +#: ../../mod/settings.php:1097 msgid "System Registrations" msgstr "" -#: ../../mod/settings.php:1096 +#: ../../mod/settings.php:1098 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Notify me of events this many days in advance" msgstr "" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Must be greater than 0" msgstr "" -#: ../../mod/settings.php:1100 +#: ../../mod/settings.php:1102 msgid "Advanced Account/Page Type Settings" msgstr "" -#: ../../mod/settings.php:1101 +#: ../../mod/settings.php:1103 msgid "Change the behaviour of this account for special situations" msgstr "" -#: ../../mod/settings.php:1104 +#: ../../mod/settings.php:1106 msgid "" "Please enable expert mode (in <a href=\"settings/features\">Settings > " "Additional features</a>) to adjust!" msgstr "" -#: ../../mod/settings.php:1105 +#: ../../mod/settings.php:1107 msgid "Miscellaneous Settings" msgstr "" -#: ../../mod/settings.php:1106 +#: ../../mod/settings.php:1108 msgid "Default photo upload folder" msgstr "" -#: ../../mod/settings.php:1106 ../../mod/settings.php:1107 +#: ../../mod/settings.php:1108 ../../mod/settings.php:1109 msgid "%Y - current year, %m - current month" msgstr "" -#: ../../mod/settings.php:1107 +#: ../../mod/settings.php:1109 msgid "Default file upload folder" msgstr "" -#: ../../mod/settings.php:1109 +#: ../../mod/settings.php:1111 msgid "Personal menu to display in your channel pages" msgstr "" -#: ../../mod/settings.php:1111 +#: ../../mod/settings.php:1113 msgid "Remove this channel." msgstr "" -#: ../../mod/settings.php:1112 +#: ../../mod/settings.php:1114 msgid "Firefox Share $Projectname provider" msgstr "" -#: ../../mod/xchan.php:6 -msgid "Xchan Lookup" +#: ../../mod/settings.php:1115 +msgid "Start calendar week on monday" msgstr "" -#: ../../mod/xchan.php:9 -msgid "Lookup xchan beginning with (or webbie): " +#: ../../mod/webpages.php:191 +msgid "Page Title" msgstr "" -#: ../../mod/manage.php:130 -#, php-format -msgid "You have created %1$.0f of %2$.0f allowed channels." +#: ../../mod/appman.php:28 ../../mod/appman.php:44 +msgid "App installed." msgstr "" -#: ../../mod/manage.php:138 -msgid "Create a new channel" +#: ../../mod/appman.php:37 +msgid "Malformed app." msgstr "" -#: ../../mod/manage.php:161 -msgid "Current Channel" +#: ../../mod/appman.php:80 +msgid "Embed code" msgstr "" -#: ../../mod/manage.php:163 -msgid "Switch to one of your channels by selecting it." +#: ../../mod/appman.php:86 +msgid "Edit App" msgstr "" -#: ../../mod/manage.php:164 -msgid "Default Channel" +#: ../../mod/appman.php:86 +msgid "Create App" msgstr "" -#: ../../mod/manage.php:165 -msgid "Make Default" +#: ../../mod/appman.php:91 +msgid "Name of app" msgstr "" -#: ../../mod/manage.php:168 -#, php-format -msgid "%d new messages" +#: ../../mod/appman.php:92 +msgid "Location (URL) of app" msgstr "" -#: ../../mod/manage.php:169 -#, php-format -msgid "%d new introductions" +#: ../../mod/appman.php:94 +msgid "Photo icon URL" msgstr "" -#: ../../mod/manage.php:171 -msgid "Delegated Channels" +#: ../../mod/appman.php:94 +msgid "80 x 80 pixels - optional" msgstr "" -#: ../../mod/api.php:76 ../../mod/api.php:102 -msgid "Authorize application connection" +#: ../../mod/appman.php:95 +msgid "Version ID" msgstr "" -#: ../../mod/api.php:77 -msgid "Return to your app and insert this Securty Code:" +#: ../../mod/appman.php:96 +msgid "Price of app" msgstr "" -#: ../../mod/api.php:89 -msgid "Please login to continue." +#: ../../mod/appman.php:97 +msgid "Location (URL) to purchase app" msgstr "" -#: ../../mod/api.php:104 -msgid "" -"Do you want to authorize this application to access your posts and contacts, " -"and/or create new posts for you?" +#: ../../mod/filer.php:48 +msgid "- select -" msgstr "" -#: ../../mod/connections.php:52 ../../mod/connections.php:150 -msgid "Blocked" +#: ../../mod/layouts.php:176 +msgid "Comanche page description language help" msgstr "" -#: ../../mod/connections.php:57 ../../mod/connections.php:157 -msgid "Ignored" +#: ../../mod/layouts.php:180 +msgid "Layout Description" msgstr "" -#: ../../mod/connections.php:62 ../../mod/connections.php:171 -msgid "Hidden" +#: ../../mod/layouts.php:185 +msgid "Download PDL file" msgstr "" -#: ../../mod/connections.php:67 ../../mod/connections.php:164 -msgid "Archived" +#: ../../mod/locs.php:21 ../../mod/locs.php:50 +msgid "Location not found." msgstr "" -#: ../../mod/connections.php:128 -msgid "Suggest new connections" +#: ../../mod/locs.php:58 +msgid "Location lookup failed." msgstr "" -#: ../../mod/connections.php:131 -msgid "New Connections" +#: ../../mod/locs.php:62 +msgid "" +"Please select another location to become primary before removing the primary " +"location." msgstr "" -#: ../../mod/connections.php:134 -msgid "Show pending (new) connections" +#: ../../mod/locs.php:91 +msgid "Syncing locations" msgstr "" -#: ../../mod/connections.php:137 ../../mod/profperm.php:139 -msgid "All Connections" +#: ../../mod/locs.php:101 +msgid "No locations found." msgstr "" -#: ../../mod/connections.php:140 -msgid "Show all connections" +#: ../../mod/locs.php:112 +msgid "Manage Channel Locations" msgstr "" -#: ../../mod/connections.php:143 -msgid "Unblocked" +#: ../../mod/locs.php:113 +msgid "Location (address)" msgstr "" -#: ../../mod/connections.php:146 -msgid "Only show unblocked connections" +#: ../../mod/locs.php:114 +msgid "Primary Location" msgstr "" -#: ../../mod/connections.php:153 -msgid "Only show blocked connections" +#: ../../mod/locs.php:115 +msgid "Drop location" msgstr "" -#: ../../mod/connections.php:160 -msgid "Only show ignored connections" +#: ../../mod/locs.php:117 +msgid "Sync now" msgstr "" -#: ../../mod/connections.php:167 -msgid "Only show archived connections" +#: ../../mod/locs.php:118 +msgid "Please wait several minutes between consecutive operations." msgstr "" -#: ../../mod/connections.php:174 -msgid "Only show hidden connections" +#: ../../mod/locs.php:119 +msgid "" +"When possible, drop a location by logging into that website/hub and removing " +"your channel." msgstr "" -#: ../../mod/connections.php:225 -#, php-format -msgid "%1$s [%2$s]" +#: ../../mod/locs.php:120 +msgid "Use this form to drop the location if the hub is no longer operating." msgstr "" -#: ../../mod/connections.php:226 -msgid "Edit connection" +#: ../../mod/invite.php:25 +msgid "Total invitation limit exceeded." msgstr "" -#: ../../mod/connections.php:264 -msgid "Search your connections" +#: ../../mod/invite.php:49 +#, php-format +msgid "%s : Not a valid email address." msgstr "" -#: ../../mod/connections.php:265 -msgid "Finding: " +#: ../../mod/invite.php:76 +msgid "Please join us on $Projectname" msgstr "" -#: ../../mod/editlayout.php:112 -msgid "Delete layout?" +#: ../../mod/invite.php:87 +msgid "Invitation limit exceeded. Please contact your site administrator." msgstr "" -#: ../../mod/editlayout.php:178 -msgid "Edit Layout" +#: ../../mod/invite.php:92 +#, php-format +msgid "%s : Message delivery failed." msgstr "" -#: ../../mod/editwebpage.php:153 -msgid "Delete webpage?" -msgstr "" +#: ../../mod/invite.php:96 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "" +msgstr[1] "" -#: ../../mod/editwebpage.php:172 -msgid "Page link title" +#: ../../mod/invite.php:115 +msgid "You have no more invitations available" msgstr "" -#: ../../mod/editwebpage.php:222 -msgid "Edit Webpage" +#: ../../mod/invite.php:129 +msgid "Send invitations" msgstr "" -#: ../../mod/group.php:20 -msgid "Collection created." +#: ../../mod/invite.php:130 +msgid "Enter email addresses, one per line:" msgstr "" -#: ../../mod/group.php:26 -msgid "Could not create collection." +#: ../../mod/invite.php:131 ../../mod/mail.php:238 +msgid "Your message:" msgstr "" -#: ../../mod/group.php:54 -msgid "Collection updated." +#: ../../mod/invite.php:132 +msgid "Please join my community on $Projectname." msgstr "" -#: ../../mod/group.php:86 -msgid "Create a collection of channels." +#: ../../mod/invite.php:134 +msgid "You will need to supply this invitation code: " msgstr "" -#: ../../mod/group.php:87 ../../mod/group.php:180 -msgid "Collection Name: " +#: ../../mod/invite.php:135 +msgid "1. Register at any $Projectname location (they are all inter-connected)" msgstr "" -#: ../../mod/group.php:89 ../../mod/group.php:183 -msgid "Members are visible to other channels" +#: ../../mod/invite.php:137 +msgid "2. Enter my $Projectname network address into the site searchbar." msgstr "" -#: ../../mod/group.php:107 -msgid "Collection removed." +#: ../../mod/invite.php:138 +msgid "or visit " msgstr "" -#: ../../mod/group.php:109 -msgid "Unable to remove collection." +#: ../../mod/invite.php:140 +msgid "3. Click [Connect]" msgstr "" -#: ../../mod/group.php:179 -msgid "Collection Editor" +#: ../../mod/regmod.php:11 +msgid "Please login." msgstr "" -#: ../../mod/group.php:193 -msgid "Members" +#: ../../mod/xchan.php:6 +msgid "Xchan Lookup" msgstr "" -#: ../../mod/group.php:195 -msgid "All Connected Channels" +#: ../../mod/xchan.php:9 +msgid "Lookup xchan beginning with (or webbie): " msgstr "" -#: ../../mod/group.php:227 -msgid "Click on a channel to add or remove." +#: ../../mod/xchan.php:37 ../../mod/menu.php:162 ../../mod/mitem.php:116 +msgid "Not found." msgstr "" -#: ../../mod/connect.php:56 ../../mod/connect.php:104 -msgid "Continue" +#: ../../mod/channel.php:25 ../../mod/chat.php:19 +msgid "You must be logged in to see this page." msgstr "" -#: ../../mod/connect.php:85 -msgid "Premium Channel Setup" +#: ../../mod/channel.php:97 +msgid "Insufficient permissions. Request redirected to profile page." msgstr "" -#: ../../mod/connect.php:87 -msgid "Enable premium channel connection restrictions" +#: ../../mod/attach.php:9 +msgid "Item not available." msgstr "" -#: ../../mod/connect.php:88 -msgid "" -"Please enter your restrictions or conditions, such as paypal receipt, usage " -"guidelines, etc." +#: ../../mod/lockview.php:37 +msgid "Remote privacy information not available." msgstr "" -#: ../../mod/connect.php:90 ../../mod/connect.php:110 -msgid "" -"This channel may require additional steps or acknowledgement of the " -"following conditions prior to connecting:" +#: ../../mod/lockview.php:58 +msgid "Visible to:" msgstr "" -#: ../../mod/connect.php:91 -msgid "" -"Potential connections will then see the following text before proceeding:" +#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 +msgid "Export Channel" msgstr "" -#: ../../mod/connect.php:92 ../../mod/connect.php:113 +#: ../../mod/uexport.php:53 msgid "" -"By continuing, I certify that I have complied with any instructions provided " -"on this page." +"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 "" -#: ../../mod/connect.php:101 -msgid "(No specific instructions have been provided by the channel owner.)" +#: ../../mod/uexport.php:54 +msgid "Export Content" msgstr "" -#: ../../mod/connect.php:109 -msgid "Restricted or Premium Channel" +#: ../../mod/uexport.php:55 +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 "" -#: ../../mod/viewconnections.php:59 -msgid "No connections." +#: ../../mod/uexport.php:56 +msgid "Export your posts from a given year." msgstr "" -#: ../../mod/viewconnections.php:72 -#, php-format -msgid "Visit %s's profile [%s]" +#: ../../mod/uexport.php:58 +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 "" -#: ../../mod/locs.php:21 ../../mod/locs.php:50 -msgid "Location not found." +#: ../../mod/uexport.php:59 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a href=\"%1$s" +"\">%2$s</a>" msgstr "" -#: ../../mod/locs.php:58 -msgid "Location lookup failed." +#: ../../mod/uexport.php:60 +#, 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 "" -#: ../../mod/locs.php:62 +#: ../../mod/uexport.php:61 +#, php-format msgid "" -"Please select another location to become primary before removing the primary " -"location." +"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 "" -#: ../../mod/locs.php:91 -msgid "Syncing locations" +#: ../../mod/editpost.php:31 +msgid "Item is not editable" msgstr "" -#: ../../mod/locs.php:101 -msgid "No locations found." +#: ../../mod/editpost.php:57 +msgid "Delete item?" msgstr "" -#: ../../mod/locs.php:112 -msgid "Manage Channel Locations" +#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 +msgid "Edit post" msgstr "" -#: ../../mod/locs.php:113 -msgid "Location (address)" +#: ../../mod/follow.php:25 +msgid "Channel added." msgstr "" -#: ../../mod/locs.php:114 -msgid "Primary Location" +#: ../../mod/rmagic.php:40 +msgid "" +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." msgstr "" -#: ../../mod/locs.php:115 -msgid "Drop location" +#: ../../mod/rmagic.php:40 +msgid "The error message was:" msgstr "" -#: ../../mod/locs.php:117 -msgid "Sync now" +#: ../../mod/rmagic.php:44 +msgid "Authentication failed." msgstr "" -#: ../../mod/locs.php:118 -msgid "Please wait several minutes between consecutive operations." +#: ../../mod/rmagic.php:84 +msgid "Remote Authentication" msgstr "" -#: ../../mod/locs.php:119 -msgid "" -"When possible, drop a location by logging into that website/hub and removing " -"your channel." +#: ../../mod/rmagic.php:85 +msgid "Enter your channel address (e.g. channel@example.com)" msgstr "" -#: ../../mod/locs.php:120 -msgid "Use this form to drop the location if the hub is no longer operating." +#: ../../mod/rmagic.php:86 +msgid "Authenticate" msgstr "" -#: ../../mod/post.php:234 -msgid "" -"Remote authentication blocked. You are logged into this site locally. Please " -"logout and retry." +#: ../../mod/chat.php:174 +msgid "Room not found" msgstr "" -#: ../../mod/ffsapi.php:8 -msgid "Share content from Firefox to $Projectname" +#: ../../mod/chat.php:185 +msgid "Leave Room" msgstr "" -#: ../../mod/ffsapi.php:11 -msgid "Activate the Firefox $Projectname provider" +#: ../../mod/chat.php:186 +msgid "Delete This Room" msgstr "" -#: ../../mod/setup.php:191 -msgid "$Projectname Server - Setup" +#: ../../mod/chat.php:187 +msgid "I am away right now" msgstr "" -#: ../../mod/setup.php:195 -msgid "Could not connect to database." +#: ../../mod/chat.php:188 +msgid "I am online" msgstr "" -#: ../../mod/setup.php:199 -msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." +#: ../../mod/chat.php:190 +msgid "Bookmark this room" msgstr "" -#: ../../mod/setup.php:206 -msgid "Could not create table." +#: ../../mod/chat.php:208 ../../mod/chat.php:231 +msgid "New Chatroom" msgstr "" -#: ../../mod/setup.php:211 -msgid "Your site database has been installed." +#: ../../mod/chat.php:209 +msgid "Chatroom Name" msgstr "" -#: ../../mod/setup.php:215 -msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." +#: ../../mod/chat.php:210 +msgid "Expiration of chats (minutes)" msgstr "" -#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 -msgid "Please see the file \"install/INSTALL.txt\"." +#: ../../mod/chat.php:227 +#, php-format +msgid "%1$s's Chatrooms" msgstr "" -#: ../../mod/setup.php:281 -msgid "System check" +#: ../../mod/viewsrc.php:40 +msgid "Source of Item" msgstr "" -#: ../../mod/setup.php:286 -msgid "Check again" +#: ../../mod/ffsapi.php:8 +msgid "Share content from Firefox to $Projectname" msgstr "" -#: ../../mod/setup.php:308 -msgid "Database connection" +#: ../../mod/ffsapi.php:11 +msgid "Activate the Firefox $Projectname provider" msgstr "" -#: ../../mod/setup.php:309 -msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." +#: ../../mod/magic.php:69 +msgid "Hub not found." msgstr "" -#: ../../mod/setup.php:310 -msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." +#: ../../mod/connections.php:52 ../../mod/connections.php:150 +msgid "Blocked" msgstr "" -#: ../../mod/setup.php:311 -msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." +#: ../../mod/connections.php:57 ../../mod/connections.php:157 +msgid "Ignored" msgstr "" -#: ../../mod/setup.php:315 -msgid "Database Server Name" +#: ../../mod/connections.php:62 ../../mod/connections.php:171 +msgid "Hidden" msgstr "" -#: ../../mod/setup.php:315 -msgid "Default is 127.0.0.1" +#: ../../mod/connections.php:67 ../../mod/connections.php:164 +msgid "Archived" msgstr "" -#: ../../mod/setup.php:316 -msgid "Database Port" +#: ../../mod/connections.php:128 +msgid "Suggest new connections" msgstr "" -#: ../../mod/setup.php:316 -msgid "Communication port number - use 0 for default" +#: ../../mod/connections.php:131 +msgid "New Connections" msgstr "" -#: ../../mod/setup.php:317 -msgid "Database Login Name" +#: ../../mod/connections.php:134 +msgid "Show pending (new) connections" msgstr "" -#: ../../mod/setup.php:318 -msgid "Database Login Password" +#: ../../mod/connections.php:137 ../../mod/profperm.php:139 +msgid "All Connections" msgstr "" -#: ../../mod/setup.php:319 -msgid "Database Name" +#: ../../mod/connections.php:140 +msgid "Show all connections" msgstr "" -#: ../../mod/setup.php:320 -msgid "Database Type" +#: ../../mod/connections.php:143 +msgid "Unblocked" msgstr "" -#: ../../mod/setup.php:322 ../../mod/setup.php:363 -msgid "Site administrator email address" +#: ../../mod/connections.php:146 +msgid "Only show unblocked connections" msgstr "" -#: ../../mod/setup.php:322 ../../mod/setup.php:363 -msgid "" -"Your account email address must match this in order to use the web admin " -"panel." +#: ../../mod/connections.php:153 +msgid "Only show blocked connections" msgstr "" -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Website URL" +#: ../../mod/connections.php:160 +msgid "Only show ignored connections" msgstr "" -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Please use SSL (https) URL if available." +#: ../../mod/connections.php:167 +msgid "Only show archived connections" msgstr "" -#: ../../mod/setup.php:325 ../../mod/setup.php:367 -msgid "Please select a default timezone for your website" +#: ../../mod/connections.php:174 +msgid "Only show hidden connections" msgstr "" -#: ../../mod/setup.php:352 -msgid "Site settings" +#: ../../mod/connections.php:225 +#, php-format +msgid "%1$s [%2$s]" msgstr "" -#: ../../mod/setup.php:417 -msgid "Could not find a command line version of PHP in the web server PATH." +#: ../../mod/connections.php:226 +msgid "Edit connection" msgstr "" -#: ../../mod/setup.php:418 -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." +#: ../../mod/connections.php:264 +msgid "Search your connections" msgstr "" -#: ../../mod/setup.php:422 -msgid "PHP executable path" +#: ../../mod/connections.php:265 +msgid "Finding: " msgstr "" -#: ../../mod/setup.php:422 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." +#: ../../mod/help.php:147 +msgid "Documentation Search" msgstr "" -#: ../../mod/setup.php:427 -msgid "Command line PHP" +#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 +msgid "Help:" msgstr "" -#: ../../mod/setup.php:436 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." +#: ../../mod/help.php:211 ../../index.php:238 +msgid "Not Found" msgstr "" -#: ../../mod/setup.php:437 -msgid "This is required for message delivery to work." +#: ../../mod/help.php:235 +msgid "$Projectname Documentation" msgstr "" -#: ../../mod/setup.php:440 -msgid "PHP register_argc_argv" +#: ../../mod/manage.php:130 +#, php-format +msgid "You have created %1$.0f of %2$.0f allowed channels." msgstr "" -#: ../../mod/setup.php:458 -#, 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." +#: ../../mod/manage.php:138 +msgid "Create a new channel" msgstr "" -#: ../../mod/setup.php:463 -msgid "You can adjust these settings in the servers php.ini." +#: ../../mod/manage.php:161 +msgid "Current Channel" msgstr "" -#: ../../mod/setup.php:465 -msgid "PHP upload limits" +#: ../../mod/manage.php:163 +msgid "Switch to one of your channels by selecting it." msgstr "" -#: ../../mod/setup.php:488 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" +#: ../../mod/manage.php:164 +msgid "Default Channel" msgstr "" -#: ../../mod/setup.php:489 -msgid "" -"If running under Windows, please see \"http://www.php.net/manual/en/openssl." -"installation.php\"." +#: ../../mod/manage.php:165 +msgid "Make Default" msgstr "" -#: ../../mod/setup.php:492 -msgid "Generate encryption keys" +#: ../../mod/manage.php:168 +#, php-format +msgid "%d new messages" msgstr "" -#: ../../mod/setup.php:504 -msgid "libCurl PHP module" +#: ../../mod/manage.php:169 +#, php-format +msgid "%d new introductions" msgstr "" -#: ../../mod/setup.php:505 -msgid "GD graphics PHP module" +#: ../../mod/manage.php:171 +msgid "Delegated Channels" msgstr "" -#: ../../mod/setup.php:506 -msgid "OpenSSL PHP module" +#: ../../mod/menu.php:45 +msgid "Unable to update menu." msgstr "" -#: ../../mod/setup.php:507 -msgid "mysqli or postgres PHP module" +#: ../../mod/menu.php:56 +msgid "Unable to create menu." msgstr "" -#: ../../mod/setup.php:508 -msgid "mb_string PHP module" +#: ../../mod/menu.php:94 ../../mod/menu.php:106 +msgid "Menu Name" msgstr "" -#: ../../mod/setup.php:509 -msgid "mcrypt PHP module" +#: ../../mod/menu.php:94 +msgid "Unique name (not visible on webpage) - required" msgstr "" -#: ../../mod/setup.php:510 -msgid "xml PHP module" +#: ../../mod/menu.php:95 ../../mod/menu.php:107 +msgid "Menu Title" msgstr "" -#: ../../mod/setup.php:514 ../../mod/setup.php:516 -msgid "Apache mod_rewrite module" +#: ../../mod/menu.php:95 +msgid "Visible on webpage - leave empty for no title" msgstr "" -#: ../../mod/setup.php:514 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." +#: ../../mod/menu.php:96 +msgid "Allow Bookmarks" msgstr "" -#: ../../mod/setup.php:520 ../../mod/setup.php:523 -msgid "proc_open" +#: ../../mod/menu.php:96 ../../mod/menu.php:153 +msgid "Menu may be used to store saved bookmarks" msgstr "" -#: ../../mod/setup.php:520 -msgid "" -"Error: proc_open is required but is either not installed or has been " -"disabled in php.ini" +#: ../../mod/menu.php:97 ../../mod/menu.php:155 +msgid "Submit and proceed" msgstr "" -#: ../../mod/setup.php:528 -msgid "Error: libCURL PHP module required but not installed." +#: ../../mod/menu.php:109 +msgid "Drop" msgstr "" -#: ../../mod/setup.php:532 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." +#: ../../mod/menu.php:113 +msgid "Bookmarks allowed" msgstr "" -#: ../../mod/setup.php:536 -msgid "Error: openssl PHP module required but not installed." +#: ../../mod/menu.php:115 +msgid "Delete this menu" msgstr "" -#: ../../mod/setup.php:540 -msgid "" -"Error: mysqli or postgres PHP module required but neither are installed." +#: ../../mod/menu.php:116 ../../mod/menu.php:150 +msgid "Edit menu contents" msgstr "" -#: ../../mod/setup.php:544 -msgid "Error: mb_string PHP module required but not installed." +#: ../../mod/menu.php:117 +msgid "Edit this menu" msgstr "" -#: ../../mod/setup.php:548 -msgid "Error: mcrypt PHP module required but not installed." +#: ../../mod/menu.php:132 +msgid "Menu could not be deleted." msgstr "" -#: ../../mod/setup.php:552 -msgid "Error: xml PHP module required for DAV but not installed." +#: ../../mod/menu.php:140 ../../mod/mitem.php:24 +msgid "Menu not found." msgstr "" -#: ../../mod/setup.php:570 -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." +#: ../../mod/menu.php:145 +msgid "Edit Menu" msgstr "" -#: ../../mod/setup.php:571 -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." +#: ../../mod/menu.php:149 +msgid "Add or remove entries to this menu" msgstr "" -#: ../../mod/setup.php:572 -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." +#: ../../mod/menu.php:151 +msgid "Menu name" msgstr "" -#: ../../mod/setup.php:573 -msgid "" -"You can alternatively skip this procedure and perform a manual installation. " -"Please see the file \"install/INSTALL.txt\" for instructions." +#: ../../mod/menu.php:151 +msgid "Must be unique, only seen by you" msgstr "" -#: ../../mod/setup.php:576 -msgid ".htconfig.php is writable" +#: ../../mod/menu.php:152 +msgid "Menu title" msgstr "" -#: ../../mod/setup.php:590 -msgid "" -"Red uses the Smarty3 template engine to render its web views. Smarty3 " -"compiles templates to PHP to speed up rendering." +#: ../../mod/menu.php:152 +msgid "Menu title as seen by others" msgstr "" -#: ../../mod/setup.php:591 -#, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the Red top level folder." +#: ../../mod/menu.php:153 +msgid "Allow bookmarks" msgstr "" -#: ../../mod/setup.php:592 ../../mod/setup.php:613 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has " -"write access to this folder." +#: ../../mod/mail.php:33 +msgid "Unable to lookup recipient." msgstr "" -#: ../../mod/setup.php:593 -#, 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." +#: ../../mod/mail.php:41 +msgid "Unable to communicate with requested channel." msgstr "" -#: ../../mod/setup.php:596 -#, php-format -msgid "%s is writable" +#: ../../mod/mail.php:48 +msgid "Cannot verify requested channel." msgstr "" -#: ../../mod/setup.php:612 -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" +#: ../../mod/mail.php:74 +msgid "Selected channel has private message restrictions. Send failed." msgstr "" -#: ../../mod/setup.php:616 -msgid "store is writable" +#: ../../mod/mail.php:132 +msgid "Messages" msgstr "" -#: ../../mod/setup.php:649 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access " -"to this site." +#: ../../mod/mail.php:167 +msgid "Message recalled." msgstr "" -#: ../../mod/setup.php:650 -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!" +#: ../../mod/mail.php:180 +msgid "Conversation removed." msgstr "" -#: ../../mod/setup.php:651 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." +#: ../../mod/mail.php:223 +msgid "Requested channel is not in this network" msgstr "" -#: ../../mod/setup.php:652 -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." +#: ../../mod/mail.php:231 +msgid "Send Private Message" msgstr "" -#: ../../mod/setup.php:653 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." +#: ../../mod/mail.php:232 ../../mod/mail.php:362 +msgid "To:" msgstr "" -#: ../../mod/setup.php:654 -msgid "" -"Providers are available that issue free certificates which are browser-valid." +#: ../../mod/mail.php:235 ../../mod/mail.php:364 +msgid "Subject:" msgstr "" -#: ../../mod/setup.php:656 -msgid "SSL certificate validation" +#: ../../mod/mail.php:242 +msgid "Send" msgstr "" -#: ../../mod/setup.php:662 -msgid "" -"Url rewrite in .htaccess is not working. Check your server configuration." -"Test: " +#: ../../mod/mail.php:334 +msgid "Delete message" msgstr "" -#: ../../mod/setup.php:665 -msgid "Url rewrite is working" +#: ../../mod/mail.php:335 +msgid "Delivery report" msgstr "" -#: ../../mod/setup.php:674 -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." +#: ../../mod/mail.php:336 +msgid "Recall message" msgstr "" -#: ../../mod/setup.php:698 -msgid "Errors encountered creating database tables." +#: ../../mod/mail.php:338 +msgid "Message has been recalled." msgstr "" -#: ../../mod/setup.php:732 -msgid "<h1>What next</h1>" +#: ../../mod/mail.php:355 +msgid "Delete Conversation" msgstr "" -#: ../../mod/setup.php:733 +#: ../../mod/mail.php:357 msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." msgstr "" -#: ../../mod/sharedwithme.php:94 -msgid "Files: shared with me" +#: ../../mod/mail.php:361 +msgid "Send Reply" msgstr "" -#: ../../mod/sharedwithme.php:96 -msgid "NEW" +#: ../../mod/mail.php:366 +#, php-format +msgid "Your message for %s (%s):" msgstr "" -#: ../../mod/sharedwithme.php:99 -msgid "Remove all files" +#: ../../mod/post.php:234 +msgid "" +"Remote authentication blocked. You are logged into this site locally. Please " +"logout and retry." msgstr "" -#: ../../mod/sharedwithme.php:100 -msgid "Remove this file" +#: ../../mod/service_limits.php:19 +msgid "No service class restrictions found." msgstr "" -#: ../../mod/siteinfo.php:111 +#: ../../mod/siteinfo.php:15 #, php-format msgid "Version %s" msgstr "" -#: ../../mod/siteinfo.php:132 +#: ../../mod/siteinfo.php:36 msgid "Installed plugins/addons/apps:" msgstr "" -#: ../../mod/siteinfo.php:145 +#: ../../mod/siteinfo.php:49 msgid "No installed plugins/addons/apps" msgstr "" -#: ../../mod/siteinfo.php:158 +#: ../../mod/siteinfo.php:62 msgid "" "This is a hub of $Projectname - a global cooperative network of " "decentralized privacy enhanced websites." msgstr "" -#: ../../mod/siteinfo.php:160 +#: ../../mod/siteinfo.php:64 msgid "Tag: " msgstr "" -#: ../../mod/siteinfo.php:162 +#: ../../mod/siteinfo.php:66 msgid "Last background fetch: " msgstr "" -#: ../../mod/siteinfo.php:164 +#: ../../mod/siteinfo.php:68 msgid "Current load average: " msgstr "" -#: ../../mod/siteinfo.php:167 +#: ../../mod/siteinfo.php:71 msgid "Running at web location" msgstr "" -#: ../../mod/siteinfo.php:168 +#: ../../mod/siteinfo.php:72 msgid "" "Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more " "about $Projectname." msgstr "" -#: ../../mod/siteinfo.php:169 +#: ../../mod/siteinfo.php:73 msgid "Bug reports and issues: please visit" msgstr "" -#: ../../mod/siteinfo.php:171 +#: ../../mod/siteinfo.php:75 msgid "$projectname issues" msgstr "" -#: ../../mod/siteinfo.php:172 +#: ../../mod/siteinfo.php:76 msgid "" "Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com" msgstr "" -#: ../../mod/siteinfo.php:174 +#: ../../mod/siteinfo.php:78 msgid "Site Administrators" msgstr "" @@ -8843,301 +8901,287 @@ msgid "" "hours." msgstr "" -#: ../../mod/profiles.php:18 ../../mod/profiles.php:174 -#: ../../mod/profiles.php:231 ../../mod/profiles.php:600 -msgid "Profile not found." -msgstr "" - -#: ../../mod/profiles.php:38 -msgid "Profile deleted." -msgstr "" - -#: ../../mod/profiles.php:56 ../../mod/profiles.php:92 -msgid "Profile-" -msgstr "" - -#: ../../mod/profiles.php:77 ../../mod/profiles.php:120 -msgid "New profile created." -msgstr "" - -#: ../../mod/profiles.php:98 -msgid "Profile unavailable to clone." +#: ../../mod/events.php:21 +msgid "Calendar entries imported." msgstr "" -#: ../../mod/profiles.php:136 -msgid "Profile unavailable to export." +#: ../../mod/events.php:23 +msgid "No calendar entries found." msgstr "" -#: ../../mod/profiles.php:241 -msgid "Profile Name is required." +#: ../../mod/events.php:100 +msgid "Event can not end before it has started." msgstr "" -#: ../../mod/profiles.php:404 -msgid "Marital Status" +#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131 +msgid "Unable to generate preview." msgstr "" -#: ../../mod/profiles.php:408 -msgid "Romantic Partner" +#: ../../mod/events.php:109 +msgid "Event title and start time are required." msgstr "" -#: ../../mod/profiles.php:412 -msgid "Likes" +#: ../../mod/events.php:129 ../../mod/events.php:254 +msgid "Event not found." msgstr "" -#: ../../mod/profiles.php:416 -msgid "Dislikes" +#: ../../mod/events.php:437 +msgid "Edit event titel" msgstr "" -#: ../../mod/profiles.php:420 -msgid "Work/Employment" +#: ../../mod/events.php:437 +msgid "Event titel" msgstr "" -#: ../../mod/profiles.php:423 -msgid "Religion" +#: ../../mod/events.php:439 +msgid "Categories (comma-separated list)" msgstr "" -#: ../../mod/profiles.php:427 -msgid "Political Views" +#: ../../mod/events.php:440 +msgid "Edit Category" msgstr "" -#: ../../mod/profiles.php:435 -msgid "Sexual Preference" +#: ../../mod/events.php:440 +msgid "Category" msgstr "" -#: ../../mod/profiles.php:439 -msgid "Homepage" +#: ../../mod/events.php:443 +msgid "Edit start date and time" msgstr "" -#: ../../mod/profiles.php:443 -msgid "Interests" +#: ../../mod/events.php:443 +msgid "Start date and time" msgstr "" -#: ../../mod/profiles.php:537 -msgid "Profile updated." +#: ../../mod/events.php:444 ../../mod/events.php:447 +msgid "Finish date and time are not known or not relevant" msgstr "" -#: ../../mod/profiles.php:626 -msgid "Hide your contact/friend list from viewers of this profile?" +#: ../../mod/events.php:446 +msgid "Edit finish date and time" msgstr "" -#: ../../mod/profiles.php:666 -msgid "Edit Profile Details" +#: ../../mod/events.php:446 +msgid "Finish date and time" msgstr "" -#: ../../mod/profiles.php:668 -msgid "View this profile" +#: ../../mod/events.php:448 ../../mod/events.php:449 +msgid "Adjust for viewer timezone" msgstr "" -#: ../../mod/profiles.php:670 -msgid "Change Profile Photo" +#: ../../mod/events.php:448 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." msgstr "" -#: ../../mod/profiles.php:671 -msgid "Create a new profile using these settings" +#: ../../mod/events.php:450 +msgid "Edit Description" msgstr "" -#: ../../mod/profiles.php:672 -msgid "Clone this profile" +#: ../../mod/events.php:452 +msgid "Edit Location" msgstr "" -#: ../../mod/profiles.php:673 -msgid "Delete this profile" +#: ../../mod/events.php:455 ../../mod/events.php:457 +msgid "Share this event" msgstr "" -#: ../../mod/profiles.php:675 -msgid "Import profile from file" +#: ../../mod/events.php:462 +msgid "Advanced Options" msgstr "" -#: ../../mod/profiles.php:676 -msgid "Export profile to file" +#: ../../mod/events.php:574 +msgid "l, F j" msgstr "" -#: ../../mod/profiles.php:677 -msgid "Profile Name:" +#: ../../mod/events.php:596 +msgid "Edit event" msgstr "" -#: ../../mod/profiles.php:678 -msgid "Your Full Name:" +#: ../../mod/events.php:598 +msgid "Delete event" msgstr "" -#: ../../mod/profiles.php:679 -msgid "Title/Description:" +#: ../../mod/events.php:632 +msgid "calendar" msgstr "" -#: ../../mod/profiles.php:680 -msgid "Your Gender:" +#: ../../mod/events.php:651 +msgid "Edit Event" msgstr "" -#: ../../mod/profiles.php:681 -msgid "Birthday :" +#: ../../mod/events.php:651 +msgid "Create Event" msgstr "" -#: ../../mod/profiles.php:682 -msgid "Street Address:" +#: ../../mod/events.php:661 +msgid "Today" msgstr "" -#: ../../mod/profiles.php:683 -msgid "Locality/City:" +#: ../../mod/events.php:692 +msgid "Event removed" msgstr "" -#: ../../mod/profiles.php:684 -msgid "Postal/Zip Code:" +#: ../../mod/events.php:695 +msgid "Failed to remove event" msgstr "" -#: ../../mod/profiles.php:685 -msgid "Country:" +#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 +msgid "Invalid profile identifier." msgstr "" -#: ../../mod/profiles.php:686 -msgid "Region/State:" +#: ../../mod/profperm.php:110 +msgid "Profile Visibility Editor" msgstr "" -#: ../../mod/profiles.php:687 -msgid "<span class=\"heart\">♥</span> Marital Status:" +#: ../../mod/profperm.php:114 +msgid "Click on a contact to add or remove." msgstr "" -#: ../../mod/profiles.php:688 -msgid "Who: (if applicable)" +#: ../../mod/profperm.php:123 +msgid "Visible To" msgstr "" -#: ../../mod/profiles.php:689 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +#: ../../mod/mitem.php:48 +msgid "Unable to create element." msgstr "" -#: ../../mod/profiles.php:690 -msgid "Since [date]:" +#: ../../mod/mitem.php:72 +msgid "Unable to update menu element." msgstr "" -#: ../../mod/profiles.php:692 -msgid "Homepage URL:" +#: ../../mod/mitem.php:88 +msgid "Unable to add menu element." msgstr "" -#: ../../mod/profiles.php:695 -msgid "Religious Views:" +#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 +msgid "Menu Item Permissions" msgstr "" -#: ../../mod/profiles.php:696 -msgid "Keywords:" +#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 +msgid "Link Name" msgstr "" -#: ../../mod/profiles.php:699 -msgid "Example: fishing photography software" +#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 +msgid "Link or Submenu Target" msgstr "" -#: ../../mod/profiles.php:700 -msgid "Used in directory listings" +#: ../../mod/mitem.php:153 +msgid "Enter URL of the link or select a menu name to create a submenu" msgstr "" -#: ../../mod/profiles.php:701 -msgid "Tell us about yourself..." +#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 +msgid "Use magic-auth if available" msgstr "" -#: ../../mod/profiles.php:702 -msgid "Hobbies/Interests" +#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 +msgid "Open link in new window" msgstr "" -#: ../../mod/profiles.php:703 -msgid "Contact information and Social Networks" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Order in list" msgstr "" -#: ../../mod/profiles.php:704 -msgid "My other channels" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Higher numbers will sink to bottom of listing" msgstr "" -#: ../../mod/profiles.php:705 -msgid "Musical interests" +#: ../../mod/mitem.php:157 +msgid "Submit and finish" msgstr "" -#: ../../mod/profiles.php:706 -msgid "Books, literature" +#: ../../mod/mitem.php:158 +msgid "Submit and continue" msgstr "" -#: ../../mod/profiles.php:707 -msgid "Television" +#: ../../mod/mitem.php:166 +msgid "Menu:" msgstr "" -#: ../../mod/profiles.php:708 -msgid "Film/dance/culture/entertainment" +#: ../../mod/mitem.php:169 +msgid "Link Target" msgstr "" -#: ../../mod/profiles.php:709 -msgid "Love/romance" +#: ../../mod/mitem.php:172 +msgid "Edit menu" msgstr "" -#: ../../mod/profiles.php:710 -msgid "Work/employment" +#: ../../mod/mitem.php:175 +msgid "Edit element" msgstr "" -#: ../../mod/profiles.php:711 -msgid "School/education" +#: ../../mod/mitem.php:176 +msgid "Drop element" msgstr "" -#: ../../mod/profiles.php:717 -msgid "This is your default profile." +#: ../../mod/mitem.php:177 +msgid "New element" msgstr "" -#: ../../mod/profiles.php:728 -msgid "Age: " +#: ../../mod/mitem.php:178 +msgid "Edit this menu container" msgstr "" -#: ../../mod/profiles.php:771 -msgid "Edit/Manage Profiles" +#: ../../mod/mitem.php:179 +msgid "Add menu element" msgstr "" -#: ../../mod/profiles.php:772 -msgid "Add profile things" +#: ../../mod/mitem.php:180 +msgid "Delete this menu item" msgstr "" -#: ../../mod/profiles.php:773 -msgid "Include desirable objects in your profile" +#: ../../mod/mitem.php:181 +msgid "Edit this menu item" msgstr "" -#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 -msgid "Invalid profile identifier." +#: ../../mod/mitem.php:198 +msgid "Menu item not found." msgstr "" -#: ../../mod/profperm.php:110 -msgid "Profile Visibility Editor" +#: ../../mod/mitem.php:211 +msgid "Menu item deleted." msgstr "" -#: ../../mod/profperm.php:114 -msgid "Click on a contact to add or remove." +#: ../../mod/mitem.php:213 +msgid "Menu item could not be deleted." msgstr "" -#: ../../mod/profperm.php:123 -msgid "Visible To" +#: ../../mod/mitem.php:220 +msgid "Edit Menu Element" msgstr "" -#: ../../mod/rbmark.php:90 -msgid "Select a bookmark folder" +#: ../../mod/mitem.php:226 +msgid "Link text" msgstr "" -#: ../../mod/rbmark.php:95 -msgid "Save Bookmark" +#: ../../mod/wholikesme.php:13 +msgid "Who likes me?" msgstr "" -#: ../../mod/rbmark.php:96 -msgid "URL of bookmark" +#: ../../mod/sharedwithme.php:94 +msgid "Files: shared with me" msgstr "" -#: ../../mod/rbmark.php:101 -msgid "Or enter new bookmark folder name" +#: ../../mod/sharedwithme.php:96 +msgid "NEW" msgstr "" -#: ../../mod/import_items.php:101 -msgid "Import completed" +#: ../../mod/sharedwithme.php:99 +msgid "Remove all files" msgstr "" -#: ../../mod/import_items.php:119 -msgid "Import Items" +#: ../../mod/sharedwithme.php:100 +msgid "Remove this file" msgstr "" -#: ../../mod/import_items.php:120 -msgid "Use this form to import existing posts and content from an export file." +#: ../../mod/viewconnections.php:59 +msgid "No connections." msgstr "" -#: ../../mod/wholikesme.php:13 -msgid "Who likes me?" +#: ../../mod/viewconnections.php:72 +#, php-format +msgid "Visit %s's profile [%s]" msgstr "" #: ../../view/theme/redbasic/php/config.php:82 @@ -9276,51 +9320,51 @@ msgstr "" msgid "Set size of followup author photos" msgstr "" -#: ../../boot.php:1291 +#: ../../boot.php:1292 #, php-format msgid "Update %s failed. See error logs." msgstr "" -#: ../../boot.php:1294 +#: ../../boot.php:1295 #, php-format msgid "Update Error at %s" msgstr "" -#: ../../boot.php:1461 +#: ../../boot.php:1462 msgid "" "Create an account to access services and applications within the Hubzilla" msgstr "" -#: ../../boot.php:1489 +#: ../../boot.php:1484 msgid "Password" msgstr "" -#: ../../boot.php:1490 +#: ../../boot.php:1485 msgid "Remember me" msgstr "" -#: ../../boot.php:1493 +#: ../../boot.php:1488 msgid "Forgot your password?" msgstr "" -#: ../../boot.php:2113 +#: ../../boot.php:2108 msgid "toggle mobile" msgstr "" -#: ../../boot.php:2248 +#: ../../boot.php:2243 msgid "Website SSL certificate is not valid. Please correct." msgstr "" -#: ../../boot.php:2251 +#: ../../boot.php:2246 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "" -#: ../../boot.php:2288 +#: ../../boot.php:2283 msgid "Cron/Scheduled tasks not running." msgstr "" -#: ../../boot.php:2292 +#: ../../boot.php:2287 #, php-format msgid "[hubzilla] Cron tasks not running on %s" msgstr "" diff --git a/util/typo.php b/util/typo.php index 4e51cd37c..2e25c8306 100644 --- a/util/typo.php +++ b/util/typo.php @@ -33,6 +33,13 @@ include_once($file); } + echo "Directory: Zotlabs\n"; + $files = glob('Zotlabs/*/*.php'); + foreach($files as $file) { + echo $file . "\n"; + include_once($file); + } + echo "Directory: include/photo\n"; $files = glob('include/photo/*.php'); diff --git a/util/update_addon_repo b/util/update_addon_repo index 5b531e6a5..ba1862f4b 100755 --- a/util/update_addon_repo +++ b/util/update_addon_repo @@ -7,7 +7,12 @@ if [ $# -ne 1 ]; then exit 1 fi -cd extend/addon/$1 +if [ -d extend/addon/$1 ] ; then + cd extend/addon/$1 +else + echo "$1 not found. Aborting..." + exit 1 +fi if [ -d .git ] ; then git pull diff --git a/version.inc b/version.inc index 73b68f33e..8ef02f56e 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2015-11-26.1228 +2015-12-10.1242 diff --git a/view/css/conversation.css b/view/css/conversation.css index 24a22defb..d49359f46 100644 --- a/view/css/conversation.css +++ b/view/css/conversation.css @@ -248,12 +248,32 @@ a.wall-item-name-link { /* event item */ +.event-item-title h3 { + margin: 0px 0px 10px 0px; + font-weight: bold; +} + +.event-item-description { + padding-bottom: 10px; +} + +.event-item-label { + font-weight: bold; +} + +/* vevent */ + .event-title h3 { margin: 0px 0px 10px 0px; font-weight: bold; } +.vevent { + padding-top: 10px; +} + .event-description { + padding-top: 10px; padding-bottom: 10px; } diff --git a/view/css/mod_directory.css b/view/css/mod_directory.css index 5a2b8d443..9bfea856d 100644 --- a/view/css/mod_directory.css +++ b/view/css/mod_directory.css @@ -4,8 +4,8 @@ border: none; } -.directory-item { - margin-bottom: 20px; +.section-content-tools-wrapper { + padding-bottom: 20px; } .contact-photo-wrapper { diff --git a/view/css/mod_events.css b/view/css/mod_events.css index dd1b8afd4..e72464539 100644 --- a/view/css/mod_events.css +++ b/view/css/mod_events.css @@ -4,6 +4,16 @@ margin-bottom: -1px; } +.fc-unthemed th, +.fc-unthemed td, +.fc-unthemed thead, +.fc-unthemed tbody, +.fc-unthemed .fc-divider, +.fc-unthemed .fc-row, +.fc-unthemed .fc-popover { + border-color: #ccc !important; +} + #events-spinner .spinner { margin-top: 9px; margin-bottom: -9px; @@ -14,21 +24,21 @@ padding: 6px 12px; } -.event-wrapper { +.event-wrapper, +.vevent { max-width: 700px; - height: auto; - padding: 10px; } .event-owner { - margin-bottom: 15px; + padding: 10px; } .event-owner img { margin-right: 5px; } -.event-buttons, -.event-description { - margin-top: 10px; +.vevent, +.event-buttons { + padding: 10px; } + diff --git a/view/css/mod_home.css b/view/css/mod_home.css new file mode 100644 index 000000000..d4cf37253 --- /dev/null +++ b/view/css/mod_home.css @@ -0,0 +1,15 @@ +.home-welcome { + text-align: center; +} + +.generic-content-wrapper-styled { + margin-left: auto; + margin-right: auto; + max-width: 420px; + font-size: 1.1em; +} + +#login-main { + max-width: 400px; + margin-top: 50px; +} diff --git a/view/css/mod_login.css b/view/css/mod_login.css new file mode 100644 index 000000000..a086c50df --- /dev/null +++ b/view/css/mod_login.css @@ -0,0 +1,23 @@ +.generic-content-wrapper-styled { + margin-left: auto; + margin-right: auto; + max-width: 420px; + font-size: 1.1em; +} + +#login-main { + max-width: 400px; + margin-top: 50px; +} + +@media (min-width: 768px) and (max-width: 991px) { + #region_1 { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + #region_3 { + display: table-cell !important; + } +} diff --git a/view/css/mod_mail.css b/view/css/mod_mail.css index 5fd646765..843d1274c 100644 --- a/view/css/mod_mail.css +++ b/view/css/mod_mail.css @@ -24,3 +24,11 @@ #prvmail-rotator { margin: 15px; } + +#prvmail-text { + height: 20.0em; +} + +.mail-conv-outside-wrapper { + margin-bottom: 20px; +} diff --git a/view/css/mod_register.css b/view/css/mod_register.css index b662610ae..618b7ce95 100644 --- a/view/css/mod_register.css +++ b/view/css/mod_register.css @@ -1,31 +1,35 @@ h2 { - margin-left: 5%; - margin-top: 5%; + margin: 20px 0 20px 5%; } -#register-form { - font-size: 1.4em; - margin-left: 10%; - margin-top: 5%; +.generic-content-wrapper-styled { + margin-left: auto; + margin-right: auto; + max-width: 820px; + font-size: 1.1em; } -#register-desc, #register-text, #register-sites { + +#register-desc, #register-invite-desc, #register-text, #register-sites { font-weight: bold; margin-bottom: 15px; padding: 8px; border: 1px solid #ccc; } -.register-label { +@media (min-width: 560px) { +.register-label, .register-input { float: left; - width: 275px; + width: 50%; +} } -.register-input { +@media (max-width: 559px) { +.register-label, .register-input { float: left; - width: 275px; - padding: 5px; + max-width: 400px; +} } .register-feedback { diff --git a/view/css/widgets.css b/view/css/widgets.css index eb771cc06..f1c1436c7 100644 --- a/view/css/widgets.css +++ b/view/css/widgets.css @@ -124,3 +124,12 @@ li:hover .group-edit-icon { width: 250px; } +/* events tools */ + +#event-upload-form { + margin-top: 10px; +} + +#event-upload-choose { + width: 100%; +} diff --git a/view/en/update_fail_eml.tpl b/view/en/update_fail_eml.tpl index 61f44b1e6..86bb61aaa 100644 --- a/view/en/update_fail_eml.tpl +++ b/view/en/update_fail_eml.tpl @@ -4,7 +4,7 @@ I'm the web server at {{$sitename}}; The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
-Please contact a Red developer if you can not figure out how to
+Please contact a project developer if you can not figure out how to
fix it on your own. My database might be invalid.
The error message is '{{$error}}'.
diff --git a/view/es/hmessages.po b/view/es/hmessages.po index eea1d43de..27ad2c772 100644 --- a/view/es/hmessages.po +++ b/view/es/hmessages.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: Redmatrix\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-20 00:03-0800\n" -"PO-Revision-Date: 2015-11-20 12:03+0000\n" +"POT-Creation-Date: 2015-12-04 00:03-0800\n" +"PO-Revision-Date: 2015-12-06 18:09+0000\n" "Last-Translator: Manuel Jiménez Friaza <mjfriaza@openmailbox.org>\n" "Language-Team: Spanish (http://www.transifex.com/Friendica/red-matrix/language/es/)\n" "MIME-Version: 1.0\n" @@ -23,24 +23,114 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../include/Import/import_diaspora.php:17 -msgid "No username found in import file." -msgstr "No se ha encontrado el nombre de usuario en el fichero importado." +#: ../../include/Contact.php:101 ../../include/identity.php:953 +#: ../../include/widgets.php:137 ../../include/widgets.php:175 +#: ../../include/conversation.php:953 ../../mod/match.php:64 +#: ../../mod/directory.php:318 ../../mod/suggest.php:52 +msgid "Connect" +msgstr "Conectar" + +#: ../../include/Contact.php:118 +msgid "New window" +msgstr "Nueva ventana" + +#: ../../include/Contact.php:119 +msgid "Open the selected location in a different window or browser tab" +msgstr "Abrir la dirección seleccionada en una ventana o pestaña aparte" + +#: ../../include/Contact.php:237 +#, php-format +msgid "User '%s' deleted" +msgstr "El usuario '%s' ha sido eliminado" -#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44 +#: ../../include/chat.php:23 +msgid "Missing room name" +msgstr "Sala de chat sin nombre" + +#: ../../include/chat.php:32 +msgid "Duplicate room name" +msgstr "Nombre de sala duplicado." + +#: ../../include/chat.php:82 ../../include/chat.php:90 +msgid "Invalid room specifier." +msgstr "Especificador de sala no válido." + +#: ../../include/chat.php:122 +msgid "Room not found." +msgstr "Sala no encontrada." + +#: ../../include/chat.php:133 ../../include/items.php:4398 +#: ../../include/attach.php:140 ../../include/attach.php:188 +#: ../../include/attach.php:251 ../../include/attach.php:265 +#: ../../include/attach.php:272 ../../include/attach.php:337 +#: ../../include/attach.php:351 ../../include/attach.php:358 +#: ../../include/attach.php:436 ../../include/attach.php:884 +#: ../../include/attach.php:955 ../../include/attach.php:1107 +#: ../../include/photos.php:29 ../../mod/filestorage.php:18 +#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88 +#: ../../mod/filestorage.php:115 ../../mod/group.php:9 ../../mod/item.php:205 +#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/common.php:35 +#: ../../mod/achievements.php:30 ../../mod/rate.php:111 +#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/id.php:71 +#: ../../mod/like.php:177 ../../mod/page.php:31 ../../mod/page.php:86 +#: ../../mod/mood.php:112 ../../mod/new_channel.php:68 +#: ../../mod/new_channel.php:99 ../../mod/setup.php:227 +#: ../../mod/bookmarks.php:48 ../../mod/poke.php:133 +#: ../../mod/profiles.php:198 ../../mod/profiles.php:584 +#: ../../mod/connedit.php:352 ../../mod/editwebpage.php:64 +#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101 +#: ../../mod/editwebpage.php:125 ../../mod/profile.php:64 +#: ../../mod/profile.php:72 ../../mod/api.php:26 ../../mod/api.php:31 +#: ../../mod/fsuggest.php:78 ../../mod/sources.php:66 +#: ../../mod/notifications.php:66 ../../mod/photos.php:70 +#: ../../mod/profile_photo.php:341 ../../mod/profile_photo.php:354 +#: ../../mod/thing.php:271 ../../mod/thing.php:291 ../../mod/thing.php:328 +#: ../../mod/editblock.php:65 ../../mod/network.php:12 +#: ../../mod/pdledit.php:21 ../../mod/register.php:72 +#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 +#: ../../mod/settings.php:568 ../../mod/webpages.php:69 +#: ../../mod/appman.php:66 ../../mod/layouts.php:69 ../../mod/layouts.php:76 +#: ../../mod/layouts.php:87 ../../mod/locs.php:83 ../../mod/invite.php:13 +#: ../../mod/invite.php:104 ../../mod/regmod.php:17 ../../mod/channel.php:100 +#: ../../mod/channel.php:214 ../../mod/channel.php:254 +#: ../../mod/editpost.php:13 ../../mod/chat.php:94 ../../mod/chat.php:99 +#: ../../mod/viewsrc.php:14 ../../mod/authtest.php:13 +#: ../../mod/connections.php:29 ../../mod/manage.php:6 ../../mod/menu.php:74 +#: ../../mod/mail.php:118 ../../mod/service_limits.php:7 +#: ../../mod/suggest.php:26 ../../mod/events.php:260 ../../mod/message.php:16 +#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/mitem.php:111 +#: ../../mod/sharedwithme.php:7 ../../mod/viewconnections.php:22 +#: ../../mod/viewconnections.php:27 ../../index.php:182 ../../index.php:365 +msgid "Permission denied." +msgstr "Acceso denegado." + +#: ../../include/chat.php:143 +msgid "Room is full" +msgstr "La sala está llena." + +#: ../../include/import.php:23 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado." + +#: ../../include/import.php:44 ../../include/Import/import_diaspora.php:42 msgid "Unable to create a unique channel address. Import failed." msgstr "No se ha podido crear una dirección de canal única. Ha fallado la importación." -#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 -msgid "Import completed." -msgstr "Importación completada." +#: ../../include/import.php:70 +msgid "Channel clone failed. Import failed." +msgstr "La clonación del canal no ha salido bien. La importación ha fallado." + +#: ../../include/import.php:80 ../../mod/import.php:139 +msgid "Cloned channel not found. Import failed." +msgstr "No se ha podido importar el canal porque el canal clonado no se ha encontrado." #: ../../include/RedDAV/RedBrowser.php:107 #: ../../include/RedDAV/RedBrowser.php:239 msgid "parent" msgstr "padre" -#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2546 +#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2582 msgid "Collection" msgstr "Colección" @@ -64,15 +154,15 @@ msgstr "Programar bandeja de entrada" msgid "Schedule Outbox" msgstr "Programar bandeja de salida" -#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1026 -#: ../../include/apps.php:360 ../../include/apps.php:415 -#: ../../include/widgets.php:1317 ../../mod/photos.php:759 +#: ../../include/RedDAV/RedBrowser.php:164 ../../include/widgets.php:1331 +#: ../../include/conversation.php:1027 ../../include/apps.php:360 +#: ../../include/apps.php:415 ../../mod/photos.php:759 #: ../../mod/photos.php:1198 msgid "Unknown" msgstr "Desconocido" -#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1628 -#: ../../include/apps.php:135 ../../include/nav.php:93 +#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1629 +#: ../../include/nav.php:93 ../../include/apps.php:135 #: ../../mod/fbrowser.php:114 msgid "Files" msgstr "Ficheros" @@ -86,21 +176,21 @@ msgid "Shared" msgstr "Compartido" #: ../../include/RedDAV/RedBrowser.php:230 -#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/layouts.php:175 -#: ../../mod/menu.php:114 ../../mod/new_channel.php:121 -#: ../../mod/webpages.php:180 ../../mod/blocks.php:152 +#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152 +#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180 +#: ../../mod/layouts.php:175 ../../mod/menu.php:114 msgid "Create" msgstr "Crear" #: ../../include/RedDAV/RedBrowser.php:231 -#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329 +#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1343 #: ../../mod/photos.php:784 ../../mod/photos.php:1317 -#: ../../mod/profile_photo.php:450 +#: ../../mod/profile_photo.php:453 msgid "Upload" msgstr "Subir" #: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974 -#: ../../mod/settings.php:586 ../../mod/settings.php:612 +#: ../../mod/settings.php:588 ../../mod/settings.php:614 #: ../../mod/sharedwithme.php:95 msgid "Name" msgstr "Nombre" @@ -109,7 +199,7 @@ msgstr "Nombre" msgid "Type" msgstr "Tipo" -#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1247 +#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1248 #: ../../mod/sharedwithme.php:97 msgid "Size" msgstr "Tamaño" @@ -120,23 +210,24 @@ msgstr "Última modificación" #: ../../include/RedDAV/RedBrowser.php:240 ../../include/menu.php:108 #: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36 -#: ../../include/apps.php:259 ../../include/ItemObject.php:100 -#: ../../mod/layouts.php:183 ../../mod/editblock.php:135 -#: ../../mod/editpost.php:112 ../../mod/menu.php:108 -#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257 -#: ../../mod/settings.php:646 ../../mod/connections.php:235 +#: ../../include/ItemObject.php:100 ../../include/apps.php:259 +#: ../../mod/blocks.php:153 ../../mod/editwebpage.php:176 +#: ../../mod/thing.php:257 ../../mod/editblock.php:135 +#: ../../mod/editlayout.php:134 ../../mod/settings.php:648 +#: ../../mod/webpages.php:181 ../../mod/layouts.php:183 +#: ../../mod/editpost.php:112 ../../mod/connections.php:235 #: ../../mod/connections.php:248 ../../mod/connections.php:267 -#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176 +#: ../../mod/menu.php:108 msgid "Edit" msgstr "Editar" #: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657 -#: ../../include/apps.php:260 ../../include/ItemObject.php:120 -#: ../../mod/connedit.php:551 ../../mod/photos.php:1129 -#: ../../mod/editblock.php:181 ../../mod/admin.php:809 ../../mod/admin.php:968 -#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258 -#: ../../mod/settings.php:647 ../../mod/editlayout.php:179 -#: ../../mod/editwebpage.php:223 ../../mod/group.php:173 +#: ../../include/ItemObject.php:120 ../../include/apps.php:260 +#: ../../mod/group.php:173 ../../mod/blocks.php:155 ../../mod/connedit.php:551 +#: ../../mod/editwebpage.php:223 ../../mod/photos.php:1129 +#: ../../mod/thing.php:258 ../../mod/editblock.php:181 ../../mod/admin.php:809 +#: ../../mod/admin.php:968 ../../mod/editlayout.php:179 +#: ../../mod/settings.php:649 ../../mod/webpages.php:183 msgid "Delete" msgstr "Eliminar" @@ -162,292 +253,1316 @@ msgstr "Crear nueva carpeta" msgid "Upload file" msgstr "Subir fichero" -#: ../../include/permissions.php:26 -msgid "Can view my normal stream and posts" -msgstr "Pueden verse mi flujo de actividad y publicaciones normales" +#: ../../include/js_strings.php:5 +msgid "Delete this item?" +msgstr "¿Borrar este elemento?" -#: ../../include/permissions.php:27 -msgid "Can view my default channel profile" -msgstr "Puede verse mi perfil de canal predeterminado." +#: ../../include/js_strings.php:6 ../../include/ItemObject.php:696 +#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 +msgid "Comment" +msgstr "Comentar" -#: ../../include/permissions.php:28 -msgid "Can view my connections" -msgstr "Pueden verse mis conexiones" +#: ../../include/js_strings.php:7 ../../include/ItemObject.php:413 +msgid "[+] show all" +msgstr "[+] mostrar todo:" -#: ../../include/permissions.php:29 -msgid "Can view my file storage and photos" -msgstr "Pueden verse mi repositorio de ficheros y mis fotos" +#: ../../include/js_strings.php:8 +msgid "[-] show less" +msgstr "[-] mostrar menos" -#: ../../include/permissions.php:30 -msgid "Can view my webpages" -msgstr "Pueden verse mis páginas web" +#: ../../include/js_strings.php:9 +msgid "[+] expand" +msgstr "[+] expandir" -#: ../../include/permissions.php:33 -msgid "Can send me their channel stream and posts" -msgstr "Me pueden enviar sus entradas y flujo de actividad del canal" +#: ../../include/js_strings.php:10 +msgid "[-] collapse" +msgstr "[-] contraer" -#: ../../include/permissions.php:34 -msgid "Can post on my channel page (\"wall\")" -msgstr "Pueden crearse entradas en mi página de inicio del canal (“muro”)" +#: ../../include/js_strings.php:11 +msgid "Password too short" +msgstr "Contraseña demasiado corta" -#: ../../include/permissions.php:35 -msgid "Can comment on or like my posts" -msgstr "Pueden publicarse comentarios en mis publicaciones o marcar mis entradas con 'me gusta'." +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" +msgstr "Las contraseñas no coinciden" -#: ../../include/permissions.php:36 -msgid "Can send me private mail messages" -msgstr "Se me pueden enviar mensajes privados" +#: ../../include/js_strings.php:13 ../../mod/photos.php:41 +msgid "everybody" +msgstr "cualquiera" -#: ../../include/permissions.php:37 -msgid "Can like/dislike stuff" -msgstr "Puede marcarse contenido como me gusta/no me gusta" +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" +msgstr "Contraseña secreta" -#: ../../include/permissions.php:37 -msgid "Profiles and things other than posts/comments" -msgstr "Perfiles y otras cosas aparte de publicaciones/comentarios" +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" +msgstr "Pista de contraseña" -#: ../../include/permissions.php:39 -msgid "Can forward to all my channel contacts via post @mentions" -msgstr "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención" +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." +msgstr "Aviso: los permisos han cambiado pero aún no han sido enviados." -#: ../../include/permissions.php:39 -msgid "Advanced - useful for creating group forum channels" -msgstr "Avanzado - útil para crear canales de foros de discusión o grupos" +#: ../../include/js_strings.php:17 +msgid "close all" +msgstr "cerrar todo" -#: ../../include/permissions.php:40 -msgid "Can chat with me (when available)" -msgstr "Se puede charlar conmigo (cuando esté disponible)" +#: ../../include/js_strings.php:18 +msgid "Nothing new here" +msgstr "Nada nuevo por aquí" -#: ../../include/permissions.php:41 -msgid "Can write to my file storage and photos" -msgstr "Puede escribirse en mi repositorio de ficheros y fotos" +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" +msgstr "Valorar este canal (esto es público)" -#: ../../include/permissions.php:42 -msgid "Can edit my webpages" -msgstr "Pueden editarse mis páginas web" +#: ../../include/js_strings.php:20 ../../mod/rate.php:157 +#: ../../mod/connedit.php:694 +msgid "Rating" +msgstr "Valoración" -#: ../../include/permissions.php:44 -msgid "Can source my public posts in derived channels" -msgstr "Pueden utilizarse mis publicaciones públicas como origen de contenidos en canales derivados" +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" +msgstr "Describir (opcional)" -#: ../../include/permissions.php:44 -msgid "Somewhat advanced - very useful in open communities" -msgstr "Algo avanzado - muy útil en comunidades abiertas" +#: ../../include/js_strings.php:22 ../../include/widgets.php:676 +#: ../../include/widgets.php:688 ../../include/ItemObject.php:697 +#: ../../mod/filestorage.php:156 ../../mod/group.php:81 +#: ../../mod/connect.php:93 ../../mod/rate.php:168 ../../mod/mood.php:135 +#: ../../mod/setup.php:331 ../../mod/setup.php:371 ../../mod/pconfig.php:108 +#: ../../mod/poke.php:171 ../../mod/profiles.php:675 +#: ../../mod/connedit.php:715 ../../mod/fsuggest.php:108 +#: ../../mod/sources.php:104 ../../mod/sources.php:138 +#: ../../mod/import.php:527 ../../mod/photos.php:637 ../../mod/photos.php:1008 +#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/thing.php:313 +#: ../../mod/thing.php:359 ../../mod/import_items.php:122 +#: ../../mod/pdledit.php:58 ../../mod/admin.php:435 ../../mod/admin.php:802 +#: ../../mod/admin.php:966 ../../mod/admin.php:1103 ../../mod/admin.php:1297 +#: ../../mod/admin.php:1382 ../../mod/settings.php:586 +#: ../../mod/settings.php:698 ../../mod/settings.php:726 +#: ../../mod/settings.php:749 ../../mod/settings.php:834 +#: ../../mod/settings.php:1023 ../../mod/appman.php:99 ../../mod/locs.php:116 +#: ../../mod/invite.php:142 ../../mod/xchan.php:11 ../../mod/chat.php:184 +#: ../../mod/chat.php:213 ../../mod/mail.php:372 ../../mod/events.php:461 +#: ../../mod/events.php:658 ../../mod/mitem.php:231 +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Submit" +msgstr "Enviar" -#: ../../include/permissions.php:46 -msgid "Can administer my channel resources" -msgstr "Pueden administrarse mis recursos del canal" +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" +msgstr "Por favor, introduzca una dirección de enlace" -#: ../../include/permissions.php:46 -msgid "" -"Extremely advanced. Leave this alone unless you know what you are doing" -msgstr "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo." +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" +msgstr "Cambios no guardados. ¿Está seguro de que desea abandonar la página?" -#: ../../include/permissions.php:867 -msgid "Social Networking" -msgstr "Redes sociales" +#: ../../include/js_strings.php:25 ../../mod/pubsites.php:28 +#: ../../mod/profiles.php:464 ../../mod/events.php:452 +msgid "Location" +msgstr "Ubicación" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Mostly Public" -msgstr "Público en su mayor parte" +#: ../../include/js_strings.php:27 +msgid "timeago.prefixAgo" +msgstr "timeago.prefixAgo" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Restricted" -msgstr "Restringido" +#: ../../include/js_strings.php:28 +msgid "timeago.prefixFromNow" +msgstr "timeago.prefixFromNow" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -msgid "Private" -msgstr "Privado" +#: ../../include/js_strings.php:29 +msgid "ago" +msgstr "antes" -#: ../../include/permissions.php:868 -msgid "Community Forum" -msgstr "Foro de discusión" +#: ../../include/js_strings.php:30 +msgid "from now" +msgstr "desde ahora" -#: ../../include/permissions.php:869 -msgid "Feed Republish" -msgstr "Republicar un \"feed\"" +#: ../../include/js_strings.php:31 +msgid "less than a minute" +msgstr "menos de un minuto" -#: ../../include/permissions.php:870 -msgid "Special Purpose" -msgstr "Propósito especial" +#: ../../include/js_strings.php:32 +msgid "about a minute" +msgstr "alrededor de un minuto" -#: ../../include/permissions.php:870 -msgid "Celebrity/Soapbox" -msgstr "Página para fans" +#: ../../include/js_strings.php:33 +#, php-format +msgid "%d minutes" +msgstr "%d minutos" -#: ../../include/permissions.php:870 -msgid "Group Repository" -msgstr "Repositorio de grupo" +#: ../../include/js_strings.php:34 +msgid "about an hour" +msgstr "alrededor de una hora" -#: ../../include/permissions.php:871 ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 -#: ../../include/profile_selectors.php:61 -#: ../../include/profile_selectors.php:97 -msgid "Other" -msgstr "Otro" +#: ../../include/js_strings.php:35 +#, php-format +msgid "about %d hours" +msgstr "alrededor de %d horas" -#: ../../include/permissions.php:871 -msgid "Custom/Expert Mode" -msgstr "Modo personalizado/experto" +#: ../../include/js_strings.php:36 +msgid "a day" +msgstr "un día" -#: ../../include/chat.php:23 -msgid "Missing room name" -msgstr "Sala de chat sin nombre" +#: ../../include/js_strings.php:37 +#, php-format +msgid "%d days" +msgstr "%d días" -#: ../../include/chat.php:32 -msgid "Duplicate room name" -msgstr "Nombre de sala duplicado." +#: ../../include/js_strings.php:38 +msgid "about a month" +msgstr "alrededor de un mes" -#: ../../include/chat.php:82 ../../include/chat.php:90 -msgid "Invalid room specifier." -msgstr "Especificador de sala no válido." +#: ../../include/js_strings.php:39 +#, php-format +msgid "%d months" +msgstr "%d meses" -#: ../../include/chat.php:122 -msgid "Room not found." -msgstr "Sala no encontrada." +#: ../../include/js_strings.php:40 +msgid "about a year" +msgstr "alrededor de un año" -#: ../../include/chat.php:133 ../../include/items.php:4396 -#: ../../include/photos.php:29 ../../include/attach.php:140 -#: ../../include/attach.php:188 ../../include/attach.php:251 -#: ../../include/attach.php:265 ../../include/attach.php:272 -#: ../../include/attach.php:337 ../../include/attach.php:351 -#: ../../include/attach.php:358 ../../include/attach.php:436 -#: ../../include/attach.php:884 ../../include/attach.php:955 -#: ../../include/attach.php:1107 ../../mod/achievements.php:30 -#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13 -#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72 -#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35 -#: ../../mod/mitem.php:111 ../../mod/connedit.php:352 ../../mod/mood.php:112 -#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73 -#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115 -#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87 -#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:94 -#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/photos.php:70 -#: ../../mod/editblock.php:65 ../../mod/editpost.php:13 -#: ../../mod/appman.php:66 ../../mod/profile.php:64 ../../mod/profile.php:72 -#: ../../mod/menu.php:74 ../../mod/page.php:31 ../../mod/page.php:86 -#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99 -#: ../../mod/notifications.php:66 ../../mod/pdledit.php:21 -#: ../../mod/events.php:256 ../../mod/profile_photo.php:338 -#: ../../mod/profile_photo.php:351 ../../mod/item.php:205 -#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/message.php:16 -#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69 -#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7 -#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/channel.php:100 -#: ../../mod/channel.php:214 ../../mod/channel.php:254 ../../mod/thing.php:271 -#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13 -#: ../../mod/invite.php:104 ../../mod/mail.php:118 ../../mod/viewsrc.php:14 -#: ../../mod/settings.php:566 ../../mod/manage.php:6 ../../mod/api.php:26 -#: ../../mod/api.php:31 ../../mod/connections.php:29 -#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 -#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86 -#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125 -#: ../../mod/group.php:9 ../../mod/viewconnections.php:22 -#: ../../mod/viewconnections.php:27 ../../mod/locs.php:83 -#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7 -#: ../../mod/suggest.php:26 ../../mod/profiles.php:188 -#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361 -msgid "Permission denied." -msgstr "Acceso denegado." +#: ../../include/js_strings.php:41 +#, php-format +msgid "%d years" +msgstr "%d años" -#: ../../include/chat.php:143 -msgid "Room is full" -msgstr "La sala está llena." +#: ../../include/js_strings.php:42 +msgid " " +msgstr " " -#: ../../include/datetime.php:48 -msgid "Miscellaneous" -msgstr "Varios" +#: ../../include/js_strings.php:43 +msgid "timeago.numbers" +msgstr "timeago.numbers" -#: ../../include/datetime.php:132 -msgid "YYYY-MM-DD or MM-DD" -msgstr "AAAA-MM-DD o MM-DD" +#: ../../include/js_strings.php:45 ../../include/text.php:1165 +msgid "January" +msgstr "enero" -#: ../../include/datetime.php:235 ../../mod/appman.php:91 -#: ../../mod/appman.php:92 ../../mod/events.php:689 -msgid "Required" -msgstr "Obligatorio" +#: ../../include/js_strings.php:46 ../../include/text.php:1165 +msgid "February" +msgstr "febrero" -#: ../../include/datetime.php:262 ../../boot.php:2289 -msgid "never" -msgstr "nunca" +#: ../../include/js_strings.php:47 ../../include/text.php:1165 +msgid "March" +msgstr "marzo" -#: ../../include/datetime.php:268 -msgid "less than a second ago" -msgstr "hace un instante" +#: ../../include/js_strings.php:48 ../../include/text.php:1165 +msgid "April" +msgstr "abril" -#: ../../include/datetime.php:271 -msgid "year" -msgstr "año" +#: ../../include/js_strings.php:49 +msgctxt "long" +msgid "May" +msgstr "mayo" -#: ../../include/datetime.php:271 -msgid "years" -msgstr "años" +#: ../../include/js_strings.php:50 ../../include/text.php:1165 +msgid "June" +msgstr "junio" -#: ../../include/datetime.php:272 +#: ../../include/js_strings.php:51 ../../include/text.php:1165 +msgid "July" +msgstr "julio" + +#: ../../include/js_strings.php:52 ../../include/text.php:1165 +msgid "August" +msgstr "agosto" + +#: ../../include/js_strings.php:53 ../../include/text.php:1165 +msgid "September" +msgstr "septiembre" + +#: ../../include/js_strings.php:54 ../../include/text.php:1165 +msgid "October" +msgstr "octubre" + +#: ../../include/js_strings.php:55 ../../include/text.php:1165 +msgid "November" +msgstr "noviembre" + +#: ../../include/js_strings.php:56 ../../include/text.php:1165 +msgid "December" +msgstr "diciembre" + +#: ../../include/js_strings.php:57 +msgid "Jan" +msgstr "ene" + +#: ../../include/js_strings.php:58 +msgid "Feb" +msgstr "feb" + +#: ../../include/js_strings.php:59 +msgid "Mar" +msgstr "mar" + +#: ../../include/js_strings.php:60 +msgid "Apr" +msgstr "abr" + +#: ../../include/js_strings.php:61 +msgctxt "short" +msgid "May" +msgstr "may" + +#: ../../include/js_strings.php:62 +msgid "Jun" +msgstr "jun" + +#: ../../include/js_strings.php:63 +msgid "Jul" +msgstr "jul" + +#: ../../include/js_strings.php:64 +msgid "Aug" +msgstr "ago" + +#: ../../include/js_strings.php:65 +msgid "Sep" +msgstr "sep" + +#: ../../include/js_strings.php:66 +msgid "Oct" +msgstr "oct" + +#: ../../include/js_strings.php:67 +msgid "Nov" +msgstr "nov" + +#: ../../include/js_strings.php:68 +msgid "Dec" +msgstr "dic" + +#: ../../include/js_strings.php:69 ../../include/text.php:1161 +msgid "Sunday" +msgstr "domingo" + +#: ../../include/js_strings.php:70 ../../include/text.php:1161 +msgid "Monday" +msgstr "lunes" + +#: ../../include/js_strings.php:71 ../../include/text.php:1161 +msgid "Tuesday" +msgstr "martes" + +#: ../../include/js_strings.php:72 ../../include/text.php:1161 +msgid "Wednesday" +msgstr "miércoles" + +#: ../../include/js_strings.php:73 ../../include/text.php:1161 +msgid "Thursday" +msgstr "jueves" + +#: ../../include/js_strings.php:74 ../../include/text.php:1161 +msgid "Friday" +msgstr "viernes" + +#: ../../include/js_strings.php:75 ../../include/text.php:1161 +msgid "Saturday" +msgstr "sábado" + +#: ../../include/js_strings.php:76 +msgid "Sun" +msgstr "dom" + +#: ../../include/js_strings.php:77 +msgid "Mon" +msgstr "lun" + +#: ../../include/js_strings.php:78 +msgid "Tue" +msgstr "mar" + +#: ../../include/js_strings.php:79 +msgid "Wed" +msgstr "mié" + +#: ../../include/js_strings.php:80 +msgid "Thu" +msgstr "jue" + +#: ../../include/js_strings.php:81 +msgid "Fri" +msgstr "vie" + +#: ../../include/js_strings.php:82 +msgid "Sat" +msgstr "sáb" + +#: ../../include/js_strings.php:83 +msgctxt "calendar" +msgid "today" +msgstr "hoy" + +#: ../../include/js_strings.php:84 +msgctxt "calendar" msgid "month" msgstr "mes" -#: ../../include/datetime.php:272 -msgid "months" -msgstr "meses" - -#: ../../include/datetime.php:273 +#: ../../include/js_strings.php:85 +msgctxt "calendar" msgid "week" msgstr "semana" -#: ../../include/datetime.php:273 -msgid "weeks" -msgstr "semanas" - -#: ../../include/datetime.php:274 +#: ../../include/js_strings.php:86 +msgctxt "calendar" msgid "day" msgstr "día" -#: ../../include/datetime.php:274 -msgid "days" -msgstr "días" +#: ../../include/js_strings.php:87 +msgctxt "calendar" +msgid "All day" +msgstr "Todos los días" -#: ../../include/datetime.php:275 -msgid "hour" -msgstr "hora" +#: ../../include/Import/import_diaspora.php:17 +msgid "No username found in import file." +msgstr "No se ha encontrado el nombre de usuario en el fichero importado." -#: ../../include/datetime.php:275 -msgid "hours" -msgstr "horas" +#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 +msgid "Import completed." +msgstr "Importación completada." -#: ../../include/datetime.php:276 -msgid "minute" -msgstr "minuto" +#: ../../include/comanche.php:34 ../../mod/admin.php:351 +msgid "Default" +msgstr "Predeterminado" -#: ../../include/datetime.php:276 -msgid "minutes" -msgstr "minutos" +#: ../../include/items.php:423 ../../mod/group.php:68 ../../mod/like.php:280 +#: ../../mod/dreport.php:6 ../../mod/dreport.php:45 ../../mod/subthread.php:58 +#: ../../mod/import_items.php:114 ../../mod/profperm.php:23 +#: ../../index.php:364 +msgid "Permission denied" +msgstr "Permiso denegado" -#: ../../include/datetime.php:277 -msgid "second" -msgstr "segundo" +#: ../../include/items.php:1130 ../../include/items.php:1176 +msgid "(Unknown)" +msgstr "(Desconocido)" -#: ../../include/datetime.php:277 -msgid "seconds" -msgstr "segundos" +#: ../../include/items.php:1373 +msgid "Visible to anybody on the internet." +msgstr "Visible para cualquiera en internet." + +#: ../../include/items.php:1375 +msgid "Visible to you only." +msgstr "Visible sólo para usted." -#: ../../include/datetime.php:285 +#: ../../include/items.php:1377 +msgid "Visible to anybody in this network." +msgstr "Visible para cualquiera en esta red." + +#: ../../include/items.php:1379 +msgid "Visible to anybody authenticated." +msgstr "Visible para cualquiera que haya sido autenticado." + +#: ../../include/items.php:1381 #, php-format -msgctxt "e.g. 22 hours ago, 1 minute ago" -msgid "%1$d %2$s ago" -msgstr "hace %1$d %2$s" +msgid "Visible to anybody on %s." +msgstr "Visible para cualquiera en %s." + +#: ../../include/items.php:1383 +msgid "Visible to all connections." +msgstr "Visible para todas las conexiones." -#: ../../include/datetime.php:519 +#: ../../include/items.php:1385 +msgid "Visible to approved connections." +msgstr "Visible para las conexiones permitidas." + +#: ../../include/items.php:1387 +msgid "Visible to specific connections." +msgstr "Visible para conexiones específicas." + +#: ../../include/items.php:4319 ../../mod/filestorage.php:27 +#: ../../mod/thing.php:86 ../../mod/admin.php:127 ../../mod/admin.php:1005 +#: ../../mod/admin.php:1210 ../../mod/display.php:36 ../../mod/viewsrc.php:20 +msgid "Item not found." +msgstr "Elemento no encontrado." + +#: ../../include/items.php:4831 ../../mod/group.php:38 ../../mod/group.php:137 +msgid "Collection not found." +msgstr "Colección no encontrada." + +#: ../../include/items.php:4847 +msgid "Collection is empty." +msgstr "La colección está vacía." + +#: ../../include/items.php:4854 #, php-format -msgid "%1$s's birthday" -msgstr "Cumpleaños de %1$s" +msgid "Collection: %s" +msgstr "Colección: %s" -#: ../../include/datetime.php:520 +#: ../../include/items.php:4864 ../../mod/connedit.php:683 #, php-format -msgid "Happy Birthday %1$s" -msgstr "Feliz cumpleaños %1$s" +msgid "Connection: %s" +msgstr "Conexión: %s" + +#: ../../include/items.php:4866 +msgid "Connection not found." +msgstr "Conexión no encontrada" + +#: ../../include/network.php:630 +msgid "view full size" +msgstr "Ver en el tamaño original" + +#: ../../include/network.php:1608 ../../include/enotify.php:57 +msgid "$Projectname Notification" +msgstr "Notificación de $Projectname" + +#: ../../include/network.php:1609 ../../include/enotify.php:58 +msgid "$projectname" +msgstr "$projectname" + +#: ../../include/network.php:1611 ../../include/enotify.php:60 +msgid "Thank You," +msgstr "Gracias," + +#: ../../include/network.php:1613 ../../include/enotify.php:62 +#, php-format +msgid "%s Administrator" +msgstr "%s Administrador" + +#: ../../include/network.php:1655 ../../include/account.php:316 +#: ../../include/account.php:343 ../../include/account.php:403 +msgid "Administrator" +msgstr "Administrador" + +#: ../../include/network.php:1669 +msgid "No Subject" +msgstr "Sin asunto" + +#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 +#: ../../include/text.php:1392 +msgid "l F d, Y \\@ g:i A" +msgstr "l d de F, Y \\@ G:i" + +#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 +#: ../../include/text.php:1396 +msgid "Starts:" +msgstr "Comienza:" + +#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 +#: ../../include/text.php:1400 +msgid "Finishes:" +msgstr "Finaliza:" + +#: ../../include/event.php:52 ../../include/identity.php:1004 +#: ../../include/bb2diaspora.php:493 ../../include/text.php:1407 +#: ../../mod/directory.php:304 +msgid "Location:" +msgstr "Ubicación:" + +#: ../../include/event.php:768 +msgid "This event has been added to your calendar." +msgstr "Este evento ha sido añadido a su calendario." + +#: ../../include/event.php:904 ../../include/conversation.php:123 +#: ../../include/text.php:1919 ../../mod/tagger.php:47 ../../mod/like.php:363 +#: ../../mod/events.php:249 +msgid "event" +msgstr "evento" + +#: ../../include/event.php:967 +msgid "Not specified" +msgstr "Sin especificar" + +#: ../../include/event.php:968 +msgid "Needs Action" +msgstr "Necesita de una intervención" + +#: ../../include/event.php:969 +msgid "Completed" +msgstr "Completado/a" + +#: ../../include/event.php:970 +msgid "In Process" +msgstr "En proceso" + +#: ../../include/event.php:971 +msgid "Cancelled" +msgstr "Cancelado/a" + +#: ../../include/identity.php:32 +msgid "Unable to obtain identity information from database" +msgstr "No ha sido posible obtener información sobre la identidad desde la base de datos" + +#: ../../include/identity.php:66 +msgid "Empty name" +msgstr "Nombre vacío" + +#: ../../include/identity.php:69 +msgid "Name too long" +msgstr "Nombre demasiado largo" + +#: ../../include/identity.php:181 +msgid "No account identifier" +msgstr "Ningún identificador de la cuenta" + +#: ../../include/identity.php:193 +msgid "Nickname is required." +msgstr "Se requiere un sobrenombre (alias)." + +#: ../../include/identity.php:207 +msgid "Reserved nickname. Please choose another." +msgstr "Sobrenombre en uso. Por favor, elija otro." + +#: ../../include/identity.php:212 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "El alias contiene caracteres no admitidos o está ya en uso por otros usuarios de este sitio." + +#: ../../include/identity.php:288 +msgid "Unable to retrieve created identity" +msgstr "No ha sido posible recuperar la identidad creada" + +#: ../../include/identity.php:346 +msgid "Default Profile" +msgstr "Perfil principal" + +#: ../../include/identity.php:390 ../../include/identity.php:391 +#: ../../include/identity.php:398 ../../include/widgets.php:430 +#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:573 +#: ../../mod/settings.php:338 ../../mod/settings.php:342 +#: ../../mod/settings.php:343 ../../mod/settings.php:346 +#: ../../mod/settings.php:357 +msgid "Friends" +msgstr "Amigos" + +#: ../../include/identity.php:770 +msgid "Requested channel is not available." +msgstr "El canal solicitado no está disponible." + +#: ../../include/identity.php:816 ../../mod/filestorage.php:54 +#: ../../mod/connect.php:13 ../../mod/achievements.php:11 +#: ../../mod/blocks.php:29 ../../mod/hcard.php:8 ../../mod/editwebpage.php:28 +#: ../../mod/profile.php:16 ../../mod/editblock.php:29 +#: ../../mod/editlayout.php:27 ../../mod/webpages.php:29 +#: ../../mod/layouts.php:29 +msgid "Requested profile is not available." +msgstr "El perfil solicitado no está disponible." + +#: ../../include/identity.php:966 ../../mod/profiles.php:782 +msgid "Change profile photo" +msgstr "Cambiar la foto del perfil" + +#: ../../include/identity.php:972 +msgid "Profiles" +msgstr "Perfiles" + +#: ../../include/identity.php:972 +msgid "Manage/edit profiles" +msgstr "Administrar/editar perfiles" + +#: ../../include/identity.php:973 ../../mod/profiles.php:783 +msgid "Create New Profile" +msgstr "Crear un nuevo perfil" + +#: ../../include/identity.php:976 ../../include/nav.php:90 +msgid "Edit Profile" +msgstr "Editar el perfil" + +#: ../../include/identity.php:988 ../../mod/profiles.php:794 +msgid "Profile Image" +msgstr "Imagen del perfil" + +#: ../../include/identity.php:991 +msgid "visible to everybody" +msgstr "visible para cualquiera" + +#: ../../include/identity.php:992 ../../mod/profiles.php:677 +#: ../../mod/profiles.php:798 +msgid "Edit visibility" +msgstr "Editar visibilidad" + +#: ../../include/identity.php:1008 ../../include/identity.php:1248 +msgid "Gender:" +msgstr "Género:" + +#: ../../include/identity.php:1009 ../../include/identity.php:1292 +msgid "Status:" +msgstr "Estado:" + +#: ../../include/identity.php:1010 ../../include/identity.php:1303 +msgid "Homepage:" +msgstr "Página personal:" + +#: ../../include/identity.php:1011 +msgid "Online Now" +msgstr "Ahora en línea" + +#: ../../include/identity.php:1095 ../../include/identity.php:1173 +#: ../../mod/ping.php:318 +msgid "g A l F d" +msgstr "g A l d F" + +#: ../../include/identity.php:1096 ../../include/identity.php:1174 +msgid "F d" +msgstr "d F" + +#: ../../include/identity.php:1141 ../../include/identity.php:1213 +#: ../../mod/ping.php:341 +msgid "[today]" +msgstr "[hoy]" + +#: ../../include/identity.php:1152 +msgid "Birthday Reminders" +msgstr "Recordatorios de cumpleaños" + +#: ../../include/identity.php:1153 +msgid "Birthdays this week:" +msgstr "Cumpleaños de esta semana:" + +#: ../../include/identity.php:1206 +msgid "[No description]" +msgstr "[Sin descripción]" + +#: ../../include/identity.php:1224 +msgid "Event Reminders" +msgstr "Recordatorios de eventos" + +#: ../../include/identity.php:1225 +msgid "Events this week:" +msgstr "Eventos de esta semana:" + +#: ../../include/identity.php:1238 ../../include/identity.php:1355 +#: ../../include/apps.php:138 ../../mod/profperm.php:112 +msgid "Profile" +msgstr "Perfil" + +#: ../../include/identity.php:1246 ../../mod/settings.php:1029 +msgid "Full Name:" +msgstr "Nombre completo:" + +#: ../../include/identity.php:1253 +msgid "Like this channel" +msgstr "Me gusta este canal" + +#: ../../include/identity.php:1264 ../../include/taxonomy.php:414 +#: ../../include/conversation.php:1721 ../../include/ItemObject.php:179 +#: ../../mod/photos.php:1086 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "Me gusta" +msgstr[1] "Me gusta" + +#: ../../include/identity.php:1277 +msgid "j F, Y" +msgstr "j F Y" + +#: ../../include/identity.php:1278 +msgid "j F" +msgstr "j F" + +#: ../../include/identity.php:1285 +msgid "Birthday:" +msgstr "Cumpleaños:" + +#: ../../include/identity.php:1289 ../../mod/directory.php:299 +msgid "Age:" +msgstr "Edad:" + +#: ../../include/identity.php:1298 +#, php-format +msgid "for %1$d %2$s" +msgstr "por %1$d %2$s" + +#: ../../include/identity.php:1301 ../../mod/profiles.php:699 +msgid "Sexual Preference:" +msgstr "Orientación sexual:" + +#: ../../include/identity.php:1305 ../../mod/profiles.php:701 +#: ../../mod/directory.php:315 +msgid "Hometown:" +msgstr "Ciudad de origen:" + +#: ../../include/identity.php:1307 +msgid "Tags:" +msgstr "Etiquetas:" + +#: ../../include/identity.php:1309 ../../mod/profiles.php:702 +msgid "Political Views:" +msgstr "Posición política:" + +#: ../../include/identity.php:1311 +msgid "Religion:" +msgstr "Religión:" + +#: ../../include/identity.php:1313 ../../mod/directory.php:317 +msgid "About:" +msgstr "Sobre mí:" + +#: ../../include/identity.php:1315 +msgid "Hobbies/Interests:" +msgstr "Aficciones/Intereses:" + +#: ../../include/identity.php:1317 ../../mod/profiles.php:705 +msgid "Likes:" +msgstr "Me gusta:" + +#: ../../include/identity.php:1319 ../../mod/profiles.php:706 +msgid "Dislikes:" +msgstr "No me gusta:" + +#: ../../include/identity.php:1321 +msgid "Contact information and Social Networks:" +msgstr "Información de contacto y redes sociales:" + +#: ../../include/identity.php:1323 +msgid "My other channels:" +msgstr "Mis otros canales:" + +#: ../../include/identity.php:1325 +msgid "Musical interests:" +msgstr "Intereses musicales:" + +#: ../../include/identity.php:1327 +msgid "Books, literature:" +msgstr "Libros, literatura:" + +#: ../../include/identity.php:1329 +msgid "Television:" +msgstr "Televisión:" + +#: ../../include/identity.php:1331 +msgid "Film/dance/culture/entertainment:" +msgstr "Cine/danza/cultura/entretenimiento:" + +#: ../../include/identity.php:1333 +msgid "Love/Romance:" +msgstr "Vida sentimental/amorosa:" + +#: ../../include/identity.php:1335 +msgid "Work/employment:" +msgstr "Trabajo:" + +#: ../../include/identity.php:1337 +msgid "School/education:" +msgstr "Estudios:" + +#: ../../include/identity.php:1357 +msgid "Like this thing" +msgstr "Me gusta esto" + +#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261 +msgid "Tags" +msgstr "Etiquetas" + +#: ../../include/taxonomy.php:282 ../../include/widgets.php:36 +#: ../../include/contact_widgets.php:95 +msgid "Categories" +msgstr "Categorías" + +#: ../../include/taxonomy.php:305 +msgid "Keywords" +msgstr "Palabras clave" + +#: ../../include/taxonomy.php:326 +msgid "have" +msgstr "tener" + +#: ../../include/taxonomy.php:326 +msgid "has" +msgstr "tiene" + +#: ../../include/taxonomy.php:327 +msgid "want" +msgstr "quiero" + +#: ../../include/taxonomy.php:327 +msgid "wants" +msgstr "quiere" + +#: ../../include/taxonomy.php:328 ../../include/ItemObject.php:254 +msgid "like" +msgstr "me gusta" + +#: ../../include/taxonomy.php:328 +msgid "likes" +msgstr "le gusta" + +#: ../../include/taxonomy.php:329 ../../include/ItemObject.php:255 +msgid "dislike" +msgstr "no me gusta" + +#: ../../include/taxonomy.php:329 +msgid "dislikes" +msgstr "no le gusta" + +#: ../../include/acl_selectors.php:240 +msgid "Visible to your default audience" +msgstr "Visible para su público predeterminado." + +#: ../../include/acl_selectors.php:241 +msgid "Show" +msgstr "Mostrar" + +#: ../../include/acl_selectors.php:242 +msgid "Don't show" +msgstr "No mostrar" + +#: ../../include/acl_selectors.php:247 +msgid "Other networks and post services" +msgstr "Otras redes y servicios de correo" + +#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 +#: ../../mod/photos.php:631 ../../mod/photos.php:1001 ../../mod/thing.php:310 +#: ../../mod/thing.php:356 ../../mod/chat.php:211 +msgid "Permissions" +msgstr "Permisos" + +#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:384 +#: ../../mod/photos.php:1218 +msgid "Close" +msgstr "Cerrar" + +#: ../../include/activities.php:42 +msgid " and " +msgstr "y" + +#: ../../include/activities.php:50 +msgid "public profile" +msgstr "perfil público" + +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "%1$s cambió %2$s a “%3$s”" + +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "Visitar %2$s de %1$s" + +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "%1$s ha actualizado %2$s cambiando %3$s." + +#: ../../include/attach.php:246 ../../include/attach.php:332 +msgid "Item was not found." +msgstr "Elemento no encontrado." + +#: ../../include/attach.php:496 +msgid "No source file." +msgstr "Ningún fichero de origen" + +#: ../../include/attach.php:514 +msgid "Cannot locate file to replace" +msgstr "No se puede localizar el fichero que va a ser sustituido." + +#: ../../include/attach.php:532 +msgid "Cannot locate file to revise/update" +msgstr "No se puede localizar el fichero para revisar/actualizar" + +#: ../../include/attach.php:667 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "El fichero supera el limite de tamaño de %d" + +#: ../../include/attach.php:681 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos." + +#: ../../include/attach.php:837 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado." + +#: ../../include/attach.php:850 +msgid "Stored file could not be verified. Upload failed." +msgstr "El fichero almacenado no ha podido ser verificado. El envío ha fallado." + +#: ../../include/attach.php:898 ../../include/attach.php:914 +msgid "Path not available." +msgstr "Ruta no disponible." + +#: ../../include/attach.php:960 ../../include/attach.php:1112 +msgid "Empty pathname" +msgstr "Ruta vacía" + +#: ../../include/attach.php:986 +msgid "duplicate filename or path" +msgstr "Nombre duplicado de ruta o fichero" + +#: ../../include/attach.php:1008 +msgid "Path not found." +msgstr "Ruta no encontrada" + +#: ../../include/attach.php:1066 +msgid "mkdir failed." +msgstr "mkdir ha fallado." + +#: ../../include/attach.php:1070 +msgid "database storage failed." +msgstr "el almacenamiento en la base de datos ha fallado." + +#: ../../include/attach.php:1118 +msgid "Empty path" +msgstr "Ruta vacía" + +#: ../../include/bb2diaspora.php:382 +msgid "Attachments:" +msgstr "Ficheros adjuntos:" + +#: ../../include/bb2diaspora.php:473 +msgid "$Projectname event notification:" +msgstr "Notificación de eventos de $Projectname:" + +#: ../../include/notify.php:20 +msgid "created a new post" +msgstr "ha creado una nueva entrada" + +#: ../../include/notify.php:21 +#, php-format +msgid "commented on %s's post" +msgstr "ha comentado la entrada de %s" + +#: ../../include/widgets.php:92 ../../include/nav.php:157 +#: ../../mod/apps.php:36 +msgid "Apps" +msgstr "Aplicaciones" + +#: ../../include/widgets.php:93 +msgid "System" +msgstr "Sistema" + +#: ../../include/widgets.php:95 ../../include/conversation.php:1526 +msgid "Personal" +msgstr "Personales" + +#: ../../include/widgets.php:96 +msgid "Create Personal App" +msgstr "Crear una aplicación personal" + +#: ../../include/widgets.php:97 +msgid "Edit Personal App" +msgstr "Editar una aplicación personal" + +#: ../../include/widgets.php:139 ../../mod/suggest.php:54 +msgid "Ignore/Hide" +msgstr "Ignorar/Ocultar" + +#: ../../include/widgets.php:144 ../../mod/connections.php:125 +msgid "Suggestions" +msgstr "Sugerencias" + +#: ../../include/widgets.php:145 +msgid "See more..." +msgstr "Ver más..." + +#: ../../include/widgets.php:166 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas." + +#: ../../include/widgets.php:172 +msgid "Add New Connection" +msgstr "Añadir nueva conexión" + +#: ../../include/widgets.php:173 +msgid "Enter the channel address" +msgstr "Introducir la dirección del canal" + +#: ../../include/widgets.php:174 +msgid "Example: bob@example.com, http://example.com/barbara" +msgstr "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco" + +#: ../../include/widgets.php:190 +msgid "Notes" +msgstr "Notas" + +#: ../../include/widgets.php:192 ../../include/text.php:868 +#: ../../include/text.php:880 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 +#: ../../mod/admin.php:1442 ../../mod/admin.php:1462 ../../mod/filer.php:49 +msgid "Save" +msgstr "Guardar" + +#: ../../include/widgets.php:266 +msgid "Remove term" +msgstr "Eliminar término" + +#: ../../include/widgets.php:274 ../../include/features.php:72 +msgid "Saved Searches" +msgstr "Búsquedas guardadas" + +#: ../../include/widgets.php:275 ../../include/group.php:300 +msgid "add" +msgstr "añadir" + +#: ../../include/widgets.php:304 ../../include/features.php:85 +#: ../../include/contact_widgets.php:57 +msgid "Saved Folders" +msgstr "Carpetas guardadas" + +#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60 +#: ../../include/contact_widgets.php:98 +msgid "Everything" +msgstr "Todo" + +#: ../../include/widgets.php:349 +msgid "Archives" +msgstr "Hemeroteca" + +#: ../../include/widgets.php:428 ../../mod/connedit.php:571 +msgid "Me" +msgstr "Yo" + +#: ../../include/widgets.php:429 ../../mod/connedit.php:572 +msgid "Family" +msgstr "Familia" + +#: ../../include/widgets.php:431 ../../mod/connedit.php:574 +msgid "Acquaintances" +msgstr "Conocidos/as" + +#: ../../include/widgets.php:432 ../../mod/connedit.php:575 +#: ../../mod/connections.php:88 ../../mod/connections.php:103 +msgid "All" +msgstr "Todas" + +#: ../../include/widgets.php:451 +msgid "Refresh" +msgstr "Recargar" + +#: ../../include/widgets.php:485 +msgid "Account settings" +msgstr "Configuración de la cuenta" + +#: ../../include/widgets.php:491 +msgid "Channel settings" +msgstr "Configuración del canal" + +#: ../../include/widgets.php:497 +msgid "Additional features" +msgstr "Características adicionales" + +#: ../../include/widgets.php:503 +msgid "Feature/Addon settings" +msgstr "Configuración de características o complementos" + +#: ../../include/widgets.php:509 +msgid "Display settings" +msgstr "Ajustes de visualización" + +#: ../../include/widgets.php:515 +msgid "Connected apps" +msgstr "Aplicaciones conectadas" + +#: ../../include/widgets.php:521 +msgid "Export channel" +msgstr "Exportar canal" + +#: ../../include/widgets.php:530 ../../mod/connedit.php:683 +msgid "Connection Default Permissions" +msgstr "Permisos predeterminados de conexión" + +#: ../../include/widgets.php:538 +msgid "Premium Channel Settings" +msgstr "Configuración del canal premium" + +#: ../../include/widgets.php:546 ../../include/features.php:59 +#: ../../mod/sources.php:88 +msgid "Channel Sources" +msgstr "Orígenes de los contenidos del canal" + +#: ../../include/widgets.php:554 ../../include/nav.php:202 +#: ../../include/apps.php:134 ../../mod/admin.php:1064 +#: ../../mod/admin.php:1264 +msgid "Settings" +msgstr "Ajustes" + +#: ../../include/widgets.php:568 +msgid "Private Mail Menu" +msgstr "Menú de correo privado" + +#: ../../include/widgets.php:570 +msgid "Combined View" +msgstr "Vista combinada" + +#: ../../include/widgets.php:575 ../../include/nav.php:191 +msgid "Inbox" +msgstr "Bandeja de entrada" + +#: ../../include/widgets.php:580 ../../include/nav.php:192 +msgid "Outbox" +msgstr "Bandeja de salida" + +#: ../../include/widgets.php:585 ../../include/nav.php:193 +msgid "New Message" +msgstr "Nuevo mensaje" + +#: ../../include/widgets.php:604 ../../include/widgets.php:616 +msgid "Conversations" +msgstr "Conversaciones" + +#: ../../include/widgets.php:608 +msgid "Received Messages" +msgstr "Mensajes recibidos" + +#: ../../include/widgets.php:612 +msgid "Sent Messages" +msgstr "Enviar mensajes" + +#: ../../include/widgets.php:626 +msgid "No messages." +msgstr "Sin mensajes." + +#: ../../include/widgets.php:644 +msgid "Delete conversation" +msgstr "Eliminar conversación" + +#: ../../include/widgets.php:670 +msgid "Events Menu" +msgstr "Menú de eventos" + +#: ../../include/widgets.php:671 +msgid "Day View" +msgstr "Eventos del día" + +#: ../../include/widgets.php:672 +msgid "Week View" +msgstr "Eventos de la semana" + +#: ../../include/widgets.php:673 +msgid "Month View" +msgstr "Eventos del mes" + +#: ../../include/widgets.php:674 ../../mod/events.php:654 +msgid "Export" +msgstr "Exportar" + +#: ../../include/widgets.php:675 ../../mod/events.php:657 +msgid "Import" +msgstr "Importar" + +#: ../../include/widgets.php:685 +msgid "Events Tools" +msgstr "Gestión de eventos" + +#: ../../include/widgets.php:686 +msgid "Export Calendar" +msgstr "Exportar el calendario" + +#: ../../include/widgets.php:687 +msgid "Import Calendar" +msgstr "Importar un calendario" + +#: ../../include/widgets.php:761 +msgid "Chat Rooms" +msgstr "Salas de chat" + +#: ../../include/widgets.php:781 +msgid "Bookmarked Chatrooms" +msgstr "Salas de chat preferidas" + +#: ../../include/widgets.php:801 +msgid "Suggested Chatrooms" +msgstr "Salas de chat sugeridas" + +#: ../../include/widgets.php:928 ../../include/widgets.php:986 +msgid "photo/image" +msgstr "foto/imagen" + +#: ../../include/widgets.php:1081 ../../include/widgets.php:1083 +msgid "Rate Me" +msgstr "Valorar este canal" + +#: ../../include/widgets.php:1087 +msgid "View Ratings" +msgstr "Mostrar las valoraciones" + +#: ../../include/widgets.php:1098 +msgid "Public Hubs" +msgstr "Servidores públicos" + +#: ../../include/widgets.php:1146 +msgid "Forums" +msgstr "Foros" + +#: ../../include/widgets.php:1175 +msgid "Tasks" +msgstr "Tareas" + +#: ../../include/widgets.php:1184 +msgid "Documentation" +msgstr "Documentación" + +#: ../../include/widgets.php:1186 +msgid "Project/Site Information" +msgstr "Información sobre el proyecto o sitio" + +#: ../../include/widgets.php:1187 +msgid "For Members" +msgstr "Para los usuarios" + +#: ../../include/widgets.php:1188 +msgid "For Administrators" +msgstr "Para los administradores" + +#: ../../include/widgets.php:1189 +msgid "For Developers" +msgstr "Para los desarrolladores" + +#: ../../include/widgets.php:1214 ../../mod/admin.php:434 +msgid "Site" +msgstr "Sitio" + +#: ../../include/widgets.php:1215 +msgid "Accounts" +msgstr "Cuentas" + +#: ../../include/widgets.php:1216 ../../mod/admin.php:965 +msgid "Channels" +msgstr "Canales" + +#: ../../include/widgets.php:1217 ../../mod/admin.php:1062 +#: ../../mod/admin.php:1102 +msgid "Plugins" +msgstr "Extensiones" + +#: ../../include/widgets.php:1218 ../../mod/admin.php:1262 +#: ../../mod/admin.php:1296 +msgid "Themes" +msgstr "Temas" + +#: ../../include/widgets.php:1219 +msgid "Inspect queue" +msgstr "Examinar la cola" + +#: ../../include/widgets.php:1220 +msgid "Profile Config" +msgstr "Ajustes del perfil" + +#: ../../include/widgets.php:1221 +msgid "DB updates" +msgstr "Actualizaciones de la base de datos" + +#: ../../include/widgets.php:1239 ../../include/widgets.php:1245 +#: ../../mod/admin.php:1381 +msgid "Logs" +msgstr "Informes" + +#: ../../include/widgets.php:1243 ../../include/nav.php:210 +msgid "Admin" +msgstr "Administrador" + +#: ../../include/widgets.php:1244 +msgid "Plugin Features" +msgstr "Ajustes de la extensión" + +#: ../../include/widgets.php:1246 +msgid "User registrations waiting for confirmation" +msgstr "Registros de usuarios pendientes de confirmación" + +#: ../../include/widgets.php:1325 ../../mod/photos.php:753 +#: ../../mod/photos.php:1286 +msgid "View Photo" +msgstr "Ver foto" + +#: ../../include/widgets.php:1341 ../../mod/photos.php:782 +msgid "Edit Album" +msgstr "Editar álbum" + +#: ../../include/bookmarks.php:35 +#, php-format +msgid "%1$s's bookmarks" +msgstr "Marcadores de %1$s" #: ../../include/features.php:38 msgid "General Features" @@ -555,12 +1670,7 @@ msgstr "Fotos de gran tamaño" msgid "" "Include large (1024px) photo thumbnails in posts. If not enabled, use small " "(640px) photo thumbnails" -msgstr "Incluir miniaturas de fotos grandes (1024px) en publicaciones. Si no está habilitado, usar miniaturas pequeñas (6400px)" - -#: ../../include/features.php:59 ../../include/widgets.php:546 -#: ../../mod/sources.php:88 -msgid "Channel Sources" -msgstr "Orígenes de los contenidos del canal" +msgstr "Incluir miniaturas de fotos grandes (1024px) en publicaciones. Si no está habilitado, usar miniaturas pequeñas (640px)" #: ../../include/features.php:59 msgid "Automatically import channel content from other channels or feeds" @@ -621,10 +1731,6 @@ msgstr "Filtrado de colecciones" msgid "Enable widget to display Network posts only from selected collections" msgstr "Habilitar la muestra de entradas eligiendo colecciones" -#: ../../include/features.php:72 ../../include/widgets.php:274 -msgid "Saved Searches" -msgstr "Búsquedas guardadas" - #: ../../include/features.php:72 msgid "Save search terms for re-use" msgstr "Guardar términos de búsqueda para su reutilización" @@ -689,11 +1795,6 @@ msgstr "Categorías de entradas" msgid "Add categories to your posts" msgstr "Añadir categorías a sus publicaciones" -#: ../../include/features.php:85 ../../include/contact_widgets.php:57 -#: ../../include/widgets.php:304 -msgid "Saved Folders" -msgstr "Carpetas guardadas" - #: ../../include/features.php:85 msgid "Ability to file posts under folders" msgstr "Capacidad de archivar entradas en carpetas" @@ -722,570 +1823,361 @@ msgstr "Nube de etiquetas" msgid "Provide a personal tag cloud on your channel page" msgstr "Proveer nube de etiquetas personal en su página de canal" -#: ../../include/comanche.php:34 ../../mod/admin.php:351 -msgid "Default" -msgstr "Predeterminado" - -#: ../../include/js_strings.php:5 -msgid "Delete this item?" -msgstr "¿Borrar este elemento?" - -#: ../../include/js_strings.php:6 ../../include/ItemObject.php:682 -#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 -msgid "Comment" -msgstr "Comentar" - -#: ../../include/js_strings.php:7 ../../include/ItemObject.php:399 -msgid "[+] show all" -msgstr "[+] mostrar todo:" - -#: ../../include/js_strings.php:8 -msgid "[-] show less" -msgstr "[-] mostrar menos" - -#: ../../include/js_strings.php:9 -msgid "[+] expand" -msgstr "[+] expandir" - -#: ../../include/js_strings.php:10 -msgid "[-] collapse" -msgstr "[-] contraer" - -#: ../../include/js_strings.php:11 -msgid "Password too short" -msgstr "Contraseña demasiado corta" - -#: ../../include/js_strings.php:12 -msgid "Passwords do not match" -msgstr "Las contraseñas no coinciden" - -#: ../../include/js_strings.php:13 ../../mod/photos.php:41 -msgid "everybody" -msgstr "cualquiera" - -#: ../../include/js_strings.php:14 -msgid "Secret Passphrase" -msgstr "Contraseña secreta" - -#: ../../include/js_strings.php:15 -msgid "Passphrase hint" -msgstr "Pista de contraseña" - -#: ../../include/js_strings.php:16 -msgid "Notice: Permissions have changed but have not yet been submitted." -msgstr "Aviso: los permisos han cambiado pero aún no han sido enviados." - -#: ../../include/js_strings.php:17 -msgid "close all" -msgstr "cerrar todo" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 +msgid "Male" +msgstr "Hombre" -#: ../../include/js_strings.php:18 -msgid "Nothing new here" -msgstr "Nada nuevo por aquí" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 +msgid "Female" +msgstr "Mujer" -#: ../../include/js_strings.php:19 -msgid "Rate This Channel (this is public)" -msgstr "Valorar este canal (esto es público)" +#: ../../include/profile_selectors.php:6 +msgid "Currently Male" +msgstr "Actualmente hombre" -#: ../../include/js_strings.php:20 ../../mod/connedit.php:694 -#: ../../mod/rate.php:157 -msgid "Rating" -msgstr "Valoración" +#: ../../include/profile_selectors.php:6 +msgid "Currently Female" +msgstr "Actualmente mujer" -#: ../../include/js_strings.php:21 -msgid "Describe (optional)" -msgstr "Describir (opcional)" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Male" +msgstr "Generalmente hombre" -#: ../../include/js_strings.php:22 ../../include/ItemObject.php:683 -#: ../../include/widgets.php:676 ../../mod/fsuggest.php:108 -#: ../../mod/mitem.php:231 ../../mod/connedit.php:715 ../../mod/mood.php:135 -#: ../../mod/pconfig.php:108 ../../mod/filestorage.php:156 -#: ../../mod/poke.php:171 ../../mod/chat.php:184 ../../mod/chat.php:213 -#: ../../mod/rate.php:168 ../../mod/photos.php:637 ../../mod/photos.php:1008 -#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:435 -#: ../../mod/admin.php:802 ../../mod/admin.php:966 ../../mod/admin.php:1103 -#: ../../mod/admin.php:1297 ../../mod/admin.php:1382 ../../mod/appman.php:99 -#: ../../mod/pdledit.php:58 ../../mod/events.php:531 ../../mod/events.php:710 -#: ../../mod/sources.php:104 ../../mod/sources.php:138 -#: ../../mod/import.php:527 ../../mod/thing.php:313 ../../mod/thing.php:359 -#: ../../mod/invite.php:142 ../../mod/mail.php:371 ../../mod/settings.php:584 -#: ../../mod/settings.php:696 ../../mod/settings.php:724 -#: ../../mod/settings.php:747 ../../mod/settings.php:832 -#: ../../mod/settings.php:1021 ../../mod/xchan.php:11 ../../mod/group.php:81 -#: ../../mod/connect.php:93 ../../mod/locs.php:116 ../../mod/setup.php:331 -#: ../../mod/setup.php:371 ../../mod/profiles.php:667 -#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99 -msgid "Submit" -msgstr "Enviar" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Female" +msgstr "Generalmente mujer" -#: ../../include/js_strings.php:23 -msgid "Please enter a link URL" -msgstr "Por favor, introduzca una dirección de enlace" +#: ../../include/profile_selectors.php:6 +msgid "Transgender" +msgstr "Transgénero" -#: ../../include/js_strings.php:24 -msgid "Unsaved changes. Are you sure you wish to leave this page?" -msgstr "Cambios no guardados. ¿Está seguro de que desea abandonar la página?" +#: ../../include/profile_selectors.php:6 +msgid "Intersex" +msgstr "Intersexual" -#: ../../include/js_strings.php:26 -msgid "timeago.prefixAgo" -msgstr "timeago.prefixAgo" +#: ../../include/profile_selectors.php:6 +msgid "Transsexual" +msgstr "Transexual" -#: ../../include/js_strings.php:27 -msgid "timeago.prefixFromNow" -msgstr "timeago.prefixFromNow" +#: ../../include/profile_selectors.php:6 +msgid "Hermaphrodite" +msgstr "Hermafrodita" -#: ../../include/js_strings.php:28 -msgid "ago" -msgstr "antes" +#: ../../include/profile_selectors.php:6 +msgid "Neuter" +msgstr "Neutral" -#: ../../include/js_strings.php:29 -msgid "from now" -msgstr "desde ahora" +#: ../../include/profile_selectors.php:6 +msgid "Non-specific" +msgstr "No especificado" -#: ../../include/js_strings.php:30 -msgid "less than a minute" -msgstr "menos de un minuto" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 +#: ../../include/profile_selectors.php:61 +#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871 +msgid "Other" +msgstr "Otro" -#: ../../include/js_strings.php:31 -msgid "about a minute" -msgstr "alrededor de un minuto" +#: ../../include/profile_selectors.php:6 +msgid "Undecided" +msgstr "Indeciso/a" -#: ../../include/js_strings.php:32 -#, php-format -msgid "%d minutes" -msgstr "%d minutos" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Males" +msgstr "Hombres" -#: ../../include/js_strings.php:33 -msgid "about an hour" -msgstr "alrededor de una hora" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Females" +msgstr "Mujeres" -#: ../../include/js_strings.php:34 -#, php-format -msgid "about %d hours" -msgstr "alrededor de %d horas" +#: ../../include/profile_selectors.php:42 +msgid "Gay" +msgstr "Homosexual" -#: ../../include/js_strings.php:35 -msgid "a day" -msgstr "un día" +#: ../../include/profile_selectors.php:42 +msgid "Lesbian" +msgstr "Lesbiana" -#: ../../include/js_strings.php:36 -#, php-format -msgid "%d days" -msgstr "%d días" +#: ../../include/profile_selectors.php:42 +msgid "No Preference" +msgstr "Sin preferencias" -#: ../../include/js_strings.php:37 -msgid "about a month" -msgstr "alrededor de un mes" +#: ../../include/profile_selectors.php:42 +msgid "Bisexual" +msgstr "Bisexual" -#: ../../include/js_strings.php:38 -#, php-format -msgid "%d months" -msgstr "%d meses" +#: ../../include/profile_selectors.php:42 +msgid "Autosexual" +msgstr "Autosexual" -#: ../../include/js_strings.php:39 -msgid "about a year" -msgstr "alrededor de un año" +#: ../../include/profile_selectors.php:42 +msgid "Abstinent" +msgstr "Casto/a" -#: ../../include/js_strings.php:40 -#, php-format -msgid "%d years" -msgstr "%d años" +#: ../../include/profile_selectors.php:42 +msgid "Virgin" +msgstr "Virgen" -#: ../../include/js_strings.php:41 -msgid " " -msgstr " " +#: ../../include/profile_selectors.php:42 +msgid "Deviant" +msgstr "Fuera de lo común" -#: ../../include/js_strings.php:42 -msgid "timeago.numbers" -msgstr "timeago.numbers" +#: ../../include/profile_selectors.php:42 +msgid "Fetish" +msgstr "Fetichista" -#: ../../include/js_strings.php:44 ../../include/text.php:1164 -msgid "January" -msgstr "enero" +#: ../../include/profile_selectors.php:42 +msgid "Oodles" +msgstr "Orgías" -#: ../../include/js_strings.php:45 ../../include/text.php:1164 -msgid "February" -msgstr "febrero" +#: ../../include/profile_selectors.php:42 +msgid "Nonsexual" +msgstr "Asexual" -#: ../../include/js_strings.php:46 ../../include/text.php:1164 -msgid "March" -msgstr "marzo" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Single" +msgstr "Soltero/a" -#: ../../include/js_strings.php:47 ../../include/text.php:1164 -msgid "April" -msgstr "abril" +#: ../../include/profile_selectors.php:80 +msgid "Lonely" +msgstr "Solo/a" -#: ../../include/js_strings.php:48 -msgctxt "long" -msgid "May" -msgstr "mayo" +#: ../../include/profile_selectors.php:80 +msgid "Available" +msgstr "Disponible" -#: ../../include/js_strings.php:49 ../../include/text.php:1164 -msgid "June" -msgstr "junio" +#: ../../include/profile_selectors.php:80 +msgid "Unavailable" +msgstr "No disponible" -#: ../../include/js_strings.php:50 ../../include/text.php:1164 -msgid "July" -msgstr "julio" +#: ../../include/profile_selectors.php:80 +msgid "Has crush" +msgstr "Enamorado/a" -#: ../../include/js_strings.php:51 ../../include/text.php:1164 -msgid "August" -msgstr "agosto" +#: ../../include/profile_selectors.php:80 +msgid "Infatuated" +msgstr "Apasionado/a" -#: ../../include/js_strings.php:52 ../../include/text.php:1164 -msgid "September" -msgstr "septiembre" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Dating" +msgstr "Saliendo con alguien" -#: ../../include/js_strings.php:53 ../../include/text.php:1164 -msgid "October" -msgstr "octubre" +#: ../../include/profile_selectors.php:80 +msgid "Unfaithful" +msgstr "Infiel" -#: ../../include/js_strings.php:54 ../../include/text.php:1164 -msgid "November" -msgstr "noviembre" +#: ../../include/profile_selectors.php:80 +msgid "Sex Addict" +msgstr "Con adicción al sexo" -#: ../../include/js_strings.php:55 ../../include/text.php:1164 -msgid "December" -msgstr "diciembre" +#: ../../include/profile_selectors.php:80 +msgid "Friends/Benefits" +msgstr "Amigos con algo extra" -#: ../../include/js_strings.php:56 -msgid "Jan" -msgstr "Ene" +#: ../../include/profile_selectors.php:80 +msgid "Casual" +msgstr "Casual" -#: ../../include/js_strings.php:57 -msgid "Feb" -msgstr "Feb" +#: ../../include/profile_selectors.php:80 +msgid "Engaged" +msgstr "Prometido/a" -#: ../../include/js_strings.php:58 -msgid "Mar" -msgstr "Mar" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Married" +msgstr "Casado/a" -#: ../../include/js_strings.php:59 -msgid "Apr" -msgstr "Abr" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily married" +msgstr "Casado/a en sueños" -#: ../../include/js_strings.php:60 -msgctxt "short" -msgid "May" -msgstr "May" +#: ../../include/profile_selectors.php:80 +msgid "Partners" +msgstr "Pareja" -#: ../../include/js_strings.php:61 -msgid "Jun" -msgstr "Jun" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Cohabiting" +msgstr "Cohabitando" -#: ../../include/js_strings.php:62 -msgid "Jul" -msgstr "Jul" +#: ../../include/profile_selectors.php:80 +msgid "Common law" +msgstr "Matrimonio tradicional" -#: ../../include/js_strings.php:63 -msgid "Aug" -msgstr "Ago" +#: ../../include/profile_selectors.php:80 +msgid "Happy" +msgstr "Felíz" -#: ../../include/js_strings.php:64 -msgid "Sep" -msgstr "Sep" +#: ../../include/profile_selectors.php:80 +msgid "Not looking" +msgstr "No estoy buscando" -#: ../../include/js_strings.php:65 -msgid "Oct" -msgstr "Oct" +#: ../../include/profile_selectors.php:80 +msgid "Swinger" +msgstr "Libertino" -#: ../../include/js_strings.php:66 -msgid "Nov" -msgstr "Nov" +#: ../../include/profile_selectors.php:80 +msgid "Betrayed" +msgstr "Engañado/a" -#: ../../include/js_strings.php:67 -msgid "Dec" -msgstr "Dic" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Separated" +msgstr "Separado/a" -#: ../../include/js_strings.php:68 ../../include/text.php:1160 -msgid "Sunday" -msgstr "domingo" +#: ../../include/profile_selectors.php:80 +msgid "Unstable" +msgstr "Inestable" -#: ../../include/js_strings.php:69 ../../include/text.php:1160 -msgid "Monday" -msgstr "lunes" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Divorced" +msgstr "Divorciado/a" -#: ../../include/js_strings.php:70 ../../include/text.php:1160 -msgid "Tuesday" -msgstr "martes" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily divorced" +msgstr "Divorciado/a en sueños" -#: ../../include/js_strings.php:71 ../../include/text.php:1160 -msgid "Wednesday" -msgstr "miércoles" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Widowed" +msgstr "Viudo/a" -#: ../../include/js_strings.php:72 ../../include/text.php:1160 -msgid "Thursday" -msgstr "jueves" +#: ../../include/profile_selectors.php:80 +msgid "Uncertain" +msgstr "Indeterminado" -#: ../../include/js_strings.php:73 ../../include/text.php:1160 -msgid "Friday" -msgstr "viernes" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "It's complicated" +msgstr "Es complicado" -#: ../../include/js_strings.php:74 ../../include/text.php:1160 -msgid "Saturday" -msgstr "sábado" +#: ../../include/profile_selectors.php:80 +msgid "Don't care" +msgstr "No me importa" -#: ../../include/js_strings.php:75 -msgid "Sun" -msgstr "Dom" +#: ../../include/profile_selectors.php:80 +msgid "Ask me" +msgstr "Pregúnteme" -#: ../../include/js_strings.php:76 -msgid "Mon" -msgstr "Lun" +#: ../../include/datetime.php:48 +msgid "Miscellaneous" +msgstr "Varios" -#: ../../include/js_strings.php:77 -msgid "Tue" -msgstr "Mar" +#: ../../include/datetime.php:132 +msgid "YYYY-MM-DD or MM-DD" +msgstr "AAAA-MM-DD o MM-DD" -#: ../../include/js_strings.php:78 -msgid "Wed" -msgstr "Mié" +#: ../../include/datetime.php:236 ../../mod/appman.php:91 +#: ../../mod/appman.php:92 ../../mod/events.php:437 ../../mod/events.php:442 +msgid "Required" +msgstr "Obligatorio" -#: ../../include/js_strings.php:79 -msgid "Thu" -msgstr "Jue" +#: ../../include/datetime.php:263 ../../boot.php:2284 +msgid "never" +msgstr "nunca" -#: ../../include/js_strings.php:80 -msgid "Fri" -msgstr "Vie" +#: ../../include/datetime.php:269 +msgid "less than a second ago" +msgstr "hace un instante" -#: ../../include/js_strings.php:81 -msgid "Sat" -msgstr "Sáb" +#: ../../include/datetime.php:272 +msgid "year" +msgstr "año" -#: ../../include/js_strings.php:82 -msgctxt "calendar" -msgid "today" -msgstr "hoy" +#: ../../include/datetime.php:272 +msgid "years" +msgstr "años" -#: ../../include/js_strings.php:83 -msgctxt "calendar" +#: ../../include/datetime.php:273 msgid "month" msgstr "mes" -#: ../../include/js_strings.php:84 -msgctxt "calendar" +#: ../../include/datetime.php:273 +msgid "months" +msgstr "meses" + +#: ../../include/datetime.php:274 msgid "week" msgstr "semana" -#: ../../include/js_strings.php:85 -msgctxt "calendar" +#: ../../include/datetime.php:274 +msgid "weeks" +msgstr "semanas" + +#: ../../include/datetime.php:275 msgid "day" msgstr "día" -#: ../../include/js_strings.php:86 -msgctxt "calendar" -msgid "All day" -msgstr "Todos los días" - -#: ../../include/contact_selectors.php:56 -msgid "Frequently" -msgstr "Frecuentemente" - -#: ../../include/contact_selectors.php:57 -msgid "Hourly" -msgstr "Cada hora" - -#: ../../include/contact_selectors.php:58 -msgid "Twice daily" -msgstr "Dos veces al día" - -#: ../../include/contact_selectors.php:59 -msgid "Daily" -msgstr "Diariamente" - -#: ../../include/contact_selectors.php:60 -msgid "Weekly" -msgstr "Semanalmente" - -#: ../../include/contact_selectors.php:61 -msgid "Monthly" -msgstr "Mensualmente" - -#: ../../include/contact_selectors.php:76 -msgid "Friendica" -msgstr "Friendica" - -#: ../../include/contact_selectors.php:77 -msgid "OStatus" -msgstr "OStatus" - -#: ../../include/contact_selectors.php:78 -msgid "RSS/Atom" -msgstr "RSS/Atom" - -#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 -#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 -#: ../../boot.php:1488 -msgid "Email" -msgstr "Correo electrónico" - -#: ../../include/contact_selectors.php:80 -msgid "Diaspora" -msgstr "Diaspora" - -#: ../../include/contact_selectors.php:81 -msgid "Facebook" -msgstr "Facebook" - -#: ../../include/contact_selectors.php:82 -msgid "Zot!" -msgstr "Zot!" - -#: ../../include/contact_selectors.php:83 -msgid "LinkedIn" -msgstr "LinkedIn" - -#: ../../include/contact_selectors.php:84 -msgid "XMPP/IM" -msgstr "XMPP/IM" - -#: ../../include/contact_selectors.php:85 -msgid "MySpace" -msgstr "MySpace" - -#: ../../include/activities.php:42 -msgid " and " -msgstr "y" - -#: ../../include/activities.php:50 -msgid "public profile" -msgstr "perfil público" - -#: ../../include/activities.php:59 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" -msgstr "%1$s cambió %2$s a “%3$s”" - -#: ../../include/activities.php:60 -#, php-format -msgid "Visit %1$s's %2$s" -msgstr "Visitar %2$s de %1$s" - -#: ../../include/activities.php:63 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." -msgstr "%1$s ha actualizado %2$s cambiando %3$s." - -#: ../../include/Contact.php:101 ../../include/conversation.php:952 -#: ../../include/widgets.php:137 ../../include/widgets.php:175 -#: ../../include/identity.php:952 ../../mod/directory.php:318 -#: ../../mod/match.php:64 ../../mod/suggest.php:52 -msgid "Connect" -msgstr "Conectar" - -#: ../../include/Contact.php:118 -msgid "New window" -msgstr "Nueva ventana" - -#: ../../include/Contact.php:119 -msgid "Open the selected location in a different window or browser tab" -msgstr "Abrir la dirección seleccionada en una ventana o pestaña aparte" - -#: ../../include/Contact.php:237 -#, php-format -msgid "User '%s' deleted" -msgstr "El usuario '%s' ha sido eliminado" - -#: ../../include/dba/dba_driver.php:141 -#, php-format -msgid "Cannot locate DNS info for database server '%s'" -msgstr "No se ha podido localizar información de DNS para el servidor de base de datos “%s”" +#: ../../include/datetime.php:275 +msgid "days" +msgstr "días" -#: ../../include/items.php:423 ../../mod/like.php:280 -#: ../../mod/subthread.php:58 ../../mod/dreport.php:6 ../../mod/dreport.php:45 -#: ../../mod/group.php:68 ../../mod/profperm.php:23 -#: ../../mod/import_items.php:114 ../../index.php:360 -msgid "Permission denied" -msgstr "Permiso denegado" +#: ../../include/datetime.php:276 +msgid "hour" +msgstr "hora" -#: ../../include/items.php:1128 ../../include/items.php:1174 -msgid "(Unknown)" -msgstr "(Desconocido)" +#: ../../include/datetime.php:276 +msgid "hours" +msgstr "horas" -#: ../../include/items.php:1371 -msgid "Visible to anybody on the internet." -msgstr "Visible para cualquiera en internet." +#: ../../include/datetime.php:277 +msgid "minute" +msgstr "minuto" -#: ../../include/items.php:1373 -msgid "Visible to you only." -msgstr "Visible sólo para usted." +#: ../../include/datetime.php:277 +msgid "minutes" +msgstr "minutos" -#: ../../include/items.php:1375 -msgid "Visible to anybody in this network." -msgstr "Visible para cualquiera en esta red." +#: ../../include/datetime.php:278 +msgid "second" +msgstr "segundo" -#: ../../include/items.php:1377 -msgid "Visible to anybody authenticated." -msgstr "Visible para cualquiera que haya sido autenticado." +#: ../../include/datetime.php:278 +msgid "seconds" +msgstr "segundos" -#: ../../include/items.php:1379 +#: ../../include/datetime.php:286 #, php-format -msgid "Visible to anybody on %s." -msgstr "Visible para cualquiera en %s." - -#: ../../include/items.php:1381 -msgid "Visible to all connections." -msgstr "Visible para todas las conexiones." - -#: ../../include/items.php:1383 -msgid "Visible to approved connections." -msgstr "Visible para las conexiones permitidas." - -#: ../../include/items.php:1385 -msgid "Visible to specific connections." -msgstr "Visible para conexiones específicas." - -#: ../../include/items.php:4317 ../../mod/display.php:36 -#: ../../mod/filestorage.php:27 ../../mod/admin.php:127 -#: ../../mod/admin.php:1005 ../../mod/admin.php:1210 ../../mod/thing.php:86 -#: ../../mod/viewsrc.php:20 -msgid "Item not found." -msgstr "Elemento no encontrado." - -#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137 -msgid "Collection not found." -msgstr "Colección no encontrada." - -#: ../../include/items.php:4842 -msgid "Collection is empty." -msgstr "La colección está vacía." +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" +msgstr "hace %1$d %2$s" -#: ../../include/items.php:4849 +#: ../../include/datetime.php:520 #, php-format -msgid "Collection: %s" -msgstr "Colección: %s" +msgid "%1$s's birthday" +msgstr "Cumpleaños de %1$s" -#: ../../include/items.php:4859 ../../mod/connedit.php:683 +#: ../../include/datetime.php:521 #, php-format -msgid "Connection: %s" -msgstr "Conexión: %s" +msgid "Happy Birthday %1$s" +msgstr "Feliz cumpleaños %1$s" -#: ../../include/items.php:4861 -msgid "Connection not found." -msgstr "Conexión no encontrada" +#: ../../include/api.php:1301 +msgid "Public Timeline" +msgstr "Cronología pública" -#: ../../include/conversation.php:120 ../../include/text.php:1880 -#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:83 +#: ../../include/conversation.php:120 ../../include/text.php:1916 +#: ../../mod/tagger.php:43 ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "photo" msgstr "foto" -#: ../../include/conversation.php:123 ../../include/event.php:896 -#: ../../include/text.php:1883 ../../mod/like.php:363 ../../mod/tagger.php:47 -#: ../../mod/events.php:245 -msgid "event" -msgstr "evento" - #: ../../include/conversation.php:126 ../../mod/like.php:113 msgid "channel" msgstr "canal" -#: ../../include/conversation.php:148 ../../include/text.php:1886 +#: ../../include/conversation.php:148 ../../include/text.php:1922 #: ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "status" msgstr "el mensaje de estado" -#: ../../include/conversation.php:150 ../../include/text.php:1888 +#: ../../include/conversation.php:150 ../../include/text.php:1924 #: ../../mod/tagger.php:53 msgid "comment" msgstr "comentario" @@ -1310,9 +2202,9 @@ msgstr "%1$s ahora está conectado/a con %2$s" msgid "%1$s poked %2$s" msgstr "%1$s ha dado un toque a %2$s" -#: ../../include/conversation.php:243 ../../include/text.php:953 +#: ../../include/conversation.php:243 ../../include/text.php:954 msgid "poked" -msgstr "ha recibido un toque" +msgstr "ha dado un toque a" #: ../../include/conversation.php:260 ../../mod/mood.php:63 #, php-format @@ -1381,478 +2273,464 @@ msgstr "Firma de mensaje incorrecta" msgid "View %s's profile @ %s" msgstr "Ver el perfil @ %s de %s" -#: ../../include/conversation.php:709 +#: ../../include/conversation.php:710 msgid "Categories:" msgstr "Categorías:" -#: ../../include/conversation.php:710 +#: ../../include/conversation.php:711 msgid "Filed under:" msgstr "Archivado bajo:" -#: ../../include/conversation.php:718 ../../include/ItemObject.php:321 +#: ../../include/conversation.php:719 ../../include/ItemObject.php:334 #, php-format msgid "from %s" msgstr "desde %s" -#: ../../include/conversation.php:721 ../../include/ItemObject.php:324 +#: ../../include/conversation.php:722 ../../include/ItemObject.php:337 #, php-format msgid "last edited: %s" msgstr "último cambio: %s" -#: ../../include/conversation.php:722 ../../include/ItemObject.php:325 +#: ../../include/conversation.php:723 ../../include/ItemObject.php:338 #, php-format msgid "Expires: %s" msgstr "Caduca: %s" -#: ../../include/conversation.php:737 +#: ../../include/conversation.php:738 msgid "View in context" msgstr "Mostrar en su contexto" -#: ../../include/conversation.php:739 ../../include/conversation.php:1226 -#: ../../include/ItemObject.php:375 ../../mod/photos.php:1029 -#: ../../mod/editblock.php:150 ../../mod/editpost.php:129 -#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190 +#: ../../include/conversation.php:740 ../../include/conversation.php:1227 +#: ../../include/ItemObject.php:389 ../../mod/editwebpage.php:190 +#: ../../mod/photos.php:1029 ../../mod/editblock.php:150 +#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129 msgid "Please wait" msgstr "Espere por favor" -#: ../../include/conversation.php:849 +#: ../../include/conversation.php:850 msgid "remove" msgstr "eliminar" -#: ../../include/conversation.php:853 ../../include/nav.php:241 +#: ../../include/conversation.php:854 ../../include/nav.php:241 msgid "Loading..." msgstr "Cargando..." -#: ../../include/conversation.php:854 +#: ../../include/conversation.php:855 msgid "Delete Selected Items" msgstr "Eliminar elementos seleccionados" -#: ../../include/conversation.php:945 +#: ../../include/conversation.php:946 msgid "View Source" msgstr "Ver la fuente original de la entrada" -#: ../../include/conversation.php:946 +#: ../../include/conversation.php:947 msgid "Follow Thread" -msgstr "Seguir el hilo" +msgstr "Seguir este hilo" -#: ../../include/conversation.php:947 +#: ../../include/conversation.php:948 msgid "Unfollow Thread" msgstr "Dejar de seguir este hilo" -#: ../../include/conversation.php:948 +#: ../../include/conversation.php:949 msgid "View Status" -msgstr "Ver el estado actual" +msgstr "Ver mi estado actual" -#: ../../include/conversation.php:949 ../../include/nav.php:86 +#: ../../include/conversation.php:950 ../../include/nav.php:86 #: ../../mod/connedit.php:498 msgid "View Profile" msgstr "Ver el perfil" -#: ../../include/conversation.php:950 +#: ../../include/conversation.php:951 msgid "View Photos" msgstr "Ver fotos" -#: ../../include/conversation.php:951 +#: ../../include/conversation.php:952 msgid "Activity/Posts" msgstr "Actividad y entradas" -#: ../../include/conversation.php:953 +#: ../../include/conversation.php:954 msgid "Edit Connection" msgstr "Editar conexión" -#: ../../include/conversation.php:954 +#: ../../include/conversation.php:955 msgid "Send PM" msgstr "Enviar un mensaje privado" -#: ../../include/conversation.php:955 ../../include/apps.php:145 +#: ../../include/conversation.php:956 ../../include/apps.php:145 msgid "Poke" msgstr "Toques y otras cosas" -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s likes this." msgstr "a %s le gusta esto." -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s doesn't like this." msgstr "a %s no le gusta esto." -#: ../../include/conversation.php:1073 +#: ../../include/conversation.php:1074 #, php-format msgid "<span %1$s>%2$d people</span> like this." msgid_plural "<span %1$s>%2$d people</span> like this." msgstr[0] "a <span %1$s>%2$d personas</span> le gusta esto." msgstr[1] "a <span %1$s>%2$d personas</span> les gusta esto." -#: ../../include/conversation.php:1075 +#: ../../include/conversation.php:1076 #, php-format msgid "<span %1$s>%2$d people</span> don't like this." msgid_plural "<span %1$s>%2$d people</span> don't like this." msgstr[0] "a <span %1$s>%2$d personas</span> no les gusta esto." msgstr[1] "a <span %1$s>%2$d personas</span> no les gusta esto." -#: ../../include/conversation.php:1081 +#: ../../include/conversation.php:1082 msgid "and" msgstr "y" -#: ../../include/conversation.php:1084 +#: ../../include/conversation.php:1085 #, php-format msgid ", and %d other people" msgid_plural ", and %d other people" msgstr[0] ", y %d persona más" msgstr[1] ", y %d personas más" -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s like this." msgstr "a %s le gusta esto." -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s don't like this." msgstr "a %s no le gusta esto." -#: ../../include/conversation.php:1153 +#: ../../include/conversation.php:1154 msgid "Visible to <strong>everybody</strong>" msgstr "Visible para <strong>cualquiera</strong>" -#: ../../include/conversation.php:1154 ../../mod/mail.php:194 +#: ../../include/conversation.php:1155 ../../mod/mail.php:194 #: ../../mod/mail.php:308 msgid "Please enter a link URL:" msgstr "Por favor, introduzca la dirección del enlace:" -#: ../../include/conversation.php:1155 +#: ../../include/conversation.php:1156 msgid "Please enter a video link/URL:" msgstr "Por favor, introduzca un enlace de vídeo:" -#: ../../include/conversation.php:1156 +#: ../../include/conversation.php:1157 msgid "Please enter an audio link/URL:" msgstr "Por favor, introduzca un enlace de audio:" -#: ../../include/conversation.php:1157 +#: ../../include/conversation.php:1158 msgid "Tag term:" msgstr "Término de la etiqueta:" -#: ../../include/conversation.php:1158 ../../mod/filer.php:48 +#: ../../include/conversation.php:1159 ../../mod/filer.php:48 msgid "Save to Folder:" msgstr "Guardar en carpeta:" -#: ../../include/conversation.php:1159 +#: ../../include/conversation.php:1160 msgid "Where are you right now?" msgstr "¿Donde está ahora?" -#: ../../include/conversation.php:1160 ../../mod/editpost.php:56 +#: ../../include/conversation.php:1161 ../../mod/editpost.php:56 #: ../../mod/mail.php:195 ../../mod/mail.php:309 msgid "Expires YYYY-MM-DD HH:MM" msgstr "Caduca YYYY-MM-DD HH:MM" -#: ../../include/conversation.php:1168 ../../include/page_widgets.php:40 -#: ../../include/ItemObject.php:692 ../../mod/photos.php:1049 -#: ../../mod/editblock.php:171 ../../mod/editpost.php:149 -#: ../../mod/events.php:707 ../../mod/webpages.php:188 -#: ../../mod/editwebpage.php:212 +#: ../../include/conversation.php:1169 ../../include/page_widgets.php:40 +#: ../../include/ItemObject.php:706 ../../mod/editwebpage.php:212 +#: ../../mod/photos.php:1049 ../../mod/editblock.php:171 +#: ../../mod/webpages.php:188 ../../mod/editpost.php:149 +#: ../../mod/events.php:458 msgid "Preview" msgstr "Previsualizar" -#: ../../include/conversation.php:1191 ../../mod/layouts.php:184 +#: ../../include/conversation.php:1192 ../../mod/blocks.php:154 #: ../../mod/photos.php:1028 ../../mod/webpages.php:182 -#: ../../mod/blocks.php:154 +#: ../../mod/layouts.php:184 msgid "Share" msgstr "Compartir" -#: ../../include/conversation.php:1193 +#: ../../include/conversation.php:1194 msgid "Page link name" msgstr "Nombre de enlace de página" -#: ../../include/conversation.php:1196 +#: ../../include/conversation.php:1197 msgid "Post as" msgstr "Publicar como" -#: ../../include/conversation.php:1198 ../../include/ItemObject.php:684 -#: ../../mod/editblock.php:136 ../../mod/editpost.php:113 -#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177 +#: ../../include/conversation.php:1199 ../../include/ItemObject.php:698 +#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:136 +#: ../../mod/editlayout.php:135 ../../mod/editpost.php:113 msgid "Bold" msgstr "Negrita" -#: ../../include/conversation.php:1199 ../../include/ItemObject.php:685 -#: ../../mod/editblock.php:137 ../../mod/editpost.php:114 -#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178 +#: ../../include/conversation.php:1200 ../../include/ItemObject.php:699 +#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:137 +#: ../../mod/editlayout.php:136 ../../mod/editpost.php:114 msgid "Italic" msgstr "Itálico " -#: ../../include/conversation.php:1200 ../../include/ItemObject.php:686 -#: ../../mod/editblock.php:138 ../../mod/editpost.php:115 -#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179 +#: ../../include/conversation.php:1201 ../../include/ItemObject.php:700 +#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:138 +#: ../../mod/editlayout.php:137 ../../mod/editpost.php:115 msgid "Underline" msgstr "Subrayar" -#: ../../include/conversation.php:1201 ../../include/ItemObject.php:687 -#: ../../mod/editblock.php:139 ../../mod/editpost.php:116 -#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180 +#: ../../include/conversation.php:1202 ../../include/ItemObject.php:701 +#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:139 +#: ../../mod/editlayout.php:138 ../../mod/editpost.php:116 msgid "Quote" msgstr "Citar" -#: ../../include/conversation.php:1202 ../../include/ItemObject.php:688 -#: ../../mod/editblock.php:140 ../../mod/editpost.php:117 -#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181 +#: ../../include/conversation.php:1203 ../../include/ItemObject.php:702 +#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:140 +#: ../../mod/editlayout.php:139 ../../mod/editpost.php:117 msgid "Code" msgstr "Código" -#: ../../include/conversation.php:1203 ../../mod/editblock.php:142 -#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140 -#: ../../mod/editwebpage.php:182 +#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:182 +#: ../../mod/editblock.php:142 ../../mod/editlayout.php:140 +#: ../../mod/editpost.php:118 msgid "Upload photo" msgstr "Subir foto" -#: ../../include/conversation.php:1204 +#: ../../include/conversation.php:1205 msgid "upload photo" msgstr "subir foto" -#: ../../include/conversation.php:1205 ../../mod/editblock.php:143 -#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:369 -#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183 +#: ../../include/conversation.php:1206 ../../mod/editwebpage.php:183 +#: ../../mod/editblock.php:143 ../../mod/editlayout.php:141 +#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:370 msgid "Attach file" msgstr "Adjuntar fichero" -#: ../../include/conversation.php:1206 +#: ../../include/conversation.php:1207 msgid "attach file" msgstr "adjuntar fichero" -#: ../../include/conversation.php:1207 ../../mod/editblock.php:144 -#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:370 -#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184 +#: ../../include/conversation.php:1208 ../../mod/editwebpage.php:184 +#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142 +#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:371 msgid "Insert web link" msgstr "Insertar enlace web" -#: ../../include/conversation.php:1208 +#: ../../include/conversation.php:1209 msgid "web link" msgstr "enlace web" -#: ../../include/conversation.php:1209 +#: ../../include/conversation.php:1210 msgid "Insert video link" msgstr "Insertar enlace de vídeo" -#: ../../include/conversation.php:1210 +#: ../../include/conversation.php:1211 msgid "video link" msgstr "enlace de vídeo" -#: ../../include/conversation.php:1211 +#: ../../include/conversation.php:1212 msgid "Insert audio link" msgstr "Insertar enlace de audio" -#: ../../include/conversation.php:1212 +#: ../../include/conversation.php:1213 msgid "audio link" msgstr "enlace de audio" -#: ../../include/conversation.php:1213 ../../mod/editblock.php:148 -#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146 -#: ../../mod/editwebpage.php:188 +#: ../../include/conversation.php:1214 ../../mod/editwebpage.php:188 +#: ../../mod/editblock.php:148 ../../mod/editlayout.php:146 +#: ../../mod/editpost.php:124 msgid "Set your location" msgstr "Establecer su ubicación" -#: ../../include/conversation.php:1214 +#: ../../include/conversation.php:1215 msgid "set location" msgstr "establecer ubicación" -#: ../../include/conversation.php:1215 ../../mod/editpost.php:126 +#: ../../include/conversation.php:1216 ../../mod/editpost.php:126 msgid "Toggle voting" msgstr "Cambiar votación" -#: ../../include/conversation.php:1218 ../../mod/editblock.php:149 -#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147 -#: ../../mod/editwebpage.php:189 +#: ../../include/conversation.php:1219 ../../mod/editwebpage.php:189 +#: ../../mod/editblock.php:149 ../../mod/editlayout.php:147 +#: ../../mod/editpost.php:125 msgid "Clear browser location" msgstr "Eliminar los datos de ubicación del navegador" -#: ../../include/conversation.php:1219 +#: ../../include/conversation.php:1220 msgid "clear location" msgstr "borrar los datos de ubicación" -#: ../../include/conversation.php:1221 ../../mod/editblock.php:162 -#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205 +#: ../../include/conversation.php:1222 ../../mod/editwebpage.php:205 +#: ../../mod/editblock.php:162 ../../mod/editpost.php:141 msgid "Title (optional)" msgstr "Título (opcional)" -#: ../../include/conversation.php:1225 ../../mod/editblock.php:165 -#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163 -#: ../../mod/editwebpage.php:207 +#: ../../include/conversation.php:1226 ../../mod/editwebpage.php:207 +#: ../../mod/editblock.php:165 ../../mod/editlayout.php:163 +#: ../../mod/editpost.php:143 msgid "Categories (optional, comma-separated list)" msgstr "Categorías (opcional, lista separada por comas)" -#: ../../include/conversation.php:1227 ../../mod/editblock.php:151 -#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149 -#: ../../mod/editwebpage.php:191 +#: ../../include/conversation.php:1228 ../../mod/editwebpage.php:191 +#: ../../mod/editblock.php:151 ../../mod/editlayout.php:149 +#: ../../mod/editpost.php:130 ../../mod/events.php:459 msgid "Permission settings" msgstr "Configuración de permisos" -#: ../../include/conversation.php:1228 +#: ../../include/conversation.php:1229 msgid "permissions" msgstr "permisos" -#: ../../include/conversation.php:1236 ../../mod/editblock.php:159 -#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156 -#: ../../mod/editwebpage.php:200 +#: ../../include/conversation.php:1237 ../../mod/editwebpage.php:200 +#: ../../mod/editblock.php:159 ../../mod/editlayout.php:156 +#: ../../mod/editpost.php:138 msgid "Public post" msgstr "Entrada pública" -#: ../../include/conversation.php:1238 ../../mod/editblock.php:166 -#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164 -#: ../../mod/editwebpage.php:208 +#: ../../include/conversation.php:1239 ../../mod/editwebpage.php:208 +#: ../../mod/editblock.php:166 ../../mod/editlayout.php:164 +#: ../../mod/editpost.php:144 msgid "Example: bob@example.com, mary@example.com" msgstr "Ejemplo: roberto@ejemplo.com, maría@ejemplo.com" -#: ../../include/conversation.php:1251 ../../mod/editblock.php:176 -#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:374 -#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217 +#: ../../include/conversation.php:1252 ../../mod/editwebpage.php:217 +#: ../../mod/editblock.php:176 ../../mod/editlayout.php:173 +#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:375 msgid "Set expiration date" msgstr "Configurar fecha de caducidad" -#: ../../include/conversation.php:1254 +#: ../../include/conversation.php:1255 msgid "Set publish date" msgstr "Establecer la fecha de publicación" -#: ../../include/conversation.php:1256 ../../include/ItemObject.php:695 -#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:376 +#: ../../include/conversation.php:1257 ../../include/ItemObject.php:709 +#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:377 msgid "Encrypt text" msgstr "Cifrar texto" -#: ../../include/conversation.php:1258 ../../mod/editpost.php:159 -#: ../../mod/events.php:691 +#: ../../include/conversation.php:1259 ../../mod/editpost.php:159 msgid "OK" msgstr "OK" -#: ../../include/conversation.php:1259 ../../mod/fbrowser.php:82 -#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160 -#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 -#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../include/conversation.php:1260 ../../mod/fbrowser.php:82 +#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 +#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/editpost.php:160 msgid "Cancel" msgstr "Cancelar" -#: ../../include/conversation.php:1502 +#: ../../include/conversation.php:1503 msgid "Discover" msgstr "Descubrir" -#: ../../include/conversation.php:1505 +#: ../../include/conversation.php:1506 msgid "Imported public streams" msgstr "Flujos públicos importados" -#: ../../include/conversation.php:1510 +#: ../../include/conversation.php:1511 msgid "Commented Order" msgstr "Comentarios recientes" -#: ../../include/conversation.php:1513 +#: ../../include/conversation.php:1514 msgid "Sort by Comment Date" msgstr "Ordenar por fecha de comentario" -#: ../../include/conversation.php:1517 +#: ../../include/conversation.php:1518 msgid "Posted Order" msgstr "Publicaciones recientes" -#: ../../include/conversation.php:1520 +#: ../../include/conversation.php:1521 msgid "Sort by Post Date" msgstr "Ordenar por fecha de publicación" -#: ../../include/conversation.php:1525 ../../include/widgets.php:95 -msgid "Personal" -msgstr "Personales" - -#: ../../include/conversation.php:1528 +#: ../../include/conversation.php:1529 msgid "Posts that mention or involve you" msgstr "Publicaciones que le mencionan o involucran" -#: ../../include/conversation.php:1534 ../../mod/menu.php:112 -#: ../../mod/connections.php:72 ../../mod/connections.php:82 +#: ../../include/conversation.php:1535 ../../mod/connections.php:72 +#: ../../mod/connections.php:82 ../../mod/menu.php:112 msgid "New" msgstr "Nuevas" -#: ../../include/conversation.php:1537 +#: ../../include/conversation.php:1538 msgid "Activity Stream - by date" msgstr "Flujo de actividad - por fecha" -#: ../../include/conversation.php:1543 +#: ../../include/conversation.php:1544 msgid "Starred" msgstr "Preferidas" -#: ../../include/conversation.php:1546 +#: ../../include/conversation.php:1547 msgid "Favourite Posts" msgstr "Publicaciones favoritas" -#: ../../include/conversation.php:1553 +#: ../../include/conversation.php:1554 msgid "Spam" msgstr "Correo basura" -#: ../../include/conversation.php:1556 +#: ../../include/conversation.php:1557 msgid "Posts flagged as SPAM" msgstr "Publicaciones marcadas como basura" -#: ../../include/conversation.php:1600 ../../mod/admin.php:973 +#: ../../include/conversation.php:1601 ../../mod/admin.php:973 msgid "Channel" msgstr "Canal" -#: ../../include/conversation.php:1603 +#: ../../include/conversation.php:1604 msgid "Status Messages and Posts" msgstr "Mensajes de estado y publicaciones" -#: ../../include/conversation.php:1612 +#: ../../include/conversation.php:1613 msgid "About" msgstr "Mi perfil" -#: ../../include/conversation.php:1615 +#: ../../include/conversation.php:1616 msgid "Profile Details" msgstr "Detalles del perfil" -#: ../../include/conversation.php:1621 ../../include/apps.php:139 -#: ../../include/nav.php:92 ../../mod/fbrowser.php:25 +#: ../../include/conversation.php:1622 ../../include/nav.php:92 +#: ../../include/apps.php:139 ../../mod/fbrowser.php:25 msgid "Photos" msgstr "Fotos" -#: ../../include/conversation.php:1624 ../../include/photos.php:483 +#: ../../include/conversation.php:1625 ../../include/photos.php:483 msgid "Photo Albums" msgstr "Álbumes de fotos" -#: ../../include/conversation.php:1631 +#: ../../include/conversation.php:1632 msgid "Files and Storage" msgstr "Ficheros y repositorio" -#: ../../include/conversation.php:1641 ../../include/conversation.php:1644 +#: ../../include/conversation.php:1642 ../../include/conversation.php:1645 msgid "Chatrooms" msgstr "Salas de chat" -#: ../../include/conversation.php:1654 ../../include/apps.php:129 -#: ../../include/nav.php:103 +#: ../../include/conversation.php:1655 ../../include/nav.php:103 +#: ../../include/apps.php:129 msgid "Bookmarks" msgstr "Marcadores" -#: ../../include/conversation.php:1657 +#: ../../include/conversation.php:1658 msgid "Saved Bookmarks" msgstr "Marcadores guardados" -#: ../../include/conversation.php:1664 ../../include/apps.php:136 -#: ../../include/nav.php:107 ../../mod/webpages.php:178 +#: ../../include/conversation.php:1665 ../../include/nav.php:107 +#: ../../include/apps.php:136 ../../mod/webpages.php:178 msgid "Webpages" msgstr "Páginas web" -#: ../../include/conversation.php:1667 +#: ../../include/conversation.php:1668 msgid "Manage Webpages" msgstr "Administrar páginas web" -#: ../../include/conversation.php:1696 ../../include/ItemObject.php:175 +#: ../../include/conversation.php:1697 ../../include/ItemObject.php:175 #: ../../include/ItemObject.php:187 ../../mod/photos.php:1082 #: ../../mod/photos.php:1094 msgid "View all" msgstr "Ver todo" -#: ../../include/conversation.php:1720 ../../include/ItemObject.php:179 -#: ../../include/identity.php:1263 ../../include/taxonomy.php:412 -#: ../../mod/photos.php:1086 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "Me gusta" -msgstr[1] "Me gusta" - -#: ../../include/conversation.php:1723 ../../include/ItemObject.php:184 +#: ../../include/conversation.php:1724 ../../include/ItemObject.php:184 #: ../../mod/photos.php:1091 msgctxt "noun" msgid "Dislike" @@ -1860,601 +2738,248 @@ msgid_plural "Dislikes" msgstr[0] "No me gusta" msgstr[1] "No me gusta" -#: ../../include/conversation.php:1726 +#: ../../include/conversation.php:1727 msgctxt "noun" msgid "Attending" msgid_plural "Attending" msgstr[0] "Participaré" msgstr[1] "Participaré" -#: ../../include/conversation.php:1729 +#: ../../include/conversation.php:1730 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" msgstr[0] "No participaré" msgstr[1] "No participaré" -#: ../../include/conversation.php:1732 +#: ../../include/conversation.php:1733 msgctxt "noun" msgid "Undecided" msgid_plural "Undecided" msgstr[0] "Indeciso/a" msgstr[1] "Indecisos/as" -#: ../../include/conversation.php:1735 +#: ../../include/conversation.php:1736 msgctxt "noun" msgid "Agree" msgid_plural "Agrees" -msgstr[0] "Está de acuerdo" +msgstr[0] "De acuerdo" msgstr[1] "De acuerdo" -#: ../../include/conversation.php:1738 +#: ../../include/conversation.php:1739 msgctxt "noun" msgid "Disagree" msgid_plural "Disagrees" -msgstr[0] "No está de acuerdo" +msgstr[0] "En desacuerdo" msgstr[1] "En desacuerdo" -#: ../../include/conversation.php:1741 +#: ../../include/conversation.php:1742 msgctxt "noun" msgid "Abstain" msgid_plural "Abstains" msgstr[0] "se abstiene" msgstr[1] "Se abstienen" -#: ../../include/network.php:613 -msgid "view full size" -msgstr "Ver en el tamaño original" - -#: ../../include/network.php:1591 ../../include/enotify.php:57 -msgid "$Projectname Notification" -msgstr "Notificación de $Projectname" - -#: ../../include/network.php:1592 ../../include/enotify.php:58 -msgid "$projectname" -msgstr "$projectname" - -#: ../../include/network.php:1594 ../../include/enotify.php:60 -msgid "Thank You," -msgstr "Gracias," - -#: ../../include/network.php:1596 ../../include/enotify.php:62 -#, php-format -msgid "%s Administrator" -msgstr "%s Administrador" - -#: ../../include/network.php:1638 ../../include/account.php:316 -#: ../../include/account.php:343 ../../include/account.php:403 -msgid "Administrator" -msgstr "Administrador" - -#: ../../include/network.php:1652 -msgid "No Subject" -msgstr "Sin asunto" - -#: ../../include/bookmarks.php:35 -#, php-format -msgid "%1$s's bookmarks" -msgstr "Marcadores de %1$s" - -#: ../../include/acl_selectors.php:240 -msgid "Visible to your default audience" -msgstr "Visible para su público predeterminado." - -#: ../../include/acl_selectors.php:241 -msgid "Show" -msgstr "Mostrar" - -#: ../../include/acl_selectors.php:242 -msgid "Don't show" -msgstr "No mostrar" - -#: ../../include/acl_selectors.php:247 -msgid "Other networks and post services" -msgstr "Otras redes y servicios de correo" - -#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 -#: ../../mod/chat.php:211 ../../mod/photos.php:631 ../../mod/photos.php:1001 -#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356 -msgid "Permissions" -msgstr "Permisos" - -#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:370 -#: ../../mod/photos.php:1218 -msgid "Close" -msgstr "Cerrar" - -#: ../../include/photos.php:112 -#, php-format -msgid "Image exceeds website size limit of %lu bytes" -msgstr "La imagen excede el límite de %lu bytes del sitio" - -#: ../../include/photos.php:119 -msgid "Image file is empty." -msgstr "El fichero de imagen está vacío. " - -#: ../../include/photos.php:146 ../../mod/profile_photo.php:222 -msgid "Unable to process image" -msgstr "No ha sido posible procesar la imagen" - -#: ../../include/photos.php:257 -msgid "Photo storage failed." -msgstr "La foto no ha podido ser guardada." - -#: ../../include/photos.php:487 -msgid "Upload New Photos" -msgstr "Subir nuevas fotos" - -#: ../../include/notify.php:20 -msgid "created a new post" -msgstr "ha creado una nueva entrada" - -#: ../../include/notify.php:21 -#, php-format -msgid "commented on %s's post" -msgstr "ha comentado la entrada de %s" - -#: ../../include/page_widgets.php:6 -msgid "New Page" -msgstr "Nueva página" - -#: ../../include/page_widgets.php:39 ../../mod/layouts.php:188 -#: ../../mod/webpages.php:187 ../../mod/blocks.php:159 -msgid "View" -msgstr "Ver" - -#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 -msgid "Actions" -msgstr "Acciones" - -#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 -msgid "Page Link" -msgstr "Vínculo de la página" - -#: ../../include/page_widgets.php:43 -msgid "Title" -msgstr "Título" - -#: ../../include/page_widgets.php:44 ../../mod/layouts.php:181 -#: ../../mod/menu.php:110 ../../mod/webpages.php:192 ../../mod/blocks.php:150 -msgid "Created" -msgstr "Creado" - -#: ../../include/page_widgets.php:45 ../../mod/layouts.php:182 -#: ../../mod/menu.php:111 ../../mod/webpages.php:193 ../../mod/blocks.php:151 -msgid "Edited" -msgstr "Editado" - -#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 -#: ../../mod/photos.php:699 ../../mod/profile_photo.php:146 -#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376 -msgid "Profile Photos" -msgstr "Fotos del perfil" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 -msgid "Male" -msgstr "Hombre" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 -msgid "Female" -msgstr "Mujer" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Male" -msgstr "Actualmente hombre" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Female" -msgstr "Actualmente mujer" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Male" -msgstr "Generalmente hombre" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Female" -msgstr "Generalmente mujer" - -#: ../../include/profile_selectors.php:6 -msgid "Transgender" -msgstr "Transgénero" - -#: ../../include/profile_selectors.php:6 -msgid "Intersex" -msgstr "Intersexual" - -#: ../../include/profile_selectors.php:6 -msgid "Transsexual" -msgstr "Transexual" - -#: ../../include/profile_selectors.php:6 -msgid "Hermaphrodite" -msgstr "Hermafrodita" - -#: ../../include/profile_selectors.php:6 -msgid "Neuter" -msgstr "Neutral" - -#: ../../include/profile_selectors.php:6 -msgid "Non-specific" -msgstr "No especificado" - -#: ../../include/profile_selectors.php:6 -msgid "Undecided" -msgstr "Indeciso/a" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Males" -msgstr "Hombres" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Females" -msgstr "Mujeres" - -#: ../../include/profile_selectors.php:42 -msgid "Gay" -msgstr "Homosexual" - -#: ../../include/profile_selectors.php:42 -msgid "Lesbian" -msgstr "Lesbiana" - -#: ../../include/profile_selectors.php:42 -msgid "No Preference" -msgstr "Sin preferencias" - -#: ../../include/profile_selectors.php:42 -msgid "Bisexual" -msgstr "Bisexual" - -#: ../../include/profile_selectors.php:42 -msgid "Autosexual" -msgstr "Autosexual" - -#: ../../include/profile_selectors.php:42 -msgid "Abstinent" -msgstr "Casto/a" - -#: ../../include/profile_selectors.php:42 -msgid "Virgin" -msgstr "Virgen" - -#: ../../include/profile_selectors.php:42 -msgid "Deviant" -msgstr "Fuera de lo común" - -#: ../../include/profile_selectors.php:42 -msgid "Fetish" -msgstr "Fetichista" - -#: ../../include/profile_selectors.php:42 -msgid "Oodles" -msgstr "Orgías" - -#: ../../include/profile_selectors.php:42 -msgid "Nonsexual" -msgstr "Asexual" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Single" -msgstr "Soltero/a" - -#: ../../include/profile_selectors.php:80 -msgid "Lonely" -msgstr "Solo/a" - -#: ../../include/profile_selectors.php:80 -msgid "Available" -msgstr "Disponible" - -#: ../../include/profile_selectors.php:80 -msgid "Unavailable" -msgstr "No disponible" - -#: ../../include/profile_selectors.php:80 -msgid "Has crush" -msgstr "Enamorado/a" - -#: ../../include/profile_selectors.php:80 -msgid "Infatuated" -msgstr "Apasionado/a" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Dating" -msgstr "Saliendo con alguien" - -#: ../../include/profile_selectors.php:80 -msgid "Unfaithful" -msgstr "Infiel" - -#: ../../include/profile_selectors.php:80 -msgid "Sex Addict" -msgstr "Con adicción al sexo" - -#: ../../include/profile_selectors.php:80 ../../include/widgets.php:430 -#: ../../include/identity.php:390 ../../include/identity.php:391 -#: ../../include/identity.php:398 ../../mod/connedit.php:573 -#: ../../mod/settings.php:338 ../../mod/settings.php:342 -#: ../../mod/settings.php:343 ../../mod/settings.php:346 -#: ../../mod/settings.php:357 -msgid "Friends" -msgstr "Amigos" - -#: ../../include/profile_selectors.php:80 -msgid "Friends/Benefits" -msgstr "Amigos con algo extra" - -#: ../../include/profile_selectors.php:80 -msgid "Casual" -msgstr "Casual" - -#: ../../include/profile_selectors.php:80 -msgid "Engaged" -msgstr "Prometido/a" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Married" -msgstr "Casado/a" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily married" -msgstr "Casado/a en sueños" - -#: ../../include/profile_selectors.php:80 -msgid "Partners" -msgstr "Pareja" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Cohabiting" -msgstr "Cohabitando" - -#: ../../include/profile_selectors.php:80 -msgid "Common law" -msgstr "Matrimonio tradicional" - -#: ../../include/profile_selectors.php:80 -msgid "Happy" -msgstr "Felíz" - -#: ../../include/profile_selectors.php:80 -msgid "Not looking" -msgstr "No estoy buscando" - -#: ../../include/profile_selectors.php:80 -msgid "Swinger" -msgstr "Libertino" - -#: ../../include/profile_selectors.php:80 -msgid "Betrayed" -msgstr "Engañado/a" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Separated" -msgstr "Separado/a" - -#: ../../include/profile_selectors.php:80 -msgid "Unstable" -msgstr "Inestable" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Divorced" -msgstr "Divorciado/a" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily divorced" -msgstr "Divorciado/a en sueños" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Widowed" -msgstr "Viudo/a" - -#: ../../include/profile_selectors.php:80 -msgid "Uncertain" -msgstr "Indeterminado" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "It's complicated" -msgstr "Es complicado" +#: ../../include/auth.php:132 +msgid "Logged out." +msgstr "Desconectado/a." -#: ../../include/profile_selectors.php:80 -msgid "Don't care" -msgstr "No me importa" +#: ../../include/auth.php:273 +msgid "Failed authentication" +msgstr "Autenticación fallida." -#: ../../include/profile_selectors.php:80 -msgid "Ask me" -msgstr "Pregúnteme" +#: ../../include/auth.php:287 ../../mod/openid.php:189 +msgid "Login failed." +msgstr "El acceso ha fallado." -#: ../../include/oembed.php:213 -msgid "Embedded content" -msgstr "Contenido incorporado" +#: ../../include/contact_selectors.php:56 +msgid "Frequently" +msgstr "Frecuentemente" -#: ../../include/oembed.php:222 -msgid "Embedding disabled" -msgstr "Incrustación deshabilitada" +#: ../../include/contact_selectors.php:57 +msgid "Hourly" +msgstr "Cada hora" -#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 -msgid "l F d, Y \\@ g:i A" -msgstr "l d de F, Y \\@ G:i" +#: ../../include/contact_selectors.php:58 +msgid "Twice daily" +msgstr "Dos veces al día" -#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 -msgid "Starts:" -msgstr "Comienza:" +#: ../../include/contact_selectors.php:59 +msgid "Daily" +msgstr "Diariamente" -#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 -msgid "Finishes:" -msgstr "Finaliza:" +#: ../../include/contact_selectors.php:60 +msgid "Weekly" +msgstr "Semanalmente" -#: ../../include/event.php:50 ../../include/identity.php:1003 -#: ../../include/bb2diaspora.php:493 ../../mod/directory.php:304 -#: ../../mod/events.php:701 -msgid "Location:" -msgstr "Ubicación:" +#: ../../include/contact_selectors.php:61 +msgid "Monthly" +msgstr "Mensualmente" -#: ../../include/event.php:766 -msgid "This event has been added to your calendar." -msgstr "Este evento ha sido añadido a su calendario." +#: ../../include/contact_selectors.php:76 +msgid "Friendica" +msgstr "Friendica" -#: ../../include/event.php:953 -msgid "Not specified" -msgstr "Sin especificar" +#: ../../include/contact_selectors.php:77 +msgid "OStatus" +msgstr "OStatus" -#: ../../include/event.php:954 -msgid "Needs Action" -msgstr "Necesita de una intervención" +#: ../../include/contact_selectors.php:78 +msgid "RSS/Atom" +msgstr "RSS/Atom" -#: ../../include/event.php:955 -msgid "Completed" -msgstr "Completado/a" +#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 +#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 +#: ../../boot.php:1483 +msgid "Email" +msgstr "Correo electrónico" -#: ../../include/event.php:956 -msgid "In Process" -msgstr "En proceso" +#: ../../include/contact_selectors.php:80 +msgid "Diaspora" +msgstr "Diaspora" -#: ../../include/event.php:957 -msgid "Cancelled" -msgstr "Cancelado/a" +#: ../../include/contact_selectors.php:81 +msgid "Facebook" +msgstr "Facebook" -#: ../../include/apps.php:128 -msgid "Site Admin" -msgstr "Adminstrador del sitio" +#: ../../include/contact_selectors.php:82 +msgid "Zot!" +msgstr "Zot!" -#: ../../include/apps.php:130 -msgid "Address Book" -msgstr "Libreta de direcciones" +#: ../../include/contact_selectors.php:83 +msgid "LinkedIn" +msgstr "LinkedIn" -#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1486 -msgid "Login" -msgstr "Iniciar sesión" +#: ../../include/contact_selectors.php:84 +msgid "XMPP/IM" +msgstr "XMPP/IM" -#: ../../include/apps.php:132 ../../include/nav.php:200 -#: ../../mod/manage.php:160 -msgid "Channel Manager" -msgstr "Administración de canales" +#: ../../include/contact_selectors.php:85 +msgid "MySpace" +msgstr "MySpace" -#: ../../include/apps.php:133 ../../include/nav.php:174 -msgid "Grid" -msgstr "Red" +#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 +#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 +#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 +#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 +#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 +#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 +#: ../../include/bbcode.php:833 +msgid "Image/photo" +msgstr "Imagen/foto" -#: ../../include/apps.php:134 ../../include/widgets.php:554 -#: ../../include/nav.php:202 ../../mod/admin.php:1064 ../../mod/admin.php:1264 -msgid "Settings" -msgstr "Ajustes" +#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 +msgid "Encrypted content" +msgstr "Contenido cifrado" -#: ../../include/apps.php:137 ../../include/nav.php:177 -msgid "Channel Home" -msgstr "Mi canal" +#: ../../include/bbcode.php:179 +#, php-format +msgid "Install %s element: " +msgstr "Instalar el elemento %s:" -#: ../../include/apps.php:138 ../../include/identity.php:1237 -#: ../../include/identity.php:1354 ../../mod/profperm.php:112 -msgid "Profile" -msgstr "Perfil" +#: ../../include/bbcode.php:183 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." +msgstr "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio." -#: ../../include/apps.php:140 ../../include/nav.php:196 -#: ../../mod/events.php:523 -msgid "Events" -msgstr "Eventos" +#: ../../include/bbcode.php:193 ../../mod/impel.php:37 +msgid "webpage" +msgstr "página web" -#: ../../include/apps.php:141 ../../include/nav.php:162 -msgid "Directory" -msgstr "Directorio" +#: ../../include/bbcode.php:196 ../../mod/impel.php:47 +msgid "layout" +msgstr "disposición" -#: ../../include/apps.php:142 ../../include/nav.php:154 ../../mod/help.php:202 -#: ../../mod/help.php:207 ../../mod/layouts.php:176 -msgid "Help" -msgstr "Ayuda" +#: ../../include/bbcode.php:199 ../../mod/impel.php:42 +msgid "block" +msgstr "bloque" -#: ../../include/apps.php:143 ../../include/nav.php:188 -msgid "Mail" -msgstr "Correo" +#: ../../include/bbcode.php:202 ../../mod/impel.php:54 +msgid "menu" +msgstr "menú" -#: ../../include/apps.php:144 ../../mod/mood.php:131 -msgid "Mood" -msgstr "Estado de ánimo" +#: ../../include/bbcode.php:257 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" +msgstr "%1$s escribió la siguiente %2$s %3$s" -#: ../../include/apps.php:146 ../../include/nav.php:97 -msgid "Chat" -msgstr "Chat" +#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 +msgid "post" +msgstr "entrada" -#: ../../include/apps.php:147 ../../include/text.php:866 -#: ../../include/text.php:878 ../../include/nav.php:159 -#: ../../mod/search.php:40 -msgid "Search" -msgstr "Buscar" +#: ../../include/bbcode.php:547 +msgid "Different viewers will see this text differently" +msgstr "Visitantes diferentes verán este texto de forma distinta" -#: ../../include/apps.php:148 -msgid "Probe" -msgstr "Probar" +#: ../../include/bbcode.php:755 +msgid "$1 spoiler" +msgstr "$1 spoiler" -#: ../../include/apps.php:149 -msgid "Suggest" -msgstr "Sugerir" +#: ../../include/bbcode.php:782 +msgid "$1 wrote:" +msgstr "$1 escribió" -#: ../../include/apps.php:150 -msgid "Random Channel" -msgstr "Canal aleatorio" +#: ../../include/contact_widgets.php:14 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "%d invitación pendiente" +msgstr[1] "%d invitaciones disponibles" -#: ../../include/apps.php:151 -msgid "Invite" -msgstr "Invitar" +#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 +msgid "Advanced" +msgstr "Avanzado" -#: ../../include/apps.php:152 -msgid "Features" -msgstr "Características" +#: ../../include/contact_widgets.php:22 +msgid "Find Channels" +msgstr "Encontrar canales" -#: ../../include/apps.php:153 ../../mod/id.php:28 -msgid "Language" -msgstr "Idioma" +#: ../../include/contact_widgets.php:23 +msgid "Enter name or interest" +msgstr "Introducir nombre o interés" -#: ../../include/apps.php:154 -msgid "Post" -msgstr "Publicación" +#: ../../include/contact_widgets.php:24 +msgid "Connect/Follow" +msgstr "Conectar/Seguir" -#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 -#: ../../mod/id.php:19 -msgid "Profile Photo" -msgstr "Foto del perfil" +#: ../../include/contact_widgets.php:25 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "Ejemplos: José Fernández, Pesca" -#: ../../include/apps.php:252 ../../mod/settings.php:84 -#: ../../mod/settings.php:610 -msgid "Update" -msgstr "Actualizar" +#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 +#: ../../mod/directory.php:386 ../../mod/connections.php:266 +msgid "Find" +msgstr "Encontrar" -#: ../../include/apps.php:252 -msgid "Install" -msgstr "Instalar" +#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 +#: ../../mod/suggest.php:60 +msgid "Channel Suggestions" +msgstr "Sugerencias de canales" -#: ../../include/apps.php:257 -msgid "Purchase" -msgstr "Comprar" +#: ../../include/contact_widgets.php:29 +msgid "Random Profile" +msgstr "Perfil aleatorio" -#: ../../include/api.php:1302 -msgid "Public Timeline" -msgstr "Cronología pública" +#: ../../include/contact_widgets.php:30 +msgid "Invite Friends" +msgstr "Invitar a amigos" -#: ../../include/import.php:23 -msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." -msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado." +#: ../../include/contact_widgets.php:32 +msgid "Advanced example: name=fred and country=iceland" +msgstr "Ejemplo avanzado: nombre=juan y país=españa" -#: ../../include/import.php:70 -msgid "Channel clone failed. Import failed." -msgstr "La clonación del canal no ha salido bien. La importación ha fallado." +#: ../../include/contact_widgets.php:128 +#, php-format +msgid "%d connection in common" +msgid_plural "%d connections in common" +msgstr[0] "%d conexión en común" +msgstr[1] "%d conexiones en común" -#: ../../include/import.php:80 ../../mod/import.php:139 -msgid "Cloned channel not found. Import failed." -msgstr "No se ha podido importar el canal porque el canal clonado no se ha encontrado." +#: ../../include/contact_widgets.php:133 +msgid "show more" +msgstr "mostrar más" #: ../../include/enotify.php:96 #, php-format @@ -2474,7 +2999,7 @@ msgstr "%1$s, %2$s le ha enviado un nuevo mensaje privado en %3$s." #: ../../include/enotify.php:103 #, php-format msgid "%1$s sent you %2$s." -msgstr "%1$s le envió %2$s." +msgstr "%1$s le ha enviado %2$s." #: ../../include/enotify.php:103 msgid "a private message" @@ -2540,7 +3065,7 @@ msgstr "[Hubzilla:Aviso] %s le ha etiquetado" #: ../../include/enotify.php:227 #, php-format msgid "%1$s, %2$s tagged you at %3$s" -msgstr "%1$s, %2$s le etiquetó en %3$s" +msgstr "%1$s, %2$s le ha etiquetado en %3$s" #: ../../include/enotify.php:228 #, php-format @@ -2555,12 +3080,12 @@ msgstr "[Hubzilla:Aviso] %1$s le ha dado un toque" #: ../../include/enotify.php:241 #, php-format msgid "%1$s, %2$s poked you at %3$s" -msgstr "%1$s, %2$s le dio un toque en %3$s" +msgstr "%1$s, %2$s le ha dado un toque en %3$s" #: ../../include/enotify.php:242 #, php-format msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]." -msgstr "%1$s, %2$s [zrl=%2$s]le dio un toque[/zrl]." +msgstr "%1$s, %2$s [zrl=%2$s]le ha dado un toque[/zrl]." #: ../../include/enotify.php:258 #, php-format @@ -2575,7 +3100,7 @@ msgstr "%1$s, %2$s ha etiquetado su publicación en %3$s" #: ../../include/enotify.php:260 #, php-format msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]" -msgstr "%1$s, %2$s etiquetó [zrl=%3$s]su publicación[/zrl]" +msgstr "%1$s, %2$s ha etiquetado [zrl=%3$s]su publicación[/zrl]" #: ../../include/enotify.php:272 msgid "[Hubzilla:Notify] Introduction received" @@ -2635,313 +3160,6 @@ msgstr "Por favor, visite %s para aprobar o rechazar la sugerencia." msgid "[Hubzilla:Notify]" msgstr "[Hubzilla:Aviso]" -#: ../../include/ItemObject.php:130 -msgid "Save to Folder" -msgstr "Guardar en carpeta" - -#: ../../include/ItemObject.php:151 -msgid "I will attend" -msgstr "Participaré" - -#: ../../include/ItemObject.php:151 -msgid "I will not attend" -msgstr "No participaré" - -#: ../../include/ItemObject.php:151 -msgid "I might attend" -msgstr "Quizá participe" - -#: ../../include/ItemObject.php:161 -msgid "I agree" -msgstr "Estoy de acuerdo" - -#: ../../include/ItemObject.php:161 -msgid "I disagree" -msgstr "No estoy de acuerdo" - -#: ../../include/ItemObject.php:161 -msgid "I abstain" -msgstr "Me abstengo" - -#: ../../include/ItemObject.php:212 -msgid "Add Star" -msgstr "Destacar añadiendo una estrella" - -#: ../../include/ItemObject.php:213 -msgid "Remove Star" -msgstr "Eliminar estrella" - -#: ../../include/ItemObject.php:214 -msgid "Toggle Star Status" -msgstr "Activar o desactivar el estado de entrada preferida" - -#: ../../include/ItemObject.php:218 -msgid "starred" -msgstr "preferidas" - -#: ../../include/ItemObject.php:236 -msgid "Add Tag" -msgstr "Añadir etiqueta" - -#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 -msgid "I like this (toggle)" -msgstr "me gusta (cambiar)" - -#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:326 -msgid "like" -msgstr "me gusta" - -#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 -msgid "I don't like this (toggle)" -msgstr "No me gusta esto (cambiar)" - -#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:327 -msgid "dislike" -msgstr "no me gusta" - -#: ../../include/ItemObject.php:259 -msgid "Share This" -msgstr "Compartir esto" - -#: ../../include/ItemObject.php:259 -msgid "share" -msgstr "compartir" - -#: ../../include/ItemObject.php:277 -#, php-format -msgid "%d comment" -msgid_plural "%d comments" -msgstr[0] "%d comentario" -msgstr[1] "%d comentarios" - -#: ../../include/ItemObject.php:302 ../../include/ItemObject.php:303 -#, php-format -msgid "View %s's profile - %s" -msgstr "Ver el perfil de %s - %s" - -#: ../../include/ItemObject.php:306 -msgid "to" -msgstr "a" - -#: ../../include/ItemObject.php:307 -msgid "via" -msgstr "mediante" - -#: ../../include/ItemObject.php:308 -msgid "Wall-to-Wall" -msgstr "De página del perfil a página del perfil (de Muro a Muro)" - -#: ../../include/ItemObject.php:309 -msgid "via Wall-To-Wall:" -msgstr "Mediante el procedimiento página del perfil a página del perfil (de Muro a Muro)" - -#: ../../include/ItemObject.php:312 -msgid "Delivery Report" -msgstr "Informe de transmisión" - -#: ../../include/ItemObject.php:348 -msgid "Save Bookmarks" -msgstr "Guardar en Marcadores" - -#: ../../include/ItemObject.php:349 -msgid "Add to Calendar" -msgstr "Añadir al calendario" - -#: ../../include/ItemObject.php:358 -msgid "Mark all seen" -msgstr "Marcar todo como visto" - -#: ../../include/ItemObject.php:364 ../../mod/photos.php:1212 -msgctxt "noun" -msgid "Likes" -msgstr "Me gusta" - -#: ../../include/ItemObject.php:365 ../../mod/photos.php:1213 -msgctxt "noun" -msgid "Dislikes" -msgstr "No me gusta" - -#: ../../include/ItemObject.php:680 ../../mod/photos.php:1045 -#: ../../mod/photos.php:1163 -msgid "This is you" -msgstr "Este es usted" - -#: ../../include/ItemObject.php:689 -msgid "Image" -msgstr "Imagen" - -#: ../../include/ItemObject.php:690 -msgid "Insert Link" -msgstr "Insertar enlace" - -#: ../../include/ItemObject.php:691 -msgid "Video" -msgstr "Vídeo" - -#: ../../include/zot.php:685 -msgid "Invalid data packet" -msgstr "Paquete de datos no válido" - -#: ../../include/zot.php:701 -msgid "Unable to verify channel signature" -msgstr "No ha sido posible de verificar la firma del canal" - -#: ../../include/zot.php:2265 -#, php-format -msgid "Unable to verify site signature for %s" -msgstr "No ha sido posible de verificar la firma del sitio para %s" - -#: ../../include/zot.php:3592 -msgid "invalid target signature" -msgstr "La firma recibida no es válida" - -#: ../../include/auth.php:132 -msgid "Logged out." -msgstr "Desconectado/a." - -#: ../../include/auth.php:273 -msgid "Failed authentication" -msgstr "Autenticación fallida." - -#: ../../include/auth.php:287 ../../mod/openid.php:189 -msgid "Login failed." -msgstr "El acceso ha fallado." - -#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 -#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 -#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 -#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 -#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 -#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 -#: ../../include/bbcode.php:833 -msgid "Image/photo" -msgstr "Imagen/foto" - -#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 -msgid "Encrypted content" -msgstr "Contenido cifrado" - -#: ../../include/bbcode.php:179 -#, php-format -msgid "Install %s element: " -msgstr "Instalar el elemento %s:" - -#: ../../include/bbcode.php:183 -#, php-format -msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." -msgstr "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio." - -#: ../../include/bbcode.php:193 ../../mod/impel.php:37 -msgid "webpage" -msgstr "página web" - -#: ../../include/bbcode.php:196 ../../mod/impel.php:47 -msgid "layout" -msgstr "disposición" - -#: ../../include/bbcode.php:199 ../../mod/impel.php:42 -msgid "block" -msgstr "bloque" - -#: ../../include/bbcode.php:202 ../../mod/impel.php:54 -msgid "menu" -msgstr "menú" - -#: ../../include/bbcode.php:257 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" -msgstr "%1$s escribió la siguiente %2$s %3$s" - -#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 -msgid "post" -msgstr "entrada" - -#: ../../include/bbcode.php:547 -msgid "Different viewers will see this text differently" -msgstr "Visitantes diferentes verán este texto de forma distinta" - -#: ../../include/bbcode.php:755 -msgid "$1 spoiler" -msgstr "$1 spoiler" - -#: ../../include/bbcode.php:782 -msgid "$1 wrote:" -msgstr "$1 escribió" - -#: ../../include/account.php:27 -msgid "Not a valid email address" -msgstr "Dirección de correo no válida" - -#: ../../include/account.php:29 -msgid "Your email domain is not among those allowed on this site" -msgstr "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio." - -#: ../../include/account.php:35 -msgid "Your email address is already registered at this site." -msgstr "Su dirección de correo está ya registrada en este sitio." - -#: ../../include/account.php:67 -msgid "An invitation is required." -msgstr "Es obligatorio que le inviten." - -#: ../../include/account.php:71 -msgid "Invitation could not be verified." -msgstr "No se ha podido verificar su invitación." - -#: ../../include/account.php:121 -msgid "Please enter the required information." -msgstr "Por favor introduzca la información requerida." - -#: ../../include/account.php:188 -msgid "Failed to store account information." -msgstr "La información de la cuenta no se ha podido guardar." - -#: ../../include/account.php:248 -#, php-format -msgid "Registration confirmation for %s" -msgstr "Confirmación de registro para %s" - -#: ../../include/account.php:314 -#, php-format -msgid "Registration request at %s" -msgstr "Solicitud de registro en %s" - -#: ../../include/account.php:338 -msgid "your registration password" -msgstr "su contraseña de registro" - -#: ../../include/account.php:341 ../../include/account.php:401 -#, php-format -msgid "Registration details for %s" -msgstr "Detalles del registro de %s" - -#: ../../include/account.php:410 -msgid "Account approved." -msgstr "Cuenta aprobada." - -#: ../../include/account.php:449 -#, php-format -msgid "Registration revoked for %s" -msgstr "Registro revocado para %s" - -#: ../../include/account.php:494 -msgid "Account verified. Please login." -msgstr "Cuenta verificada. Por favor, inicie sesión." - -#: ../../include/account.php:707 ../../include/account.php:709 -msgid "Click here to upgrade." -msgstr "Pulse aquí para actualizar" - -#: ../../include/account.php:715 -msgid "This action exceeds the limits set by your subscription plan." -msgstr "Esta acción supera los límites establecidos por su plan de suscripción " - -#: ../../include/account.php:720 -msgid "This action is not available under your subscription plan." -msgstr "Esta acción no está disponible en su plan de suscripción." - #: ../../include/follow.php:28 msgid "Channel is blocked on this site." msgstr "El canal está bloqueado en este sitio." @@ -2974,1357 +3192,1236 @@ msgstr "No se ha encontrado la cuenta local." msgid "Cannot connect to yourself." msgstr "No puede conectarse consigo mismo." -#: ../../include/security.php:381 -msgid "" -"The form security token was not correct. This probably happened because the " -"form has been opened for too long (>3 hours) before submitting it." -msgstr "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado" - -#: ../../include/contact_widgets.php:14 -#, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "%d invitación pendiente" -msgstr[1] "%d invitaciones disponibles" - -#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 -msgid "Advanced" -msgstr "Avanzado" - -#: ../../include/contact_widgets.php:22 -msgid "Find Channels" -msgstr "Encontrar canales" - -#: ../../include/contact_widgets.php:23 -msgid "Enter name or interest" -msgstr "Introducir nombre o interés" - -#: ../../include/contact_widgets.php:24 -msgid "Connect/Follow" -msgstr "Conectar/Seguir" - -#: ../../include/contact_widgets.php:25 -msgid "Examples: Robert Morgenstein, Fishing" -msgstr "Ejemplos: José Fernández, Pesca" - -#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 -#: ../../mod/directory.php:386 ../../mod/connections.php:266 -msgid "Find" -msgstr "Encontrar" - -#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 -#: ../../mod/suggest.php:60 -msgid "Channel Suggestions" -msgstr "Sugerencias de canales" - -#: ../../include/contact_widgets.php:29 -msgid "Random Profile" -msgstr "Perfil aleatorio" - -#: ../../include/contact_widgets.php:30 -msgid "Invite Friends" -msgstr "Invitar a amigos" - -#: ../../include/contact_widgets.php:32 -msgid "Advanced example: name=fred and country=iceland" -msgstr "Ejemplo avanzado: nombre=juan y país=españa" - -#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98 -#: ../../include/widgets.php:307 -msgid "Everything" -msgstr "Todo" - -#: ../../include/contact_widgets.php:95 ../../include/widgets.php:36 -#: ../../include/taxonomy.php:280 -msgid "Categories" -msgstr "Categorías" - -#: ../../include/contact_widgets.php:128 -#, php-format -msgid "%d connection in common" -msgid_plural "%d connections in common" -msgstr[0] "%d conexión en común" -msgstr[1] "%d conexiones en común" - -#: ../../include/contact_widgets.php:133 -msgid "show more" -msgstr "mostrar má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 grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente." - -#: ../../include/group.php:232 -msgid "Add new connections to this collection (privacy group)" -msgstr "Añadir nuevas conexiones a esta colección (privacidad del grupo)" - -#: ../../include/group.php:251 ../../mod/admin.php:814 -msgid "All Channels" -msgstr "Todos los canales" - -#: ../../include/group.php:273 -msgid "edit" -msgstr "editar" - -#: ../../include/group.php:295 -msgid "Collections" -msgstr "Colecciones" - -#: ../../include/group.php:296 -msgid "Edit collection" -msgstr "Editar colección" - -#: ../../include/group.php:297 -msgid "Add new collection" -msgstr "Añadir nueva colección" - -#: ../../include/group.php:298 -msgid "Channels not in any collection" -msgstr "El canal no se encuentra en ninguna colección" - -#: ../../include/group.php:300 ../../include/widgets.php:275 -msgid "add" -msgstr "añadir" - -#: ../../include/widgets.php:92 ../../include/nav.php:157 -#: ../../mod/apps.php:36 -msgid "Apps" -msgstr "Aplicaciones" - -#: ../../include/widgets.php:93 -msgid "System" -msgstr "Sistema" - -#: ../../include/widgets.php:96 -msgid "Create Personal App" -msgstr "Crear una aplicación personal" - -#: ../../include/widgets.php:97 -msgid "Edit Personal App" -msgstr "Editar una aplicación personal" - -#: ../../include/widgets.php:139 ../../mod/suggest.php:54 -msgid "Ignore/Hide" -msgstr "Ignorar/Ocultar" - -#: ../../include/widgets.php:144 ../../mod/connections.php:125 -msgid "Suggestions" -msgstr "Sugerencias" - -#: ../../include/widgets.php:145 -msgid "See more..." -msgstr "Ver más..." - -#: ../../include/widgets.php:166 -#, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." -msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas." - -#: ../../include/widgets.php:172 -msgid "Add New Connection" -msgstr "Añadir nueva conexión" - -#: ../../include/widgets.php:173 -msgid "Enter the channel address" -msgstr "Introducir la dirección del canal" - -#: ../../include/widgets.php:174 -msgid "Example: bob@example.com, http://example.com/barbara" -msgstr "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco" - -#: ../../include/widgets.php:190 -msgid "Notes" -msgstr "Notas" - -#: ../../include/widgets.php:192 ../../include/text.php:867 -#: ../../include/text.php:879 ../../mod/filer.php:49 ../../mod/admin.php:1442 -#: ../../mod/admin.php:1462 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 -msgid "Save" -msgstr "Guardar" - -#: ../../include/widgets.php:266 -msgid "Remove term" -msgstr "Eliminar término" - -#: ../../include/widgets.php:349 -msgid "Archives" -msgstr "Hemeroteca" - -#: ../../include/widgets.php:428 ../../mod/connedit.php:571 -msgid "Me" -msgstr "Yo" - -#: ../../include/widgets.php:429 ../../mod/connedit.php:572 -msgid "Family" -msgstr "Familia" - -#: ../../include/widgets.php:431 ../../mod/connedit.php:574 -msgid "Acquaintances" -msgstr "Conocidos/as" - -#: ../../include/widgets.php:432 ../../mod/connedit.php:575 -#: ../../mod/connections.php:88 ../../mod/connections.php:103 -msgid "All" -msgstr "Todas" - -#: ../../include/widgets.php:451 -msgid "Refresh" -msgstr "Recargar" - -#: ../../include/widgets.php:485 -msgid "Account settings" -msgstr "Configuración de la cuenta" - -#: ../../include/widgets.php:491 -msgid "Channel settings" -msgstr "Configuración del canal" - -#: ../../include/widgets.php:497 -msgid "Additional features" -msgstr "Características adicionales" - -#: ../../include/widgets.php:503 -msgid "Feature/Addon settings" -msgstr "Configuración de características o complementos" - -#: ../../include/widgets.php:509 -msgid "Display settings" -msgstr "Ajustes de visualización" - -#: ../../include/widgets.php:515 -msgid "Connected apps" -msgstr "Aplicaciones conectadas" - -#: ../../include/widgets.php:521 -msgid "Export channel" -msgstr "Exportar canal" - -#: ../../include/widgets.php:530 ../../mod/connedit.php:683 -msgid "Connection Default Permissions" -msgstr "Permisos predeterminados de conexión" - -#: ../../include/widgets.php:538 -msgid "Premium Channel Settings" -msgstr "Configuración del canal premium" - -#: ../../include/widgets.php:568 -msgid "Private Mail Menu" -msgstr "Menú de correo privado" - -#: ../../include/widgets.php:570 -msgid "Combined View" -msgstr "Vista combinada" - -#: ../../include/widgets.php:575 ../../include/nav.php:191 -msgid "Inbox" -msgstr "Bandeja de entrada" - -#: ../../include/widgets.php:580 ../../include/nav.php:192 -msgid "Outbox" -msgstr "Bandeja de salida" - -#: ../../include/widgets.php:585 ../../include/nav.php:193 -msgid "New Message" -msgstr "Nuevo mensaje" - -#: ../../include/widgets.php:604 ../../include/widgets.php:616 -msgid "Conversations" -msgstr "Conversaciones" - -#: ../../include/widgets.php:608 -msgid "Received Messages" -msgstr "Mensajes recibidos" - -#: ../../include/widgets.php:612 -msgid "Sent Messages" -msgstr "Enviar mensajes" - -#: ../../include/widgets.php:626 -msgid "No messages." -msgstr "Sin mensajes." - -#: ../../include/widgets.php:644 -msgid "Delete conversation" -msgstr "Eliminar conversación" - -#: ../../include/widgets.php:670 -msgid "Events Menu" -msgstr "Menú de eventos" - -#: ../../include/widgets.php:671 -msgid "Day View" -msgstr "Eventos del día" - -#: ../../include/widgets.php:672 -msgid "Week View" -msgstr "Eventos de la semana" - -#: ../../include/widgets.php:673 -msgid "Month View" -msgstr "Eventos del mes" - -#: ../../include/widgets.php:674 ../../mod/events.php:527 -msgid "Export" -msgstr "Exportar" - -#: ../../include/widgets.php:675 ../../mod/events.php:530 -msgid "Import" -msgstr "Importar" - -#: ../../include/widgets.php:749 -msgid "Chat Rooms" -msgstr "Salas de chat" - -#: ../../include/widgets.php:769 -msgid "Bookmarked Chatrooms" -msgstr "Salas de chat preferidas" - -#: ../../include/widgets.php:789 -msgid "Suggested Chatrooms" -msgstr "Salas de chat sugeridas" - -#: ../../include/widgets.php:916 ../../include/widgets.php:974 -msgid "photo/image" -msgstr "foto/imagen" - -#: ../../include/widgets.php:1069 ../../include/widgets.php:1071 -msgid "Rate Me" -msgstr "Valorar este canal" - -#: ../../include/widgets.php:1075 -msgid "View Ratings" -msgstr "Mostrar las valoraciones" - -#: ../../include/widgets.php:1086 -msgid "Public Hubs" -msgstr "Servidores públicos" - -#: ../../include/widgets.php:1134 -msgid "Forums" -msgstr "Foros" - -#: ../../include/widgets.php:1161 -msgid "Tasks" -msgstr "Tareas" - -#: ../../include/widgets.php:1170 -msgid "Documentation" -msgstr "Documentación" - -#: ../../include/widgets.php:1172 -msgid "Project/Site Information" -msgstr "Información sobre el proyecto o sitio" - -#: ../../include/widgets.php:1173 -msgid "For Members" -msgstr "Para los usuarios" - -#: ../../include/widgets.php:1174 -msgid "For Administrators" -msgstr "Para los administradores" - -#: ../../include/widgets.php:1175 -msgid "For Developers" -msgstr "Para los desarrolladores" - -#: ../../include/widgets.php:1200 ../../mod/admin.php:434 -msgid "Site" -msgstr "Sitio" - -#: ../../include/widgets.php:1201 -msgid "Accounts" -msgstr "Cuentas" - -#: ../../include/widgets.php:1202 ../../mod/admin.php:965 -msgid "Channels" -msgstr "Canales" - -#: ../../include/widgets.php:1203 ../../mod/admin.php:1062 -#: ../../mod/admin.php:1102 -msgid "Plugins" -msgstr "Extensiones" - -#: ../../include/widgets.php:1204 ../../mod/admin.php:1262 -#: ../../mod/admin.php:1296 -msgid "Themes" -msgstr "Temas" - -#: ../../include/widgets.php:1205 -msgid "Inspect queue" -msgstr "Examinar la cola" - -#: ../../include/widgets.php:1206 -msgid "Profile Config" -msgstr "Ajustes del perfil" - -#: ../../include/widgets.php:1207 -msgid "DB updates" -msgstr "Actualizaciones de la base de datos" - -#: ../../include/widgets.php:1225 ../../include/widgets.php:1231 -#: ../../mod/admin.php:1381 -msgid "Logs" -msgstr "Informes" - -#: ../../include/widgets.php:1229 ../../include/nav.php:210 -msgid "Admin" -msgstr "Administrador" - -#: ../../include/widgets.php:1230 -msgid "Plugin Features" -msgstr "Ajustes de la extensión" - -#: ../../include/widgets.php:1232 -msgid "User registrations waiting for confirmation" -msgstr "Registros de usuarios pendientes de confirmación" - -#: ../../include/widgets.php:1311 ../../mod/photos.php:753 -#: ../../mod/photos.php:1286 -msgid "View Photo" -msgstr "Ver foto" +#: ../../include/oembed.php:213 +msgid "Embedded content" +msgstr "Contenido incorporado" -#: ../../include/widgets.php:1327 ../../mod/photos.php:782 -msgid "Edit Album" -msgstr "Editar álbum" +#: ../../include/oembed.php:222 +msgid "Embedding disabled" +msgstr "Incrustación deshabilitada" -#: ../../include/message.php:18 +#: ../../include/message.php:19 msgid "No recipient provided." msgstr "No se ha especificado ningún destinatario." -#: ../../include/message.php:23 +#: ../../include/message.php:24 msgid "[no subject]" msgstr "[sin asunto]" -#: ../../include/message.php:43 +#: ../../include/message.php:44 msgid "Unable to determine sender." msgstr "No ha sido posible determinar el remitente. " -#: ../../include/message.php:218 +#: ../../include/message.php:219 msgid "Stored post could not be verified." msgstr "No se han podido verificar las entradas guardadas." -#: ../../include/identity.php:32 -msgid "Unable to obtain identity information from database" -msgstr "No ha sido posible obtener información sobre la identidad desde la base de datos" - -#: ../../include/identity.php:66 -msgid "Empty name" -msgstr "Nombre vacío" - -#: ../../include/identity.php:69 -msgid "Name too long" -msgstr "Nombre demasiado largo" - -#: ../../include/identity.php:181 -msgid "No account identifier" -msgstr "Ningún identificador de la cuenta" - -#: ../../include/identity.php:193 -msgid "Nickname is required." -msgstr "Se requiere un sobrenombre (alias)." - -#: ../../include/identity.php:207 -msgid "Reserved nickname. Please choose another." -msgstr "Sobrenombre en uso. Por favor, elija otro." - -#: ../../include/identity.php:212 -msgid "" -"Nickname has unsupported characters or is already being used on this site." -msgstr "El alias contiene caracteres no admitidos o está ya en uso por otros usuarios de este sitio." - -#: ../../include/identity.php:288 -msgid "Unable to retrieve created identity" -msgstr "No ha sido posible recuperar la identidad creada" +#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1480 +msgid "Logout" +msgstr "Finalizar sesión" -#: ../../include/identity.php:346 -msgid "Default Profile" -msgstr "Perfil principal" +#: ../../include/nav.php:82 ../../include/nav.php:114 +msgid "End this session" +msgstr "Finalizar esta sesión" -#: ../../include/identity.php:769 -msgid "Requested channel is not available." -msgstr "El canal solicitado no está disponible." +#: ../../include/nav.php:85 ../../include/nav.php:145 +msgid "Home" +msgstr "Inicio" -#: ../../include/identity.php:815 ../../mod/achievements.php:11 -#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29 -#: ../../mod/editblock.php:29 ../../mod/profile.php:16 -#: ../../mod/webpages.php:29 ../../mod/blocks.php:29 -#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28 -#: ../../mod/connect.php:13 -msgid "Requested profile is not available." -msgstr "El perfil solicitado no está disponible." +#: ../../include/nav.php:85 +msgid "Your posts and conversations" +msgstr "Sus entradas y conversaciones" -#: ../../include/identity.php:965 ../../mod/profiles.php:774 -msgid "Change profile photo" -msgstr "Cambiar la foto del perfil" +#: ../../include/nav.php:86 +msgid "Your profile page" +msgstr "Su página del perfil" -#: ../../include/identity.php:971 -msgid "Profiles" -msgstr "Perfiles" +#: ../../include/nav.php:88 +msgid "Edit Profiles" +msgstr "Editar perfiles" -#: ../../include/identity.php:971 -msgid "Manage/edit profiles" +#: ../../include/nav.php:88 +msgid "Manage/Edit profiles" msgstr "Administrar/editar perfiles" -#: ../../include/identity.php:972 ../../mod/profiles.php:775 -msgid "Create New Profile" -msgstr "Crear un nuevo perfil" - -#: ../../include/identity.php:975 ../../include/nav.php:90 -msgid "Edit Profile" -msgstr "Editar el perfil" - -#: ../../include/identity.php:987 ../../mod/profiles.php:786 -msgid "Profile Image" -msgstr "Imagen del perfil" - -#: ../../include/identity.php:990 -msgid "visible to everybody" -msgstr "visible para cualquiera" - -#: ../../include/identity.php:991 ../../mod/profiles.php:669 -#: ../../mod/profiles.php:790 -msgid "Edit visibility" -msgstr "Editar visibilidad" - -#: ../../include/identity.php:1007 ../../include/identity.php:1247 -msgid "Gender:" -msgstr "Género:" - -#: ../../include/identity.php:1008 ../../include/identity.php:1291 -msgid "Status:" -msgstr "Estado:" - -#: ../../include/identity.php:1009 ../../include/identity.php:1302 -msgid "Homepage:" -msgstr "Página personal:" - -#: ../../include/identity.php:1010 -msgid "Online Now" -msgstr "Ahora en línea" - -#: ../../include/identity.php:1094 ../../include/identity.php:1172 -#: ../../mod/ping.php:318 -msgid "g A l F d" -msgstr "g A l d F" - -#: ../../include/identity.php:1095 ../../include/identity.php:1173 -msgid "F d" -msgstr "d F" - -#: ../../include/identity.php:1140 ../../include/identity.php:1212 -#: ../../mod/ping.php:341 -msgid "[today]" -msgstr "[hoy]" - -#: ../../include/identity.php:1151 -msgid "Birthday Reminders" -msgstr "Recordatorios de cumpleaños" - -#: ../../include/identity.php:1152 -msgid "Birthdays this week:" -msgstr "Cumpleaños de esta semana:" - -#: ../../include/identity.php:1205 -msgid "[No description]" -msgstr "[Sin descripción]" +#: ../../include/nav.php:90 +msgid "Edit your profile" +msgstr "Editar su perfil" -#: ../../include/identity.php:1223 -msgid "Event Reminders" -msgstr "Recordatorios de eventos" +#: ../../include/nav.php:92 +msgid "Your photos" +msgstr "Sus fotos" -#: ../../include/identity.php:1224 -msgid "Events this week:" -msgstr "Eventos de esta semana:" +#: ../../include/nav.php:93 +msgid "Your files" +msgstr "Sus ficheros" -#: ../../include/identity.php:1245 ../../mod/settings.php:1027 -msgid "Full Name:" -msgstr "Nombre completo:" +#: ../../include/nav.php:97 ../../include/apps.php:146 +msgid "Chat" +msgstr "Chat" -#: ../../include/identity.php:1252 -msgid "Like this channel" -msgstr "Me gusta este canal" +#: ../../include/nav.php:97 +msgid "Your chatrooms" +msgstr "Sus salas de chat" -#: ../../include/identity.php:1276 -msgid "j F, Y" -msgstr "j F Y" +#: ../../include/nav.php:103 +msgid "Your bookmarks" +msgstr "Sus marcadores" -#: ../../include/identity.php:1277 -msgid "j F" -msgstr "j F" +#: ../../include/nav.php:107 +msgid "Your webpages" +msgstr "Sus páginas web" -#: ../../include/identity.php:1284 -msgid "Birthday:" -msgstr "Cumpleaños:" +#: ../../include/nav.php:111 ../../include/apps.php:131 ../../boot.php:1481 +msgid "Login" +msgstr "Iniciar sesión" -#: ../../include/identity.php:1288 ../../mod/directory.php:299 -msgid "Age:" -msgstr "Edad:" +#: ../../include/nav.php:111 +msgid "Sign in" +msgstr "Acceder" -#: ../../include/identity.php:1297 +#: ../../include/nav.php:128 #, php-format -msgid "for %1$d %2$s" -msgstr "por %1$d %2$s" - -#: ../../include/identity.php:1300 ../../mod/profiles.php:691 -msgid "Sexual Preference:" -msgstr "Orientación sexual:" - -#: ../../include/identity.php:1304 ../../mod/directory.php:315 -#: ../../mod/profiles.php:693 -msgid "Hometown:" -msgstr "Ciudad de origen:" - -#: ../../include/identity.php:1306 -msgid "Tags:" -msgstr "Etiquetas:" - -#: ../../include/identity.php:1308 ../../mod/profiles.php:694 -msgid "Political Views:" -msgstr "Posición política:" - -#: ../../include/identity.php:1310 -msgid "Religion:" -msgstr "Religión:" - -#: ../../include/identity.php:1312 ../../mod/directory.php:317 -msgid "About:" -msgstr "Sobre mí:" +msgid "%s - click to logout" +msgstr "%s - pulsar para finalizar sesión" -#: ../../include/identity.php:1314 -msgid "Hobbies/Interests:" -msgstr "Aficciones/Intereses:" +#: ../../include/nav.php:131 +msgid "Remote authentication" +msgstr "Acceder desde su servidor" -#: ../../include/identity.php:1316 ../../mod/profiles.php:697 -msgid "Likes:" -msgstr "Me gusta:" +#: ../../include/nav.php:131 +msgid "Click to authenticate to your home hub" +msgstr "Pulsar para identificarse en su servidor de inicio" -#: ../../include/identity.php:1318 ../../mod/profiles.php:698 -msgid "Dislikes:" -msgstr "No me gusta:" +#: ../../include/nav.php:145 +msgid "Home Page" +msgstr "Página de inicio" -#: ../../include/identity.php:1320 -msgid "Contact information and Social Networks:" -msgstr "Información de contacto y redes sociales:" +#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1463 +msgid "Register" +msgstr "Registrarse" -#: ../../include/identity.php:1322 -msgid "My other channels:" -msgstr "Mis otros canales:" +#: ../../include/nav.php:149 +msgid "Create an account" +msgstr "Crear una cuenta" -#: ../../include/identity.php:1324 -msgid "Musical interests:" -msgstr "Intereses musicales:" +#: ../../include/nav.php:154 ../../include/apps.php:142 +#: ../../mod/layouts.php:176 ../../mod/help.php:202 ../../mod/help.php:207 +msgid "Help" +msgstr "Ayuda" -#: ../../include/identity.php:1326 -msgid "Books, literature:" -msgstr "Libros, literatura:" +#: ../../include/nav.php:154 +msgid "Help and documentation" +msgstr "Ayuda y documentación" -#: ../../include/identity.php:1328 -msgid "Television:" -msgstr "Televisión:" +#: ../../include/nav.php:157 +msgid "Applications, utilities, links, games" +msgstr "Aplicaciones, utilidades, enlaces, juegos" -#: ../../include/identity.php:1330 -msgid "Film/dance/culture/entertainment:" -msgstr "Cine/danza/cultura/entretenimiento:" +#: ../../include/nav.php:159 ../../include/text.php:867 +#: ../../include/text.php:879 ../../include/apps.php:147 +#: ../../mod/search.php:40 +msgid "Search" +msgstr "Buscar" -#: ../../include/identity.php:1332 -msgid "Love/Romance:" -msgstr "Vida sentimental/amorosa:" +#: ../../include/nav.php:159 +msgid "Search site @name, #tag, ?docs, content" +msgstr "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido" -#: ../../include/identity.php:1334 -msgid "Work/employment:" -msgstr "Trabajo:" +#: ../../include/nav.php:162 ../../include/apps.php:141 +msgid "Directory" +msgstr "Directorio" -#: ../../include/identity.php:1336 -msgid "School/education:" -msgstr "Estudios:" +#: ../../include/nav.php:162 +msgid "Channel Directory" +msgstr "Directorio de canales" -#: ../../include/identity.php:1356 -msgid "Like this thing" -msgstr "Me gusta esto" +#: ../../include/nav.php:174 ../../include/apps.php:133 +msgid "Grid" +msgstr "Red" -#: ../../include/taxonomy.php:238 ../../include/taxonomy.php:259 -msgid "Tags" -msgstr "Etiquetas" +#: ../../include/nav.php:174 +msgid "Your grid" +msgstr "Mi red" -#: ../../include/taxonomy.php:303 -msgid "Keywords" -msgstr "Palabras clave" +#: ../../include/nav.php:175 +msgid "Mark all grid notifications seen" +msgstr "Marcar todas las notificaciones de la red como vistas" -#: ../../include/taxonomy.php:324 -msgid "have" -msgstr "tener" +#: ../../include/nav.php:177 ../../include/apps.php:137 +msgid "Channel Home" +msgstr "Mi canal" -#: ../../include/taxonomy.php:324 -msgid "has" -msgstr "tiene" +#: ../../include/nav.php:177 +msgid "Channel home" +msgstr "Mi canal" -#: ../../include/taxonomy.php:325 -msgid "want" -msgstr "quiero" +#: ../../include/nav.php:178 +msgid "Mark all channel notifications seen" +msgstr "Marcar todas las notificaciones del canal como leídas" -#: ../../include/taxonomy.php:325 -msgid "wants" -msgstr "quiere" +#: ../../include/nav.php:181 ../../mod/connections.php:260 +msgid "Connections" +msgstr "Conexiones" -#: ../../include/taxonomy.php:326 -msgid "likes" -msgstr "le gusta" +#: ../../include/nav.php:184 +msgid "Notices" +msgstr "Avisos" -#: ../../include/taxonomy.php:327 -msgid "dislikes" -msgstr "no le gusta" +#: ../../include/nav.php:184 +msgid "Notifications" +msgstr "Notificaciones" -#: ../../include/attach.php:246 ../../include/attach.php:332 -msgid "Item was not found." -msgstr "Elemento no encontrado." +#: ../../include/nav.php:185 +msgid "See all notifications" +msgstr "Ver todas las notificaciones" -#: ../../include/attach.php:496 -msgid "No source file." -msgstr "Ningún fichero de origen" +#: ../../include/nav.php:186 ../../mod/notifications.php:99 +msgid "Mark all system notifications seen" +msgstr "Marcar todas las notificaciones de sistema como leídas" -#: ../../include/attach.php:514 -msgid "Cannot locate file to replace" -msgstr "No se puede localizar el fichero que va a ser sustituido." +#: ../../include/nav.php:188 ../../include/apps.php:143 +msgid "Mail" +msgstr "Correo" -#: ../../include/attach.php:532 -msgid "Cannot locate file to revise/update" -msgstr "No se puede localizar el fichero para revisar/actualizar" +#: ../../include/nav.php:188 +msgid "Private mail" +msgstr "Correo privado" -#: ../../include/attach.php:667 -#, php-format -msgid "File exceeds size limit of %d" -msgstr "El fichero supera el limite de tamaño de %d" +#: ../../include/nav.php:189 +msgid "See all private messages" +msgstr "Ver todas los mensajes privados" -#: ../../include/attach.php:681 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." -msgstr "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos." +#: ../../include/nav.php:190 +msgid "Mark all private messages seen" +msgstr "Marcar todos los mensajes privados como leídos" -#: ../../include/attach.php:837 -msgid "File upload failed. Possible system limit or action terminated." -msgstr "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado." +#: ../../include/nav.php:196 ../../include/apps.php:140 +msgid "Events" +msgstr "Eventos" -#: ../../include/attach.php:850 -msgid "Stored file could not be verified. Upload failed." -msgstr "El fichero almacenado no ha podido ser verificado. El envío ha fallado." +#: ../../include/nav.php:196 +msgid "Event Calendar" +msgstr "Calendario de eventos" -#: ../../include/attach.php:898 ../../include/attach.php:914 -msgid "Path not available." -msgstr "Ruta no disponible." +#: ../../include/nav.php:197 +msgid "See all events" +msgstr "Ver todos los eventos" -#: ../../include/attach.php:960 ../../include/attach.php:1112 -msgid "Empty pathname" -msgstr "Ruta vacía" +#: ../../include/nav.php:198 +msgid "Mark all events seen" +msgstr "Marcar todos los eventos como leidos" -#: ../../include/attach.php:986 -msgid "duplicate filename or path" -msgstr "Nombre duplicado de ruta o fichero" +#: ../../include/nav.php:200 ../../include/apps.php:132 +#: ../../mod/manage.php:160 +msgid "Channel Manager" +msgstr "Administración de canales" -#: ../../include/attach.php:1008 -msgid "Path not found." -msgstr "Ruta no encontrada" +#: ../../include/nav.php:200 +msgid "Manage Your Channels" +msgstr "Gestionar sus canales" -#: ../../include/attach.php:1066 -msgid "mkdir failed." -msgstr "mkdir ha fallado." +#: ../../include/nav.php:202 +msgid "Account/Channel Settings" +msgstr "Ajustes de cuenta/canales" -#: ../../include/attach.php:1070 -msgid "database storage failed." -msgstr "el almacenamiento en la base de datos ha fallado." +#: ../../include/nav.php:210 +msgid "Site Setup and Configuration" +msgstr "Ajustes y configuración del sitio" -#: ../../include/attach.php:1118 -msgid "Empty path" -msgstr "Ruta vacía" +#: ../../include/nav.php:246 +msgid "@name, #tag, ?doc, content" +msgstr "@nombre, #etiqueta, ?ayuda, contenido" -#: ../../include/bb2diaspora.php:382 -msgid "Attachments:" -msgstr "Ficheros adjuntos:" +#: ../../include/nav.php:247 +msgid "Please wait..." +msgstr "Espere por favor…" -#: ../../include/bb2diaspora.php:473 -msgid "$Projectname event notification:" -msgstr "Notificación de eventos de $Projectname:" +#: ../../include/security.php:381 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." +msgstr "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado" -#: ../../include/text.php:393 +#: ../../include/text.php:394 msgid "prev" msgstr "anterior" -#: ../../include/text.php:395 +#: ../../include/text.php:396 msgid "first" msgstr "primera" -#: ../../include/text.php:424 +#: ../../include/text.php:425 msgid "last" msgstr "última" -#: ../../include/text.php:427 +#: ../../include/text.php:428 msgid "next" msgstr "próxima" -#: ../../include/text.php:437 +#: ../../include/text.php:438 msgid "older" msgstr "más antiguas" -#: ../../include/text.php:439 +#: ../../include/text.php:440 msgid "newer" msgstr "más recientes" -#: ../../include/text.php:784 +#: ../../include/text.php:785 msgid "No connections" msgstr "Sin conexiones" -#: ../../include/text.php:796 +#: ../../include/text.php:797 #, php-format msgid "%d Connection" msgid_plural "%d Connections" msgstr[0] "%d Conexión" msgstr[1] "%d Conexiones" -#: ../../include/text.php:809 ../../mod/viewconnections.php:101 +#: ../../include/text.php:810 ../../mod/viewconnections.php:101 msgid "View Connections" msgstr "Ver conexiones" -#: ../../include/text.php:953 +#: ../../include/text.php:954 msgid "poke" msgstr "un toque" -#: ../../include/text.php:954 +#: ../../include/text.php:955 msgid "ping" msgstr "un \"ping\"" -#: ../../include/text.php:954 +#: ../../include/text.php:955 msgid "pinged" msgstr "avisado/a" -#: ../../include/text.php:955 +#: ../../include/text.php:956 msgid "prod" msgstr "una incitación" -#: ../../include/text.php:955 +#: ../../include/text.php:956 msgid "prodded" msgstr "ha recibido una incitación" -#: ../../include/text.php:956 +#: ../../include/text.php:957 msgid "slap" msgstr "una bofetada" -#: ../../include/text.php:956 +#: ../../include/text.php:957 msgid "slapped" msgstr "ha recibido una bofetada" -#: ../../include/text.php:957 +#: ../../include/text.php:958 msgid "finger" msgstr "un \"finger\"" -#: ../../include/text.php:957 +#: ../../include/text.php:958 msgid "fingered" msgstr "ha recibido un \"finger\"" -#: ../../include/text.php:958 +#: ../../include/text.php:959 msgid "rebuff" msgstr "un rechazo" -#: ../../include/text.php:958 +#: ../../include/text.php:959 msgid "rebuffed" msgstr "ha sido rechazado/a" -#: ../../include/text.php:968 +#: ../../include/text.php:969 msgid "happy" msgstr "feliz" -#: ../../include/text.php:969 +#: ../../include/text.php:970 msgid "sad" msgstr "triste" -#: ../../include/text.php:970 +#: ../../include/text.php:971 msgid "mellow" msgstr "amable" -#: ../../include/text.php:971 +#: ../../include/text.php:972 msgid "tired" msgstr "cansado/a" -#: ../../include/text.php:972 +#: ../../include/text.php:973 msgid "perky" msgstr "fresco/a" -#: ../../include/text.php:973 +#: ../../include/text.php:974 msgid "angry" msgstr "enfadado/a" -#: ../../include/text.php:974 +#: ../../include/text.php:975 msgid "stupified" msgstr "estupefacto/a" -#: ../../include/text.php:975 +#: ../../include/text.php:976 msgid "puzzled" msgstr "perplejo/a" -#: ../../include/text.php:976 +#: ../../include/text.php:977 msgid "interested" msgstr "interesado/a" -#: ../../include/text.php:977 +#: ../../include/text.php:978 msgid "bitter" msgstr "amargado/a" -#: ../../include/text.php:978 +#: ../../include/text.php:979 msgid "cheerful" msgstr "alegre" -#: ../../include/text.php:979 +#: ../../include/text.php:980 msgid "alive" msgstr "vivo/a" -#: ../../include/text.php:980 +#: ../../include/text.php:981 msgid "annoyed" msgstr "molesto/a" -#: ../../include/text.php:981 +#: ../../include/text.php:982 msgid "anxious" msgstr "ansioso/a" -#: ../../include/text.php:982 +#: ../../include/text.php:983 msgid "cranky" msgstr "de mal humor" -#: ../../include/text.php:983 +#: ../../include/text.php:984 msgid "disturbed" msgstr "perturbado/a" -#: ../../include/text.php:984 +#: ../../include/text.php:985 msgid "frustrated" msgstr "frustrado/a" -#: ../../include/text.php:985 +#: ../../include/text.php:986 msgid "depressed" msgstr "deprimido/a" -#: ../../include/text.php:986 +#: ../../include/text.php:987 msgid "motivated" msgstr "motivado/a" -#: ../../include/text.php:987 +#: ../../include/text.php:988 msgid "relaxed" msgstr "relajado/a" -#: ../../include/text.php:988 +#: ../../include/text.php:989 msgid "surprised" msgstr "sorprendido/a" -#: ../../include/text.php:1164 +#: ../../include/text.php:1165 msgid "May" msgstr "mayo" -#: ../../include/text.php:1241 ../../include/text.php:1245 +#: ../../include/text.php:1242 ../../include/text.php:1246 msgid "Unknown Attachment" msgstr "Adjunto no reconocido" -#: ../../include/text.php:1247 +#: ../../include/text.php:1248 msgid "unknown" msgstr "desconocido" -#: ../../include/text.php:1283 +#: ../../include/text.php:1284 msgid "remove category" msgstr "eliminar categoría" -#: ../../include/text.php:1360 +#: ../../include/text.php:1361 msgid "remove from file" msgstr "eliminar del fichero" -#: ../../include/text.php:1472 ../../include/text.php:1483 +#: ../../include/text.php:1507 ../../include/text.php:1518 msgid "Click to open/close" msgstr "Pulsar para abrir/cerrar" -#: ../../include/text.php:1656 ../../mod/events.php:495 +#: ../../include/text.php:1692 ../../mod/events.php:623 msgid "Link to Source" msgstr "Enlazar con la entrada en su ubicación original" -#: ../../include/text.php:1677 ../../include/text.php:1749 +#: ../../include/text.php:1713 ../../include/text.php:1785 msgid "default" msgstr "por defecto" -#: ../../include/text.php:1685 +#: ../../include/text.php:1721 msgid "Page layout" msgstr "Formato de la página" -#: ../../include/text.php:1685 +#: ../../include/text.php:1721 msgid "You can create your own with the layouts tool" msgstr "Puede crear su propio formato gráfico con las herramientas de diseño" -#: ../../include/text.php:1727 +#: ../../include/text.php:1763 msgid "Page content type" msgstr "Tipo de contenido de página" -#: ../../include/text.php:1761 +#: ../../include/text.php:1797 msgid "Select an alternate language" msgstr "Seleccionar un idioma alternativo" -#: ../../include/text.php:1893 +#: ../../include/text.php:1929 msgid "activity" msgstr "actividad" -#: ../../include/text.php:2188 +#: ../../include/text.php:2224 msgid "Design Tools" msgstr "Herramientas de diseño" -#: ../../include/text.php:2191 ../../mod/blocks.php:147 +#: ../../include/text.php:2227 ../../mod/blocks.php:147 msgid "Blocks" msgstr "Bloques" -#: ../../include/text.php:2192 ../../mod/menu.php:103 +#: ../../include/text.php:2228 ../../mod/menu.php:103 msgid "Menus" msgstr "Menús" -#: ../../include/text.php:2193 ../../mod/layouts.php:174 +#: ../../include/text.php:2229 ../../mod/layouts.php:174 msgid "Layouts" msgstr "Formato gráfico" -#: ../../include/text.php:2194 +#: ../../include/text.php:2230 msgid "Pages" msgstr "Páginas" -#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485 -msgid "Logout" -msgstr "Finalizar sesión" +#: ../../include/dir_fns.php:139 +msgid "Directory Options" +msgstr "Opciones del directorio" -#: ../../include/nav.php:82 ../../include/nav.php:114 -msgid "End this session" -msgstr "Finalizar esta sesión" +#: ../../include/dir_fns.php:141 +msgid "Safe Mode" +msgstr "Modo seguro" -#: ../../include/nav.php:85 ../../include/nav.php:145 -msgid "Home" -msgstr "Inicio" +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/connedit.php:635 ../../mod/connedit.php:684 ../../mod/api.php:106 +#: ../../mod/photos.php:626 ../../mod/admin.php:410 ../../mod/settings.php:577 +#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/events.php:447 +#: ../../mod/events.php:448 ../../mod/events.php:457 ../../mod/mitem.php:154 +#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229 +#: ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1485 +msgid "No" +msgstr "No" -#: ../../include/nav.php:85 -msgid "Your posts and conversations" -msgstr "Sus entradas y conversaciones" +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/api.php:105 ../../mod/photos.php:626 ../../mod/admin.php:412 +#: ../../mod/settings.php:577 ../../mod/menu.php:96 ../../mod/menu.php:153 +#: ../../mod/events.php:447 ../../mod/events.php:448 ../../mod/events.php:457 +#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 +#: ../../mod/mitem.php:229 ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1485 +msgid "Yes" +msgstr "Sí" -#: ../../include/nav.php:86 -msgid "Your profile page" -msgstr "Su página del perfil" +#: ../../include/dir_fns.php:142 +msgid "Public Forums Only" +msgstr "Solo foros públicos" -#: ../../include/nav.php:88 -msgid "Edit Profiles" -msgstr "Editar perfiles" +#: ../../include/dir_fns.php:143 +msgid "This Website Only" +msgstr "Solo este sitio web" -#: ../../include/nav.php:88 -msgid "Manage/Edit profiles" -msgstr "Administrar/editar perfiles" +#: ../../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 grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente." -#: ../../include/nav.php:90 -msgid "Edit your profile" -msgstr "Editar su perfil" +#: ../../include/group.php:232 +msgid "Add new connections to this collection (privacy group)" +msgstr "Añadir nuevas conexiones a esta colección (privacidad del grupo)" -#: ../../include/nav.php:92 -msgid "Your photos" -msgstr "Sus fotos" +#: ../../include/group.php:251 ../../mod/admin.php:814 +msgid "All Channels" +msgstr "Todos los canales" -#: ../../include/nav.php:93 -msgid "Your files" -msgstr "Sus ficheros" +#: ../../include/group.php:273 +msgid "edit" +msgstr "editar" -#: ../../include/nav.php:97 -msgid "Your chatrooms" -msgstr "Sus salas de chat" +#: ../../include/group.php:295 +msgid "Collections" +msgstr "Colecciones" -#: ../../include/nav.php:103 -msgid "Your bookmarks" -msgstr "Sus marcadores" +#: ../../include/group.php:296 +msgid "Edit collection" +msgstr "Editar colección" -#: ../../include/nav.php:107 -msgid "Your webpages" -msgstr "Sus páginas web" +#: ../../include/group.php:297 +msgid "Add new collection" +msgstr "Añadir nueva colección" -#: ../../include/nav.php:111 -msgid "Sign in" -msgstr "Acceder" +#: ../../include/group.php:298 +msgid "Channels not in any collection" +msgstr "El canal no se encuentra en ninguna colección" -#: ../../include/nav.php:128 +#: ../../include/zot.php:675 +msgid "Invalid data packet" +msgstr "Paquete de datos no válido" + +#: ../../include/zot.php:691 +msgid "Unable to verify channel signature" +msgstr "No ha sido posible de verificar la firma del canal" + +#: ../../include/zot.php:2259 #, php-format -msgid "%s - click to logout" -msgstr "%s - pulsar para finalizar sesión" +msgid "Unable to verify site signature for %s" +msgstr "No ha sido posible de verificar la firma del sitio para %s" -#: ../../include/nav.php:131 -msgid "Remote authentication" -msgstr "Acceder desde su servidor" +#: ../../include/zot.php:3586 +msgid "invalid target signature" +msgstr "La firma recibida no es válida" -#: ../../include/nav.php:131 -msgid "Click to authenticate to your home hub" -msgstr "Pulsar para identificarse en su servidor de inicio" +#: ../../include/page_widgets.php:6 +msgid "New Page" +msgstr "Nueva página" -#: ../../include/nav.php:145 -msgid "Home Page" -msgstr "Página de inicio" +#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159 +#: ../../mod/webpages.php:187 ../../mod/layouts.php:188 +msgid "View" +msgstr "Ver" -#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462 -msgid "Register" -msgstr "Registrarse" +#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 +msgid "Actions" +msgstr "Acciones" -#: ../../include/nav.php:149 -msgid "Create an account" -msgstr "Crear una cuenta" +#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 +msgid "Page Link" +msgstr "Vínculo de la página" -#: ../../include/nav.php:154 -msgid "Help and documentation" -msgstr "Ayuda y documentación" +#: ../../include/page_widgets.php:43 +msgid "Title" +msgstr "Título" -#: ../../include/nav.php:157 -msgid "Applications, utilities, links, games" -msgstr "Aplicaciones, utilidades, enlaces, juegos" +#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150 +#: ../../mod/webpages.php:192 ../../mod/layouts.php:181 ../../mod/menu.php:110 +msgid "Created" +msgstr "Creado" -#: ../../include/nav.php:159 -msgid "Search site @name, #tag, ?docs, content" -msgstr "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido" +#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151 +#: ../../mod/webpages.php:193 ../../mod/layouts.php:182 ../../mod/menu.php:111 +msgid "Edited" +msgstr "Editado" -#: ../../include/nav.php:162 -msgid "Channel Directory" -msgstr "Directorio de canales" +#: ../../include/dba/dba_driver.php:141 +#, php-format +msgid "Cannot locate DNS info for database server '%s'" +msgstr "No se ha podido localizar información de DNS para el servidor de base de datos “%s”" -#: ../../include/nav.php:174 -msgid "Your grid" -msgstr "Mi red" +#: ../../include/photos.php:112 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" +msgstr "La imagen excede el límite de %lu bytes del sitio" -#: ../../include/nav.php:175 -msgid "Mark all grid notifications seen" -msgstr "Marcar todas las notificaciones de la red como vistas" +#: ../../include/photos.php:119 +msgid "Image file is empty." +msgstr "El fichero de imagen está vacío. " -#: ../../include/nav.php:177 -msgid "Channel home" -msgstr "Mi canal" +#: ../../include/photos.php:146 ../../mod/profile_photo.php:225 +msgid "Unable to process image" +msgstr "No ha sido posible procesar la imagen" -#: ../../include/nav.php:178 -msgid "Mark all channel notifications seen" -msgstr "Marcar todas las notificaciones del canal como leídas" +#: ../../include/photos.php:257 +msgid "Photo storage failed." +msgstr "La foto no ha podido ser guardada." -#: ../../include/nav.php:181 ../../mod/connections.php:260 -msgid "Connections" -msgstr "Conexiones" +#: ../../include/photos.php:487 +msgid "Upload New Photos" +msgstr "Subir nuevas fotos" -#: ../../include/nav.php:184 -msgid "Notices" -msgstr "Avisos" +#: ../../include/ItemObject.php:130 +msgid "Save to Folder" +msgstr "Guardar en carpeta" -#: ../../include/nav.php:184 -msgid "Notifications" -msgstr "Notificaciones" +#: ../../include/ItemObject.php:151 +msgid "I will attend" +msgstr "Participaré" -#: ../../include/nav.php:185 -msgid "See all notifications" -msgstr "Ver todas las notificaciones" +#: ../../include/ItemObject.php:151 +msgid "I will not attend" +msgstr "No participaré" -#: ../../include/nav.php:186 ../../mod/notifications.php:99 -msgid "Mark all system notifications seen" -msgstr "Marcar todas las notificaciones de sistema como leídas" +#: ../../include/ItemObject.php:151 +msgid "I might attend" +msgstr "Quizá participe" -#: ../../include/nav.php:188 -msgid "Private mail" -msgstr "Correo privado" +#: ../../include/ItemObject.php:161 +msgid "I agree" +msgstr "Estoy de acuerdo" -#: ../../include/nav.php:189 -msgid "See all private messages" -msgstr "Ver todas los mensajes privados" +#: ../../include/ItemObject.php:161 +msgid "I disagree" +msgstr "No estoy de acuerdo" -#: ../../include/nav.php:190 -msgid "Mark all private messages seen" -msgstr "Marcar todos los mensajes privados como leídos" +#: ../../include/ItemObject.php:161 +msgid "I abstain" +msgstr "Me abstengo" -#: ../../include/nav.php:196 -msgid "Event Calendar" -msgstr "Calendario de eventos" +#: ../../include/ItemObject.php:212 +msgid "Add Star" +msgstr "Destacar añadiendo una estrella" -#: ../../include/nav.php:197 -msgid "See all events" -msgstr "Ver todos los eventos" +#: ../../include/ItemObject.php:213 +msgid "Remove Star" +msgstr "Eliminar estrella" -#: ../../include/nav.php:198 -msgid "Mark all events seen" -msgstr "Marcar todos los eventos como leidos" +#: ../../include/ItemObject.php:214 +msgid "Toggle Star Status" +msgstr "Activar o desactivar el estado de entrada preferida" -#: ../../include/nav.php:200 -msgid "Manage Your Channels" -msgstr "Gestionar sus canales" +#: ../../include/ItemObject.php:218 +msgid "starred" +msgstr "preferidas" -#: ../../include/nav.php:202 -msgid "Account/Channel Settings" -msgstr "Ajustes de cuenta/canales" +#: ../../include/ItemObject.php:236 +msgid "Add Tag" +msgstr "Añadir etiqueta" -#: ../../include/nav.php:210 -msgid "Site Setup and Configuration" -msgstr "Ajustes y configuración del sitio" +#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 +msgid "I like this (toggle)" +msgstr "me gusta (cambiar)" -#: ../../include/nav.php:246 -msgid "@name, #tag, ?doc, content" -msgstr "@nombre, #etiqueta, ?ayuda, contenido" +#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 +msgid "I don't like this (toggle)" +msgstr "No me gusta esto (cambiar)" -#: ../../include/nav.php:247 -msgid "Please wait..." -msgstr "Espere por favor…" +#: ../../include/ItemObject.php:259 +msgid "Share This" +msgstr "Compartir esto" -#: ../../include/dir_fns.php:139 -msgid "Directory Options" -msgstr "Opciones del directorio" +#: ../../include/ItemObject.php:259 +msgid "share" +msgstr "compartir" -#: ../../include/dir_fns.php:141 -msgid "Safe Mode" -msgstr "Modo seguro" +#: ../../include/ItemObject.php:268 +msgid "Delivery Report" +msgstr "Informe de transmisión" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/connedit.php:635 -#: ../../mod/connedit.php:684 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:410 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:106 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "No" -msgstr "No" +#: ../../include/ItemObject.php:286 +#, php-format +msgid "%d comment" +msgid_plural "%d comments" +msgstr[0] "%d comentario" +msgstr[1] "%d comentarios" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:412 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:105 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "Yes" -msgstr "Sí" +#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316 +#, php-format +msgid "View %s's profile - %s" +msgstr "Ver el perfil de %s - %s" -#: ../../include/dir_fns.php:142 -msgid "Public Forums Only" -msgstr "Solo foros públicos" +#: ../../include/ItemObject.php:319 +msgid "to" +msgstr "a" -#: ../../include/dir_fns.php:143 -msgid "This Website Only" -msgstr "Solo este sitio web" +#: ../../include/ItemObject.php:320 +msgid "via" +msgstr "mediante" -#: ../../mod/achievements.php:34 -msgid "Some blurb about what to do when you're new here" -msgstr "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí" +#: ../../include/ItemObject.php:321 +msgid "Wall-to-Wall" +msgstr "De página del perfil a página del perfil (de Muro a Muro)" -#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 -msgid "Contact not found." -msgstr "Contacto no encontrado" +#: ../../include/ItemObject.php:322 +msgid "via Wall-To-Wall:" +msgstr "Mediante el procedimiento página del perfil a página del perfil (de Muro a Muro)" -#: ../../mod/fsuggest.php:63 -msgid "Friend suggestion sent." -msgstr "Enviar sugerencia a un amigo." +#: ../../include/ItemObject.php:362 +msgid "Save Bookmarks" +msgstr "Guardar en Marcadores" -#: ../../mod/fsuggest.php:97 -msgid "Suggest Friends" -msgstr "Sugerir amigos" +#: ../../include/ItemObject.php:363 +msgid "Add to Calendar" +msgstr "Añadir al calendario" -#: ../../mod/fsuggest.php:99 +#: ../../include/ItemObject.php:372 +msgid "Mark all seen" +msgstr "Marcar todo como visto" + +#: ../../include/ItemObject.php:378 ../../mod/photos.php:1212 +msgctxt "noun" +msgid "Likes" +msgstr "Me gusta" + +#: ../../include/ItemObject.php:379 ../../mod/photos.php:1213 +msgctxt "noun" +msgid "Dislikes" +msgstr "No me gusta" + +#: ../../include/ItemObject.php:694 ../../mod/photos.php:1045 +#: ../../mod/photos.php:1163 +msgid "This is you" +msgstr "Este es usted" + +#: ../../include/ItemObject.php:703 +msgid "Image" +msgstr "Imagen" + +#: ../../include/ItemObject.php:704 +msgid "Insert Link" +msgstr "Insertar enlace" + +#: ../../include/ItemObject.php:705 +msgid "Video" +msgstr "Vídeo" + +#: ../../include/account.php:27 +msgid "Not a valid email address" +msgstr "Dirección de correo no válida" + +#: ../../include/account.php:29 +msgid "Your email domain is not among those allowed on this site" +msgstr "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio." + +#: ../../include/account.php:35 +msgid "Your email address is already registered at this site." +msgstr "Su dirección de correo está ya registrada en este sitio." + +#: ../../include/account.php:67 +msgid "An invitation is required." +msgstr "Es obligatorio que le inviten." + +#: ../../include/account.php:71 +msgid "Invitation could not be verified." +msgstr "No se ha podido verificar su invitación." + +#: ../../include/account.php:121 +msgid "Please enter the required information." +msgstr "Por favor introduzca la información requerida." + +#: ../../include/account.php:188 +msgid "Failed to store account information." +msgstr "La información de la cuenta no se ha podido guardar." + +#: ../../include/account.php:248 #, php-format -msgid "Suggest a friend for %s" -msgstr "Sugerir un amigo a %s" +msgid "Registration confirmation for %s" +msgstr "Confirmación de registro para %s" -#: ../../mod/directory.php:59 ../../mod/display.php:13 ../../mod/search.php:13 -#: ../../mod/photos.php:490 ../../mod/ratings.php:82 -#: ../../mod/viewconnections.php:17 -msgid "Public access denied." -msgstr "Acceso público denegado." +#: ../../include/account.php:314 +#, php-format +msgid "Registration request at %s" +msgstr "Solicitud de registro en %s" -#: ../../mod/directory.php:236 +#: ../../include/account.php:338 +msgid "your registration password" +msgstr "su contraseña de registro" + +#: ../../include/account.php:341 ../../include/account.php:401 #, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "%d valoración" -msgstr[1] "%d valoraciones" +msgid "Registration details for %s" +msgstr "Detalles del registro de %s" -#: ../../mod/directory.php:247 -msgid "Gender: " -msgstr "Género:" +#: ../../include/account.php:410 +msgid "Account approved." +msgstr "Cuenta aprobada." -#: ../../mod/directory.php:249 -msgid "Status: " -msgstr "Estado:" +#: ../../include/account.php:449 +#, php-format +msgid "Registration revoked for %s" +msgstr "Registro revocado para %s" -#: ../../mod/directory.php:251 -msgid "Homepage: " -msgstr "Página personal:" +#: ../../include/account.php:494 +msgid "Account verified. Please login." +msgstr "Cuenta verificada. Por favor, inicie sesión." -#: ../../mod/directory.php:310 ../../mod/events.php:699 -msgid "Description:" -msgstr "Descripción:" +#: ../../include/account.php:707 ../../include/account.php:709 +msgid "Click here to upgrade." +msgstr "Pulse aquí para actualizar" -#: ../../mod/directory.php:319 -msgid "Public Forum:" -msgstr "Foro público:" +#: ../../include/account.php:715 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "Esta acción supera los límites establecidos por su plan de suscripción " -#: ../../mod/directory.php:322 -msgid "Keywords: " -msgstr "Palabras clave:" +#: ../../include/account.php:720 +msgid "This action is not available under your subscription plan." +msgstr "Esta acción no está disponible en su plan de suscripción." -#: ../../mod/directory.php:325 -msgid "Don't suggest" -msgstr "No sugerir:" +#: ../../include/apps.php:128 +msgid "Site Admin" +msgstr "Adminstrador del sitio" -#: ../../mod/directory.php:327 -msgid "Common connections:" -msgstr "Conexiones comunes:" +#: ../../include/apps.php:130 +msgid "Address Book" +msgstr "Libreta de direcciones" -#: ../../mod/directory.php:376 -msgid "Global Directory" -msgstr "Directorio global:" +#: ../../include/apps.php:144 ../../mod/mood.php:131 +msgid "Mood" +msgstr "Estado de ánimo" -#: ../../mod/directory.php:376 -msgid "Local Directory" -msgstr "Directorio local:" +#: ../../include/apps.php:148 +msgid "Probe" +msgstr "Probar" -#: ../../mod/directory.php:382 -msgid "Finding:" -msgstr "Encontrar:" +#: ../../include/apps.php:149 +msgid "Suggest" +msgstr "Sugerir" -#: ../../mod/directory.php:387 -msgid "next page" -msgstr "siguiente página" +#: ../../include/apps.php:150 +msgid "Random Channel" +msgstr "Canal aleatorio" -#: ../../mod/directory.php:387 -msgid "previous page" -msgstr "página anterior" +#: ../../include/apps.php:151 +msgid "Invite" +msgstr "Invitar" -#: ../../mod/directory.php:388 -msgid "Sort options" -msgstr "Ordenar opciones" +#: ../../include/apps.php:152 +msgid "Features" +msgstr "Características" -#: ../../mod/directory.php:389 -msgid "Alphabetic" -msgstr "Alfabético" +#: ../../include/apps.php:153 ../../mod/id.php:28 +msgid "Language" +msgstr "Idioma" -#: ../../mod/directory.php:390 -msgid "Reverse Alphabetic" -msgstr "Alfabético inverso" +#: ../../include/apps.php:154 +msgid "Post" +msgstr "Publicación" -#: ../../mod/directory.php:391 -msgid "Newest to Oldest" -msgstr "De más nuevo a más antiguo" +#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 +#: ../../mod/id.php:19 +msgid "Profile Photo" +msgstr "Foto del perfil" -#: ../../mod/directory.php:392 -msgid "Oldest to Newest" -msgstr "De más antiguo a más nuevo" +#: ../../include/apps.php:252 ../../mod/settings.php:84 +#: ../../mod/settings.php:612 +msgid "Update" +msgstr "Actualizar" -#: ../../mod/directory.php:409 -msgid "No entries (some entries may be hidden)." -msgstr "Sin entradas (algunas entradas pueden estar ocultas)." +#: ../../include/apps.php:252 +msgid "Install" +msgstr "Instalar" -#: ../../mod/bookmarks.php:40 -msgid "Bookmark added" -msgstr "Marcador añadido" +#: ../../include/apps.php:257 +msgid "Purchase" +msgstr "Comprar" -#: ../../mod/bookmarks.php:62 -msgid "My Bookmarks" -msgstr "Mis Marcadores" +#: ../../include/permissions.php:26 +msgid "Can view my normal stream and posts" +msgstr "Pueden verse mi flujo de actividad y publicaciones normales" -#: ../../mod/bookmarks.php:73 -msgid "My Connections Bookmarks" -msgstr "Marcadores de mis conexiones" +#: ../../include/permissions.php:27 +msgid "Can view my default channel profile" +msgstr "Puede verse mi perfil de canal predeterminado." + +#: ../../include/permissions.php:28 +msgid "Can view my connections" +msgstr "Pueden verse mis conexiones" + +#: ../../include/permissions.php:29 +msgid "Can view my file storage and photos" +msgstr "Pueden verse mi repositorio de ficheros y mis fotos" + +#: ../../include/permissions.php:30 +msgid "Can view my webpages" +msgstr "Pueden verse mis páginas web" + +#: ../../include/permissions.php:33 +msgid "Can send me their channel stream and posts" +msgstr "Me pueden enviar sus entradas y flujo de actividad del canal" + +#: ../../include/permissions.php:34 +msgid "Can post on my channel page (\"wall\")" +msgstr "Pueden crearse entradas en mi página de inicio del canal (“muro”)" + +#: ../../include/permissions.php:35 +msgid "Can comment on or like my posts" +msgstr "Pueden publicarse comentarios en mis publicaciones o marcar mis entradas con 'me gusta'." + +#: ../../include/permissions.php:36 +msgid "Can send me private mail messages" +msgstr "Se me pueden enviar mensajes privados" + +#: ../../include/permissions.php:37 +msgid "Can like/dislike stuff" +msgstr "Puede marcarse contenido como me gusta/no me gusta" + +#: ../../include/permissions.php:37 +msgid "Profiles and things other than posts/comments" +msgstr "Perfiles y otras cosas aparte de publicaciones/comentarios" + +#: ../../include/permissions.php:39 +msgid "Can forward to all my channel contacts via post @mentions" +msgstr "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención" + +#: ../../include/permissions.php:39 +msgid "Advanced - useful for creating group forum channels" +msgstr "Avanzado - útil para crear canales de foros de discusión o grupos" + +#: ../../include/permissions.php:40 +msgid "Can chat with me (when available)" +msgstr "Se puede charlar conmigo (cuando esté disponible)" + +#: ../../include/permissions.php:41 +msgid "Can write to my file storage and photos" +msgstr "Puede escribirse en mi repositorio de ficheros y fotos" + +#: ../../include/permissions.php:42 +msgid "Can edit my webpages" +msgstr "Pueden editarse mis páginas web" + +#: ../../include/permissions.php:44 +msgid "Can source my public posts in derived channels" +msgstr "Pueden utilizarse mis publicaciones públicas como origen de contenidos en canales derivados" + +#: ../../include/permissions.php:44 +msgid "Somewhat advanced - very useful in open communities" +msgstr "Algo avanzado - muy útil en comunidades abiertas" + +#: ../../include/permissions.php:46 +msgid "Can administer my channel resources" +msgstr "Pueden administrarse mis recursos del canal" + +#: ../../include/permissions.php:46 +msgid "" +"Extremely advanced. Leave this alone unless you know what you are doing" +msgstr "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo." + +#: ../../include/permissions.php:867 +msgid "Social Networking" +msgstr "Redes sociales" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Mostly Public" +msgstr "Público en su mayor parte" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Restricted" +msgstr "Restringido" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +msgid "Private" +msgstr "Privado" + +#: ../../include/permissions.php:868 +msgid "Community Forum" +msgstr "Foro de discusión" + +#: ../../include/permissions.php:869 +msgid "Feed Republish" +msgstr "Republicar un \"feed\"" + +#: ../../include/permissions.php:870 +msgid "Special Purpose" +msgstr "Propósito especial" + +#: ../../include/permissions.php:870 +msgid "Celebrity/Soapbox" +msgstr "Página para fans" + +#: ../../include/permissions.php:870 +msgid "Group Repository" +msgstr "Repositorio de grupo" + +#: ../../include/permissions.php:871 +msgid "Custom/Expert Mode" +msgstr "Modo personalizado/experto" + +#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 +#: ../../mod/photos.php:699 ../../mod/profile_photo.php:147 +#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:379 +msgid "Profile Photos" +msgstr "Fotos del perfil" + +#: ../../mod/filestorage.php:82 +msgid "Permission Denied." +msgstr "Permiso denegado" + +#: ../../mod/filestorage.php:98 +msgid "File not found." +msgstr "Fichero no encontrado." + +#: ../../mod/filestorage.php:141 +msgid "Edit file permissions" +msgstr "Modificar los permisos del fichero" + +#: ../../mod/filestorage.php:150 +msgid "Set/edit permissions" +msgstr "Establecer/editar los permisos" + +#: ../../mod/filestorage.php:151 +msgid "Include all files and sub folders" +msgstr "Incluir todos los ficheros y subcarpetas" + +#: ../../mod/filestorage.php:152 +msgid "Return to file list" +msgstr "Volver a la lista de ficheros" + +#: ../../mod/filestorage.php:154 +msgid "Copy/paste this code to attach file to a post" +msgstr "Copiar/pegar este código para adjuntar el fichero al envío" + +#: ../../mod/filestorage.php:155 +msgid "Copy/paste this URL to link file from a web page" +msgstr "Copiar/pegar esta dirección para enlazar el fichero desde una página web" + +#: ../../mod/filestorage.php:157 +msgid "Share this file" +msgstr "Compartir este fichero" + +#: ../../mod/filestorage.php:158 +msgid "Show URL to this file" +msgstr "Mostrar la dirección de este fichero" + +#: ../../mod/filestorage.php:159 +msgid "Notify your contacts about this file" +msgstr "Avisar a sus contactos sobre este fichero" + +#: ../../mod/group.php:20 +msgid "Collection created." +msgstr "La colección ha sido creada." + +#: ../../mod/group.php:26 +msgid "Could not create collection." +msgstr "No se puede crear la colección." + +#: ../../mod/group.php:54 +msgid "Collection updated." +msgstr "La colección ha sido actualizada." + +#: ../../mod/group.php:86 +msgid "Create a collection of channels." +msgstr "Crear una colección de canales." + +#: ../../mod/group.php:87 ../../mod/group.php:180 +msgid "Collection Name: " +msgstr "Nombre de la colección:" + +#: ../../mod/group.php:89 ../../mod/group.php:183 +msgid "Members are visible to other channels" +msgstr "Los miembros son visibles para otros canales" + +#: ../../mod/group.php:107 +msgid "Collection removed." +msgstr "La colección ha sido eliminada." + +#: ../../mod/group.php:109 +msgid "Unable to remove collection." +msgstr "No ha sido posible de eliminar la colección." + +#: ../../mod/group.php:179 +msgid "Collection Editor" +msgstr "Editor de colecciones" + +#: ../../mod/group.php:193 +msgid "Members" +msgstr "Miembros" + +#: ../../mod/group.php:195 +msgid "All Connected Channels" +msgstr "Todos los canales conectados" + +#: ../../mod/group.php:227 +msgid "Click on a channel to add or remove." +msgstr "Haga clic en un canal para agregarlo o quitarlo." + +#: ../../mod/item.php:173 +msgid "Unable to locate original post." +msgstr "No ha sido posible encontrar la entrada original." + +#: ../../mod/item.php:417 +msgid "Empty post discarded." +msgstr "La entrada vacía ha sido desechada." + +#: ../../mod/item.php:457 +msgid "Executable content type not permitted to this channel." +msgstr "Contenido de tipo ejecutable no permitido en este canal." + +#: ../../mod/item.php:822 +msgid "Duplicate post suppressed." +msgstr "Se ha suprimido la entrada duplicada." + +#: ../../mod/item.php:953 +msgid "System error. Post not saved." +msgstr "Error del sistema. La entrada no se ha podido salvar." + +#: ../../mod/item.php:1220 +msgid "Unable to obtain post information from database." +msgstr "No ha sido posible obtener información de la entrada en la base de datos." + +#: ../../mod/item.php:1227 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "Ha alcanzado su límite de %1$.0f entradas en la página principal." + +#: ../../mod/item.php:1234 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." +msgstr "Ha alcanzado su límite de %1$.0f páginas web." + +#: ../../mod/common.php:10 +msgid "No channel." +msgstr "Ningún canal." + +#: ../../mod/common.php:39 +msgid "Common connections" +msgstr "Conexiones comunes" + +#: ../../mod/common.php:44 +msgid "No connections in common." +msgstr "Ninguna conexión en común." + +#: ../../mod/connect.php:56 ../../mod/connect.php:104 +msgid "Continue" +msgstr "Continuar" + +#: ../../mod/connect.php:85 +msgid "Premium Channel Setup" +msgstr "Configuración del canal premium" + +#: ../../mod/connect.php:87 +msgid "Enable premium channel connection restrictions" +msgstr "Habilitar restricciones de conexión del canal premium" + +#: ../../mod/connect.php:88 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." +msgstr "Por favor introduzca sus restricciones o condiciones, como recibo de paypal, normas de uso, etc." + +#: ../../mod/connect.php:90 ../../mod/connect.php:110 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" +msgstr "Este canal puede requerir antes de conectar unos pasos adicionales o el conocimiento de las siguientes condiciones:" + +#: ../../mod/connect.php:91 +msgid "" +"Potential connections will then see the following text before proceeding:" +msgstr "Las posibles conexiones verán, por tanto, el siguiente texto antes de proceder:" + +#: ../../mod/connect.php:92 ../../mod/connect.php:113 +msgid "" +"By continuing, I certify that I have complied with any instructions provided" +" on this page." +msgstr "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página." + +#: ../../mod/connect.php:101 +msgid "(No specific instructions have been provided by the channel owner.)" +msgstr "(No ha sido proporcionada ninguna instrucción específica por el propietario del canal.)" + +#: ../../mod/connect.php:109 +msgid "Restricted or Premium Channel" +msgstr "Canal premium o restringido" + +#: ../../mod/match.php:22 +msgid "Profile Match" +msgstr "Perfil compatible" + +#: ../../mod/match.php:31 +msgid "No keywords to match. Please add keywords to your default profile." +msgstr "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal." + +#: ../../mod/match.php:63 +msgid "is interested in:" +msgstr "está interesado en:" + +#: ../../mod/match.php:70 +msgid "No matches" +msgstr "No se han encontrado perfiles compatibles" #: ../../mod/openid.php:26 msgid "OpenID protocol error. No ID returned." @@ -4335,18 +4432,92 @@ msgstr "Error del protocolo OpenID. Ningún ID recibido como respuesta." msgid "Welcome %s. Remote authentication successful." msgstr "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente." -#: ../../mod/block.php:27 ../../mod/page.php:36 -msgid "Invalid item." -msgstr "Elemento no válido." +#: ../../mod/achievements.php:34 +msgid "Some blurb about what to do when you're new here" +msgstr "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí" -#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29 -msgid "Channel not found." -msgstr "Canal no encontrado." +#: ../../mod/chatsvc.php:111 +msgid "Away" +msgstr "Ausente" -#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:214 -#: ../../mod/page.php:89 ../../index.php:237 -msgid "Page not found." -msgstr "Página no encontrada." +#: ../../mod/chatsvc.php:115 +msgid "Online" +msgstr "Conectado/a" + +#: ../../mod/pubsites.php:18 +msgid "Public Sites" +msgstr "Sitios públicos" + +#: ../../mod/pubsites.php:21 +msgid "" +"The listed sites allow public registration for the $Projectname network. All" +" sites in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some sites may require subscription or" +" provide tiered service plans. The provider links <strong>may</strong> " +"provide additional details." +msgstr "Los sitios listados permiten el registro público en la red $Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los enlaces de los proveedores <strong> pueden </strong> proporcionar detalles adicionales." + +#: ../../mod/pubsites.php:27 +msgid "Rate this hub" +msgstr "Valorar este sitio" + +#: ../../mod/pubsites.php:28 +msgid "Site URL" +msgstr "Dirección del sitio" + +#: ../../mod/pubsites.php:28 +msgid "Access Type" +msgstr "Tipo de acceso" + +#: ../../mod/pubsites.php:28 +msgid "Registration Policy" +msgstr "Normas de registro" + +#: ../../mod/pubsites.php:28 +msgid "Project" +msgstr "Proyecto" + +#: ../../mod/pubsites.php:28 +msgid "View hub ratings" +msgstr "Ver las valoraciones del sitio" + +#: ../../mod/pubsites.php:32 +msgid "Rate" +msgstr "Valorar" + +#: ../../mod/pubsites.php:33 +msgid "View ratings" +msgstr "Ver valoraciones" + +#: ../../mod/tagger.php:96 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" +msgstr "%1$s ha etiquetado la %3$s de %2$s con %4$s" + +#: ../../mod/rate.php:158 +msgid "Website:" +msgstr "Sitio web:" + +#: ../../mod/rate.php:161 +#, php-format +msgid "Remote Channel [%s] (not yet known on this site)" +msgstr "Canal remoto [%s] (aún no es conocido en este sitio)" + +#: ../../mod/rate.php:162 +msgid "Rating (this information is public)" +msgstr "Valoración (esta información es pública)" + +#: ../../mod/rate.php:163 +msgid "Optionally explain your rating (this information is public)" +msgstr "Opcionalmente puede explicar su valoración (esta información es pública)" + +#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 +msgid "Block Name" +msgstr "Nombre del bloque" + +#: ../../mod/blocks.php:149 +msgid "Block Title" +msgstr "Título del bloque" #: ../../mod/id.php:11 msgid "First Name" @@ -4412,7 +4583,7 @@ msgstr "Día de nacimiento" msgid "Birthdate" msgstr "Fecha de nacimiento" -#: ../../mod/id.php:33 ../../mod/profiles.php:431 +#: ../../mod/id.php:33 ../../mod/profiles.php:441 msgid "Gender" msgstr "Género" @@ -4484,116 +4655,28 @@ msgstr "Acción completada." msgid "Thank you." msgstr "Gracias." -#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 -msgid "Export Channel" -msgstr "Exportar el canal" - -#: ../../mod/uexport.php:53 -msgid "" -"Export your basic channel information to a file. This acts as a backup of " -"your connections, permissions, profile and basic data, which can be used to " -"import your data to a new server hub, but does not contain your content." -msgstr "Exportar la información básica del canal a un fichero. Este equivale a una copia de seguridad de sus conexiones, el perfil y datos fundamentales, que puede usarse para importar sus datos a un nuevo servidor, pero no incluye su contenido." - -#: ../../mod/uexport.php:54 -msgid "Export Content" -msgstr "Exportar contenidos" - -#: ../../mod/uexport.php:55 -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 "Exportar la información sobre su canal y el contenido reciente a un fichero de respaldo JSON, que puede ser restaurado o importado a otro servidor. Este fichero incluye todas sus conexiones, permisos, datos del perfil y publicaciones de varios meses. Puede llegar a ser MUY grande. Por favor, sea paciente, la descarga puede tardar varios minutos en comenzar." - -#: ../../mod/uexport.php:56 -msgid "Export your posts from a given year." -msgstr "Exporta sus entradas de un año dado." - -#: ../../mod/uexport.php:58 -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 "También puede exportar sus mensajes y conversaciones durante un año o mes en particular. Ajuste la fecha en la barra de direcciones del navegador para seleccionar otras fechas. Si la exportación falla (posiblemente debido al agotamiento de la memoria del servidor hub), por favor, intente de nuevo la selección de un rango de fechas más pequeño." +#: ../../mod/page.php:36 ../../mod/block.php:27 +msgid "Invalid item." +msgstr "Elemento no válido." -#: ../../mod/uexport.php:59 -#, php-format -msgid "" -"To select all posts for a given year, such as this year, visit <a " -"href=\"%1$s\">%2$s</a>" -msgstr "Para seleccionar todos los mensajes de un año determinado, como este año, visite <a href=\"%1$s\">%2$s</a>" +#: ../../mod/page.php:52 ../../mod/wall_upload.php:29 ../../mod/block.php:39 +msgid "Channel not found." +msgstr "Canal no encontrado." -#: ../../mod/uexport.php:60 -#, php-format -msgid "" -"To select all posts for a given month, such as January of this year, visit " -"<a href=\"%1$s\">%2$s</a>" -msgstr "Para seleccionar todos los mensajes de un mes determinado, como el de enero de este año, visite <a href=\"%1$s\">%2$s</a>" +#: ../../mod/page.php:89 ../../mod/display.php:110 ../../mod/help.php:214 +#: ../../mod/block.php:75 ../../index.php:241 +msgid "Page not found." +msgstr "Página no encontrada." -#: ../../mod/uexport.php:61 -#, php-format +#: ../../mod/page.php:126 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 "Estos ficheros pueden ser importados o restaurados visitando <a href=\"%1$s\">%2$s</a> o cualquier sitio que contenga su canal. Para obtener los mejores resultados, por favor, importar o restaurar estos ficheros en orden de fecha (la más antigua primero)." - -#: ../../mod/chatsvc.php:111 -msgid "Away" -msgstr "Ausente" - -#: ../../mod/chatsvc.php:115 -msgid "Online" -msgstr "Conectado/a" - -#: ../../mod/tagger.php:96 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" -msgstr "%1$s ha etiquetado la %3$s de %2$s con %4$s" - -#: ../../mod/common.php:10 -msgid "No channel." -msgstr "Ningún canal." - -#: ../../mod/common.php:39 -msgid "Common connections" -msgstr "Conexiones comunes" - -#: ../../mod/common.php:44 -msgid "No connections in common." -msgstr "Ninguna conexión en común." - -#: ../../mod/ping.php:260 -msgid "sent you a private message" -msgstr "le ha enviado un mensaje privado" - -#: ../../mod/ping.php:308 -msgid "added your channel" -msgstr "añadió este canal a sus conexiones" - -#: ../../mod/ping.php:350 -msgid "posted an event" -msgstr "publicó un evento" - -#: ../../mod/help.php:147 -msgid "Documentation Search" -msgstr "Búsqueda de Documentación" - -#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 -msgid "Help:" -msgstr "Ayuda:" - -#: ../../mod/help.php:211 ../../index.php:234 -msgid "Not Found" -msgstr "No encontrado" - -#: ../../mod/help.php:235 -msgid "$Projectname Documentation" -msgstr "Documentación de $Projectname" +"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." #: ../../mod/removeme.php:29 msgid "" @@ -4631,137 +4714,820 @@ msgid "" "removed from the network" msgstr "Por defecto, solo la instancia del canal alojado en este servidor será eliminado de la red" -#: ../../mod/removeme.php:61 ../../mod/settings.php:1110 +#: ../../mod/removeme.php:61 ../../mod/settings.php:1112 msgid "Remove Channel" msgstr "Eliminar el canal" -#: ../../mod/filer.php:48 -msgid "- select -" -msgstr "- seleccionar -" +#: ../../mod/mood.php:132 +msgid "Set your current mood and tell your friends" +msgstr "Describir su estado de ánimo para comunicárselo a sus amigos" -#: ../../mod/mitem.php:24 ../../mod/menu.php:140 -msgid "Menu not found." -msgstr "Menú no encontrado" +#: ../../mod/new_channel.php:109 +msgid "Add a Channel" +msgstr "Añadir un canal" -#: ../../mod/mitem.php:48 -msgid "Unable to create element." -msgstr "Imposible crear el elemento." +#: ../../mod/new_channel.php:110 +msgid "" +"A channel is your own collection of related web pages. A channel can be used" +" to hold social network profiles, blogs, conversation groups and forums, " +"celebrity pages, and much more. You may create as many channels as your " +"service provider allows." +msgstr "Un canal está formado por su propia colección de páginas web relacionadas. Se puede utilizar para almacenar los perfiles sociales de la red, blogs, grupos de conversación y foros, páginas de famosos y mucho más. Puede crear tantos canales como su proveedor de servicio permita." -#: ../../mod/mitem.php:72 -msgid "Unable to update menu element." -msgstr "No es posible actualizar el elemento del menú." +#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 +#: ../../mod/sources.php:137 +msgid "Channel Name" +msgstr "Nombre del canal" -#: ../../mod/mitem.php:88 -msgid "Unable to add menu element." -msgstr "No es posible añadir el elemento al menú" +#: ../../mod/new_channel.php:113 +msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " +msgstr "Ejemplos: \"Juan García\", \"Isabel y sus caballos\", \"Fútbol\", \"Grupo de parapente\" " -#: ../../mod/mitem.php:116 ../../mod/menu.php:162 ../../mod/xchan.php:37 -msgid "Not found." -msgstr "No encontrado." +#: ../../mod/new_channel.php:114 +msgid "Choose a short nickname" +msgstr "Elija un alias corto" -#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 -msgid "Menu Item Permissions" -msgstr "Permisos del elemento del menú" +#: ../../mod/new_channel.php:115 +msgid "" +"Your nickname will be used to create an easily remembered channel address " +"(like an email address) which you can share with others." +msgstr "Su alias podrá usarse para crear una dirección de canal fácilmente memorizable (como una dirección de correo electrónico) que puede ser compartido con otros." -#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1054 -msgid "(click to open/close)" -msgstr "(pulsar para abrir o cerrar)" +#: ../../mod/new_channel.php:116 +msgid "Or <a href=\"import\">import an existing channel</a> from another location" +msgstr "O <a href=\"import\">importar un canal existente</a> de otro lugar" -#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 -msgid "Link Name" -msgstr "Nombre del enlace" +#: ../../mod/new_channel.php:118 +msgid "" +"Please choose a channel type (such as social networking or community forum) " +"and privacy requirements so we can select the best permissions for you" +msgstr "Elija el tipo de canal (como red social o foro de discusión) y la privacidad que requiera, así podremos seleccionar el mejor conjunto de permisos para usted" -#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 -msgid "Link or Submenu Target" -msgstr "Destino del enlace o submenú" +#: ../../mod/new_channel.php:119 +msgid "Channel Type" +msgstr "Tipo de canal" -#: ../../mod/mitem.php:153 -msgid "Enter URL of the link or select a menu name to create a submenu" -msgstr "Introducir la dirección del enlace o seleccionar el nombre de un submenú" +#: ../../mod/new_channel.php:119 +msgid "Read more about roles" +msgstr "Leer más sobre los roles" -#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 -msgid "Use magic-auth if available" -msgstr "Usar la autenticación mágica si está disponible" +#: ../../mod/ratings.php:69 +msgid "No ratings" +msgstr "Ninguna valoración" -#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 -msgid "Open link in new window" -msgstr "Abrir el enlace en una nueva ventana" +#: ../../mod/ratings.php:82 ../../mod/search.php:13 ../../mod/directory.php:59 +#: ../../mod/photos.php:490 ../../mod/display.php:13 +#: ../../mod/viewconnections.php:17 +msgid "Public access denied." +msgstr "Acceso público denegado." -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Order in list" -msgstr "Orden en la lista" +#: ../../mod/ratings.php:99 +msgid "Ratings" +msgstr "Valoraciones" -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Higher numbers will sink to bottom of listing" -msgstr "Los números más altos irán al final de la lista" +#: ../../mod/ratings.php:100 +msgid "Rating: " +msgstr "Valoración:" -#: ../../mod/mitem.php:157 -msgid "Submit and finish" -msgstr "Enviar y terminar" +#: ../../mod/ratings.php:101 +msgid "Website: " +msgstr "Sitio web:" -#: ../../mod/mitem.php:158 -msgid "Submit and continue" -msgstr "Enviar y continuar" +#: ../../mod/ratings.php:103 +msgid "Description: " +msgstr "Descripción:" -#: ../../mod/mitem.php:166 -msgid "Menu:" -msgstr "Menú:" +#: ../../mod/setup.php:191 +msgid "$Projectname Server - Setup" +msgstr "Servidor $Projectname - Instalación" -#: ../../mod/mitem.php:169 -msgid "Link Target" -msgstr "Destino del enlace" +#: ../../mod/setup.php:195 +msgid "Could not connect to database." +msgstr "No se ha podido conectar a la base de datos." -#: ../../mod/mitem.php:172 -msgid "Edit menu" -msgstr "Editar menú" +#: ../../mod/setup.php:199 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." +msgstr "No se puede conectar con la dirección del sitio indicada. Podría tratarse de un problema de SSL o DNS." -#: ../../mod/mitem.php:175 -msgid "Edit element" -msgstr "Editar el elemento" +#: ../../mod/setup.php:206 +msgid "Could not create table." +msgstr "No se puede crear la tabla." -#: ../../mod/mitem.php:176 -msgid "Drop element" -msgstr "Eliminar el elemento" +#: ../../mod/setup.php:211 +msgid "Your site database has been installed." +msgstr "La base de datos del sitio ha sido instalada." -#: ../../mod/mitem.php:177 -msgid "New element" -msgstr "Nuevo elemento" +#: ../../mod/setup.php:215 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." +msgstr "Podría tener que importar manualmente el fichero \"install/schema_xxx.sql\" usando un cliente de base de datos." -#: ../../mod/mitem.php:178 -msgid "Edit this menu container" -msgstr "Modificar el contenedor del menú" +#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 +msgid "Please see the file \"install/INSTALL.txt\"." +msgstr "Por favor, lea el fichero \"install/INSTALL.txt\"." -#: ../../mod/mitem.php:179 -msgid "Add menu element" -msgstr "Añadir un elemento al menú" +#: ../../mod/setup.php:281 +msgid "System check" +msgstr "Verificación del sistema" -#: ../../mod/mitem.php:180 -msgid "Delete this menu item" -msgstr "Eliminar este elemento del menú" +#: ../../mod/setup.php:285 ../../mod/photos.php:914 ../../mod/events.php:653 +#: ../../mod/events.php:660 +msgid "Next" +msgstr "Siguiente" -#: ../../mod/mitem.php:181 -msgid "Edit this menu item" -msgstr "Modificar este elemento del menú" +#: ../../mod/setup.php:286 +msgid "Check again" +msgstr "Verificar de nuevo" -#: ../../mod/mitem.php:198 -msgid "Menu item not found." -msgstr "Este elemento del menú no se ha encontrado" +#: ../../mod/setup.php:308 +msgid "Database connection" +msgstr "Conexión a la base de datos" -#: ../../mod/mitem.php:211 -msgid "Menu item deleted." -msgstr "Este elemento del menú ha sido borrado" +#: ../../mod/setup.php:309 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." +msgstr "Para instalar $Projectname es necesario saber cómo conectar con su base de datos." -#: ../../mod/mitem.php:213 -msgid "Menu item could not be deleted." -msgstr "Este elemento del menú no puede ser borrado." +#: ../../mod/setup.php:310 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." +msgstr "Por favor, contacte con el proveedor de servicios o el administrador del sitio si tiene dudas sobre estos ajustes." -#: ../../mod/mitem.php:220 -msgid "Edit Menu Element" -msgstr "Editar elemento del menú" +#: ../../mod/setup.php:311 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." +msgstr "La base de datos que especifique a continuación debe existir ya. Si no es así, por favor, créela antes de seguir." -#: ../../mod/mitem.php:226 -msgid "Link text" -msgstr "Texto del enlace" +#: ../../mod/setup.php:315 +msgid "Database Server Name" +msgstr "Nombre del servidor de base de datos" + +#: ../../mod/setup.php:315 +msgid "Default is 127.0.0.1" +msgstr "De forma predeterminada es 127.0.0.1" + +#: ../../mod/setup.php:316 +msgid "Database Port" +msgstr "Puerto de la base de datos" + +#: ../../mod/setup.php:316 +msgid "Communication port number - use 0 for default" +msgstr "Número del puerto de comunicaciones - use 0 como valor por defecto" + +#: ../../mod/setup.php:317 +msgid "Database Login Name" +msgstr "Usuario de la base de datos" + +#: ../../mod/setup.php:318 +msgid "Database Login Password" +msgstr "Contraseña de acceso a la base de datos" + +#: ../../mod/setup.php:319 +msgid "Database Name" +msgstr "Nombre de la base de datos" + +#: ../../mod/setup.php:320 +msgid "Database Type" +msgstr "Tipo de base de datos" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "Site administrator email address" +msgstr "Dirección de correo electrónico del administrador del sitio" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "Su cuenta deberá usar la misma dirección de correo electrónico para poder utilizar el panel de administración web." + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Website URL" +msgstr "Dirección del sitio web" + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Please use SSL (https) URL if available." +msgstr "Por favor, use SSL (https) si está disponible." + +#: ../../mod/setup.php:325 ../../mod/setup.php:367 +msgid "Please select a default timezone for your website" +msgstr "Por favor, selecciones la zona horaria por defecto de su sitio web" + +#: ../../mod/setup.php:352 +msgid "Site settings" +msgstr "Ajustes del sitio" + +#: ../../mod/setup.php:417 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "No se puede encontrar una versión en línea de comandos de PHP en la ruta del servidor web." + +#: ../../mod/setup.php:418 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron." +msgstr "Si no tiene instalada la versión de línea de comandos de PHP en su servidor, no podrá ejecutar sondeos en segundo plano mediante cron." + +#: ../../mod/setup.php:422 +msgid "PHP executable path" +msgstr "Ruta del ejecutable PHP" + +#: ../../mod/setup.php:422 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "Introducir la ruta completa del ejecutable PHP. Puede dejar la línea en blanco para continuar la instalación." + +#: ../../mod/setup.php:427 +msgid "Command line PHP" +msgstr "PHP en línea de comandos" + +#: ../../mod/setup.php:436 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "La línea de comandos PHP de su sistema no tiene activado \"register_argc_argv\"." + +#: ../../mod/setup.php:437 +msgid "This is required for message delivery to work." +msgstr "Esto es necesario para que funcione la transmisión de mensajes." + +#: ../../mod/setup.php:440 +msgid "PHP register_argc_argv" +msgstr "PHP register_argc_argv" + +#: ../../mod/setup.php:458 +#, php-format +msgid "" +"Your max allowed total upload size is set to %s. Maximum size of one file to" +" upload is set to %s. You are allowed to upload up to %d files at once." +msgstr "La carga máxima que se le permite subir está establecida en %s. El tamaño máximo de un fichero está establecido en %s. Está permitido subir hasta un máximo de %d ficheros de una sola vez." + +#: ../../mod/setup.php:463 +msgid "You can adjust these settings in the servers php.ini." +msgstr "Puede ajustar estos valores en el fichero php.ini de su servidor." + +#: ../../mod/setup.php:465 +msgid "PHP upload limits" +msgstr "Límites PHP de subida" + +#: ../../mod/setup.php:488 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "Error: La función \"openssl_pkey_new\" en este sistema no es capaz de general claves de cifrado." + +#: ../../mod/setup.php:489 +msgid "" +"If running under Windows, please see " +"\"http://www.php.net/manual/en/openssl.installation.php\"." +msgstr "Si está en un servidor Windows, por favor, lea \"http://www.php.net/manual/en/openssl.installation.php\"." + +#: ../../mod/setup.php:492 +msgid "Generate encryption keys" +msgstr "Generar claves de cifrado" + +#: ../../mod/setup.php:504 +msgid "libCurl PHP module" +msgstr "módulo libCurl PHP" + +#: ../../mod/setup.php:505 +msgid "GD graphics PHP module" +msgstr "módulo PHP GD graphics" + +#: ../../mod/setup.php:506 +msgid "OpenSSL PHP module" +msgstr "módulo PHP OpenSSL" + +#: ../../mod/setup.php:507 +msgid "mysqli or postgres PHP module" +msgstr "módulo PHP mysqli o postgres" + +#: ../../mod/setup.php:508 +msgid "mb_string PHP module" +msgstr "módulo PHP mb_string" + +#: ../../mod/setup.php:509 +msgid "mcrypt PHP module" +msgstr "módulo PHP mcrypt " + +#: ../../mod/setup.php:510 +msgid "xml PHP module" +msgstr "módulo PHP xml" + +#: ../../mod/setup.php:514 ../../mod/setup.php:516 +msgid "Apache mod_rewrite module" +msgstr "módulo Apache mod_rewrite " + +#: ../../mod/setup.php:514 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "Error: se necesita el módulo del servidor web Apache mod-rewrite pero no está instalado." + +#: ../../mod/setup.php:520 ../../mod/setup.php:523 +msgid "proc_open" +msgstr "proc_open" + +#: ../../mod/setup.php:520 +msgid "" +"Error: proc_open is required but is either not installed or has been " +"disabled in php.ini" +msgstr "Error: se necesita proc_open pero o no está instalado o ha sido desactivado en el fichero php.ini" + +#: ../../mod/setup.php:528 +msgid "Error: libCURL PHP module required but not installed." +msgstr "Error: se necesita el módulo PHP libCURL pero no está instalado." + +#: ../../mod/setup.php:532 +msgid "" +"Error: GD graphics PHP module with JPEG support required but not installed." +msgstr "Error: el módulo PHP GD graphics es necesario, pero no está instalado." + +#: ../../mod/setup.php:536 +msgid "Error: openssl PHP module required but not installed." +msgstr "Error: el módulo PHP openssl es necesario, pero no está instalado." + +#: ../../mod/setup.php:540 +msgid "" +"Error: mysqli or postgres PHP module required but neither are installed." +msgstr "Error: el módulo PHP mysqli o postgres es necesario pero ninguno de los dos está instalado." + +#: ../../mod/setup.php:544 +msgid "Error: mb_string PHP module required but not installed." +msgstr "Error: el módulo PHP mb_string es necesario, pero no está instalado." + +#: ../../mod/setup.php:548 +msgid "Error: mcrypt PHP module required but not installed." +msgstr "Error: el módulo PHP mcrypt es necesario, pero no está instalado." + +#: ../../mod/setup.php:552 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "Error: el módulo PHP xml es necesario para DAV, pero no está instalado." + +#: ../../mod/setup.php:570 +msgid "" +"The web installer needs to be able to create a file called \".htconfig.php\"" +" in the top folder of your web server and it is unable to do so." +msgstr "El instalador web no ha podido crear un fichero llamado “.htconfig.php” en la carpeta base de su servidor." + +#: ../../mod/setup.php:571 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." +msgstr "Esto está generalmente ligado a un problema de permisos, a causa del cual el servidor web tiene prohibido modificar ficheros en su carpeta - incluso si usted mismo tiene esos permisos." + +#: ../../mod/setup.php:572 +msgid "" +"At the end of this procedure, we will give you a text to save in a file " +"named .htconfig.php in your Red top folder." +msgstr "Al término de este procedimiento, podemos crear un fichero de texto para guardar con el nombre .htconfig.php en el directorio raíz de su instalación de Hubzilla." + +#: ../../mod/setup.php:573 +msgid "" +"You can alternatively skip this procedure and perform a manual installation." +" Please see the file \"install/INSTALL.txt\" for instructions." +msgstr "Como alternativa, puede dejar este procedimiento e intentar realizar una instalación manual. Lea, por favor, el fichero\"install/INSTALL.txt\" para las instrucciones." + +#: ../../mod/setup.php:576 +msgid ".htconfig.php is writable" +msgstr ".htconfig.php tiene permisos de escritura" + +#: ../../mod/setup.php:590 +msgid "" +"Red uses the Smarty3 template engine to render its web views. Smarty3 " +"compiles templates to PHP to speed up rendering." +msgstr "Hubzilla hace uso del motor de plantillas Smarty3 para diseñar sus plantillas gráficas. Smarty3 es más rápido porque compila las plantillas de páginas directamente en PHP." + +#: ../../mod/setup.php:591 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the Red top level folder." +msgstr "Para poder guardar las plantillas compiladas, el servidor web necesita permisos para acceder al subdirectorio %s en el directorio de instalación de Hubzilla." + +#: ../../mod/setup.php:592 ../../mod/setup.php:613 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has" +" write access to this folder." +msgstr "Por favor, asegúrese de que el servidor web está siendo ejecutado por un usuario que tenga permisos de escritura sobre esta carpeta (por ejemplo, www-data)." + +#: ../../mod/setup.php:593 +#, php-format +msgid "" +"Note: as a security measure, you should give the web server write access to " +"%s only--not the template files (.tpl) that it contains." +msgstr "Nota: como medida de seguridad, debe dar al servidor web permisos de escritura solo sobre %s - no sobre el fichero de plantilla (.tpl) que contiene." + +#: ../../mod/setup.php:596 +#, php-format +msgid "%s is writable" +msgstr "%s tiene permisos de escritura" + +#: ../../mod/setup.php:612 +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 "Red guarda los ficheros descargados en la carpeta \"store\". El servidor web necesita tener permisos de escritura sobre esa carpeta, en el directorio de instalación." + +#: ../../mod/setup.php:616 +msgid "store is writable" +msgstr "\"store\" tiene permisos de escritura" + +#: ../../mod/setup.php:649 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access" +" to this site." +msgstr "El certificado SSL no ha podido ser validado. Corrija este problema o desactive el acceso https a este sitio." + +#: ../../mod/setup.php:650 +msgid "" +"If you have https access to your website or allow connections to TCP port " +"443 (the https: port), you MUST use a browser-valid certificate. You MUST " +"NOT use self-signed certificates!" +msgstr "Si su servidor soporta conexiones cifradas SSL o si permite conexiones al puerto TCP 443 (el puerto usado por el protocolo https), debe utilizar un certificado válido. No debe usar un certificado firmado por usted mismo." + +#: ../../mod/setup.php:651 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "Se ha incorporado esta restricción para evitar que sus publicaciones públicas hagan referencia a imágenes en su propio servidor." + +#: ../../mod/setup.php:652 +msgid "" +"If your certificate is not recognized, members of other sites (who may " +"themselves have valid certificates) will get a warning message on their own " +"site complaining about security issues." +msgstr "Si su certificado no ha sido reconocido, los miembros de otros sitios (con certificados válidos) recibirán mensajes de aviso en sus propios sitios web." + +#: ../../mod/setup.php:653 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "Por razones de compatibilidad (sobre el conjunto de la red, no solo sobre su propio sitio), debemos insistir en estos requisitos." + +#: ../../mod/setup.php:654 +msgid "" +"Providers are available that issue free certificates which are browser-" +"valid." +msgstr "Existen varias Autoridades de Certificación que le pueden proporcionar certificados válidos." + +#: ../../mod/setup.php:656 +msgid "SSL certificate validation" +msgstr "validación del certificado SSL" + +#: ../../mod/setup.php:662 +msgid "" +"Url rewrite in .htaccess is not working. Check your server " +"configuration.Test: " +msgstr "No se pueden reescribir las direcciones web en .htaccess. Compruebe la configuración de su servidor:" + +#: ../../mod/setup.php:665 +msgid "Url rewrite is working" +msgstr "La reescritura de las direcciones funciona correctamente" + +#: ../../mod/setup.php:674 +msgid "" +"The database configuration file \".htconfig.php\" could not be written. " +"Please use the enclosed text to create a configuration file in your web " +"server root." +msgstr "El fichero de configuración de la base de datos .htconfig.php no se ha podido modificar. Por favor, copie el texto generado en un fichero con ese nombre en el directorio raíz de su servidor." + +#: ../../mod/setup.php:698 +msgid "Errors encountered creating database tables." +msgstr "Se han encontrado errores al crear las tablas de la base de datos." + +#: ../../mod/setup.php:732 +msgid "<h1>What next</h1>" +msgstr "<h1>Siguiente paso</h1>" + +#: ../../mod/setup.php:733 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the " +"poller." +msgstr "IMPORTANTE: Debe crear [manualmente] una tarea programada para el \"poller\"." + +#: ../../mod/bookmarks.php:40 +msgid "Bookmark added" +msgstr "Marcador añadido" + +#: ../../mod/bookmarks.php:62 +msgid "My Bookmarks" +msgstr "Mis marcadores" + +#: ../../mod/bookmarks.php:73 +msgid "My Connections Bookmarks" +msgstr "Marcadores de mis conexiones" + +#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:61 +msgid "$Projectname" +msgstr "$Projectname" + +#: ../../mod/home.php:75 +#, php-format +msgid "Welcome to %s" +msgstr "Bienvenido a %s" + +#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 +msgid "This setting requires special processing and editing has been blocked." +msgstr "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada." + +#: ../../mod/pconfig.php:49 +msgid "Configuration Editor" +msgstr "Editor de configuración" + +#: ../../mod/pconfig.php:50 +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 "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica." + +#: ../../mod/poke.php:164 +msgid "Poke/Prod" +msgstr "Toque/Incitación" + +#: ../../mod/poke.php:165 +msgid "poke, prod or do other things to somebody" +msgstr "dar un toque, incitar u otras cosas a alguien" + +#: ../../mod/poke.php:166 +msgid "Recipient" +msgstr "Destinatario" + +#: ../../mod/poke.php:167 +msgid "Choose what you wish to do to recipient" +msgstr "Elegir qué desea enviar al destinatario" + +#: ../../mod/poke.php:170 +msgid "Make this post private" +msgstr "Convertir en privado este envío" + +#: ../../mod/profiles.php:19 ../../mod/profiles.php:184 +#: ../../mod/profiles.php:241 ../../mod/profiles.php:608 +msgid "Profile not found." +msgstr "Perfil no encontrado." + +#: ../../mod/profiles.php:39 +msgid "Profile deleted." +msgstr "Perfil eliminado." + +#: ../../mod/profiles.php:63 ../../mod/profiles.php:99 +msgid "Profile-" +msgstr "Perfil-" + +#: ../../mod/profiles.php:84 ../../mod/profiles.php:127 +msgid "New profile created." +msgstr "El nuevo perfil ha sido creado." + +#: ../../mod/profiles.php:105 +msgid "Profile unavailable to clone." +msgstr "Perfil no disponible para clonar." + +#: ../../mod/profiles.php:146 +msgid "Profile unavailable to export." +msgstr "Perfil no disponible para exportar." + +#: ../../mod/profiles.php:251 +msgid "Profile Name is required." +msgstr "Se necesita el nombre del perfil." + +#: ../../mod/profiles.php:414 +msgid "Marital Status" +msgstr "Estado civil" + +#: ../../mod/profiles.php:418 +msgid "Romantic Partner" +msgstr "Pareja sentimental" + +#: ../../mod/profiles.php:422 +msgid "Likes" +msgstr "Me gusta" + +#: ../../mod/profiles.php:426 +msgid "Dislikes" +msgstr "No me gusta" + +#: ../../mod/profiles.php:430 +msgid "Work/Employment" +msgstr "Trabajo:" + +#: ../../mod/profiles.php:433 +msgid "Religion" +msgstr "Religión" + +#: ../../mod/profiles.php:437 +msgid "Political Views" +msgstr "Ideas políticas" + +#: ../../mod/profiles.php:445 +msgid "Sexual Preference" +msgstr "Preferencia sexual" + +#: ../../mod/profiles.php:449 +msgid "Homepage" +msgstr "Página personal" + +#: ../../mod/profiles.php:453 +msgid "Interests" +msgstr "Intereses" + +#: ../../mod/profiles.php:457 ../../mod/admin.php:974 +msgid "Address" +msgstr "Dirección" + +#: ../../mod/profiles.php:547 +msgid "Profile updated." +msgstr "Perfil actualizado." + +#: ../../mod/profiles.php:634 +msgid "Hide your contact/friend list from viewers of this profile?" +msgstr "¿Ocultar su lista de contactos a los visitantes de este perfil?" + +#: ../../mod/profiles.php:674 +msgid "Edit Profile Details" +msgstr "Modificar los detalles de este perfil" + +#: ../../mod/profiles.php:676 +msgid "View this profile" +msgstr "Ver este perfil" + +#: ../../mod/profiles.php:678 +msgid "Change Profile Photo" +msgstr "Cambiar la foto del perfil" + +#: ../../mod/profiles.php:679 +msgid "Create a new profile using these settings" +msgstr "Crear un nuevo perfil usando estos ajustes" + +#: ../../mod/profiles.php:680 +msgid "Clone this profile" +msgstr "Clonar este perfil" + +#: ../../mod/profiles.php:681 +msgid "Delete this profile" +msgstr "Eliminar este perfil" + +#: ../../mod/profiles.php:683 +msgid "Import profile from file" +msgstr "Importar perfil desde un fichero" + +#: ../../mod/profiles.php:684 +msgid "Export profile to file" +msgstr "Exportar perfil a un fichero" + +#: ../../mod/profiles.php:685 +msgid "Profile Name:" +msgstr "Nombre del perfil:" + +#: ../../mod/profiles.php:686 +msgid "Your Full Name:" +msgstr "Su nombre completo:" + +#: ../../mod/profiles.php:687 +msgid "Title/Description:" +msgstr "Título/Descripción:" + +#: ../../mod/profiles.php:688 +msgid "Your Gender:" +msgstr "Su género:" + +#: ../../mod/profiles.php:689 +msgid "Birthday :" +msgstr "Cumpleaños:" + +#: ../../mod/profiles.php:690 +msgid "Street Address:" +msgstr "Calle:" + +#: ../../mod/profiles.php:691 +msgid "Locality/City:" +msgstr "Ciudad:" + +#: ../../mod/profiles.php:692 +msgid "Postal/Zip Code:" +msgstr "Código postal:" + +#: ../../mod/profiles.php:693 +msgid "Country:" +msgstr "País:" + +#: ../../mod/profiles.php:694 +msgid "Region/State:" +msgstr "Región/Estado:" + +#: ../../mod/profiles.php:695 +msgid "<span class=\"heart\">♥</span> Marital Status:" +msgstr "<span class=\"heart\">♥</span> Estado sentimental:" + +#: ../../mod/profiles.php:696 +msgid "Who: (if applicable)" +msgstr "Quién: (si es aplicable)" + +#: ../../mod/profiles.php:697 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "Por ejemplo: ana123, María González, sara@ejemplo.com" + +#: ../../mod/profiles.php:698 +msgid "Since [date]:" +msgstr "Desde [fecha]:" + +#: ../../mod/profiles.php:700 +msgid "Homepage URL:" +msgstr "Dirección de la página personal:" + +#: ../../mod/profiles.php:703 +msgid "Religious Views:" +msgstr "Creencias religiosas:" + +#: ../../mod/profiles.php:704 +msgid "Keywords:" +msgstr "Palabras clave:" + +#: ../../mod/profiles.php:707 +msgid "Example: fishing photography software" +msgstr "Por ejemplo: software de fotografía submarina" + +#: ../../mod/profiles.php:708 +msgid "Used in directory listings" +msgstr "Visible en el directorio público del canal" + +#: ../../mod/profiles.php:709 +msgid "Tell us about yourself..." +msgstr "Háblenos de usted..." + +#: ../../mod/profiles.php:710 +msgid "Hobbies/Interests" +msgstr "Aficiones/Intereses" + +#: ../../mod/profiles.php:711 +msgid "Contact information and Social Networks" +msgstr "Información de contacto y redes sociales" + +#: ../../mod/profiles.php:712 +msgid "My other channels" +msgstr "Mis otros canales" + +#: ../../mod/profiles.php:713 +msgid "Musical interests" +msgstr "Preferencias musicales" + +#: ../../mod/profiles.php:714 +msgid "Books, literature" +msgstr "Libros, literatura" + +#: ../../mod/profiles.php:715 +msgid "Television" +msgstr "Televisión" + +#: ../../mod/profiles.php:716 +msgid "Film/dance/culture/entertainment" +msgstr "Cine/danza/cultura/entretenimiento" + +#: ../../mod/profiles.php:717 +msgid "Love/romance" +msgstr "Vida sentimental/amorosa" + +#: ../../mod/profiles.php:718 +msgid "Work/employment" +msgstr "Trabajo" + +#: ../../mod/profiles.php:719 +msgid "School/education" +msgstr "Estudios" + +#: ../../mod/profiles.php:725 +msgid "This is your default profile." +msgstr "Este es su perfil principal." + +#: ../../mod/profiles.php:736 +msgid "Age: " +msgstr "Edad:" + +#: ../../mod/profiles.php:779 +msgid "Edit/Manage Profiles" +msgstr "Modificar/gestionar perfiles" + +#: ../../mod/profiles.php:780 +msgid "Add profile things" +msgstr "Añadir cosas al perfil" + +#: ../../mod/profiles.php:781 +msgid "Include desirable objects in your profile" +msgstr "Añadir objetos interesantes en su perfil" + +#: ../../mod/search.php:212 +#, php-format +msgid "Items tagged with: %s" +msgstr "elementos etiquetados con: %s" + +#: ../../mod/search.php:214 +#, php-format +msgid "Search results for: %s" +msgstr "Resultados de la búsqueda para: %s" #: ../../mod/connedit.php:75 msgid "Could not access contact record." @@ -5033,217 +5799,537 @@ msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><stron msgid "Last update:" msgstr "Última actualización:" -#: ../../mod/mood.php:132 -msgid "Set your current mood and tell your friends" -msgstr "Describir su estado de ánimo para comunicárselo a sus amigos" +#: ../../mod/acl.php:222 +msgid "network" +msgstr "red" -#: ../../mod/magic.php:69 -msgid "Hub not found." -msgstr "Servidor no encontrado" +#: ../../mod/acl.php:232 +msgid "RSS" +msgstr "RSS" -#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 -msgid "This setting requires special processing and editing has been blocked." -msgstr "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada." +#: ../../mod/dav.php:121 +msgid "$Projectname channel" +msgstr "Canal $Projectname" -#: ../../mod/pconfig.php:49 -msgid "Configuration Editor" -msgstr "Editor de configuración" +#: ../../mod/dreport.php:23 +msgid "Invalid message" +msgstr "Mensaje no válido" -#: ../../mod/pconfig.php:50 +#: ../../mod/dreport.php:55 +msgid "no results" +msgstr "sin resultados" + +#: ../../mod/dreport.php:60 +#, php-format +msgid "Delivery report for %1$s" +msgstr "Informe de entrega para %1$s" + +#: ../../mod/dreport.php:74 +msgid "channel sync processed" +msgstr "se ha realizado la sincronización del canal" + +#: ../../mod/dreport.php:78 +msgid "queued" +msgstr "encolado" + +#: ../../mod/dreport.php:82 +msgid "posted" +msgstr "enviado" + +#: ../../mod/dreport.php:86 +msgid "accepted for delivery" +msgstr "aceptado para el envío" + +#: ../../mod/dreport.php:90 +msgid "updated" +msgstr "actualizado" + +#: ../../mod/dreport.php:93 +msgid "update ignored" +msgstr "actualización ignorada" + +#: ../../mod/dreport.php:96 +msgid "permission denied" +msgstr "permiso denegado" + +#: ../../mod/dreport.php:100 +msgid "recipient not found" +msgstr "destinatario no encontrado" + +#: ../../mod/dreport.php:103 +msgid "mail recalled" +msgstr "mensaje de correo revocado" + +#: ../../mod/dreport.php:106 +msgid "duplicate mail received" +msgstr "se ha recibido mensaje duplicado" + +#: ../../mod/dreport.php:109 +msgid "mail delivered" +msgstr "correo enviado" + +#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78 +#: ../../mod/editblock.php:94 ../../mod/editlayout.php:76 +#: ../../mod/editpost.php:20 +msgid "Item not found" +msgstr "Elemento no encontrado" + +#: ../../mod/editwebpage.php:153 +msgid "Delete webpage?" +msgstr "¿Eliminar la página web?" + +#: ../../mod/editwebpage.php:172 +msgid "Page link title" +msgstr "Título del enlace de la página" + +#: ../../mod/editwebpage.php:185 ../../mod/editblock.php:145 +#: ../../mod/editlayout.php:143 ../../mod/editpost.php:121 +msgid "Insert YouTube video" +msgstr "Insertar vídeo de YouTube" + +#: ../../mod/editwebpage.php:186 ../../mod/editblock.php:146 +#: ../../mod/editlayout.php:144 ../../mod/editpost.php:122 +msgid "Insert Vorbis [.ogg] video" +msgstr "Insertar vídeo Vorbis [.ogg]" + +#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:147 +#: ../../mod/editlayout.php:145 ../../mod/editpost.php:123 +msgid "Insert Vorbis [.ogg] audio" +msgstr "Insertar audio Vorbis [.ogg]" + +#: ../../mod/editwebpage.php:222 +msgid "Edit Webpage" +msgstr "Editar la página web" + +#: ../../mod/oexchange.php:23 +msgid "Unable to find your hub." +msgstr "No se puede encontrar su servidor." + +#: ../../mod/oexchange.php:37 +msgid "Post successful." +msgstr "Enviado con éxito." + +#: ../../mod/ping.php:260 +msgid "sent you a private message" +msgstr "le ha enviado un mensaje privado" + +#: ../../mod/ping.php:308 +msgid "added your channel" +msgstr "añadió este canal a sus conexiones" + +#: ../../mod/ping.php:350 +msgid "posted an event" +msgstr "publicó un evento" + +#: ../../mod/api.php:76 ../../mod/api.php:102 +msgid "Authorize application connection" +msgstr "Autorizar una conexión de aplicación" + +#: ../../mod/api.php:77 +msgid "Return to your app and insert this Securty Code:" +msgstr "Volver a su aplicación e introducir este código de seguridad:" + +#: ../../mod/api.php:89 +msgid "Please login to continue." +msgstr "Por favor inicia sesión para continuar." + +#: ../../mod/api.php:104 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 "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica." +"Do you want to authorize this application to access your posts and contacts," +" and/or create new posts for you?" +msgstr "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?" -#: ../../mod/filestorage.php:82 -msgid "Permission Denied." -msgstr "Permiso denegado" +#: ../../mod/notify.php:53 ../../mod/notifications.php:94 +msgid "No more system notifications." +msgstr "No hay más notificaciones del sistema" -#: ../../mod/filestorage.php:98 -msgid "File not found." -msgstr "Fichero no encontrado." +#: ../../mod/notify.php:57 ../../mod/notifications.php:98 +msgid "System Notifications" +msgstr "Notificaciones de sistema" -#: ../../mod/filestorage.php:141 -msgid "Edit file permissions" -msgstr "Modificar los permisos del fichero" +#: ../../mod/rbmark.php:90 +msgid "Select a bookmark folder" +msgstr "Seleccionar una carpeta de marcadores" -#: ../../mod/filestorage.php:150 -msgid "Set/edit permissions" -msgstr "Establecer/editar los permisos" +#: ../../mod/rbmark.php:95 +msgid "Save Bookmark" +msgstr "Guardar marcador" -#: ../../mod/filestorage.php:151 -msgid "Include all files and sub folders" -msgstr "Incluir todos los ficheros y subcarpetas" +#: ../../mod/rbmark.php:96 +msgid "URL of bookmark" +msgstr "Dirección del marcador" -#: ../../mod/filestorage.php:152 -msgid "Return to file list" -msgstr "Volver a la lista de ficheros" +#: ../../mod/rbmark.php:97 ../../mod/appman.php:93 ../../mod/events.php:450 +msgid "Description" +msgstr "Descripción" -#: ../../mod/filestorage.php:154 -msgid "Copy/paste this code to attach file to a post" -msgstr "Copiar/pegar este código para adjuntar el fichero al envío" +#: ../../mod/rbmark.php:101 +msgid "Or enter new bookmark folder name" +msgstr "O introduzca un nuevo nombre para la carpeta de marcadores" -#: ../../mod/filestorage.php:155 -msgid "Copy/paste this URL to link file from a web page" -msgstr "Copiar/pegar esta dirección para enlazar el fichero desde una página web" +#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 +msgid "Contact not found." +msgstr "Contacto no encontrado" -#: ../../mod/filestorage.php:157 -msgid "Share this file" -msgstr "Compartir este fichero" +#: ../../mod/fsuggest.php:63 +msgid "Friend suggestion sent." +msgstr "Enviar sugerencia a un amigo." -#: ../../mod/filestorage.php:158 -msgid "Show URL to this file" -msgstr "Mostrar la dirección de este fichero" +#: ../../mod/fsuggest.php:97 +msgid "Suggest Friends" +msgstr "Sugerir amigos" -#: ../../mod/filestorage.php:159 -msgid "Notify your contacts about this file" -msgstr "Avisar a sus contactos sobre este fichero" +#: ../../mod/fsuggest.php:99 +#, php-format +msgid "Suggest a friend for %s" +msgstr "Sugerir un amigo a %s" -#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 -msgid "This site is not a directory server" -msgstr "Este sitio no es un servidor de directorio" +#: ../../mod/sources.php:32 +msgid "Failed to create source. No channel selected." +msgstr "Imposible crear el origen de los contenidos. Ningún canal ha sido seleccionado." -#: ../../mod/layouts.php:121 ../../mod/layouts.php:179 -#: ../../mod/editlayout.php:161 -msgid "Layout Name" -msgstr "Nombre del formato" +#: ../../mod/sources.php:45 +msgid "Source created." +msgstr "Fuente creada." -#: ../../mod/layouts.php:124 ../../mod/editlayout.php:159 -msgid "Layout Description (Optional)" -msgstr "Descripción del formato gráfico (opcional)" +#: ../../mod/sources.php:57 +msgid "Source updated." +msgstr "Fuente actualizada." -#: ../../mod/layouts.php:176 -msgid "Comanche page description language help" -msgstr "Página de ayuda del lenguaje de descripción de páginas (PDL) Comanche" +#: ../../mod/sources.php:82 +msgid "*" +msgstr "*" -#: ../../mod/layouts.php:180 -msgid "Layout Description" -msgstr "Descripción del formato" +#: ../../mod/sources.php:89 +msgid "Manage remote sources of content for your channel." +msgstr "Gestionar contenido de origen remoto para su canal." -#: ../../mod/layouts.php:185 -msgid "Download PDL file" -msgstr "Descargar el fichero PDL" +#: ../../mod/sources.php:90 ../../mod/sources.php:100 +msgid "New Source" +msgstr "Nueva fuente" -#: ../../mod/poke.php:164 -msgid "Poke/Prod" -msgstr "Toque/Incitación" +#: ../../mod/sources.php:101 ../../mod/sources.php:133 +msgid "" +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." +msgstr "Importar todo el contenido o una selección de los siguientes canales en este canal y distribuirlo de acuerdo con sus ajustes." -#: ../../mod/poke.php:165 -msgid "poke, prod or do other things to somebody" -msgstr "dar un toque, incitar u otras cosas a alguien" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Only import content with these words (one per line)" +msgstr "Importar solo contenido que contenga estas palabras (una por línea)" -#: ../../mod/poke.php:166 -msgid "Recipient" -msgstr "Destinatario" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Leave blank to import all public content" +msgstr "Dejar en blanco para importar todo el contenido público" -#: ../../mod/poke.php:167 -msgid "Choose what you wish to do to recipient" -msgstr "Elegir qué desea enviar al destinatario" +#: ../../mod/sources.php:123 ../../mod/sources.php:150 +msgid "Source not found." +msgstr "Fuente no encontrada" -#: ../../mod/poke.php:170 -msgid "Make this post private" -msgstr "Convertir en privado este envío" +#: ../../mod/sources.php:130 +msgid "Edit Source" +msgstr "Editar fuente" -#: ../../mod/network.php:91 -msgid "No such group" -msgstr "No se encuentra el grupo" +#: ../../mod/sources.php:131 +msgid "Delete Source" +msgstr "Eliminar fuente" -#: ../../mod/network.php:131 -msgid "No such channel" -msgstr "No se encuentra el canal" +#: ../../mod/sources.php:158 +msgid "Source removed" +msgstr "Fuente eliminada" -#: ../../mod/network.php:136 -msgid "forum" -msgstr "foro" +#: ../../mod/sources.php:160 +msgid "Unable to remove source." +msgstr "Imposible eliminar la fuente." -#: ../../mod/network.php:148 -msgid "Search Results For:" -msgstr "Buscar resultados para:" +#: ../../mod/notifications.php:26 +msgid "Invalid request identifier." +msgstr "Petición inválida del identificador." -#: ../../mod/network.php:207 -msgid "Collection is empty" -msgstr "La colección está vacía" +#: ../../mod/notifications.php:35 +msgid "Discard" +msgstr "Descartar" -#: ../../mod/network.php:216 -msgid "Collection: " -msgstr "Colección:" +#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 +msgid "Tag removed" +msgstr "Etiqueta eliminada." -#: ../../mod/network.php:242 -msgid "Invalid connection." -msgstr "Conexión no válida." +#: ../../mod/tagrm.php:119 +msgid "Remove Item Tag" +msgstr "Eliminar etiqueta del elemento." -#: ../../mod/chat.php:19 ../../mod/channel.php:25 -msgid "You must be logged in to see this page." -msgstr "Debe haber iniciado sesión para poder ver esta página." +#: ../../mod/tagrm.php:121 +msgid "Select a tag to remove: " +msgstr "Seleccionar una etiqueta para eliminar:" -#: ../../mod/chat.php:174 -msgid "Room not found" -msgstr "Sala no encontrada" +#: ../../mod/tagrm.php:133 ../../mod/photos.php:954 +msgid "Remove" +msgstr "Eliminar" -#: ../../mod/chat.php:185 -msgid "Leave Room" -msgstr "Abandonar la sala" +#: ../../mod/directory.php:236 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "%d valoración" +msgstr[1] "%d valoraciones" -#: ../../mod/chat.php:186 -msgid "Delete This Room" -msgstr "Eliminar esta sala" +#: ../../mod/directory.php:247 +msgid "Gender: " +msgstr "Género:" -#: ../../mod/chat.php:187 -msgid "I am away right now" -msgstr "Estoy ausente momentáneamente" +#: ../../mod/directory.php:249 +msgid "Status: " +msgstr "Estado:" -#: ../../mod/chat.php:188 -msgid "I am online" -msgstr "Estoy conectado/a" +#: ../../mod/directory.php:251 +msgid "Homepage: " +msgstr "Página personal:" -#: ../../mod/chat.php:190 -msgid "Bookmark this room" -msgstr "Añadir esta sala a Marcadores" +#: ../../mod/directory.php:310 +msgid "Description:" +msgstr "Descripción:" -#: ../../mod/chat.php:208 ../../mod/chat.php:231 -msgid "New Chatroom" -msgstr "Nueva sala de chat" +#: ../../mod/directory.php:319 +msgid "Public Forum:" +msgstr "Foro público:" -#: ../../mod/chat.php:209 -msgid "Chatroom Name" -msgstr "Nombre de la sala de chat" +#: ../../mod/directory.php:322 +msgid "Keywords: " +msgstr "Palabras clave:" -#: ../../mod/chat.php:210 -msgid "Expiration of chats (minutes)" -msgstr "Tiempo de expiración de los mensajes en los chats (en minutos)" +#: ../../mod/directory.php:325 +msgid "Don't suggest" +msgstr "No sugerir:" -#: ../../mod/chat.php:227 +#: ../../mod/directory.php:327 +msgid "Common connections:" +msgstr "Conexiones comunes:" + +#: ../../mod/directory.php:376 +msgid "Global Directory" +msgstr "Directorio global:" + +#: ../../mod/directory.php:376 +msgid "Local Directory" +msgstr "Directorio local:" + +#: ../../mod/directory.php:382 +msgid "Finding:" +msgstr "Encontrar:" + +#: ../../mod/directory.php:387 +msgid "next page" +msgstr "siguiente página" + +#: ../../mod/directory.php:387 +msgid "previous page" +msgstr "página anterior" + +#: ../../mod/directory.php:388 +msgid "Sort options" +msgstr "Ordenar opciones" + +#: ../../mod/directory.php:389 +msgid "Alphabetic" +msgstr "Alfabético" + +#: ../../mod/directory.php:390 +msgid "Reverse Alphabetic" +msgstr "Alfabético inverso" + +#: ../../mod/directory.php:391 +msgid "Newest to Oldest" +msgstr "De más nuevo a más antiguo" + +#: ../../mod/directory.php:392 +msgid "Oldest to Newest" +msgstr "De más antiguo a más nuevo" + +#: ../../mod/directory.php:409 +msgid "No entries (some entries may be hidden)." +msgstr "Sin entradas (algunas entradas pueden estar ocultas)." + +#: ../../mod/lostpass.php:15 +msgid "No valid account found." +msgstr "No se ha encontrado una cuenta válida." + +#: ../../mod/lostpass.php:29 +msgid "Password reset request issued. Check your email." +msgstr "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico." + +#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 #, php-format -msgid "%1$s's Chatrooms" -msgstr "Salas de chat de %1$s" +msgid "Site Member (%s)" +msgstr "Usuario del sitio (%s)" -#: ../../mod/search.php:212 +#: ../../mod/lostpass.php:40 #, php-format -msgid "Items tagged with: %s" -msgstr "elementos etiquetados con: %s" +msgid "Password reset requested at %s" +msgstr "Se ha solicitado restablecer la contraseña en %s" -#: ../../mod/search.php:214 +#: ../../mod/lostpass.php:63 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado." + +#: ../../mod/lostpass.php:86 ../../boot.php:1489 +msgid "Password Reset" +msgstr "Restablecer la contraseña" + +#: ../../mod/lostpass.php:87 +msgid "Your password has been reset as requested." +msgstr "Su contraseña ha sido restablecida según lo solicitó." + +#: ../../mod/lostpass.php:88 +msgid "Your new password is" +msgstr "Su nueva contraseña es" + +#: ../../mod/lostpass.php:89 +msgid "Save or copy your new password - and then" +msgstr "Guarde o copie su nueva contraseña - y después" + +#: ../../mod/lostpass.php:90 +msgid "click here to login" +msgstr "pulse aquí para conectarse" + +#: ../../mod/lostpass.php:91 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión." + +#: ../../mod/lostpass.php:108 #, php-format -msgid "Search results for: %s" -msgstr "Resultados de la búsqueda para: %s" +msgid "Your password has changed at %s" +msgstr "Su contraseña en %s ha sido cambiada" -#: ../../mod/rate.php:158 -msgid "Website:" -msgstr "Sitio web:" +#: ../../mod/lostpass.php:123 +msgid "Forgot your Password?" +msgstr "¿Ha olvidado su contraseña?" -#: ../../mod/rate.php:161 +#: ../../mod/lostpass.php:124 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones." + +#: ../../mod/lostpass.php:125 +msgid "Email Address" +msgstr "Dirección de correo electrónico" + +#: ../../mod/lostpass.php:126 +msgid "Reset" +msgstr "Reiniciar" + +#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 +msgid "This site is not a directory server" +msgstr "Este sitio no es un servidor de directorio" + +#: ../../mod/impel.php:192 #, php-format -msgid "Remote Channel [%s] (not yet known on this site)" -msgstr "Canal remoto [%s] (aún no es conocido en este sitio)" +msgid "%s element installed" +msgstr "%s elemento instalado" -#: ../../mod/rate.php:162 -msgid "Rating (this information is public)" -msgstr "Valoración (esta información es pública)" +#: ../../mod/impel.php:195 +#, php-format +msgid "%s element installation failed" +msgstr "Elemento con instalación fallida: %s" -#: ../../mod/rate.php:163 -msgid "Optionally explain your rating (this information is public)" -msgstr "Opcionalmente puede explicar su valoración (esta información es pública)" +#: ../../mod/subthread.php:114 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "%1$s está siguiendo %2$s de %3$s" + +#: ../../mod/subthread.php:116 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "%1$s ha dejado de seguir %3$s de %2$s" + +#: ../../mod/import.php:28 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "Su paquete de servicios solo permite %d canales." + +#: ../../mod/import.php:66 ../../mod/import_items.php:38 +msgid "Nothing to import." +msgstr "No hay nada para importar." + +#: ../../mod/import.php:90 ../../mod/import_items.php:62 +msgid "Unable to download data from old server" +msgstr "No se han podido descargar datos de su antiguo servidor" + +#: ../../mod/import.php:96 ../../mod/import_items.php:68 +msgid "Imported file is empty." +msgstr "El fichero importado está vacío." + +#: ../../mod/import.php:116 ../../mod/import_items.php:82 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "Atención: Las versiones de la base de datos difieren en %1$d actualizaciones." + +#: ../../mod/import.php:149 +msgid "No channel. Import failed." +msgstr "No hay canal. La importación ha fallado" + +#: ../../mod/import.php:509 +msgid "You must be logged in to use this feature." +msgstr "Debe estar registrado para poder usar esta funcionalidad." + +#: ../../mod/import.php:514 +msgid "Import Channel" +msgstr "Importar canal" + +#: ../../mod/import.php:515 +msgid "" +"Use this form to import an existing channel from a different server/hub. You" +" may retrieve the channel identity from the old server/hub via the network " +"or provide an export file." +msgstr "Emplee este formulario para importar un canal desde un servidor/hub diferente. Puede recuperar el canal desde el antiguo servidor/hub a través de la red o proporcionando un fichero de exportación." + +#: ../../mod/import.php:516 ../../mod/import_items.php:121 +msgid "File to Upload" +msgstr "Fichero para subir" + +#: ../../mod/import.php:517 +msgid "Or provide the old server/hub details" +msgstr "O proporcione los detalles de su antiguo servidor/hub" + +#: ../../mod/import.php:518 +msgid "Your old identity address (xyz@example.com)" +msgstr "Su identidad en el antiguo servidor (canal@ejemplo.com)" + +#: ../../mod/import.php:519 +msgid "Your old login email address" +msgstr "Su antigua dirección de correo electrónico" + +#: ../../mod/import.php:520 +msgid "Your old login password" +msgstr "Su antigua contraseña" + +#: ../../mod/import.php:521 +msgid "" +"For either option, please choose whether to make this hub your new primary " +"address, or whether your old location should continue this role. You will be" +" able to post from either location, but only one can be marked as the " +"primary location for files, photos, and media." +msgstr "Para cualquiera de las opciones, elija si hacer de este servidor su nueva dirección primaria, o si su antigua ubicación debe continuar con este papel. Usted podrá publicar desde cualquier ubicación, pero sólo una puede estar marcada como la ubicación principal para los ficheros, fotos y otras imágenes o vídeos." + +#: ../../mod/import.php:522 +msgid "Make this hub my primary location" +msgstr "Convertir este servidor en mi ubicación primaria" + +#: ../../mod/import.php:523 +msgid "" +"Import existing posts if possible (experimental - limited by available " +"memory" +msgstr "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible" + +#: ../../mod/import.php:524 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." +msgstr "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine." #: ../../mod/photos.php:79 msgid "Page owner information could not be retrieved." @@ -5336,7 +6422,7 @@ msgstr "Usar como foto del perfil" msgid "Private Photo" msgstr "Foto privada" -#: ../../mod/photos.php:905 ../../mod/events.php:525 ../../mod/events.php:532 +#: ../../mod/photos.php:905 ../../mod/events.php:652 ../../mod/events.php:659 msgid "Previous" msgstr "Anterior" @@ -5344,15 +6430,6 @@ msgstr "Anterior" msgid "View Full Size" msgstr "Ver tamaño completo" -#: ../../mod/photos.php:914 ../../mod/events.php:526 ../../mod/events.php:533 -#: ../../mod/setup.php:285 -msgid "Next" -msgstr "Siguiente" - -#: ../../mod/photos.php:954 ../../mod/tagrm.php:133 -msgid "Remove" -msgstr "Eliminar" - #: ../../mod/photos.php:988 msgid "Edit photo" msgstr "Editar foto" @@ -5405,58 +6482,340 @@ msgstr "Ver álbum" msgid "Recent Photos" msgstr "Fotos recientes" -#: ../../mod/editblock.php:78 ../../mod/editblock.php:94 -#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76 -#: ../../mod/editwebpage.php:77 -msgid "Item not found" -msgstr "Elemento no encontrado" +#: ../../mod/probe.php:24 ../../mod/probe.php:30 +#, php-format +msgid "Fetching URL returns error: %1$s" +msgstr "Al intentar obtener la dirección, retorna el error: %1$s" -#: ../../mod/editblock.php:118 -msgid "Delete block?" -msgstr "¿Borrar bloque?" +#: ../../mod/profile_photo.php:112 +msgid "Image uploaded but image cropping failed." +msgstr "Imagen actualizada, pero el recorte de la imagen ha fallado. " -#: ../../mod/editblock.php:145 ../../mod/editpost.php:121 -#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:185 -msgid "Insert YouTube video" -msgstr "Insertar vídeo de YouTube" +#: ../../mod/profile_photo.php:166 +msgid "Image resize failed." +msgstr "El ajuste del tamaño de la imagen ha fallado." -#: ../../mod/editblock.php:146 ../../mod/editpost.php:122 -#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:186 -msgid "Insert Vorbis [.ogg] video" -msgstr "Insertar vídeo Vorbis [.ogg]" +#: ../../mod/profile_photo.php:212 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente." -#: ../../mod/editblock.php:147 ../../mod/editpost.php:123 -#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:187 -msgid "Insert Vorbis [.ogg] audio" -msgstr "Insertar audio Vorbis [.ogg]" +#: ../../mod/profile_photo.php:250 +msgid "Image upload failed." +msgstr "Subida de imagen fallida." -#: ../../mod/editblock.php:180 -msgid "Edit Block" -msgstr "Modificar este bloque" +#: ../../mod/profile_photo.php:269 +msgid "Unable to process image." +msgstr "No ha sido posible procesar la imagen." + +#: ../../mod/profile_photo.php:297 +msgid "female" +msgstr "mujer" + +#: ../../mod/profile_photo.php:298 +#, php-format +msgid "%1$s updated her %2$s" +msgstr "%1$s ha actualizado su %2$s" + +#: ../../mod/profile_photo.php:299 +msgid "male" +msgstr "hombre" + +#: ../../mod/profile_photo.php:300 +#, php-format +msgid "%1$s updated his %2$s" +msgstr "%1$s ha actualizado su %2$s" + +#: ../../mod/profile_photo.php:302 +#, php-format +msgid "%1$s updated their %2$s" +msgstr "%1$s ha actualizado sus %2$s" + +#: ../../mod/profile_photo.php:304 +msgid "profile photo" +msgstr "foto del perfil" + +#: ../../mod/profile_photo.php:368 ../../mod/profile_photo.php:409 +msgid "Photo not available." +msgstr "Foto no disponible." + +#: ../../mod/profile_photo.php:450 +msgid "Upload File:" +msgstr "Subir fichero:" + +#: ../../mod/profile_photo.php:451 +msgid "Select a profile:" +msgstr "Seleccionar un perfil:" + +#: ../../mod/profile_photo.php:452 +msgid "Upload Profile Photo" +msgstr "Subir foto del perfil" + +#: ../../mod/profile_photo.php:457 ../../mod/settings.php:975 +msgid "or" +msgstr "o" + +#: ../../mod/profile_photo.php:457 +msgid "skip this step" +msgstr "Omitir este paso" + +#: ../../mod/profile_photo.php:457 +msgid "select a photo from your photo albums" +msgstr "Seleccione una foto de sus álbumes de fotos" + +#: ../../mod/profile_photo.php:473 +msgid "Crop Image" +msgstr "Recortar imagen" + +#: ../../mod/profile_photo.php:474 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "Por favor ajuste el recorte de la imagen para una visión óptima." + +#: ../../mod/profile_photo.php:476 +msgid "Done Editing" +msgstr "Edición completada" + +#: ../../mod/thing.php:111 +msgid "Thing updated" +msgstr "Elemento actualizado." + +#: ../../mod/thing.php:163 +msgid "Object store: failed" +msgstr "Guardar objeto: ha fallado" + +#: ../../mod/thing.php:167 +msgid "Thing added" +msgstr "Elemento añadido" + +#: ../../mod/thing.php:193 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "OBJ: %1$s %2$s %3$s" + +#: ../../mod/thing.php:256 +msgid "Show Thing" +msgstr "Mostrar elemento" + +#: ../../mod/thing.php:263 +msgid "item not found." +msgstr "elemento no encontrado." + +#: ../../mod/thing.php:296 +msgid "Edit Thing" +msgstr "Editar elemento" + +#: ../../mod/thing.php:298 ../../mod/thing.php:348 +msgid "Select a profile" +msgstr "Seleccionar un perfil" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Post an activity" +msgstr "Publicar una actividad" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Only sends to viewers of the applicable profile" +msgstr "Sólo enviar a espectadores del perfil pertinente." + +#: ../../mod/thing.php:304 ../../mod/thing.php:353 +msgid "Name of thing e.g. something" +msgstr "Nombre del elemento, p. ej.:. \"algo\"" + +#: ../../mod/thing.php:306 ../../mod/thing.php:354 +msgid "URL of thing (optional)" +msgstr "Dirección del elemento (opcional)" + +#: ../../mod/thing.php:308 ../../mod/thing.php:355 +msgid "URL for photo of thing (optional)" +msgstr "Dirección para la foto o elemento (opcional)" + +#: ../../mod/thing.php:346 +msgid "Add Thing to your Profile" +msgstr "Añadir alguna cosa a su perfil" #: ../../mod/dirsearch.php:29 msgid "This directory server requires an access token" msgstr "El servidor de este directorio necesita un \"token\" de acceso" -#: ../../mod/editpost.php:31 -msgid "Item is not editable" -msgstr "El elemento no es editable" +#: ../../mod/editblock.php:118 +msgid "Delete block?" +msgstr "¿Borrar bloque?" -#: ../../mod/editpost.php:57 -msgid "Delete item?" -msgstr "¿Borrar elemento?" +#: ../../mod/editblock.php:180 +msgid "Edit Block" +msgstr "Modificar este bloque" -#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 -msgid "Edit post" -msgstr "Editar la entrada" +#: ../../mod/removeaccount.php:30 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." +msgstr "La eliminación de cuentas no está permitida hasta después de que hayan transcurrido 48 horas desde el último cambio de contraseña." -#: ../../mod/oexchange.php:23 -msgid "Unable to find your hub." -msgstr "No se puede encontrar su servidor." +#: ../../mod/removeaccount.php:57 +msgid "Remove This Account" +msgstr "Eliminar esta cuenta" -#: ../../mod/oexchange.php:37 -msgid "Post successful." -msgstr "Enviado con éxito." +#: ../../mod/removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "Esta cuenta y todos sus canales van a ser eliminados de la red." + +#: ../../mod/removeaccount.php:60 +msgid "" +"Remove this account, all its channels and all its channel clones from the " +"network" +msgstr "Remover esta cuenta, todos sus canales y clones de la red" + +#: ../../mod/removeaccount.php:60 +msgid "" +"By default only the instances of the channels located on this hub will be " +"removed from the network" +msgstr "Por defecto, solo las instancias de los canales ubicados en este servidor serán eliminados de la red" + +#: ../../mod/removeaccount.php:61 ../../mod/settings.php:700 +msgid "Remove Account" +msgstr "Eliminar cuenta" + +#: ../../mod/import_items.php:101 +msgid "Import completed" +msgstr "Importación completada" + +#: ../../mod/import_items.php:119 +msgid "Import Items" +msgstr "Importar elementos" + +#: ../../mod/import_items.php:120 +msgid "" +"Use this form to import existing posts and content from an export file." +msgstr "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación." + +#: ../../mod/network.php:91 +msgid "No such group" +msgstr "No se encuentra el grupo" + +#: ../../mod/network.php:131 +msgid "No such channel" +msgstr "No se encuentra el canal" + +#: ../../mod/network.php:136 +msgid "forum" +msgstr "foro" + +#: ../../mod/network.php:148 +msgid "Search Results For:" +msgstr "Buscar resultados para:" + +#: ../../mod/network.php:207 +msgid "Collection is empty" +msgstr "La colección está vacía" + +#: ../../mod/network.php:216 +msgid "Collection: " +msgstr "Colección:" + +#: ../../mod/network.php:242 +msgid "Invalid connection." +msgstr "Conexión no válida." + +#: ../../mod/pdledit.php:13 +msgid "Layout updated." +msgstr "Formato actualizado" + +#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 +msgid "Edit System Page Description" +msgstr "Editor del Sistema de Descripción de Páginas" + +#: ../../mod/pdledit.php:48 +msgid "Layout not found." +msgstr "Formato no encontrado" + +#: ../../mod/pdledit.php:54 +msgid "Module Name:" +msgstr "Nombre del módulo:" + +#: ../../mod/pdledit.php:55 +msgid "Layout Help" +msgstr "Ayuda para el diseño de la página" + +#: ../../mod/register.php:44 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "Se ha superado el límite máximo de inscripciones diarias de este sitio. Por favor, pruebe de nuevo mañana." + +#: ../../mod/register.php:50 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "Por favor, confirme que acepta los Términos del servicio. El registro ha fallado." + +#: ../../mod/register.php:84 +msgid "Passwords do not match." +msgstr "Las contraseñas no coinciden." + +#: ../../mod/register.php:117 +msgid "" +"Registration successful. Please check your email for validation " +"instructions." +msgstr "Registro realizado con éxito. Por favor, compruebe su correo electrónico para ver las instrucciones para validarlo." + +#: ../../mod/register.php:123 +msgid "Your registration is pending approval by the site owner." +msgstr "Su registro está pendiente de aprobación por el propietario del sitio." + +#: ../../mod/register.php:126 +msgid "Your registration can not be processed." +msgstr "Su registro no puede ser procesado." + +#: ../../mod/register.php:163 +msgid "Registration on this site/hub is by approval only." +msgstr "El registro en este servidor/hub está sometido a aprobación previa." + +#: ../../mod/register.php:164 +msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" +msgstr "<a href=\"pubsites\">Inscribirse en un servidor/hub afiliado</a>" + +#: ../../mod/register.php:174 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "Este sitio ha excedido el límite de inscripción diaria de cuentas. Por favor, inténtelo de nuevo mañana." + +#: ../../mod/register.php:185 +msgid "Terms of Service" +msgstr "Términos del servicio" + +#: ../../mod/register.php:191 +#, php-format +msgid "I accept the %s for this website" +msgstr "Acepto los %s de este sitio" + +#: ../../mod/register.php:193 +#, php-format +msgid "I am over 13 years of age and accept the %s for this website" +msgstr "Tengo más de 13 años de edad y acepto los %s de este sitio" + +#: ../../mod/register.php:207 ../../mod/admin.php:436 +msgid "Registration" +msgstr "Registro" + +#: ../../mod/register.php:212 +msgid "Membership on this site is by invitation only." +msgstr "Para registrarse en este sitio es necesaria una invitación." + +#: ../../mod/register.php:213 +msgid "Please enter your invitation code" +msgstr "Por favor, introduzca el código de su invitación" + +#: ../../mod/register.php:216 +msgid "Your email address" +msgstr "Su dirección de correo electrónico" + +#: ../../mod/register.php:217 +msgid "Choose a password" +msgstr "Elija una contraseña" + +#: ../../mod/register.php:218 +msgid "Please re-enter your password" +msgstr "Por favor, vuelva a escribir su contraseña" #: ../../mod/admin.php:52 msgid "Theme settings updated." @@ -5529,7 +6888,7 @@ msgstr "Versión" msgid "Site settings updated." msgstr "Ajustes del sitio actualizados." -#: ../../mod/admin.php:361 ../../mod/settings.php:791 +#: ../../mod/admin.php:361 ../../mod/settings.php:793 msgid "mobile" msgstr "móvil" @@ -5561,10 +6920,6 @@ msgstr "Mi sitio es un servicio gratuito" msgid "My site offers free accounts with optional paid upgrades" msgstr "Mi sitio ofrece cuentas gratuitas con opciones extra de pago" -#: ../../mod/admin.php:436 ../../mod/register.php:207 -msgid "Registration" -msgstr "Registro" - #: ../../mod/admin.php:437 msgid "File upload" msgstr "Fichero subido" @@ -6077,10 +7432,6 @@ msgstr "No permitir código" msgid "UID" msgstr "UID" -#: ../../mod/admin.php:974 ../../mod/profiles.php:447 -msgid "Address" -msgstr "Dirección" - #: ../../mod/admin.php:976 msgid "" "Selected channels will be deleted!\\n\\nEverything that was posted in these " @@ -6204,1270 +7555,22 @@ msgstr "Definición del campo no encontrada" msgid "Edit Profile Field" msgstr "Modificar el campo del perfil" -#: ../../mod/appman.php:28 ../../mod/appman.php:44 -msgid "App installed." -msgstr "Aplicación instalada." - -#: ../../mod/appman.php:37 -msgid "Malformed app." -msgstr "Aplicación con errores" - -#: ../../mod/appman.php:80 -msgid "Embed code" -msgstr "Código incorporado" - -#: ../../mod/appman.php:86 -msgid "Edit App" -msgstr "Modificar la aplicación" - -#: ../../mod/appman.php:86 -msgid "Create App" -msgstr "Crear una aplicación" - -#: ../../mod/appman.php:91 -msgid "Name of app" -msgstr "Nombre de la aplicación" - -#: ../../mod/appman.php:92 -msgid "Location (URL) of app" -msgstr "Ubicación (URL) de la aplicación" - -#: ../../mod/appman.php:93 ../../mod/rbmark.php:97 -msgid "Description" -msgstr "Descripción" - -#: ../../mod/appman.php:94 -msgid "Photo icon URL" -msgstr "Dirección del icono que se va a utilizar para esta foto" - -#: ../../mod/appman.php:94 -msgid "80 x 80 pixels - optional" -msgstr "80 x 80 pixels - opcional" - -#: ../../mod/appman.php:95 -msgid "Version ID" -msgstr "Versión" - -#: ../../mod/appman.php:96 -msgid "Price of app" -msgstr "Precio de la aplicación" - -#: ../../mod/appman.php:97 -msgid "Location (URL) to purchase app" -msgstr "Dirección (URL) donde adquirir la aplicación" - -#: ../../mod/menu.php:45 -msgid "Unable to update menu." -msgstr "No se puede actualizar el menú." - -#: ../../mod/menu.php:56 -msgid "Unable to create menu." -msgstr "No se puede crear el menú." - -#: ../../mod/menu.php:94 ../../mod/menu.php:106 -msgid "Menu Name" -msgstr "Nombre del menú" - -#: ../../mod/menu.php:94 -msgid "Unique name (not visible on webpage) - required" -msgstr "Nombre único (no será visible en la página web) - requerido" - -#: ../../mod/menu.php:95 ../../mod/menu.php:107 -msgid "Menu Title" -msgstr "Título del menú" - -#: ../../mod/menu.php:95 -msgid "Visible on webpage - leave empty for no title" -msgstr "Visible en la página web - no ponga nada si no desea un título" - -#: ../../mod/menu.php:96 -msgid "Allow Bookmarks" -msgstr "Permitir marcadores" - -#: ../../mod/menu.php:96 ../../mod/menu.php:153 -msgid "Menu may be used to store saved bookmarks" -msgstr "El menú se puede usar para guardar marcadores" - -#: ../../mod/menu.php:97 ../../mod/menu.php:155 -msgid "Submit and proceed" -msgstr "Enviar y proceder" - -#: ../../mod/menu.php:109 -msgid "Drop" -msgstr "Eliminar" - -#: ../../mod/menu.php:113 -msgid "Bookmarks allowed" -msgstr "Marcadores permitidos" - -#: ../../mod/menu.php:115 -msgid "Delete this menu" -msgstr "Borrar este menú" - -#: ../../mod/menu.php:116 ../../mod/menu.php:150 -msgid "Edit menu contents" -msgstr "Editar los contenidos del menú" - -#: ../../mod/menu.php:117 -msgid "Edit this menu" -msgstr "Modificar este menú" - -#: ../../mod/menu.php:132 -msgid "Menu could not be deleted." -msgstr "El menú no puede ser eliminado." - -#: ../../mod/menu.php:145 -msgid "Edit Menu" -msgstr "Modificar el menú" - -#: ../../mod/menu.php:149 -msgid "Add or remove entries to this menu" -msgstr "Añadir o quitar entradas en este menú" - -#: ../../mod/menu.php:151 -msgid "Menu name" -msgstr "Nombre del menú" - -#: ../../mod/menu.php:151 -msgid "Must be unique, only seen by you" -msgstr "Debe ser único, solo será visible para usted" - -#: ../../mod/menu.php:152 -msgid "Menu title" -msgstr "Título del menú" - -#: ../../mod/menu.php:152 -msgid "Menu title as seen by others" -msgstr "El título del menú tal como será visto por los demás" - -#: ../../mod/menu.php:153 -msgid "Allow bookmarks" -msgstr "Permitir marcadores" - -#: ../../mod/notify.php:53 ../../mod/notifications.php:94 -msgid "No more system notifications." -msgstr "No hay más notificaciones del sistema" - -#: ../../mod/notify.php:57 ../../mod/notifications.php:98 -msgid "System Notifications" -msgstr "Notificaciones de sistema" - -#: ../../mod/page.php:126 -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." - -#: ../../mod/new_channel.php:109 -msgid "Add a Channel" -msgstr "Añadir un canal" - -#: ../../mod/new_channel.php:110 -msgid "" -"A channel is your own collection of related web pages. A channel can be used" -" to hold social network profiles, blogs, conversation groups and forums, " -"celebrity pages, and much more. You may create as many channels as your " -"service provider allows." -msgstr "Un canal está formado por su propia colección de páginas web relacionadas. Se puede utilizar para almacenar los perfiles sociales de la red, blogs, grupos de conversación y foros, páginas de famosos y mucho más. Puede crear tantos canales como su proveedor de servicio permita." - -#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 -#: ../../mod/sources.php:137 -msgid "Channel Name" -msgstr "Nombre del canal" - -#: ../../mod/new_channel.php:113 -msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " -msgstr "Ejemplos: \"Juan García\", \"Isabel y sus caballos\", \"Fútbol\", \"Grupo de parapente\" " - -#: ../../mod/new_channel.php:114 -msgid "Choose a short nickname" -msgstr "Elija un alias corto" - -#: ../../mod/new_channel.php:115 -msgid "" -"Your nickname will be used to create an easily remembered channel address " -"(like an email address) which you can share with others." -msgstr "Su alias podrá usarse para crear una dirección de canal fácilmente memorizable (como una dirección de correo electrónico) que puede ser compartido con otros." - -#: ../../mod/new_channel.php:116 -msgid "Or <a href=\"import\">import an existing channel</a> from another location" -msgstr "O <a href=\"import\">importar un canal existente</a> de otro lugar" - -#: ../../mod/new_channel.php:118 -msgid "" -"Please choose a channel type (such as social networking or community forum) " -"and privacy requirements so we can select the best permissions for you" -msgstr "Elija el tipo de canal (como red social o foro de discusión) y la privacidad que requiera, así podremos seleccionar el mejor conjunto de permisos para usted" - -#: ../../mod/new_channel.php:119 -msgid "Channel Type" -msgstr "Tipo de canal" - -#: ../../mod/new_channel.php:119 -msgid "Read more about roles" -msgstr "Leer más sobre los roles" - -#: ../../mod/notifications.php:26 -msgid "Invalid request identifier." -msgstr "Petición inválida del identificador." - -#: ../../mod/notifications.php:35 -msgid "Discard" -msgstr "Descartar" - -#: ../../mod/pdledit.php:13 -msgid "Layout updated." -msgstr "Formato actualizado" - -#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 -msgid "Edit System Page Description" -msgstr "Editor del Sistema de Descripción de Páginas" - -#: ../../mod/pdledit.php:48 -msgid "Layout not found." -msgstr "Formato no encontrado" - -#: ../../mod/pdledit.php:54 -msgid "Module Name:" -msgstr "Nombre del módulo:" - -#: ../../mod/pdledit.php:55 -msgid "Layout Help" -msgstr "Ayuda para el diseño de la página" - -#: ../../mod/subthread.php:114 -#, php-format -msgid "%1$s is following %2$s's %3$s" -msgstr "%1$s está siguiendo %2$s de %3$s" - -#: ../../mod/subthread.php:116 -#, php-format -msgid "%1$s stopped following %2$s's %3$s" -msgstr "%1$s ha dejado de seguir %3$s de %2$s" - -#: ../../mod/lostpass.php:15 -msgid "No valid account found." -msgstr "No se ha encontrado una cuenta válida." - -#: ../../mod/lostpass.php:29 -msgid "Password reset request issued. Check your email." -msgstr "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico." - -#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 -#, php-format -msgid "Site Member (%s)" -msgstr "Usuario del sitio (%s)" - -#: ../../mod/lostpass.php:40 -#, php-format -msgid "Password reset requested at %s" -msgstr "Se ha solicitado restablecer la contraseña en %s" - -#: ../../mod/lostpass.php:63 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." -msgstr "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado." - -#: ../../mod/lostpass.php:86 ../../boot.php:1494 -msgid "Password Reset" -msgstr "Restablecer la contraseña" - -#: ../../mod/lostpass.php:87 -msgid "Your password has been reset as requested." -msgstr "Su contraseña ha sido restablecida según lo solicitó." - -#: ../../mod/lostpass.php:88 -msgid "Your new password is" -msgstr "Su nueva contraseña es" - -#: ../../mod/lostpass.php:89 -msgid "Save or copy your new password - and then" -msgstr "Guarde o copie su nueva contraseña - y después" - -#: ../../mod/lostpass.php:90 -msgid "click here to login" -msgstr "pulse aquí para conectarse" - -#: ../../mod/lostpass.php:91 -msgid "" -"Your password may be changed from the <em>Settings</em> page after " -"successful login." -msgstr "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión." - -#: ../../mod/lostpass.php:108 -#, php-format -msgid "Your password has changed at %s" -msgstr "Su contraseña en %s ha sido cambiada" - -#: ../../mod/lostpass.php:123 -msgid "Forgot your Password?" -msgstr "¿Ha olvidado su contraseña?" - -#: ../../mod/lostpass.php:124 -msgid "" -"Enter your email address and submit to have your password reset. Then check " -"your email for further instructions." -msgstr "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones." - -#: ../../mod/lostpass.php:125 -msgid "Email Address" -msgstr "Dirección de correo electrónico" - -#: ../../mod/lostpass.php:126 -msgid "Reset" -msgstr "Reiniciar" - -#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:157 -msgid "$Projectname" -msgstr "$Projectname" - -#: ../../mod/home.php:75 -#, php-format -msgid "Welcome to %s" -msgstr "Bienvenido a %s" - -#: ../../mod/dav.php:121 -msgid "$Projectname channel" -msgstr "Canal $Projectname" - -#: ../../mod/events.php:21 -msgid "Calendar entries imported." -msgstr "Entradas de calendario importadas." - -#: ../../mod/events.php:23 -msgid "No calendar entries found." -msgstr "No se han encontrado entradas de calendario." - -#: ../../mod/events.php:96 -msgid "Event can not end before it has started." -msgstr "Un evento no puede terminar antes de que haya comenzado." - -#: ../../mod/events.php:98 ../../mod/events.php:107 ../../mod/events.php:127 -msgid "Unable to generate preview." -msgstr "No se puede crear la vista previa." - -#: ../../mod/events.php:105 -msgid "Event title and start time are required." -msgstr "Se requieren el título del evento y su hora de inicio." - -#: ../../mod/events.php:125 ../../mod/events.php:250 -msgid "Event not found." -msgstr "Evento no encontrado." - -#: ../../mod/events.php:446 -msgid "l, F j" -msgstr "l j F" - -#: ../../mod/events.php:468 -msgid "Edit event" -msgstr "Editar evento" - -#: ../../mod/events.php:470 -msgid "Delete event" -msgstr "Borrar evento" - -#: ../../mod/events.php:504 -msgid "calendar" -msgstr "calendario" - -#: ../../mod/events.php:524 -msgid "New Event" -msgstr "Nuevo evento" - -#: ../../mod/events.php:534 -msgid "Today" -msgstr "Hoy" - -#: ../../mod/events.php:564 -msgid "Event removed" -msgstr "Evento borrado" - -#: ../../mod/events.php:567 -msgid "Failed to remove event" -msgstr "Error al eliminar el evento" - -#: ../../mod/events.php:681 -msgid "Event details" -msgstr "Detalles del evento" - -#: ../../mod/events.php:682 -msgid "Starting date and Title are required." -msgstr "Se requieren fecha y título." - -#: ../../mod/events.php:684 -msgid "Categories (comma-separated list)" -msgstr "Categorías (lista separada por comas)" - -#: ../../mod/events.php:686 -msgid "Event Starts:" -msgstr "Inicio del evento:" - -#: ../../mod/events.php:693 -msgid "Finish date/time is not known or not relevant" -msgstr "La fecha / hora de finalización no se conocen o no son relevantes" - -#: ../../mod/events.php:695 -msgid "Event Finishes:" -msgstr "Finalización del evento:" - -#: ../../mod/events.php:697 ../../mod/events.php:698 -msgid "Adjust for viewer timezone" -msgstr "Ajustar para obtener el visor de zona horaria" - -#: ../../mod/events.php:697 -msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." -msgstr "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales." - -#: ../../mod/events.php:703 -msgid "Title:" -msgstr "Título:" - -#: ../../mod/events.php:705 -msgid "Share this event" -msgstr "Compartir este evento" - -#: ../../mod/impel.php:192 -#, php-format -msgid "%s element installed" -msgstr "%s elemento instalado" - -#: ../../mod/impel.php:195 -#, php-format -msgid "%s element installation failed" -msgstr "Elemento con instalación fallida: %s" - -#: ../../mod/probe.php:24 ../../mod/probe.php:30 -#, php-format -msgid "Fetching URL returns error: %1$s" -msgstr "Al intentar obtener la dirección, retorna el error: %1$s" - -#: ../../mod/match.php:22 -msgid "Profile Match" -msgstr "Perfil compatible" - -#: ../../mod/match.php:31 -msgid "No keywords to match. Please add keywords to your default profile." -msgstr "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal." - -#: ../../mod/match.php:63 -msgid "is interested in:" -msgstr "está interesado en:" - -#: ../../mod/match.php:70 -msgid "No matches" -msgstr "No se han encontrado perfiles compatibles" - -#: ../../mod/profile_photo.php:111 -msgid "Image uploaded but image cropping failed." -msgstr "Imagen actualizada, pero el recorte de la imagen ha fallado. " - -#: ../../mod/profile_photo.php:165 -msgid "Image resize failed." -msgstr "El ajuste del tamaño de la imagen ha fallado." - -#: ../../mod/profile_photo.php:209 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente." - -#: ../../mod/profile_photo.php:247 -msgid "Image upload failed." -msgstr "Subida de imagen fallida." - -#: ../../mod/profile_photo.php:266 -msgid "Unable to process image." -msgstr "No ha sido posible procesar la imagen." - -#: ../../mod/profile_photo.php:294 -msgid "female" -msgstr "mujer" - -#: ../../mod/profile_photo.php:295 -#, php-format -msgid "%1$s updated her %2$s" -msgstr "%1$s ha actualizado su %2$s" - -#: ../../mod/profile_photo.php:296 -msgid "male" -msgstr "hombre" - -#: ../../mod/profile_photo.php:297 -#, php-format -msgid "%1$s updated his %2$s" -msgstr "%1$s ha actualizado su %2$s" - -#: ../../mod/profile_photo.php:299 -#, php-format -msgid "%1$s updated their %2$s" -msgstr "%1$s ha actualizado sus %2$s" - -#: ../../mod/profile_photo.php:301 -msgid "profile photo" -msgstr "foto del perfil" - -#: ../../mod/profile_photo.php:365 ../../mod/profile_photo.php:406 -msgid "Photo not available." -msgstr "Foto no disponible." - -#: ../../mod/profile_photo.php:447 -msgid "Upload File:" -msgstr "Subir fichero:" - -#: ../../mod/profile_photo.php:448 -msgid "Select a profile:" -msgstr "Seleccionar un perfil:" - -#: ../../mod/profile_photo.php:449 -msgid "Upload Profile Photo" -msgstr "Subir foto del perfil" - -#: ../../mod/profile_photo.php:454 ../../mod/settings.php:973 -msgid "or" -msgstr "o" - -#: ../../mod/profile_photo.php:454 -msgid "skip this step" -msgstr "Omitir este paso" - -#: ../../mod/profile_photo.php:454 -msgid "select a photo from your photo albums" -msgstr "Seleccione una foto de sus álbumes de fotos" - -#: ../../mod/profile_photo.php:470 -msgid "Crop Image" -msgstr "Recortar imagen" - -#: ../../mod/profile_photo.php:471 -msgid "Please adjust the image cropping for optimum viewing." -msgstr "Por favor ajuste el recorte de la imagen para una visión óptima." - -#: ../../mod/profile_photo.php:473 -msgid "Done Editing" -msgstr "Edición completada" - -#: ../../mod/follow.php:25 -msgid "Channel added." -msgstr "Canal añadido." - -#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 -msgid "Tag removed" -msgstr "Etiqueta eliminada." - -#: ../../mod/tagrm.php:119 -msgid "Remove Item Tag" -msgstr "Eliminar etiqueta del elemento." - -#: ../../mod/tagrm.php:121 -msgid "Select a tag to remove: " -msgstr "Seleccionar una etiqueta para eliminar:" - -#: ../../mod/ratings.php:69 -msgid "No ratings" -msgstr "Ninguna valoración" - -#: ../../mod/ratings.php:99 -msgid "Ratings" -msgstr "Valoraciones" - -#: ../../mod/ratings.php:100 -msgid "Rating: " -msgstr "Valoración:" - -#: ../../mod/ratings.php:101 -msgid "Website: " -msgstr "Sitio web:" - -#: ../../mod/ratings.php:103 -msgid "Description: " -msgstr "Descripción:" - -#: ../../mod/item.php:173 -msgid "Unable to locate original post." -msgstr "No ha sido posible encontrar la entrada original." - -#: ../../mod/item.php:417 -msgid "Empty post discarded." -msgstr "La entrada vacía ha sido desechada." - -#: ../../mod/item.php:457 -msgid "Executable content type not permitted to this channel." -msgstr "Contenido de tipo ejecutable no permitido en este canal." - -#: ../../mod/item.php:822 -msgid "Duplicate post suppressed." -msgstr "Se ha suprimido la entrada duplicada." - -#: ../../mod/item.php:953 -msgid "System error. Post not saved." -msgstr "Error del sistema. La entrada no se ha podido salvar." - -#: ../../mod/item.php:1220 -msgid "Unable to obtain post information from database." -msgstr "No ha sido posible obtener información de la entrada en la base de datos." - -#: ../../mod/item.php:1227 -#, php-format -msgid "You have reached your limit of %1$.0f top level posts." -msgstr "Ha alcanzado su límite de %1$.0f entradas en la página principal." - -#: ../../mod/item.php:1234 -#, php-format -msgid "You have reached your limit of %1$.0f webpages." -msgstr "Ha alcanzado su límite de %1$.0f páginas web." - -#: ../../mod/webpages.php:191 -msgid "Page Title" -msgstr "Título de página" - -#: ../../mod/register.php:44 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." -msgstr "Se ha superado el límite máximo de inscripciones diarias de este sitio. Por favor, pruebe de nuevo mañana." - -#: ../../mod/register.php:50 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." -msgstr "Por favor, confirme que acepta los Términos del servicio. El registro ha fallado." - -#: ../../mod/register.php:84 -msgid "Passwords do not match." -msgstr "Las contraseñas no coinciden." - -#: ../../mod/register.php:117 -msgid "" -"Registration successful. Please check your email for validation " -"instructions." -msgstr "Registro realizado con éxito. Por favor, compruebe su correo electrónico para ver las instrucciones para validarlo." - -#: ../../mod/register.php:123 -msgid "Your registration is pending approval by the site owner." -msgstr "Su registro está pendiente de aprobación por el propietario del sitio." - -#: ../../mod/register.php:126 -msgid "Your registration can not be processed." -msgstr "Su registro no puede ser procesado." - -#: ../../mod/register.php:163 -msgid "Registration on this site/hub is by approval only." -msgstr "El registro en este servidor/hub está sometido a aprobación previa." - -#: ../../mod/register.php:164 -msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" -msgstr "<a href=\"pubsites\">Inscribirse en un servidor/hub afiliado</a>" - -#: ../../mod/register.php:174 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "Este sitio ha excedido el límite de inscripción diaria de cuentas. Por favor, inténtelo de nuevo mañana." - -#: ../../mod/register.php:185 -msgid "Terms of Service" -msgstr "Términos del servicio" - -#: ../../mod/register.php:191 -#, php-format -msgid "I accept the %s for this website" -msgstr "Acepto los %s de este sitio" - -#: ../../mod/register.php:193 -#, php-format -msgid "I am over 13 years of age and accept the %s for this website" -msgstr "Tengo más de 13 años de edad y acepto los %s de este sitio" - -#: ../../mod/register.php:212 -msgid "Membership on this site is by invitation only." -msgstr "Para registrarse en este sitio es necesaria una invitación." - -#: ../../mod/register.php:213 -msgid "Please enter your invitation code" -msgstr "Por favor, introduzca el código de su invitación" - -#: ../../mod/register.php:216 -msgid "Your email address" -msgstr "Su dirección de correo electrónico" - -#: ../../mod/register.php:217 -msgid "Choose a password" -msgstr "Elija una contraseña" - -#: ../../mod/register.php:218 -msgid "Please re-enter your password" -msgstr "Por favor, vuelva a escribir su contraseña" - -#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 -msgid "Block Name" -msgstr "Nombre del bloque" - -#: ../../mod/blocks.php:149 -msgid "Block Title" -msgstr "Título del bloque" - -#: ../../mod/removeaccount.php:30 -msgid "" -"Account removals are not allowed within 48 hours of changing the account " -"password." -msgstr "La eliminación de cuentas no está permitida hasta después de que hayan transcurrido 48 horas desde el último cambio de contraseña." - -#: ../../mod/removeaccount.php:57 -msgid "Remove This Account" -msgstr "Eliminar esta cuenta" - -#: ../../mod/removeaccount.php:58 -msgid "" -"This account and all its channels will be completely removed from the " -"network. " -msgstr "Esta cuenta y todos sus canales van a ser eliminados de la red." - -#: ../../mod/removeaccount.php:60 -msgid "" -"Remove this account, all its channels and all its channel clones from the " -"network" -msgstr "Remover esta cuenta, todos sus canales y clones de la red" - -#: ../../mod/removeaccount.php:60 -msgid "" -"By default only the instances of the channels located on this hub will be " -"removed from the network" -msgstr "Por defecto, solo las instancias de los canales ubicados en este servidor serán eliminados de la red" - -#: ../../mod/removeaccount.php:61 ../../mod/settings.php:698 -msgid "Remove Account" -msgstr "Eliminar cuenta" - -#: ../../mod/service_limits.php:19 -msgid "No service class restrictions found." -msgstr "No se han encontrado restricciones sobre esta clase de servicio." - -#: ../../mod/attach.php:9 -msgid "Item not available." -msgstr "Elemento no disponible" - -#: ../../mod/pubsites.php:18 -msgid "Public Sites" -msgstr "Sitios públicos" - -#: ../../mod/pubsites.php:21 -msgid "" -"The listed sites allow public registration for the $Projectname network. All" -" sites in the network are interlinked so membership on any of them conveys " -"membership in the network as a whole. Some sites may require subscription or" -" provide tiered service plans. The provider links <strong>may</strong> " -"provide additional details." -msgstr "Los sitios listados permiten el registro público en la red $Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los enlaces de los proveedores <strong> pueden </strong> proporcionar detalles adicionales." - -#: ../../mod/pubsites.php:27 -msgid "Rate this hub" -msgstr "Valorar este sitio" - -#: ../../mod/pubsites.php:28 -msgid "Site URL" -msgstr "Dirección del sitio" - -#: ../../mod/pubsites.php:28 -msgid "Access Type" -msgstr "Tipo de acceso" - -#: ../../mod/pubsites.php:28 -msgid "Registration Policy" -msgstr "Normas de registro" - -#: ../../mod/pubsites.php:28 ../../mod/profiles.php:454 -msgid "Location" -msgstr "Ubicación" - -#: ../../mod/pubsites.php:28 -msgid "Project" -msgstr "Proyecto" - -#: ../../mod/pubsites.php:28 -msgid "View hub ratings" -msgstr "Ver las valoraciones del sitio" - -#: ../../mod/pubsites.php:32 -msgid "Rate" -msgstr "Valorar" - -#: ../../mod/pubsites.php:33 -msgid "View ratings" -msgstr "Ver valoraciones" - -#: ../../mod/sources.php:32 -msgid "Failed to create source. No channel selected." -msgstr "Imposible crear el origen de los contenidos. Ningún canal ha sido seleccionado." - -#: ../../mod/sources.php:45 -msgid "Source created." -msgstr "Fuente creada." - -#: ../../mod/sources.php:57 -msgid "Source updated." -msgstr "Fuente actualizada." - -#: ../../mod/sources.php:82 -msgid "*" -msgstr "*" - -#: ../../mod/sources.php:89 -msgid "Manage remote sources of content for your channel." -msgstr "Gestionar contenido de origen remoto para su canal." - -#: ../../mod/sources.php:90 ../../mod/sources.php:100 -msgid "New Source" -msgstr "Nueva fuente" - -#: ../../mod/sources.php:101 ../../mod/sources.php:133 -msgid "" -"Import all or selected content from the following channel into this channel " -"and distribute it according to your channel settings." -msgstr "Importar todo el contenido o una selección de los siguientes canales en este canal y distribuirlo de acuerdo con sus ajustes." - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Only import content with these words (one per line)" -msgstr "Importar solo contenido que contenga estas palabras (una por línea)" - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Leave blank to import all public content" -msgstr "Dejar en blanco para importar todo el contenido público" - -#: ../../mod/sources.php:123 ../../mod/sources.php:150 -msgid "Source not found." -msgstr "Fuente no encontrada" - -#: ../../mod/sources.php:130 -msgid "Edit Source" -msgstr "Editar fuente" - -#: ../../mod/sources.php:131 -msgid "Delete Source" -msgstr "Eliminar fuente" - -#: ../../mod/sources.php:158 -msgid "Source removed" -msgstr "Fuente eliminada" - -#: ../../mod/sources.php:160 -msgid "Unable to remove source." -msgstr "Imposible eliminar la fuente." - -#: ../../mod/lockview.php:37 -msgid "Remote privacy information not available." -msgstr "La información privada remota no está disponible." - -#: ../../mod/lockview.php:58 -msgid "Visible to:" -msgstr "Visible para:" - -#: ../../mod/acl.php:222 -msgid "network" -msgstr "red" - -#: ../../mod/acl.php:232 -msgid "RSS" -msgstr "RSS" - -#: ../../mod/regmod.php:11 -msgid "Please login." -msgstr "Por favor, inicie sesión." - -#: ../../mod/rmagic.php:40 -msgid "" -"We encountered a problem while logging in with the OpenID you provided. " -"Please check the correct spelling of the ID." -msgstr "Encontramos un problema durante el inicio de sesión con la OpenID que proporcionó. Por favor, compruebe que la ID está correctamente escrita." - -#: ../../mod/rmagic.php:40 -msgid "The error message was:" -msgstr "El mensaje de error fue:" - -#: ../../mod/rmagic.php:44 -msgid "Authentication failed." -msgstr "Falló la autenticación." - -#: ../../mod/rmagic.php:84 -msgid "Remote Authentication" -msgstr "Acceso desde su servidor" - -#: ../../mod/rmagic.php:85 -msgid "Enter your channel address (e.g. channel@example.com)" -msgstr "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)" - -#: ../../mod/rmagic.php:86 -msgid "Authenticate" -msgstr "Acceder" - -#: ../../mod/channel.php:97 -msgid "Insufficient permissions. Request redirected to profile page." -msgstr "Permisos insuficientes. Petición redirigida a la página del perfil." - -#: ../../mod/import.php:28 -#, php-format -msgid "Your service plan only allows %d channels." -msgstr "Su paquete de servicios solo permite %d canales." - -#: ../../mod/import.php:66 ../../mod/import_items.php:38 -msgid "Nothing to import." -msgstr "No hay nada para importar." - -#: ../../mod/import.php:90 ../../mod/import_items.php:62 -msgid "Unable to download data from old server" -msgstr "No se han podido descargar datos de su antiguo servidor" - -#: ../../mod/import.php:96 ../../mod/import_items.php:68 -msgid "Imported file is empty." -msgstr "El fichero importado está vacío." - -#: ../../mod/import.php:116 ../../mod/import_items.php:82 -#, php-format -msgid "Warning: Database versions differ by %1$d updates." -msgstr "Atención: Las versiones de la base de datos difieren en %1$d actualizaciones." - -#: ../../mod/import.php:149 -msgid "No channel. Import failed." -msgstr "No hay canal. La importación ha fallado" - -#: ../../mod/import.php:509 -msgid "You must be logged in to use this feature." -msgstr "Debe estar registrado para poder usar esta funcionalidad." - -#: ../../mod/import.php:514 -msgid "Import Channel" -msgstr "Importar canal" - -#: ../../mod/import.php:515 -msgid "" -"Use this form to import an existing channel from a different server/hub. You" -" may retrieve the channel identity from the old server/hub via the network " -"or provide an export file." -msgstr "Emplee este formulario para importar un canal desde un servidor/hub diferente. Puede recuperar el canal desde el antiguo servidor/hub a través de la red o proporcionando un fichero de exportación." - -#: ../../mod/import.php:516 ../../mod/import_items.php:121 -msgid "File to Upload" -msgstr "Fichero para subir" - -#: ../../mod/import.php:517 -msgid "Or provide the old server/hub details" -msgstr "O proporcione los detalles de su antiguo servidor/hub" - -#: ../../mod/import.php:518 -msgid "Your old identity address (xyz@example.com)" -msgstr "Su identidad en el antiguo servidor (canal@ejemplo.com)" - -#: ../../mod/import.php:519 -msgid "Your old login email address" -msgstr "Su antigua dirección de correo electrónico" - -#: ../../mod/import.php:520 -msgid "Your old login password" -msgstr "Su antigua contraseña" - -#: ../../mod/import.php:521 -msgid "" -"For either option, please choose whether to make this hub your new primary " -"address, or whether your old location should continue this role. You will be" -" able to post from either location, but only one can be marked as the " -"primary location for files, photos, and media." -msgstr "Para cualquiera de las opciones, elija si hacer de este servidor su nueva dirección primaria, o si su antigua ubicación debe continuar con este papel. Usted podrá publicar desde cualquier ubicación, pero sólo una puede estar marcada como la ubicación principal para los ficheros, fotos y otras imágenes o vídeos." - -#: ../../mod/import.php:522 -msgid "Make this hub my primary location" -msgstr "Convertir este servidor en mi ubicación primaria" - -#: ../../mod/import.php:523 -msgid "" -"Import existing posts if possible (experimental - limited by available " -"memory" -msgstr "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible" - -#: ../../mod/import.php:524 -msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." -msgstr "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine." - -#: ../../mod/dreport.php:23 -msgid "Invalid message" -msgstr "Mensaje no válido" - -#: ../../mod/dreport.php:55 -msgid "no results" -msgstr "sin resultados" - -#: ../../mod/dreport.php:60 -#, php-format -msgid "Delivery report for %1$s" -msgstr "Informe de entrega para %1$s" - -#: ../../mod/dreport.php:74 -msgid "channel sync processed" -msgstr "se ha realizado la sincronización del canal" - -#: ../../mod/dreport.php:78 -msgid "queued" -msgstr "encolado" - -#: ../../mod/dreport.php:82 -msgid "posted" -msgstr "enviado" - -#: ../../mod/dreport.php:86 -msgid "accepted for delivery" -msgstr "aceptado para el envío" - -#: ../../mod/dreport.php:90 -msgid "updated" -msgstr "actualizado" - -#: ../../mod/dreport.php:93 -msgid "update ignored" -msgstr "actualización ignorada" - -#: ../../mod/dreport.php:96 -msgid "permission denied" -msgstr "permiso denegado" - -#: ../../mod/dreport.php:100 -msgid "recipient not found" -msgstr "destinatario no encontrado" - -#: ../../mod/dreport.php:103 -msgid "mail recalled" -msgstr "mensaje de correo revocado" - -#: ../../mod/dreport.php:106 -msgid "duplicate mail received" -msgstr "se ha recibido mensaje duplicado" - -#: ../../mod/dreport.php:109 -msgid "mail delivered" -msgstr "correo enviado" - -#: ../../mod/thing.php:111 -msgid "Thing updated" -msgstr "Elemento actualizado." - -#: ../../mod/thing.php:163 -msgid "Object store: failed" -msgstr "Guardar objeto: ha fallado" - -#: ../../mod/thing.php:167 -msgid "Thing added" -msgstr "Elemento añadido" - -#: ../../mod/thing.php:193 -#, php-format -msgid "OBJ: %1$s %2$s %3$s" -msgstr "OBJ: %1$s %2$s %3$s" - -#: ../../mod/thing.php:256 -msgid "Show Thing" -msgstr "Mostrar elemento" - -#: ../../mod/thing.php:263 -msgid "item not found." -msgstr "elemento no encontrado." - -#: ../../mod/thing.php:296 -msgid "Edit Thing" -msgstr "Editar elemento" - -#: ../../mod/thing.php:298 ../../mod/thing.php:348 -msgid "Select a profile" -msgstr "Seleccionar un perfil" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Post an activity" -msgstr "Publicar una actividad" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Only sends to viewers of the applicable profile" -msgstr "Sólo enviar a espectadores del perfil pertinente." - -#: ../../mod/thing.php:304 ../../mod/thing.php:353 -msgid "Name of thing e.g. something" -msgstr "Nombre del elemento, p. ej.:. \"algo\"" - -#: ../../mod/thing.php:306 ../../mod/thing.php:354 -msgid "URL of thing (optional)" -msgstr "Dirección del elemento (opcional)" - -#: ../../mod/thing.php:308 ../../mod/thing.php:355 -msgid "URL for photo of thing (optional)" -msgstr "Dirección para la foto o elemento (opcional)" - -#: ../../mod/thing.php:346 -msgid "Add Thing to your Profile" -msgstr "Añadir alguna cosa a su perfil" - -#: ../../mod/invite.php:25 -msgid "Total invitation limit exceeded." -msgstr "Se ha superado el límite máximo de invitaciones." - -#: ../../mod/invite.php:49 -#, php-format -msgid "%s : Not a valid email address." -msgstr "%s : No es una dirección de correo electrónico válida. " - -#: ../../mod/invite.php:76 -msgid "Please join us on $Projectname" -msgstr "Únase a nosotros en $Projectname" - -#: ../../mod/invite.php:87 -msgid "Invitation limit exceeded. Please contact your site administrator." -msgstr "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio." - -#: ../../mod/invite.php:92 -#, php-format -msgid "%s : Message delivery failed." -msgstr "%s : Falló el envío del mensaje." - -#: ../../mod/invite.php:96 -#, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "%d mensajes enviados." -msgstr[1] "%d mensajes enviados." - -#: ../../mod/invite.php:115 -msgid "You have no more invitations available" -msgstr "No tiene más invitaciones disponibles" - -#: ../../mod/invite.php:129 -msgid "Send invitations" -msgstr "Enviar invitaciones" - -#: ../../mod/invite.php:130 -msgid "Enter email addresses, one per line:" -msgstr "Introduzca las direcciones de correo electrónica, una por línea:" - -#: ../../mod/invite.php:131 ../../mod/mail.php:238 -msgid "Your message:" -msgstr "Su mensaje:" - -#: ../../mod/invite.php:132 -msgid "Please join my community on $Projectname." -msgstr "Por favor, únase a mi comunidad en $Projectname." - -#: ../../mod/invite.php:134 -msgid "You will need to supply this invitation code: " -msgstr "Debe proporcionar este código de invitación:" - -#: ../../mod/invite.php:135 -msgid "" -"1. Register at any $Projectname location (they are all inter-connected)" -msgstr "1. Regístrese en cualquier sitio de $Projectname (están todos interconectados)" - -#: ../../mod/invite.php:137 -msgid "2. Enter my $Projectname network address into the site searchbar." -msgstr "2. Introduzca mi dirección $Projectname en la caja de búsqueda del sitio." - -#: ../../mod/invite.php:138 -msgid "or visit " -msgstr "o visite" - -#: ../../mod/invite.php:140 -msgid "3. Click [Connect]" -msgstr "3. Pulse [conectar]" - -#: ../../mod/mail.php:33 -msgid "Unable to lookup recipient." -msgstr "Imposible asociar a un destinatario." - -#: ../../mod/mail.php:41 -msgid "Unable to communicate with requested channel." -msgstr "Imposible comunicar con el canal solicitado." - -#: ../../mod/mail.php:48 -msgid "Cannot verify requested channel." -msgstr "No se puede verificar el canal solicitado." - -#: ../../mod/mail.php:74 -msgid "Selected channel has private message restrictions. Send failed." -msgstr "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló." - -#: ../../mod/mail.php:132 -msgid "Messages" -msgstr "Mensajes" - -#: ../../mod/mail.php:167 -msgid "Message recalled." -msgstr "Mensaje revocado." - -#: ../../mod/mail.php:180 -msgid "Conversation removed." -msgstr "Conversación eliminada." - -#: ../../mod/mail.php:223 -msgid "Requested channel is not in this network" -msgstr "El canal solicitado no existe en esta red" - -#: ../../mod/mail.php:231 -msgid "Send Private Message" -msgstr "Enviar un mensaje privado" - -#: ../../mod/mail.php:232 ../../mod/mail.php:361 -msgid "To:" -msgstr "Para:" - -#: ../../mod/mail.php:235 ../../mod/mail.php:363 -msgid "Subject:" -msgstr "Asunto:" - -#: ../../mod/mail.php:242 -msgid "Send" -msgstr "Enviar" - -#: ../../mod/mail.php:333 -msgid "Delete message" -msgstr "Borrar mensaje" - -#: ../../mod/mail.php:334 -msgid "Delivery report" -msgstr "Informe de transmisión" - -#: ../../mod/mail.php:335 -msgid "Recall message" -msgstr "Revocar el mensaje" - -#: ../../mod/mail.php:337 -msgid "Message has been recalled." -msgstr "El mensaje ha sido revocado." - -#: ../../mod/mail.php:354 -msgid "Delete Conversation" -msgstr "Eliminar Conversación" - -#: ../../mod/mail.php:356 -msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." -msgstr "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente." - -#: ../../mod/mail.php:360 -msgid "Send Reply" -msgstr "Responder" +#: ../../mod/editlayout.php:112 +msgid "Delete layout?" +msgstr "¿Borrar el formato?" -#: ../../mod/mail.php:365 -#, php-format -msgid "Your message for %s (%s):" -msgstr "Su mensaje para %s (%s):" +#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124 +msgid "Layout Description (Optional)" +msgstr "Descripción del formato gráfico (opcional)" -#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25 -#: ../../mod/update_home.php:21 ../../mod/update_network.php:23 -#: ../../mod/update_search.php:46 ../../mod/update_public.php:21 -msgid "[Embedded content - reload page to view]" -msgstr "[Contenido incorporado - recargue la página para poder verlo]" +#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121 +#: ../../mod/layouts.php:179 +msgid "Layout Name" +msgstr "Nombre del formato" -#: ../../mod/viewsrc.php:40 -msgid "Source of Item" -msgstr "Origen del elemento" +#: ../../mod/editlayout.php:178 +msgid "Edit Layout" +msgstr "Modificar el formato" #: ../../mod/settings.php:76 msgid "Name is required" @@ -7505,797 +7608,611 @@ msgstr "Dirección de correo electrónico protegida. No se puede cambiar a ella. msgid "System failure storing new email. Please try again." msgstr "Fallo de sistema al guardar el nuevo correo electrónico. Por favor, inténtelo de nuevo." -#: ../../mod/settings.php:519 +#: ../../mod/settings.php:521 msgid "Settings updated." msgstr "Ajustes actualizados." -#: ../../mod/settings.php:583 ../../mod/settings.php:609 -#: ../../mod/settings.php:645 +#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../mod/settings.php:647 msgid "Add application" msgstr "Añadir aplicación" -#: ../../mod/settings.php:586 +#: ../../mod/settings.php:588 msgid "Name of application" msgstr "Nombre de la aplicación" -#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/settings.php:589 ../../mod/settings.php:615 msgid "Consumer Key" msgstr "Clave de consumidor" -#: ../../mod/settings.php:587 ../../mod/settings.php:588 +#: ../../mod/settings.php:589 ../../mod/settings.php:590 msgid "Automatically generated - change if desired. Max length 20" msgstr "Generado automáticamente - si lo desea, cámbielo. Longitud máxima: 20" -#: ../../mod/settings.php:588 ../../mod/settings.php:614 +#: ../../mod/settings.php:590 ../../mod/settings.php:616 msgid "Consumer Secret" msgstr "Clave secreta de consumidor" -#: ../../mod/settings.php:589 ../../mod/settings.php:615 +#: ../../mod/settings.php:591 ../../mod/settings.php:617 msgid "Redirect" msgstr "Redirigir" -#: ../../mod/settings.php:589 +#: ../../mod/settings.php:591 msgid "" "Redirect URI - leave blank unless your application specifically requires " "this" msgstr "URI de redirección - dejar en blanco a menos que su aplicación específicamente lo requiera" -#: ../../mod/settings.php:590 ../../mod/settings.php:616 +#: ../../mod/settings.php:592 ../../mod/settings.php:618 msgid "Icon url" msgstr "Dirección del icono" -#: ../../mod/settings.php:590 +#: ../../mod/settings.php:592 msgid "Optional" msgstr "Opcional" -#: ../../mod/settings.php:601 +#: ../../mod/settings.php:603 msgid "You can't edit this application." msgstr "No puede modificar esta aplicación." -#: ../../mod/settings.php:644 +#: ../../mod/settings.php:646 msgid "Connected Apps" msgstr "Aplicaciones conectadas" -#: ../../mod/settings.php:648 +#: ../../mod/settings.php:650 msgid "Client key starts with" msgstr "La clave de cliente empieza por" -#: ../../mod/settings.php:649 +#: ../../mod/settings.php:651 msgid "No name" msgstr "Sin nombre" -#: ../../mod/settings.php:650 +#: ../../mod/settings.php:652 msgid "Remove authorization" msgstr "Eliminar autorización" -#: ../../mod/settings.php:663 +#: ../../mod/settings.php:665 msgid "No feature settings configured" msgstr "No se ha establecido la configuración de características" -#: ../../mod/settings.php:670 +#: ../../mod/settings.php:672 msgid "Feature/Addon Settings" msgstr "Ajustes de la característica o el complemento" -#: ../../mod/settings.php:693 +#: ../../mod/settings.php:695 msgid "Account Settings" msgstr "Configuración de la cuenta" -#: ../../mod/settings.php:694 +#: ../../mod/settings.php:696 msgid "Enter New Password:" msgstr "Introduzca la nueva contraseña:" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Confirm New Password:" msgstr "Confirme la nueva contraseña:" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Leave password fields blank unless changing" msgstr "Dejar en blanco los campos de contraseña a menos que cambie" -#: ../../mod/settings.php:697 ../../mod/settings.php:1028 +#: ../../mod/settings.php:699 ../../mod/settings.php:1030 msgid "Email Address:" msgstr "Dirección de correo electrónico:" -#: ../../mod/settings.php:699 +#: ../../mod/settings.php:701 msgid "Remove this account including all its channels" msgstr "Eliminar esta cuenta incluyendo todos sus canales" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "Off" msgstr "Desactivado" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "On" msgstr "Activado" -#: ../../mod/settings.php:722 +#: ../../mod/settings.php:724 msgid "Additional Features" msgstr "Características adicionales" -#: ../../mod/settings.php:746 +#: ../../mod/settings.php:748 msgid "Connector Settings" msgstr "Configuración del conector" -#: ../../mod/settings.php:785 +#: ../../mod/settings.php:787 msgid "No special theme for mobile devices" msgstr "Sin tema especial para dispositivos móviles" -#: ../../mod/settings.php:788 +#: ../../mod/settings.php:790 #, php-format msgid "%s - (Experimental)" msgstr "%s - (Experimental)" -#: ../../mod/settings.php:827 +#: ../../mod/settings.php:829 msgid "Display Settings" msgstr "Ajustes de visualización" -#: ../../mod/settings.php:828 +#: ../../mod/settings.php:830 msgid "Theme Settings" msgstr "Ajustes del tema" -#: ../../mod/settings.php:829 +#: ../../mod/settings.php:831 msgid "Custom Theme Settings" msgstr "Ajustes personalizados del tema" -#: ../../mod/settings.php:830 +#: ../../mod/settings.php:832 msgid "Content Settings" msgstr "Ajustes del contenido" -#: ../../mod/settings.php:836 +#: ../../mod/settings.php:838 msgid "Display Theme:" msgstr "Tema gráfico del perfil:" -#: ../../mod/settings.php:837 +#: ../../mod/settings.php:839 msgid "Mobile Theme:" msgstr "Tema para el móvil:" -#: ../../mod/settings.php:838 +#: ../../mod/settings.php:840 msgid "Enable user zoom on mobile devices" msgstr "Habilitar zoom de usuario en dispositivos móviles" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Update browser every xx seconds" msgstr "Actualizar navegador cada xx segundos" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Minimum of 10 seconds, no maximum" msgstr "Mínimo de 10 segundos, sin máximo" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum number of conversations to load at any time:" msgstr "Máximo número de conversaciones a cargar en cualquier momento:" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum of 100 items" msgstr "Máximo de 100 elementos" -#: ../../mod/settings.php:841 +#: ../../mod/settings.php:843 msgid "Show emoticons (smilies) as images" msgstr "Mostrar emoticonos (smilies) como imágenes" -#: ../../mod/settings.php:842 +#: ../../mod/settings.php:844 msgid "Link post titles to source" msgstr "Enlazar título de la publicación a la fuente original" -#: ../../mod/settings.php:843 +#: ../../mod/settings.php:845 msgid "System Page Layout Editor - (advanced)" msgstr "Editor de diseño de página del sistema - (avanzado)" -#: ../../mod/settings.php:846 +#: ../../mod/settings.php:848 msgid "Use blog/list mode on channel page" msgstr "Usar modo blog/lista en la página de inicio del canal" -#: ../../mod/settings.php:846 ../../mod/settings.php:847 +#: ../../mod/settings.php:848 ../../mod/settings.php:849 msgid "(comments displayed separately)" msgstr "(comentarios mostrados de forma separada)" -#: ../../mod/settings.php:847 +#: ../../mod/settings.php:849 msgid "Use blog/list mode on matrix page" msgstr "Mostrar la red en modo blog/lista" -#: ../../mod/settings.php:848 +#: ../../mod/settings.php:850 msgid "Channel page max height of content (in pixels)" msgstr "Altura máxima del contenido de la página del canal (en píxeles)" -#: ../../mod/settings.php:848 ../../mod/settings.php:849 +#: ../../mod/settings.php:850 ../../mod/settings.php:851 msgid "click to expand content exceeding this height" msgstr "Pulsar para expandir el contenido que exceda de esta altura" -#: ../../mod/settings.php:849 +#: ../../mod/settings.php:851 msgid "Matrix page max height of content (in pixels)" msgstr "Altura máxima del contenido de la página de su red (en píxeles)" -#: ../../mod/settings.php:883 +#: ../../mod/settings.php:885 msgid "Nobody except yourself" msgstr "Nadie excepto usted" -#: ../../mod/settings.php:884 +#: ../../mod/settings.php:886 msgid "Only those you specifically allow" msgstr "Solo aquellos a los que usted permita explícitamente" -#: ../../mod/settings.php:885 +#: ../../mod/settings.php:887 msgid "Approved connections" msgstr "Conexiones aprobadas" -#: ../../mod/settings.php:886 +#: ../../mod/settings.php:888 msgid "Any connections" msgstr "Cualquier conexión" -#: ../../mod/settings.php:887 +#: ../../mod/settings.php:889 msgid "Anybody on this website" msgstr "Cualquiera en este sitio web" -#: ../../mod/settings.php:888 +#: ../../mod/settings.php:890 msgid "Anybody in this network" msgstr "Cualquiera en esta red" -#: ../../mod/settings.php:889 +#: ../../mod/settings.php:891 msgid "Anybody authenticated" msgstr "Cualquiera que esté autenticado" -#: ../../mod/settings.php:890 +#: ../../mod/settings.php:892 msgid "Anybody on the internet" msgstr "Cualquiera en internet" -#: ../../mod/settings.php:964 +#: ../../mod/settings.php:966 msgid "Publish your default profile in the network directory" msgstr "Publicar su perfil principal en el directorio de la red" -#: ../../mod/settings.php:969 +#: ../../mod/settings.php:971 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "¿Nos permite sugerirle como amigo potencial a los nuevos miembros?" -#: ../../mod/settings.php:978 +#: ../../mod/settings.php:980 msgid "Your channel address is" msgstr "Su dirección de canal es" -#: ../../mod/settings.php:1019 +#: ../../mod/settings.php:1021 msgid "Channel Settings" msgstr "Ajustes del canal" -#: ../../mod/settings.php:1026 +#: ../../mod/settings.php:1028 msgid "Basic Settings" msgstr "Configuración básica" -#: ../../mod/settings.php:1029 +#: ../../mod/settings.php:1031 msgid "Your Timezone:" msgstr "Su zona horaria:" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Default Post Location:" msgstr "Ubicación de publicación predeterminada:" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Geographical location to display on your posts" msgstr "Ubicación geográfica que debe mostrarse en sus publicaciones" -#: ../../mod/settings.php:1031 +#: ../../mod/settings.php:1033 msgid "Use Browser Location:" msgstr "Usar la ubicación del navegador:" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "Adult Content" msgstr "Contenido solo para adultos" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "Este canal publica contenido solo para adultos con frecuencia o regularmente. (Por favor etiquete cualquier material para adultos con la etiqueta #NSFW)" -#: ../../mod/settings.php:1035 +#: ../../mod/settings.php:1037 msgid "Security and Privacy Settings" msgstr "Configuración de seguridad y privacidad" -#: ../../mod/settings.php:1037 +#: ../../mod/settings.php:1039 msgid "Your permissions are already configured. Click to view/adjust" msgstr "Sus permisos ya están configurados. Pulse para ver/ajustar" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Hide my online presence" msgstr "Ocultar mi presencia en línea" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Prevents displaying in your profile that you are online" msgstr "Evitar mostrar en su perfil que está en línea" -#: ../../mod/settings.php:1041 +#: ../../mod/settings.php:1043 msgid "Simple Privacy Settings:" msgstr "Configuración de privacidad sencilla:" -#: ../../mod/settings.php:1042 +#: ../../mod/settings.php:1044 msgid "" "Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "Muy Público - <em>extremadamente permisivo (debería ser usado con precaución)</em>" -#: ../../mod/settings.php:1043 +#: ../../mod/settings.php:1045 msgid "" "Typical - <em>default public, privacy when desired (similar to social " "network permissions but with improved privacy)</em>" msgstr "Típico - <em>por defecto público, privado cuando se desee (similar a los permisos de una red social pero con privacidad mejorada)</em>" -#: ../../mod/settings.php:1044 +#: ../../mod/settings.php:1046 msgid "Private - <em>default private, never open or public</em>" msgstr "Privado - <em>por defecto, privado, nunca abierto o público</em>" -#: ../../mod/settings.php:1045 +#: ../../mod/settings.php:1047 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "Bloqueado - <em>por defecto, bloqueado/a para cualquiera</em>" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "Allow others to tag your posts" msgstr "Permitir a otros etiquetar sus publicaciones" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "A menudo usado por la comunidad para marcar contenido inapropiado de forma retroactiva." -#: ../../mod/settings.php:1049 +#: ../../mod/settings.php:1051 msgid "Advanced Privacy Settings" msgstr "Configuración de privacidad avanzada" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "Expire other channel content after this many days" msgstr "Caducar contenido de otros canales después de este número de días" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "0 or blank prevents expiration" msgstr "0 o en claro evitan la caducidad" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "Maximum Friend Requests/Day:" msgstr "Máximo de solicitudes de amistad por día:" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "May reduce spam activity" msgstr "Podría reducir la actividad de spam" -#: ../../mod/settings.php:1053 +#: ../../mod/settings.php:1055 msgid "Default Post Permissions" msgstr "Permisos de publicación predeterminados" -#: ../../mod/settings.php:1058 +#: ../../mod/settings.php:1056 ../../mod/mitem.php:150 ../../mod/mitem.php:223 +msgid "(click to open/close)" +msgstr "(pulsar para abrir o cerrar)" + +#: ../../mod/settings.php:1060 msgid "Channel permissions category:" msgstr "Categoría de permisos del canal:" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Maximum private messages per day from unknown people:" msgstr "Máximo de mensajes privados por día de gente desconocida:" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Useful to reduce spamming" msgstr "Útil para reducir el envío de correo no deseado" -#: ../../mod/settings.php:1067 +#: ../../mod/settings.php:1069 msgid "Notification Settings" msgstr "Configuración de notificaciones" -#: ../../mod/settings.php:1068 +#: ../../mod/settings.php:1070 msgid "By default post a status message when:" msgstr "Por defecto, enviar un mensaje de estado cuando:" -#: ../../mod/settings.php:1069 +#: ../../mod/settings.php:1071 msgid "accepting a friend request" msgstr "acepte una solicitud de amistad" -#: ../../mod/settings.php:1070 +#: ../../mod/settings.php:1072 msgid "joining a forum/community" msgstr "al unirse a un foro o comunidad" -#: ../../mod/settings.php:1071 +#: ../../mod/settings.php:1073 msgid "making an <em>interesting</em> profile change" msgstr "realice un cambio <em>interesante</em> en su perfil" -#: ../../mod/settings.php:1072 +#: ../../mod/settings.php:1074 msgid "Send a notification email when:" msgstr "Enviar una notificación por correo electrónico cuando:" -#: ../../mod/settings.php:1073 +#: ../../mod/settings.php:1075 msgid "You receive a connection request" msgstr "Reciba una solicitud de conexión" -#: ../../mod/settings.php:1074 +#: ../../mod/settings.php:1076 msgid "Your connections are confirmed" msgstr "Sus conexiones hayan sido confirmadas" -#: ../../mod/settings.php:1075 +#: ../../mod/settings.php:1077 msgid "Someone writes on your profile wall" msgstr "Alguien escriba en la página de su perfil (muro)" -#: ../../mod/settings.php:1076 +#: ../../mod/settings.php:1078 msgid "Someone writes a followup comment" msgstr "Alguien escriba un comentario sobre sus publicaciones" -#: ../../mod/settings.php:1077 +#: ../../mod/settings.php:1079 msgid "You receive a private message" msgstr "Reciba un mensaje privado" -#: ../../mod/settings.php:1078 +#: ../../mod/settings.php:1080 msgid "You receive a friend suggestion" msgstr "Reciba una sugerencia de amistad" -#: ../../mod/settings.php:1079 +#: ../../mod/settings.php:1081 msgid "You are tagged in a post" msgstr "Usted sea etiquetado en una publicación" -#: ../../mod/settings.php:1080 +#: ../../mod/settings.php:1082 msgid "You are poked/prodded/etc. in a post" msgstr "Reciba un toque o incitación en una entrada" -#: ../../mod/settings.php:1083 +#: ../../mod/settings.php:1085 msgid "Show visual notifications including:" msgstr "Mostrar notificaciones visuales que incluyan:" -#: ../../mod/settings.php:1085 +#: ../../mod/settings.php:1087 msgid "Unseen matrix activity" msgstr "Actividad no vista en la red" -#: ../../mod/settings.php:1086 +#: ../../mod/settings.php:1088 msgid "Unseen channel activity" msgstr "Actividad no vista en el canal" -#: ../../mod/settings.php:1087 +#: ../../mod/settings.php:1089 msgid "Unseen private messages" msgstr "Mensajes privados no leídos" -#: ../../mod/settings.php:1087 ../../mod/settings.php:1092 -#: ../../mod/settings.php:1093 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1089 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1095 ../../mod/settings.php:1096 msgid "Recommended" msgstr "Recomendado" -#: ../../mod/settings.php:1088 +#: ../../mod/settings.php:1090 msgid "Upcoming events" msgstr "Próximos eventos" -#: ../../mod/settings.php:1089 +#: ../../mod/settings.php:1091 msgid "Events today" msgstr "Eventos de hoy" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Upcoming birthdays" msgstr "Próximos cumpleaños" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Not available in all themes" msgstr "No disponible en todos los temas" -#: ../../mod/settings.php:1091 +#: ../../mod/settings.php:1093 msgid "System (personal) notifications" msgstr "Notificaciones del sistema (personales)" -#: ../../mod/settings.php:1092 +#: ../../mod/settings.php:1094 msgid "System info messages" msgstr "Mensajes de información del sistema" -#: ../../mod/settings.php:1093 +#: ../../mod/settings.php:1095 msgid "System critical alerts" msgstr "Alertas críticas del sistema" -#: ../../mod/settings.php:1094 +#: ../../mod/settings.php:1096 msgid "New connections" msgstr "Nuevas conexiones" -#: ../../mod/settings.php:1095 +#: ../../mod/settings.php:1097 msgid "System Registrations" msgstr "Registros del sistema" -#: ../../mod/settings.php:1096 +#: ../../mod/settings.php:1098 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "Mostrar también en Avisos las nuevas publicaciones, los mensajes privados y las conexiones" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Notify me of events this many days in advance" msgstr "Avisarme de los eventos con algunos días de antelación" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Must be greater than 0" msgstr "Debe ser mayor que 0" -#: ../../mod/settings.php:1100 +#: ../../mod/settings.php:1102 msgid "Advanced Account/Page Type Settings" msgstr "Ajustes avanzados de la cuenta y de los tipos de página" -#: ../../mod/settings.php:1101 +#: ../../mod/settings.php:1103 msgid "Change the behaviour of this account for special situations" msgstr "Cambiar el comportamiento de esta cuenta en situaciones especiales" -#: ../../mod/settings.php:1104 +#: ../../mod/settings.php:1106 msgid "" "Please enable expert mode (in <a href=\"settings/features\">Settings > " "Additional features</a>) to adjust!" msgstr "Activar modo experto (en <a href=\"settings/features\">Ajustes > Características Adicionales</a>) para ajustar." -#: ../../mod/settings.php:1105 +#: ../../mod/settings.php:1107 msgid "Miscellaneous Settings" msgstr "Ajustes diversos" -#: ../../mod/settings.php:1106 +#: ../../mod/settings.php:1108 msgid "Default photo upload folder" msgstr "Carpeta por defecto de las fotos subidas" -#: ../../mod/settings.php:1106 ../../mod/settings.php:1107 +#: ../../mod/settings.php:1108 ../../mod/settings.php:1109 msgid "%Y - current year, %m - current month" msgstr "%Y - año en curso, %m - mes actual" -#: ../../mod/settings.php:1107 +#: ../../mod/settings.php:1109 msgid "Default file upload folder" msgstr "Carpeta por defecto de los archivos subidos" -#: ../../mod/settings.php:1109 +#: ../../mod/settings.php:1111 msgid "Personal menu to display in your channel pages" msgstr "Menú personal que debe mostrarse en las páginas de su canal" -#: ../../mod/settings.php:1111 +#: ../../mod/settings.php:1113 msgid "Remove this channel." msgstr "Eliminar este canal." -#: ../../mod/settings.php:1112 +#: ../../mod/settings.php:1114 msgid "Firefox Share $Projectname provider" msgstr "Servicio de compartición de Firefox: proveedor $Projectname" -#: ../../mod/xchan.php:6 -msgid "Xchan Lookup" -msgstr "Búsqueda de canales" - -#: ../../mod/xchan.php:9 -msgid "Lookup xchan beginning with (or webbie): " -msgstr "Buscar un canal (o un \"webbie\") que comience por:" - -#: ../../mod/manage.php:130 -#, php-format -msgid "You have created %1$.0f of %2$.0f allowed channels." -msgstr "Ha creado %1$.0f de %2$.0f canales permitidos." - -#: ../../mod/manage.php:138 -msgid "Create a new channel" -msgstr "Crear un nuevo canal" - -#: ../../mod/manage.php:161 -msgid "Current Channel" -msgstr "Canal actual" - -#: ../../mod/manage.php:163 -msgid "Switch to one of your channels by selecting it." -msgstr "Cambiar a uno de sus canales seleccionándolo." - -#: ../../mod/manage.php:164 -msgid "Default Channel" -msgstr "Canal principal" - -#: ../../mod/manage.php:165 -msgid "Make Default" -msgstr "Convertir en predeterminado" - -#: ../../mod/manage.php:168 -#, php-format -msgid "%d new messages" -msgstr "%d mensajes nuevos" - -#: ../../mod/manage.php:169 -#, php-format -msgid "%d new introductions" -msgstr "%d nuevas isolicitudes de conexión" - -#: ../../mod/manage.php:171 -msgid "Delegated Channels" -msgstr "Canales delegados" - -#: ../../mod/api.php:76 ../../mod/api.php:102 -msgid "Authorize application connection" -msgstr "Autorizar una conexión de aplicación" - -#: ../../mod/api.php:77 -msgid "Return to your app and insert this Securty Code:" -msgstr "Volver a su aplicación e introducir este código de seguridad:" - -#: ../../mod/api.php:89 -msgid "Please login to continue." -msgstr "Por favor inicia sesión para continuar." - -#: ../../mod/api.php:104 -msgid "" -"Do you want to authorize this application to access your posts and contacts," -" and/or create new posts for you?" -msgstr "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?" - -#: ../../mod/connections.php:52 ../../mod/connections.php:150 -msgid "Blocked" -msgstr "Bloqueadas" - -#: ../../mod/connections.php:57 ../../mod/connections.php:157 -msgid "Ignored" -msgstr "Ignoradas" - -#: ../../mod/connections.php:62 ../../mod/connections.php:171 -msgid "Hidden" -msgstr "Ocultas" - -#: ../../mod/connections.php:67 ../../mod/connections.php:164 -msgid "Archived" -msgstr "Archivadas" - -#: ../../mod/connections.php:128 -msgid "Suggest new connections" -msgstr "Sugerir nuevas conexiones" - -#: ../../mod/connections.php:131 -msgid "New Connections" -msgstr "Nuevas conexiones" - -#: ../../mod/connections.php:134 -msgid "Show pending (new) connections" -msgstr "Mostrar conexiones (nuevas) pendientes" - -#: ../../mod/connections.php:137 ../../mod/profperm.php:139 -msgid "All Connections" -msgstr "Todas las conexiones" - -#: ../../mod/connections.php:140 -msgid "Show all connections" -msgstr "Mostrar todas las conexiones" - -#: ../../mod/connections.php:143 -msgid "Unblocked" -msgstr "Desbloqueadas" - -#: ../../mod/connections.php:146 -msgid "Only show unblocked connections" -msgstr "Mostrar solo las conexiones desbloqueadas" - -#: ../../mod/connections.php:153 -msgid "Only show blocked connections" -msgstr "Mostrar solo las conexiones bloqueadas" - -#: ../../mod/connections.php:160 -msgid "Only show ignored connections" -msgstr "Mostrar solo conexiones ignoradas" - -#: ../../mod/connections.php:167 -msgid "Only show archived connections" -msgstr "Mostrar solo las conexiones archivadas" - -#: ../../mod/connections.php:174 -msgid "Only show hidden connections" -msgstr "Mostrar solo las conexiones ocultas" - -#: ../../mod/connections.php:225 -#, php-format -msgid "%1$s [%2$s]" -msgstr "%1$s [%2$s]" - -#: ../../mod/connections.php:226 -msgid "Edit connection" -msgstr "Editar conexión" - -#: ../../mod/connections.php:264 -msgid "Search your connections" -msgstr "Buscar sus conexiones" - -#: ../../mod/connections.php:265 -msgid "Finding: " -msgstr "Búsqueda:" - -#: ../../mod/editlayout.php:112 -msgid "Delete layout?" -msgstr "¿Borrar el formato?" - -#: ../../mod/editlayout.php:178 -msgid "Edit Layout" -msgstr "Modificar el formato" - -#: ../../mod/editwebpage.php:153 -msgid "Delete webpage?" -msgstr "¿Eliminar la página web?" - -#: ../../mod/editwebpage.php:172 -msgid "Page link title" -msgstr "Título del enlace de la página" - -#: ../../mod/editwebpage.php:222 -msgid "Edit Webpage" -msgstr "Editar la página web" - -#: ../../mod/group.php:20 -msgid "Collection created." -msgstr "La colección ha sido creada." - -#: ../../mod/group.php:26 -msgid "Could not create collection." -msgstr "No se puede crear la colección." - -#: ../../mod/group.php:54 -msgid "Collection updated." -msgstr "La colección ha sido actualizada." - -#: ../../mod/group.php:86 -msgid "Create a collection of channels." -msgstr "Crear una colección de canales." - -#: ../../mod/group.php:87 ../../mod/group.php:180 -msgid "Collection Name: " -msgstr "Nombre de la colección:" +#: ../../mod/settings.php:1115 +msgid "Start calendar week on monday" +msgstr "Comenzar el calendario semanal por el lunes" -#: ../../mod/group.php:89 ../../mod/group.php:183 -msgid "Members are visible to other channels" -msgstr "Los miembros son visibles para otros canales" - -#: ../../mod/group.php:107 -msgid "Collection removed." -msgstr "La colección ha sido eliminada." +#: ../../mod/webpages.php:191 +msgid "Page Title" +msgstr "Título de página" -#: ../../mod/group.php:109 -msgid "Unable to remove collection." -msgstr "No ha sido posible de eliminar la colección." +#: ../../mod/appman.php:28 ../../mod/appman.php:44 +msgid "App installed." +msgstr "Aplicación instalada." -#: ../../mod/group.php:179 -msgid "Collection Editor" -msgstr "Editor de colecciones" +#: ../../mod/appman.php:37 +msgid "Malformed app." +msgstr "Aplicación con errores" -#: ../../mod/group.php:193 -msgid "Members" -msgstr "Miembros" +#: ../../mod/appman.php:80 +msgid "Embed code" +msgstr "Código incorporado" -#: ../../mod/group.php:195 -msgid "All Connected Channels" -msgstr "Todos los canales conectados" +#: ../../mod/appman.php:86 +msgid "Edit App" +msgstr "Modificar la aplicación" -#: ../../mod/group.php:227 -msgid "Click on a channel to add or remove." -msgstr "Haga clic en un canal para agregarlo o quitarlo." +#: ../../mod/appman.php:86 +msgid "Create App" +msgstr "Crear una aplicación" -#: ../../mod/connect.php:56 ../../mod/connect.php:104 -msgid "Continue" -msgstr "Continuar" +#: ../../mod/appman.php:91 +msgid "Name of app" +msgstr "Nombre de la aplicación" -#: ../../mod/connect.php:85 -msgid "Premium Channel Setup" -msgstr "Configuración del canal premium" +#: ../../mod/appman.php:92 +msgid "Location (URL) of app" +msgstr "Ubicación (URL) de la aplicación" -#: ../../mod/connect.php:87 -msgid "Enable premium channel connection restrictions" -msgstr "Habilitar restricciones de conexión del canal premium" +#: ../../mod/appman.php:94 +msgid "Photo icon URL" +msgstr "Dirección del icono que se va a utilizar para esta foto" -#: ../../mod/connect.php:88 -msgid "" -"Please enter your restrictions or conditions, such as paypal receipt, usage " -"guidelines, etc." -msgstr "Por favor introduzca sus restricciones o condiciones, como recibo de paypal, normas de uso, etc." +#: ../../mod/appman.php:94 +msgid "80 x 80 pixels - optional" +msgstr "80 x 80 pixels - opcional" -#: ../../mod/connect.php:90 ../../mod/connect.php:110 -msgid "" -"This channel may require additional steps or acknowledgement of the " -"following conditions prior to connecting:" -msgstr "Este canal puede requerir antes de conectar unos pasos adicionales o el conocimiento de las siguientes condiciones:" +#: ../../mod/appman.php:95 +msgid "Version ID" +msgstr "Versión" -#: ../../mod/connect.php:91 -msgid "" -"Potential connections will then see the following text before proceeding:" -msgstr "Las posibles conexiones verán, por tanto, el siguiente texto antes de proceder:" +#: ../../mod/appman.php:96 +msgid "Price of app" +msgstr "Precio de la aplicación" -#: ../../mod/connect.php:92 ../../mod/connect.php:113 -msgid "" -"By continuing, I certify that I have complied with any instructions provided" -" on this page." -msgstr "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página." +#: ../../mod/appman.php:97 +msgid "Location (URL) to purchase app" +msgstr "Dirección (URL) donde adquirir la aplicación" -#: ../../mod/connect.php:101 -msgid "(No specific instructions have been provided by the channel owner.)" -msgstr "(No ha sido proporcionada ninguna instrucción específica por el propietario del canal.)" +#: ../../mod/filer.php:48 +msgid "- select -" +msgstr "- seleccionar -" -#: ../../mod/connect.php:109 -msgid "Restricted or Premium Channel" -msgstr "Canal premium o restringido" +#: ../../mod/layouts.php:176 +msgid "Comanche page description language help" +msgstr "Página de ayuda del lenguaje de descripción de páginas (PDL) Comanche" -#: ../../mod/viewconnections.php:59 -msgid "No connections." -msgstr "Sin conexiones." +#: ../../mod/layouts.php:180 +msgid "Layout Description" +msgstr "Descripción del formato" -#: ../../mod/viewconnections.php:72 -#, php-format -msgid "Visit %s's profile [%s]" -msgstr "Visitar el perfil de %s [%s]" +#: ../../mod/layouts.php:185 +msgid "Download PDL file" +msgstr "Descargar el fichero PDL" #: ../../mod/locs.php:21 ../../mod/locs.php:50 msgid "Location not found." @@ -8353,500 +8270,642 @@ msgstr "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio msgid "Use this form to drop the location if the hub is no longer operating." msgstr "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo." -#: ../../mod/post.php:234 -msgid "" -"Remote authentication blocked. You are logged into this site locally. Please" -" logout and retry." -msgstr "La autenticación desde su servidor está bloqueada. Ha iniciado sesión localmente. Por favor, salga de la sesión y vuelva a intentarlo." +#: ../../mod/invite.php:25 +msgid "Total invitation limit exceeded." +msgstr "Se ha superado el límite máximo de invitaciones." -#: ../../mod/ffsapi.php:8 -msgid "Share content from Firefox to $Projectname" -msgstr "Compartir contenido desde Firefox a $Projectname" +#: ../../mod/invite.php:49 +#, php-format +msgid "%s : Not a valid email address." +msgstr "%s : No es una dirección de correo electrónico válida. " -#: ../../mod/ffsapi.php:11 -msgid "Activate the Firefox $Projectname provider" -msgstr "Servicio de compartición de Firefox: activar el proveedor $Projectname " +#: ../../mod/invite.php:76 +msgid "Please join us on $Projectname" +msgstr "Únase a nosotros en $Projectname" -#: ../../mod/setup.php:191 -msgid "$Projectname Server - Setup" -msgstr "Servidor $Projectname - Instalación" +#: ../../mod/invite.php:87 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio." -#: ../../mod/setup.php:195 -msgid "Could not connect to database." -msgstr "No se ha podido conectar a la base de datos." +#: ../../mod/invite.php:92 +#, php-format +msgid "%s : Message delivery failed." +msgstr "%s : Falló el envío del mensaje." -#: ../../mod/setup.php:199 -msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." -msgstr "No se puede conectar con la dirección del sitio indicada. Podría tratarse de un problema de SSL o DNS." +#: ../../mod/invite.php:96 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "%d mensajes enviados." +msgstr[1] "%d mensajes enviados." -#: ../../mod/setup.php:206 -msgid "Could not create table." -msgstr "No se puede crear la tabla." +#: ../../mod/invite.php:115 +msgid "You have no more invitations available" +msgstr "No tiene más invitaciones disponibles" -#: ../../mod/setup.php:211 -msgid "Your site database has been installed." -msgstr "La base de datos del sitio ha sido instalada." +#: ../../mod/invite.php:129 +msgid "Send invitations" +msgstr "Enviar invitaciones" -#: ../../mod/setup.php:215 +#: ../../mod/invite.php:130 +msgid "Enter email addresses, one per line:" +msgstr "Introduzca las direcciones de correo electrónico, una por línea:" + +#: ../../mod/invite.php:131 ../../mod/mail.php:238 +msgid "Your message:" +msgstr "Su mensaje:" + +#: ../../mod/invite.php:132 +msgid "Please join my community on $Projectname." +msgstr "Por favor, únase a mi comunidad en $Projectname." + +#: ../../mod/invite.php:134 +msgid "You will need to supply this invitation code: " +msgstr "Debe proporcionar este código de invitación:" + +#: ../../mod/invite.php:135 msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." -msgstr "Podría tener que importar manualmente el fichero \"install/schema_xxx.sql\" usando un cliente de base de datos." +"1. Register at any $Projectname location (they are all inter-connected)" +msgstr "1. Regístrese en cualquier sitio de $Projectname (están todos interconectados)" -#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 -msgid "Please see the file \"install/INSTALL.txt\"." -msgstr "Por favor, lea el fichero \"install/INSTALL.txt\"." +#: ../../mod/invite.php:137 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "2. Introduzca mi dirección $Projectname en la caja de búsqueda del sitio." -#: ../../mod/setup.php:281 -msgid "System check" -msgstr "Verificación del sistema" +#: ../../mod/invite.php:138 +msgid "or visit " +msgstr "o visite " -#: ../../mod/setup.php:286 -msgid "Check again" -msgstr "Verificar de nuevo" +#: ../../mod/invite.php:140 +msgid "3. Click [Connect]" +msgstr "3. Pulse [conectar]" -#: ../../mod/setup.php:308 -msgid "Database connection" -msgstr "Conexión a la base de datos" +#: ../../mod/regmod.php:11 +msgid "Please login." +msgstr "Por favor, inicie sesión." -#: ../../mod/setup.php:309 -msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." -msgstr "Para instalar $Projectname es necesario saber cómo conectar con su base de datos." +#: ../../mod/xchan.php:6 +msgid "Xchan Lookup" +msgstr "Búsqueda de canales" -#: ../../mod/setup.php:310 +#: ../../mod/xchan.php:9 +msgid "Lookup xchan beginning with (or webbie): " +msgstr "Buscar un canal (o un \"webbie\") que comience por:" + +#: ../../mod/xchan.php:37 ../../mod/menu.php:162 ../../mod/mitem.php:116 +msgid "Not found." +msgstr "No encontrado." + +#: ../../mod/channel.php:25 ../../mod/chat.php:19 +msgid "You must be logged in to see this page." +msgstr "Debe haber iniciado sesión para poder ver esta página." + +#: ../../mod/channel.php:97 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "Permisos insuficientes. Petición redirigida a la página del perfil." + +#: ../../mod/attach.php:9 +msgid "Item not available." +msgstr "Elemento no disponible" + +#: ../../mod/lockview.php:37 +msgid "Remote privacy information not available." +msgstr "La información privada remota no está disponible." + +#: ../../mod/lockview.php:58 +msgid "Visible to:" +msgstr "Visible para:" + +#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 +msgid "Export Channel" +msgstr "Exportar el canal" + +#: ../../mod/uexport.php:53 msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." -msgstr "Por favor, contacte con el proveedor de servicios o el administrador del sitio si tiene dudas sobre estos ajustes." +"Export your basic channel information to a file. This acts as a backup of " +"your connections, permissions, profile and basic data, which can be used to " +"import your data to a new server hub, but does not contain your content." +msgstr "Exportar la información básica del canal a un fichero. Este equivale a una copia de seguridad de sus conexiones, el perfil y datos fundamentales, que puede usarse para importar sus datos a un nuevo servidor, pero no incluye su contenido." -#: ../../mod/setup.php:311 +#: ../../mod/uexport.php:54 +msgid "Export Content" +msgstr "Exportar contenidos" + +#: ../../mod/uexport.php:55 msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." -msgstr "La base de datos que especifique a continuación debe existir ya. Si no es así, por favor, créela antes de seguir." +"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 "Exportar la información sobre su canal y el contenido reciente a un fichero de respaldo JSON, que puede ser restaurado o importado a otro servidor. Este fichero incluye todas sus conexiones, permisos, datos del perfil y publicaciones de varios meses. Puede llegar a ser MUY grande. Por favor, sea paciente, la descarga puede tardar varios minutos en comenzar." -#: ../../mod/setup.php:315 -msgid "Database Server Name" -msgstr "Nombre del servidor de base de datos" +#: ../../mod/uexport.php:56 +msgid "Export your posts from a given year." +msgstr "Exporta sus entradas de un año dado." -#: ../../mod/setup.php:315 -msgid "Default is 127.0.0.1" -msgstr "De forma predeterminada es 127.0.0.1" +#: ../../mod/uexport.php:58 +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 "También puede exportar sus mensajes y conversaciones durante un año o mes en particular. Ajuste la fecha en la barra de direcciones del navegador para seleccionar otras fechas. Si la exportación falla (posiblemente debido al agotamiento de la memoria del servidor hub), por favor, intente de nuevo la selección de un rango de fechas más pequeño." -#: ../../mod/setup.php:316 -msgid "Database Port" -msgstr "Puerto de la base de datos" +#: ../../mod/uexport.php:59 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a " +"href=\"%1$s\">%2$s</a>" +msgstr "Para seleccionar todos los mensajes de un año determinado, como este año, visite <a href=\"%1$s\">%2$s</a>" -#: ../../mod/setup.php:316 -msgid "Communication port number - use 0 for default" -msgstr "Número del puerto de comunicaciones - use 0 como valor por defecto" +#: ../../mod/uexport.php:60 +#, php-format +msgid "" +"To select all posts for a given month, such as January of this year, visit " +"<a href=\"%1$s\">%2$s</a>" +msgstr "Para seleccionar todos los mensajes de un mes determinado, como el de enero de este año, visite <a href=\"%1$s\">%2$s</a>" -#: ../../mod/setup.php:317 -msgid "Database Login Name" -msgstr "Usuario de la base de datos" +#: ../../mod/uexport.php:61 +#, 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 "Estos ficheros pueden ser importados o restaurados visitando <a href=\"%1$s\">%2$s</a> o cualquier sitio que contenga su canal. Para obtener los mejores resultados, por favor, importar o restaurar estos ficheros en orden de fecha (la más antigua primero)." -#: ../../mod/setup.php:318 -msgid "Database Login Password" -msgstr "Contraseña de acceso a la base de datos" +#: ../../mod/editpost.php:31 +msgid "Item is not editable" +msgstr "El elemento no es editable" -#: ../../mod/setup.php:319 -msgid "Database Name" -msgstr "Nombre de la base de datos" +#: ../../mod/editpost.php:57 +msgid "Delete item?" +msgstr "¿Borrar elemento?" -#: ../../mod/setup.php:320 -msgid "Database Type" -msgstr "Tipo de base de datos" +#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 +msgid "Edit post" +msgstr "Editar la entrada" -#: ../../mod/setup.php:322 ../../mod/setup.php:363 -msgid "Site administrator email address" -msgstr "Dirección de correo electrónico del administrador del sitio" +#: ../../mod/follow.php:25 +msgid "Channel added." +msgstr "Canal añadido." -#: ../../mod/setup.php:322 ../../mod/setup.php:363 +#: ../../mod/rmagic.php:40 msgid "" -"Your account email address must match this in order to use the web admin " -"panel." -msgstr "Su cuenta deberá usar la misma dirección de correo electrónico para poder utilizar el panel de administración web." +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." +msgstr "Encontramos un problema durante el inicio de sesión con la OpenID que proporcionó. Por favor, compruebe que la ID está correctamente escrita." -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Website URL" -msgstr "Dirección del sitio web" +#: ../../mod/rmagic.php:40 +msgid "The error message was:" +msgstr "El mensaje de error fue:" -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Please use SSL (https) URL if available." -msgstr "Por favor, use SSL (https) si está disponible." +#: ../../mod/rmagic.php:44 +msgid "Authentication failed." +msgstr "Falló la autenticación." -#: ../../mod/setup.php:325 ../../mod/setup.php:367 -msgid "Please select a default timezone for your website" -msgstr "Por favor, selecciones la zona horaria por defecto de su sitio web" +#: ../../mod/rmagic.php:84 +msgid "Remote Authentication" +msgstr "Acceso desde su servidor" -#: ../../mod/setup.php:352 -msgid "Site settings" -msgstr "Ajustes del sitio" +#: ../../mod/rmagic.php:85 +msgid "Enter your channel address (e.g. channel@example.com)" +msgstr "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)" -#: ../../mod/setup.php:417 -msgid "Could not find a command line version of PHP in the web server PATH." -msgstr "No se puede encontrar una versión en línea de comandos de PHP en la ruta del servidor web." +#: ../../mod/rmagic.php:86 +msgid "Authenticate" +msgstr "Acceder" -#: ../../mod/setup.php:418 -msgid "" -"If you don't have a command line version of PHP installed on server, you " -"will not be able to run background polling via cron." -msgstr "Si no tiene instalada la versión de línea de comandos de PHP en su servidor, no podrá ejecutar sondeos en segundo plano mediante cron." +#: ../../mod/chat.php:174 +msgid "Room not found" +msgstr "Sala no encontrada" -#: ../../mod/setup.php:422 -msgid "PHP executable path" -msgstr "Ruta del ejecutable PHP" +#: ../../mod/chat.php:185 +msgid "Leave Room" +msgstr "Abandonar la sala" -#: ../../mod/setup.php:422 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." -msgstr "Introducir la ruta completa del ejecutable PHP. Puede dejar la línea en blanco para continuar la instalación." +#: ../../mod/chat.php:186 +msgid "Delete This Room" +msgstr "Eliminar esta sala" -#: ../../mod/setup.php:427 -msgid "Command line PHP" -msgstr "PHP en línea de comandos" +#: ../../mod/chat.php:187 +msgid "I am away right now" +msgstr "Estoy ausente momentáneamente" -#: ../../mod/setup.php:436 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." -msgstr "La línea de comandos PHP de su sistema no tiene activado \"register_argc_argv\"." +#: ../../mod/chat.php:188 +msgid "I am online" +msgstr "Estoy conectado/a" -#: ../../mod/setup.php:437 -msgid "This is required for message delivery to work." -msgstr "Esto es necesario para que funcione la transmisión de mensajes." +#: ../../mod/chat.php:190 +msgid "Bookmark this room" +msgstr "Añadir esta sala a Marcadores" -#: ../../mod/setup.php:440 -msgid "PHP register_argc_argv" -msgstr "PHP register_argc_argv" +#: ../../mod/chat.php:208 ../../mod/chat.php:231 +msgid "New Chatroom" +msgstr "Nueva sala de chat" -#: ../../mod/setup.php:458 -#, php-format -msgid "" -"Your max allowed total upload size is set to %s. Maximum size of one file to" -" upload is set to %s. You are allowed to upload up to %d files at once." -msgstr "La carga máxima que se le permite subir está establecida en %s. El tamaño máximo de un fichero está establecido en %s. Está permitido subir hasta un máximo de %d ficheros de una sola vez." +#: ../../mod/chat.php:209 +msgid "Chatroom Name" +msgstr "Nombre de la sala de chat" -#: ../../mod/setup.php:463 -msgid "You can adjust these settings in the servers php.ini." -msgstr "Puede ajustar estos valores en el fichero php.ini de su servidor." +#: ../../mod/chat.php:210 +msgid "Expiration of chats (minutes)" +msgstr "Tiempo de expiración de los mensajes en los chats (en minutos)" -#: ../../mod/setup.php:465 -msgid "PHP upload limits" -msgstr "Límites PHP de subida" +#: ../../mod/chat.php:227 +#, php-format +msgid "%1$s's Chatrooms" +msgstr "Salas de chat de %1$s" -#: ../../mod/setup.php:488 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" -msgstr "Error: La función \"openssl_pkey_new\" en este sistema no es capaz de general claves de cifrado." +#: ../../mod/viewsrc.php:40 +msgid "Source of Item" +msgstr "Origen del elemento" -#: ../../mod/setup.php:489 -msgid "" -"If running under Windows, please see " -"\"http://www.php.net/manual/en/openssl.installation.php\"." -msgstr "Si está en un servidor Windows, por favor, lea \"http://www.php.net/manual/en/openssl.installation.php\"." +#: ../../mod/ffsapi.php:8 +msgid "Share content from Firefox to $Projectname" +msgstr "Compartir contenido desde Firefox a $Projectname" -#: ../../mod/setup.php:492 -msgid "Generate encryption keys" -msgstr "Generar claves de cifrado" +#: ../../mod/ffsapi.php:11 +msgid "Activate the Firefox $Projectname provider" +msgstr "Servicio de compartición de Firefox: activar el proveedor $Projectname " -#: ../../mod/setup.php:504 -msgid "libCurl PHP module" -msgstr "módulo libCurl PHP" +#: ../../mod/magic.php:69 +msgid "Hub not found." +msgstr "Servidor no encontrado" -#: ../../mod/setup.php:505 -msgid "GD graphics PHP module" -msgstr "módulo PHP GD graphics" +#: ../../mod/connections.php:52 ../../mod/connections.php:150 +msgid "Blocked" +msgstr "Bloqueadas" -#: ../../mod/setup.php:506 -msgid "OpenSSL PHP module" -msgstr "módulo PHP OpenSSL" +#: ../../mod/connections.php:57 ../../mod/connections.php:157 +msgid "Ignored" +msgstr "Ignoradas" -#: ../../mod/setup.php:507 -msgid "mysqli or postgres PHP module" -msgstr "módulo PHP mysqli o postgres" +#: ../../mod/connections.php:62 ../../mod/connections.php:171 +msgid "Hidden" +msgstr "Ocultas" -#: ../../mod/setup.php:508 -msgid "mb_string PHP module" -msgstr "módulo PHP mb_string" +#: ../../mod/connections.php:67 ../../mod/connections.php:164 +msgid "Archived" +msgstr "Archivadas" -#: ../../mod/setup.php:509 -msgid "mcrypt PHP module" -msgstr "módulo PHP mcrypt " +#: ../../mod/connections.php:128 +msgid "Suggest new connections" +msgstr "Sugerir nuevas conexiones" -#: ../../mod/setup.php:510 -msgid "xml PHP module" -msgstr "módulo PHP xml" +#: ../../mod/connections.php:131 +msgid "New Connections" +msgstr "Nuevas conexiones" -#: ../../mod/setup.php:514 ../../mod/setup.php:516 -msgid "Apache mod_rewrite module" -msgstr "módulo Apache mod_rewrite " +#: ../../mod/connections.php:134 +msgid "Show pending (new) connections" +msgstr "Mostrar conexiones (nuevas) pendientes" -#: ../../mod/setup.php:514 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." -msgstr "Error: se necesita el módulo del servidor web Apache mod-rewrite pero no está instalado." +#: ../../mod/connections.php:137 ../../mod/profperm.php:139 +msgid "All Connections" +msgstr "Todas las conexiones" -#: ../../mod/setup.php:520 ../../mod/setup.php:523 -msgid "proc_open" -msgstr "proc_open" +#: ../../mod/connections.php:140 +msgid "Show all connections" +msgstr "Mostrar todas las conexiones" -#: ../../mod/setup.php:520 -msgid "" -"Error: proc_open is required but is either not installed or has been " -"disabled in php.ini" -msgstr "Error: se necesita proc_open pero o no está instalado o ha sido desactivado en el fichero php.ini" +#: ../../mod/connections.php:143 +msgid "Unblocked" +msgstr "Desbloqueadas" -#: ../../mod/setup.php:528 -msgid "Error: libCURL PHP module required but not installed." -msgstr "Error: se necesita el módulo PHP libCURL pero no está instalado." +#: ../../mod/connections.php:146 +msgid "Only show unblocked connections" +msgstr "Mostrar solo las conexiones desbloqueadas" -#: ../../mod/setup.php:532 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." -msgstr "Error: el módulo PHP GD graphics es necesario, pero no está instalado." +#: ../../mod/connections.php:153 +msgid "Only show blocked connections" +msgstr "Mostrar solo las conexiones bloqueadas" -#: ../../mod/setup.php:536 -msgid "Error: openssl PHP module required but not installed." -msgstr "Error: el módulo PHP openssl es necesario, pero no está instalado." +#: ../../mod/connections.php:160 +msgid "Only show ignored connections" +msgstr "Mostrar solo conexiones ignoradas" -#: ../../mod/setup.php:540 -msgid "" -"Error: mysqli or postgres PHP module required but neither are installed." -msgstr "Error: el módulo PHP mysqli o postgres es necesario pero ninguno de los dos está instalado." +#: ../../mod/connections.php:167 +msgid "Only show archived connections" +msgstr "Mostrar solo las conexiones archivadas" -#: ../../mod/setup.php:544 -msgid "Error: mb_string PHP module required but not installed." -msgstr "Error: el módulo PHP mb_string es necesario, pero no está instalado." +#: ../../mod/connections.php:174 +msgid "Only show hidden connections" +msgstr "Mostrar solo las conexiones ocultas" -#: ../../mod/setup.php:548 -msgid "Error: mcrypt PHP module required but not installed." -msgstr "Error: el módulo PHP mcrypt es necesario, pero no está instalado." +#: ../../mod/connections.php:225 +#, php-format +msgid "%1$s [%2$s]" +msgstr "%1$s [%2$s]" -#: ../../mod/setup.php:552 -msgid "Error: xml PHP module required for DAV but not installed." -msgstr "Error: el módulo PHP xml es necesario para DAV, pero no está instalado." +#: ../../mod/connections.php:226 +msgid "Edit connection" +msgstr "Editar conexión" -#: ../../mod/setup.php:570 -msgid "" -"The web installer needs to be able to create a file called \".htconfig.php\"" -" in the top folder of your web server and it is unable to do so." -msgstr "El instalador web no ha podido crear un fichero llamado “.htconfig.php” en la carpeta base de su servidor." +#: ../../mod/connections.php:264 +msgid "Search your connections" +msgstr "Buscar sus conexiones" -#: ../../mod/setup.php:571 -msgid "" -"This is most often a permission setting, as the web server may not be able " -"to write files in your folder - even if you can." -msgstr "Esto está generalmente ligado a un problema de permisos, a causa del cual el servidor web tiene prohibido modificar ficheros en su carpeta - incluso si usted mismo tiene esos permisos." +#: ../../mod/connections.php:265 +msgid "Finding: " +msgstr "Búsqueda:" -#: ../../mod/setup.php:572 -msgid "" -"At the end of this procedure, we will give you a text to save in a file " -"named .htconfig.php in your Red top folder." -msgstr "Al término de este procedimiento, podemos crear un fichero de texto para guardar con el nombre .htconfig.php en el directorio raíz de su instalación de Hubzilla." +#: ../../mod/help.php:147 +msgid "Documentation Search" +msgstr "Búsqueda de Documentación" -#: ../../mod/setup.php:573 -msgid "" -"You can alternatively skip this procedure and perform a manual installation." -" Please see the file \"install/INSTALL.txt\" for instructions." -msgstr "Como alternativa, puede dejar este procedimiento e intentar realizar una instalación manual. Lea, por favor, el fichero\"install/INSTALL.txt\" para las instrucciones." +#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 +msgid "Help:" +msgstr "Ayuda:" -#: ../../mod/setup.php:576 -msgid ".htconfig.php is writable" -msgstr ".htconfig.php tiene permisos de escritura" +#: ../../mod/help.php:211 ../../index.php:238 +msgid "Not Found" +msgstr "No encontrado" -#: ../../mod/setup.php:590 -msgid "" -"Red uses the Smarty3 template engine to render its web views. Smarty3 " -"compiles templates to PHP to speed up rendering." -msgstr "Hubzilla hace uso del motor de plantillas Smarty3 para diseñar sus plantillas gráficas. Smarty3 es más rápido porque compila las plantillas de páginas directamente en PHP." +#: ../../mod/help.php:235 +msgid "$Projectname Documentation" +msgstr "Documentación de $Projectname" -#: ../../mod/setup.php:591 +#: ../../mod/manage.php:130 #, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the Red top level folder." -msgstr "Para poder guardar las plantillas compiladas, el servidor web necesita permisos para acceder al subdirectorio %s en el directorio de instalación de Hubzilla." +msgid "You have created %1$.0f of %2$.0f allowed channels." +msgstr "Ha creado %1$.0f de %2$.0f canales permitidos." -#: ../../mod/setup.php:592 ../../mod/setup.php:613 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has" -" write access to this folder." -msgstr "Por favor, asegúrese de que el servidor web está siendo ejecutado por un usuario que tenga permisos de escritura sobre esta carpeta (por ejemplo, www-data)." +#: ../../mod/manage.php:138 +msgid "Create a new channel" +msgstr "Crear un nuevo canal" -#: ../../mod/setup.php:593 +#: ../../mod/manage.php:161 +msgid "Current Channel" +msgstr "Canal actual" + +#: ../../mod/manage.php:163 +msgid "Switch to one of your channels by selecting it." +msgstr "Cambiar a uno de sus canales seleccionándolo." + +#: ../../mod/manage.php:164 +msgid "Default Channel" +msgstr "Canal principal" + +#: ../../mod/manage.php:165 +msgid "Make Default" +msgstr "Convertir en predeterminado" + +#: ../../mod/manage.php:168 #, php-format -msgid "" -"Note: as a security measure, you should give the web server write access to " -"%s only--not the template files (.tpl) that it contains." -msgstr "Nota: como medida de seguridad, debe dar al servidor web permisos de escritura solo sobre %s - no sobre el fichero de plantilla (.tpl) que contiene." +msgid "%d new messages" +msgstr "%d mensajes nuevos" -#: ../../mod/setup.php:596 +#: ../../mod/manage.php:169 #, php-format -msgid "%s is writable" -msgstr "%s tiene permisos de escritura" +msgid "%d new introductions" +msgstr "%d nuevas isolicitudes de conexión" -#: ../../mod/setup.php:612 -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 "Red guarda los ficheros descargados en la carpeta \"store\". El servidor web necesita tener permisos de escritura sobre esa carpeta, en el directorio de instalación." +#: ../../mod/manage.php:171 +msgid "Delegated Channels" +msgstr "Canales delegados" -#: ../../mod/setup.php:616 -msgid "store is writable" -msgstr "\"store\" tiene permisos de escritura" +#: ../../mod/menu.php:45 +msgid "Unable to update menu." +msgstr "No se puede actualizar el menú." -#: ../../mod/setup.php:649 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access" -" to this site." -msgstr "El certificado SSL no ha podido ser validado. Corrija este problema o desactive el acceso https a este sitio." +#: ../../mod/menu.php:56 +msgid "Unable to create menu." +msgstr "No se puede crear el menú." -#: ../../mod/setup.php:650 -msgid "" -"If you have https access to your website or allow connections to TCP port " -"443 (the https: port), you MUST use a browser-valid certificate. You MUST " -"NOT use self-signed certificates!" -msgstr "Si su servidor soporta conexiones cifradas SSL o si permite conexiones al puerto TCP 443 (el puerto usado por el protocolo https), debe utilizar un certificado válido. No debe usar un certificado firmado por usted mismo." +#: ../../mod/menu.php:94 ../../mod/menu.php:106 +msgid "Menu Name" +msgstr "Nombre del menú" -#: ../../mod/setup.php:651 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." -msgstr "Se ha incorporado esta restricción para evitar que sus publicaciones públicas hagan referencia a imágenes en su propio servidor." +#: ../../mod/menu.php:94 +msgid "Unique name (not visible on webpage) - required" +msgstr "Nombre único (no será visible en la página web) - requerido" -#: ../../mod/setup.php:652 -msgid "" -"If your certificate is not recognized, members of other sites (who may " -"themselves have valid certificates) will get a warning message on their own " -"site complaining about security issues." -msgstr "Si su certificado no ha sido reconocido, los miembros de otros sitios (con certificados válidos) recibirán mensajes de aviso en sus propios sitios web." +#: ../../mod/menu.php:95 ../../mod/menu.php:107 +msgid "Menu Title" +msgstr "Título del menú" -#: ../../mod/setup.php:653 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." -msgstr "Por razones de compatibilidad (sobre el conjunto de la red, no solo sobre su propio sitio), debemos insistir en estos requisitos." +#: ../../mod/menu.php:95 +msgid "Visible on webpage - leave empty for no title" +msgstr "Visible en la página web - no ponga nada si no desea un título" -#: ../../mod/setup.php:654 -msgid "" -"Providers are available that issue free certificates which are browser-" -"valid." -msgstr "Existen varias Autoridades de Certificación que le pueden proporcionar certificados válidos." +#: ../../mod/menu.php:96 +msgid "Allow Bookmarks" +msgstr "Permitir marcadores" -#: ../../mod/setup.php:656 -msgid "SSL certificate validation" -msgstr "validación del certificado SSL" +#: ../../mod/menu.php:96 ../../mod/menu.php:153 +msgid "Menu may be used to store saved bookmarks" +msgstr "El menú se puede usar para guardar marcadores" -#: ../../mod/setup.php:662 -msgid "" -"Url rewrite in .htaccess is not working. Check your server " -"configuration.Test: " -msgstr "No se pueden reescribir las direcciones web en .htaccess. Compruebe la configuración de su servidor:" +#: ../../mod/menu.php:97 ../../mod/menu.php:155 +msgid "Submit and proceed" +msgstr "Enviar y proceder" -#: ../../mod/setup.php:665 -msgid "Url rewrite is working" -msgstr "La reescritura de las direcciones funciona correctamente" +#: ../../mod/menu.php:109 +msgid "Drop" +msgstr "Eliminar" -#: ../../mod/setup.php:674 -msgid "" -"The database configuration file \".htconfig.php\" could not be written. " -"Please use the enclosed text to create a configuration file in your web " -"server root." -msgstr "El fichero de configuración de la base de datos .htconfig.php no se ha podido modificar. Por favor, copie el texto generado en un fichero con ese nombre en el directorio raíz de su servidor." +#: ../../mod/menu.php:113 +msgid "Bookmarks allowed" +msgstr "Marcadores permitidos" -#: ../../mod/setup.php:698 -msgid "Errors encountered creating database tables." -msgstr "Se han encontrado errores al crear las tablas de la base de datos." +#: ../../mod/menu.php:115 +msgid "Delete this menu" +msgstr "Borrar este menú" -#: ../../mod/setup.php:732 -msgid "<h1>What next</h1>" -msgstr "<h1>Siguiente paso</h1>" +#: ../../mod/menu.php:116 ../../mod/menu.php:150 +msgid "Edit menu contents" +msgstr "Editar los contenidos del menú" -#: ../../mod/setup.php:733 +#: ../../mod/menu.php:117 +msgid "Edit this menu" +msgstr "Modificar este menú" + +#: ../../mod/menu.php:132 +msgid "Menu could not be deleted." +msgstr "El menú no puede ser eliminado." + +#: ../../mod/menu.php:140 ../../mod/mitem.php:24 +msgid "Menu not found." +msgstr "Menú no encontrado" + +#: ../../mod/menu.php:145 +msgid "Edit Menu" +msgstr "Modificar el menú" + +#: ../../mod/menu.php:149 +msgid "Add or remove entries to this menu" +msgstr "Añadir o quitar entradas en este menú" + +#: ../../mod/menu.php:151 +msgid "Menu name" +msgstr "Nombre del menú" + +#: ../../mod/menu.php:151 +msgid "Must be unique, only seen by you" +msgstr "Debe ser único, solo será visible para usted" + +#: ../../mod/menu.php:152 +msgid "Menu title" +msgstr "Título del menú" + +#: ../../mod/menu.php:152 +msgid "Menu title as seen by others" +msgstr "El título del menú tal como será visto por los demás" + +#: ../../mod/menu.php:153 +msgid "Allow bookmarks" +msgstr "Permitir marcadores" + +#: ../../mod/mail.php:33 +msgid "Unable to lookup recipient." +msgstr "Imposible asociar a un destinatario." + +#: ../../mod/mail.php:41 +msgid "Unable to communicate with requested channel." +msgstr "Imposible comunicar con el canal solicitado." + +#: ../../mod/mail.php:48 +msgid "Cannot verify requested channel." +msgstr "No se puede verificar el canal solicitado." + +#: ../../mod/mail.php:74 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló." + +#: ../../mod/mail.php:132 +msgid "Messages" +msgstr "Mensajes" + +#: ../../mod/mail.php:167 +msgid "Message recalled." +msgstr "Mensaje revocado." + +#: ../../mod/mail.php:180 +msgid "Conversation removed." +msgstr "Conversación eliminada." + +#: ../../mod/mail.php:223 +msgid "Requested channel is not in this network" +msgstr "El canal solicitado no existe en esta red" + +#: ../../mod/mail.php:231 +msgid "Send Private Message" +msgstr "Enviar un mensaje privado" + +#: ../../mod/mail.php:232 ../../mod/mail.php:362 +msgid "To:" +msgstr "Para:" + +#: ../../mod/mail.php:235 ../../mod/mail.php:364 +msgid "Subject:" +msgstr "Asunto:" + +#: ../../mod/mail.php:242 +msgid "Send" +msgstr "Enviar" + +#: ../../mod/mail.php:334 +msgid "Delete message" +msgstr "Borrar mensaje" + +#: ../../mod/mail.php:335 +msgid "Delivery report" +msgstr "Informe de transmisión" + +#: ../../mod/mail.php:336 +msgid "Recall message" +msgstr "Revocar el mensaje" + +#: ../../mod/mail.php:338 +msgid "Message has been recalled." +msgstr "El mensaje ha sido revocado." + +#: ../../mod/mail.php:355 +msgid "Delete Conversation" +msgstr "Eliminar conversación" + +#: ../../mod/mail.php:357 msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the " -"poller." -msgstr "IMPORTANTE: Debe crear [manualmente] una tarea programada para el \"poller\"." +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." +msgstr "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente." -#: ../../mod/sharedwithme.php:94 -msgid "Files: shared with me" -msgstr "Ficheros: compartidos conmigo" +#: ../../mod/mail.php:361 +msgid "Send Reply" +msgstr "Responder" -#: ../../mod/sharedwithme.php:96 -msgid "NEW" -msgstr "NUEVO" +#: ../../mod/mail.php:366 +#, php-format +msgid "Your message for %s (%s):" +msgstr "Su mensaje para %s (%s):" -#: ../../mod/sharedwithme.php:99 -msgid "Remove all files" -msgstr "Eliminar todos los ficheros" +#: ../../mod/post.php:234 +msgid "" +"Remote authentication blocked. You are logged into this site locally. Please" +" logout and retry." +msgstr "La autenticación desde su servidor está bloqueada. Ha iniciado sesión localmente. Por favor, salga de la sesión y vuelva a intentarlo." -#: ../../mod/sharedwithme.php:100 -msgid "Remove this file" -msgstr "Eliminar este fichero" +#: ../../mod/service_limits.php:19 +msgid "No service class restrictions found." +msgstr "No se han encontrado restricciones sobre esta clase de servicio." -#: ../../mod/siteinfo.php:111 +#: ../../mod/siteinfo.php:15 #, php-format msgid "Version %s" msgstr "Versión %s" -#: ../../mod/siteinfo.php:132 +#: ../../mod/siteinfo.php:36 msgid "Installed plugins/addons/apps:" msgstr "Extensiones/Aplicaciones instaladas:" -#: ../../mod/siteinfo.php:145 +#: ../../mod/siteinfo.php:49 msgid "No installed plugins/addons/apps" msgstr "Extensiones/Aplicaciones no instaladas:" -#: ../../mod/siteinfo.php:158 +#: ../../mod/siteinfo.php:62 msgid "" "This is a hub of $Projectname - a global cooperative network of " "decentralized privacy enhanced websites." msgstr "Este es un sitio integrado en $Projectname - una red cooperativa mundial de sitios web descentralizados de privacidad mejorada." -#: ../../mod/siteinfo.php:160 +#: ../../mod/siteinfo.php:64 msgid "Tag: " msgstr "Etiqueta:" -#: ../../mod/siteinfo.php:162 +#: ../../mod/siteinfo.php:66 msgid "Last background fetch: " msgstr "Última actualización en segundo plano:" -#: ../../mod/siteinfo.php:164 +#: ../../mod/siteinfo.php:68 msgid "Current load average: " msgstr "Carga media actual:" -#: ../../mod/siteinfo.php:167 +#: ../../mod/siteinfo.php:71 msgid "Running at web location" msgstr "Corriendo en el sitio web" -#: ../../mod/siteinfo.php:168 +#: ../../mod/siteinfo.php:72 msgid "" "Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more " "about $Projectname." msgstr "Por favor, visite <a href=\"http://hubzilla.org\">hubzilla.org</a> para más información sobre $Projectname." -#: ../../mod/siteinfo.php:169 +#: ../../mod/siteinfo.php:73 msgid "Bug reports and issues: please visit" msgstr "Informes de errores e incidencias: por, favor visite" -#: ../../mod/siteinfo.php:171 +#: ../../mod/siteinfo.php:75 msgid "$projectname issues" msgstr "Problemas en $projectname" -#: ../../mod/siteinfo.php:172 +#: ../../mod/siteinfo.php:76 msgid "" "Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot " "com" msgstr "Sugerencias, elogios, etc - por favor, un correo electrónico a \"redmatrix\" en librelist - punto com" -#: ../../mod/siteinfo.php:174 +#: ../../mod/siteinfo.php:78 msgid "Site Administrators" msgstr "Administradores del sitio" @@ -8856,303 +8915,288 @@ msgid "" "hours." msgstr "No hay sugerencias disponibles. Si es un sitio nuevo, espere 24 horas y pruebe de nuevo." -#: ../../mod/profiles.php:18 ../../mod/profiles.php:174 -#: ../../mod/profiles.php:231 ../../mod/profiles.php:600 -msgid "Profile not found." -msgstr "Perfil no encontrado." - -#: ../../mod/profiles.php:38 -msgid "Profile deleted." -msgstr "Perfil eliminado." - -#: ../../mod/profiles.php:56 ../../mod/profiles.php:92 -msgid "Profile-" -msgstr "Perfil-" - -#: ../../mod/profiles.php:77 ../../mod/profiles.php:120 -msgid "New profile created." -msgstr "El nuevo perfil ha sido creado." - -#: ../../mod/profiles.php:98 -msgid "Profile unavailable to clone." -msgstr "Perfil no disponible para clonar." +#: ../../mod/events.php:21 +msgid "Calendar entries imported." +msgstr "Entradas de calendario importadas." -#: ../../mod/profiles.php:136 -msgid "Profile unavailable to export." -msgstr "Perfil no disponible para exportar." +#: ../../mod/events.php:23 +msgid "No calendar entries found." +msgstr "No se han encontrado entradas de calendario." -#: ../../mod/profiles.php:241 -msgid "Profile Name is required." -msgstr "Se necesita el nombre del perfil." +#: ../../mod/events.php:100 +msgid "Event can not end before it has started." +msgstr "Un evento no puede terminar antes de que haya comenzado." -#: ../../mod/profiles.php:404 -msgid "Marital Status" -msgstr "Estado civil" +#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131 +msgid "Unable to generate preview." +msgstr "No se puede crear la vista previa." -#: ../../mod/profiles.php:408 -msgid "Romantic Partner" -msgstr "Pareja sentimental" +#: ../../mod/events.php:109 +msgid "Event title and start time are required." +msgstr "Se requieren el título del evento y su hora de inicio." -#: ../../mod/profiles.php:412 -msgid "Likes" -msgstr "Me gusta" +#: ../../mod/events.php:129 ../../mod/events.php:254 +msgid "Event not found." +msgstr "Evento no encontrado." -#: ../../mod/profiles.php:416 -msgid "Dislikes" -msgstr "No me gusta" +#: ../../mod/events.php:437 +msgid "Edit event titel" +msgstr "Editar el título del evento" -#: ../../mod/profiles.php:420 -msgid "Work/Employment" -msgstr "Trabajo:" +#: ../../mod/events.php:437 +msgid "Event titel" +msgstr "Título del evento" -#: ../../mod/profiles.php:423 -msgid "Religion" -msgstr "Religión" +#: ../../mod/events.php:439 +msgid "Categories (comma-separated list)" +msgstr "Categorías (lista separada por comas)" -#: ../../mod/profiles.php:427 -msgid "Political Views" -msgstr "Ideas políticas" +#: ../../mod/events.php:440 +msgid "Edit Category" +msgstr "Editar la categoría" -#: ../../mod/profiles.php:435 -msgid "Sexual Preference" -msgstr "Preferencia sexual" +#: ../../mod/events.php:440 +msgid "Category" +msgstr "Categoría" -#: ../../mod/profiles.php:439 -msgid "Homepage" -msgstr "Página personal" +#: ../../mod/events.php:443 +msgid "Edit start date and time" +msgstr "Modificar la fecha y hora de comienzo" -#: ../../mod/profiles.php:443 -msgid "Interests" -msgstr "Intereses" +#: ../../mod/events.php:443 +msgid "Start date and time" +msgstr "Fecha y hora de comienzo" -#: ../../mod/profiles.php:537 -msgid "Profile updated." -msgstr "Perfil actualizado." +#: ../../mod/events.php:444 ../../mod/events.php:447 +msgid "Finish date and time are not known or not relevant" +msgstr "La fecha y hora de terminación no se conocen o no son relevantes" -#: ../../mod/profiles.php:626 -msgid "Hide your contact/friend list from viewers of this profile?" -msgstr "¿Ocultar su lista de contactos a los visitantes de este perfil?" +#: ../../mod/events.php:446 +msgid "Edit finish date and time" +msgstr "Modificar la fecha y hora de terminación" -#: ../../mod/profiles.php:666 -msgid "Edit Profile Details" -msgstr "Modificar los detalles de este perfil" +#: ../../mod/events.php:446 +msgid "Finish date and time" +msgstr "Fecha y hora de terminación" -#: ../../mod/profiles.php:668 -msgid "View this profile" -msgstr "Ver este perfil" +#: ../../mod/events.php:448 ../../mod/events.php:449 +msgid "Adjust for viewer timezone" +msgstr "Ajustar para obtener el visor de zona horaria" -#: ../../mod/profiles.php:670 -msgid "Change Profile Photo" -msgstr "Cambiar la foto del perfil" +#: ../../mod/events.php:448 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales." -#: ../../mod/profiles.php:671 -msgid "Create a new profile using these settings" -msgstr "Crear un nuevo perfil usando estos ajustes" +#: ../../mod/events.php:450 +msgid "Edit Description" +msgstr "Editar la descripción" -#: ../../mod/profiles.php:672 -msgid "Clone this profile" -msgstr "Clonar este perfil" +#: ../../mod/events.php:452 +msgid "Edit Location" +msgstr "Modificar la localización" -#: ../../mod/profiles.php:673 -msgid "Delete this profile" -msgstr "Eliminar este perfil" +#: ../../mod/events.php:455 ../../mod/events.php:457 +msgid "Share this event" +msgstr "Compartir este evento" -#: ../../mod/profiles.php:675 -msgid "Import profile from file" -msgstr "Importar perfil desde un fichero" +#: ../../mod/events.php:462 +msgid "Advanced Options" +msgstr "Opciones avanzadas" -#: ../../mod/profiles.php:676 -msgid "Export profile to file" -msgstr "Exportar perfil a un fichero" +#: ../../mod/events.php:574 +msgid "l, F j" +msgstr "l j F" -#: ../../mod/profiles.php:677 -msgid "Profile Name:" -msgstr "Nombre del perfil:" +#: ../../mod/events.php:596 +msgid "Edit event" +msgstr "Editar evento" -#: ../../mod/profiles.php:678 -msgid "Your Full Name:" -msgstr "Su nombre completo:" +#: ../../mod/events.php:598 +msgid "Delete event" +msgstr "Borrar evento" -#: ../../mod/profiles.php:679 -msgid "Title/Description:" -msgstr "Título/Descripción:" +#: ../../mod/events.php:632 +msgid "calendar" +msgstr "calendario" -#: ../../mod/profiles.php:680 -msgid "Your Gender:" -msgstr "Su género:" +#: ../../mod/events.php:651 +msgid "Edit Event" +msgstr "Editar el evento" -#: ../../mod/profiles.php:681 -msgid "Birthday :" -msgstr "Cumpleaños:" +#: ../../mod/events.php:651 +msgid "Create Event" +msgstr "Crear un evento" -#: ../../mod/profiles.php:682 -msgid "Street Address:" -msgstr "Calle:" +#: ../../mod/events.php:661 +msgid "Today" +msgstr "Hoy" -#: ../../mod/profiles.php:683 -msgid "Locality/City:" -msgstr "Ciudad:" +#: ../../mod/events.php:692 +msgid "Event removed" +msgstr "Evento borrado" -#: ../../mod/profiles.php:684 -msgid "Postal/Zip Code:" -msgstr "Código postal:" +#: ../../mod/events.php:695 +msgid "Failed to remove event" +msgstr "Error al eliminar el evento" -#: ../../mod/profiles.php:685 -msgid "Country:" -msgstr "País:" +#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 +msgid "Invalid profile identifier." +msgstr "Identificador del perfil no válido" -#: ../../mod/profiles.php:686 -msgid "Region/State:" -msgstr "Región/Estado:" +#: ../../mod/profperm.php:110 +msgid "Profile Visibility Editor" +msgstr "Editor de visibilidad del perfil" -#: ../../mod/profiles.php:687 -msgid "<span class=\"heart\">♥</span> Marital Status:" -msgstr "<span class=\"heart\">♥</span> Estado sentimental:" +#: ../../mod/profperm.php:114 +msgid "Click on a contact to add or remove." +msgstr "Pulsar en un contacto para añadirlo o eliminarlo." -#: ../../mod/profiles.php:688 -msgid "Who: (if applicable)" -msgstr "Quién: (si es aplicable)" +#: ../../mod/profperm.php:123 +msgid "Visible To" +msgstr "Visible para" -#: ../../mod/profiles.php:689 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" -msgstr "Por ejemplo: ana123, María González, sara@ejemplo.com" +#: ../../mod/mitem.php:48 +msgid "Unable to create element." +msgstr "Imposible crear el elemento." -#: ../../mod/profiles.php:690 -msgid "Since [date]:" -msgstr "Desde [fecha]:" +#: ../../mod/mitem.php:72 +msgid "Unable to update menu element." +msgstr "No es posible actualizar el elemento del menú." -#: ../../mod/profiles.php:692 -msgid "Homepage URL:" -msgstr "Dirección de la página personal:" +#: ../../mod/mitem.php:88 +msgid "Unable to add menu element." +msgstr "No es posible añadir el elemento al menú" -#: ../../mod/profiles.php:695 -msgid "Religious Views:" -msgstr "Creencias religiosas:" +#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 +msgid "Menu Item Permissions" +msgstr "Permisos del elemento del menú" -#: ../../mod/profiles.php:696 -msgid "Keywords:" -msgstr "Palabras clave:" +#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 +msgid "Link Name" +msgstr "Nombre del enlace" -#: ../../mod/profiles.php:699 -msgid "Example: fishing photography software" -msgstr "Por ejemplo: software de fotografía submarina" +#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 +msgid "Link or Submenu Target" +msgstr "Destino del enlace o submenú" -#: ../../mod/profiles.php:700 -msgid "Used in directory listings" -msgstr "Visible en el directorio público del canal" +#: ../../mod/mitem.php:153 +msgid "Enter URL of the link or select a menu name to create a submenu" +msgstr "Introducir la dirección del enlace o seleccionar el nombre de un submenú" -#: ../../mod/profiles.php:701 -msgid "Tell us about yourself..." -msgstr "Háblenos de usted..." +#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 +msgid "Use magic-auth if available" +msgstr "Usar la autenticación mágica si está disponible" -#: ../../mod/profiles.php:702 -msgid "Hobbies/Interests" -msgstr "Aficiones/Intereses" +#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 +msgid "Open link in new window" +msgstr "Abrir el enlace en una nueva ventana" -#: ../../mod/profiles.php:703 -msgid "Contact information and Social Networks" -msgstr "Información de contacto y redes sociales" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Order in list" +msgstr "Orden en la lista" -#: ../../mod/profiles.php:704 -msgid "My other channels" -msgstr "Mis otros canales" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Higher numbers will sink to bottom of listing" +msgstr "Los números más altos irán al final de la lista" -#: ../../mod/profiles.php:705 -msgid "Musical interests" -msgstr "Preferencias musicales" +#: ../../mod/mitem.php:157 +msgid "Submit and finish" +msgstr "Enviar y terminar" -#: ../../mod/profiles.php:706 -msgid "Books, literature" -msgstr "Libros, literatura" +#: ../../mod/mitem.php:158 +msgid "Submit and continue" +msgstr "Enviar y continuar" -#: ../../mod/profiles.php:707 -msgid "Television" -msgstr "Televisión" +#: ../../mod/mitem.php:166 +msgid "Menu:" +msgstr "Menú:" -#: ../../mod/profiles.php:708 -msgid "Film/dance/culture/entertainment" -msgstr "Cine/danza/cultura/entretenimiento" +#: ../../mod/mitem.php:169 +msgid "Link Target" +msgstr "Destino del enlace" -#: ../../mod/profiles.php:709 -msgid "Love/romance" -msgstr "Vida sentimental/amorosa" +#: ../../mod/mitem.php:172 +msgid "Edit menu" +msgstr "Editar menú" -#: ../../mod/profiles.php:710 -msgid "Work/employment" -msgstr "Trabajo" +#: ../../mod/mitem.php:175 +msgid "Edit element" +msgstr "Editar el elemento" -#: ../../mod/profiles.php:711 -msgid "School/education" -msgstr "Estudios" +#: ../../mod/mitem.php:176 +msgid "Drop element" +msgstr "Eliminar el elemento" -#: ../../mod/profiles.php:717 -msgid "This is your default profile." -msgstr "Este es su perfil principal." +#: ../../mod/mitem.php:177 +msgid "New element" +msgstr "Nuevo elemento" -#: ../../mod/profiles.php:728 -msgid "Age: " -msgstr "Edad:" +#: ../../mod/mitem.php:178 +msgid "Edit this menu container" +msgstr "Modificar el contenedor del menú" -#: ../../mod/profiles.php:771 -msgid "Edit/Manage Profiles" -msgstr "Modificar/gestionar perfiles" +#: ../../mod/mitem.php:179 +msgid "Add menu element" +msgstr "Añadir un elemento al menú" -#: ../../mod/profiles.php:772 -msgid "Add profile things" -msgstr "Añadir cosas al perfil" +#: ../../mod/mitem.php:180 +msgid "Delete this menu item" +msgstr "Eliminar este elemento del menú" -#: ../../mod/profiles.php:773 -msgid "Include desirable objects in your profile" -msgstr "Añadir objetos interesantes en su perfil" +#: ../../mod/mitem.php:181 +msgid "Edit this menu item" +msgstr "Modificar este elemento del menú" -#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 -msgid "Invalid profile identifier." -msgstr "Identificador del perfil no válido" +#: ../../mod/mitem.php:198 +msgid "Menu item not found." +msgstr "Este elemento del menú no se ha encontrado" -#: ../../mod/profperm.php:110 -msgid "Profile Visibility Editor" -msgstr "Editor de visibilidad del perfil" +#: ../../mod/mitem.php:211 +msgid "Menu item deleted." +msgstr "Este elemento del menú ha sido borrado" -#: ../../mod/profperm.php:114 -msgid "Click on a contact to add or remove." -msgstr "Pulsar en un contacto para añadirlo o eliminarlo." +#: ../../mod/mitem.php:213 +msgid "Menu item could not be deleted." +msgstr "Este elemento del menú no puede ser borrado." -#: ../../mod/profperm.php:123 -msgid "Visible To" -msgstr "Visible para" +#: ../../mod/mitem.php:220 +msgid "Edit Menu Element" +msgstr "Editar elemento del menú" -#: ../../mod/rbmark.php:90 -msgid "Select a bookmark folder" -msgstr "Seleccionar una carpeta de marcadores" +#: ../../mod/mitem.php:226 +msgid "Link text" +msgstr "Texto del enlace" -#: ../../mod/rbmark.php:95 -msgid "Save Bookmark" -msgstr "Guardar marcador" +#: ../../mod/wholikesme.php:13 +msgid "Who likes me?" +msgstr "¿Quién me ha puesto \"Me gusta\"?" -#: ../../mod/rbmark.php:96 -msgid "URL of bookmark" -msgstr "Dirección del marcador" +#: ../../mod/sharedwithme.php:94 +msgid "Files: shared with me" +msgstr "Ficheros: compartidos conmigo" -#: ../../mod/rbmark.php:101 -msgid "Or enter new bookmark folder name" -msgstr "O introduzca un nuevo nombre para la carpeta de marcadores" +#: ../../mod/sharedwithme.php:96 +msgid "NEW" +msgstr "NUEVO" -#: ../../mod/import_items.php:101 -msgid "Import completed" -msgstr "Importación completada" +#: ../../mod/sharedwithme.php:99 +msgid "Remove all files" +msgstr "Eliminar todos los ficheros" -#: ../../mod/import_items.php:119 -msgid "Import Items" -msgstr "Importar elementos" +#: ../../mod/sharedwithme.php:100 +msgid "Remove this file" +msgstr "Eliminar este fichero" -#: ../../mod/import_items.php:120 -msgid "" -"Use this form to import existing posts and content from an export file." -msgstr "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación." +#: ../../mod/viewconnections.php:59 +msgid "No connections." +msgstr "Sin conexiones." -#: ../../mod/wholikesme.php:13 -msgid "Who likes me?" -msgstr "¿Quién me ha puesto \"Me gusta\"?" +#: ../../mod/viewconnections.php:72 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "Visitar el perfil de %s [%s]" #: ../../view/theme/redbasic/php/config.php:82 msgid "Focus (Hubzilla default)" @@ -9290,51 +9334,51 @@ msgstr "Ajustar el tamaño de la foto del autor de la conversación" msgid "Set size of followup author photos" msgstr "Ajustar el tamaño de foto de los seguidores del autor" -#: ../../boot.php:1291 +#: ../../boot.php:1292 #, php-format msgid "Update %s failed. See error logs." msgstr "La actualización %s ha fallado. Mire el informe de errores." -#: ../../boot.php:1294 +#: ../../boot.php:1295 #, php-format msgid "Update Error at %s" msgstr "Error de actualización en %s" -#: ../../boot.php:1461 +#: ../../boot.php:1462 msgid "" "Create an account to access services and applications within the Hubzilla" msgstr "Crear una cuenta para acceder a los servicios y aplicaciones dentro de Hubzilla" -#: ../../boot.php:1489 +#: ../../boot.php:1484 msgid "Password" msgstr "Contraseña" -#: ../../boot.php:1490 +#: ../../boot.php:1485 msgid "Remember me" msgstr "Recordarme" -#: ../../boot.php:1493 +#: ../../boot.php:1488 msgid "Forgot your password?" msgstr "¿Olvidó su contraseña?" -#: ../../boot.php:2113 +#: ../../boot.php:2108 msgid "toggle mobile" msgstr "cambiar a modo móvil" -#: ../../boot.php:2248 +#: ../../boot.php:2243 msgid "Website SSL certificate is not valid. Please correct." msgstr "El certificado SSL del sitio web no es válido. Por favor, solucione el problema." -#: ../../boot.php:2251 +#: ../../boot.php:2246 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "[hubzilla] Error SSL del sitio web en %s" -#: ../../boot.php:2288 +#: ../../boot.php:2283 msgid "Cron/Scheduled tasks not running." msgstr "Las tareas del Planificador/Cron no están funcionando." -#: ../../boot.php:2292 +#: ../../boot.php:2287 #, php-format msgid "[hubzilla] Cron tasks not running on %s" msgstr "[hubzilla] Las tareas de Cron no están funcionando en %s" diff --git a/view/es/hstrings.php b/view/es/hstrings.php index 0084304c9..6b73063b8 100644 --- a/view/es/hstrings.php +++ b/view/es/hstrings.php @@ -5,9 +5,20 @@ function string_plural_select_es($n){ return ($n != 1);; }} ; -$a->strings["No username found in import file."] = "No se ha encontrado el nombre de usuario en el fichero importado."; +$a->strings["Connect"] = "Conectar"; +$a->strings["New window"] = "Nueva ventana"; +$a->strings["Open the selected location in a different window or browser tab"] = "Abrir la dirección seleccionada en una ventana o pestaña aparte"; +$a->strings["User '%s' deleted"] = "El usuario '%s' ha sido eliminado"; +$a->strings["Missing room name"] = "Sala de chat sin nombre"; +$a->strings["Duplicate room name"] = "Nombre de sala duplicado."; +$a->strings["Invalid room specifier."] = "Especificador de sala no válido."; +$a->strings["Room not found."] = "Sala no encontrada."; +$a->strings["Permission denied."] = "Acceso denegado."; +$a->strings["Room is full"] = "La sala está llena."; +$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."; $a->strings["Unable to create a unique channel address. Import failed."] = "No se ha podido crear una dirección de canal única. Ha fallado la importación."; -$a->strings["Import completed."] = "Importación completada."; +$a->strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado."; +$a->strings["Cloned channel not found. Import failed."] = "No se ha podido importar el canal porque el canal clonado no se ha encontrado."; $a->strings["parent"] = "padre"; $a->strings["Collection"] = "Colección"; $a->strings["Principal"] = "Principal"; @@ -32,132 +43,6 @@ $a->strings["You are using %1\$s of %2\$s available file storage. (%3\$s%)"] $a->strings["WARNING:"] = "ATENCIÓN:"; $a->strings["Create new folder"] = "Crear nueva carpeta"; $a->strings["Upload file"] = "Subir fichero"; -$a->strings["Can view my normal stream and posts"] = "Pueden verse mi flujo de actividad y publicaciones normales"; -$a->strings["Can view my default channel profile"] = "Puede verse mi perfil de canal predeterminado."; -$a->strings["Can view my connections"] = "Pueden verse mis conexiones"; -$a->strings["Can view my file storage and photos"] = "Pueden verse mi repositorio de ficheros y mis fotos"; -$a->strings["Can view my webpages"] = "Pueden verse mis páginas web"; -$a->strings["Can send me their channel stream and posts"] = "Me pueden enviar sus entradas y flujo de actividad del canal"; -$a->strings["Can post on my channel page (\"wall\")"] = "Pueden crearse entradas en mi página de inicio del canal (“muro”)"; -$a->strings["Can comment on or like my posts"] = "Pueden publicarse comentarios en mis publicaciones o marcar mis entradas con 'me gusta'."; -$a->strings["Can send me private mail messages"] = "Se me pueden enviar mensajes privados"; -$a->strings["Can like/dislike stuff"] = "Puede marcarse contenido como me gusta/no me gusta"; -$a->strings["Profiles and things other than posts/comments"] = "Perfiles y otras cosas aparte de publicaciones/comentarios"; -$a->strings["Can forward to all my channel contacts via post @mentions"] = "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención"; -$a->strings["Advanced - useful for creating group forum channels"] = "Avanzado - útil para crear canales de foros de discusión o grupos"; -$a->strings["Can chat with me (when available)"] = "Se puede charlar conmigo (cuando esté disponible)"; -$a->strings["Can write to my file storage and photos"] = "Puede escribirse en mi repositorio de ficheros y fotos"; -$a->strings["Can edit my webpages"] = "Pueden editarse mis páginas web"; -$a->strings["Can source my public posts in derived channels"] = "Pueden utilizarse mis publicaciones públicas como origen de contenidos en canales derivados"; -$a->strings["Somewhat advanced - very useful in open communities"] = "Algo avanzado - muy útil en comunidades abiertas"; -$a->strings["Can administer my channel resources"] = "Pueden administrarse mis recursos del canal"; -$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo."; -$a->strings["Social Networking"] = "Redes sociales"; -$a->strings["Mostly Public"] = "Público en su mayor parte"; -$a->strings["Restricted"] = "Restringido"; -$a->strings["Private"] = "Privado"; -$a->strings["Community Forum"] = "Foro de discusión"; -$a->strings["Feed Republish"] = "Republicar un \"feed\""; -$a->strings["Special Purpose"] = "Propósito especial"; -$a->strings["Celebrity/Soapbox"] = "Página para fans"; -$a->strings["Group Repository"] = "Repositorio de grupo"; -$a->strings["Other"] = "Otro"; -$a->strings["Custom/Expert Mode"] = "Modo personalizado/experto"; -$a->strings["Missing room name"] = "Sala de chat sin nombre"; -$a->strings["Duplicate room name"] = "Nombre de sala duplicado."; -$a->strings["Invalid room specifier."] = "Especificador de sala no válido."; -$a->strings["Room not found."] = "Sala no encontrada."; -$a->strings["Permission denied."] = "Acceso denegado."; -$a->strings["Room is full"] = "La sala está llena."; -$a->strings["Miscellaneous"] = "Varios"; -$a->strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-DD o MM-DD"; -$a->strings["Required"] = "Obligatorio"; -$a->strings["never"] = "nunca"; -$a->strings["less than a second ago"] = "hace un instante"; -$a->strings["year"] = "año"; -$a->strings["years"] = "años"; -$a->strings["month"] = "mes"; -$a->strings["months"] = "meses"; -$a->strings["week"] = "semana"; -$a->strings["weeks"] = "semanas"; -$a->strings["day"] = "día"; -$a->strings["days"] = "días"; -$a->strings["hour"] = "hora"; -$a->strings["hours"] = "horas"; -$a->strings["minute"] = "minuto"; -$a->strings["minutes"] = "minutos"; -$a->strings["second"] = "segundo"; -$a->strings["seconds"] = "segundos"; -$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "hace %1\$d %2\$s"; -$a->strings["%1\$s's birthday"] = "Cumpleaños de %1\$s"; -$a->strings["Happy Birthday %1\$s"] = "Feliz cumpleaños %1\$s"; -$a->strings["General Features"] = "Características generales"; -$a->strings["Content Expiration"] = "Caducidad del contenido"; -$a->strings["Remove posts/comments and/or private messages at a future time"] = "Eliminar publicaciones/comentarios y/o mensajes privados más adelante"; -$a->strings["Multiple Profiles"] = "Múltiples perfiles"; -$a->strings["Ability to create multiple profiles"] = "Capacidad de crear múltiples perfiles"; -$a->strings["Advanced Profiles"] = "Perfiles avanzados"; -$a->strings["Additional profile sections and selections"] = "Secciones y selecciones de perfil adicionales"; -$a->strings["Profile Import/Export"] = "Importar/Exportar perfil"; -$a->strings["Save and load profile details across sites/channels"] = "Guardar y cargar detalles del perfil a través de sitios/canales"; -$a->strings["Web Pages"] = "Páginas web"; -$a->strings["Provide managed web pages on your channel"] = "Proveer páginas web gestionadas en su canal"; -$a->strings["Private Notes"] = "Notas privadas"; -$a->strings["Enables a tool to store notes and reminders"] = "Activar una herramienta para almacenar notas y recordatorios"; -$a->strings["Navigation Channel Select"] = "Navegación por el selector de canales"; -$a->strings["Change channels directly from within the navigation dropdown menu"] = "Cambiar de canales directamente desde el menú de navegación desplegable"; -$a->strings["Photo Location"] = "Ubicación de las fotos"; -$a->strings["If location data is available on uploaded photos, link this to a map."] = "Si los datos de ubicación están disponibles en las fotos subidas, enlazar estas a un mapa."; -$a->strings["Expert Mode"] = "Modo de experto"; -$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Habilitar el modo de experto para acceder a opciones avanzadas de configuración"; -$a->strings["Premium Channel"] = "Canal premium"; -$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Les permite configurar restricciones y normas de uso a aquellos que conectan con su canal"; -$a->strings["Post Composition Features"] = "Características de composición de entradas"; -$a->strings["Use Markdown"] = "Usar Markdown"; -$a->strings["Allow use of \"Markdown\" to format posts"] = "Permitir el uso de \"Markdown\" para formatear publicaciones"; -$a->strings["Large Photos"] = "Fotos de gran tamaño"; -$a->strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Incluir miniaturas de fotos grandes (1024px) en publicaciones. Si no está habilitado, usar miniaturas pequeñas (6400px)"; -$a->strings["Channel Sources"] = "Orígenes de los contenidos del canal"; -$a->strings["Automatically import channel content from other channels or feeds"] = "Importar automáticamente contenido de otros canales o \"feeds\""; -$a->strings["Even More Encryption"] = "Más cifrado todavía"; -$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permitir cifrado adicional de contenido \"punto-a-punto\" con una clave secreta compartida."; -$a->strings["Enable Voting Tools"] = "Activar herramientas de votación"; -$a->strings["Provide a class of post which others can vote on"] = "Proveer una clase de publicación en la que otros puedan votar"; -$a->strings["Delayed Posting"] = "Publicación aplazada"; -$a->strings["Allow posts to be published at a later date"] = "Permitir mensajes que se publicarán en una fecha posterior"; -$a->strings["Suppress Duplicate Posts/Comments"] = "Prevenir entradas o comentarios duplicados"; -$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Prevenir que entradas con contenido idéntico se publiquen con menos de dos minutos de intervalo."; -$a->strings["Network and Stream Filtering"] = "Filtrado del contenido"; -$a->strings["Search by Date"] = "Buscar por fecha"; -$a->strings["Ability to select posts by date ranges"] = "Capacidad de seleccionar entradas por rango de fechas"; -$a->strings["Collections Filter"] = "Filtrado de colecciones"; -$a->strings["Enable widget to display Network posts only from selected collections"] = "Habilitar la muestra de entradas eligiendo colecciones"; -$a->strings["Saved Searches"] = "Búsquedas guardadas"; -$a->strings["Save search terms for re-use"] = "Guardar términos de búsqueda para su reutilización"; -$a->strings["Network Personal Tab"] = "Actividad personal"; -$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Habilitar una pestaña en la cual se muestren solo las entradas en las que ha participado."; -$a->strings["Network New Tab"] = "Contenido nuevo"; -$a->strings["Enable tab to display all new Network activity"] = "Habilitar una pestaña en la que se muestre solo el contenido nuevo"; -$a->strings["Affinity Tool"] = "Herramienta de afinidad"; -$a->strings["Filter stream activity by depth of relationships"] = "Filtrar la actividad del flujo por profundidad de relaciones"; -$a->strings["Connection Filtering"] = "Filtrado de conexiones"; -$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtrar publicaciones entrantes de conexiones por palabras clave o contenido"; -$a->strings["Suggest Channels"] = "Sugerir canales"; -$a->strings["Show channel suggestions"] = "Mostrar sugerencias de canales"; -$a->strings["Post/Comment Tools"] = "Herramientas de entradas/comentarios"; -$a->strings["Tagging"] = "Etiquetado"; -$a->strings["Ability to tag existing posts"] = "Capacidad de etiquetar entradas existentes"; -$a->strings["Post Categories"] = "Categorías de entradas"; -$a->strings["Add categories to your posts"] = "Añadir categorías a sus publicaciones"; -$a->strings["Saved Folders"] = "Carpetas guardadas"; -$a->strings["Ability to file posts under folders"] = "Capacidad de archivar entradas en carpetas"; -$a->strings["Dislike Posts"] = "Desagrado de publicaciones"; -$a->strings["Ability to dislike posts/comments"] = "Capacidad de mostrar desacuerdo con el contenido de entradas y comentarios"; -$a->strings["Star Posts"] = "Entradas destacadas"; -$a->strings["Ability to mark special posts with a star indicator"] = "Capacidad de marcar entradas destacadas con un indicador de estrella"; -$a->strings["Tag Cloud"] = "Nube de etiquetas"; -$a->strings["Provide a personal tag cloud on your channel page"] = "Proveer nube de etiquetas personal en su página de canal"; -$a->strings["Default"] = "Predeterminado"; $a->strings["Delete this item?"] = "¿Borrar este elemento?"; $a->strings["Comment"] = "Comentar"; $a->strings["[+] show all"] = "[+] mostrar todo:"; @@ -178,6 +63,7 @@ $a->strings["Describe (optional)"] = "Describir (opcional)"; $a->strings["Submit"] = "Enviar"; $a->strings["Please enter a link URL"] = "Por favor, introduzca una dirección de enlace"; $a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Cambios no guardados. ¿Está seguro de que desea abandonar la página?"; +$a->strings["Location"] = "Ubicación"; $a->strings["timeago.prefixAgo"] = "timeago.prefixAgo"; $a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow"; $a->strings["ago"] = "antes"; @@ -207,18 +93,18 @@ $a->strings["September"] = "septiembre"; $a->strings["October"] = "octubre"; $a->strings["November"] = "noviembre"; $a->strings["December"] = "diciembre"; -$a->strings["Jan"] = "Ene"; -$a->strings["Feb"] = "Feb"; -$a->strings["Mar"] = "Mar"; -$a->strings["Apr"] = "Abr"; -$a->strings["__ctx:short__ May"] = "May"; -$a->strings["Jun"] = "Jun"; -$a->strings["Jul"] = "Jul"; -$a->strings["Aug"] = "Ago"; -$a->strings["Sep"] = "Sep"; -$a->strings["Oct"] = "Oct"; -$a->strings["Nov"] = "Nov"; -$a->strings["Dec"] = "Dic"; +$a->strings["Jan"] = "ene"; +$a->strings["Feb"] = "feb"; +$a->strings["Mar"] = "mar"; +$a->strings["Apr"] = "abr"; +$a->strings["__ctx:short__ May"] = "may"; +$a->strings["Jun"] = "jun"; +$a->strings["Jul"] = "jul"; +$a->strings["Aug"] = "ago"; +$a->strings["Sep"] = "sep"; +$a->strings["Oct"] = "oct"; +$a->strings["Nov"] = "nov"; +$a->strings["Dec"] = "dic"; $a->strings["Sunday"] = "domingo"; $a->strings["Monday"] = "lunes"; $a->strings["Tuesday"] = "martes"; @@ -226,44 +112,21 @@ $a->strings["Wednesday"] = "miércoles"; $a->strings["Thursday"] = "jueves"; $a->strings["Friday"] = "viernes"; $a->strings["Saturday"] = "sábado"; -$a->strings["Sun"] = "Dom"; -$a->strings["Mon"] = "Lun"; -$a->strings["Tue"] = "Mar"; -$a->strings["Wed"] = "Mié"; -$a->strings["Thu"] = "Jue"; -$a->strings["Fri"] = "Vie"; -$a->strings["Sat"] = "Sáb"; +$a->strings["Sun"] = "dom"; +$a->strings["Mon"] = "lun"; +$a->strings["Tue"] = "mar"; +$a->strings["Wed"] = "mié"; +$a->strings["Thu"] = "jue"; +$a->strings["Fri"] = "vie"; +$a->strings["Sat"] = "sáb"; $a->strings["__ctx:calendar__ today"] = "hoy"; $a->strings["__ctx:calendar__ month"] = "mes"; $a->strings["__ctx:calendar__ week"] = "semana"; $a->strings["__ctx:calendar__ day"] = "día"; $a->strings["__ctx:calendar__ All day"] = "Todos los días"; -$a->strings["Frequently"] = "Frecuentemente"; -$a->strings["Hourly"] = "Cada hora"; -$a->strings["Twice daily"] = "Dos veces al día"; -$a->strings["Daily"] = "Diariamente"; -$a->strings["Weekly"] = "Semanalmente"; -$a->strings["Monthly"] = "Mensualmente"; -$a->strings["Friendica"] = "Friendica"; -$a->strings["OStatus"] = "OStatus"; -$a->strings["RSS/Atom"] = "RSS/Atom"; -$a->strings["Email"] = "Correo electrónico"; -$a->strings["Diaspora"] = "Diaspora"; -$a->strings["Facebook"] = "Facebook"; -$a->strings["Zot!"] = "Zot!"; -$a->strings["LinkedIn"] = "LinkedIn"; -$a->strings["XMPP/IM"] = "XMPP/IM"; -$a->strings["MySpace"] = "MySpace"; -$a->strings[" and "] = "y"; -$a->strings["public profile"] = "perfil público"; -$a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s cambió %2\$s a “%3\$s”"; -$a->strings["Visit %1\$s's %2\$s"] = "Visitar %2\$s de %1\$s"; -$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha actualizado %2\$s cambiando %3\$s."; -$a->strings["Connect"] = "Conectar"; -$a->strings["New window"] = "Nueva ventana"; -$a->strings["Open the selected location in a different window or browser tab"] = "Abrir la dirección seleccionada en una ventana o pestaña aparte"; -$a->strings["User '%s' deleted"] = "El usuario '%s' ha sido eliminado"; -$a->strings["Cannot locate DNS info for database server '%s'"] = "No se ha podido localizar información de DNS para el servidor de base de datos “%s”"; +$a->strings["No username found in import file."] = "No se ha encontrado el nombre de usuario en el fichero importado."; +$a->strings["Import completed."] = "Importación completada."; +$a->strings["Default"] = "Predeterminado"; $a->strings["Permission denied"] = "Permiso denegado"; $a->strings["(Unknown)"] = "(Desconocido)"; $a->strings["Visible to anybody on the internet."] = "Visible para cualquiera en internet."; @@ -280,8 +143,356 @@ $a->strings["Collection is empty."] = "La colección está vacía."; $a->strings["Collection: %s"] = "Colección: %s"; $a->strings["Connection: %s"] = "Conexión: %s"; $a->strings["Connection not found."] = "Conexión no encontrada"; -$a->strings["photo"] = "foto"; +$a->strings["view full size"] = "Ver en el tamaño original"; +$a->strings["\$Projectname Notification"] = "Notificación de \$Projectname"; +$a->strings["\$projectname"] = "\$projectname"; +$a->strings["Thank You,"] = "Gracias,"; +$a->strings["%s Administrator"] = "%s Administrador"; +$a->strings["Administrator"] = "Administrador"; +$a->strings["No Subject"] = "Sin asunto"; +$a->strings["l F d, Y \\@ g:i A"] = "l d de F, Y \\@ G:i"; +$a->strings["Starts:"] = "Comienza:"; +$a->strings["Finishes:"] = "Finaliza:"; +$a->strings["Location:"] = "Ubicación:"; +$a->strings["This event has been added to your calendar."] = "Este evento ha sido añadido a su calendario."; $a->strings["event"] = "evento"; +$a->strings["Not specified"] = "Sin especificar"; +$a->strings["Needs Action"] = "Necesita de una intervención"; +$a->strings["Completed"] = "Completado/a"; +$a->strings["In Process"] = "En proceso"; +$a->strings["Cancelled"] = "Cancelado/a"; +$a->strings["Unable to obtain identity information from database"] = "No ha sido posible obtener información sobre la identidad desde la base de datos"; +$a->strings["Empty name"] = "Nombre vacío"; +$a->strings["Name too long"] = "Nombre demasiado largo"; +$a->strings["No account identifier"] = "Ningún identificador de la cuenta"; +$a->strings["Nickname is required."] = "Se requiere un sobrenombre (alias)."; +$a->strings["Reserved nickname. Please choose another."] = "Sobrenombre en uso. Por favor, elija otro."; +$a->strings["Nickname has unsupported characters or is already being used on this site."] = "El alias contiene caracteres no admitidos o está ya en uso por otros usuarios de este sitio."; +$a->strings["Unable to retrieve created identity"] = "No ha sido posible recuperar la identidad creada"; +$a->strings["Default Profile"] = "Perfil principal"; +$a->strings["Friends"] = "Amigos"; +$a->strings["Requested channel is not available."] = "El canal solicitado no está disponible."; +$a->strings["Requested profile is not available."] = "El perfil solicitado no está disponible."; +$a->strings["Change profile photo"] = "Cambiar la foto del perfil"; +$a->strings["Profiles"] = "Perfiles"; +$a->strings["Manage/edit profiles"] = "Administrar/editar perfiles"; +$a->strings["Create New Profile"] = "Crear un nuevo perfil"; +$a->strings["Edit Profile"] = "Editar el perfil"; +$a->strings["Profile Image"] = "Imagen del perfil"; +$a->strings["visible to everybody"] = "visible para cualquiera"; +$a->strings["Edit visibility"] = "Editar visibilidad"; +$a->strings["Gender:"] = "Género:"; +$a->strings["Status:"] = "Estado:"; +$a->strings["Homepage:"] = "Página personal:"; +$a->strings["Online Now"] = "Ahora en línea"; +$a->strings["g A l F d"] = "g A l d F"; +$a->strings["F d"] = "d F"; +$a->strings["[today]"] = "[hoy]"; +$a->strings["Birthday Reminders"] = "Recordatorios de cumpleaños"; +$a->strings["Birthdays this week:"] = "Cumpleaños de esta semana:"; +$a->strings["[No description]"] = "[Sin descripción]"; +$a->strings["Event Reminders"] = "Recordatorios de eventos"; +$a->strings["Events this week:"] = "Eventos de esta semana:"; +$a->strings["Profile"] = "Perfil"; +$a->strings["Full Name:"] = "Nombre completo:"; +$a->strings["Like this channel"] = "Me gusta este canal"; +$a->strings["__ctx:noun__ Like"] = array( + 0 => "Me gusta", + 1 => "Me gusta", +); +$a->strings["j F, Y"] = "j F Y"; +$a->strings["j F"] = "j F"; +$a->strings["Birthday:"] = "Cumpleaños:"; +$a->strings["Age:"] = "Edad:"; +$a->strings["for %1\$d %2\$s"] = "por %1\$d %2\$s"; +$a->strings["Sexual Preference:"] = "Orientación sexual:"; +$a->strings["Hometown:"] = "Ciudad de origen:"; +$a->strings["Tags:"] = "Etiquetas:"; +$a->strings["Political Views:"] = "Posición política:"; +$a->strings["Religion:"] = "Religión:"; +$a->strings["About:"] = "Sobre mí:"; +$a->strings["Hobbies/Interests:"] = "Aficciones/Intereses:"; +$a->strings["Likes:"] = "Me gusta:"; +$a->strings["Dislikes:"] = "No me gusta:"; +$a->strings["Contact information and Social Networks:"] = "Información de contacto y redes sociales:"; +$a->strings["My other channels:"] = "Mis otros canales:"; +$a->strings["Musical interests:"] = "Intereses musicales:"; +$a->strings["Books, literature:"] = "Libros, literatura:"; +$a->strings["Television:"] = "Televisión:"; +$a->strings["Film/dance/culture/entertainment:"] = "Cine/danza/cultura/entretenimiento:"; +$a->strings["Love/Romance:"] = "Vida sentimental/amorosa:"; +$a->strings["Work/employment:"] = "Trabajo:"; +$a->strings["School/education:"] = "Estudios:"; +$a->strings["Like this thing"] = "Me gusta esto"; +$a->strings["Tags"] = "Etiquetas"; +$a->strings["Categories"] = "Categorías"; +$a->strings["Keywords"] = "Palabras clave"; +$a->strings["have"] = "tener"; +$a->strings["has"] = "tiene"; +$a->strings["want"] = "quiero"; +$a->strings["wants"] = "quiere"; +$a->strings["like"] = "me gusta"; +$a->strings["likes"] = "le gusta"; +$a->strings["dislike"] = "no me gusta"; +$a->strings["dislikes"] = "no le gusta"; +$a->strings["Visible to your default audience"] = "Visible para su público predeterminado."; +$a->strings["Show"] = "Mostrar"; +$a->strings["Don't show"] = "No mostrar"; +$a->strings["Other networks and post services"] = "Otras redes y servicios de correo"; +$a->strings["Permissions"] = "Permisos"; +$a->strings["Close"] = "Cerrar"; +$a->strings[" and "] = "y"; +$a->strings["public profile"] = "perfil público"; +$a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s cambió %2\$s a “%3\$s”"; +$a->strings["Visit %1\$s's %2\$s"] = "Visitar %2\$s de %1\$s"; +$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha actualizado %2\$s cambiando %3\$s."; +$a->strings["Item was not found."] = "Elemento no encontrado."; +$a->strings["No source file."] = "Ningún fichero de origen"; +$a->strings["Cannot locate file to replace"] = "No se puede localizar el fichero que va a ser sustituido."; +$a->strings["Cannot locate file to revise/update"] = "No se puede localizar el fichero para revisar/actualizar"; +$a->strings["File exceeds size limit of %d"] = "El fichero supera el limite de tamaño de %d"; +$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos."; +$a->strings["File upload failed. Possible system limit or action terminated."] = "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado."; +$a->strings["Stored file could not be verified. Upload failed."] = "El fichero almacenado no ha podido ser verificado. El envío ha fallado."; +$a->strings["Path not available."] = "Ruta no disponible."; +$a->strings["Empty pathname"] = "Ruta vacía"; +$a->strings["duplicate filename or path"] = "Nombre duplicado de ruta o fichero"; +$a->strings["Path not found."] = "Ruta no encontrada"; +$a->strings["mkdir failed."] = "mkdir ha fallado."; +$a->strings["database storage failed."] = "el almacenamiento en la base de datos ha fallado."; +$a->strings["Empty path"] = "Ruta vacía"; +$a->strings["Attachments:"] = "Ficheros adjuntos:"; +$a->strings["\$Projectname event notification:"] = "Notificación de eventos de \$Projectname:"; +$a->strings["created a new post"] = "ha creado una nueva entrada"; +$a->strings["commented on %s's post"] = "ha comentado la entrada de %s"; +$a->strings["Apps"] = "Aplicaciones"; +$a->strings["System"] = "Sistema"; +$a->strings["Personal"] = "Personales"; +$a->strings["Create Personal App"] = "Crear una aplicación personal"; +$a->strings["Edit Personal App"] = "Editar una aplicación personal"; +$a->strings["Ignore/Hide"] = "Ignorar/Ocultar"; +$a->strings["Suggestions"] = "Sugerencias"; +$a->strings["See more..."] = "Ver más..."; +$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas."; +$a->strings["Add New Connection"] = "Añadir nueva conexión"; +$a->strings["Enter the channel address"] = "Introducir la dirección del canal"; +$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco"; +$a->strings["Notes"] = "Notas"; +$a->strings["Save"] = "Guardar"; +$a->strings["Remove term"] = "Eliminar término"; +$a->strings["Saved Searches"] = "Búsquedas guardadas"; +$a->strings["add"] = "añadir"; +$a->strings["Saved Folders"] = "Carpetas guardadas"; +$a->strings["Everything"] = "Todo"; +$a->strings["Archives"] = "Hemeroteca"; +$a->strings["Me"] = "Yo"; +$a->strings["Family"] = "Familia"; +$a->strings["Acquaintances"] = "Conocidos/as"; +$a->strings["All"] = "Todas"; +$a->strings["Refresh"] = "Recargar"; +$a->strings["Account settings"] = "Configuración de la cuenta"; +$a->strings["Channel settings"] = "Configuración del canal"; +$a->strings["Additional features"] = "Características adicionales"; +$a->strings["Feature/Addon settings"] = "Configuración de características o complementos"; +$a->strings["Display settings"] = "Ajustes de visualización"; +$a->strings["Connected apps"] = "Aplicaciones conectadas"; +$a->strings["Export channel"] = "Exportar canal"; +$a->strings["Connection Default Permissions"] = "Permisos predeterminados de conexión"; +$a->strings["Premium Channel Settings"] = "Configuración del canal premium"; +$a->strings["Channel Sources"] = "Orígenes de los contenidos del canal"; +$a->strings["Settings"] = "Ajustes"; +$a->strings["Private Mail Menu"] = "Menú de correo privado"; +$a->strings["Combined View"] = "Vista combinada"; +$a->strings["Inbox"] = "Bandeja de entrada"; +$a->strings["Outbox"] = "Bandeja de salida"; +$a->strings["New Message"] = "Nuevo mensaje"; +$a->strings["Conversations"] = "Conversaciones"; +$a->strings["Received Messages"] = "Mensajes recibidos"; +$a->strings["Sent Messages"] = "Enviar mensajes"; +$a->strings["No messages."] = "Sin mensajes."; +$a->strings["Delete conversation"] = "Eliminar conversación"; +$a->strings["Events Menu"] = "Menú de eventos"; +$a->strings["Day View"] = "Eventos del día"; +$a->strings["Week View"] = "Eventos de la semana"; +$a->strings["Month View"] = "Eventos del mes"; +$a->strings["Export"] = "Exportar"; +$a->strings["Import"] = "Importar"; +$a->strings["Events Tools"] = "Gestión de eventos"; +$a->strings["Export Calendar"] = "Exportar el calendario"; +$a->strings["Import Calendar"] = "Importar un calendario"; +$a->strings["Chat Rooms"] = "Salas de chat"; +$a->strings["Bookmarked Chatrooms"] = "Salas de chat preferidas"; +$a->strings["Suggested Chatrooms"] = "Salas de chat sugeridas"; +$a->strings["photo/image"] = "foto/imagen"; +$a->strings["Rate Me"] = "Valorar este canal"; +$a->strings["View Ratings"] = "Mostrar las valoraciones"; +$a->strings["Public Hubs"] = "Servidores públicos"; +$a->strings["Forums"] = "Foros"; +$a->strings["Tasks"] = "Tareas"; +$a->strings["Documentation"] = "Documentación"; +$a->strings["Project/Site Information"] = "Información sobre el proyecto o sitio"; +$a->strings["For Members"] = "Para los usuarios"; +$a->strings["For Administrators"] = "Para los administradores"; +$a->strings["For Developers"] = "Para los desarrolladores"; +$a->strings["Site"] = "Sitio"; +$a->strings["Accounts"] = "Cuentas"; +$a->strings["Channels"] = "Canales"; +$a->strings["Plugins"] = "Extensiones"; +$a->strings["Themes"] = "Temas"; +$a->strings["Inspect queue"] = "Examinar la cola"; +$a->strings["Profile Config"] = "Ajustes del perfil"; +$a->strings["DB updates"] = "Actualizaciones de la base de datos"; +$a->strings["Logs"] = "Informes"; +$a->strings["Admin"] = "Administrador"; +$a->strings["Plugin Features"] = "Ajustes de la extensión"; +$a->strings["User registrations waiting for confirmation"] = "Registros de usuarios pendientes de confirmación"; +$a->strings["View Photo"] = "Ver foto"; +$a->strings["Edit Album"] = "Editar álbum"; +$a->strings["%1\$s's bookmarks"] = "Marcadores de %1\$s"; +$a->strings["General Features"] = "Características generales"; +$a->strings["Content Expiration"] = "Caducidad del contenido"; +$a->strings["Remove posts/comments and/or private messages at a future time"] = "Eliminar publicaciones/comentarios y/o mensajes privados más adelante"; +$a->strings["Multiple Profiles"] = "Múltiples perfiles"; +$a->strings["Ability to create multiple profiles"] = "Capacidad de crear múltiples perfiles"; +$a->strings["Advanced Profiles"] = "Perfiles avanzados"; +$a->strings["Additional profile sections and selections"] = "Secciones y selecciones de perfil adicionales"; +$a->strings["Profile Import/Export"] = "Importar/Exportar perfil"; +$a->strings["Save and load profile details across sites/channels"] = "Guardar y cargar detalles del perfil a través de sitios/canales"; +$a->strings["Web Pages"] = "Páginas web"; +$a->strings["Provide managed web pages on your channel"] = "Proveer páginas web gestionadas en su canal"; +$a->strings["Private Notes"] = "Notas privadas"; +$a->strings["Enables a tool to store notes and reminders"] = "Activar una herramienta para almacenar notas y recordatorios"; +$a->strings["Navigation Channel Select"] = "Navegación por el selector de canales"; +$a->strings["Change channels directly from within the navigation dropdown menu"] = "Cambiar de canales directamente desde el menú de navegación desplegable"; +$a->strings["Photo Location"] = "Ubicación de las fotos"; +$a->strings["If location data is available on uploaded photos, link this to a map."] = "Si los datos de ubicación están disponibles en las fotos subidas, enlazar estas a un mapa."; +$a->strings["Expert Mode"] = "Modo de experto"; +$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Habilitar el modo de experto para acceder a opciones avanzadas de configuración"; +$a->strings["Premium Channel"] = "Canal premium"; +$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Les permite configurar restricciones y normas de uso a aquellos que conectan con su canal"; +$a->strings["Post Composition Features"] = "Características de composición de entradas"; +$a->strings["Use Markdown"] = "Usar Markdown"; +$a->strings["Allow use of \"Markdown\" to format posts"] = "Permitir el uso de \"Markdown\" para formatear publicaciones"; +$a->strings["Large Photos"] = "Fotos de gran tamaño"; +$a->strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Incluir miniaturas de fotos grandes (1024px) en publicaciones. Si no está habilitado, usar miniaturas pequeñas (640px)"; +$a->strings["Automatically import channel content from other channels or feeds"] = "Importar automáticamente contenido de otros canales o \"feeds\""; +$a->strings["Even More Encryption"] = "Más cifrado todavía"; +$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permitir cifrado adicional de contenido \"punto-a-punto\" con una clave secreta compartida."; +$a->strings["Enable Voting Tools"] = "Activar herramientas de votación"; +$a->strings["Provide a class of post which others can vote on"] = "Proveer una clase de publicación en la que otros puedan votar"; +$a->strings["Delayed Posting"] = "Publicación aplazada"; +$a->strings["Allow posts to be published at a later date"] = "Permitir mensajes que se publicarán en una fecha posterior"; +$a->strings["Suppress Duplicate Posts/Comments"] = "Prevenir entradas o comentarios duplicados"; +$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Prevenir que entradas con contenido idéntico se publiquen con menos de dos minutos de intervalo."; +$a->strings["Network and Stream Filtering"] = "Filtrado del contenido"; +$a->strings["Search by Date"] = "Buscar por fecha"; +$a->strings["Ability to select posts by date ranges"] = "Capacidad de seleccionar entradas por rango de fechas"; +$a->strings["Collections Filter"] = "Filtrado de colecciones"; +$a->strings["Enable widget to display Network posts only from selected collections"] = "Habilitar la muestra de entradas eligiendo colecciones"; +$a->strings["Save search terms for re-use"] = "Guardar términos de búsqueda para su reutilización"; +$a->strings["Network Personal Tab"] = "Actividad personal"; +$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Habilitar una pestaña en la cual se muestren solo las entradas en las que ha participado."; +$a->strings["Network New Tab"] = "Contenido nuevo"; +$a->strings["Enable tab to display all new Network activity"] = "Habilitar una pestaña en la que se muestre solo el contenido nuevo"; +$a->strings["Affinity Tool"] = "Herramienta de afinidad"; +$a->strings["Filter stream activity by depth of relationships"] = "Filtrar la actividad del flujo por profundidad de relaciones"; +$a->strings["Connection Filtering"] = "Filtrado de conexiones"; +$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtrar publicaciones entrantes de conexiones por palabras clave o contenido"; +$a->strings["Suggest Channels"] = "Sugerir canales"; +$a->strings["Show channel suggestions"] = "Mostrar sugerencias de canales"; +$a->strings["Post/Comment Tools"] = "Herramientas de entradas/comentarios"; +$a->strings["Tagging"] = "Etiquetado"; +$a->strings["Ability to tag existing posts"] = "Capacidad de etiquetar entradas existentes"; +$a->strings["Post Categories"] = "Categorías de entradas"; +$a->strings["Add categories to your posts"] = "Añadir categorías a sus publicaciones"; +$a->strings["Ability to file posts under folders"] = "Capacidad de archivar entradas en carpetas"; +$a->strings["Dislike Posts"] = "Desagrado de publicaciones"; +$a->strings["Ability to dislike posts/comments"] = "Capacidad de mostrar desacuerdo con el contenido de entradas y comentarios"; +$a->strings["Star Posts"] = "Entradas destacadas"; +$a->strings["Ability to mark special posts with a star indicator"] = "Capacidad de marcar entradas destacadas con un indicador de estrella"; +$a->strings["Tag Cloud"] = "Nube de etiquetas"; +$a->strings["Provide a personal tag cloud on your channel page"] = "Proveer nube de etiquetas personal en su página de canal"; +$a->strings["Male"] = "Hombre"; +$a->strings["Female"] = "Mujer"; +$a->strings["Currently Male"] = "Actualmente hombre"; +$a->strings["Currently Female"] = "Actualmente mujer"; +$a->strings["Mostly Male"] = "Generalmente hombre"; +$a->strings["Mostly Female"] = "Generalmente mujer"; +$a->strings["Transgender"] = "Transgénero"; +$a->strings["Intersex"] = "Intersexual"; +$a->strings["Transsexual"] = "Transexual"; +$a->strings["Hermaphrodite"] = "Hermafrodita"; +$a->strings["Neuter"] = "Neutral"; +$a->strings["Non-specific"] = "No especificado"; +$a->strings["Other"] = "Otro"; +$a->strings["Undecided"] = "Indeciso/a"; +$a->strings["Males"] = "Hombres"; +$a->strings["Females"] = "Mujeres"; +$a->strings["Gay"] = "Homosexual"; +$a->strings["Lesbian"] = "Lesbiana"; +$a->strings["No Preference"] = "Sin preferencias"; +$a->strings["Bisexual"] = "Bisexual"; +$a->strings["Autosexual"] = "Autosexual"; +$a->strings["Abstinent"] = "Casto/a"; +$a->strings["Virgin"] = "Virgen"; +$a->strings["Deviant"] = "Fuera de lo común"; +$a->strings["Fetish"] = "Fetichista"; +$a->strings["Oodles"] = "Orgías"; +$a->strings["Nonsexual"] = "Asexual"; +$a->strings["Single"] = "Soltero/a"; +$a->strings["Lonely"] = "Solo/a"; +$a->strings["Available"] = "Disponible"; +$a->strings["Unavailable"] = "No disponible"; +$a->strings["Has crush"] = "Enamorado/a"; +$a->strings["Infatuated"] = "Apasionado/a"; +$a->strings["Dating"] = "Saliendo con alguien"; +$a->strings["Unfaithful"] = "Infiel"; +$a->strings["Sex Addict"] = "Con adicción al sexo"; +$a->strings["Friends/Benefits"] = "Amigos con algo extra"; +$a->strings["Casual"] = "Casual"; +$a->strings["Engaged"] = "Prometido/a"; +$a->strings["Married"] = "Casado/a"; +$a->strings["Imaginarily married"] = "Casado/a en sueños"; +$a->strings["Partners"] = "Pareja"; +$a->strings["Cohabiting"] = "Cohabitando"; +$a->strings["Common law"] = "Matrimonio tradicional"; +$a->strings["Happy"] = "Felíz"; +$a->strings["Not looking"] = "No estoy buscando"; +$a->strings["Swinger"] = "Libertino"; +$a->strings["Betrayed"] = "Engañado/a"; +$a->strings["Separated"] = "Separado/a"; +$a->strings["Unstable"] = "Inestable"; +$a->strings["Divorced"] = "Divorciado/a"; +$a->strings["Imaginarily divorced"] = "Divorciado/a en sueños"; +$a->strings["Widowed"] = "Viudo/a"; +$a->strings["Uncertain"] = "Indeterminado"; +$a->strings["It's complicated"] = "Es complicado"; +$a->strings["Don't care"] = "No me importa"; +$a->strings["Ask me"] = "Pregúnteme"; +$a->strings["Miscellaneous"] = "Varios"; +$a->strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-DD o MM-DD"; +$a->strings["Required"] = "Obligatorio"; +$a->strings["never"] = "nunca"; +$a->strings["less than a second ago"] = "hace un instante"; +$a->strings["year"] = "año"; +$a->strings["years"] = "años"; +$a->strings["month"] = "mes"; +$a->strings["months"] = "meses"; +$a->strings["week"] = "semana"; +$a->strings["weeks"] = "semanas"; +$a->strings["day"] = "día"; +$a->strings["days"] = "días"; +$a->strings["hour"] = "hora"; +$a->strings["hours"] = "horas"; +$a->strings["minute"] = "minuto"; +$a->strings["minutes"] = "minutos"; +$a->strings["second"] = "segundo"; +$a->strings["seconds"] = "segundos"; +$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "hace %1\$d %2\$s"; +$a->strings["%1\$s's birthday"] = "Cumpleaños de %1\$s"; +$a->strings["Happy Birthday %1\$s"] = "Feliz cumpleaños %1\$s"; +$a->strings["Public Timeline"] = "Cronología pública"; +$a->strings["photo"] = "foto"; $a->strings["channel"] = "canal"; $a->strings["status"] = "el mensaje de estado"; $a->strings["comment"] = "comentario"; @@ -289,7 +500,7 @@ $a->strings["%1\$s likes %2\$s's %3\$s"] = "a %1\$s le gusta %3\$s de %2\$s"; $a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "a %1\$s no le gusta %3\$s de %2\$s"; $a->strings["%1\$s is now connected with %2\$s"] = "%1\$s ahora está conectado/a con %2\$s"; $a->strings["%1\$s poked %2\$s"] = "%1\$s ha dado un toque a %2\$s"; -$a->strings["poked"] = "ha recibido un toque"; +$a->strings["poked"] = "ha dado un toque a"; $a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s está %2\$s"; $a->strings["__ctx:title__ Likes"] = "Me gusta"; $a->strings["__ctx:title__ Dislikes"] = "No me gusta"; @@ -315,9 +526,9 @@ $a->strings["remove"] = "eliminar"; $a->strings["Loading..."] = "Cargando..."; $a->strings["Delete Selected Items"] = "Eliminar elementos seleccionados"; $a->strings["View Source"] = "Ver la fuente original de la entrada"; -$a->strings["Follow Thread"] = "Seguir el hilo"; +$a->strings["Follow Thread"] = "Seguir este hilo"; $a->strings["Unfollow Thread"] = "Dejar de seguir este hilo"; -$a->strings["View Status"] = "Ver el estado actual"; +$a->strings["View Status"] = "Ver mi estado actual"; $a->strings["View Profile"] = "Ver el perfil"; $a->strings["View Photos"] = "Ver fotos"; $a->strings["Activity/Posts"] = "Actividad y entradas"; @@ -390,7 +601,6 @@ $a->strings["Commented Order"] = "Comentarios recientes"; $a->strings["Sort by Comment Date"] = "Ordenar por fecha de comentario"; $a->strings["Posted Order"] = "Publicaciones recientes"; $a->strings["Sort by Post Date"] = "Ordenar por fecha de publicación"; -$a->strings["Personal"] = "Personales"; $a->strings["Posts that mention or involve you"] = "Publicaciones que le mencionan o involucran"; $a->strings["New"] = "Nuevas"; $a->strings["Activity Stream - by date"] = "Flujo de actividad - por fecha"; @@ -411,10 +621,6 @@ $a->strings["Saved Bookmarks"] = "Marcadores guardados"; $a->strings["Webpages"] = "Páginas web"; $a->strings["Manage Webpages"] = "Administrar páginas web"; $a->strings["View all"] = "Ver todo"; -$a->strings["__ctx:noun__ Like"] = array( - 0 => "Me gusta", - 1 => "Me gusta", -); $a->strings["__ctx:noun__ Dislike"] = array( 0 => "No me gusta", 1 => "No me gusta", @@ -432,149 +638,72 @@ $a->strings["__ctx:noun__ Undecided"] = array( 1 => "Indecisos/as", ); $a->strings["__ctx:noun__ Agree"] = array( - 0 => "Está de acuerdo", + 0 => "De acuerdo", 1 => "De acuerdo", ); $a->strings["__ctx:noun__ Disagree"] = array( - 0 => "No está de acuerdo", + 0 => "En desacuerdo", 1 => "En desacuerdo", ); $a->strings["__ctx:noun__ Abstain"] = array( 0 => "se abstiene", 1 => "Se abstienen", ); -$a->strings["view full size"] = "Ver en el tamaño original"; -$a->strings["\$Projectname Notification"] = "Notificación de \$Projectname"; -$a->strings["\$projectname"] = "\$projectname"; -$a->strings["Thank You,"] = "Gracias,"; -$a->strings["%s Administrator"] = "%s Administrador"; -$a->strings["Administrator"] = "Administrador"; -$a->strings["No Subject"] = "Sin asunto"; -$a->strings["%1\$s's bookmarks"] = "Marcadores de %1\$s"; -$a->strings["Visible to your default audience"] = "Visible para su público predeterminado."; -$a->strings["Show"] = "Mostrar"; -$a->strings["Don't show"] = "No mostrar"; -$a->strings["Other networks and post services"] = "Otras redes y servicios de correo"; -$a->strings["Permissions"] = "Permisos"; -$a->strings["Close"] = "Cerrar"; -$a->strings["Image exceeds website size limit of %lu bytes"] = "La imagen excede el límite de %lu bytes del sitio"; -$a->strings["Image file is empty."] = "El fichero de imagen está vacío. "; -$a->strings["Unable to process image"] = "No ha sido posible procesar la imagen"; -$a->strings["Photo storage failed."] = "La foto no ha podido ser guardada."; -$a->strings["Upload New Photos"] = "Subir nuevas fotos"; -$a->strings["created a new post"] = "ha creado una nueva entrada"; -$a->strings["commented on %s's post"] = "ha comentado la entrada de %s"; -$a->strings["New Page"] = "Nueva página"; -$a->strings["View"] = "Ver"; -$a->strings["Actions"] = "Acciones"; -$a->strings["Page Link"] = "Vínculo de la página"; -$a->strings["Title"] = "Título"; -$a->strings["Created"] = "Creado"; -$a->strings["Edited"] = "Editado"; -$a->strings["Profile Photos"] = "Fotos del perfil"; -$a->strings["Male"] = "Hombre"; -$a->strings["Female"] = "Mujer"; -$a->strings["Currently Male"] = "Actualmente hombre"; -$a->strings["Currently Female"] = "Actualmente mujer"; -$a->strings["Mostly Male"] = "Generalmente hombre"; -$a->strings["Mostly Female"] = "Generalmente mujer"; -$a->strings["Transgender"] = "Transgénero"; -$a->strings["Intersex"] = "Intersexual"; -$a->strings["Transsexual"] = "Transexual"; -$a->strings["Hermaphrodite"] = "Hermafrodita"; -$a->strings["Neuter"] = "Neutral"; -$a->strings["Non-specific"] = "No especificado"; -$a->strings["Undecided"] = "Indeciso/a"; -$a->strings["Males"] = "Hombres"; -$a->strings["Females"] = "Mujeres"; -$a->strings["Gay"] = "Homosexual"; -$a->strings["Lesbian"] = "Lesbiana"; -$a->strings["No Preference"] = "Sin preferencias"; -$a->strings["Bisexual"] = "Bisexual"; -$a->strings["Autosexual"] = "Autosexual"; -$a->strings["Abstinent"] = "Casto/a"; -$a->strings["Virgin"] = "Virgen"; -$a->strings["Deviant"] = "Fuera de lo común"; -$a->strings["Fetish"] = "Fetichista"; -$a->strings["Oodles"] = "Orgías"; -$a->strings["Nonsexual"] = "Asexual"; -$a->strings["Single"] = "Soltero/a"; -$a->strings["Lonely"] = "Solo/a"; -$a->strings["Available"] = "Disponible"; -$a->strings["Unavailable"] = "No disponible"; -$a->strings["Has crush"] = "Enamorado/a"; -$a->strings["Infatuated"] = "Apasionado/a"; -$a->strings["Dating"] = "Saliendo con alguien"; -$a->strings["Unfaithful"] = "Infiel"; -$a->strings["Sex Addict"] = "Con adicción al sexo"; -$a->strings["Friends"] = "Amigos"; -$a->strings["Friends/Benefits"] = "Amigos con algo extra"; -$a->strings["Casual"] = "Casual"; -$a->strings["Engaged"] = "Prometido/a"; -$a->strings["Married"] = "Casado/a"; -$a->strings["Imaginarily married"] = "Casado/a en sueños"; -$a->strings["Partners"] = "Pareja"; -$a->strings["Cohabiting"] = "Cohabitando"; -$a->strings["Common law"] = "Matrimonio tradicional"; -$a->strings["Happy"] = "Felíz"; -$a->strings["Not looking"] = "No estoy buscando"; -$a->strings["Swinger"] = "Libertino"; -$a->strings["Betrayed"] = "Engañado/a"; -$a->strings["Separated"] = "Separado/a"; -$a->strings["Unstable"] = "Inestable"; -$a->strings["Divorced"] = "Divorciado/a"; -$a->strings["Imaginarily divorced"] = "Divorciado/a en sueños"; -$a->strings["Widowed"] = "Viudo/a"; -$a->strings["Uncertain"] = "Indeterminado"; -$a->strings["It's complicated"] = "Es complicado"; -$a->strings["Don't care"] = "No me importa"; -$a->strings["Ask me"] = "Pregúnteme"; -$a->strings["Embedded content"] = "Contenido incorporado"; -$a->strings["Embedding disabled"] = "Incrustación deshabilitada"; -$a->strings["l F d, Y \\@ g:i A"] = "l d de F, Y \\@ G:i"; -$a->strings["Starts:"] = "Comienza:"; -$a->strings["Finishes:"] = "Finaliza:"; -$a->strings["Location:"] = "Ubicación:"; -$a->strings["This event has been added to your calendar."] = "Este evento ha sido añadido a su calendario."; -$a->strings["Not specified"] = "Sin especificar"; -$a->strings["Needs Action"] = "Necesita de una intervención"; -$a->strings["Completed"] = "Completado/a"; -$a->strings["In Process"] = "En proceso"; -$a->strings["Cancelled"] = "Cancelado/a"; -$a->strings["Site Admin"] = "Adminstrador del sitio"; -$a->strings["Address Book"] = "Libreta de direcciones"; -$a->strings["Login"] = "Iniciar sesión"; -$a->strings["Channel Manager"] = "Administración de canales"; -$a->strings["Grid"] = "Red"; -$a->strings["Settings"] = "Ajustes"; -$a->strings["Channel Home"] = "Mi canal"; -$a->strings["Profile"] = "Perfil"; -$a->strings["Events"] = "Eventos"; -$a->strings["Directory"] = "Directorio"; -$a->strings["Help"] = "Ayuda"; -$a->strings["Mail"] = "Correo"; -$a->strings["Mood"] = "Estado de ánimo"; -$a->strings["Chat"] = "Chat"; -$a->strings["Search"] = "Buscar"; -$a->strings["Probe"] = "Probar"; -$a->strings["Suggest"] = "Sugerir"; -$a->strings["Random Channel"] = "Canal aleatorio"; -$a->strings["Invite"] = "Invitar"; -$a->strings["Features"] = "Características"; -$a->strings["Language"] = "Idioma"; -$a->strings["Post"] = "Publicación"; -$a->strings["Profile Photo"] = "Foto del perfil"; -$a->strings["Update"] = "Actualizar"; -$a->strings["Install"] = "Instalar"; -$a->strings["Purchase"] = "Comprar"; -$a->strings["Public Timeline"] = "Cronología pública"; -$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."; -$a->strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado."; -$a->strings["Cloned channel not found. Import failed."] = "No se ha podido importar el canal porque el canal clonado no se ha encontrado."; +$a->strings["Logged out."] = "Desconectado/a."; +$a->strings["Failed authentication"] = "Autenticación fallida."; +$a->strings["Login failed."] = "El acceso ha fallado."; +$a->strings["Frequently"] = "Frecuentemente"; +$a->strings["Hourly"] = "Cada hora"; +$a->strings["Twice daily"] = "Dos veces al día"; +$a->strings["Daily"] = "Diariamente"; +$a->strings["Weekly"] = "Semanalmente"; +$a->strings["Monthly"] = "Mensualmente"; +$a->strings["Friendica"] = "Friendica"; +$a->strings["OStatus"] = "OStatus"; +$a->strings["RSS/Atom"] = "RSS/Atom"; +$a->strings["Email"] = "Correo electrónico"; +$a->strings["Diaspora"] = "Diaspora"; +$a->strings["Facebook"] = "Facebook"; +$a->strings["Zot!"] = "Zot!"; +$a->strings["LinkedIn"] = "LinkedIn"; +$a->strings["XMPP/IM"] = "XMPP/IM"; +$a->strings["MySpace"] = "MySpace"; +$a->strings["Image/photo"] = "Imagen/foto"; +$a->strings["Encrypted content"] = "Contenido cifrado"; +$a->strings["Install %s element: "] = "Instalar el elemento %s:"; +$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio."; +$a->strings["webpage"] = "página web"; +$a->strings["layout"] = "disposición"; +$a->strings["block"] = "bloque"; +$a->strings["menu"] = "menú"; +$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escribió la siguiente %2\$s %3\$s"; +$a->strings["post"] = "entrada"; +$a->strings["Different viewers will see this text differently"] = "Visitantes diferentes verán este texto de forma distinta"; +$a->strings["$1 spoiler"] = "$1 spoiler"; +$a->strings["$1 wrote:"] = "$1 escribió"; +$a->strings["%d invitation available"] = array( + 0 => "%d invitación pendiente", + 1 => "%d invitaciones disponibles", +); +$a->strings["Advanced"] = "Avanzado"; +$a->strings["Find Channels"] = "Encontrar canales"; +$a->strings["Enter name or interest"] = "Introducir nombre o interés"; +$a->strings["Connect/Follow"] = "Conectar/Seguir"; +$a->strings["Examples: Robert Morgenstein, Fishing"] = "Ejemplos: José Fernández, Pesca"; +$a->strings["Find"] = "Encontrar"; +$a->strings["Channel Suggestions"] = "Sugerencias de canales"; +$a->strings["Random Profile"] = "Perfil aleatorio"; +$a->strings["Invite Friends"] = "Invitar a amigos"; +$a->strings["Advanced example: name=fred and country=iceland"] = "Ejemplo avanzado: nombre=juan y país=españa"; +$a->strings["%d connection in common"] = array( + 0 => "%d conexión en común", + 1 => "%d conexiones en común", +); +$a->strings["show more"] = "mostrar más"; $a->strings["%s <!item_type!>"] = "%s <!item_type!>"; $a->strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Aviso] Nuevo mensaje en %s"; $a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s le ha enviado un nuevo mensaje privado en %3\$s."; -$a->strings["%1\$s sent you %2\$s."] = "%1\$s le envió %2\$s."; +$a->strings["%1\$s sent you %2\$s."] = "%1\$s le ha enviado %2\$s."; $a->strings["a private message"] = "un mensaje privado"; $a->strings["Please visit %s to view and/or reply to your private messages."] = "Por favor visite %s para ver y/o responder a su mensaje privado."; $a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s[/zrl]"; @@ -587,14 +716,14 @@ $a->strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Avi $a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s publicó en su página del perfil en %3\$s"; $a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s publicó en [zrl=%3\$s]su página del perfil[/zrl]"; $a->strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Aviso] %s le ha etiquetado"; -$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s le etiquetó en %3\$s"; +$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s le ha etiquetado en %3\$s"; $a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]le etiquetó[/zrl]."; $a->strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Aviso] %1\$s le ha dado un toque"; -$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s le dio un toque en %3\$s"; -$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]le dio un toque[/zrl]."; +$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s le ha dado un toque en %3\$s"; +$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]le ha dado un toque[/zrl]."; $a->strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Aviso] %s ha etiquetado su publicación"; $a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetado su publicación en %3\$s"; -$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s etiquetó [zrl=%3\$s]su publicación[/zrl]"; +$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha etiquetado [zrl=%3\$s]su publicación[/zrl]"; $a->strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Aviso] Ha recibido una solicitud de conexión"; $a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una nueva solicitud de conexión de '%2\$s' en %3\$s"; $a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, ha recibido [zrl=%2\$s]una nueva solicitud de conexión[/zrl] de %3\$s."; @@ -607,80 +736,6 @@ $a->strings["Name:"] = "Nombre:"; $a->strings["Photo:"] = "Foto:"; $a->strings["Please visit %s to approve or reject the suggestion."] = "Por favor, visite %s para aprobar o rechazar la sugerencia."; $a->strings["[Hubzilla:Notify]"] = "[Hubzilla:Aviso]"; -$a->strings["Save to Folder"] = "Guardar en carpeta"; -$a->strings["I will attend"] = "Participaré"; -$a->strings["I will not attend"] = "No participaré"; -$a->strings["I might attend"] = "Quizá participe"; -$a->strings["I agree"] = "Estoy de acuerdo"; -$a->strings["I disagree"] = "No estoy de acuerdo"; -$a->strings["I abstain"] = "Me abstengo"; -$a->strings["Add Star"] = "Destacar añadiendo una estrella"; -$a->strings["Remove Star"] = "Eliminar estrella"; -$a->strings["Toggle Star Status"] = "Activar o desactivar el estado de entrada preferida"; -$a->strings["starred"] = "preferidas"; -$a->strings["Add Tag"] = "Añadir etiqueta"; -$a->strings["I like this (toggle)"] = "me gusta (cambiar)"; -$a->strings["like"] = "me gusta"; -$a->strings["I don't like this (toggle)"] = "No me gusta esto (cambiar)"; -$a->strings["dislike"] = "no me gusta"; -$a->strings["Share This"] = "Compartir esto"; -$a->strings["share"] = "compartir"; -$a->strings["%d comment"] = array( - 0 => "%d comentario", - 1 => "%d comentarios", -); -$a->strings["View %s's profile - %s"] = "Ver el perfil de %s - %s"; -$a->strings["to"] = "a"; -$a->strings["via"] = "mediante"; -$a->strings["Wall-to-Wall"] = "De página del perfil a página del perfil (de Muro a Muro)"; -$a->strings["via Wall-To-Wall:"] = "Mediante el procedimiento página del perfil a página del perfil (de Muro a Muro)"; -$a->strings["Delivery Report"] = "Informe de transmisión"; -$a->strings["Save Bookmarks"] = "Guardar en Marcadores"; -$a->strings["Add to Calendar"] = "Añadir al calendario"; -$a->strings["Mark all seen"] = "Marcar todo como visto"; -$a->strings["__ctx:noun__ Likes"] = "Me gusta"; -$a->strings["__ctx:noun__ Dislikes"] = "No me gusta"; -$a->strings["This is you"] = "Este es usted"; -$a->strings["Image"] = "Imagen"; -$a->strings["Insert Link"] = "Insertar enlace"; -$a->strings["Video"] = "Vídeo"; -$a->strings["Invalid data packet"] = "Paquete de datos no válido"; -$a->strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal"; -$a->strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s"; -$a->strings["invalid target signature"] = "La firma recibida no es válida"; -$a->strings["Logged out."] = "Desconectado/a."; -$a->strings["Failed authentication"] = "Autenticación fallida."; -$a->strings["Login failed."] = "El acceso ha fallado."; -$a->strings["Image/photo"] = "Imagen/foto"; -$a->strings["Encrypted content"] = "Contenido cifrado"; -$a->strings["Install %s element: "] = "Instalar el elemento %s:"; -$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio."; -$a->strings["webpage"] = "página web"; -$a->strings["layout"] = "disposición"; -$a->strings["block"] = "bloque"; -$a->strings["menu"] = "menú"; -$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escribió la siguiente %2\$s %3\$s"; -$a->strings["post"] = "entrada"; -$a->strings["Different viewers will see this text differently"] = "Visitantes diferentes verán este texto de forma distinta"; -$a->strings["$1 spoiler"] = "$1 spoiler"; -$a->strings["$1 wrote:"] = "$1 escribió"; -$a->strings["Not a valid email address"] = "Dirección de correo no válida"; -$a->strings["Your email domain is not among those allowed on this site"] = "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio."; -$a->strings["Your email address is already registered at this site."] = "Su dirección de correo está ya registrada en este sitio."; -$a->strings["An invitation is required."] = "Es obligatorio que le inviten."; -$a->strings["Invitation could not be verified."] = "No se ha podido verificar su invitación."; -$a->strings["Please enter the required information."] = "Por favor introduzca la información requerida."; -$a->strings["Failed to store account information."] = "La información de la cuenta no se ha podido guardar."; -$a->strings["Registration confirmation for %s"] = "Confirmación de registro para %s"; -$a->strings["Registration request at %s"] = "Solicitud de registro en %s"; -$a->strings["your registration password"] = "su contraseña de registro"; -$a->strings["Registration details for %s"] = "Detalles del registro de %s"; -$a->strings["Account approved."] = "Cuenta aprobada."; -$a->strings["Registration revoked for %s"] = "Registro revocado para %s"; -$a->strings["Account verified. Please login."] = "Cuenta verificada. Por favor, inicie sesión."; -$a->strings["Click here to upgrade."] = "Pulse aquí para actualizar"; -$a->strings["This action exceeds the limits set by your subscription plan."] = "Esta acción supera los límites establecidos por su plan de suscripción "; -$a->strings["This action is not available under your subscription plan."] = "Esta acción no está disponible en su plan de suscripción."; $a->strings["Channel is blocked on this site."] = "El canal está bloqueado en este sitio."; $a->strings["Channel location missing."] = "Falta la dirección del canal."; $a->strings["Response from remote channel was incomplete."] = "Respuesta incompleta del canal."; @@ -689,196 +744,67 @@ $a->strings["Protocol disabled."] = "Protocolo deshabilitado."; $a->strings["Channel discovery failed."] = "El intento de acceder al canal ha fallado."; $a->strings["local account not found."] = "No se ha encontrado la cuenta local."; $a->strings["Cannot connect to yourself."] = "No puede conectarse consigo mismo."; -$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado"; -$a->strings["%d invitation available"] = array( - 0 => "%d invitación pendiente", - 1 => "%d invitaciones disponibles", -); -$a->strings["Advanced"] = "Avanzado"; -$a->strings["Find Channels"] = "Encontrar canales"; -$a->strings["Enter name or interest"] = "Introducir nombre o interés"; -$a->strings["Connect/Follow"] = "Conectar/Seguir"; -$a->strings["Examples: Robert Morgenstein, Fishing"] = "Ejemplos: José Fernández, Pesca"; -$a->strings["Find"] = "Encontrar"; -$a->strings["Channel Suggestions"] = "Sugerencias de canales"; -$a->strings["Random Profile"] = "Perfil aleatorio"; -$a->strings["Invite Friends"] = "Invitar a amigos"; -$a->strings["Advanced example: name=fred and country=iceland"] = "Ejemplo avanzado: nombre=juan y país=españa"; -$a->strings["Everything"] = "Todo"; -$a->strings["Categories"] = "Categorías"; -$a->strings["%d connection in common"] = array( - 0 => "%d conexión en común", - 1 => "%d conexiones en común", -); -$a->strings["show more"] = "mostrar más"; -$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente."; -$a->strings["Add new connections to this collection (privacy group)"] = "Añadir nuevas conexiones a esta colección (privacidad del grupo)"; -$a->strings["All Channels"] = "Todos los canales"; -$a->strings["edit"] = "editar"; -$a->strings["Collections"] = "Colecciones"; -$a->strings["Edit collection"] = "Editar colección"; -$a->strings["Add new collection"] = "Añadir nueva colección"; -$a->strings["Channels not in any collection"] = "El canal no se encuentra en ninguna colección"; -$a->strings["add"] = "añadir"; -$a->strings["Apps"] = "Aplicaciones"; -$a->strings["System"] = "Sistema"; -$a->strings["Create Personal App"] = "Crear una aplicación personal"; -$a->strings["Edit Personal App"] = "Editar una aplicación personal"; -$a->strings["Ignore/Hide"] = "Ignorar/Ocultar"; -$a->strings["Suggestions"] = "Sugerencias"; -$a->strings["See more..."] = "Ver más..."; -$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas."; -$a->strings["Add New Connection"] = "Añadir nueva conexión"; -$a->strings["Enter the channel address"] = "Introducir la dirección del canal"; -$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco"; -$a->strings["Notes"] = "Notas"; -$a->strings["Save"] = "Guardar"; -$a->strings["Remove term"] = "Eliminar término"; -$a->strings["Archives"] = "Hemeroteca"; -$a->strings["Me"] = "Yo"; -$a->strings["Family"] = "Familia"; -$a->strings["Acquaintances"] = "Conocidos/as"; -$a->strings["All"] = "Todas"; -$a->strings["Refresh"] = "Recargar"; -$a->strings["Account settings"] = "Configuración de la cuenta"; -$a->strings["Channel settings"] = "Configuración del canal"; -$a->strings["Additional features"] = "Características adicionales"; -$a->strings["Feature/Addon settings"] = "Configuración de características o complementos"; -$a->strings["Display settings"] = "Ajustes de visualización"; -$a->strings["Connected apps"] = "Aplicaciones conectadas"; -$a->strings["Export channel"] = "Exportar canal"; -$a->strings["Connection Default Permissions"] = "Permisos predeterminados de conexión"; -$a->strings["Premium Channel Settings"] = "Configuración del canal premium"; -$a->strings["Private Mail Menu"] = "Menú de correo privado"; -$a->strings["Combined View"] = "Vista combinada"; -$a->strings["Inbox"] = "Bandeja de entrada"; -$a->strings["Outbox"] = "Bandeja de salida"; -$a->strings["New Message"] = "Nuevo mensaje"; -$a->strings["Conversations"] = "Conversaciones"; -$a->strings["Received Messages"] = "Mensajes recibidos"; -$a->strings["Sent Messages"] = "Enviar mensajes"; -$a->strings["No messages."] = "Sin mensajes."; -$a->strings["Delete conversation"] = "Eliminar conversación"; -$a->strings["Events Menu"] = "Menú de eventos"; -$a->strings["Day View"] = "Eventos del día"; -$a->strings["Week View"] = "Eventos de la semana"; -$a->strings["Month View"] = "Eventos del mes"; -$a->strings["Export"] = "Exportar"; -$a->strings["Import"] = "Importar"; -$a->strings["Chat Rooms"] = "Salas de chat"; -$a->strings["Bookmarked Chatrooms"] = "Salas de chat preferidas"; -$a->strings["Suggested Chatrooms"] = "Salas de chat sugeridas"; -$a->strings["photo/image"] = "foto/imagen"; -$a->strings["Rate Me"] = "Valorar este canal"; -$a->strings["View Ratings"] = "Mostrar las valoraciones"; -$a->strings["Public Hubs"] = "Servidores públicos"; -$a->strings["Forums"] = "Foros"; -$a->strings["Tasks"] = "Tareas"; -$a->strings["Documentation"] = "Documentación"; -$a->strings["Project/Site Information"] = "Información sobre el proyecto o sitio"; -$a->strings["For Members"] = "Para los usuarios"; -$a->strings["For Administrators"] = "Para los administradores"; -$a->strings["For Developers"] = "Para los desarrolladores"; -$a->strings["Site"] = "Sitio"; -$a->strings["Accounts"] = "Cuentas"; -$a->strings["Channels"] = "Canales"; -$a->strings["Plugins"] = "Extensiones"; -$a->strings["Themes"] = "Temas"; -$a->strings["Inspect queue"] = "Examinar la cola"; -$a->strings["Profile Config"] = "Ajustes del perfil"; -$a->strings["DB updates"] = "Actualizaciones de la base de datos"; -$a->strings["Logs"] = "Informes"; -$a->strings["Admin"] = "Administrador"; -$a->strings["Plugin Features"] = "Ajustes de la extensión"; -$a->strings["User registrations waiting for confirmation"] = "Registros de usuarios pendientes de confirmación"; -$a->strings["View Photo"] = "Ver foto"; -$a->strings["Edit Album"] = "Editar álbum"; +$a->strings["Embedded content"] = "Contenido incorporado"; +$a->strings["Embedding disabled"] = "Incrustación deshabilitada"; $a->strings["No recipient provided."] = "No se ha especificado ningún destinatario."; $a->strings["[no subject]"] = "[sin asunto]"; $a->strings["Unable to determine sender."] = "No ha sido posible determinar el remitente. "; $a->strings["Stored post could not be verified."] = "No se han podido verificar las entradas guardadas."; -$a->strings["Unable to obtain identity information from database"] = "No ha sido posible obtener información sobre la identidad desde la base de datos"; -$a->strings["Empty name"] = "Nombre vacío"; -$a->strings["Name too long"] = "Nombre demasiado largo"; -$a->strings["No account identifier"] = "Ningún identificador de la cuenta"; -$a->strings["Nickname is required."] = "Se requiere un sobrenombre (alias)."; -$a->strings["Reserved nickname. Please choose another."] = "Sobrenombre en uso. Por favor, elija otro."; -$a->strings["Nickname has unsupported characters or is already being used on this site."] = "El alias contiene caracteres no admitidos o está ya en uso por otros usuarios de este sitio."; -$a->strings["Unable to retrieve created identity"] = "No ha sido posible recuperar la identidad creada"; -$a->strings["Default Profile"] = "Perfil principal"; -$a->strings["Requested channel is not available."] = "El canal solicitado no está disponible."; -$a->strings["Requested profile is not available."] = "El perfil solicitado no está disponible."; -$a->strings["Change profile photo"] = "Cambiar la foto del perfil"; -$a->strings["Profiles"] = "Perfiles"; -$a->strings["Manage/edit profiles"] = "Administrar/editar perfiles"; -$a->strings["Create New Profile"] = "Crear un nuevo perfil"; -$a->strings["Edit Profile"] = "Editar el perfil"; -$a->strings["Profile Image"] = "Imagen del perfil"; -$a->strings["visible to everybody"] = "visible para cualquiera"; -$a->strings["Edit visibility"] = "Editar visibilidad"; -$a->strings["Gender:"] = "Género:"; -$a->strings["Status:"] = "Estado:"; -$a->strings["Homepage:"] = "Página personal:"; -$a->strings["Online Now"] = "Ahora en línea"; -$a->strings["g A l F d"] = "g A l d F"; -$a->strings["F d"] = "d F"; -$a->strings["[today]"] = "[hoy]"; -$a->strings["Birthday Reminders"] = "Recordatorios de cumpleaños"; -$a->strings["Birthdays this week:"] = "Cumpleaños de esta semana:"; -$a->strings["[No description]"] = "[Sin descripción]"; -$a->strings["Event Reminders"] = "Recordatorios de eventos"; -$a->strings["Events this week:"] = "Eventos de esta semana:"; -$a->strings["Full Name:"] = "Nombre completo:"; -$a->strings["Like this channel"] = "Me gusta este canal"; -$a->strings["j F, Y"] = "j F Y"; -$a->strings["j F"] = "j F"; -$a->strings["Birthday:"] = "Cumpleaños:"; -$a->strings["Age:"] = "Edad:"; -$a->strings["for %1\$d %2\$s"] = "por %1\$d %2\$s"; -$a->strings["Sexual Preference:"] = "Orientación sexual:"; -$a->strings["Hometown:"] = "Ciudad de origen:"; -$a->strings["Tags:"] = "Etiquetas:"; -$a->strings["Political Views:"] = "Posición política:"; -$a->strings["Religion:"] = "Religión:"; -$a->strings["About:"] = "Sobre mí:"; -$a->strings["Hobbies/Interests:"] = "Aficciones/Intereses:"; -$a->strings["Likes:"] = "Me gusta:"; -$a->strings["Dislikes:"] = "No me gusta:"; -$a->strings["Contact information and Social Networks:"] = "Información de contacto y redes sociales:"; -$a->strings["My other channels:"] = "Mis otros canales:"; -$a->strings["Musical interests:"] = "Intereses musicales:"; -$a->strings["Books, literature:"] = "Libros, literatura:"; -$a->strings["Television:"] = "Televisión:"; -$a->strings["Film/dance/culture/entertainment:"] = "Cine/danza/cultura/entretenimiento:"; -$a->strings["Love/Romance:"] = "Vida sentimental/amorosa:"; -$a->strings["Work/employment:"] = "Trabajo:"; -$a->strings["School/education:"] = "Estudios:"; -$a->strings["Like this thing"] = "Me gusta esto"; -$a->strings["Tags"] = "Etiquetas"; -$a->strings["Keywords"] = "Palabras clave"; -$a->strings["have"] = "tener"; -$a->strings["has"] = "tiene"; -$a->strings["want"] = "quiero"; -$a->strings["wants"] = "quiere"; -$a->strings["likes"] = "le gusta"; -$a->strings["dislikes"] = "no le gusta"; -$a->strings["Item was not found."] = "Elemento no encontrado."; -$a->strings["No source file."] = "Ningún fichero de origen"; -$a->strings["Cannot locate file to replace"] = "No se puede localizar el fichero que va a ser sustituido."; -$a->strings["Cannot locate file to revise/update"] = "No se puede localizar el fichero para revisar/actualizar"; -$a->strings["File exceeds size limit of %d"] = "El fichero supera el limite de tamaño de %d"; -$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos."; -$a->strings["File upload failed. Possible system limit or action terminated."] = "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado."; -$a->strings["Stored file could not be verified. Upload failed."] = "El fichero almacenado no ha podido ser verificado. El envío ha fallado."; -$a->strings["Path not available."] = "Ruta no disponible."; -$a->strings["Empty pathname"] = "Ruta vacía"; -$a->strings["duplicate filename or path"] = "Nombre duplicado de ruta o fichero"; -$a->strings["Path not found."] = "Ruta no encontrada"; -$a->strings["mkdir failed."] = "mkdir ha fallado."; -$a->strings["database storage failed."] = "el almacenamiento en la base de datos ha fallado."; -$a->strings["Empty path"] = "Ruta vacía"; -$a->strings["Attachments:"] = "Ficheros adjuntos:"; -$a->strings["\$Projectname event notification:"] = "Notificación de eventos de \$Projectname:"; +$a->strings["Logout"] = "Finalizar sesión"; +$a->strings["End this session"] = "Finalizar esta sesión"; +$a->strings["Home"] = "Inicio"; +$a->strings["Your posts and conversations"] = "Sus entradas y conversaciones"; +$a->strings["Your profile page"] = "Su página del perfil"; +$a->strings["Edit Profiles"] = "Editar perfiles"; +$a->strings["Manage/Edit profiles"] = "Administrar/editar perfiles"; +$a->strings["Edit your profile"] = "Editar su perfil"; +$a->strings["Your photos"] = "Sus fotos"; +$a->strings["Your files"] = "Sus ficheros"; +$a->strings["Chat"] = "Chat"; +$a->strings["Your chatrooms"] = "Sus salas de chat"; +$a->strings["Your bookmarks"] = "Sus marcadores"; +$a->strings["Your webpages"] = "Sus páginas web"; +$a->strings["Login"] = "Iniciar sesión"; +$a->strings["Sign in"] = "Acceder"; +$a->strings["%s - click to logout"] = "%s - pulsar para finalizar sesión"; +$a->strings["Remote authentication"] = "Acceder desde su servidor"; +$a->strings["Click to authenticate to your home hub"] = "Pulsar para identificarse en su servidor de inicio"; +$a->strings["Home Page"] = "Página de inicio"; +$a->strings["Register"] = "Registrarse"; +$a->strings["Create an account"] = "Crear una cuenta"; +$a->strings["Help"] = "Ayuda"; +$a->strings["Help and documentation"] = "Ayuda y documentación"; +$a->strings["Applications, utilities, links, games"] = "Aplicaciones, utilidades, enlaces, juegos"; +$a->strings["Search"] = "Buscar"; +$a->strings["Search site @name, #tag, ?docs, content"] = "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido"; +$a->strings["Directory"] = "Directorio"; +$a->strings["Channel Directory"] = "Directorio de canales"; +$a->strings["Grid"] = "Red"; +$a->strings["Your grid"] = "Mi red"; +$a->strings["Mark all grid notifications seen"] = "Marcar todas las notificaciones de la red como vistas"; +$a->strings["Channel Home"] = "Mi canal"; +$a->strings["Channel home"] = "Mi canal"; +$a->strings["Mark all channel notifications seen"] = "Marcar todas las notificaciones del canal como leídas"; +$a->strings["Connections"] = "Conexiones"; +$a->strings["Notices"] = "Avisos"; +$a->strings["Notifications"] = "Notificaciones"; +$a->strings["See all notifications"] = "Ver todas las notificaciones"; +$a->strings["Mark all system notifications seen"] = "Marcar todas las notificaciones de sistema como leídas"; +$a->strings["Mail"] = "Correo"; +$a->strings["Private mail"] = "Correo privado"; +$a->strings["See all private messages"] = "Ver todas los mensajes privados"; +$a->strings["Mark all private messages seen"] = "Marcar todos los mensajes privados como leídos"; +$a->strings["Events"] = "Eventos"; +$a->strings["Event Calendar"] = "Calendario de eventos"; +$a->strings["See all events"] = "Ver todos los eventos"; +$a->strings["Mark all events seen"] = "Marcar todos los eventos como leidos"; +$a->strings["Channel Manager"] = "Administración de canales"; +$a->strings["Manage Your Channels"] = "Gestionar sus canales"; +$a->strings["Account/Channel Settings"] = "Ajustes de cuenta/canales"; +$a->strings["Site Setup and Configuration"] = "Ajustes y configuración del sitio"; +$a->strings["@name, #tag, ?doc, content"] = "@nombre, #etiqueta, ?ayuda, contenido"; +$a->strings["Please wait..."] = "Espere por favor…"; +$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado"; $a->strings["prev"] = "anterior"; $a->strings["first"] = "primera"; $a->strings["last"] = "última"; @@ -941,93 +867,203 @@ $a->strings["Blocks"] = "Bloques"; $a->strings["Menus"] = "Menús"; $a->strings["Layouts"] = "Formato gráfico"; $a->strings["Pages"] = "Páginas"; -$a->strings["Logout"] = "Finalizar sesión"; -$a->strings["End this session"] = "Finalizar esta sesión"; -$a->strings["Home"] = "Inicio"; -$a->strings["Your posts and conversations"] = "Sus entradas y conversaciones"; -$a->strings["Your profile page"] = "Su página del perfil"; -$a->strings["Edit Profiles"] = "Editar perfiles"; -$a->strings["Manage/Edit profiles"] = "Administrar/editar perfiles"; -$a->strings["Edit your profile"] = "Editar su perfil"; -$a->strings["Your photos"] = "Sus fotos"; -$a->strings["Your files"] = "Sus ficheros"; -$a->strings["Your chatrooms"] = "Sus salas de chat"; -$a->strings["Your bookmarks"] = "Sus marcadores"; -$a->strings["Your webpages"] = "Sus páginas web"; -$a->strings["Sign in"] = "Acceder"; -$a->strings["%s - click to logout"] = "%s - pulsar para finalizar sesión"; -$a->strings["Remote authentication"] = "Acceder desde su servidor"; -$a->strings["Click to authenticate to your home hub"] = "Pulsar para identificarse en su servidor de inicio"; -$a->strings["Home Page"] = "Página de inicio"; -$a->strings["Register"] = "Registrarse"; -$a->strings["Create an account"] = "Crear una cuenta"; -$a->strings["Help and documentation"] = "Ayuda y documentación"; -$a->strings["Applications, utilities, links, games"] = "Aplicaciones, utilidades, enlaces, juegos"; -$a->strings["Search site @name, #tag, ?docs, content"] = "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido"; -$a->strings["Channel Directory"] = "Directorio de canales"; -$a->strings["Your grid"] = "Mi red"; -$a->strings["Mark all grid notifications seen"] = "Marcar todas las notificaciones de la red como vistas"; -$a->strings["Channel home"] = "Mi canal"; -$a->strings["Mark all channel notifications seen"] = "Marcar todas las notificaciones del canal como leídas"; -$a->strings["Connections"] = "Conexiones"; -$a->strings["Notices"] = "Avisos"; -$a->strings["Notifications"] = "Notificaciones"; -$a->strings["See all notifications"] = "Ver todas las notificaciones"; -$a->strings["Mark all system notifications seen"] = "Marcar todas las notificaciones de sistema como leídas"; -$a->strings["Private mail"] = "Correo privado"; -$a->strings["See all private messages"] = "Ver todas los mensajes privados"; -$a->strings["Mark all private messages seen"] = "Marcar todos los mensajes privados como leídos"; -$a->strings["Event Calendar"] = "Calendario de eventos"; -$a->strings["See all events"] = "Ver todos los eventos"; -$a->strings["Mark all events seen"] = "Marcar todos los eventos como leidos"; -$a->strings["Manage Your Channels"] = "Gestionar sus canales"; -$a->strings["Account/Channel Settings"] = "Ajustes de cuenta/canales"; -$a->strings["Site Setup and Configuration"] = "Ajustes y configuración del sitio"; -$a->strings["@name, #tag, ?doc, content"] = "@nombre, #etiqueta, ?ayuda, contenido"; -$a->strings["Please wait..."] = "Espere por favor…"; $a->strings["Directory Options"] = "Opciones del directorio"; $a->strings["Safe Mode"] = "Modo seguro"; $a->strings["No"] = "No"; $a->strings["Yes"] = "Sí"; $a->strings["Public Forums Only"] = "Solo foros públicos"; $a->strings["This Website Only"] = "Solo este sitio web"; -$a->strings["Some blurb about what to do when you're new here"] = "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí"; -$a->strings["Contact not found."] = "Contacto no encontrado"; -$a->strings["Friend suggestion sent."] = "Enviar sugerencia a un amigo."; -$a->strings["Suggest Friends"] = "Sugerir amigos"; -$a->strings["Suggest a friend for %s"] = "Sugerir un amigo a %s"; -$a->strings["Public access denied."] = "Acceso público denegado."; -$a->strings["%d rating"] = array( - 0 => "%d valoración", - 1 => "%d valoraciones", +$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente."; +$a->strings["Add new connections to this collection (privacy group)"] = "Añadir nuevas conexiones a esta colección (privacidad del grupo)"; +$a->strings["All Channels"] = "Todos los canales"; +$a->strings["edit"] = "editar"; +$a->strings["Collections"] = "Colecciones"; +$a->strings["Edit collection"] = "Editar colección"; +$a->strings["Add new collection"] = "Añadir nueva colección"; +$a->strings["Channels not in any collection"] = "El canal no se encuentra en ninguna colección"; +$a->strings["Invalid data packet"] = "Paquete de datos no válido"; +$a->strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal"; +$a->strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s"; +$a->strings["invalid target signature"] = "La firma recibida no es válida"; +$a->strings["New Page"] = "Nueva página"; +$a->strings["View"] = "Ver"; +$a->strings["Actions"] = "Acciones"; +$a->strings["Page Link"] = "Vínculo de la página"; +$a->strings["Title"] = "Título"; +$a->strings["Created"] = "Creado"; +$a->strings["Edited"] = "Editado"; +$a->strings["Cannot locate DNS info for database server '%s'"] = "No se ha podido localizar información de DNS para el servidor de base de datos “%s”"; +$a->strings["Image exceeds website size limit of %lu bytes"] = "La imagen excede el límite de %lu bytes del sitio"; +$a->strings["Image file is empty."] = "El fichero de imagen está vacío. "; +$a->strings["Unable to process image"] = "No ha sido posible procesar la imagen"; +$a->strings["Photo storage failed."] = "La foto no ha podido ser guardada."; +$a->strings["Upload New Photos"] = "Subir nuevas fotos"; +$a->strings["Save to Folder"] = "Guardar en carpeta"; +$a->strings["I will attend"] = "Participaré"; +$a->strings["I will not attend"] = "No participaré"; +$a->strings["I might attend"] = "Quizá participe"; +$a->strings["I agree"] = "Estoy de acuerdo"; +$a->strings["I disagree"] = "No estoy de acuerdo"; +$a->strings["I abstain"] = "Me abstengo"; +$a->strings["Add Star"] = "Destacar añadiendo una estrella"; +$a->strings["Remove Star"] = "Eliminar estrella"; +$a->strings["Toggle Star Status"] = "Activar o desactivar el estado de entrada preferida"; +$a->strings["starred"] = "preferidas"; +$a->strings["Add Tag"] = "Añadir etiqueta"; +$a->strings["I like this (toggle)"] = "me gusta (cambiar)"; +$a->strings["I don't like this (toggle)"] = "No me gusta esto (cambiar)"; +$a->strings["Share This"] = "Compartir esto"; +$a->strings["share"] = "compartir"; +$a->strings["Delivery Report"] = "Informe de transmisión"; +$a->strings["%d comment"] = array( + 0 => "%d comentario", + 1 => "%d comentarios", ); -$a->strings["Gender: "] = "Género:"; -$a->strings["Status: "] = "Estado:"; -$a->strings["Homepage: "] = "Página personal:"; -$a->strings["Description:"] = "Descripción:"; -$a->strings["Public Forum:"] = "Foro público:"; -$a->strings["Keywords: "] = "Palabras clave:"; -$a->strings["Don't suggest"] = "No sugerir:"; -$a->strings["Common connections:"] = "Conexiones comunes:"; -$a->strings["Global Directory"] = "Directorio global:"; -$a->strings["Local Directory"] = "Directorio local:"; -$a->strings["Finding:"] = "Encontrar:"; -$a->strings["next page"] = "siguiente página"; -$a->strings["previous page"] = "página anterior"; -$a->strings["Sort options"] = "Ordenar opciones"; -$a->strings["Alphabetic"] = "Alfabético"; -$a->strings["Reverse Alphabetic"] = "Alfabético inverso"; -$a->strings["Newest to Oldest"] = "De más nuevo a más antiguo"; -$a->strings["Oldest to Newest"] = "De más antiguo a más nuevo"; -$a->strings["No entries (some entries may be hidden)."] = "Sin entradas (algunas entradas pueden estar ocultas)."; -$a->strings["Bookmark added"] = "Marcador añadido"; -$a->strings["My Bookmarks"] = "Mis Marcadores"; -$a->strings["My Connections Bookmarks"] = "Marcadores de mis conexiones"; +$a->strings["View %s's profile - %s"] = "Ver el perfil de %s - %s"; +$a->strings["to"] = "a"; +$a->strings["via"] = "mediante"; +$a->strings["Wall-to-Wall"] = "De página del perfil a página del perfil (de Muro a Muro)"; +$a->strings["via Wall-To-Wall:"] = "Mediante el procedimiento página del perfil a página del perfil (de Muro a Muro)"; +$a->strings["Save Bookmarks"] = "Guardar en Marcadores"; +$a->strings["Add to Calendar"] = "Añadir al calendario"; +$a->strings["Mark all seen"] = "Marcar todo como visto"; +$a->strings["__ctx:noun__ Likes"] = "Me gusta"; +$a->strings["__ctx:noun__ Dislikes"] = "No me gusta"; +$a->strings["This is you"] = "Este es usted"; +$a->strings["Image"] = "Imagen"; +$a->strings["Insert Link"] = "Insertar enlace"; +$a->strings["Video"] = "Vídeo"; +$a->strings["Not a valid email address"] = "Dirección de correo no válida"; +$a->strings["Your email domain is not among those allowed on this site"] = "Su dirección de correo no pertenece a ninguno de los dominios permitidos en este sitio."; +$a->strings["Your email address is already registered at this site."] = "Su dirección de correo está ya registrada en este sitio."; +$a->strings["An invitation is required."] = "Es obligatorio que le inviten."; +$a->strings["Invitation could not be verified."] = "No se ha podido verificar su invitación."; +$a->strings["Please enter the required information."] = "Por favor introduzca la información requerida."; +$a->strings["Failed to store account information."] = "La información de la cuenta no se ha podido guardar."; +$a->strings["Registration confirmation for %s"] = "Confirmación de registro para %s"; +$a->strings["Registration request at %s"] = "Solicitud de registro en %s"; +$a->strings["your registration password"] = "su contraseña de registro"; +$a->strings["Registration details for %s"] = "Detalles del registro de %s"; +$a->strings["Account approved."] = "Cuenta aprobada."; +$a->strings["Registration revoked for %s"] = "Registro revocado para %s"; +$a->strings["Account verified. Please login."] = "Cuenta verificada. Por favor, inicie sesión."; +$a->strings["Click here to upgrade."] = "Pulse aquí para actualizar"; +$a->strings["This action exceeds the limits set by your subscription plan."] = "Esta acción supera los límites establecidos por su plan de suscripción "; +$a->strings["This action is not available under your subscription plan."] = "Esta acción no está disponible en su plan de suscripción."; +$a->strings["Site Admin"] = "Adminstrador del sitio"; +$a->strings["Address Book"] = "Libreta de direcciones"; +$a->strings["Mood"] = "Estado de ánimo"; +$a->strings["Probe"] = "Probar"; +$a->strings["Suggest"] = "Sugerir"; +$a->strings["Random Channel"] = "Canal aleatorio"; +$a->strings["Invite"] = "Invitar"; +$a->strings["Features"] = "Características"; +$a->strings["Language"] = "Idioma"; +$a->strings["Post"] = "Publicación"; +$a->strings["Profile Photo"] = "Foto del perfil"; +$a->strings["Update"] = "Actualizar"; +$a->strings["Install"] = "Instalar"; +$a->strings["Purchase"] = "Comprar"; +$a->strings["Can view my normal stream and posts"] = "Pueden verse mi flujo de actividad y publicaciones normales"; +$a->strings["Can view my default channel profile"] = "Puede verse mi perfil de canal predeterminado."; +$a->strings["Can view my connections"] = "Pueden verse mis conexiones"; +$a->strings["Can view my file storage and photos"] = "Pueden verse mi repositorio de ficheros y mis fotos"; +$a->strings["Can view my webpages"] = "Pueden verse mis páginas web"; +$a->strings["Can send me their channel stream and posts"] = "Me pueden enviar sus entradas y flujo de actividad del canal"; +$a->strings["Can post on my channel page (\"wall\")"] = "Pueden crearse entradas en mi página de inicio del canal (“muro”)"; +$a->strings["Can comment on or like my posts"] = "Pueden publicarse comentarios en mis publicaciones o marcar mis entradas con 'me gusta'."; +$a->strings["Can send me private mail messages"] = "Se me pueden enviar mensajes privados"; +$a->strings["Can like/dislike stuff"] = "Puede marcarse contenido como me gusta/no me gusta"; +$a->strings["Profiles and things other than posts/comments"] = "Perfiles y otras cosas aparte de publicaciones/comentarios"; +$a->strings["Can forward to all my channel contacts via post @mentions"] = "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención"; +$a->strings["Advanced - useful for creating group forum channels"] = "Avanzado - útil para crear canales de foros de discusión o grupos"; +$a->strings["Can chat with me (when available)"] = "Se puede charlar conmigo (cuando esté disponible)"; +$a->strings["Can write to my file storage and photos"] = "Puede escribirse en mi repositorio de ficheros y fotos"; +$a->strings["Can edit my webpages"] = "Pueden editarse mis páginas web"; +$a->strings["Can source my public posts in derived channels"] = "Pueden utilizarse mis publicaciones públicas como origen de contenidos en canales derivados"; +$a->strings["Somewhat advanced - very useful in open communities"] = "Algo avanzado - muy útil en comunidades abiertas"; +$a->strings["Can administer my channel resources"] = "Pueden administrarse mis recursos del canal"; +$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo."; +$a->strings["Social Networking"] = "Redes sociales"; +$a->strings["Mostly Public"] = "Público en su mayor parte"; +$a->strings["Restricted"] = "Restringido"; +$a->strings["Private"] = "Privado"; +$a->strings["Community Forum"] = "Foro de discusión"; +$a->strings["Feed Republish"] = "Republicar un \"feed\""; +$a->strings["Special Purpose"] = "Propósito especial"; +$a->strings["Celebrity/Soapbox"] = "Página para fans"; +$a->strings["Group Repository"] = "Repositorio de grupo"; +$a->strings["Custom/Expert Mode"] = "Modo personalizado/experto"; +$a->strings["Profile Photos"] = "Fotos del perfil"; +$a->strings["Permission Denied."] = "Permiso denegado"; +$a->strings["File not found."] = "Fichero no encontrado."; +$a->strings["Edit file permissions"] = "Modificar los permisos del fichero"; +$a->strings["Set/edit permissions"] = "Establecer/editar los permisos"; +$a->strings["Include all files and sub folders"] = "Incluir todos los ficheros y subcarpetas"; +$a->strings["Return to file list"] = "Volver a la lista de ficheros"; +$a->strings["Copy/paste this code to attach file to a post"] = "Copiar/pegar este código para adjuntar el fichero al envío"; +$a->strings["Copy/paste this URL to link file from a web page"] = "Copiar/pegar esta dirección para enlazar el fichero desde una página web"; +$a->strings["Share this file"] = "Compartir este fichero"; +$a->strings["Show URL to this file"] = "Mostrar la dirección de este fichero"; +$a->strings["Notify your contacts about this file"] = "Avisar a sus contactos sobre este fichero"; +$a->strings["Collection created."] = "La colección ha sido creada."; +$a->strings["Could not create collection."] = "No se puede crear la colección."; +$a->strings["Collection updated."] = "La colección ha sido actualizada."; +$a->strings["Create a collection of channels."] = "Crear una colección de canales."; +$a->strings["Collection Name: "] = "Nombre de la colección:"; +$a->strings["Members are visible to other channels"] = "Los miembros son visibles para otros canales"; +$a->strings["Collection removed."] = "La colección ha sido eliminada."; +$a->strings["Unable to remove collection."] = "No ha sido posible de eliminar la colección."; +$a->strings["Collection Editor"] = "Editor de colecciones"; +$a->strings["Members"] = "Miembros"; +$a->strings["All Connected Channels"] = "Todos los canales conectados"; +$a->strings["Click on a channel to add or remove."] = "Haga clic en un canal para agregarlo o quitarlo."; +$a->strings["Unable to locate original post."] = "No ha sido posible encontrar la entrada original."; +$a->strings["Empty post discarded."] = "La entrada vacía ha sido desechada."; +$a->strings["Executable content type not permitted to this channel."] = "Contenido de tipo ejecutable no permitido en este canal."; +$a->strings["Duplicate post suppressed."] = "Se ha suprimido la entrada duplicada."; +$a->strings["System error. Post not saved."] = "Error del sistema. La entrada no se ha podido salvar."; +$a->strings["Unable to obtain post information from database."] = "No ha sido posible obtener información de la entrada en la base de datos."; +$a->strings["You have reached your limit of %1$.0f top level posts."] = "Ha alcanzado su límite de %1$.0f entradas en la página principal."; +$a->strings["You have reached your limit of %1$.0f webpages."] = "Ha alcanzado su límite de %1$.0f páginas web."; +$a->strings["No channel."] = "Ningún canal."; +$a->strings["Common connections"] = "Conexiones comunes"; +$a->strings["No connections in common."] = "Ninguna conexión en común."; +$a->strings["Continue"] = "Continuar"; +$a->strings["Premium Channel Setup"] = "Configuración del canal premium"; +$a->strings["Enable premium channel connection restrictions"] = "Habilitar restricciones de conexión del canal premium"; +$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Por favor introduzca sus restricciones o condiciones, como recibo de paypal, normas de uso, etc."; +$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Este canal puede requerir antes de conectar unos pasos adicionales o el conocimiento de las siguientes condiciones:"; +$a->strings["Potential connections will then see the following text before proceeding:"] = "Las posibles conexiones verán, por tanto, el siguiente texto antes de proceder:"; +$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página."; +$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(No ha sido proporcionada ninguna instrucción específica por el propietario del canal.)"; +$a->strings["Restricted or Premium Channel"] = "Canal premium o restringido"; +$a->strings["Profile Match"] = "Perfil compatible"; +$a->strings["No keywords to match. Please add keywords to your default profile."] = "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal."; +$a->strings["is interested in:"] = "está interesado en:"; +$a->strings["No matches"] = "No se han encontrado perfiles compatibles"; $a->strings["OpenID protocol error. No ID returned."] = "Error del protocolo OpenID. Ningún ID recibido como respuesta."; $a->strings["Welcome %s. Remote authentication successful."] = "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente."; -$a->strings["Invalid item."] = "Elemento no válido."; -$a->strings["Channel not found."] = "Canal no encontrado."; -$a->strings["Page not found."] = "Página no encontrada."; +$a->strings["Some blurb about what to do when you're new here"] = "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí"; +$a->strings["Away"] = "Ausente"; +$a->strings["Online"] = "Conectado/a"; +$a->strings["Public Sites"] = "Sitios públicos"; +$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Los sitios listados permiten el registro público en la red \$Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los enlaces de los proveedores <strong> pueden </strong> proporcionar detalles adicionales."; +$a->strings["Rate this hub"] = "Valorar este sitio"; +$a->strings["Site URL"] = "Dirección del sitio"; +$a->strings["Access Type"] = "Tipo de acceso"; +$a->strings["Registration Policy"] = "Normas de registro"; +$a->strings["Project"] = "Proyecto"; +$a->strings["View hub ratings"] = "Ver las valoraciones del sitio"; +$a->strings["Rate"] = "Valorar"; +$a->strings["View ratings"] = "Ver valoraciones"; +$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetado la %3\$s de %2\$s con %4\$s"; +$a->strings["Website:"] = "Sitio web:"; +$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Canal remoto [%s] (aún no es conocido en este sitio)"; +$a->strings["Rating (this information is public)"] = "Valoración (esta información es pública)"; +$a->strings["Optionally explain your rating (this information is public)"] = "Opcionalmente puede explicar su valoración (esta información es pública)"; +$a->strings["Block Name"] = "Nombre del bloque"; +$a->strings["Block Title"] = "Título del bloque"; $a->strings["First Name"] = "Nombre"; $a->strings["Last Name"] = "Apellido"; $a->strings["Nickname"] = "Sobrenombre o Alias"; @@ -1060,28 +1096,10 @@ $a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s no $a->strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s quizá participe"; $a->strings["Action completed."] = "Acción completada."; $a->strings["Thank you."] = "Gracias."; -$a->strings["Export Channel"] = "Exportar el canal"; -$a->strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exportar la información básica del canal a un fichero. Este equivale a una copia de seguridad de sus conexiones, el perfil y datos fundamentales, que puede usarse para importar sus datos a un nuevo servidor, pero no incluye su contenido."; -$a->strings["Export Content"] = "Exportar contenidos"; -$a->strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportar la información sobre su canal y el contenido reciente a un fichero de respaldo JSON, que puede ser restaurado o importado a otro servidor. Este fichero incluye todas sus conexiones, permisos, datos del perfil y publicaciones de varios meses. Puede llegar a ser MUY grande. Por favor, sea paciente, la descarga puede tardar varios minutos en comenzar."; -$a->strings["Export your posts from a given year."] = "Exporta sus entradas de un año dado."; -$a->strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "También puede exportar sus mensajes y conversaciones durante un año o mes en particular. Ajuste la fecha en la barra de direcciones del navegador para seleccionar otras fechas. Si la exportación falla (posiblemente debido al agotamiento de la memoria del servidor hub), por favor, intente de nuevo la selección de un rango de fechas más pequeño."; -$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Para seleccionar todos los mensajes de un año determinado, como este año, visite <a href=\"%1\$s\">%2\$s</a>"; -$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Para seleccionar todos los mensajes de un mes determinado, como el de enero de este año, visite <a href=\"%1\$s\">%2\$s</a>"; -$a->strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Estos ficheros pueden ser importados o restaurados visitando <a href=\"%1\$s\">%2\$s</a> o cualquier sitio que contenga su canal. Para obtener los mejores resultados, por favor, importar o restaurar estos ficheros en orden de fecha (la más antigua primero)."; -$a->strings["Away"] = "Ausente"; -$a->strings["Online"] = "Conectado/a"; -$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetado la %3\$s de %2\$s con %4\$s"; -$a->strings["No channel."] = "Ningún canal."; -$a->strings["Common connections"] = "Conexiones comunes"; -$a->strings["No connections in common."] = "Ninguna conexión en común."; -$a->strings["sent you a private message"] = "le ha enviado un mensaje privado"; -$a->strings["added your channel"] = "añadió este canal a sus conexiones"; -$a->strings["posted an event"] = "publicó un evento"; -$a->strings["Documentation Search"] = "Búsqueda de Documentación"; -$a->strings["Help:"] = "Ayuda:"; -$a->strings["Not Found"] = "No encontrado"; -$a->strings["\$Projectname Documentation"] = "Documentación de \$Projectname"; +$a->strings["Invalid item."] = "Elemento no válido."; +$a->strings["Channel not found."] = "Canal no encontrado."; +$a->strings["Page not found."] = "Página no encontrada."; +$a->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."; $a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "La eliminación de canales no está permitida hasta pasadas 48 horas desde el último cambio de contraseña."; $a->strings["Remove This Channel"] = "Eliminar este canal"; $a->strings["WARNING: "] = "ATENCIÓN:"; @@ -1091,38 +1109,186 @@ $a->strings["Please enter your password for verification:"] = "Por favor, introd $a->strings["Remove this channel and all its clones from the network"] = "Eliminar este canal y todos sus clones de la red"; $a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Por defecto, solo la instancia del canal alojado en este servidor será eliminado de la red"; $a->strings["Remove Channel"] = "Eliminar el canal"; -$a->strings["- select -"] = "- seleccionar -"; -$a->strings["Menu not found."] = "Menú no encontrado"; -$a->strings["Unable to create element."] = "Imposible crear el elemento."; -$a->strings["Unable to update menu element."] = "No es posible actualizar el elemento del menú."; -$a->strings["Unable to add menu element."] = "No es posible añadir el elemento al menú"; -$a->strings["Not found."] = "No encontrado."; -$a->strings["Menu Item Permissions"] = "Permisos del elemento del menú"; -$a->strings["(click to open/close)"] = "(pulsar para abrir o cerrar)"; -$a->strings["Link Name"] = "Nombre del enlace"; -$a->strings["Link or Submenu Target"] = "Destino del enlace o submenú"; -$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Introducir la dirección del enlace o seleccionar el nombre de un submenú"; -$a->strings["Use magic-auth if available"] = "Usar la autenticación mágica si está disponible"; -$a->strings["Open link in new window"] = "Abrir el enlace en una nueva ventana"; -$a->strings["Order in list"] = "Orden en la lista"; -$a->strings["Higher numbers will sink to bottom of listing"] = "Los números más altos irán al final de la lista"; -$a->strings["Submit and finish"] = "Enviar y terminar"; -$a->strings["Submit and continue"] = "Enviar y continuar"; -$a->strings["Menu:"] = "Menú:"; -$a->strings["Link Target"] = "Destino del enlace"; -$a->strings["Edit menu"] = "Editar menú"; -$a->strings["Edit element"] = "Editar el elemento"; -$a->strings["Drop element"] = "Eliminar el elemento"; -$a->strings["New element"] = "Nuevo elemento"; -$a->strings["Edit this menu container"] = "Modificar el contenedor del menú"; -$a->strings["Add menu element"] = "Añadir un elemento al menú"; -$a->strings["Delete this menu item"] = "Eliminar este elemento del menú"; -$a->strings["Edit this menu item"] = "Modificar este elemento del menú"; -$a->strings["Menu item not found."] = "Este elemento del menú no se ha encontrado"; -$a->strings["Menu item deleted."] = "Este elemento del menú ha sido borrado"; -$a->strings["Menu item could not be deleted."] = "Este elemento del menú no puede ser borrado."; -$a->strings["Edit Menu Element"] = "Editar elemento del menú"; -$a->strings["Link text"] = "Texto del enlace"; +$a->strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos"; +$a->strings["Add a Channel"] = "Añadir un canal"; +$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Un canal está formado por su propia colección de páginas web relacionadas. Se puede utilizar para almacenar los perfiles sociales de la red, blogs, grupos de conversación y foros, páginas de famosos y mucho más. Puede crear tantos canales como su proveedor de servicio permita."; +$a->strings["Channel Name"] = "Nombre del canal"; +$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Ejemplos: \"Juan García\", \"Isabel y sus caballos\", \"Fútbol\", \"Grupo de parapente\" "; +$a->strings["Choose a short nickname"] = "Elija un alias corto"; +$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Su alias podrá usarse para crear una dirección de canal fácilmente memorizable (como una dirección de correo electrónico) que puede ser compartido con otros."; +$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "O <a href=\"import\">importar un canal existente</a> de otro lugar"; +$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Elija el tipo de canal (como red social o foro de discusión) y la privacidad que requiera, así podremos seleccionar el mejor conjunto de permisos para usted"; +$a->strings["Channel Type"] = "Tipo de canal"; +$a->strings["Read more about roles"] = "Leer más sobre los roles"; +$a->strings["No ratings"] = "Ninguna valoración"; +$a->strings["Public access denied."] = "Acceso público denegado."; +$a->strings["Ratings"] = "Valoraciones"; +$a->strings["Rating: "] = "Valoración:"; +$a->strings["Website: "] = "Sitio web:"; +$a->strings["Description: "] = "Descripción:"; +$a->strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Instalación"; +$a->strings["Could not connect to database."] = "No se ha podido conectar a la base de datos."; +$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No se puede conectar con la dirección del sitio indicada. Podría tratarse de un problema de SSL o DNS."; +$a->strings["Could not create table."] = "No se puede crear la tabla."; +$a->strings["Your site database has been installed."] = "La base de datos del sitio ha sido instalada."; +$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Podría tener que importar manualmente el fichero \"install/schema_xxx.sql\" usando un cliente de base de datos."; +$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Por favor, lea el fichero \"install/INSTALL.txt\"."; +$a->strings["System check"] = "Verificación del sistema"; +$a->strings["Next"] = "Siguiente"; +$a->strings["Check again"] = "Verificar de nuevo"; +$a->strings["Database connection"] = "Conexión a la base de datos"; +$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Para instalar \$Projectname es necesario saber cómo conectar con su base de datos."; +$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Por favor, contacte con el proveedor de servicios o el administrador del sitio si tiene dudas sobre estos ajustes."; +$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de datos que especifique a continuación debe existir ya. Si no es así, por favor, créela antes de seguir."; +$a->strings["Database Server Name"] = "Nombre del servidor de base de datos"; +$a->strings["Default is 127.0.0.1"] = "De forma predeterminada es 127.0.0.1"; +$a->strings["Database Port"] = "Puerto de la base de datos"; +$a->strings["Communication port number - use 0 for default"] = "Número del puerto de comunicaciones - use 0 como valor por defecto"; +$a->strings["Database Login Name"] = "Usuario de la base de datos"; +$a->strings["Database Login Password"] = "Contraseña de acceso a la base de datos"; +$a->strings["Database Name"] = "Nombre de la base de datos"; +$a->strings["Database Type"] = "Tipo de base de datos"; +$a->strings["Site administrator email address"] = "Dirección de correo electrónico del administrador del sitio"; +$a->strings["Your account email address must match this in order to use the web admin panel."] = "Su cuenta deberá usar la misma dirección de correo electrónico para poder utilizar el panel de administración web."; +$a->strings["Website URL"] = "Dirección del sitio web"; +$a->strings["Please use SSL (https) URL if available."] = "Por favor, use SSL (https) si está disponible."; +$a->strings["Please select a default timezone for your website"] = "Por favor, selecciones la zona horaria por defecto de su sitio web"; +$a->strings["Site settings"] = "Ajustes del sitio"; +$a->strings["Could not find a command line version of PHP in the web server PATH."] = "No se puede encontrar una versión en línea de comandos de PHP en la ruta del servidor web."; +$a->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."] = "Si no tiene instalada la versión de línea de comandos de PHP en su servidor, no podrá ejecutar sondeos en segundo plano mediante cron."; +$a->strings["PHP executable path"] = "Ruta del ejecutable PHP"; +$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Introducir la ruta completa del ejecutable PHP. Puede dejar la línea en blanco para continuar la instalación."; +$a->strings["Command line PHP"] = "PHP en línea de comandos"; +$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La línea de comandos PHP de su sistema no tiene activado \"register_argc_argv\"."; +$a->strings["This is required for message delivery to work."] = "Esto es necesario para que funcione la transmisión de mensajes."; +$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; +$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La carga máxima que se le permite subir está establecida en %s. El tamaño máximo de un fichero está establecido en %s. Está permitido subir hasta un máximo de %d ficheros de una sola vez."; +$a->strings["You can adjust these settings in the servers php.ini."] = "Puede ajustar estos valores en el fichero php.ini de su servidor."; +$a->strings["PHP upload limits"] = "Límites PHP de subida"; +$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: La función \"openssl_pkey_new\" en este sistema no es capaz de general claves de cifrado."; +$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si está en un servidor Windows, por favor, lea \"http://www.php.net/manual/en/openssl.installation.php\"."; +$a->strings["Generate encryption keys"] = "Generar claves de cifrado"; +$a->strings["libCurl PHP module"] = "módulo libCurl PHP"; +$a->strings["GD graphics PHP module"] = "módulo PHP GD graphics"; +$a->strings["OpenSSL PHP module"] = "módulo PHP OpenSSL"; +$a->strings["mysqli or postgres PHP module"] = "módulo PHP mysqli o postgres"; +$a->strings["mb_string PHP module"] = "módulo PHP mb_string"; +$a->strings["mcrypt PHP module"] = "módulo PHP mcrypt "; +$a->strings["xml PHP module"] = "módulo PHP xml"; +$a->strings["Apache mod_rewrite module"] = "módulo Apache mod_rewrite "; +$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: se necesita el módulo del servidor web Apache mod-rewrite pero no está instalado."; +$a->strings["proc_open"] = "proc_open"; +$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: se necesita proc_open pero o no está instalado o ha sido desactivado en el fichero php.ini"; +$a->strings["Error: libCURL PHP module required but not installed."] = "Error: se necesita el módulo PHP libCURL pero no está instalado."; +$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: el módulo PHP GD graphics es necesario, pero no está instalado."; +$a->strings["Error: openssl PHP module required but not installed."] = "Error: el módulo PHP openssl es necesario, pero no está instalado."; +$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: el módulo PHP mysqli o postgres es necesario pero ninguno de los dos está instalado."; +$a->strings["Error: mb_string PHP module required but not installed."] = "Error: el módulo PHP mb_string es necesario, pero no está instalado."; +$a->strings["Error: mcrypt PHP module required but not installed."] = "Error: el módulo PHP mcrypt es necesario, pero no está instalado."; +$a->strings["Error: xml PHP module required for DAV but not installed."] = "Error: el módulo PHP xml es necesario para DAV, pero no está instalado."; +$a->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."] = "El instalador web no ha podido crear un fichero llamado “.htconfig.php” en la carpeta base de su servidor."; +$a->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."] = "Esto está generalmente ligado a un problema de permisos, a causa del cual el servidor web tiene prohibido modificar ficheros en su carpeta - incluso si usted mismo tiene esos permisos."; +$a->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."] = "Al término de este procedimiento, podemos crear un fichero de texto para guardar con el nombre .htconfig.php en el directorio raíz de su instalación de Hubzilla."; +$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Como alternativa, puede dejar este procedimiento e intentar realizar una instalación manual. Lea, por favor, el fichero\"install/INSTALL.txt\" para las instrucciones."; +$a->strings[".htconfig.php is writable"] = ".htconfig.php tiene permisos de escritura"; +$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla hace uso del motor de plantillas Smarty3 para diseñar sus plantillas gráficas. Smarty3 es más rápido porque compila las plantillas de páginas directamente en PHP."; +$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Para poder guardar las plantillas compiladas, el servidor web necesita permisos para acceder al subdirectorio %s en el directorio de instalación de Hubzilla."; +$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Por favor, asegúrese de que el servidor web está siendo ejecutado por un usuario que tenga permisos de escritura sobre esta carpeta (por ejemplo, www-data)."; +$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: como medida de seguridad, debe dar al servidor web permisos de escritura solo sobre %s - no sobre el fichero de plantilla (.tpl) que contiene."; +$a->strings["%s is writable"] = "%s tiene permisos de escritura"; +$a->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"] = "Red guarda los ficheros descargados en la carpeta \"store\". El servidor web necesita tener permisos de escritura sobre esa carpeta, en el directorio de instalación."; +$a->strings["store is writable"] = "\"store\" tiene permisos de escritura"; +$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "El certificado SSL no ha podido ser validado. Corrija este problema o desactive el acceso https a este sitio."; +$a->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 su servidor soporta conexiones cifradas SSL o si permite conexiones al puerto TCP 443 (el puerto usado por el protocolo https), debe utilizar un certificado válido. No debe usar un certificado firmado por usted mismo."; +$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Se ha incorporado esta restricción para evitar que sus publicaciones públicas hagan referencia a imágenes en su propio servidor."; +$a->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 su certificado no ha sido reconocido, los miembros de otros sitios (con certificados válidos) recibirán mensajes de aviso en sus propios sitios web."; +$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Por razones de compatibilidad (sobre el conjunto de la red, no solo sobre su propio sitio), debemos insistir en estos requisitos."; +$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Existen varias Autoridades de Certificación que le pueden proporcionar certificados válidos."; +$a->strings["SSL certificate validation"] = "validación del certificado SSL"; +$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "No se pueden reescribir las direcciones web en .htaccess. Compruebe la configuración de su servidor:"; +$a->strings["Url rewrite is working"] = "La reescritura de las direcciones funciona correctamente"; +$a->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."] = "El fichero de configuración de la base de datos .htconfig.php no se ha podido modificar. Por favor, copie el texto generado en un fichero con ese nombre en el directorio raíz de su servidor."; +$a->strings["Errors encountered creating database tables."] = "Se han encontrado errores al crear las tablas de la base de datos."; +$a->strings["<h1>What next</h1>"] = "<h1>Siguiente paso</h1>"; +$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Debe crear [manualmente] una tarea programada para el \"poller\"."; +$a->strings["Bookmark added"] = "Marcador añadido"; +$a->strings["My Bookmarks"] = "Mis marcadores"; +$a->strings["My Connections Bookmarks"] = "Marcadores de mis conexiones"; +$a->strings["\$Projectname"] = "\$Projectname"; +$a->strings["Welcome to %s"] = "Bienvenido a %s"; +$a->strings["This setting requires special processing and editing has been blocked."] = "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada."; +$a->strings["Configuration Editor"] = "Editor de configuración"; +$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica."; +$a->strings["Poke/Prod"] = "Toque/Incitación"; +$a->strings["poke, prod or do other things to somebody"] = "dar un toque, incitar u otras cosas a alguien"; +$a->strings["Recipient"] = "Destinatario"; +$a->strings["Choose what you wish to do to recipient"] = "Elegir qué desea enviar al destinatario"; +$a->strings["Make this post private"] = "Convertir en privado este envío"; +$a->strings["Profile not found."] = "Perfil no encontrado."; +$a->strings["Profile deleted."] = "Perfil eliminado."; +$a->strings["Profile-"] = "Perfil-"; +$a->strings["New profile created."] = "El nuevo perfil ha sido creado."; +$a->strings["Profile unavailable to clone."] = "Perfil no disponible para clonar."; +$a->strings["Profile unavailable to export."] = "Perfil no disponible para exportar."; +$a->strings["Profile Name is required."] = "Se necesita el nombre del perfil."; +$a->strings["Marital Status"] = "Estado civil"; +$a->strings["Romantic Partner"] = "Pareja sentimental"; +$a->strings["Likes"] = "Me gusta"; +$a->strings["Dislikes"] = "No me gusta"; +$a->strings["Work/Employment"] = "Trabajo:"; +$a->strings["Religion"] = "Religión"; +$a->strings["Political Views"] = "Ideas políticas"; +$a->strings["Sexual Preference"] = "Preferencia sexual"; +$a->strings["Homepage"] = "Página personal"; +$a->strings["Interests"] = "Intereses"; +$a->strings["Address"] = "Dirección"; +$a->strings["Profile updated."] = "Perfil actualizado."; +$a->strings["Hide your contact/friend list from viewers of this profile?"] = "¿Ocultar su lista de contactos a los visitantes de este perfil?"; +$a->strings["Edit Profile Details"] = "Modificar los detalles de este perfil"; +$a->strings["View this profile"] = "Ver este perfil"; +$a->strings["Change Profile Photo"] = "Cambiar la foto del perfil"; +$a->strings["Create a new profile using these settings"] = "Crear un nuevo perfil usando estos ajustes"; +$a->strings["Clone this profile"] = "Clonar este perfil"; +$a->strings["Delete this profile"] = "Eliminar este perfil"; +$a->strings["Import profile from file"] = "Importar perfil desde un fichero"; +$a->strings["Export profile to file"] = "Exportar perfil a un fichero"; +$a->strings["Profile Name:"] = "Nombre del perfil:"; +$a->strings["Your Full Name:"] = "Su nombre completo:"; +$a->strings["Title/Description:"] = "Título/Descripción:"; +$a->strings["Your Gender:"] = "Su género:"; +$a->strings["Birthday :"] = "Cumpleaños:"; +$a->strings["Street Address:"] = "Calle:"; +$a->strings["Locality/City:"] = "Ciudad:"; +$a->strings["Postal/Zip Code:"] = "Código postal:"; +$a->strings["Country:"] = "País:"; +$a->strings["Region/State:"] = "Región/Estado:"; +$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Estado sentimental:"; +$a->strings["Who: (if applicable)"] = "Quién: (si es aplicable)"; +$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Por ejemplo: ana123, María González, sara@ejemplo.com"; +$a->strings["Since [date]:"] = "Desde [fecha]:"; +$a->strings["Homepage URL:"] = "Dirección de la página personal:"; +$a->strings["Religious Views:"] = "Creencias religiosas:"; +$a->strings["Keywords:"] = "Palabras clave:"; +$a->strings["Example: fishing photography software"] = "Por ejemplo: software de fotografía submarina"; +$a->strings["Used in directory listings"] = "Visible en el directorio público del canal"; +$a->strings["Tell us about yourself..."] = "Háblenos de usted..."; +$a->strings["Hobbies/Interests"] = "Aficiones/Intereses"; +$a->strings["Contact information and Social Networks"] = "Información de contacto y redes sociales"; +$a->strings["My other channels"] = "Mis otros canales"; +$a->strings["Musical interests"] = "Preferencias musicales"; +$a->strings["Books, literature"] = "Libros, literatura"; +$a->strings["Television"] = "Televisión"; +$a->strings["Film/dance/culture/entertainment"] = "Cine/danza/cultura/entretenimiento"; +$a->strings["Love/romance"] = "Vida sentimental/amorosa"; +$a->strings["Work/employment"] = "Trabajo"; +$a->strings["School/education"] = "Estudios"; +$a->strings["This is your default profile."] = "Este es su perfil principal."; +$a->strings["Age: "] = "Edad:"; +$a->strings["Edit/Manage Profiles"] = "Modificar/gestionar perfiles"; +$a->strings["Add profile things"] = "Añadir cosas al perfil"; +$a->strings["Include desirable objects in your profile"] = "Añadir objetos interesantes en su perfil"; +$a->strings["Items tagged with: %s"] = "elementos etiquetados con: %s"; +$a->strings["Search results for: %s"] = "Resultados de la búsqueda para: %s"; $a->strings["Could not access contact record."] = "No se ha podido acceder al registro de contacto."; $a->strings["Could not locate selected profile."] = "No se ha podido localizar el perfil seleccionado."; $a->strings["Connection updated."] = "Conexión actualizada."; @@ -1185,57 +1351,132 @@ $a->strings["Individual Permissions"] = "Permisos individuales"; $a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí."; $a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados."; $a->strings["Last update:"] = "Última actualización:"; -$a->strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos"; -$a->strings["Hub not found."] = "Servidor no encontrado"; -$a->strings["This setting requires special processing and editing has been blocked."] = "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada."; -$a->strings["Configuration Editor"] = "Editor de configuración"; -$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica."; -$a->strings["Permission Denied."] = "Permiso denegado"; -$a->strings["File not found."] = "Fichero no encontrado."; -$a->strings["Edit file permissions"] = "Modificar los permisos del fichero"; -$a->strings["Set/edit permissions"] = "Establecer/editar los permisos"; -$a->strings["Include all files and sub folders"] = "Incluir todos los ficheros y subcarpetas"; -$a->strings["Return to file list"] = "Volver a la lista de ficheros"; -$a->strings["Copy/paste this code to attach file to a post"] = "Copiar/pegar este código para adjuntar el fichero al envío"; -$a->strings["Copy/paste this URL to link file from a web page"] = "Copiar/pegar esta dirección para enlazar el fichero desde una página web"; -$a->strings["Share this file"] = "Compartir este fichero"; -$a->strings["Show URL to this file"] = "Mostrar la dirección de este fichero"; -$a->strings["Notify your contacts about this file"] = "Avisar a sus contactos sobre este fichero"; +$a->strings["network"] = "red"; +$a->strings["RSS"] = "RSS"; +$a->strings["\$Projectname channel"] = "Canal \$Projectname"; +$a->strings["Invalid message"] = "Mensaje no válido"; +$a->strings["no results"] = "sin resultados"; +$a->strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s"; +$a->strings["channel sync processed"] = "se ha realizado la sincronización del canal"; +$a->strings["queued"] = "encolado"; +$a->strings["posted"] = "enviado"; +$a->strings["accepted for delivery"] = "aceptado para el envío"; +$a->strings["updated"] = "actualizado"; +$a->strings["update ignored"] = "actualización ignorada"; +$a->strings["permission denied"] = "permiso denegado"; +$a->strings["recipient not found"] = "destinatario no encontrado"; +$a->strings["mail recalled"] = "mensaje de correo revocado"; +$a->strings["duplicate mail received"] = "se ha recibido mensaje duplicado"; +$a->strings["mail delivered"] = "correo enviado"; +$a->strings["Item not found"] = "Elemento no encontrado"; +$a->strings["Delete webpage?"] = "¿Eliminar la página web?"; +$a->strings["Page link title"] = "Título del enlace de la página"; +$a->strings["Insert YouTube video"] = "Insertar vídeo de YouTube"; +$a->strings["Insert Vorbis [.ogg] video"] = "Insertar vídeo Vorbis [.ogg]"; +$a->strings["Insert Vorbis [.ogg] audio"] = "Insertar audio Vorbis [.ogg]"; +$a->strings["Edit Webpage"] = "Editar la página web"; +$a->strings["Unable to find your hub."] = "No se puede encontrar su servidor."; +$a->strings["Post successful."] = "Enviado con éxito."; +$a->strings["sent you a private message"] = "le ha enviado un mensaje privado"; +$a->strings["added your channel"] = "añadió este canal a sus conexiones"; +$a->strings["posted an event"] = "publicó un evento"; +$a->strings["Authorize application connection"] = "Autorizar una conexión de aplicación"; +$a->strings["Return to your app and insert this Securty Code:"] = "Volver a su aplicación e introducir este código de seguridad:"; +$a->strings["Please login to continue."] = "Por favor inicia sesión para continuar."; +$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?"; +$a->strings["No more system notifications."] = "No hay más notificaciones del sistema"; +$a->strings["System Notifications"] = "Notificaciones de sistema"; +$a->strings["Select a bookmark folder"] = "Seleccionar una carpeta de marcadores"; +$a->strings["Save Bookmark"] = "Guardar marcador"; +$a->strings["URL of bookmark"] = "Dirección del marcador"; +$a->strings["Description"] = "Descripción"; +$a->strings["Or enter new bookmark folder name"] = "O introduzca un nuevo nombre para la carpeta de marcadores"; +$a->strings["Contact not found."] = "Contacto no encontrado"; +$a->strings["Friend suggestion sent."] = "Enviar sugerencia a un amigo."; +$a->strings["Suggest Friends"] = "Sugerir amigos"; +$a->strings["Suggest a friend for %s"] = "Sugerir un amigo a %s"; +$a->strings["Failed to create source. No channel selected."] = "Imposible crear el origen de los contenidos. Ningún canal ha sido seleccionado."; +$a->strings["Source created."] = "Fuente creada."; +$a->strings["Source updated."] = "Fuente actualizada."; +$a->strings["*"] = "*"; +$a->strings["Manage remote sources of content for your channel."] = "Gestionar contenido de origen remoto para su canal."; +$a->strings["New Source"] = "Nueva fuente"; +$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importar todo el contenido o una selección de los siguientes canales en este canal y distribuirlo de acuerdo con sus ajustes."; +$a->strings["Only import content with these words (one per line)"] = "Importar solo contenido que contenga estas palabras (una por línea)"; +$a->strings["Leave blank to import all public content"] = "Dejar en blanco para importar todo el contenido público"; +$a->strings["Source not found."] = "Fuente no encontrada"; +$a->strings["Edit Source"] = "Editar fuente"; +$a->strings["Delete Source"] = "Eliminar fuente"; +$a->strings["Source removed"] = "Fuente eliminada"; +$a->strings["Unable to remove source."] = "Imposible eliminar la fuente."; +$a->strings["Invalid request identifier."] = "Petición inválida del identificador."; +$a->strings["Discard"] = "Descartar"; +$a->strings["Tag removed"] = "Etiqueta eliminada."; +$a->strings["Remove Item Tag"] = "Eliminar etiqueta del elemento."; +$a->strings["Select a tag to remove: "] = "Seleccionar una etiqueta para eliminar:"; +$a->strings["Remove"] = "Eliminar"; +$a->strings["%d rating"] = array( + 0 => "%d valoración", + 1 => "%d valoraciones", +); +$a->strings["Gender: "] = "Género:"; +$a->strings["Status: "] = "Estado:"; +$a->strings["Homepage: "] = "Página personal:"; +$a->strings["Description:"] = "Descripción:"; +$a->strings["Public Forum:"] = "Foro público:"; +$a->strings["Keywords: "] = "Palabras clave:"; +$a->strings["Don't suggest"] = "No sugerir:"; +$a->strings["Common connections:"] = "Conexiones comunes:"; +$a->strings["Global Directory"] = "Directorio global:"; +$a->strings["Local Directory"] = "Directorio local:"; +$a->strings["Finding:"] = "Encontrar:"; +$a->strings["next page"] = "siguiente página"; +$a->strings["previous page"] = "página anterior"; +$a->strings["Sort options"] = "Ordenar opciones"; +$a->strings["Alphabetic"] = "Alfabético"; +$a->strings["Reverse Alphabetic"] = "Alfabético inverso"; +$a->strings["Newest to Oldest"] = "De más nuevo a más antiguo"; +$a->strings["Oldest to Newest"] = "De más antiguo a más nuevo"; +$a->strings["No entries (some entries may be hidden)."] = "Sin entradas (algunas entradas pueden estar ocultas)."; +$a->strings["No valid account found."] = "No se ha encontrado una cuenta válida."; +$a->strings["Password reset request issued. Check your email."] = "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico."; +$a->strings["Site Member (%s)"] = "Usuario del sitio (%s)"; +$a->strings["Password reset requested at %s"] = "Se ha solicitado restablecer la contraseña en %s"; +$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado."; +$a->strings["Password Reset"] = "Restablecer la contraseña"; +$a->strings["Your password has been reset as requested."] = "Su contraseña ha sido restablecida según lo solicitó."; +$a->strings["Your new password is"] = "Su nueva contraseña es"; +$a->strings["Save or copy your new password - and then"] = "Guarde o copie su nueva contraseña - y después"; +$a->strings["click here to login"] = "pulse aquí para conectarse"; +$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión."; +$a->strings["Your password has changed at %s"] = "Su contraseña en %s ha sido cambiada"; +$a->strings["Forgot your Password?"] = "¿Ha olvidado su contraseña?"; +$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones."; +$a->strings["Email Address"] = "Dirección de correo electrónico"; +$a->strings["Reset"] = "Reiniciar"; $a->strings["This site is not a directory server"] = "Este sitio no es un servidor de directorio"; -$a->strings["Layout Name"] = "Nombre del formato"; -$a->strings["Layout Description (Optional)"] = "Descripción del formato gráfico (opcional)"; -$a->strings["Comanche page description language help"] = "Página de ayuda del lenguaje de descripción de páginas (PDL) Comanche"; -$a->strings["Layout Description"] = "Descripción del formato"; -$a->strings["Download PDL file"] = "Descargar el fichero PDL"; -$a->strings["Poke/Prod"] = "Toque/Incitación"; -$a->strings["poke, prod or do other things to somebody"] = "dar un toque, incitar u otras cosas a alguien"; -$a->strings["Recipient"] = "Destinatario"; -$a->strings["Choose what you wish to do to recipient"] = "Elegir qué desea enviar al destinatario"; -$a->strings["Make this post private"] = "Convertir en privado este envío"; -$a->strings["No such group"] = "No se encuentra el grupo"; -$a->strings["No such channel"] = "No se encuentra el canal"; -$a->strings["forum"] = "foro"; -$a->strings["Search Results For:"] = "Buscar resultados para:"; -$a->strings["Collection is empty"] = "La colección está vacía"; -$a->strings["Collection: "] = "Colección:"; -$a->strings["Invalid connection."] = "Conexión no válida."; -$a->strings["You must be logged in to see this page."] = "Debe haber iniciado sesión para poder ver esta página."; -$a->strings["Room not found"] = "Sala no encontrada"; -$a->strings["Leave Room"] = "Abandonar la sala"; -$a->strings["Delete This Room"] = "Eliminar esta sala"; -$a->strings["I am away right now"] = "Estoy ausente momentáneamente"; -$a->strings["I am online"] = "Estoy conectado/a"; -$a->strings["Bookmark this room"] = "Añadir esta sala a Marcadores"; -$a->strings["New Chatroom"] = "Nueva sala de chat"; -$a->strings["Chatroom Name"] = "Nombre de la sala de chat"; -$a->strings["Expiration of chats (minutes)"] = "Tiempo de expiración de los mensajes en los chats (en minutos)"; -$a->strings["%1\$s's Chatrooms"] = "Salas de chat de %1\$s"; -$a->strings["Items tagged with: %s"] = "elementos etiquetados con: %s"; -$a->strings["Search results for: %s"] = "Resultados de la búsqueda para: %s"; -$a->strings["Website:"] = "Sitio web:"; -$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Canal remoto [%s] (aún no es conocido en este sitio)"; -$a->strings["Rating (this information is public)"] = "Valoración (esta información es pública)"; -$a->strings["Optionally explain your rating (this information is public)"] = "Opcionalmente puede explicar su valoración (esta información es pública)"; +$a->strings["%s element installed"] = "%s elemento instalado"; +$a->strings["%s element installation failed"] = "Elemento con instalación fallida: %s"; +$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s está siguiendo %2\$s de %3\$s"; +$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ha dejado de seguir %3\$s de %2\$s"; +$a->strings["Your service plan only allows %d channels."] = "Su paquete de servicios solo permite %d canales."; +$a->strings["Nothing to import."] = "No hay nada para importar."; +$a->strings["Unable to download data from old server"] = "No se han podido descargar datos de su antiguo servidor"; +$a->strings["Imported file is empty."] = "El fichero importado está vacío."; +$a->strings["Warning: Database versions differ by %1\$d updates."] = "Atención: Las versiones de la base de datos difieren en %1\$d actualizaciones."; +$a->strings["No channel. Import failed."] = "No hay canal. La importación ha fallado"; +$a->strings["You must be logged in to use this feature."] = "Debe estar registrado para poder usar esta funcionalidad."; +$a->strings["Import Channel"] = "Importar canal"; +$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Emplee este formulario para importar un canal desde un servidor/hub diferente. Puede recuperar el canal desde el antiguo servidor/hub a través de la red o proporcionando un fichero de exportación."; +$a->strings["File to Upload"] = "Fichero para subir"; +$a->strings["Or provide the old server/hub details"] = "O proporcione los detalles de su antiguo servidor/hub"; +$a->strings["Your old identity address (xyz@example.com)"] = "Su identidad en el antiguo servidor (canal@ejemplo.com)"; +$a->strings["Your old login email address"] = "Su antigua dirección de correo electrónico"; +$a->strings["Your old login password"] = "Su antigua contraseña"; +$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Para cualquiera de las opciones, elija si hacer de este servidor su nueva dirección primaria, o si su antigua ubicación debe continuar con este papel. Usted podrá publicar desde cualquier ubicación, pero sólo una puede estar marcada como la ubicación principal para los ficheros, fotos y otras imágenes o vídeos."; +$a->strings["Make this hub my primary location"] = "Convertir este servidor en mi ubicación primaria"; +$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible"; +$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine."; $a->strings["Page owner information could not be retrieved."] = "La información del propietario de la página no pudo ser recuperada."; $a->strings["Album not found."] = "Álbum no encontrado."; $a->strings["Delete Album"] = "Borrar álbum"; @@ -1260,8 +1501,6 @@ $a->strings["Use as profile photo"] = "Usar como foto del perfil"; $a->strings["Private Photo"] = "Foto privada"; $a->strings["Previous"] = "Anterior"; $a->strings["View Full Size"] = "Ver tamaño completo"; -$a->strings["Next"] = "Siguiente"; -$a->strings["Remove"] = "Eliminar"; $a->strings["Edit photo"] = "Editar foto"; $a->strings["Rotate CW (right)"] = "Girar CW (a la derecha)"; $a->strings["Rotate CCW (left)"] = "Girar CCW (a la izquierda)"; @@ -1275,18 +1514,84 @@ $a->strings["In This Photo:"] = "En esta foto:"; $a->strings["Map"] = "Mapa"; $a->strings["View Album"] = "Ver álbum"; $a->strings["Recent Photos"] = "Fotos recientes"; -$a->strings["Item not found"] = "Elemento no encontrado"; +$a->strings["Fetching URL returns error: %1\$s"] = "Al intentar obtener la dirección, retorna el error: %1\$s"; +$a->strings["Image uploaded but image cropping failed."] = "Imagen actualizada, pero el recorte de la imagen ha fallado. "; +$a->strings["Image resize failed."] = "El ajuste del tamaño de la imagen ha fallado."; +$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente."; +$a->strings["Image upload failed."] = "Subida de imagen fallida."; +$a->strings["Unable to process image."] = "No ha sido posible procesar la imagen."; +$a->strings["female"] = "mujer"; +$a->strings["%1\$s updated her %2\$s"] = "%1\$s ha actualizado su %2\$s"; +$a->strings["male"] = "hombre"; +$a->strings["%1\$s updated his %2\$s"] = "%1\$s ha actualizado su %2\$s"; +$a->strings["%1\$s updated their %2\$s"] = "%1\$s ha actualizado sus %2\$s"; +$a->strings["profile photo"] = "foto del perfil"; +$a->strings["Photo not available."] = "Foto no disponible."; +$a->strings["Upload File:"] = "Subir fichero:"; +$a->strings["Select a profile:"] = "Seleccionar un perfil:"; +$a->strings["Upload Profile Photo"] = "Subir foto del perfil"; +$a->strings["or"] = "o"; +$a->strings["skip this step"] = "Omitir este paso"; +$a->strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes de fotos"; +$a->strings["Crop Image"] = "Recortar imagen"; +$a->strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima."; +$a->strings["Done Editing"] = "Edición completada"; +$a->strings["Thing updated"] = "Elemento actualizado."; +$a->strings["Object store: failed"] = "Guardar objeto: ha fallado"; +$a->strings["Thing added"] = "Elemento añadido"; +$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; +$a->strings["Show Thing"] = "Mostrar elemento"; +$a->strings["item not found."] = "elemento no encontrado."; +$a->strings["Edit Thing"] = "Editar elemento"; +$a->strings["Select a profile"] = "Seleccionar un perfil"; +$a->strings["Post an activity"] = "Publicar una actividad"; +$a->strings["Only sends to viewers of the applicable profile"] = "Sólo enviar a espectadores del perfil pertinente."; +$a->strings["Name of thing e.g. something"] = "Nombre del elemento, p. ej.:. \"algo\""; +$a->strings["URL of thing (optional)"] = "Dirección del elemento (opcional)"; +$a->strings["URL for photo of thing (optional)"] = "Dirección para la foto o elemento (opcional)"; +$a->strings["Add Thing to your Profile"] = "Añadir alguna cosa a su perfil"; +$a->strings["This directory server requires an access token"] = "El servidor de este directorio necesita un \"token\" de acceso"; $a->strings["Delete block?"] = "¿Borrar bloque?"; -$a->strings["Insert YouTube video"] = "Insertar vídeo de YouTube"; -$a->strings["Insert Vorbis [.ogg] video"] = "Insertar vídeo Vorbis [.ogg]"; -$a->strings["Insert Vorbis [.ogg] audio"] = "Insertar audio Vorbis [.ogg]"; $a->strings["Edit Block"] = "Modificar este bloque"; -$a->strings["This directory server requires an access token"] = "El servidor de este directorio necesita un \"token\" de acceso"; -$a->strings["Item is not editable"] = "El elemento no es editable"; -$a->strings["Delete item?"] = "¿Borrar elemento?"; -$a->strings["Edit post"] = "Editar la entrada"; -$a->strings["Unable to find your hub."] = "No se puede encontrar su servidor."; -$a->strings["Post successful."] = "Enviado con éxito."; +$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "La eliminación de cuentas no está permitida hasta después de que hayan transcurrido 48 horas desde el último cambio de contraseña."; +$a->strings["Remove This Account"] = "Eliminar esta cuenta"; +$a->strings["This account and all its channels will be completely removed from the network. "] = "Esta cuenta y todos sus canales van a ser eliminados de la red."; +$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Remover esta cuenta, todos sus canales y clones de la red"; +$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Por defecto, solo las instancias de los canales ubicados en este servidor serán eliminados de la red"; +$a->strings["Remove Account"] = "Eliminar cuenta"; +$a->strings["Import completed"] = "Importación completada"; +$a->strings["Import Items"] = "Importar elementos"; +$a->strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación."; +$a->strings["No such group"] = "No se encuentra el grupo"; +$a->strings["No such channel"] = "No se encuentra el canal"; +$a->strings["forum"] = "foro"; +$a->strings["Search Results For:"] = "Buscar resultados para:"; +$a->strings["Collection is empty"] = "La colección está vacía"; +$a->strings["Collection: "] = "Colección:"; +$a->strings["Invalid connection."] = "Conexión no válida."; +$a->strings["Layout updated."] = "Formato actualizado"; +$a->strings["Edit System Page Description"] = "Editor del Sistema de Descripción de Páginas"; +$a->strings["Layout not found."] = "Formato no encontrado"; +$a->strings["Module Name:"] = "Nombre del módulo:"; +$a->strings["Layout Help"] = "Ayuda para el diseño de la página"; +$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Se ha superado el límite máximo de inscripciones diarias de este sitio. Por favor, pruebe de nuevo mañana."; +$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Por favor, confirme que acepta los Términos del servicio. El registro ha fallado."; +$a->strings["Passwords do not match."] = "Las contraseñas no coinciden."; +$a->strings["Registration successful. Please check your email for validation instructions."] = "Registro realizado con éxito. Por favor, compruebe su correo electrónico para ver las instrucciones para validarlo."; +$a->strings["Your registration is pending approval by the site owner."] = "Su registro está pendiente de aprobación por el propietario del sitio."; +$a->strings["Your registration can not be processed."] = "Su registro no puede ser procesado."; +$a->strings["Registration on this site/hub is by approval only."] = "El registro en este servidor/hub está sometido a aprobación previa."; +$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Inscribirse en un servidor/hub afiliado</a>"; +$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Este sitio ha excedido el límite de inscripción diaria de cuentas. Por favor, inténtelo de nuevo mañana."; +$a->strings["Terms of Service"] = "Términos del servicio"; +$a->strings["I accept the %s for this website"] = "Acepto los %s de este sitio"; +$a->strings["I am over 13 years of age and accept the %s for this website"] = "Tengo más de 13 años de edad y acepto los %s de este sitio"; +$a->strings["Registration"] = "Registro"; +$a->strings["Membership on this site is by invitation only."] = "Para registrarse en este sitio es necesaria una invitación."; +$a->strings["Please enter your invitation code"] = "Por favor, introduzca el código de su invitación"; +$a->strings["Your email address"] = "Su dirección de correo electrónico"; +$a->strings["Choose a password"] = "Elija una contraseña"; +$a->strings["Please re-enter your password"] = "Por favor, vuelva a escribir su contraseña"; $a->strings["Theme settings updated."] = "Ajustes del tema actualizados."; $a->strings["# Accounts"] = "# Cuentas"; $a->strings["# blocked accounts"] = "# cuentas bloqueadas"; @@ -1312,7 +1617,6 @@ $a->strings["My site is not a public server"] = "Mi sitio no es un servidor púb $a->strings["My site has paid access only"] = "Mi sitio es un servicio de pago"; $a->strings["My site has free access only"] = "Mi sitio es un servicio gratuito"; $a->strings["My site offers free accounts with optional paid upgrades"] = "Mi sitio ofrece cuentas gratuitas con opciones extra de pago"; -$a->strings["Registration"] = "Registro"; $a->strings["File upload"] = "Fichero subido"; $a->strings["Policies"] = "Políticas"; $a->strings["Site name"] = "Nombre del sitio"; @@ -1439,7 +1743,6 @@ $a->strings["Uncensor"] = "No censurar"; $a->strings["Allow Code"] = "Permitir código"; $a->strings["Disallow Code"] = "No permitir código"; $a->strings["UID"] = "UID"; -$a->strings["Address"] = "Dirección"; $a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?"; $a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?"; $a->strings["Plugin %s disabled."] = "Extensión %s desactivada."; @@ -1469,303 +1772,10 @@ $a->strings["Help text"] = "Texto de ayuda"; $a->strings["Additional info (optional)"] = "Información adicional (opcional)"; $a->strings["Field definition not found"] = "Definición del campo no encontrada"; $a->strings["Edit Profile Field"] = "Modificar el campo del perfil"; -$a->strings["App installed."] = "Aplicación instalada."; -$a->strings["Malformed app."] = "Aplicación con errores"; -$a->strings["Embed code"] = "Código incorporado"; -$a->strings["Edit App"] = "Modificar la aplicación"; -$a->strings["Create App"] = "Crear una aplicación"; -$a->strings["Name of app"] = "Nombre de la aplicación"; -$a->strings["Location (URL) of app"] = "Ubicación (URL) de la aplicación"; -$a->strings["Description"] = "Descripción"; -$a->strings["Photo icon URL"] = "Dirección del icono que se va a utilizar para esta foto"; -$a->strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional"; -$a->strings["Version ID"] = "Versión"; -$a->strings["Price of app"] = "Precio de la aplicación"; -$a->strings["Location (URL) to purchase app"] = "Dirección (URL) donde adquirir la aplicación"; -$a->strings["Unable to update menu."] = "No se puede actualizar el menú."; -$a->strings["Unable to create menu."] = "No se puede crear el menú."; -$a->strings["Menu Name"] = "Nombre del menú"; -$a->strings["Unique name (not visible on webpage) - required"] = "Nombre único (no será visible en la página web) - requerido"; -$a->strings["Menu Title"] = "Título del menú"; -$a->strings["Visible on webpage - leave empty for no title"] = "Visible en la página web - no ponga nada si no desea un título"; -$a->strings["Allow Bookmarks"] = "Permitir marcadores"; -$a->strings["Menu may be used to store saved bookmarks"] = "El menú se puede usar para guardar marcadores"; -$a->strings["Submit and proceed"] = "Enviar y proceder"; -$a->strings["Drop"] = "Eliminar"; -$a->strings["Bookmarks allowed"] = "Marcadores permitidos"; -$a->strings["Delete this menu"] = "Borrar este menú"; -$a->strings["Edit menu contents"] = "Editar los contenidos del menú"; -$a->strings["Edit this menu"] = "Modificar este menú"; -$a->strings["Menu could not be deleted."] = "El menú no puede ser eliminado."; -$a->strings["Edit Menu"] = "Modificar el menú"; -$a->strings["Add or remove entries to this menu"] = "Añadir o quitar entradas en este menú"; -$a->strings["Menu name"] = "Nombre del menú"; -$a->strings["Must be unique, only seen by you"] = "Debe ser único, solo será visible para usted"; -$a->strings["Menu title"] = "Título del menú"; -$a->strings["Menu title as seen by others"] = "El título del menú tal como será visto por los demás"; -$a->strings["Allow bookmarks"] = "Permitir marcadores"; -$a->strings["No more system notifications."] = "No hay más notificaciones del sistema"; -$a->strings["System Notifications"] = "Notificaciones de sistema"; -$a->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."; -$a->strings["Add a Channel"] = "Añadir un canal"; -$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Un canal está formado por su propia colección de páginas web relacionadas. Se puede utilizar para almacenar los perfiles sociales de la red, blogs, grupos de conversación y foros, páginas de famosos y mucho más. Puede crear tantos canales como su proveedor de servicio permita."; -$a->strings["Channel Name"] = "Nombre del canal"; -$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Ejemplos: \"Juan García\", \"Isabel y sus caballos\", \"Fútbol\", \"Grupo de parapente\" "; -$a->strings["Choose a short nickname"] = "Elija un alias corto"; -$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Su alias podrá usarse para crear una dirección de canal fácilmente memorizable (como una dirección de correo electrónico) que puede ser compartido con otros."; -$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "O <a href=\"import\">importar un canal existente</a> de otro lugar"; -$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Elija el tipo de canal (como red social o foro de discusión) y la privacidad que requiera, así podremos seleccionar el mejor conjunto de permisos para usted"; -$a->strings["Channel Type"] = "Tipo de canal"; -$a->strings["Read more about roles"] = "Leer más sobre los roles"; -$a->strings["Invalid request identifier."] = "Petición inválida del identificador."; -$a->strings["Discard"] = "Descartar"; -$a->strings["Layout updated."] = "Formato actualizado"; -$a->strings["Edit System Page Description"] = "Editor del Sistema de Descripción de Páginas"; -$a->strings["Layout not found."] = "Formato no encontrado"; -$a->strings["Module Name:"] = "Nombre del módulo:"; -$a->strings["Layout Help"] = "Ayuda para el diseño de la página"; -$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s está siguiendo %2\$s de %3\$s"; -$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ha dejado de seguir %3\$s de %2\$s"; -$a->strings["No valid account found."] = "No se ha encontrado una cuenta válida."; -$a->strings["Password reset request issued. Check your email."] = "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico."; -$a->strings["Site Member (%s)"] = "Usuario del sitio (%s)"; -$a->strings["Password reset requested at %s"] = "Se ha solicitado restablecer la contraseña en %s"; -$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado."; -$a->strings["Password Reset"] = "Restablecer la contraseña"; -$a->strings["Your password has been reset as requested."] = "Su contraseña ha sido restablecida según lo solicitó."; -$a->strings["Your new password is"] = "Su nueva contraseña es"; -$a->strings["Save or copy your new password - and then"] = "Guarde o copie su nueva contraseña - y después"; -$a->strings["click here to login"] = "pulse aquí para conectarse"; -$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión."; -$a->strings["Your password has changed at %s"] = "Su contraseña en %s ha sido cambiada"; -$a->strings["Forgot your Password?"] = "¿Ha olvidado su contraseña?"; -$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones."; -$a->strings["Email Address"] = "Dirección de correo electrónico"; -$a->strings["Reset"] = "Reiniciar"; -$a->strings["\$Projectname"] = "\$Projectname"; -$a->strings["Welcome to %s"] = "Bienvenido a %s"; -$a->strings["\$Projectname channel"] = "Canal \$Projectname"; -$a->strings["Calendar entries imported."] = "Entradas de calendario importadas."; -$a->strings["No calendar entries found."] = "No se han encontrado entradas de calendario."; -$a->strings["Event can not end before it has started."] = "Un evento no puede terminar antes de que haya comenzado."; -$a->strings["Unable to generate preview."] = "No se puede crear la vista previa."; -$a->strings["Event title and start time are required."] = "Se requieren el título del evento y su hora de inicio."; -$a->strings["Event not found."] = "Evento no encontrado."; -$a->strings["l, F j"] = "l j F"; -$a->strings["Edit event"] = "Editar evento"; -$a->strings["Delete event"] = "Borrar evento"; -$a->strings["calendar"] = "calendario"; -$a->strings["New Event"] = "Nuevo evento"; -$a->strings["Today"] = "Hoy"; -$a->strings["Event removed"] = "Evento borrado"; -$a->strings["Failed to remove event"] = "Error al eliminar el evento"; -$a->strings["Event details"] = "Detalles del evento"; -$a->strings["Starting date and Title are required."] = "Se requieren fecha y título."; -$a->strings["Categories (comma-separated list)"] = "Categorías (lista separada por comas)"; -$a->strings["Event Starts:"] = "Inicio del evento:"; -$a->strings["Finish date/time is not known or not relevant"] = "La fecha / hora de finalización no se conocen o no son relevantes"; -$a->strings["Event Finishes:"] = "Finalización del evento:"; -$a->strings["Adjust for viewer timezone"] = "Ajustar para obtener el visor de zona horaria"; -$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales."; -$a->strings["Title:"] = "Título:"; -$a->strings["Share this event"] = "Compartir este evento"; -$a->strings["%s element installed"] = "%s elemento instalado"; -$a->strings["%s element installation failed"] = "Elemento con instalación fallida: %s"; -$a->strings["Fetching URL returns error: %1\$s"] = "Al intentar obtener la dirección, retorna el error: %1\$s"; -$a->strings["Profile Match"] = "Perfil compatible"; -$a->strings["No keywords to match. Please add keywords to your default profile."] = "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal."; -$a->strings["is interested in:"] = "está interesado en:"; -$a->strings["No matches"] = "No se han encontrado perfiles compatibles"; -$a->strings["Image uploaded but image cropping failed."] = "Imagen actualizada, pero el recorte de la imagen ha fallado. "; -$a->strings["Image resize failed."] = "El ajuste del tamaño de la imagen ha fallado."; -$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente."; -$a->strings["Image upload failed."] = "Subida de imagen fallida."; -$a->strings["Unable to process image."] = "No ha sido posible procesar la imagen."; -$a->strings["female"] = "mujer"; -$a->strings["%1\$s updated her %2\$s"] = "%1\$s ha actualizado su %2\$s"; -$a->strings["male"] = "hombre"; -$a->strings["%1\$s updated his %2\$s"] = "%1\$s ha actualizado su %2\$s"; -$a->strings["%1\$s updated their %2\$s"] = "%1\$s ha actualizado sus %2\$s"; -$a->strings["profile photo"] = "foto del perfil"; -$a->strings["Photo not available."] = "Foto no disponible."; -$a->strings["Upload File:"] = "Subir fichero:"; -$a->strings["Select a profile:"] = "Seleccionar un perfil:"; -$a->strings["Upload Profile Photo"] = "Subir foto del perfil"; -$a->strings["or"] = "o"; -$a->strings["skip this step"] = "Omitir este paso"; -$a->strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes de fotos"; -$a->strings["Crop Image"] = "Recortar imagen"; -$a->strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima."; -$a->strings["Done Editing"] = "Edición completada"; -$a->strings["Channel added."] = "Canal añadido."; -$a->strings["Tag removed"] = "Etiqueta eliminada."; -$a->strings["Remove Item Tag"] = "Eliminar etiqueta del elemento."; -$a->strings["Select a tag to remove: "] = "Seleccionar una etiqueta para eliminar:"; -$a->strings["No ratings"] = "Ninguna valoración"; -$a->strings["Ratings"] = "Valoraciones"; -$a->strings["Rating: "] = "Valoración:"; -$a->strings["Website: "] = "Sitio web:"; -$a->strings["Description: "] = "Descripción:"; -$a->strings["Unable to locate original post."] = "No ha sido posible encontrar la entrada original."; -$a->strings["Empty post discarded."] = "La entrada vacía ha sido desechada."; -$a->strings["Executable content type not permitted to this channel."] = "Contenido de tipo ejecutable no permitido en este canal."; -$a->strings["Duplicate post suppressed."] = "Se ha suprimido la entrada duplicada."; -$a->strings["System error. Post not saved."] = "Error del sistema. La entrada no se ha podido salvar."; -$a->strings["Unable to obtain post information from database."] = "No ha sido posible obtener información de la entrada en la base de datos."; -$a->strings["You have reached your limit of %1$.0f top level posts."] = "Ha alcanzado su límite de %1$.0f entradas en la página principal."; -$a->strings["You have reached your limit of %1$.0f webpages."] = "Ha alcanzado su límite de %1$.0f páginas web."; -$a->strings["Page Title"] = "Título de página"; -$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Se ha superado el límite máximo de inscripciones diarias de este sitio. Por favor, pruebe de nuevo mañana."; -$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Por favor, confirme que acepta los Términos del servicio. El registro ha fallado."; -$a->strings["Passwords do not match."] = "Las contraseñas no coinciden."; -$a->strings["Registration successful. Please check your email for validation instructions."] = "Registro realizado con éxito. Por favor, compruebe su correo electrónico para ver las instrucciones para validarlo."; -$a->strings["Your registration is pending approval by the site owner."] = "Su registro está pendiente de aprobación por el propietario del sitio."; -$a->strings["Your registration can not be processed."] = "Su registro no puede ser procesado."; -$a->strings["Registration on this site/hub is by approval only."] = "El registro en este servidor/hub está sometido a aprobación previa."; -$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Inscribirse en un servidor/hub afiliado</a>"; -$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Este sitio ha excedido el límite de inscripción diaria de cuentas. Por favor, inténtelo de nuevo mañana."; -$a->strings["Terms of Service"] = "Términos del servicio"; -$a->strings["I accept the %s for this website"] = "Acepto los %s de este sitio"; -$a->strings["I am over 13 years of age and accept the %s for this website"] = "Tengo más de 13 años de edad y acepto los %s de este sitio"; -$a->strings["Membership on this site is by invitation only."] = "Para registrarse en este sitio es necesaria una invitación."; -$a->strings["Please enter your invitation code"] = "Por favor, introduzca el código de su invitación"; -$a->strings["Your email address"] = "Su dirección de correo electrónico"; -$a->strings["Choose a password"] = "Elija una contraseña"; -$a->strings["Please re-enter your password"] = "Por favor, vuelva a escribir su contraseña"; -$a->strings["Block Name"] = "Nombre del bloque"; -$a->strings["Block Title"] = "Título del bloque"; -$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "La eliminación de cuentas no está permitida hasta después de que hayan transcurrido 48 horas desde el último cambio de contraseña."; -$a->strings["Remove This Account"] = "Eliminar esta cuenta"; -$a->strings["This account and all its channels will be completely removed from the network. "] = "Esta cuenta y todos sus canales van a ser eliminados de la red."; -$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Remover esta cuenta, todos sus canales y clones de la red"; -$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Por defecto, solo las instancias de los canales ubicados en este servidor serán eliminados de la red"; -$a->strings["Remove Account"] = "Eliminar cuenta"; -$a->strings["No service class restrictions found."] = "No se han encontrado restricciones sobre esta clase de servicio."; -$a->strings["Item not available."] = "Elemento no disponible"; -$a->strings["Public Sites"] = "Sitios públicos"; -$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Los sitios listados permiten el registro público en la red \$Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los enlaces de los proveedores <strong> pueden </strong> proporcionar detalles adicionales."; -$a->strings["Rate this hub"] = "Valorar este sitio"; -$a->strings["Site URL"] = "Dirección del sitio"; -$a->strings["Access Type"] = "Tipo de acceso"; -$a->strings["Registration Policy"] = "Normas de registro"; -$a->strings["Location"] = "Ubicación"; -$a->strings["Project"] = "Proyecto"; -$a->strings["View hub ratings"] = "Ver las valoraciones del sitio"; -$a->strings["Rate"] = "Valorar"; -$a->strings["View ratings"] = "Ver valoraciones"; -$a->strings["Failed to create source. No channel selected."] = "Imposible crear el origen de los contenidos. Ningún canal ha sido seleccionado."; -$a->strings["Source created."] = "Fuente creada."; -$a->strings["Source updated."] = "Fuente actualizada."; -$a->strings["*"] = "*"; -$a->strings["Manage remote sources of content for your channel."] = "Gestionar contenido de origen remoto para su canal."; -$a->strings["New Source"] = "Nueva fuente"; -$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importar todo el contenido o una selección de los siguientes canales en este canal y distribuirlo de acuerdo con sus ajustes."; -$a->strings["Only import content with these words (one per line)"] = "Importar solo contenido que contenga estas palabras (una por línea)"; -$a->strings["Leave blank to import all public content"] = "Dejar en blanco para importar todo el contenido público"; -$a->strings["Source not found."] = "Fuente no encontrada"; -$a->strings["Edit Source"] = "Editar fuente"; -$a->strings["Delete Source"] = "Eliminar fuente"; -$a->strings["Source removed"] = "Fuente eliminada"; -$a->strings["Unable to remove source."] = "Imposible eliminar la fuente."; -$a->strings["Remote privacy information not available."] = "La información privada remota no está disponible."; -$a->strings["Visible to:"] = "Visible para:"; -$a->strings["network"] = "red"; -$a->strings["RSS"] = "RSS"; -$a->strings["Please login."] = "Por favor, inicie sesión."; -$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Encontramos un problema durante el inicio de sesión con la OpenID que proporcionó. Por favor, compruebe que la ID está correctamente escrita."; -$a->strings["The error message was:"] = "El mensaje de error fue:"; -$a->strings["Authentication failed."] = "Falló la autenticación."; -$a->strings["Remote Authentication"] = "Acceso desde su servidor"; -$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)"; -$a->strings["Authenticate"] = "Acceder"; -$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficientes. Petición redirigida a la página del perfil."; -$a->strings["Your service plan only allows %d channels."] = "Su paquete de servicios solo permite %d canales."; -$a->strings["Nothing to import."] = "No hay nada para importar."; -$a->strings["Unable to download data from old server"] = "No se han podido descargar datos de su antiguo servidor"; -$a->strings["Imported file is empty."] = "El fichero importado está vacío."; -$a->strings["Warning: Database versions differ by %1\$d updates."] = "Atención: Las versiones de la base de datos difieren en %1\$d actualizaciones."; -$a->strings["No channel. Import failed."] = "No hay canal. La importación ha fallado"; -$a->strings["You must be logged in to use this feature."] = "Debe estar registrado para poder usar esta funcionalidad."; -$a->strings["Import Channel"] = "Importar canal"; -$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Emplee este formulario para importar un canal desde un servidor/hub diferente. Puede recuperar el canal desde el antiguo servidor/hub a través de la red o proporcionando un fichero de exportación."; -$a->strings["File to Upload"] = "Fichero para subir"; -$a->strings["Or provide the old server/hub details"] = "O proporcione los detalles de su antiguo servidor/hub"; -$a->strings["Your old identity address (xyz@example.com)"] = "Su identidad en el antiguo servidor (canal@ejemplo.com)"; -$a->strings["Your old login email address"] = "Su antigua dirección de correo electrónico"; -$a->strings["Your old login password"] = "Su antigua contraseña"; -$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Para cualquiera de las opciones, elija si hacer de este servidor su nueva dirección primaria, o si su antigua ubicación debe continuar con este papel. Usted podrá publicar desde cualquier ubicación, pero sólo una puede estar marcada como la ubicación principal para los ficheros, fotos y otras imágenes o vídeos."; -$a->strings["Make this hub my primary location"] = "Convertir este servidor en mi ubicación primaria"; -$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible"; -$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine."; -$a->strings["Invalid message"] = "Mensaje no válido"; -$a->strings["no results"] = "sin resultados"; -$a->strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s"; -$a->strings["channel sync processed"] = "se ha realizado la sincronización del canal"; -$a->strings["queued"] = "encolado"; -$a->strings["posted"] = "enviado"; -$a->strings["accepted for delivery"] = "aceptado para el envío"; -$a->strings["updated"] = "actualizado"; -$a->strings["update ignored"] = "actualización ignorada"; -$a->strings["permission denied"] = "permiso denegado"; -$a->strings["recipient not found"] = "destinatario no encontrado"; -$a->strings["mail recalled"] = "mensaje de correo revocado"; -$a->strings["duplicate mail received"] = "se ha recibido mensaje duplicado"; -$a->strings["mail delivered"] = "correo enviado"; -$a->strings["Thing updated"] = "Elemento actualizado."; -$a->strings["Object store: failed"] = "Guardar objeto: ha fallado"; -$a->strings["Thing added"] = "Elemento añadido"; -$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; -$a->strings["Show Thing"] = "Mostrar elemento"; -$a->strings["item not found."] = "elemento no encontrado."; -$a->strings["Edit Thing"] = "Editar elemento"; -$a->strings["Select a profile"] = "Seleccionar un perfil"; -$a->strings["Post an activity"] = "Publicar una actividad"; -$a->strings["Only sends to viewers of the applicable profile"] = "Sólo enviar a espectadores del perfil pertinente."; -$a->strings["Name of thing e.g. something"] = "Nombre del elemento, p. ej.:. \"algo\""; -$a->strings["URL of thing (optional)"] = "Dirección del elemento (opcional)"; -$a->strings["URL for photo of thing (optional)"] = "Dirección para la foto o elemento (opcional)"; -$a->strings["Add Thing to your Profile"] = "Añadir alguna cosa a su perfil"; -$a->strings["Total invitation limit exceeded."] = "Se ha superado el límite máximo de invitaciones."; -$a->strings["%s : Not a valid email address."] = "%s : No es una dirección de correo electrónico válida. "; -$a->strings["Please join us on \$Projectname"] = "Únase a nosotros en \$Projectname"; -$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio."; -$a->strings["%s : Message delivery failed."] = "%s : Falló el envío del mensaje."; -$a->strings["%d message sent."] = array( - 0 => "%d mensajes enviados.", - 1 => "%d mensajes enviados.", -); -$a->strings["You have no more invitations available"] = "No tiene más invitaciones disponibles"; -$a->strings["Send invitations"] = "Enviar invitaciones"; -$a->strings["Enter email addresses, one per line:"] = "Introduzca las direcciones de correo electrónica, una por línea:"; -$a->strings["Your message:"] = "Su mensaje:"; -$a->strings["Please join my community on \$Projectname."] = "Por favor, únase a mi comunidad en \$Projectname."; -$a->strings["You will need to supply this invitation code: "] = "Debe proporcionar este código de invitación:"; -$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Regístrese en cualquier sitio de \$Projectname (están todos interconectados)"; -$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Introduzca mi dirección \$Projectname en la caja de búsqueda del sitio."; -$a->strings["or visit "] = "o visite"; -$a->strings["3. Click [Connect]"] = "3. Pulse [conectar]"; -$a->strings["Unable to lookup recipient."] = "Imposible asociar a un destinatario."; -$a->strings["Unable to communicate with requested channel."] = "Imposible comunicar con el canal solicitado."; -$a->strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado."; -$a->strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló."; -$a->strings["Messages"] = "Mensajes"; -$a->strings["Message recalled."] = "Mensaje revocado."; -$a->strings["Conversation removed."] = "Conversación eliminada."; -$a->strings["Requested channel is not in this network"] = "El canal solicitado no existe en esta red"; -$a->strings["Send Private Message"] = "Enviar un mensaje privado"; -$a->strings["To:"] = "Para:"; -$a->strings["Subject:"] = "Asunto:"; -$a->strings["Send"] = "Enviar"; -$a->strings["Delete message"] = "Borrar mensaje"; -$a->strings["Delivery report"] = "Informe de transmisión"; -$a->strings["Recall message"] = "Revocar el mensaje"; -$a->strings["Message has been recalled."] = "El mensaje ha sido revocado."; -$a->strings["Delete Conversation"] = "Eliminar Conversación"; -$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente."; -$a->strings["Send Reply"] = "Responder"; -$a->strings["Your message for %s (%s):"] = "Su mensaje para %s (%s):"; -$a->strings["[Embedded content - reload page to view]"] = "[Contenido incorporado - recargue la página para poder verlo]"; -$a->strings["Source of Item"] = "Origen del elemento"; +$a->strings["Delete layout?"] = "¿Borrar el formato?"; +$a->strings["Layout Description (Optional)"] = "Descripción del formato gráfico (opcional)"; +$a->strings["Layout Name"] = "Nombre del formato"; +$a->strings["Edit Layout"] = "Modificar el formato"; $a->strings["Name is required"] = "El nombre es obligatorio"; $a->strings["Key and Secret are required"] = "Clave y Secreto son obligatorios"; $a->strings["Passwords do not match. Password unchanged."] = "Las contraseñas no coinciden. La contraseña no se ha cambiado."; @@ -1860,6 +1870,7 @@ $a->strings["0 or blank prevents expiration"] = "0 o en claro evitan la caducida $a->strings["Maximum Friend Requests/Day:"] = "Máximo de solicitudes de amistad por día:"; $a->strings["May reduce spam activity"] = "Podría reducir la actividad de spam"; $a->strings["Default Post Permissions"] = "Permisos de publicación predeterminados"; +$a->strings["(click to open/close)"] = "(pulsar para abrir o cerrar)"; $a->strings["Channel permissions category:"] = "Categoría de permisos del canal:"; $a->strings["Maximum private messages per day from unknown people:"] = "Máximo de mensajes privados por día de gente desconocida:"; $a->strings["Useful to reduce spamming"] = "Útil para reducir el envío de correo no deseado"; @@ -1904,21 +1915,98 @@ $a->strings["Default file upload folder"] = "Carpeta por defecto de los archivos $a->strings["Personal menu to display in your channel pages"] = "Menú personal que debe mostrarse en las páginas de su canal"; $a->strings["Remove this channel."] = "Eliminar este canal."; $a->strings["Firefox Share \$Projectname provider"] = "Servicio de compartición de Firefox: proveedor \$Projectname"; +$a->strings["Start calendar week on monday"] = "Comenzar el calendario semanal por el lunes"; +$a->strings["Page Title"] = "Título de página"; +$a->strings["App installed."] = "Aplicación instalada."; +$a->strings["Malformed app."] = "Aplicación con errores"; +$a->strings["Embed code"] = "Código incorporado"; +$a->strings["Edit App"] = "Modificar la aplicación"; +$a->strings["Create App"] = "Crear una aplicación"; +$a->strings["Name of app"] = "Nombre de la aplicación"; +$a->strings["Location (URL) of app"] = "Ubicación (URL) de la aplicación"; +$a->strings["Photo icon URL"] = "Dirección del icono que se va a utilizar para esta foto"; +$a->strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional"; +$a->strings["Version ID"] = "Versión"; +$a->strings["Price of app"] = "Precio de la aplicación"; +$a->strings["Location (URL) to purchase app"] = "Dirección (URL) donde adquirir la aplicación"; +$a->strings["- select -"] = "- seleccionar -"; +$a->strings["Comanche page description language help"] = "Página de ayuda del lenguaje de descripción de páginas (PDL) Comanche"; +$a->strings["Layout Description"] = "Descripción del formato"; +$a->strings["Download PDL file"] = "Descargar el fichero PDL"; +$a->strings["Location not found."] = "Dirección no encontrada."; +$a->strings["Location lookup failed."] = "Ha fallado la búsqueda de la dirección."; +$a->strings["Please select another location to become primary before removing the primary location."] = "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal."; +$a->strings["Syncing locations"] = "Sincronización de ubicaciones"; +$a->strings["No locations found."] = "No encontrada ninguna dirección."; +$a->strings["Manage Channel Locations"] = "Gestionar las direcciones del canal"; +$a->strings["Location (address)"] = "Ubicación (dirección)"; +$a->strings["Primary Location"] = "Dirección primaria"; +$a->strings["Drop location"] = "Eliminar dirección"; +$a->strings["Sync now"] = "Sincronizar ahora"; +$a->strings["Please wait several minutes between consecutive operations."] = "Por favor, espere algunos minutos entre operaciones consecutivas."; +$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal."; +$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo."; +$a->strings["Total invitation limit exceeded."] = "Se ha superado el límite máximo de invitaciones."; +$a->strings["%s : Not a valid email address."] = "%s : No es una dirección de correo electrónico válida. "; +$a->strings["Please join us on \$Projectname"] = "Únase a nosotros en \$Projectname"; +$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Excedido el límite de invitaciones. Por favor, contacte con el Administrador de su sitio."; +$a->strings["%s : Message delivery failed."] = "%s : Falló el envío del mensaje."; +$a->strings["%d message sent."] = array( + 0 => "%d mensajes enviados.", + 1 => "%d mensajes enviados.", +); +$a->strings["You have no more invitations available"] = "No tiene más invitaciones disponibles"; +$a->strings["Send invitations"] = "Enviar invitaciones"; +$a->strings["Enter email addresses, one per line:"] = "Introduzca las direcciones de correo electrónico, una por línea:"; +$a->strings["Your message:"] = "Su mensaje:"; +$a->strings["Please join my community on \$Projectname."] = "Por favor, únase a mi comunidad en \$Projectname."; +$a->strings["You will need to supply this invitation code: "] = "Debe proporcionar este código de invitación:"; +$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Regístrese en cualquier sitio de \$Projectname (están todos interconectados)"; +$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Introduzca mi dirección \$Projectname en la caja de búsqueda del sitio."; +$a->strings["or visit "] = "o visite "; +$a->strings["3. Click [Connect]"] = "3. Pulse [conectar]"; +$a->strings["Please login."] = "Por favor, inicie sesión."; $a->strings["Xchan Lookup"] = "Búsqueda de canales"; $a->strings["Lookup xchan beginning with (or webbie): "] = "Buscar un canal (o un \"webbie\") que comience por:"; -$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Ha creado %1$.0f de %2$.0f canales permitidos."; -$a->strings["Create a new channel"] = "Crear un nuevo canal"; -$a->strings["Current Channel"] = "Canal actual"; -$a->strings["Switch to one of your channels by selecting it."] = "Cambiar a uno de sus canales seleccionándolo."; -$a->strings["Default Channel"] = "Canal principal"; -$a->strings["Make Default"] = "Convertir en predeterminado"; -$a->strings["%d new messages"] = "%d mensajes nuevos"; -$a->strings["%d new introductions"] = "%d nuevas isolicitudes de conexión"; -$a->strings["Delegated Channels"] = "Canales delegados"; -$a->strings["Authorize application connection"] = "Autorizar una conexión de aplicación"; -$a->strings["Return to your app and insert this Securty Code:"] = "Volver a su aplicación e introducir este código de seguridad:"; -$a->strings["Please login to continue."] = "Por favor inicia sesión para continuar."; -$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?"; +$a->strings["Not found."] = "No encontrado."; +$a->strings["You must be logged in to see this page."] = "Debe haber iniciado sesión para poder ver esta página."; +$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficientes. Petición redirigida a la página del perfil."; +$a->strings["Item not available."] = "Elemento no disponible"; +$a->strings["Remote privacy information not available."] = "La información privada remota no está disponible."; +$a->strings["Visible to:"] = "Visible para:"; +$a->strings["Export Channel"] = "Exportar el canal"; +$a->strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exportar la información básica del canal a un fichero. Este equivale a una copia de seguridad de sus conexiones, el perfil y datos fundamentales, que puede usarse para importar sus datos a un nuevo servidor, pero no incluye su contenido."; +$a->strings["Export Content"] = "Exportar contenidos"; +$a->strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportar la información sobre su canal y el contenido reciente a un fichero de respaldo JSON, que puede ser restaurado o importado a otro servidor. Este fichero incluye todas sus conexiones, permisos, datos del perfil y publicaciones de varios meses. Puede llegar a ser MUY grande. Por favor, sea paciente, la descarga puede tardar varios minutos en comenzar."; +$a->strings["Export your posts from a given year."] = "Exporta sus entradas de un año dado."; +$a->strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "También puede exportar sus mensajes y conversaciones durante un año o mes en particular. Ajuste la fecha en la barra de direcciones del navegador para seleccionar otras fechas. Si la exportación falla (posiblemente debido al agotamiento de la memoria del servidor hub), por favor, intente de nuevo la selección de un rango de fechas más pequeño."; +$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Para seleccionar todos los mensajes de un año determinado, como este año, visite <a href=\"%1\$s\">%2\$s</a>"; +$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Para seleccionar todos los mensajes de un mes determinado, como el de enero de este año, visite <a href=\"%1\$s\">%2\$s</a>"; +$a->strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Estos ficheros pueden ser importados o restaurados visitando <a href=\"%1\$s\">%2\$s</a> o cualquier sitio que contenga su canal. Para obtener los mejores resultados, por favor, importar o restaurar estos ficheros en orden de fecha (la más antigua primero)."; +$a->strings["Item is not editable"] = "El elemento no es editable"; +$a->strings["Delete item?"] = "¿Borrar elemento?"; +$a->strings["Edit post"] = "Editar la entrada"; +$a->strings["Channel added."] = "Canal añadido."; +$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Encontramos un problema durante el inicio de sesión con la OpenID que proporcionó. Por favor, compruebe que la ID está correctamente escrita."; +$a->strings["The error message was:"] = "El mensaje de error fue:"; +$a->strings["Authentication failed."] = "Falló la autenticación."; +$a->strings["Remote Authentication"] = "Acceso desde su servidor"; +$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)"; +$a->strings["Authenticate"] = "Acceder"; +$a->strings["Room not found"] = "Sala no encontrada"; +$a->strings["Leave Room"] = "Abandonar la sala"; +$a->strings["Delete This Room"] = "Eliminar esta sala"; +$a->strings["I am away right now"] = "Estoy ausente momentáneamente"; +$a->strings["I am online"] = "Estoy conectado/a"; +$a->strings["Bookmark this room"] = "Añadir esta sala a Marcadores"; +$a->strings["New Chatroom"] = "Nueva sala de chat"; +$a->strings["Chatroom Name"] = "Nombre de la sala de chat"; +$a->strings["Expiration of chats (minutes)"] = "Tiempo de expiración de los mensajes en los chats (en minutos)"; +$a->strings["%1\$s's Chatrooms"] = "Salas de chat de %1\$s"; +$a->strings["Source of Item"] = "Origen del elemento"; +$a->strings["Share content from Firefox to \$Projectname"] = "Compartir contenido desde Firefox a \$Projectname"; +$a->strings["Activate the Firefox \$Projectname provider"] = "Servicio de compartición de Firefox: activar el proveedor \$Projectname "; +$a->strings["Hub not found."] = "Servidor no encontrado"; $a->strings["Blocked"] = "Bloqueadas"; $a->strings["Ignored"] = "Ignoradas"; $a->strings["Hidden"] = "Ocultas"; @@ -1938,138 +2026,64 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]"; $a->strings["Edit connection"] = "Editar conexión"; $a->strings["Search your connections"] = "Buscar sus conexiones"; $a->strings["Finding: "] = "Búsqueda:"; -$a->strings["Delete layout?"] = "¿Borrar el formato?"; -$a->strings["Edit Layout"] = "Modificar el formato"; -$a->strings["Delete webpage?"] = "¿Eliminar la página web?"; -$a->strings["Page link title"] = "Título del enlace de la página"; -$a->strings["Edit Webpage"] = "Editar la página web"; -$a->strings["Collection created."] = "La colección ha sido creada."; -$a->strings["Could not create collection."] = "No se puede crear la colección."; -$a->strings["Collection updated."] = "La colección ha sido actualizada."; -$a->strings["Create a collection of channels."] = "Crear una colección de canales."; -$a->strings["Collection Name: "] = "Nombre de la colección:"; -$a->strings["Members are visible to other channels"] = "Los miembros son visibles para otros canales"; -$a->strings["Collection removed."] = "La colección ha sido eliminada."; -$a->strings["Unable to remove collection."] = "No ha sido posible de eliminar la colección."; -$a->strings["Collection Editor"] = "Editor de colecciones"; -$a->strings["Members"] = "Miembros"; -$a->strings["All Connected Channels"] = "Todos los canales conectados"; -$a->strings["Click on a channel to add or remove."] = "Haga clic en un canal para agregarlo o quitarlo."; -$a->strings["Continue"] = "Continuar"; -$a->strings["Premium Channel Setup"] = "Configuración del canal premium"; -$a->strings["Enable premium channel connection restrictions"] = "Habilitar restricciones de conexión del canal premium"; -$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Por favor introduzca sus restricciones o condiciones, como recibo de paypal, normas de uso, etc."; -$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Este canal puede requerir antes de conectar unos pasos adicionales o el conocimiento de las siguientes condiciones:"; -$a->strings["Potential connections will then see the following text before proceeding:"] = "Las posibles conexiones verán, por tanto, el siguiente texto antes de proceder:"; -$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página."; -$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(No ha sido proporcionada ninguna instrucción específica por el propietario del canal.)"; -$a->strings["Restricted or Premium Channel"] = "Canal premium o restringido"; -$a->strings["No connections."] = "Sin conexiones."; -$a->strings["Visit %s's profile [%s]"] = "Visitar el perfil de %s [%s]"; -$a->strings["Location not found."] = "Dirección no encontrada."; -$a->strings["Location lookup failed."] = "Ha fallado la búsqueda de la dirección."; -$a->strings["Please select another location to become primary before removing the primary location."] = "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal."; -$a->strings["Syncing locations"] = "Sincronización de ubicaciones"; -$a->strings["No locations found."] = "No encontrada ninguna dirección."; -$a->strings["Manage Channel Locations"] = "Gestionar las direcciones del canal"; -$a->strings["Location (address)"] = "Ubicación (dirección)"; -$a->strings["Primary Location"] = "Dirección primaria"; -$a->strings["Drop location"] = "Eliminar dirección"; -$a->strings["Sync now"] = "Sincronizar ahora"; -$a->strings["Please wait several minutes between consecutive operations."] = "Por favor, espere algunos minutos entre operaciones consecutivas."; -$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal."; -$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo."; +$a->strings["Documentation Search"] = "Búsqueda de Documentación"; +$a->strings["Help:"] = "Ayuda:"; +$a->strings["Not Found"] = "No encontrado"; +$a->strings["\$Projectname Documentation"] = "Documentación de \$Projectname"; +$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Ha creado %1$.0f de %2$.0f canales permitidos."; +$a->strings["Create a new channel"] = "Crear un nuevo canal"; +$a->strings["Current Channel"] = "Canal actual"; +$a->strings["Switch to one of your channels by selecting it."] = "Cambiar a uno de sus canales seleccionándolo."; +$a->strings["Default Channel"] = "Canal principal"; +$a->strings["Make Default"] = "Convertir en predeterminado"; +$a->strings["%d new messages"] = "%d mensajes nuevos"; +$a->strings["%d new introductions"] = "%d nuevas isolicitudes de conexión"; +$a->strings["Delegated Channels"] = "Canales delegados"; +$a->strings["Unable to update menu."] = "No se puede actualizar el menú."; +$a->strings["Unable to create menu."] = "No se puede crear el menú."; +$a->strings["Menu Name"] = "Nombre del menú"; +$a->strings["Unique name (not visible on webpage) - required"] = "Nombre único (no será visible en la página web) - requerido"; +$a->strings["Menu Title"] = "Título del menú"; +$a->strings["Visible on webpage - leave empty for no title"] = "Visible en la página web - no ponga nada si no desea un título"; +$a->strings["Allow Bookmarks"] = "Permitir marcadores"; +$a->strings["Menu may be used to store saved bookmarks"] = "El menú se puede usar para guardar marcadores"; +$a->strings["Submit and proceed"] = "Enviar y proceder"; +$a->strings["Drop"] = "Eliminar"; +$a->strings["Bookmarks allowed"] = "Marcadores permitidos"; +$a->strings["Delete this menu"] = "Borrar este menú"; +$a->strings["Edit menu contents"] = "Editar los contenidos del menú"; +$a->strings["Edit this menu"] = "Modificar este menú"; +$a->strings["Menu could not be deleted."] = "El menú no puede ser eliminado."; +$a->strings["Menu not found."] = "Menú no encontrado"; +$a->strings["Edit Menu"] = "Modificar el menú"; +$a->strings["Add or remove entries to this menu"] = "Añadir o quitar entradas en este menú"; +$a->strings["Menu name"] = "Nombre del menú"; +$a->strings["Must be unique, only seen by you"] = "Debe ser único, solo será visible para usted"; +$a->strings["Menu title"] = "Título del menú"; +$a->strings["Menu title as seen by others"] = "El título del menú tal como será visto por los demás"; +$a->strings["Allow bookmarks"] = "Permitir marcadores"; +$a->strings["Unable to lookup recipient."] = "Imposible asociar a un destinatario."; +$a->strings["Unable to communicate with requested channel."] = "Imposible comunicar con el canal solicitado."; +$a->strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado."; +$a->strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló."; +$a->strings["Messages"] = "Mensajes"; +$a->strings["Message recalled."] = "Mensaje revocado."; +$a->strings["Conversation removed."] = "Conversación eliminada."; +$a->strings["Requested channel is not in this network"] = "El canal solicitado no existe en esta red"; +$a->strings["Send Private Message"] = "Enviar un mensaje privado"; +$a->strings["To:"] = "Para:"; +$a->strings["Subject:"] = "Asunto:"; +$a->strings["Send"] = "Enviar"; +$a->strings["Delete message"] = "Borrar mensaje"; +$a->strings["Delivery report"] = "Informe de transmisión"; +$a->strings["Recall message"] = "Revocar el mensaje"; +$a->strings["Message has been recalled."] = "El mensaje ha sido revocado."; +$a->strings["Delete Conversation"] = "Eliminar conversación"; +$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente."; +$a->strings["Send Reply"] = "Responder"; +$a->strings["Your message for %s (%s):"] = "Su mensaje para %s (%s):"; $a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "La autenticación desde su servidor está bloqueada. Ha iniciado sesión localmente. Por favor, salga de la sesión y vuelva a intentarlo."; -$a->strings["Share content from Firefox to \$Projectname"] = "Compartir contenido desde Firefox a \$Projectname"; -$a->strings["Activate the Firefox \$Projectname provider"] = "Servicio de compartición de Firefox: activar el proveedor \$Projectname "; -$a->strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Instalación"; -$a->strings["Could not connect to database."] = "No se ha podido conectar a la base de datos."; -$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No se puede conectar con la dirección del sitio indicada. Podría tratarse de un problema de SSL o DNS."; -$a->strings["Could not create table."] = "No se puede crear la tabla."; -$a->strings["Your site database has been installed."] = "La base de datos del sitio ha sido instalada."; -$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Podría tener que importar manualmente el fichero \"install/schema_xxx.sql\" usando un cliente de base de datos."; -$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Por favor, lea el fichero \"install/INSTALL.txt\"."; -$a->strings["System check"] = "Verificación del sistema"; -$a->strings["Check again"] = "Verificar de nuevo"; -$a->strings["Database connection"] = "Conexión a la base de datos"; -$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Para instalar \$Projectname es necesario saber cómo conectar con su base de datos."; -$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Por favor, contacte con el proveedor de servicios o el administrador del sitio si tiene dudas sobre estos ajustes."; -$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de datos que especifique a continuación debe existir ya. Si no es así, por favor, créela antes de seguir."; -$a->strings["Database Server Name"] = "Nombre del servidor de base de datos"; -$a->strings["Default is 127.0.0.1"] = "De forma predeterminada es 127.0.0.1"; -$a->strings["Database Port"] = "Puerto de la base de datos"; -$a->strings["Communication port number - use 0 for default"] = "Número del puerto de comunicaciones - use 0 como valor por defecto"; -$a->strings["Database Login Name"] = "Usuario de la base de datos"; -$a->strings["Database Login Password"] = "Contraseña de acceso a la base de datos"; -$a->strings["Database Name"] = "Nombre de la base de datos"; -$a->strings["Database Type"] = "Tipo de base de datos"; -$a->strings["Site administrator email address"] = "Dirección de correo electrónico del administrador del sitio"; -$a->strings["Your account email address must match this in order to use the web admin panel."] = "Su cuenta deberá usar la misma dirección de correo electrónico para poder utilizar el panel de administración web."; -$a->strings["Website URL"] = "Dirección del sitio web"; -$a->strings["Please use SSL (https) URL if available."] = "Por favor, use SSL (https) si está disponible."; -$a->strings["Please select a default timezone for your website"] = "Por favor, selecciones la zona horaria por defecto de su sitio web"; -$a->strings["Site settings"] = "Ajustes del sitio"; -$a->strings["Could not find a command line version of PHP in the web server PATH."] = "No se puede encontrar una versión en línea de comandos de PHP en la ruta del servidor web."; -$a->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."] = "Si no tiene instalada la versión de línea de comandos de PHP en su servidor, no podrá ejecutar sondeos en segundo plano mediante cron."; -$a->strings["PHP executable path"] = "Ruta del ejecutable PHP"; -$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Introducir la ruta completa del ejecutable PHP. Puede dejar la línea en blanco para continuar la instalación."; -$a->strings["Command line PHP"] = "PHP en línea de comandos"; -$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La línea de comandos PHP de su sistema no tiene activado \"register_argc_argv\"."; -$a->strings["This is required for message delivery to work."] = "Esto es necesario para que funcione la transmisión de mensajes."; -$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; -$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La carga máxima que se le permite subir está establecida en %s. El tamaño máximo de un fichero está establecido en %s. Está permitido subir hasta un máximo de %d ficheros de una sola vez."; -$a->strings["You can adjust these settings in the servers php.ini."] = "Puede ajustar estos valores en el fichero php.ini de su servidor."; -$a->strings["PHP upload limits"] = "Límites PHP de subida"; -$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: La función \"openssl_pkey_new\" en este sistema no es capaz de general claves de cifrado."; -$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Si está en un servidor Windows, por favor, lea \"http://www.php.net/manual/en/openssl.installation.php\"."; -$a->strings["Generate encryption keys"] = "Generar claves de cifrado"; -$a->strings["libCurl PHP module"] = "módulo libCurl PHP"; -$a->strings["GD graphics PHP module"] = "módulo PHP GD graphics"; -$a->strings["OpenSSL PHP module"] = "módulo PHP OpenSSL"; -$a->strings["mysqli or postgres PHP module"] = "módulo PHP mysqli o postgres"; -$a->strings["mb_string PHP module"] = "módulo PHP mb_string"; -$a->strings["mcrypt PHP module"] = "módulo PHP mcrypt "; -$a->strings["xml PHP module"] = "módulo PHP xml"; -$a->strings["Apache mod_rewrite module"] = "módulo Apache mod_rewrite "; -$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: se necesita el módulo del servidor web Apache mod-rewrite pero no está instalado."; -$a->strings["proc_open"] = "proc_open"; -$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: se necesita proc_open pero o no está instalado o ha sido desactivado en el fichero php.ini"; -$a->strings["Error: libCURL PHP module required but not installed."] = "Error: se necesita el módulo PHP libCURL pero no está instalado."; -$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: el módulo PHP GD graphics es necesario, pero no está instalado."; -$a->strings["Error: openssl PHP module required but not installed."] = "Error: el módulo PHP openssl es necesario, pero no está instalado."; -$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: el módulo PHP mysqli o postgres es necesario pero ninguno de los dos está instalado."; -$a->strings["Error: mb_string PHP module required but not installed."] = "Error: el módulo PHP mb_string es necesario, pero no está instalado."; -$a->strings["Error: mcrypt PHP module required but not installed."] = "Error: el módulo PHP mcrypt es necesario, pero no está instalado."; -$a->strings["Error: xml PHP module required for DAV but not installed."] = "Error: el módulo PHP xml es necesario para DAV, pero no está instalado."; -$a->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."] = "El instalador web no ha podido crear un fichero llamado “.htconfig.php” en la carpeta base de su servidor."; -$a->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."] = "Esto está generalmente ligado a un problema de permisos, a causa del cual el servidor web tiene prohibido modificar ficheros en su carpeta - incluso si usted mismo tiene esos permisos."; -$a->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."] = "Al término de este procedimiento, podemos crear un fichero de texto para guardar con el nombre .htconfig.php en el directorio raíz de su instalación de Hubzilla."; -$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Como alternativa, puede dejar este procedimiento e intentar realizar una instalación manual. Lea, por favor, el fichero\"install/INSTALL.txt\" para las instrucciones."; -$a->strings[".htconfig.php is writable"] = ".htconfig.php tiene permisos de escritura"; -$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla hace uso del motor de plantillas Smarty3 para diseñar sus plantillas gráficas. Smarty3 es más rápido porque compila las plantillas de páginas directamente en PHP."; -$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Para poder guardar las plantillas compiladas, el servidor web necesita permisos para acceder al subdirectorio %s en el directorio de instalación de Hubzilla."; -$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Por favor, asegúrese de que el servidor web está siendo ejecutado por un usuario que tenga permisos de escritura sobre esta carpeta (por ejemplo, www-data)."; -$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: como medida de seguridad, debe dar al servidor web permisos de escritura solo sobre %s - no sobre el fichero de plantilla (.tpl) que contiene."; -$a->strings["%s is writable"] = "%s tiene permisos de escritura"; -$a->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"] = "Red guarda los ficheros descargados en la carpeta \"store\". El servidor web necesita tener permisos de escritura sobre esa carpeta, en el directorio de instalación."; -$a->strings["store is writable"] = "\"store\" tiene permisos de escritura"; -$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "El certificado SSL no ha podido ser validado. Corrija este problema o desactive el acceso https a este sitio."; -$a->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 su servidor soporta conexiones cifradas SSL o si permite conexiones al puerto TCP 443 (el puerto usado por el protocolo https), debe utilizar un certificado válido. No debe usar un certificado firmado por usted mismo."; -$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Se ha incorporado esta restricción para evitar que sus publicaciones públicas hagan referencia a imágenes en su propio servidor."; -$a->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 su certificado no ha sido reconocido, los miembros de otros sitios (con certificados válidos) recibirán mensajes de aviso en sus propios sitios web."; -$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Por razones de compatibilidad (sobre el conjunto de la red, no solo sobre su propio sitio), debemos insistir en estos requisitos."; -$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Existen varias Autoridades de Certificación que le pueden proporcionar certificados válidos."; -$a->strings["SSL certificate validation"] = "validación del certificado SSL"; -$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "No se pueden reescribir las direcciones web en .htaccess. Compruebe la configuración de su servidor:"; -$a->strings["Url rewrite is working"] = "La reescritura de las direcciones funciona correctamente"; -$a->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."] = "El fichero de configuración de la base de datos .htconfig.php no se ha podido modificar. Por favor, copie el texto generado en un fichero con ese nombre en el directorio raíz de su servidor."; -$a->strings["Errors encountered creating database tables."] = "Se han encontrado errores al crear las tablas de la base de datos."; -$a->strings["<h1>What next</h1>"] = "<h1>Siguiente paso</h1>"; -$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Debe crear [manualmente] una tarea programada para el \"poller\"."; -$a->strings["Files: shared with me"] = "Ficheros: compartidos conmigo"; -$a->strings["NEW"] = "NUEVO"; -$a->strings["Remove all files"] = "Eliminar todos los ficheros"; -$a->strings["Remove this file"] = "Eliminar este fichero"; +$a->strings["No service class restrictions found."] = "No se han encontrado restricciones sobre esta clase de servicio."; $a->strings["Version %s"] = "Versión %s"; $a->strings["Installed plugins/addons/apps:"] = "Extensiones/Aplicaciones instaladas:"; $a->strings["No installed plugins/addons/apps"] = "Extensiones/Aplicaciones no instaladas:"; @@ -2084,80 +2098,76 @@ $a->strings["\$projectname issues"] = "Problemas en \$projectname"; $a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Sugerencias, elogios, etc - por favor, un correo electrónico a \"redmatrix\" en librelist - punto com"; $a->strings["Site Administrators"] = "Administradores del sitio"; $a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "No hay sugerencias disponibles. Si es un sitio nuevo, espere 24 horas y pruebe de nuevo."; -$a->strings["Profile not found."] = "Perfil no encontrado."; -$a->strings["Profile deleted."] = "Perfil eliminado."; -$a->strings["Profile-"] = "Perfil-"; -$a->strings["New profile created."] = "El nuevo perfil ha sido creado."; -$a->strings["Profile unavailable to clone."] = "Perfil no disponible para clonar."; -$a->strings["Profile unavailable to export."] = "Perfil no disponible para exportar."; -$a->strings["Profile Name is required."] = "Se necesita el nombre del perfil."; -$a->strings["Marital Status"] = "Estado civil"; -$a->strings["Romantic Partner"] = "Pareja sentimental"; -$a->strings["Likes"] = "Me gusta"; -$a->strings["Dislikes"] = "No me gusta"; -$a->strings["Work/Employment"] = "Trabajo:"; -$a->strings["Religion"] = "Religión"; -$a->strings["Political Views"] = "Ideas políticas"; -$a->strings["Sexual Preference"] = "Preferencia sexual"; -$a->strings["Homepage"] = "Página personal"; -$a->strings["Interests"] = "Intereses"; -$a->strings["Profile updated."] = "Perfil actualizado."; -$a->strings["Hide your contact/friend list from viewers of this profile?"] = "¿Ocultar su lista de contactos a los visitantes de este perfil?"; -$a->strings["Edit Profile Details"] = "Modificar los detalles de este perfil"; -$a->strings["View this profile"] = "Ver este perfil"; -$a->strings["Change Profile Photo"] = "Cambiar la foto del perfil"; -$a->strings["Create a new profile using these settings"] = "Crear un nuevo perfil usando estos ajustes"; -$a->strings["Clone this profile"] = "Clonar este perfil"; -$a->strings["Delete this profile"] = "Eliminar este perfil"; -$a->strings["Import profile from file"] = "Importar perfil desde un fichero"; -$a->strings["Export profile to file"] = "Exportar perfil a un fichero"; -$a->strings["Profile Name:"] = "Nombre del perfil:"; -$a->strings["Your Full Name:"] = "Su nombre completo:"; -$a->strings["Title/Description:"] = "Título/Descripción:"; -$a->strings["Your Gender:"] = "Su género:"; -$a->strings["Birthday :"] = "Cumpleaños:"; -$a->strings["Street Address:"] = "Calle:"; -$a->strings["Locality/City:"] = "Ciudad:"; -$a->strings["Postal/Zip Code:"] = "Código postal:"; -$a->strings["Country:"] = "País:"; -$a->strings["Region/State:"] = "Región/Estado:"; -$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Estado sentimental:"; -$a->strings["Who: (if applicable)"] = "Quién: (si es aplicable)"; -$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Por ejemplo: ana123, María González, sara@ejemplo.com"; -$a->strings["Since [date]:"] = "Desde [fecha]:"; -$a->strings["Homepage URL:"] = "Dirección de la página personal:"; -$a->strings["Religious Views:"] = "Creencias religiosas:"; -$a->strings["Keywords:"] = "Palabras clave:"; -$a->strings["Example: fishing photography software"] = "Por ejemplo: software de fotografía submarina"; -$a->strings["Used in directory listings"] = "Visible en el directorio público del canal"; -$a->strings["Tell us about yourself..."] = "Háblenos de usted..."; -$a->strings["Hobbies/Interests"] = "Aficiones/Intereses"; -$a->strings["Contact information and Social Networks"] = "Información de contacto y redes sociales"; -$a->strings["My other channels"] = "Mis otros canales"; -$a->strings["Musical interests"] = "Preferencias musicales"; -$a->strings["Books, literature"] = "Libros, literatura"; -$a->strings["Television"] = "Televisión"; -$a->strings["Film/dance/culture/entertainment"] = "Cine/danza/cultura/entretenimiento"; -$a->strings["Love/romance"] = "Vida sentimental/amorosa"; -$a->strings["Work/employment"] = "Trabajo"; -$a->strings["School/education"] = "Estudios"; -$a->strings["This is your default profile."] = "Este es su perfil principal."; -$a->strings["Age: "] = "Edad:"; -$a->strings["Edit/Manage Profiles"] = "Modificar/gestionar perfiles"; -$a->strings["Add profile things"] = "Añadir cosas al perfil"; -$a->strings["Include desirable objects in your profile"] = "Añadir objetos interesantes en su perfil"; +$a->strings["Calendar entries imported."] = "Entradas de calendario importadas."; +$a->strings["No calendar entries found."] = "No se han encontrado entradas de calendario."; +$a->strings["Event can not end before it has started."] = "Un evento no puede terminar antes de que haya comenzado."; +$a->strings["Unable to generate preview."] = "No se puede crear la vista previa."; +$a->strings["Event title and start time are required."] = "Se requieren el título del evento y su hora de inicio."; +$a->strings["Event not found."] = "Evento no encontrado."; +$a->strings["Edit event titel"] = "Editar el título del evento"; +$a->strings["Event titel"] = "Título del evento"; +$a->strings["Categories (comma-separated list)"] = "Categorías (lista separada por comas)"; +$a->strings["Edit Category"] = "Editar la categoría"; +$a->strings["Category"] = "Categoría"; +$a->strings["Edit start date and time"] = "Modificar la fecha y hora de comienzo"; +$a->strings["Start date and time"] = "Fecha y hora de comienzo"; +$a->strings["Finish date and time are not known or not relevant"] = "La fecha y hora de terminación no se conocen o no son relevantes"; +$a->strings["Edit finish date and time"] = "Modificar la fecha y hora de terminación"; +$a->strings["Finish date and time"] = "Fecha y hora de terminación"; +$a->strings["Adjust for viewer timezone"] = "Ajustar para obtener el visor de zona horaria"; +$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales."; +$a->strings["Edit Description"] = "Editar la descripción"; +$a->strings["Edit Location"] = "Modificar la localización"; +$a->strings["Share this event"] = "Compartir este evento"; +$a->strings["Advanced Options"] = "Opciones avanzadas"; +$a->strings["l, F j"] = "l j F"; +$a->strings["Edit event"] = "Editar evento"; +$a->strings["Delete event"] = "Borrar evento"; +$a->strings["calendar"] = "calendario"; +$a->strings["Edit Event"] = "Editar el evento"; +$a->strings["Create Event"] = "Crear un evento"; +$a->strings["Today"] = "Hoy"; +$a->strings["Event removed"] = "Evento borrado"; +$a->strings["Failed to remove event"] = "Error al eliminar el evento"; $a->strings["Invalid profile identifier."] = "Identificador del perfil no válido"; $a->strings["Profile Visibility Editor"] = "Editor de visibilidad del perfil"; $a->strings["Click on a contact to add or remove."] = "Pulsar en un contacto para añadirlo o eliminarlo."; $a->strings["Visible To"] = "Visible para"; -$a->strings["Select a bookmark folder"] = "Seleccionar una carpeta de marcadores"; -$a->strings["Save Bookmark"] = "Guardar marcador"; -$a->strings["URL of bookmark"] = "Dirección del marcador"; -$a->strings["Or enter new bookmark folder name"] = "O introduzca un nuevo nombre para la carpeta de marcadores"; -$a->strings["Import completed"] = "Importación completada"; -$a->strings["Import Items"] = "Importar elementos"; -$a->strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación."; +$a->strings["Unable to create element."] = "Imposible crear el elemento."; +$a->strings["Unable to update menu element."] = "No es posible actualizar el elemento del menú."; +$a->strings["Unable to add menu element."] = "No es posible añadir el elemento al menú"; +$a->strings["Menu Item Permissions"] = "Permisos del elemento del menú"; +$a->strings["Link Name"] = "Nombre del enlace"; +$a->strings["Link or Submenu Target"] = "Destino del enlace o submenú"; +$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Introducir la dirección del enlace o seleccionar el nombre de un submenú"; +$a->strings["Use magic-auth if available"] = "Usar la autenticación mágica si está disponible"; +$a->strings["Open link in new window"] = "Abrir el enlace en una nueva ventana"; +$a->strings["Order in list"] = "Orden en la lista"; +$a->strings["Higher numbers will sink to bottom of listing"] = "Los números más altos irán al final de la lista"; +$a->strings["Submit and finish"] = "Enviar y terminar"; +$a->strings["Submit and continue"] = "Enviar y continuar"; +$a->strings["Menu:"] = "Menú:"; +$a->strings["Link Target"] = "Destino del enlace"; +$a->strings["Edit menu"] = "Editar menú"; +$a->strings["Edit element"] = "Editar el elemento"; +$a->strings["Drop element"] = "Eliminar el elemento"; +$a->strings["New element"] = "Nuevo elemento"; +$a->strings["Edit this menu container"] = "Modificar el contenedor del menú"; +$a->strings["Add menu element"] = "Añadir un elemento al menú"; +$a->strings["Delete this menu item"] = "Eliminar este elemento del menú"; +$a->strings["Edit this menu item"] = "Modificar este elemento del menú"; +$a->strings["Menu item not found."] = "Este elemento del menú no se ha encontrado"; +$a->strings["Menu item deleted."] = "Este elemento del menú ha sido borrado"; +$a->strings["Menu item could not be deleted."] = "Este elemento del menú no puede ser borrado."; +$a->strings["Edit Menu Element"] = "Editar elemento del menú"; +$a->strings["Link text"] = "Texto del enlace"; $a->strings["Who likes me?"] = "¿Quién me ha puesto \"Me gusta\"?"; +$a->strings["Files: shared with me"] = "Ficheros: compartidos conmigo"; +$a->strings["NEW"] = "NUEVO"; +$a->strings["Remove all files"] = "Eliminar todos los ficheros"; +$a->strings["Remove this file"] = "Eliminar este fichero"; +$a->strings["No connections."] = "Sin conexiones."; +$a->strings["Visit %s's profile [%s]"] = "Visitar el perfil de %s [%s]"; $a->strings["Focus (Hubzilla default)"] = "Focus (predefinido)"; $a->strings["Theme settings"] = "Ajustes del tema"; $a->strings["Select scheme"] = "Elegir un esquema"; diff --git a/view/it/hmessages.po b/view/it/hmessages.po index 2b9db864e..a341ebe43 100644 --- a/view/it/hmessages.po +++ b/view/it/hmessages.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Redmatrix\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-20 00:03-0800\n" -"PO-Revision-Date: 2015-11-24 10:52+0000\n" +"POT-Creation-Date: 2015-11-27 00:03-0800\n" +"PO-Revision-Date: 2015-11-30 15:22+0000\n" "Last-Translator: tuscanhobbit <pynolo@tarine.net>\n" "Language-Team: Italian (http://www.transifex.com/Friendica/red-matrix/language/it/)\n" "MIME-Version: 1.0\n" @@ -19,24 +19,114 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../include/Import/import_diaspora.php:17 -msgid "No username found in import file." -msgstr "Impossibile trovare il nome utente nel file da importare." +#: ../../include/Contact.php:101 ../../include/identity.php:953 +#: ../../include/widgets.php:137 ../../include/widgets.php:175 +#: ../../include/conversation.php:953 ../../mod/match.php:64 +#: ../../mod/directory.php:318 ../../mod/suggest.php:52 +msgid "Connect" +msgstr "Aggiungi" + +#: ../../include/Contact.php:118 +msgid "New window" +msgstr "Nuova finestra" + +#: ../../include/Contact.php:119 +msgid "Open the selected location in a different window or browser tab" +msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra" + +#: ../../include/Contact.php:237 +#, php-format +msgid "User '%s' deleted" +msgstr "Utente '%s' eliminato" + +#: ../../include/chat.php:23 +msgid "Missing room name" +msgstr "Chat senza nome" + +#: ../../include/chat.php:32 +msgid "Duplicate room name" +msgstr "Il nome della chat è duplicato" + +#: ../../include/chat.php:82 ../../include/chat.php:90 +msgid "Invalid room specifier." +msgstr "Il nome della chat non è valido." + +#: ../../include/chat.php:122 +msgid "Room not found." +msgstr "Chat non trovata." + +#: ../../include/chat.php:133 ../../include/items.php:4396 +#: ../../include/attach.php:140 ../../include/attach.php:188 +#: ../../include/attach.php:251 ../../include/attach.php:265 +#: ../../include/attach.php:272 ../../include/attach.php:337 +#: ../../include/attach.php:351 ../../include/attach.php:358 +#: ../../include/attach.php:436 ../../include/attach.php:884 +#: ../../include/attach.php:955 ../../include/attach.php:1107 +#: ../../include/photos.php:29 ../../mod/filestorage.php:18 +#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88 +#: ../../mod/filestorage.php:115 ../../mod/group.php:9 ../../mod/item.php:205 +#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/common.php:35 +#: ../../mod/achievements.php:30 ../../mod/rate.php:111 +#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/id.php:71 +#: ../../mod/like.php:177 ../../mod/page.php:31 ../../mod/page.php:86 +#: ../../mod/mood.php:112 ../../mod/new_channel.php:68 +#: ../../mod/new_channel.php:99 ../../mod/setup.php:227 +#: ../../mod/bookmarks.php:48 ../../mod/poke.php:133 +#: ../../mod/profiles.php:198 ../../mod/profiles.php:584 +#: ../../mod/connedit.php:352 ../../mod/editwebpage.php:64 +#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101 +#: ../../mod/editwebpage.php:125 ../../mod/profile.php:64 +#: ../../mod/profile.php:72 ../../mod/api.php:26 ../../mod/api.php:31 +#: ../../mod/fsuggest.php:78 ../../mod/sources.php:66 +#: ../../mod/notifications.php:66 ../../mod/photos.php:70 +#: ../../mod/profile_photo.php:341 ../../mod/profile_photo.php:354 +#: ../../mod/thing.php:271 ../../mod/thing.php:291 ../../mod/thing.php:328 +#: ../../mod/editblock.php:65 ../../mod/network.php:12 +#: ../../mod/pdledit.php:21 ../../mod/register.php:72 +#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 +#: ../../mod/settings.php:568 ../../mod/webpages.php:69 +#: ../../mod/appman.php:66 ../../mod/layouts.php:69 ../../mod/layouts.php:76 +#: ../../mod/layouts.php:87 ../../mod/locs.php:83 ../../mod/mail.php:118 +#: ../../mod/regmod.php:17 ../../mod/channel.php:100 ../../mod/channel.php:214 +#: ../../mod/channel.php:254 ../../mod/invite.php:13 ../../mod/invite.php:104 +#: ../../mod/editpost.php:13 ../../mod/chat.php:94 ../../mod/chat.php:99 +#: ../../mod/viewsrc.php:14 ../../mod/authtest.php:13 +#: ../../mod/connections.php:29 ../../mod/manage.php:6 ../../mod/menu.php:74 +#: ../../mod/service_limits.php:7 ../../mod/suggest.php:26 +#: ../../mod/events.php:260 ../../mod/message.php:16 ../../mod/block.php:22 +#: ../../mod/block.php:72 ../../mod/mitem.php:111 ../../mod/sharedwithme.php:7 +#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27 +#: ../../index.php:182 ../../index.php:365 +msgid "Permission denied." +msgstr "Permesso negato." + +#: ../../include/chat.php:143 +msgid "Room is full" +msgstr "La chat è al completo" -#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44 +#: ../../include/import.php:23 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita." + +#: ../../include/import.php:44 ../../include/Import/import_diaspora.php:42 msgid "Unable to create a unique channel address. Import failed." msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito." -#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 -msgid "Import completed." -msgstr "L'importazione è terminata con successo." +#: ../../include/import.php:70 +msgid "Channel clone failed. Import failed." +msgstr "Impossibile clonare il canale. L'importazione è fallita." + +#: ../../include/import.php:80 ../../mod/import.php:139 +msgid "Cloned channel not found. Import failed." +msgstr "Impossibile trovare il canale clonato. L'importazione è fallita." #: ../../include/RedDAV/RedBrowser.php:107 #: ../../include/RedDAV/RedBrowser.php:239 msgid "parent" msgstr "cartella superiore" -#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2546 +#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2582 msgid "Collection" msgstr "Cartella" @@ -60,15 +150,15 @@ msgstr "Appuntamenti ricevuti" msgid "Schedule Outbox" msgstr "Appuntamenti inviati" -#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1026 -#: ../../include/apps.php:360 ../../include/apps.php:415 -#: ../../include/widgets.php:1317 ../../mod/photos.php:759 +#: ../../include/RedDAV/RedBrowser.php:164 ../../include/widgets.php:1317 +#: ../../include/conversation.php:1027 ../../include/apps.php:360 +#: ../../include/apps.php:415 ../../mod/photos.php:759 #: ../../mod/photos.php:1198 msgid "Unknown" msgstr "Sconosciuto" -#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1628 -#: ../../include/apps.php:135 ../../include/nav.php:93 +#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1629 +#: ../../include/nav.php:93 ../../include/apps.php:135 #: ../../mod/fbrowser.php:114 msgid "Files" msgstr "Archivio file" @@ -82,21 +172,21 @@ msgid "Shared" msgstr "Condiviso" #: ../../include/RedDAV/RedBrowser.php:230 -#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/layouts.php:175 -#: ../../mod/menu.php:114 ../../mod/new_channel.php:121 -#: ../../mod/webpages.php:180 ../../mod/blocks.php:152 +#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152 +#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180 +#: ../../mod/layouts.php:175 ../../mod/menu.php:114 msgid "Create" msgstr "Crea" #: ../../include/RedDAV/RedBrowser.php:231 #: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329 #: ../../mod/photos.php:784 ../../mod/photos.php:1317 -#: ../../mod/profile_photo.php:450 +#: ../../mod/profile_photo.php:453 msgid "Upload" msgstr "Carica" #: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974 -#: ../../mod/settings.php:586 ../../mod/settings.php:612 +#: ../../mod/settings.php:588 ../../mod/settings.php:614 #: ../../mod/sharedwithme.php:95 msgid "Name" msgstr "Nome" @@ -105,7 +195,7 @@ msgstr "Nome" msgid "Type" msgstr "Tipo" -#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1247 +#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1248 #: ../../mod/sharedwithme.php:97 msgid "Size" msgstr "Dimensione" @@ -116,23 +206,24 @@ msgstr "Ultima modifica" #: ../../include/RedDAV/RedBrowser.php:240 ../../include/menu.php:108 #: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36 -#: ../../include/apps.php:259 ../../include/ItemObject.php:100 -#: ../../mod/layouts.php:183 ../../mod/editblock.php:135 -#: ../../mod/editpost.php:112 ../../mod/menu.php:108 -#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257 -#: ../../mod/settings.php:646 ../../mod/connections.php:235 +#: ../../include/ItemObject.php:100 ../../include/apps.php:259 +#: ../../mod/blocks.php:153 ../../mod/editwebpage.php:176 +#: ../../mod/thing.php:257 ../../mod/editblock.php:135 +#: ../../mod/editlayout.php:134 ../../mod/settings.php:648 +#: ../../mod/webpages.php:181 ../../mod/layouts.php:183 +#: ../../mod/editpost.php:112 ../../mod/connections.php:235 #: ../../mod/connections.php:248 ../../mod/connections.php:267 -#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176 +#: ../../mod/menu.php:108 msgid "Edit" msgstr "Modifica" #: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657 -#: ../../include/apps.php:260 ../../include/ItemObject.php:120 -#: ../../mod/connedit.php:551 ../../mod/photos.php:1129 -#: ../../mod/editblock.php:181 ../../mod/admin.php:809 ../../mod/admin.php:968 -#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258 -#: ../../mod/settings.php:647 ../../mod/editlayout.php:179 -#: ../../mod/editwebpage.php:223 ../../mod/group.php:173 +#: ../../include/ItemObject.php:120 ../../include/apps.php:260 +#: ../../mod/group.php:173 ../../mod/blocks.php:155 ../../mod/connedit.php:551 +#: ../../mod/editwebpage.php:223 ../../mod/photos.php:1129 +#: ../../mod/thing.php:258 ../../mod/editblock.php:181 ../../mod/admin.php:809 +#: ../../mod/admin.php:968 ../../mod/editlayout.php:179 +#: ../../mod/settings.php:649 ../../mod/webpages.php:183 msgid "Delete" msgstr "Elimina" @@ -158,292 +249,1319 @@ msgstr "Nuova cartella" msgid "Upload file" msgstr "Carica un file" -#: ../../include/permissions.php:26 -msgid "Can view my normal stream and posts" -msgstr "Può vedere i miei contenuti e i post normali" +#: ../../include/js_strings.php:5 +msgid "Delete this item?" +msgstr "Eliminare questo elemento?" -#: ../../include/permissions.php:27 -msgid "Can view my default channel profile" -msgstr "Può vedere il profilo predefinito del canale" +#: ../../include/js_strings.php:6 ../../include/ItemObject.php:696 +#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 +msgid "Comment" +msgstr "Commento" -#: ../../include/permissions.php:28 -msgid "Can view my connections" -msgstr "Può vedere i miei contatti" +#: ../../include/js_strings.php:7 ../../include/ItemObject.php:413 +msgid "[+] show all" +msgstr "[+] mostra tutto" -#: ../../include/permissions.php:29 -msgid "Can view my file storage and photos" -msgstr "Può vedere il mio archivio file e foto" +#: ../../include/js_strings.php:8 +msgid "[-] show less" +msgstr "[-] riduci" -#: ../../include/permissions.php:30 -msgid "Can view my webpages" -msgstr "Può vedere le mie pagine web" +#: ../../include/js_strings.php:9 +msgid "[+] expand" +msgstr "[+] mostra tutto" -#: ../../include/permissions.php:33 -msgid "Can send me their channel stream and posts" -msgstr "È tra i canali che seguo" +#: ../../include/js_strings.php:10 +msgid "[-] collapse" +msgstr "[-] riduci" -#: ../../include/permissions.php:34 -msgid "Can post on my channel page (\"wall\")" -msgstr "Può scrivere sulla bacheca del mio canale" +#: ../../include/js_strings.php:11 +msgid "Password too short" +msgstr "Password troppo corta" -#: ../../include/permissions.php:35 -msgid "Can comment on or like my posts" -msgstr "Può commentare o aggiungere \"mi piace\" ai miei post" +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" +msgstr "Le password non corrispondono" -#: ../../include/permissions.php:36 -msgid "Can send me private mail messages" -msgstr "Può inviarmi messaggi privati" +#: ../../include/js_strings.php:13 ../../mod/photos.php:41 +msgid "everybody" +msgstr "tutti" -#: ../../include/permissions.php:37 -msgid "Can like/dislike stuff" -msgstr "Può aggiungere \"mi piace\" a tutto il resto" +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" +msgstr "Parola chiave per decifrare" -#: ../../include/permissions.php:37 -msgid "Profiles and things other than posts/comments" -msgstr "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo" +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" +msgstr "Suggerimento per la parola chiave" -#: ../../include/permissions.php:39 -msgid "Can forward to all my channel contacts via post @mentions" -msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione" +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." +msgstr "Nota: i permessi sono stati modificati ma non ancora salvati." -#: ../../include/permissions.php:39 -msgid "Advanced - useful for creating group forum channels" -msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione" +#: ../../include/js_strings.php:17 +msgid "close all" +msgstr "chiudi tutto" -#: ../../include/permissions.php:40 -msgid "Can chat with me (when available)" -msgstr "Può aprire una chat con me (se disponibile)" +#: ../../include/js_strings.php:18 +msgid "Nothing new here" +msgstr "Niente di nuovo qui" -#: ../../include/permissions.php:41 -msgid "Can write to my file storage and photos" -msgstr "Può modificare il mio archivio file e foto" +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" +msgstr "Valuta questo canale (visibile a tutti)" -#: ../../include/permissions.php:42 -msgid "Can edit my webpages" -msgstr "Può modificare le mie pagine web" +#: ../../include/js_strings.php:20 ../../mod/rate.php:157 +#: ../../mod/connedit.php:694 +msgid "Rating" +msgstr "Valutazioni" -#: ../../include/permissions.php:44 -msgid "Can source my public posts in derived channels" -msgstr "Può usare i miei post pubblici per creare canali derivati" +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" +msgstr "Descrizione (facoltativa)" -#: ../../include/permissions.php:44 -msgid "Somewhat advanced - very useful in open communities" -msgstr "Piuttosto avanzato - molto utile nelle comunità aperte" +#: ../../include/js_strings.php:22 ../../include/widgets.php:676 +#: ../../include/ItemObject.php:697 ../../mod/filestorage.php:156 +#: ../../mod/group.php:81 ../../mod/connect.php:93 ../../mod/rate.php:168 +#: ../../mod/mood.php:135 ../../mod/setup.php:331 ../../mod/setup.php:371 +#: ../../mod/pconfig.php:108 ../../mod/poke.php:171 ../../mod/profiles.php:675 +#: ../../mod/connedit.php:715 ../../mod/fsuggest.php:108 +#: ../../mod/sources.php:104 ../../mod/sources.php:138 +#: ../../mod/import.php:527 ../../mod/photos.php:637 ../../mod/photos.php:1008 +#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/thing.php:313 +#: ../../mod/thing.php:359 ../../mod/import_items.php:122 +#: ../../mod/pdledit.php:58 ../../mod/admin.php:435 ../../mod/admin.php:802 +#: ../../mod/admin.php:966 ../../mod/admin.php:1103 ../../mod/admin.php:1297 +#: ../../mod/admin.php:1382 ../../mod/settings.php:586 +#: ../../mod/settings.php:698 ../../mod/settings.php:726 +#: ../../mod/settings.php:749 ../../mod/settings.php:834 +#: ../../mod/settings.php:1023 ../../mod/appman.php:99 ../../mod/locs.php:116 +#: ../../mod/mail.php:371 ../../mod/xchan.php:11 ../../mod/invite.php:142 +#: ../../mod/chat.php:184 ../../mod/chat.php:213 ../../mod/events.php:476 +#: ../../mod/events.php:673 ../../mod/mitem.php:231 +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Submit" +msgstr "Salva" -#: ../../include/permissions.php:46 -msgid "Can administer my channel resources" -msgstr "Può amministrare i contenuti del mio canale" +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" +msgstr "Inserisci l'URL di un link" -#: ../../include/permissions.php:46 -msgid "" -"Extremely advanced. Leave this alone unless you know what you are doing" -msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri" +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" +msgstr "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?" -#: ../../include/permissions.php:867 -msgid "Social Networking" -msgstr "Social network" +#: ../../include/js_strings.php:25 ../../mod/pubsites.php:28 +#: ../../mod/profiles.php:464 ../../mod/events.php:467 +msgid "Location" +msgstr "Posizione geografica" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Mostly Public" -msgstr "Prevalentemente pubblico" +#: ../../include/js_strings.php:27 +msgid "timeago.prefixAgo" +msgstr "timeago.prefixAgo" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Restricted" -msgstr "Con restrizioni" +#: ../../include/js_strings.php:28 +msgid "timeago.prefixFromNow" +msgstr "timeago.prefixFromNow" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -msgid "Private" -msgstr "Privato" +#: ../../include/js_strings.php:29 +msgid "ago" +msgstr "fa" -#: ../../include/permissions.php:868 -msgid "Community Forum" -msgstr "Forum di discussione" +#: ../../include/js_strings.php:30 +msgid "from now" +msgstr "da adesso" -#: ../../include/permissions.php:869 -msgid "Feed Republish" -msgstr "Aggregatore di feed esterni" +#: ../../include/js_strings.php:31 +msgid "less than a minute" +msgstr "meno di un minuto" -#: ../../include/permissions.php:870 -msgid "Special Purpose" -msgstr "Per finalità speciali" +#: ../../include/js_strings.php:32 +msgid "about a minute" +msgstr "circa un minuto" -#: ../../include/permissions.php:870 -msgid "Celebrity/Soapbox" -msgstr "Pagina per fan" +#: ../../include/js_strings.php:33 +#, php-format +msgid "%d minutes" +msgstr "%d minuti" -#: ../../include/permissions.php:870 -msgid "Group Repository" -msgstr "Repository di gruppo" +#: ../../include/js_strings.php:34 +msgid "about an hour" +msgstr "circa un’ora" -#: ../../include/permissions.php:871 ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 -#: ../../include/profile_selectors.php:61 -#: ../../include/profile_selectors.php:97 -msgid "Other" -msgstr "Altro" +#: ../../include/js_strings.php:35 +#, php-format +msgid "about %d hours" +msgstr "circa %d ore" -#: ../../include/permissions.php:871 -msgid "Custom/Expert Mode" -msgstr "Personalizzazione per esperti" +#: ../../include/js_strings.php:36 +msgid "a day" +msgstr "un giorno" -#: ../../include/chat.php:23 -msgid "Missing room name" -msgstr "Chat senza nome" +#: ../../include/js_strings.php:37 +#, php-format +msgid "%d days" +msgstr "%d giorni" -#: ../../include/chat.php:32 -msgid "Duplicate room name" -msgstr "Il nome della chat è duplicato" +#: ../../include/js_strings.php:38 +msgid "about a month" +msgstr "circa un mese" -#: ../../include/chat.php:82 ../../include/chat.php:90 -msgid "Invalid room specifier." -msgstr "Il nome della chat non è valido." +#: ../../include/js_strings.php:39 +#, php-format +msgid "%d months" +msgstr "%d mesi" -#: ../../include/chat.php:122 -msgid "Room not found." -msgstr "Chat non trovata." +#: ../../include/js_strings.php:40 +msgid "about a year" +msgstr "circa un anno" -#: ../../include/chat.php:133 ../../include/items.php:4396 -#: ../../include/photos.php:29 ../../include/attach.php:140 -#: ../../include/attach.php:188 ../../include/attach.php:251 -#: ../../include/attach.php:265 ../../include/attach.php:272 -#: ../../include/attach.php:337 ../../include/attach.php:351 -#: ../../include/attach.php:358 ../../include/attach.php:436 -#: ../../include/attach.php:884 ../../include/attach.php:955 -#: ../../include/attach.php:1107 ../../mod/achievements.php:30 -#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13 -#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72 -#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35 -#: ../../mod/mitem.php:111 ../../mod/connedit.php:352 ../../mod/mood.php:112 -#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73 -#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115 -#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87 -#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:94 -#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/photos.php:70 -#: ../../mod/editblock.php:65 ../../mod/editpost.php:13 -#: ../../mod/appman.php:66 ../../mod/profile.php:64 ../../mod/profile.php:72 -#: ../../mod/menu.php:74 ../../mod/page.php:31 ../../mod/page.php:86 -#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99 -#: ../../mod/notifications.php:66 ../../mod/pdledit.php:21 -#: ../../mod/events.php:256 ../../mod/profile_photo.php:338 -#: ../../mod/profile_photo.php:351 ../../mod/item.php:205 -#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/message.php:16 -#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69 -#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7 -#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/channel.php:100 -#: ../../mod/channel.php:214 ../../mod/channel.php:254 ../../mod/thing.php:271 -#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13 -#: ../../mod/invite.php:104 ../../mod/mail.php:118 ../../mod/viewsrc.php:14 -#: ../../mod/settings.php:566 ../../mod/manage.php:6 ../../mod/api.php:26 -#: ../../mod/api.php:31 ../../mod/connections.php:29 -#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 -#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86 -#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125 -#: ../../mod/group.php:9 ../../mod/viewconnections.php:22 -#: ../../mod/viewconnections.php:27 ../../mod/locs.php:83 -#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7 -#: ../../mod/suggest.php:26 ../../mod/profiles.php:188 -#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361 -msgid "Permission denied." -msgstr "Permesso negato." +#: ../../include/js_strings.php:41 +#, php-format +msgid "%d years" +msgstr "%d anni" -#: ../../include/chat.php:143 -msgid "Room is full" -msgstr "La chat è al completo" +#: ../../include/js_strings.php:42 +msgid " " +msgstr " " -#: ../../include/datetime.php:48 -msgid "Miscellaneous" -msgstr "Altro" +#: ../../include/js_strings.php:43 +msgid "timeago.numbers" +msgstr "timeago.numbers" -#: ../../include/datetime.php:132 -msgid "YYYY-MM-DD or MM-DD" -msgstr "AAAA-MM-GG oppure MM-GG" +#: ../../include/js_strings.php:45 ../../include/text.php:1165 +msgid "January" +msgstr "gennaio" -#: ../../include/datetime.php:235 ../../mod/appman.php:91 -#: ../../mod/appman.php:92 ../../mod/events.php:689 -msgid "Required" -msgstr "Obbligatorio" +#: ../../include/js_strings.php:46 ../../include/text.php:1165 +msgid "February" +msgstr "febbraio" -#: ../../include/datetime.php:262 ../../boot.php:2289 -msgid "never" -msgstr "mai" +#: ../../include/js_strings.php:47 ../../include/text.php:1165 +msgid "March" +msgstr "marzo" -#: ../../include/datetime.php:268 -msgid "less than a second ago" -msgstr "meno di un secondo fa" +#: ../../include/js_strings.php:48 ../../include/text.php:1165 +msgid "April" +msgstr "aprile" -#: ../../include/datetime.php:271 -msgid "year" -msgstr "anno" +#: ../../include/js_strings.php:49 +msgctxt "long" +msgid "May" +msgstr "maggio" -#: ../../include/datetime.php:271 -msgid "years" -msgstr "anni" +#: ../../include/js_strings.php:50 ../../include/text.php:1165 +msgid "June" +msgstr "giugno" -#: ../../include/datetime.php:272 +#: ../../include/js_strings.php:51 ../../include/text.php:1165 +msgid "July" +msgstr "luglio" + +#: ../../include/js_strings.php:52 ../../include/text.php:1165 +msgid "August" +msgstr "agosto" + +#: ../../include/js_strings.php:53 ../../include/text.php:1165 +msgid "September" +msgstr "settembre" + +#: ../../include/js_strings.php:54 ../../include/text.php:1165 +msgid "October" +msgstr "ottobre" + +#: ../../include/js_strings.php:55 ../../include/text.php:1165 +msgid "November" +msgstr "novembre" + +#: ../../include/js_strings.php:56 ../../include/text.php:1165 +msgid "December" +msgstr "dicembre" + +#: ../../include/js_strings.php:57 +msgid "Jan" +msgstr "Gen" + +#: ../../include/js_strings.php:58 +msgid "Feb" +msgstr "Feb" + +#: ../../include/js_strings.php:59 +msgid "Mar" +msgstr "Mar" + +#: ../../include/js_strings.php:60 +msgid "Apr" +msgstr "Apr" + +#: ../../include/js_strings.php:61 +msgctxt "short" +msgid "May" +msgstr "maggio" + +#: ../../include/js_strings.php:62 +msgid "Jun" +msgstr "Mag" + +#: ../../include/js_strings.php:63 +msgid "Jul" +msgstr "Giu" + +#: ../../include/js_strings.php:64 +msgid "Aug" +msgstr "Ago" + +#: ../../include/js_strings.php:65 +msgid "Sep" +msgstr "Set" + +#: ../../include/js_strings.php:66 +msgid "Oct" +msgstr "Ott" + +#: ../../include/js_strings.php:67 +msgid "Nov" +msgstr "Nov" + +#: ../../include/js_strings.php:68 +msgid "Dec" +msgstr "Dic" + +#: ../../include/js_strings.php:69 ../../include/text.php:1161 +msgid "Sunday" +msgstr "domenica" + +#: ../../include/js_strings.php:70 ../../include/text.php:1161 +msgid "Monday" +msgstr "lunedì" + +#: ../../include/js_strings.php:71 ../../include/text.php:1161 +msgid "Tuesday" +msgstr "martedì" + +#: ../../include/js_strings.php:72 ../../include/text.php:1161 +msgid "Wednesday" +msgstr "mercoledì" + +#: ../../include/js_strings.php:73 ../../include/text.php:1161 +msgid "Thursday" +msgstr "giovedì" + +#: ../../include/js_strings.php:74 ../../include/text.php:1161 +msgid "Friday" +msgstr "venerdì" + +#: ../../include/js_strings.php:75 ../../include/text.php:1161 +msgid "Saturday" +msgstr "sabato" + +#: ../../include/js_strings.php:76 +msgid "Sun" +msgstr "Dom" + +#: ../../include/js_strings.php:77 +msgid "Mon" +msgstr "Lun" + +#: ../../include/js_strings.php:78 +msgid "Tue" +msgstr "Mar" + +#: ../../include/js_strings.php:79 +msgid "Wed" +msgstr "Mer" + +#: ../../include/js_strings.php:80 +msgid "Thu" +msgstr "Gio" + +#: ../../include/js_strings.php:81 +msgid "Fri" +msgstr "Ven" + +#: ../../include/js_strings.php:82 +msgid "Sat" +msgstr "Sab" + +#: ../../include/js_strings.php:83 +msgctxt "calendar" +msgid "today" +msgstr "oggi" + +#: ../../include/js_strings.php:84 +msgctxt "calendar" msgid "month" msgstr "mese" -#: ../../include/datetime.php:272 -msgid "months" -msgstr "mesi" - -#: ../../include/datetime.php:273 +#: ../../include/js_strings.php:85 +msgctxt "calendar" msgid "week" msgstr "settimana" -#: ../../include/datetime.php:273 -msgid "weeks" -msgstr "settimane" - -#: ../../include/datetime.php:274 +#: ../../include/js_strings.php:86 +msgctxt "calendar" msgid "day" msgstr "giorno" -#: ../../include/datetime.php:274 -msgid "days" -msgstr "giorni" +#: ../../include/js_strings.php:87 +msgctxt "calendar" +msgid "All day" +msgstr "Tutto il giorno" -#: ../../include/datetime.php:275 -msgid "hour" -msgstr "ora" +#: ../../include/Import/import_diaspora.php:17 +msgid "No username found in import file." +msgstr "Impossibile trovare il nome utente nel file da importare." -#: ../../include/datetime.php:275 -msgid "hours" -msgstr "ore" +#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 +msgid "Import completed." +msgstr "L'importazione è terminata con successo." -#: ../../include/datetime.php:276 -msgid "minute" -msgstr "minuto" +#: ../../include/comanche.php:34 ../../mod/admin.php:351 +msgid "Default" +msgstr "Predefinito" -#: ../../include/datetime.php:276 -msgid "minutes" -msgstr "minuti" +#: ../../include/items.php:423 ../../mod/group.php:68 ../../mod/like.php:280 +#: ../../mod/dreport.php:6 ../../mod/dreport.php:45 ../../mod/subthread.php:58 +#: ../../mod/import_items.php:114 ../../mod/profperm.php:23 +#: ../../index.php:364 +msgid "Permission denied" +msgstr "Permesso negato" -#: ../../include/datetime.php:277 -msgid "second" -msgstr "secondo" +#: ../../include/items.php:1128 ../../include/items.php:1174 +msgid "(Unknown)" +msgstr "(Sconosciuto)" -#: ../../include/datetime.php:277 -msgid "seconds" -msgstr "secondi" +#: ../../include/items.php:1371 +msgid "Visible to anybody on the internet." +msgstr "Visibile a chiunque su internet." -#: ../../include/datetime.php:285 +#: ../../include/items.php:1373 +msgid "Visible to you only." +msgstr "Visibile solo a te." + +#: ../../include/items.php:1375 +msgid "Visible to anybody in this network." +msgstr "Visibile a tutti su questa rete." + +#: ../../include/items.php:1377 +msgid "Visible to anybody authenticated." +msgstr "Visibile a chiunque sia autenticato." + +#: ../../include/items.php:1379 #, php-format -msgctxt "e.g. 22 hours ago, 1 minute ago" -msgid "%1$d %2$s ago" -msgstr "%1$d %2$s fa" +msgid "Visible to anybody on %s." +msgstr "Visibile a tutti su %s." -#: ../../include/datetime.php:519 +#: ../../include/items.php:1381 +msgid "Visible to all connections." +msgstr "Visibile a tutti coloro che ti seguono." + +#: ../../include/items.php:1383 +msgid "Visible to approved connections." +msgstr "Visibile ai contatti approvati." + +#: ../../include/items.php:1385 +msgid "Visible to specific connections." +msgstr "Visibile ad alcuni contatti scelti." + +#: ../../include/items.php:4317 ../../mod/filestorage.php:27 +#: ../../mod/thing.php:86 ../../mod/admin.php:127 ../../mod/admin.php:1005 +#: ../../mod/admin.php:1210 ../../mod/display.php:36 ../../mod/viewsrc.php:20 +msgid "Item not found." +msgstr "Elemento non trovato." + +#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137 +msgid "Collection not found." +msgstr "Insieme di canali non trovato." + +#: ../../include/items.php:4842 +msgid "Collection is empty." +msgstr "L'insieme di canali è vuoto." + +#: ../../include/items.php:4849 #, php-format -msgid "%1$s's birthday" -msgstr "Compleanno di %1$s" +msgid "Collection: %s" +msgstr "Insieme: %s" -#: ../../include/datetime.php:520 +#: ../../include/items.php:4859 ../../mod/connedit.php:683 #, php-format -msgid "Happy Birthday %1$s" -msgstr "Buon compleanno %1$s" +msgid "Connection: %s" +msgstr "Contatto: %s" + +#: ../../include/items.php:4861 +msgid "Connection not found." +msgstr "Contatto non trovato." + +#: ../../include/message.php:18 +msgid "No recipient provided." +msgstr "Devi scegliere un destinatario." + +#: ../../include/message.php:23 +msgid "[no subject]" +msgstr "[nessun titolo]" + +#: ../../include/message.php:43 +msgid "Unable to determine sender." +msgstr "Impossibile determinare il mittente." + +#: ../../include/message.php:218 +msgid "Stored post could not be verified." +msgstr "Non è stato possibile verificare il post." + +#: ../../include/network.php:630 +msgid "view full size" +msgstr "guarda nelle dimensioni reali" + +#: ../../include/network.php:1608 ../../include/enotify.php:57 +msgid "$Projectname Notification" +msgstr "Notifica $Projectname" + +#: ../../include/network.php:1609 ../../include/enotify.php:58 +msgid "$projectname" +msgstr "$projectname" + +#: ../../include/network.php:1611 ../../include/enotify.php:60 +msgid "Thank You," +msgstr "Grazie," + +#: ../../include/network.php:1613 ../../include/enotify.php:62 +#, php-format +msgid "%s Administrator" +msgstr "L'amministratore di %s" + +#: ../../include/network.php:1655 ../../include/account.php:316 +#: ../../include/account.php:343 ../../include/account.php:403 +msgid "Administrator" +msgstr "Amministratore" + +#: ../../include/network.php:1669 +msgid "No Subject" +msgstr "Nessun titolo" + +#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 +#: ../../include/text.php:1392 +msgid "l F d, Y \\@ g:i A" +msgstr "l d F Y \\@ G:i" + +#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 +#: ../../include/text.php:1396 +msgid "Starts:" +msgstr "Inizio:" + +#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 +#: ../../include/text.php:1400 +msgid "Finishes:" +msgstr "Fine:" + +#: ../../include/event.php:52 ../../include/identity.php:1004 +#: ../../include/bb2diaspora.php:493 ../../include/text.php:1407 +#: ../../mod/directory.php:304 +msgid "Location:" +msgstr "Luogo:" + +#: ../../include/event.php:768 +msgid "This event has been added to your calendar." +msgstr "Questo evento è stato aggiunto al tuo calendario" + +#: ../../include/event.php:904 ../../include/conversation.php:123 +#: ../../include/text.php:1919 ../../mod/tagger.php:47 ../../mod/like.php:363 +#: ../../mod/events.php:249 +msgid "event" +msgstr "l'evento" + +#: ../../include/event.php:967 +msgid "Not specified" +msgstr "Non specificato" + +#: ../../include/event.php:968 +msgid "Needs Action" +msgstr "Necessita di un intervento" + +#: ../../include/event.php:969 +msgid "Completed" +msgstr "Completato" + +#: ../../include/event.php:970 +msgid "In Process" +msgstr "In corso" + +#: ../../include/event.php:971 +msgid "Cancelled" +msgstr "Annullato" + +#: ../../include/identity.php:32 +msgid "Unable to obtain identity information from database" +msgstr "Impossibile ottenere le informazioni di identificazione dal database" + +#: ../../include/identity.php:66 +msgid "Empty name" +msgstr "Nome vuoto" + +#: ../../include/identity.php:69 +msgid "Name too long" +msgstr "Nome troppo lungo" + +#: ../../include/identity.php:181 +msgid "No account identifier" +msgstr "Account senza identificativo" + +#: ../../include/identity.php:193 +msgid "Nickname is required." +msgstr "Il nome dell'account è obbligatorio." + +#: ../../include/identity.php:207 +msgid "Reserved nickname. Please choose another." +msgstr "Nome utente riservato. Per favore scegline un altro." + +#: ../../include/identity.php:212 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati." + +#: ../../include/identity.php:288 +msgid "Unable to retrieve created identity" +msgstr "Impossibile caricare l'identità creata" + +#: ../../include/identity.php:346 +msgid "Default Profile" +msgstr "Profilo predefinito" + +#: ../../include/identity.php:390 ../../include/identity.php:391 +#: ../../include/identity.php:398 ../../include/widgets.php:430 +#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:573 +#: ../../mod/settings.php:338 ../../mod/settings.php:342 +#: ../../mod/settings.php:343 ../../mod/settings.php:346 +#: ../../mod/settings.php:357 +msgid "Friends" +msgstr "Amici" + +#: ../../include/identity.php:770 +msgid "Requested channel is not available." +msgstr "Il canale che cerchi non è disponibile." + +#: ../../include/identity.php:816 ../../mod/filestorage.php:54 +#: ../../mod/connect.php:13 ../../mod/achievements.php:11 +#: ../../mod/blocks.php:29 ../../mod/hcard.php:8 ../../mod/editwebpage.php:28 +#: ../../mod/profile.php:16 ../../mod/editblock.php:29 +#: ../../mod/editlayout.php:27 ../../mod/webpages.php:29 +#: ../../mod/layouts.php:29 +msgid "Requested profile is not available." +msgstr "Il profilo richiesto non è disponibile." + +#: ../../include/identity.php:966 ../../mod/profiles.php:782 +msgid "Change profile photo" +msgstr "Cambia la foto del profilo" + +#: ../../include/identity.php:972 +msgid "Profiles" +msgstr "Profili" + +#: ../../include/identity.php:972 +msgid "Manage/edit profiles" +msgstr "Gestisci/modifica i profili" + +#: ../../include/identity.php:973 ../../mod/profiles.php:783 +msgid "Create New Profile" +msgstr "Crea un nuovo profilo" + +#: ../../include/identity.php:976 ../../include/nav.php:90 +msgid "Edit Profile" +msgstr "Modifica il profilo" + +#: ../../include/identity.php:988 ../../mod/profiles.php:794 +msgid "Profile Image" +msgstr "Immagine del profilo" + +#: ../../include/identity.php:991 +msgid "visible to everybody" +msgstr "visibile a tutti" + +#: ../../include/identity.php:992 ../../mod/profiles.php:677 +#: ../../mod/profiles.php:798 +msgid "Edit visibility" +msgstr "Cambia la visibilità" + +#: ../../include/identity.php:1008 ../../include/identity.php:1248 +msgid "Gender:" +msgstr "Sesso:" + +#: ../../include/identity.php:1009 ../../include/identity.php:1292 +msgid "Status:" +msgstr "Stato:" + +#: ../../include/identity.php:1010 ../../include/identity.php:1303 +msgid "Homepage:" +msgstr "Home page:" + +#: ../../include/identity.php:1011 +msgid "Online Now" +msgstr "Online adesso" + +#: ../../include/identity.php:1095 ../../include/identity.php:1173 +#: ../../mod/ping.php:318 +msgid "g A l F d" +msgstr "g A l d F" + +#: ../../include/identity.php:1096 ../../include/identity.php:1174 +msgid "F d" +msgstr "d F" + +#: ../../include/identity.php:1141 ../../include/identity.php:1213 +#: ../../mod/ping.php:341 +msgid "[today]" +msgstr "[oggi]" + +#: ../../include/identity.php:1152 +msgid "Birthday Reminders" +msgstr "Promemoria compleanni" + +#: ../../include/identity.php:1153 +msgid "Birthdays this week:" +msgstr "Compleanni questa settimana:" + +#: ../../include/identity.php:1206 +msgid "[No description]" +msgstr "[Nessuna descrizione]" + +#: ../../include/identity.php:1224 +msgid "Event Reminders" +msgstr "Promemoria" + +#: ../../include/identity.php:1225 +msgid "Events this week:" +msgstr "Eventi della settimana:" + +#: ../../include/identity.php:1238 ../../include/identity.php:1355 +#: ../../include/apps.php:138 ../../mod/profperm.php:112 +msgid "Profile" +msgstr "Profilo" + +#: ../../include/identity.php:1246 ../../mod/settings.php:1029 +msgid "Full Name:" +msgstr "Nome completo:" + +#: ../../include/identity.php:1253 +msgid "Like this channel" +msgstr "Mi piace questo canale" + +#: ../../include/identity.php:1264 ../../include/taxonomy.php:414 +#: ../../include/conversation.php:1721 ../../include/ItemObject.php:179 +#: ../../mod/photos.php:1086 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "Mi piace" +msgstr[1] "Mi piace" + +#: ../../include/identity.php:1277 +msgid "j F, Y" +msgstr "j F Y" + +#: ../../include/identity.php:1278 +msgid "j F" +msgstr "j F" + +#: ../../include/identity.php:1285 +msgid "Birthday:" +msgstr "Compleanno:" + +#: ../../include/identity.php:1289 ../../mod/directory.php:299 +msgid "Age:" +msgstr "Età:" + +#: ../../include/identity.php:1298 +#, php-format +msgid "for %1$d %2$s" +msgstr "per %1$d %2$s" + +#: ../../include/identity.php:1301 ../../mod/profiles.php:699 +msgid "Sexual Preference:" +msgstr "Preferenze sessuali:" + +#: ../../include/identity.php:1305 ../../mod/profiles.php:701 +#: ../../mod/directory.php:315 +msgid "Hometown:" +msgstr "Città dove vivo:" + +#: ../../include/identity.php:1307 +msgid "Tags:" +msgstr "Tag:" + +#: ../../include/identity.php:1309 ../../mod/profiles.php:702 +msgid "Political Views:" +msgstr "Orientamento politico:" + +#: ../../include/identity.php:1311 +msgid "Religion:" +msgstr "Religione:" + +#: ../../include/identity.php:1313 ../../mod/directory.php:317 +msgid "About:" +msgstr "Informazioni:" + +#: ../../include/identity.php:1315 +msgid "Hobbies/Interests:" +msgstr "Interessi e hobby:" + +#: ../../include/identity.php:1317 ../../mod/profiles.php:705 +msgid "Likes:" +msgstr "Mi piace:" + +#: ../../include/identity.php:1319 ../../mod/profiles.php:706 +msgid "Dislikes:" +msgstr "Non mi piace:" + +#: ../../include/identity.php:1321 +msgid "Contact information and Social Networks:" +msgstr "Contatti e social network:" + +#: ../../include/identity.php:1323 +msgid "My other channels:" +msgstr "I miei altri canali:" + +#: ../../include/identity.php:1325 +msgid "Musical interests:" +msgstr "Gusti musicali:" + +#: ../../include/identity.php:1327 +msgid "Books, literature:" +msgstr "Libri, letteratura:" + +#: ../../include/identity.php:1329 +msgid "Television:" +msgstr "Televisione:" + +#: ../../include/identity.php:1331 +msgid "Film/dance/culture/entertainment:" +msgstr "Film, danza, cultura, intrattenimento:" + +#: ../../include/identity.php:1333 +msgid "Love/Romance:" +msgstr "Amore:" + +#: ../../include/identity.php:1335 +msgid "Work/employment:" +msgstr "Lavoro:" + +#: ../../include/identity.php:1337 +msgid "School/education:" +msgstr "Scuola:" + +#: ../../include/identity.php:1357 +msgid "Like this thing" +msgstr "Mi piace" + +#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261 +msgid "Tags" +msgstr "Tag" + +#: ../../include/taxonomy.php:282 ../../include/widgets.php:36 +#: ../../include/contact_widgets.php:95 +msgid "Categories" +msgstr "Categorie" + +#: ../../include/taxonomy.php:305 +msgid "Keywords" +msgstr "Parole chiave" + +#: ../../include/taxonomy.php:326 +msgid "have" +msgstr "ho" + +#: ../../include/taxonomy.php:326 +msgid "has" +msgstr "ha" + +#: ../../include/taxonomy.php:327 +msgid "want" +msgstr "voglio" + +#: ../../include/taxonomy.php:327 +msgid "wants" +msgstr "vuole" + +#: ../../include/taxonomy.php:328 ../../include/ItemObject.php:254 +msgid "like" +msgstr "mi piace" + +#: ../../include/taxonomy.php:328 +msgid "likes" +msgstr "gli piace" + +#: ../../include/taxonomy.php:329 ../../include/ItemObject.php:255 +msgid "dislike" +msgstr "non mi piace" + +#: ../../include/taxonomy.php:329 +msgid "dislikes" +msgstr "non gli piace" + +#: ../../include/acl_selectors.php:240 +msgid "Visible to your default audience" +msgstr "Visibile secondo le impostazioni predefinite" + +#: ../../include/acl_selectors.php:241 +msgid "Show" +msgstr "Mostra" + +#: ../../include/acl_selectors.php:242 +msgid "Don't show" +msgstr "Non mostrare" + +#: ../../include/acl_selectors.php:247 +msgid "Other networks and post services" +msgstr "Invio ad altre reti o a siti esterni" + +#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 +#: ../../mod/photos.php:631 ../../mod/photos.php:1001 ../../mod/thing.php:310 +#: ../../mod/thing.php:356 ../../mod/chat.php:211 +msgid "Permissions" +msgstr "Permessi" + +#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:384 +#: ../../mod/photos.php:1218 +msgid "Close" +msgstr "Chiudi" + +#: ../../include/activities.php:42 +msgid " and " +msgstr "e" + +#: ../../include/activities.php:50 +msgid "public profile" +msgstr "profilo pubblico" + +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "%1$s ha cambiato %2$s in “%3$s”" + +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "Guarda %2$s di %1$s " + +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "%1$s ha aggiornato %2$s cambiando %3$s." + +#: ../../include/attach.php:246 ../../include/attach.php:332 +msgid "Item was not found." +msgstr "Elemento non trovato." + +#: ../../include/attach.php:496 +msgid "No source file." +msgstr "Nessun file di origine." + +#: ../../include/attach.php:514 +msgid "Cannot locate file to replace" +msgstr "Il file da sostituire non è stato trovato" + +#: ../../include/attach.php:532 +msgid "Cannot locate file to revise/update" +msgstr "Il file da aggiornare non è stato trovato" + +#: ../../include/attach.php:667 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "Il file supera la dimensione massima di %d" + +#: ../../include/attach.php:681 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati." + +#: ../../include/attach.php:837 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato." + +#: ../../include/attach.php:850 +msgid "Stored file could not be verified. Upload failed." +msgstr "Il file non può essere verificato. Caricamento fallito." + +#: ../../include/attach.php:898 ../../include/attach.php:914 +msgid "Path not available." +msgstr "Percorso non disponibile." + +#: ../../include/attach.php:960 ../../include/attach.php:1112 +msgid "Empty pathname" +msgstr "Il percorso del file è vuoto" + +#: ../../include/attach.php:986 +msgid "duplicate filename or path" +msgstr "il file o il percorso del file è duplicato" + +#: ../../include/attach.php:1008 +msgid "Path not found." +msgstr "Percorso del file non trovato." + +#: ../../include/attach.php:1066 +msgid "mkdir failed." +msgstr "mkdir fallito." + +#: ../../include/attach.php:1070 +msgid "database storage failed." +msgstr "scrittura su database fallita." + +#: ../../include/attach.php:1118 +msgid "Empty path" +msgstr "La posizione è vuota" + +#: ../../include/bb2diaspora.php:382 +msgid "Attachments:" +msgstr "Allegati:" + +#: ../../include/bb2diaspora.php:473 +msgid "$Projectname event notification:" +msgstr "Notifica evento $Projectname:" + +#: ../../include/notify.php:20 +msgid "created a new post" +msgstr "Ha creato un nuovo post" + +#: ../../include/notify.php:21 +#, php-format +msgid "commented on %s's post" +msgstr "ha commentato il post di %s" + +#: ../../include/widgets.php:92 ../../include/nav.php:157 +#: ../../mod/apps.php:36 +msgid "Apps" +msgstr "App" + +#: ../../include/widgets.php:93 +msgid "System" +msgstr "Sistema" + +#: ../../include/widgets.php:95 ../../include/conversation.php:1526 +msgid "Personal" +msgstr "Personali" + +#: ../../include/widgets.php:96 +msgid "Create Personal App" +msgstr "Crea app personale" + +#: ../../include/widgets.php:97 +msgid "Edit Personal App" +msgstr "Modifica app personale" + +#: ../../include/widgets.php:139 ../../mod/suggest.php:54 +msgid "Ignore/Hide" +msgstr "Ignora/nascondi" + +#: ../../include/widgets.php:144 ../../mod/connections.php:125 +msgid "Suggestions" +msgstr "Suggerimenti" + +#: ../../include/widgets.php:145 +msgid "See more..." +msgstr "Altro..." + +#: ../../include/widgets.php:166 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse." + +#: ../../include/widgets.php:172 +msgid "Add New Connection" +msgstr "Aggiungi un contatto" + +#: ../../include/widgets.php:173 +msgid "Enter the channel address" +msgstr "Scrivi l'indirizzo del canale" + +#: ../../include/widgets.php:174 +msgid "Example: bob@example.com, http://example.com/barbara" +msgstr "Per esempio: mario@pippo.it oppure http://pluto.com/barbara" + +#: ../../include/widgets.php:190 +msgid "Notes" +msgstr "Note" + +#: ../../include/widgets.php:192 ../../include/text.php:868 +#: ../../include/text.php:880 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 +#: ../../mod/admin.php:1442 ../../mod/admin.php:1462 ../../mod/filer.php:49 +msgid "Save" +msgstr "Salva" + +#: ../../include/widgets.php:266 +msgid "Remove term" +msgstr "Rimuovi termine" + +#: ../../include/widgets.php:274 ../../include/features.php:72 +msgid "Saved Searches" +msgstr "Ricerche salvate" + +#: ../../include/widgets.php:275 ../../include/group.php:300 +msgid "add" +msgstr "aggiungi" + +#: ../../include/widgets.php:304 ../../include/features.php:85 +#: ../../include/contact_widgets.php:57 +msgid "Saved Folders" +msgstr "Cartelle salvate" + +#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60 +#: ../../include/contact_widgets.php:98 +msgid "Everything" +msgstr "Tutto" + +#: ../../include/widgets.php:349 +msgid "Archives" +msgstr "Archivi" + +#: ../../include/widgets.php:428 ../../mod/connedit.php:571 +msgid "Me" +msgstr "Me" + +#: ../../include/widgets.php:429 ../../mod/connedit.php:572 +msgid "Family" +msgstr "Famiglia" + +#: ../../include/widgets.php:431 ../../mod/connedit.php:574 +msgid "Acquaintances" +msgstr "Conoscenti" + +#: ../../include/widgets.php:432 ../../mod/connedit.php:575 +#: ../../mod/connections.php:88 ../../mod/connections.php:103 +msgid "All" +msgstr "Tutti" + +#: ../../include/widgets.php:451 +msgid "Refresh" +msgstr "Aggiorna" + +#: ../../include/widgets.php:485 +msgid "Account settings" +msgstr "Il tuo account" + +#: ../../include/widgets.php:491 +msgid "Channel settings" +msgstr "Impostazioni del canale" + +#: ../../include/widgets.php:497 +msgid "Additional features" +msgstr "Funzionalità opzionali" + +#: ../../include/widgets.php:503 +msgid "Feature/Addon settings" +msgstr "Componenti aggiuntivi" + +#: ../../include/widgets.php:509 +msgid "Display settings" +msgstr "Aspetto" + +#: ../../include/widgets.php:515 +msgid "Connected apps" +msgstr "App connesse" + +#: ../../include/widgets.php:521 +msgid "Export channel" +msgstr "Esporta il canale" + +#: ../../include/widgets.php:530 ../../mod/connedit.php:683 +msgid "Connection Default Permissions" +msgstr "Permessi predefiniti dei nuovi contatti" + +#: ../../include/widgets.php:538 +msgid "Premium Channel Settings" +msgstr "Canale premium - impostazioni" + +#: ../../include/widgets.php:546 ../../include/features.php:59 +#: ../../mod/sources.php:88 +msgid "Channel Sources" +msgstr "Sorgenti del canale" + +#: ../../include/widgets.php:554 ../../include/nav.php:202 +#: ../../include/apps.php:134 ../../mod/admin.php:1064 +#: ../../mod/admin.php:1264 +msgid "Settings" +msgstr "Impostazioni" + +#: ../../include/widgets.php:568 +msgid "Private Mail Menu" +msgstr "Menu messaggi privati" + +#: ../../include/widgets.php:570 +msgid "Combined View" +msgstr "Vista combinata" + +#: ../../include/widgets.php:575 ../../include/nav.php:191 +msgid "Inbox" +msgstr "In arrivo" + +#: ../../include/widgets.php:580 ../../include/nav.php:192 +msgid "Outbox" +msgstr "Inviati" + +#: ../../include/widgets.php:585 ../../include/nav.php:193 +msgid "New Message" +msgstr "Nuovo messaggio" + +#: ../../include/widgets.php:604 ../../include/widgets.php:616 +msgid "Conversations" +msgstr "Conversazioni" + +#: ../../include/widgets.php:608 +msgid "Received Messages" +msgstr "Ricevuti" + +#: ../../include/widgets.php:612 +msgid "Sent Messages" +msgstr "Inviati" + +#: ../../include/widgets.php:626 +msgid "No messages." +msgstr "Nessun messaggio." + +#: ../../include/widgets.php:644 +msgid "Delete conversation" +msgstr "Elimina la conversazione" + +#: ../../include/widgets.php:670 +msgid "Events Menu" +msgstr "Menu eventi" + +#: ../../include/widgets.php:671 +msgid "Day View" +msgstr "Eventi del giorno" + +#: ../../include/widgets.php:672 +msgid "Week View" +msgstr "Eventi della settimana" + +#: ../../include/widgets.php:673 +msgid "Month View" +msgstr "Eventi del mese" + +#: ../../include/widgets.php:674 ../../mod/events.php:669 +msgid "Export" +msgstr "Esporta" + +#: ../../include/widgets.php:675 ../../mod/events.php:672 +msgid "Import" +msgstr "Importa" + +#: ../../include/widgets.php:749 +msgid "Chat Rooms" +msgstr "Chat" + +#: ../../include/widgets.php:769 +msgid "Bookmarked Chatrooms" +msgstr "Chat nei segnalibri" + +#: ../../include/widgets.php:789 +msgid "Suggested Chatrooms" +msgstr "Chat suggerite" + +#: ../../include/widgets.php:916 ../../include/widgets.php:974 +msgid "photo/image" +msgstr "foto/immagine" + +#: ../../include/widgets.php:1069 ../../include/widgets.php:1071 +msgid "Rate Me" +msgstr "Valutami" + +#: ../../include/widgets.php:1075 +msgid "View Ratings" +msgstr "Vedi le valutazioni ricevute" + +#: ../../include/widgets.php:1086 +msgid "Public Hubs" +msgstr "Hub pubblici" + +#: ../../include/widgets.php:1134 +msgid "Forums" +msgstr "Forum" + +#: ../../include/widgets.php:1161 +msgid "Tasks" +msgstr "Attività" + +#: ../../include/widgets.php:1170 +msgid "Documentation" +msgstr "Guida" + +#: ../../include/widgets.php:1172 +msgid "Project/Site Information" +msgstr "Informazioni sul sito/progetto" + +#: ../../include/widgets.php:1173 +msgid "For Members" +msgstr "Per gli utenti" + +#: ../../include/widgets.php:1174 +msgid "For Administrators" +msgstr "Per gli amministratori" + +#: ../../include/widgets.php:1175 +msgid "For Developers" +msgstr "Per sviluppatori" + +#: ../../include/widgets.php:1200 ../../mod/admin.php:434 +msgid "Site" +msgstr "Sito" + +#: ../../include/widgets.php:1201 +msgid "Accounts" +msgstr "Account" + +#: ../../include/widgets.php:1202 ../../mod/admin.php:965 +msgid "Channels" +msgstr "Canali" + +#: ../../include/widgets.php:1203 ../../mod/admin.php:1062 +#: ../../mod/admin.php:1102 +msgid "Plugins" +msgstr "Plugin" + +#: ../../include/widgets.php:1204 ../../mod/admin.php:1262 +#: ../../mod/admin.php:1296 +msgid "Themes" +msgstr "Temi" + +#: ../../include/widgets.php:1205 +msgid "Inspect queue" +msgstr "Coda di attesa" + +#: ../../include/widgets.php:1206 +msgid "Profile Config" +msgstr "Configurazione del profilo" + +#: ../../include/widgets.php:1207 +msgid "DB updates" +msgstr "Aggiornamenti al DB" + +#: ../../include/widgets.php:1225 ../../include/widgets.php:1231 +#: ../../mod/admin.php:1381 +msgid "Logs" +msgstr "Log" + +#: ../../include/widgets.php:1229 ../../include/nav.php:210 +msgid "Admin" +msgstr "Amministrazione" + +#: ../../include/widgets.php:1230 +msgid "Plugin Features" +msgstr "Plugin" + +#: ../../include/widgets.php:1232 +msgid "User registrations waiting for confirmation" +msgstr "Registrazioni in attesa" + +#: ../../include/widgets.php:1311 ../../mod/photos.php:753 +#: ../../mod/photos.php:1286 +msgid "View Photo" +msgstr "Guarda la foto" + +#: ../../include/widgets.php:1327 ../../mod/photos.php:782 +msgid "Edit Album" +msgstr "Modifica album" + +#: ../../include/bookmarks.php:35 +#, php-format +msgid "%1$s's bookmarks" +msgstr "I segnalibri di %1$s" #: ../../include/features.php:38 msgid "General Features" @@ -553,11 +1671,6 @@ msgid "" "(640px) photo thumbnails" msgstr "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)" -#: ../../include/features.php:59 ../../include/widgets.php:546 -#: ../../mod/sources.php:88 -msgid "Channel Sources" -msgstr "Sorgenti del canale" - #: ../../include/features.php:59 msgid "Automatically import channel content from other channels or feeds" msgstr "Importa automaticamente il contenuto del canale da altri canali o feed" @@ -617,10 +1730,6 @@ msgstr "Filtra per insiemi di canali" msgid "Enable widget to display Network posts only from selected collections" msgstr "Mostra il riquadro per filtrare i post di certi insiemi di canali" -#: ../../include/features.php:72 ../../include/widgets.php:274 -msgid "Saved Searches" -msgstr "Ricerche salvate" - #: ../../include/features.php:72 msgid "Save search terms for re-use" msgstr "Salva i termini delle ricerche per poterle ripetere" @@ -685,11 +1794,6 @@ msgstr "Categorie dei post" msgid "Add categories to your posts" msgstr "Abilita le categorie per i tuoi post" -#: ../../include/features.php:85 ../../include/contact_widgets.php:57 -#: ../../include/widgets.php:304 -msgid "Saved Folders" -msgstr "Cartelle salvate" - #: ../../include/features.php:85 msgid "Ability to file posts under folders" msgstr "Abilita la raccolta dei tuoi articoli in cartelle" @@ -718,570 +1822,361 @@ msgstr "Nuvola di tag" msgid "Provide a personal tag cloud on your channel page" msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale" -#: ../../include/comanche.php:34 ../../mod/admin.php:351 -msgid "Default" -msgstr "Predefinito" - -#: ../../include/js_strings.php:5 -msgid "Delete this item?" -msgstr "Eliminare questo elemento?" - -#: ../../include/js_strings.php:6 ../../include/ItemObject.php:682 -#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 -msgid "Comment" -msgstr "Commento" - -#: ../../include/js_strings.php:7 ../../include/ItemObject.php:399 -msgid "[+] show all" -msgstr "[+] mostra tutto" - -#: ../../include/js_strings.php:8 -msgid "[-] show less" -msgstr "[-] riduci" - -#: ../../include/js_strings.php:9 -msgid "[+] expand" -msgstr "[+] mostra tutto" - -#: ../../include/js_strings.php:10 -msgid "[-] collapse" -msgstr "[-] riduci" - -#: ../../include/js_strings.php:11 -msgid "Password too short" -msgstr "Password troppo corta" - -#: ../../include/js_strings.php:12 -msgid "Passwords do not match" -msgstr "Le password non corrispondono" - -#: ../../include/js_strings.php:13 ../../mod/photos.php:41 -msgid "everybody" -msgstr "tutti" - -#: ../../include/js_strings.php:14 -msgid "Secret Passphrase" -msgstr "Parola chiave per decifrare" - -#: ../../include/js_strings.php:15 -msgid "Passphrase hint" -msgstr "Suggerimento per la parola chiave" - -#: ../../include/js_strings.php:16 -msgid "Notice: Permissions have changed but have not yet been submitted." -msgstr "Nota: i permessi sono stati modificati ma non ancora salvati." - -#: ../../include/js_strings.php:17 -msgid "close all" -msgstr "chiudi tutto" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 +msgid "Male" +msgstr "Maschio" -#: ../../include/js_strings.php:18 -msgid "Nothing new here" -msgstr "Niente di nuovo qui" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 +msgid "Female" +msgstr "Femmina" -#: ../../include/js_strings.php:19 -msgid "Rate This Channel (this is public)" -msgstr "Valuta questo canale (visibile a tutti)" +#: ../../include/profile_selectors.php:6 +msgid "Currently Male" +msgstr "Al momento maschio" -#: ../../include/js_strings.php:20 ../../mod/connedit.php:694 -#: ../../mod/rate.php:157 -msgid "Rating" -msgstr "Valutazioni" +#: ../../include/profile_selectors.php:6 +msgid "Currently Female" +msgstr "Al momento femmina" -#: ../../include/js_strings.php:21 -msgid "Describe (optional)" -msgstr "Descrizione (facoltativa)" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Male" +msgstr "Prevalentemente maschio" -#: ../../include/js_strings.php:22 ../../include/ItemObject.php:683 -#: ../../include/widgets.php:676 ../../mod/fsuggest.php:108 -#: ../../mod/mitem.php:231 ../../mod/connedit.php:715 ../../mod/mood.php:135 -#: ../../mod/pconfig.php:108 ../../mod/filestorage.php:156 -#: ../../mod/poke.php:171 ../../mod/chat.php:184 ../../mod/chat.php:213 -#: ../../mod/rate.php:168 ../../mod/photos.php:637 ../../mod/photos.php:1008 -#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:435 -#: ../../mod/admin.php:802 ../../mod/admin.php:966 ../../mod/admin.php:1103 -#: ../../mod/admin.php:1297 ../../mod/admin.php:1382 ../../mod/appman.php:99 -#: ../../mod/pdledit.php:58 ../../mod/events.php:531 ../../mod/events.php:710 -#: ../../mod/sources.php:104 ../../mod/sources.php:138 -#: ../../mod/import.php:527 ../../mod/thing.php:313 ../../mod/thing.php:359 -#: ../../mod/invite.php:142 ../../mod/mail.php:371 ../../mod/settings.php:584 -#: ../../mod/settings.php:696 ../../mod/settings.php:724 -#: ../../mod/settings.php:747 ../../mod/settings.php:832 -#: ../../mod/settings.php:1021 ../../mod/xchan.php:11 ../../mod/group.php:81 -#: ../../mod/connect.php:93 ../../mod/locs.php:116 ../../mod/setup.php:331 -#: ../../mod/setup.php:371 ../../mod/profiles.php:667 -#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99 -msgid "Submit" -msgstr "Salva" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Female" +msgstr "Prevalentemente femmina" -#: ../../include/js_strings.php:23 -msgid "Please enter a link URL" -msgstr "Inserisci l'URL di un link" +#: ../../include/profile_selectors.php:6 +msgid "Transgender" +msgstr "Transgender" -#: ../../include/js_strings.php:24 -msgid "Unsaved changes. Are you sure you wish to leave this page?" -msgstr "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?" +#: ../../include/profile_selectors.php:6 +msgid "Intersex" +msgstr "Intersex" -#: ../../include/js_strings.php:26 -msgid "timeago.prefixAgo" -msgstr "timeago.prefixAgo" +#: ../../include/profile_selectors.php:6 +msgid "Transsexual" +msgstr "Transessuale" -#: ../../include/js_strings.php:27 -msgid "timeago.prefixFromNow" -msgstr "timeago.prefixFromNow" +#: ../../include/profile_selectors.php:6 +msgid "Hermaphrodite" +msgstr "Ermafrodito" -#: ../../include/js_strings.php:28 -msgid "ago" -msgstr "fa" +#: ../../include/profile_selectors.php:6 +msgid "Neuter" +msgstr "Neutro" -#: ../../include/js_strings.php:29 -msgid "from now" -msgstr "da adesso" +#: ../../include/profile_selectors.php:6 +msgid "Non-specific" +msgstr "Non specificato" -#: ../../include/js_strings.php:30 -msgid "less than a minute" -msgstr "meno di un minuto" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 +#: ../../include/profile_selectors.php:61 +#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871 +msgid "Other" +msgstr "Altro" -#: ../../include/js_strings.php:31 -msgid "about a minute" -msgstr "circa un minuto" +#: ../../include/profile_selectors.php:6 +msgid "Undecided" +msgstr "Indeciso" -#: ../../include/js_strings.php:32 -#, php-format -msgid "%d minutes" -msgstr "%d minuti" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Males" +msgstr "Maschi" -#: ../../include/js_strings.php:33 -msgid "about an hour" -msgstr "circa un’ora" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Females" +msgstr "Femmine" -#: ../../include/js_strings.php:34 -#, php-format -msgid "about %d hours" -msgstr "circa %d ore" +#: ../../include/profile_selectors.php:42 +msgid "Gay" +msgstr "Gay" -#: ../../include/js_strings.php:35 -msgid "a day" -msgstr "un giorno" +#: ../../include/profile_selectors.php:42 +msgid "Lesbian" +msgstr "Lesbica" -#: ../../include/js_strings.php:36 -#, php-format -msgid "%d days" -msgstr "%d giorni" +#: ../../include/profile_selectors.php:42 +msgid "No Preference" +msgstr "Senza preferenza" -#: ../../include/js_strings.php:37 -msgid "about a month" -msgstr "circa un mese" +#: ../../include/profile_selectors.php:42 +msgid "Bisexual" +msgstr "Bisessuale" -#: ../../include/js_strings.php:38 -#, php-format -msgid "%d months" -msgstr "%d mesi" +#: ../../include/profile_selectors.php:42 +msgid "Autosexual" +msgstr "Autosessuale" -#: ../../include/js_strings.php:39 -msgid "about a year" -msgstr "circa un anno" +#: ../../include/profile_selectors.php:42 +msgid "Abstinent" +msgstr "Astinente" -#: ../../include/js_strings.php:40 -#, php-format -msgid "%d years" -msgstr "%d anni" +#: ../../include/profile_selectors.php:42 +msgid "Virgin" +msgstr "Vergine" -#: ../../include/js_strings.php:41 -msgid " " -msgstr " " +#: ../../include/profile_selectors.php:42 +msgid "Deviant" +msgstr "Deviato" -#: ../../include/js_strings.php:42 -msgid "timeago.numbers" -msgstr "timeago.numbers" +#: ../../include/profile_selectors.php:42 +msgid "Fetish" +msgstr "Feticista" -#: ../../include/js_strings.php:44 ../../include/text.php:1164 -msgid "January" -msgstr "gennaio" +#: ../../include/profile_selectors.php:42 +msgid "Oodles" +msgstr "Un sacco" -#: ../../include/js_strings.php:45 ../../include/text.php:1164 -msgid "February" -msgstr "febbraio" +#: ../../include/profile_selectors.php:42 +msgid "Nonsexual" +msgstr "Asessuato" -#: ../../include/js_strings.php:46 ../../include/text.php:1164 -msgid "March" -msgstr "marzo" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Single" +msgstr "Single" -#: ../../include/js_strings.php:47 ../../include/text.php:1164 -msgid "April" -msgstr "aprile" +#: ../../include/profile_selectors.php:80 +msgid "Lonely" +msgstr "Da solo" -#: ../../include/js_strings.php:48 -msgctxt "long" -msgid "May" -msgstr "maggio" +#: ../../include/profile_selectors.php:80 +msgid "Available" +msgstr "Disponibile" -#: ../../include/js_strings.php:49 ../../include/text.php:1164 -msgid "June" -msgstr "giugno" +#: ../../include/profile_selectors.php:80 +msgid "Unavailable" +msgstr "Non disponibile" -#: ../../include/js_strings.php:50 ../../include/text.php:1164 -msgid "July" -msgstr "luglio" +#: ../../include/profile_selectors.php:80 +msgid "Has crush" +msgstr "Ha una cotta" -#: ../../include/js_strings.php:51 ../../include/text.php:1164 -msgid "August" -msgstr "agosto" +#: ../../include/profile_selectors.php:80 +msgid "Infatuated" +msgstr "Infatuato/a" -#: ../../include/js_strings.php:52 ../../include/text.php:1164 -msgid "September" -msgstr "settembre" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Dating" +msgstr "Disponibile a un incontro" -#: ../../include/js_strings.php:53 ../../include/text.php:1164 -msgid "October" -msgstr "ottobre" +#: ../../include/profile_selectors.php:80 +msgid "Unfaithful" +msgstr "Infedele" -#: ../../include/js_strings.php:54 ../../include/text.php:1164 -msgid "November" -msgstr "novembre" +#: ../../include/profile_selectors.php:80 +msgid "Sex Addict" +msgstr "Sesso-dipendente" -#: ../../include/js_strings.php:55 ../../include/text.php:1164 -msgid "December" -msgstr "dicembre" +#: ../../include/profile_selectors.php:80 +msgid "Friends/Benefits" +msgstr "Amici con qualcosa in più" -#: ../../include/js_strings.php:56 -msgid "Jan" -msgstr "Gen" +#: ../../include/profile_selectors.php:80 +msgid "Casual" +msgstr "Casual" -#: ../../include/js_strings.php:57 -msgid "Feb" -msgstr "Feb" +#: ../../include/profile_selectors.php:80 +msgid "Engaged" +msgstr "Impegnato" -#: ../../include/js_strings.php:58 -msgid "Mar" -msgstr "Mar" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Married" +msgstr "Sposato/a" -#: ../../include/js_strings.php:59 -msgid "Apr" -msgstr "Apr" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily married" +msgstr "Con matrimonio immaginario" -#: ../../include/js_strings.php:60 -msgctxt "short" -msgid "May" -msgstr "maggio" +#: ../../include/profile_selectors.php:80 +msgid "Partners" +msgstr "Partner" -#: ../../include/js_strings.php:61 -msgid "Jun" -msgstr "Mag" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Cohabiting" +msgstr "Convivente" -#: ../../include/js_strings.php:62 -msgid "Jul" -msgstr "Giu" +#: ../../include/profile_selectors.php:80 +msgid "Common law" +msgstr "Matrimonio regolare" -#: ../../include/js_strings.php:63 -msgid "Aug" -msgstr "Ago" +#: ../../include/profile_selectors.php:80 +msgid "Happy" +msgstr "Felice" -#: ../../include/js_strings.php:64 -msgid "Sep" -msgstr "Set" +#: ../../include/profile_selectors.php:80 +msgid "Not looking" +msgstr "Non in cerca" -#: ../../include/js_strings.php:65 -msgid "Oct" -msgstr "Ott" +#: ../../include/profile_selectors.php:80 +msgid "Swinger" +msgstr "Scambista" -#: ../../include/js_strings.php:66 -msgid "Nov" -msgstr "Nov" +#: ../../include/profile_selectors.php:80 +msgid "Betrayed" +msgstr "Tradito/a" -#: ../../include/js_strings.php:67 -msgid "Dec" -msgstr "Dic" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Separated" +msgstr "Separato/a" -#: ../../include/js_strings.php:68 ../../include/text.php:1160 -msgid "Sunday" -msgstr "domenica" +#: ../../include/profile_selectors.php:80 +msgid "Unstable" +msgstr "Instabile" -#: ../../include/js_strings.php:69 ../../include/text.php:1160 -msgid "Monday" -msgstr "lunedì" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Divorced" +msgstr "Divorziato/a" -#: ../../include/js_strings.php:70 ../../include/text.php:1160 -msgid "Tuesday" -msgstr "martedì" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily divorced" +msgstr "Sogna il divorzio" -#: ../../include/js_strings.php:71 ../../include/text.php:1160 -msgid "Wednesday" -msgstr "mercoledì" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Widowed" +msgstr "Vedovo/a" -#: ../../include/js_strings.php:72 ../../include/text.php:1160 -msgid "Thursday" -msgstr "giovedì" +#: ../../include/profile_selectors.php:80 +msgid "Uncertain" +msgstr "Incerto/a" -#: ../../include/js_strings.php:73 ../../include/text.php:1160 -msgid "Friday" -msgstr "venerdì" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "It's complicated" +msgstr "Relazione complicata" -#: ../../include/js_strings.php:74 ../../include/text.php:1160 -msgid "Saturday" -msgstr "sabato" +#: ../../include/profile_selectors.php:80 +msgid "Don't care" +msgstr "Chi se ne frega" -#: ../../include/js_strings.php:75 -msgid "Sun" -msgstr "Dom" +#: ../../include/profile_selectors.php:80 +msgid "Ask me" +msgstr "Chiedimelo" -#: ../../include/js_strings.php:76 -msgid "Mon" -msgstr "Lun" +#: ../../include/datetime.php:48 +msgid "Miscellaneous" +msgstr "Altro" -#: ../../include/js_strings.php:77 -msgid "Tue" -msgstr "Mar" +#: ../../include/datetime.php:132 +msgid "YYYY-MM-DD or MM-DD" +msgstr "AAAA-MM-GG oppure MM-GG" -#: ../../include/js_strings.php:78 -msgid "Wed" -msgstr "Mer" +#: ../../include/datetime.php:236 ../../mod/appman.php:91 +#: ../../mod/appman.php:92 ../../mod/events.php:452 ../../mod/events.php:457 +msgid "Required" +msgstr "Obbligatorio" -#: ../../include/js_strings.php:79 -msgid "Thu" -msgstr "Gio" +#: ../../include/datetime.php:263 ../../boot.php:2289 +msgid "never" +msgstr "mai" -#: ../../include/js_strings.php:80 -msgid "Fri" -msgstr "Ven" +#: ../../include/datetime.php:269 +msgid "less than a second ago" +msgstr "meno di un secondo fa" -#: ../../include/js_strings.php:81 -msgid "Sat" -msgstr "Sab" +#: ../../include/datetime.php:272 +msgid "year" +msgstr "anno" -#: ../../include/js_strings.php:82 -msgctxt "calendar" -msgid "today" -msgstr "oggi" +#: ../../include/datetime.php:272 +msgid "years" +msgstr "anni" -#: ../../include/js_strings.php:83 -msgctxt "calendar" +#: ../../include/datetime.php:273 msgid "month" msgstr "mese" -#: ../../include/js_strings.php:84 -msgctxt "calendar" +#: ../../include/datetime.php:273 +msgid "months" +msgstr "mesi" + +#: ../../include/datetime.php:274 msgid "week" msgstr "settimana" -#: ../../include/js_strings.php:85 -msgctxt "calendar" +#: ../../include/datetime.php:274 +msgid "weeks" +msgstr "settimane" + +#: ../../include/datetime.php:275 msgid "day" msgstr "giorno" -#: ../../include/js_strings.php:86 -msgctxt "calendar" -msgid "All day" -msgstr "Tutto il giorno" - -#: ../../include/contact_selectors.php:56 -msgid "Frequently" -msgstr "Frequentemente" - -#: ../../include/contact_selectors.php:57 -msgid "Hourly" -msgstr "Ogni ora" - -#: ../../include/contact_selectors.php:58 -msgid "Twice daily" -msgstr "Due volte al giorno" - -#: ../../include/contact_selectors.php:59 -msgid "Daily" -msgstr "Ogni giorno" - -#: ../../include/contact_selectors.php:60 -msgid "Weekly" -msgstr "Ogni settimana" - -#: ../../include/contact_selectors.php:61 -msgid "Monthly" -msgstr "Ogni mese" - -#: ../../include/contact_selectors.php:76 -msgid "Friendica" -msgstr "Friendica" - -#: ../../include/contact_selectors.php:77 -msgid "OStatus" -msgstr "OStatus" - -#: ../../include/contact_selectors.php:78 -msgid "RSS/Atom" -msgstr "RSS/Atom" - -#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 -#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 -#: ../../boot.php:1488 -msgid "Email" -msgstr "Email" - -#: ../../include/contact_selectors.php:80 -msgid "Diaspora" -msgstr "Diaspora" - -#: ../../include/contact_selectors.php:81 -msgid "Facebook" -msgstr "Facebook" - -#: ../../include/contact_selectors.php:82 -msgid "Zot!" -msgstr "Zot!" - -#: ../../include/contact_selectors.php:83 -msgid "LinkedIn" -msgstr "LinkedIn" - -#: ../../include/contact_selectors.php:84 -msgid "XMPP/IM" -msgstr "XMPP/IM" - -#: ../../include/contact_selectors.php:85 -msgid "MySpace" -msgstr "MySpace" - -#: ../../include/activities.php:42 -msgid " and " -msgstr "e" - -#: ../../include/activities.php:50 -msgid "public profile" -msgstr "profilo pubblico" - -#: ../../include/activities.php:59 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" -msgstr "%1$s ha cambiato %2$s in “%3$s”" - -#: ../../include/activities.php:60 -#, php-format -msgid "Visit %1$s's %2$s" -msgstr "Guarda %2$s di %1$s " - -#: ../../include/activities.php:63 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." -msgstr "%1$s ha aggiornato %2$s cambiando %3$s." - -#: ../../include/Contact.php:101 ../../include/conversation.php:952 -#: ../../include/widgets.php:137 ../../include/widgets.php:175 -#: ../../include/identity.php:952 ../../mod/directory.php:318 -#: ../../mod/match.php:64 ../../mod/suggest.php:52 -msgid "Connect" -msgstr "Aggiungi" - -#: ../../include/Contact.php:118 -msgid "New window" -msgstr "Nuova finestra" - -#: ../../include/Contact.php:119 -msgid "Open the selected location in a different window or browser tab" -msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra" - -#: ../../include/Contact.php:237 -#, php-format -msgid "User '%s' deleted" -msgstr "Utente '%s' eliminato" - -#: ../../include/dba/dba_driver.php:141 -#, php-format -msgid "Cannot locate DNS info for database server '%s'" -msgstr "Non trovo le informazioni DNS per il database server '%s'" +#: ../../include/datetime.php:275 +msgid "days" +msgstr "giorni" -#: ../../include/items.php:423 ../../mod/like.php:280 -#: ../../mod/subthread.php:58 ../../mod/dreport.php:6 ../../mod/dreport.php:45 -#: ../../mod/group.php:68 ../../mod/profperm.php:23 -#: ../../mod/import_items.php:114 ../../index.php:360 -msgid "Permission denied" -msgstr "Permesso negato" +#: ../../include/datetime.php:276 +msgid "hour" +msgstr "ora" -#: ../../include/items.php:1128 ../../include/items.php:1174 -msgid "(Unknown)" -msgstr "(Sconosciuto)" +#: ../../include/datetime.php:276 +msgid "hours" +msgstr "ore" -#: ../../include/items.php:1371 -msgid "Visible to anybody on the internet." -msgstr "Visibile a chiunque su internet." +#: ../../include/datetime.php:277 +msgid "minute" +msgstr "minuto" -#: ../../include/items.php:1373 -msgid "Visible to you only." -msgstr "Visibile solo a te." +#: ../../include/datetime.php:277 +msgid "minutes" +msgstr "minuti" -#: ../../include/items.php:1375 -msgid "Visible to anybody in this network." -msgstr "Visibile a tutti su questa rete." +#: ../../include/datetime.php:278 +msgid "second" +msgstr "secondo" -#: ../../include/items.php:1377 -msgid "Visible to anybody authenticated." -msgstr "Visibile a chiunque sia autenticato." +#: ../../include/datetime.php:278 +msgid "seconds" +msgstr "secondi" -#: ../../include/items.php:1379 +#: ../../include/datetime.php:286 #, php-format -msgid "Visible to anybody on %s." -msgstr "Visibile a tutti su %s." - -#: ../../include/items.php:1381 -msgid "Visible to all connections." -msgstr "Visibile a tutti coloro che ti seguono." - -#: ../../include/items.php:1383 -msgid "Visible to approved connections." -msgstr "Visibile ai contatti approvati." - -#: ../../include/items.php:1385 -msgid "Visible to specific connections." -msgstr "Visibile ad alcuni contatti scelti." - -#: ../../include/items.php:4317 ../../mod/display.php:36 -#: ../../mod/filestorage.php:27 ../../mod/admin.php:127 -#: ../../mod/admin.php:1005 ../../mod/admin.php:1210 ../../mod/thing.php:86 -#: ../../mod/viewsrc.php:20 -msgid "Item not found." -msgstr "Elemento non trovato." - -#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137 -msgid "Collection not found." -msgstr "Insieme di canali non trovato." - -#: ../../include/items.php:4842 -msgid "Collection is empty." -msgstr "L'insieme di canali è vuoto." +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" +msgstr "%1$d %2$s fa" -#: ../../include/items.php:4849 +#: ../../include/datetime.php:520 #, php-format -msgid "Collection: %s" -msgstr "Insieme: %s" +msgid "%1$s's birthday" +msgstr "Compleanno di %1$s" -#: ../../include/items.php:4859 ../../mod/connedit.php:683 +#: ../../include/datetime.php:521 #, php-format -msgid "Connection: %s" -msgstr "Contatto: %s" +msgid "Happy Birthday %1$s" +msgstr "Buon compleanno %1$s" -#: ../../include/items.php:4861 -msgid "Connection not found." -msgstr "Contatto non trovato." +#: ../../include/api.php:1302 +msgid "Public Timeline" +msgstr "Diario pubblico" -#: ../../include/conversation.php:120 ../../include/text.php:1880 -#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:83 +#: ../../include/conversation.php:120 ../../include/text.php:1916 +#: ../../mod/tagger.php:43 ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "photo" msgstr "la foto" -#: ../../include/conversation.php:123 ../../include/event.php:896 -#: ../../include/text.php:1883 ../../mod/like.php:363 ../../mod/tagger.php:47 -#: ../../mod/events.php:245 -msgid "event" -msgstr "l'evento" - #: ../../include/conversation.php:126 ../../mod/like.php:113 msgid "channel" msgstr "il canale" -#: ../../include/conversation.php:148 ../../include/text.php:1886 +#: ../../include/conversation.php:148 ../../include/text.php:1922 #: ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "status" msgstr "il messaggio di stato" -#: ../../include/conversation.php:150 ../../include/text.php:1888 +#: ../../include/conversation.php:150 ../../include/text.php:1924 #: ../../mod/tagger.php:53 msgid "comment" msgstr "il commento" @@ -1306,7 +2201,7 @@ msgstr "%1$s adesso è connesso con %2$s" msgid "%1$s poked %2$s" msgstr "%1$s ha mandato un poke a %2$s" -#: ../../include/conversation.php:243 ../../include/text.php:953 +#: ../../include/conversation.php:243 ../../include/text.php:954 msgid "poked" msgstr "ha ricevuto un poke" @@ -1377,478 +2272,464 @@ msgstr "Massaggio con firma non corretta" msgid "View %s's profile @ %s" msgstr "Vedi il profilo di %s @ %s" -#: ../../include/conversation.php:709 +#: ../../include/conversation.php:710 msgid "Categories:" msgstr "Categorie:" -#: ../../include/conversation.php:710 +#: ../../include/conversation.php:711 msgid "Filed under:" msgstr "Classificato come:" -#: ../../include/conversation.php:718 ../../include/ItemObject.php:321 +#: ../../include/conversation.php:719 ../../include/ItemObject.php:334 #, php-format msgid "from %s" msgstr "da %s" -#: ../../include/conversation.php:721 ../../include/ItemObject.php:324 +#: ../../include/conversation.php:722 ../../include/ItemObject.php:337 #, php-format msgid "last edited: %s" msgstr "ultima modifica: %s" -#: ../../include/conversation.php:722 ../../include/ItemObject.php:325 +#: ../../include/conversation.php:723 ../../include/ItemObject.php:338 #, php-format msgid "Expires: %s" msgstr "Scadenza: %s" -#: ../../include/conversation.php:737 +#: ../../include/conversation.php:738 msgid "View in context" msgstr "Vedi nel contesto" -#: ../../include/conversation.php:739 ../../include/conversation.php:1226 -#: ../../include/ItemObject.php:375 ../../mod/photos.php:1029 -#: ../../mod/editblock.php:150 ../../mod/editpost.php:129 -#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190 +#: ../../include/conversation.php:740 ../../include/conversation.php:1227 +#: ../../include/ItemObject.php:389 ../../mod/editwebpage.php:190 +#: ../../mod/photos.php:1029 ../../mod/editblock.php:150 +#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129 msgid "Please wait" msgstr "Attendere" -#: ../../include/conversation.php:849 +#: ../../include/conversation.php:850 msgid "remove" msgstr "rimuovi" -#: ../../include/conversation.php:853 ../../include/nav.php:241 +#: ../../include/conversation.php:854 ../../include/nav.php:241 msgid "Loading..." msgstr "Caricamento in corso..." -#: ../../include/conversation.php:854 +#: ../../include/conversation.php:855 msgid "Delete Selected Items" msgstr "Elimina gli oggetti selezionati" -#: ../../include/conversation.php:945 +#: ../../include/conversation.php:946 msgid "View Source" msgstr "Vedi il sorgente" -#: ../../include/conversation.php:946 +#: ../../include/conversation.php:947 msgid "Follow Thread" msgstr "Segui la discussione" -#: ../../include/conversation.php:947 +#: ../../include/conversation.php:948 msgid "Unfollow Thread" msgstr "Non seguire la discussione" -#: ../../include/conversation.php:948 +#: ../../include/conversation.php:949 msgid "View Status" msgstr "Bacheca" -#: ../../include/conversation.php:949 ../../include/nav.php:86 +#: ../../include/conversation.php:950 ../../include/nav.php:86 #: ../../mod/connedit.php:498 msgid "View Profile" msgstr "Profilo" -#: ../../include/conversation.php:950 +#: ../../include/conversation.php:951 msgid "View Photos" msgstr "Foto" -#: ../../include/conversation.php:951 +#: ../../include/conversation.php:952 msgid "Activity/Posts" msgstr "Attività e Post" -#: ../../include/conversation.php:953 +#: ../../include/conversation.php:954 msgid "Edit Connection" msgstr "Modifica il contatto" -#: ../../include/conversation.php:954 +#: ../../include/conversation.php:955 msgid "Send PM" msgstr "Messaggio privato" -#: ../../include/conversation.php:955 ../../include/apps.php:145 +#: ../../include/conversation.php:956 ../../include/apps.php:145 msgid "Poke" msgstr "Poke" -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s likes this." msgstr "Piace a %s." -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s doesn't like this." msgstr "Non piace a %s." -#: ../../include/conversation.php:1073 +#: ../../include/conversation.php:1074 #, php-format msgid "<span %1$s>%2$d people</span> like this." msgid_plural "<span %1$s>%2$d people</span> like this." msgstr[0] "" msgstr[1] "Piace a <span %1$s>%2$d persone</span>." -#: ../../include/conversation.php:1075 +#: ../../include/conversation.php:1076 #, php-format msgid "<span %1$s>%2$d people</span> don't like this." msgid_plural "<span %1$s>%2$d people</span> don't like this." msgstr[0] "" msgstr[1] "Non piace a <span %1$s>%2$d persone</span>." -#: ../../include/conversation.php:1081 +#: ../../include/conversation.php:1082 msgid "and" msgstr "e" -#: ../../include/conversation.php:1084 +#: ../../include/conversation.php:1085 #, php-format msgid ", and %d other people" msgid_plural ", and %d other people" msgstr[0] "" msgstr[1] "e altre %d persone" -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s like this." msgstr "Piace a %s." -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s don't like this." msgstr "Non piace a %s." -#: ../../include/conversation.php:1153 +#: ../../include/conversation.php:1154 msgid "Visible to <strong>everybody</strong>" msgstr "Visibile a <strong>tutti</strong>" -#: ../../include/conversation.php:1154 ../../mod/mail.php:194 +#: ../../include/conversation.php:1155 ../../mod/mail.php:194 #: ../../mod/mail.php:308 msgid "Please enter a link URL:" msgstr "Inserisci l'indirizzo del link:" -#: ../../include/conversation.php:1155 +#: ../../include/conversation.php:1156 msgid "Please enter a video link/URL:" msgstr "Inserisci l'indirizzo del video:" -#: ../../include/conversation.php:1156 +#: ../../include/conversation.php:1157 msgid "Please enter an audio link/URL:" msgstr "Inserisci l'indirizzo dell'audio:" -#: ../../include/conversation.php:1157 +#: ../../include/conversation.php:1158 msgid "Tag term:" msgstr "Tag:" -#: ../../include/conversation.php:1158 ../../mod/filer.php:48 +#: ../../include/conversation.php:1159 ../../mod/filer.php:48 msgid "Save to Folder:" msgstr "Salva nella cartella:" -#: ../../include/conversation.php:1159 +#: ../../include/conversation.php:1160 msgid "Where are you right now?" msgstr "Dove sei ora?" -#: ../../include/conversation.php:1160 ../../mod/editpost.php:56 -#: ../../mod/mail.php:195 ../../mod/mail.php:309 +#: ../../include/conversation.php:1161 ../../mod/mail.php:195 +#: ../../mod/mail.php:309 ../../mod/editpost.php:56 msgid "Expires YYYY-MM-DD HH:MM" msgstr "Scade il YYYY-MM-DD HH:MM" -#: ../../include/conversation.php:1168 ../../include/page_widgets.php:40 -#: ../../include/ItemObject.php:692 ../../mod/photos.php:1049 -#: ../../mod/editblock.php:171 ../../mod/editpost.php:149 -#: ../../mod/events.php:707 ../../mod/webpages.php:188 -#: ../../mod/editwebpage.php:212 +#: ../../include/conversation.php:1169 ../../include/page_widgets.php:40 +#: ../../include/ItemObject.php:706 ../../mod/editwebpage.php:212 +#: ../../mod/photos.php:1049 ../../mod/editblock.php:171 +#: ../../mod/webpages.php:188 ../../mod/editpost.php:149 +#: ../../mod/events.php:473 msgid "Preview" msgstr "Anteprima" -#: ../../include/conversation.php:1191 ../../mod/layouts.php:184 +#: ../../include/conversation.php:1192 ../../mod/blocks.php:154 #: ../../mod/photos.php:1028 ../../mod/webpages.php:182 -#: ../../mod/blocks.php:154 +#: ../../mod/layouts.php:184 msgid "Share" msgstr "Condividi" -#: ../../include/conversation.php:1193 +#: ../../include/conversation.php:1194 msgid "Page link name" msgstr "Nome del link alla pagina" -#: ../../include/conversation.php:1196 +#: ../../include/conversation.php:1197 msgid "Post as" msgstr "Pubblica come " -#: ../../include/conversation.php:1198 ../../include/ItemObject.php:684 -#: ../../mod/editblock.php:136 ../../mod/editpost.php:113 -#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177 +#: ../../include/conversation.php:1199 ../../include/ItemObject.php:698 +#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:136 +#: ../../mod/editlayout.php:135 ../../mod/editpost.php:113 msgid "Bold" msgstr "Grassetto" -#: ../../include/conversation.php:1199 ../../include/ItemObject.php:685 -#: ../../mod/editblock.php:137 ../../mod/editpost.php:114 -#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178 +#: ../../include/conversation.php:1200 ../../include/ItemObject.php:699 +#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:137 +#: ../../mod/editlayout.php:136 ../../mod/editpost.php:114 msgid "Italic" msgstr "Corsivo" -#: ../../include/conversation.php:1200 ../../include/ItemObject.php:686 -#: ../../mod/editblock.php:138 ../../mod/editpost.php:115 -#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179 +#: ../../include/conversation.php:1201 ../../include/ItemObject.php:700 +#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:138 +#: ../../mod/editlayout.php:137 ../../mod/editpost.php:115 msgid "Underline" msgstr "Sottolineato" -#: ../../include/conversation.php:1201 ../../include/ItemObject.php:687 -#: ../../mod/editblock.php:139 ../../mod/editpost.php:116 -#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180 +#: ../../include/conversation.php:1202 ../../include/ItemObject.php:701 +#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:139 +#: ../../mod/editlayout.php:138 ../../mod/editpost.php:116 msgid "Quote" msgstr "Citazione" -#: ../../include/conversation.php:1202 ../../include/ItemObject.php:688 -#: ../../mod/editblock.php:140 ../../mod/editpost.php:117 -#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181 +#: ../../include/conversation.php:1203 ../../include/ItemObject.php:702 +#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:140 +#: ../../mod/editlayout.php:139 ../../mod/editpost.php:117 msgid "Code" msgstr "Codice" -#: ../../include/conversation.php:1203 ../../mod/editblock.php:142 -#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140 -#: ../../mod/editwebpage.php:182 +#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:182 +#: ../../mod/editblock.php:142 ../../mod/editlayout.php:140 +#: ../../mod/editpost.php:118 msgid "Upload photo" msgstr "Carica foto" -#: ../../include/conversation.php:1204 +#: ../../include/conversation.php:1205 msgid "upload photo" msgstr "carica foto" -#: ../../include/conversation.php:1205 ../../mod/editblock.php:143 -#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:369 -#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183 +#: ../../include/conversation.php:1206 ../../mod/editwebpage.php:183 +#: ../../mod/editblock.php:143 ../../mod/editlayout.php:141 +#: ../../mod/mail.php:240 ../../mod/mail.php:369 ../../mod/editpost.php:119 msgid "Attach file" msgstr "Allega file" -#: ../../include/conversation.php:1206 +#: ../../include/conversation.php:1207 msgid "attach file" msgstr "allega file" -#: ../../include/conversation.php:1207 ../../mod/editblock.php:144 -#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:370 -#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184 +#: ../../include/conversation.php:1208 ../../mod/editwebpage.php:184 +#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142 +#: ../../mod/mail.php:241 ../../mod/mail.php:370 ../../mod/editpost.php:120 msgid "Insert web link" msgstr "Inserisci un indirizzo web" -#: ../../include/conversation.php:1208 +#: ../../include/conversation.php:1209 msgid "web link" msgstr "link web" -#: ../../include/conversation.php:1209 +#: ../../include/conversation.php:1210 msgid "Insert video link" msgstr "Inserisci l'indirizzo del video" -#: ../../include/conversation.php:1210 +#: ../../include/conversation.php:1211 msgid "video link" msgstr "link video" -#: ../../include/conversation.php:1211 +#: ../../include/conversation.php:1212 msgid "Insert audio link" msgstr "Inserisci l'indirizzo dell'audio" -#: ../../include/conversation.php:1212 +#: ../../include/conversation.php:1213 msgid "audio link" msgstr "link audio" -#: ../../include/conversation.php:1213 ../../mod/editblock.php:148 -#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146 -#: ../../mod/editwebpage.php:188 +#: ../../include/conversation.php:1214 ../../mod/editwebpage.php:188 +#: ../../mod/editblock.php:148 ../../mod/editlayout.php:146 +#: ../../mod/editpost.php:124 msgid "Set your location" msgstr "La tua località" -#: ../../include/conversation.php:1214 +#: ../../include/conversation.php:1215 msgid "set location" msgstr "la tua località" -#: ../../include/conversation.php:1215 ../../mod/editpost.php:126 +#: ../../include/conversation.php:1216 ../../mod/editpost.php:126 msgid "Toggle voting" msgstr "Abilita/disabilita il voto" -#: ../../include/conversation.php:1218 ../../mod/editblock.php:149 -#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147 -#: ../../mod/editwebpage.php:189 +#: ../../include/conversation.php:1219 ../../mod/editwebpage.php:189 +#: ../../mod/editblock.php:149 ../../mod/editlayout.php:147 +#: ../../mod/editpost.php:125 msgid "Clear browser location" msgstr "Rimuovi la località data dal browser" -#: ../../include/conversation.php:1219 +#: ../../include/conversation.php:1220 msgid "clear location" msgstr "rimuovi la località" -#: ../../include/conversation.php:1221 ../../mod/editblock.php:162 -#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205 +#: ../../include/conversation.php:1222 ../../mod/editwebpage.php:205 +#: ../../mod/editblock.php:162 ../../mod/editpost.php:141 msgid "Title (optional)" msgstr "Titolo (facoltativo)" -#: ../../include/conversation.php:1225 ../../mod/editblock.php:165 -#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163 -#: ../../mod/editwebpage.php:207 +#: ../../include/conversation.php:1226 ../../mod/editwebpage.php:207 +#: ../../mod/editblock.php:165 ../../mod/editlayout.php:163 +#: ../../mod/editpost.php:143 msgid "Categories (optional, comma-separated list)" msgstr "Categorie (facoltative, lista separata da virgole)" -#: ../../include/conversation.php:1227 ../../mod/editblock.php:151 -#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149 -#: ../../mod/editwebpage.php:191 +#: ../../include/conversation.php:1228 ../../mod/editwebpage.php:191 +#: ../../mod/editblock.php:151 ../../mod/editlayout.php:149 +#: ../../mod/editpost.php:130 ../../mod/events.php:474 msgid "Permission settings" msgstr "Permessi dei tuoi contatti" -#: ../../include/conversation.php:1228 +#: ../../include/conversation.php:1229 msgid "permissions" msgstr "permessi" -#: ../../include/conversation.php:1236 ../../mod/editblock.php:159 -#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156 -#: ../../mod/editwebpage.php:200 +#: ../../include/conversation.php:1237 ../../mod/editwebpage.php:200 +#: ../../mod/editblock.php:159 ../../mod/editlayout.php:156 +#: ../../mod/editpost.php:138 msgid "Public post" msgstr "Post pubblico" -#: ../../include/conversation.php:1238 ../../mod/editblock.php:166 -#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164 -#: ../../mod/editwebpage.php:208 +#: ../../include/conversation.php:1239 ../../mod/editwebpage.php:208 +#: ../../mod/editblock.php:166 ../../mod/editlayout.php:164 +#: ../../mod/editpost.php:144 msgid "Example: bob@example.com, mary@example.com" msgstr "Per esempio: mario@esempio.com, simona@esempio.com" -#: ../../include/conversation.php:1251 ../../mod/editblock.php:176 -#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:374 -#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217 +#: ../../include/conversation.php:1252 ../../mod/editwebpage.php:217 +#: ../../mod/editblock.php:176 ../../mod/editlayout.php:173 +#: ../../mod/mail.php:245 ../../mod/mail.php:374 ../../mod/editpost.php:155 msgid "Set expiration date" msgstr "Data di scadenza" -#: ../../include/conversation.php:1254 +#: ../../include/conversation.php:1255 msgid "Set publish date" msgstr "Data di uscita programmata" -#: ../../include/conversation.php:1256 ../../include/ItemObject.php:695 -#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:376 +#: ../../include/conversation.php:1257 ../../include/ItemObject.php:709 +#: ../../mod/mail.php:247 ../../mod/mail.php:376 ../../mod/editpost.php:157 msgid "Encrypt text" msgstr "Cifratura del messaggio" -#: ../../include/conversation.php:1258 ../../mod/editpost.php:159 -#: ../../mod/events.php:691 +#: ../../include/conversation.php:1259 ../../mod/editpost.php:159 msgid "OK" msgstr "OK" -#: ../../include/conversation.php:1259 ../../mod/fbrowser.php:82 -#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160 -#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 -#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../include/conversation.php:1260 ../../mod/fbrowser.php:82 +#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 +#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/editpost.php:160 msgid "Cancel" msgstr "Annulla" -#: ../../include/conversation.php:1502 +#: ../../include/conversation.php:1503 msgid "Discover" msgstr "Scopri" -#: ../../include/conversation.php:1505 +#: ../../include/conversation.php:1506 msgid "Imported public streams" msgstr "Contenuti pubblici importati" -#: ../../include/conversation.php:1510 +#: ../../include/conversation.php:1511 msgid "Commented Order" msgstr "Ultimi commenti" -#: ../../include/conversation.php:1513 +#: ../../include/conversation.php:1514 msgid "Sort by Comment Date" msgstr "Per data del commento" -#: ../../include/conversation.php:1517 +#: ../../include/conversation.php:1518 msgid "Posted Order" msgstr "Ultimi post" -#: ../../include/conversation.php:1520 +#: ../../include/conversation.php:1521 msgid "Sort by Post Date" msgstr "Per data di creazione" -#: ../../include/conversation.php:1525 ../../include/widgets.php:95 -msgid "Personal" -msgstr "Personali" - -#: ../../include/conversation.php:1528 +#: ../../include/conversation.php:1529 msgid "Posts that mention or involve you" msgstr "Post che ti riguardano" -#: ../../include/conversation.php:1534 ../../mod/menu.php:112 -#: ../../mod/connections.php:72 ../../mod/connections.php:82 +#: ../../include/conversation.php:1535 ../../mod/connections.php:72 +#: ../../mod/connections.php:82 ../../mod/menu.php:112 msgid "New" msgstr "Novità" -#: ../../include/conversation.php:1537 +#: ../../include/conversation.php:1538 msgid "Activity Stream - by date" msgstr "Elenco attività - per data" -#: ../../include/conversation.php:1543 +#: ../../include/conversation.php:1544 msgid "Starred" msgstr "Preferiti" -#: ../../include/conversation.php:1546 +#: ../../include/conversation.php:1547 msgid "Favourite Posts" msgstr "Post preferiti" -#: ../../include/conversation.php:1553 +#: ../../include/conversation.php:1554 msgid "Spam" msgstr "Spam" -#: ../../include/conversation.php:1556 +#: ../../include/conversation.php:1557 msgid "Posts flagged as SPAM" msgstr "Post marcati come spam" -#: ../../include/conversation.php:1600 ../../mod/admin.php:973 +#: ../../include/conversation.php:1601 ../../mod/admin.php:973 msgid "Channel" msgstr "Canale" -#: ../../include/conversation.php:1603 +#: ../../include/conversation.php:1604 msgid "Status Messages and Posts" msgstr "Post e messaggi di stato" -#: ../../include/conversation.php:1612 +#: ../../include/conversation.php:1613 msgid "About" msgstr "Informazioni" -#: ../../include/conversation.php:1615 +#: ../../include/conversation.php:1616 msgid "Profile Details" msgstr "Dettagli del profilo" -#: ../../include/conversation.php:1621 ../../include/apps.php:139 -#: ../../include/nav.php:92 ../../mod/fbrowser.php:25 +#: ../../include/conversation.php:1622 ../../include/nav.php:92 +#: ../../include/apps.php:139 ../../mod/fbrowser.php:25 msgid "Photos" msgstr "Foto" -#: ../../include/conversation.php:1624 ../../include/photos.php:483 +#: ../../include/conversation.php:1625 ../../include/photos.php:483 msgid "Photo Albums" msgstr "Album foto" -#: ../../include/conversation.php:1631 +#: ../../include/conversation.php:1632 msgid "Files and Storage" msgstr "Archivio file" -#: ../../include/conversation.php:1641 ../../include/conversation.php:1644 +#: ../../include/conversation.php:1642 ../../include/conversation.php:1645 msgid "Chatrooms" msgstr "Chat" -#: ../../include/conversation.php:1654 ../../include/apps.php:129 -#: ../../include/nav.php:103 +#: ../../include/conversation.php:1655 ../../include/nav.php:103 +#: ../../include/apps.php:129 msgid "Bookmarks" msgstr "Segnalibri" -#: ../../include/conversation.php:1657 +#: ../../include/conversation.php:1658 msgid "Saved Bookmarks" msgstr "Segnalibri salvati" -#: ../../include/conversation.php:1664 ../../include/apps.php:136 -#: ../../include/nav.php:107 ../../mod/webpages.php:178 +#: ../../include/conversation.php:1665 ../../include/nav.php:107 +#: ../../include/apps.php:136 ../../mod/webpages.php:178 msgid "Webpages" msgstr "Pagine web" -#: ../../include/conversation.php:1667 +#: ../../include/conversation.php:1668 msgid "Manage Webpages" msgstr "Gestisci le pagine web" -#: ../../include/conversation.php:1696 ../../include/ItemObject.php:175 +#: ../../include/conversation.php:1697 ../../include/ItemObject.php:175 #: ../../include/ItemObject.php:187 ../../mod/photos.php:1082 #: ../../mod/photos.php:1094 msgid "View all" msgstr "Vedi tutto" -#: ../../include/conversation.php:1720 ../../include/ItemObject.php:179 -#: ../../include/identity.php:1263 ../../include/taxonomy.php:412 -#: ../../mod/photos.php:1086 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "Mi piace" -msgstr[1] "Mi piace" - -#: ../../include/conversation.php:1723 ../../include/ItemObject.php:184 +#: ../../include/conversation.php:1724 ../../include/ItemObject.php:184 #: ../../mod/photos.php:1091 msgctxt "noun" msgid "Dislike" @@ -1856,601 +2737,306 @@ msgid_plural "Dislikes" msgstr[0] "Non mi piace" msgstr[1] "Non mi piace" -#: ../../include/conversation.php:1726 +#: ../../include/conversation.php:1727 msgctxt "noun" msgid "Attending" msgid_plural "Attending" msgstr[0] "Partecipa" msgstr[1] "Partecipano" -#: ../../include/conversation.php:1729 +#: ../../include/conversation.php:1730 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" msgstr[0] "Non partecipa" msgstr[1] "Non partecipano" -#: ../../include/conversation.php:1732 +#: ../../include/conversation.php:1733 msgctxt "noun" msgid "Undecided" msgid_plural "Undecided" msgstr[0] "Indeciso" msgstr[1] "Indecisi" -#: ../../include/conversation.php:1735 +#: ../../include/conversation.php:1736 msgctxt "noun" msgid "Agree" msgid_plural "Agrees" msgstr[0] "D'accordo" msgstr[1] "D'accordo" -#: ../../include/conversation.php:1738 +#: ../../include/conversation.php:1739 msgctxt "noun" msgid "Disagree" msgid_plural "Disagrees" msgstr[0] "Non d'accordo" msgstr[1] "Non d'accordo" -#: ../../include/conversation.php:1741 +#: ../../include/conversation.php:1742 msgctxt "noun" msgid "Abstain" msgid_plural "Abstains" msgstr[0] "Astenuto" msgstr[1] "Astenuti" -#: ../../include/network.php:613 -msgid "view full size" -msgstr "guarda nelle dimensioni reali" - -#: ../../include/network.php:1591 ../../include/enotify.php:57 -msgid "$Projectname Notification" -msgstr "Notifica $Projectname" - -#: ../../include/network.php:1592 ../../include/enotify.php:58 -msgid "$projectname" -msgstr "$projectname" - -#: ../../include/network.php:1594 ../../include/enotify.php:60 -msgid "Thank You," -msgstr "Grazie," - -#: ../../include/network.php:1596 ../../include/enotify.php:62 -#, php-format -msgid "%s Administrator" -msgstr "L'amministratore di %s" - -#: ../../include/network.php:1638 ../../include/account.php:316 -#: ../../include/account.php:343 ../../include/account.php:403 -msgid "Administrator" -msgstr "Amministratore" - -#: ../../include/network.php:1652 -msgid "No Subject" -msgstr "Nessun titolo" - -#: ../../include/bookmarks.php:35 -#, php-format -msgid "%1$s's bookmarks" -msgstr "I segnalibri di %1$s" - -#: ../../include/acl_selectors.php:240 -msgid "Visible to your default audience" -msgstr "Visibile secondo le impostazioni predefinite" - -#: ../../include/acl_selectors.php:241 -msgid "Show" -msgstr "Mostra" - -#: ../../include/acl_selectors.php:242 -msgid "Don't show" -msgstr "Non mostrare" - -#: ../../include/acl_selectors.php:247 -msgid "Other networks and post services" -msgstr "Invio ad altre reti o a siti esterni" - -#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 -#: ../../mod/chat.php:211 ../../mod/photos.php:631 ../../mod/photos.php:1001 -#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356 -msgid "Permissions" -msgstr "Permessi" - -#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:370 -#: ../../mod/photos.php:1218 -msgid "Close" -msgstr "Chiudi" - -#: ../../include/photos.php:112 -#, php-format -msgid "Image exceeds website size limit of %lu bytes" -msgstr "L'immagine supera il limite massimo di %lu bytes" - -#: ../../include/photos.php:119 -msgid "Image file is empty." -msgstr "Il file dell'immagine è vuoto." - -#: ../../include/photos.php:146 ../../mod/profile_photo.php:222 -msgid "Unable to process image" -msgstr "Impossibile elaborare l'immagine" - -#: ../../include/photos.php:257 -msgid "Photo storage failed." -msgstr "Impossibile salvare la foto." - -#: ../../include/photos.php:487 -msgid "Upload New Photos" -msgstr "Carica nuove foto" - -#: ../../include/notify.php:20 -msgid "created a new post" -msgstr "Ha creato un nuovo post" - -#: ../../include/notify.php:21 -#, php-format -msgid "commented on %s's post" -msgstr "ha commentato il post di %s" - -#: ../../include/page_widgets.php:6 -msgid "New Page" -msgstr "Nuova pagina web" - -#: ../../include/page_widgets.php:39 ../../mod/layouts.php:188 -#: ../../mod/webpages.php:187 ../../mod/blocks.php:159 -msgid "View" -msgstr "Guarda" - -#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 -msgid "Actions" -msgstr "Azioni" - -#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 -msgid "Page Link" -msgstr "Link alla pagina" - -#: ../../include/page_widgets.php:43 -msgid "Title" -msgstr "Titolo" - -#: ../../include/page_widgets.php:44 ../../mod/layouts.php:181 -#: ../../mod/menu.php:110 ../../mod/webpages.php:192 ../../mod/blocks.php:150 -msgid "Created" -msgstr "Creato" - -#: ../../include/page_widgets.php:45 ../../mod/layouts.php:182 -#: ../../mod/menu.php:111 ../../mod/webpages.php:193 ../../mod/blocks.php:151 -msgid "Edited" -msgstr "Modificato" - -#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 -#: ../../mod/photos.php:699 ../../mod/profile_photo.php:146 -#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376 -msgid "Profile Photos" -msgstr "Foto del profilo" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 -msgid "Male" -msgstr "Maschio" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 -msgid "Female" -msgstr "Femmina" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Male" -msgstr "Al momento maschio" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Female" -msgstr "Al momento femmina" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Male" -msgstr "Prevalentemente maschio" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Female" -msgstr "Prevalentemente femmina" - -#: ../../include/profile_selectors.php:6 -msgid "Transgender" -msgstr "Transgender" - -#: ../../include/profile_selectors.php:6 -msgid "Intersex" -msgstr "Intersex" - -#: ../../include/profile_selectors.php:6 -msgid "Transsexual" -msgstr "Transessuale" - -#: ../../include/profile_selectors.php:6 -msgid "Hermaphrodite" -msgstr "Ermafrodito" - -#: ../../include/profile_selectors.php:6 -msgid "Neuter" -msgstr "Neutro" - -#: ../../include/profile_selectors.php:6 -msgid "Non-specific" -msgstr "Non specificato" - -#: ../../include/profile_selectors.php:6 -msgid "Undecided" -msgstr "Indeciso" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Males" -msgstr "Maschi" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Females" -msgstr "Femmine" - -#: ../../include/profile_selectors.php:42 -msgid "Gay" -msgstr "Gay" - -#: ../../include/profile_selectors.php:42 -msgid "Lesbian" -msgstr "Lesbica" - -#: ../../include/profile_selectors.php:42 -msgid "No Preference" -msgstr "Senza preferenza" - -#: ../../include/profile_selectors.php:42 -msgid "Bisexual" -msgstr "Bisessuale" - -#: ../../include/profile_selectors.php:42 -msgid "Autosexual" -msgstr "Autosessuale" - -#: ../../include/profile_selectors.php:42 -msgid "Abstinent" -msgstr "Astinente" - -#: ../../include/profile_selectors.php:42 -msgid "Virgin" -msgstr "Vergine" - -#: ../../include/profile_selectors.php:42 -msgid "Deviant" -msgstr "Deviato" - -#: ../../include/profile_selectors.php:42 -msgid "Fetish" -msgstr "Feticista" - -#: ../../include/profile_selectors.php:42 -msgid "Oodles" -msgstr "Un sacco" - -#: ../../include/profile_selectors.php:42 -msgid "Nonsexual" -msgstr "Asessuato" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Single" -msgstr "Single" - -#: ../../include/profile_selectors.php:80 -msgid "Lonely" -msgstr "Da solo" - -#: ../../include/profile_selectors.php:80 -msgid "Available" -msgstr "Disponibile" - -#: ../../include/profile_selectors.php:80 -msgid "Unavailable" -msgstr "Non disponibile" - -#: ../../include/profile_selectors.php:80 -msgid "Has crush" -msgstr "Ha una cotta" - -#: ../../include/profile_selectors.php:80 -msgid "Infatuated" -msgstr "Infatuato/a" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Dating" -msgstr "Disponibile a un incontro" - -#: ../../include/profile_selectors.php:80 -msgid "Unfaithful" -msgstr "Infedele" - -#: ../../include/profile_selectors.php:80 -msgid "Sex Addict" -msgstr "Sesso-dipendente" - -#: ../../include/profile_selectors.php:80 ../../include/widgets.php:430 -#: ../../include/identity.php:390 ../../include/identity.php:391 -#: ../../include/identity.php:398 ../../mod/connedit.php:573 -#: ../../mod/settings.php:338 ../../mod/settings.php:342 -#: ../../mod/settings.php:343 ../../mod/settings.php:346 -#: ../../mod/settings.php:357 -msgid "Friends" -msgstr "Amici" - -#: ../../include/profile_selectors.php:80 -msgid "Friends/Benefits" -msgstr "Amici con qualcosa in più" - -#: ../../include/profile_selectors.php:80 -msgid "Casual" -msgstr "Casual" - -#: ../../include/profile_selectors.php:80 -msgid "Engaged" -msgstr "Impegnato" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Married" -msgstr "Sposato/a" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily married" -msgstr "Con matrimonio immaginario" - -#: ../../include/profile_selectors.php:80 -msgid "Partners" -msgstr "Partner" +#: ../../include/auth.php:132 +msgid "Logged out." +msgstr "Uscita effettuata." -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Cohabiting" -msgstr "Convivente" +#: ../../include/auth.php:273 +msgid "Failed authentication" +msgstr "Autenticazione fallita" -#: ../../include/profile_selectors.php:80 -msgid "Common law" -msgstr "Matrimonio regolare" +#: ../../include/auth.php:287 ../../mod/openid.php:189 +msgid "Login failed." +msgstr "Accesso fallito." -#: ../../include/profile_selectors.php:80 -msgid "Happy" -msgstr "Felice" +#: ../../include/contact_selectors.php:56 +msgid "Frequently" +msgstr "Frequentemente" -#: ../../include/profile_selectors.php:80 -msgid "Not looking" -msgstr "Non in cerca" +#: ../../include/contact_selectors.php:57 +msgid "Hourly" +msgstr "Ogni ora" -#: ../../include/profile_selectors.php:80 -msgid "Swinger" -msgstr "Scambista" +#: ../../include/contact_selectors.php:58 +msgid "Twice daily" +msgstr "Due volte al giorno" -#: ../../include/profile_selectors.php:80 -msgid "Betrayed" -msgstr "Tradito/a" +#: ../../include/contact_selectors.php:59 +msgid "Daily" +msgstr "Ogni giorno" -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Separated" -msgstr "Separato/a" +#: ../../include/contact_selectors.php:60 +msgid "Weekly" +msgstr "Ogni settimana" -#: ../../include/profile_selectors.php:80 -msgid "Unstable" -msgstr "Instabile" +#: ../../include/contact_selectors.php:61 +msgid "Monthly" +msgstr "Ogni mese" -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Divorced" -msgstr "Divorziato/a" +#: ../../include/contact_selectors.php:76 +msgid "Friendica" +msgstr "Friendica" -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily divorced" -msgstr "Sogna il divorzio" +#: ../../include/contact_selectors.php:77 +msgid "OStatus" +msgstr "OStatus" -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Widowed" -msgstr "Vedovo/a" +#: ../../include/contact_selectors.php:78 +msgid "RSS/Atom" +msgstr "RSS/Atom" -#: ../../include/profile_selectors.php:80 -msgid "Uncertain" -msgstr "Incerto/a" +#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 +#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 +#: ../../boot.php:1488 +msgid "Email" +msgstr "Email" -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "It's complicated" -msgstr "Relazione complicata" +#: ../../include/contact_selectors.php:80 +msgid "Diaspora" +msgstr "Diaspora" -#: ../../include/profile_selectors.php:80 -msgid "Don't care" -msgstr "Chi se ne frega" +#: ../../include/contact_selectors.php:81 +msgid "Facebook" +msgstr "Facebook" -#: ../../include/profile_selectors.php:80 -msgid "Ask me" -msgstr "Chiedimelo" +#: ../../include/contact_selectors.php:82 +msgid "Zot!" +msgstr "Zot!" -#: ../../include/oembed.php:213 -msgid "Embedded content" -msgstr "Contenuti incorporati" +#: ../../include/contact_selectors.php:83 +msgid "LinkedIn" +msgstr "LinkedIn" -#: ../../include/oembed.php:222 -msgid "Embedding disabled" -msgstr "Disabilita la creazione di contenuti incorporati" +#: ../../include/contact_selectors.php:84 +msgid "XMPP/IM" +msgstr "XMPP/IM" -#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 -msgid "l F d, Y \\@ g:i A" -msgstr "l d F Y \\@ G:i" +#: ../../include/contact_selectors.php:85 +msgid "MySpace" +msgstr "MySpace" -#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 -msgid "Starts:" -msgstr "Inizio:" +#: ../../include/zot.php:685 +msgid "Invalid data packet" +msgstr "Dati ricevuti non validi" -#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 -msgid "Finishes:" -msgstr "Fine:" +#: ../../include/zot.php:701 +msgid "Unable to verify channel signature" +msgstr "Impossibile verificare la firma elettronica del canale" -#: ../../include/event.php:50 ../../include/identity.php:1003 -#: ../../include/bb2diaspora.php:493 ../../mod/directory.php:304 -#: ../../mod/events.php:701 -msgid "Location:" -msgstr "Luogo:" +#: ../../include/zot.php:2265 +#, php-format +msgid "Unable to verify site signature for %s" +msgstr "Impossibile verificare la firma elettronica del sito %s" -#: ../../include/event.php:766 -msgid "This event has been added to your calendar." -msgstr "Questo evento è stato aggiunto al tuo calendario" +#: ../../include/zot.php:3592 +msgid "invalid target signature" +msgstr "la firma ricevuta non è valida" -#: ../../include/event.php:953 -msgid "Not specified" -msgstr "Non specificato" +#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 +#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 +#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 +#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 +#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 +#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 +#: ../../include/bbcode.php:833 +msgid "Image/photo" +msgstr "Immagine" -#: ../../include/event.php:954 -msgid "Needs Action" -msgstr "Necessita di un intervento" +#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 +msgid "Encrypted content" +msgstr "Contenuto cifrato" -#: ../../include/event.php:955 -msgid "Completed" -msgstr "Completato" +#: ../../include/bbcode.php:179 +#, php-format +msgid "Install %s element: " +msgstr "Installa l'elemento %s:" -#: ../../include/event.php:956 -msgid "In Process" -msgstr "In corso" +#: ../../include/bbcode.php:183 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." +msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione." -#: ../../include/event.php:957 -msgid "Cancelled" -msgstr "Annullato" +#: ../../include/bbcode.php:193 ../../mod/impel.php:37 +msgid "webpage" +msgstr "pagina web" -#: ../../include/apps.php:128 -msgid "Site Admin" -msgstr "Amministrazione sito" +#: ../../include/bbcode.php:196 ../../mod/impel.php:47 +msgid "layout" +msgstr "layout" -#: ../../include/apps.php:130 -msgid "Address Book" -msgstr "Rubrica" +#: ../../include/bbcode.php:199 ../../mod/impel.php:42 +msgid "block" +msgstr "block" -#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1486 -msgid "Login" -msgstr "Accedi" +#: ../../include/bbcode.php:202 ../../mod/impel.php:54 +msgid "menu" +msgstr "menu" -#: ../../include/apps.php:132 ../../include/nav.php:200 -#: ../../mod/manage.php:160 -msgid "Channel Manager" -msgstr "Gestione canali" +#: ../../include/bbcode.php:257 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" +msgstr "%1$s ha scritto %2$s %3$s" -#: ../../include/apps.php:133 ../../include/nav.php:174 -msgid "Grid" -msgstr "Rete" +#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 +msgid "post" +msgstr "il post" -#: ../../include/apps.php:134 ../../include/widgets.php:554 -#: ../../include/nav.php:202 ../../mod/admin.php:1064 ../../mod/admin.php:1264 -msgid "Settings" -msgstr "Impostazioni" +#: ../../include/bbcode.php:547 +msgid "Different viewers will see this text differently" +msgstr "Ad altri questo testo potrebbe apparire in modo differente" -#: ../../include/apps.php:137 ../../include/nav.php:177 -msgid "Channel Home" -msgstr "Bacheca del canale" +#: ../../include/bbcode.php:755 +msgid "$1 spoiler" +msgstr "$1 spoiler" -#: ../../include/apps.php:138 ../../include/identity.php:1237 -#: ../../include/identity.php:1354 ../../mod/profperm.php:112 -msgid "Profile" -msgstr "Profilo" +#: ../../include/bbcode.php:782 +msgid "$1 wrote:" +msgstr "$1 ha scritto:" -#: ../../include/apps.php:140 ../../include/nav.php:196 -#: ../../mod/events.php:523 -msgid "Events" -msgstr "Eventi" +#: ../../include/contact_widgets.php:14 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "%d invito disponibile" +msgstr[1] "%d inviti disponibili" -#: ../../include/apps.php:141 ../../include/nav.php:162 -msgid "Directory" -msgstr "Elenchi pubblici dei canali" +#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 +msgid "Advanced" +msgstr "Avanzate" -#: ../../include/apps.php:142 ../../include/nav.php:154 ../../mod/help.php:202 -#: ../../mod/help.php:207 ../../mod/layouts.php:176 -msgid "Help" -msgstr "Guida" +#: ../../include/contact_widgets.php:22 +msgid "Find Channels" +msgstr "Ricerca canali" -#: ../../include/apps.php:143 ../../include/nav.php:188 -msgid "Mail" -msgstr "Messaggi" +#: ../../include/contact_widgets.php:23 +msgid "Enter name or interest" +msgstr "Scrivi un nome o un interesse" -#: ../../include/apps.php:144 ../../mod/mood.php:131 -msgid "Mood" -msgstr "Umore" +#: ../../include/contact_widgets.php:24 +msgid "Connect/Follow" +msgstr "Aggiungi" -#: ../../include/apps.php:146 ../../include/nav.php:97 -msgid "Chat" -msgstr "Chat" +#: ../../include/contact_widgets.php:25 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "Per esempio: Mario Rossi, Pesca" -#: ../../include/apps.php:147 ../../include/text.php:866 -#: ../../include/text.php:878 ../../include/nav.php:159 -#: ../../mod/search.php:40 -msgid "Search" +#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 +#: ../../mod/directory.php:386 ../../mod/connections.php:266 +msgid "Find" msgstr "Cerca" -#: ../../include/apps.php:148 -msgid "Probe" -msgstr "Diagnostica" - -#: ../../include/apps.php:149 -msgid "Suggest" -msgstr "Suggerisci" - -#: ../../include/apps.php:150 -msgid "Random Channel" -msgstr "Canale casuale" - -#: ../../include/apps.php:151 -msgid "Invite" -msgstr "Invita" +#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 +#: ../../mod/suggest.php:60 +msgid "Channel Suggestions" +msgstr "Canali suggeriti" -#: ../../include/apps.php:152 -msgid "Features" -msgstr "Funzionalità" +#: ../../include/contact_widgets.php:29 +msgid "Random Profile" +msgstr "Profilo casuale" -#: ../../include/apps.php:153 ../../mod/id.php:28 -msgid "Language" -msgstr "Lingua" +#: ../../include/contact_widgets.php:30 +msgid "Invite Friends" +msgstr "Invita amici" -#: ../../include/apps.php:154 -msgid "Post" -msgstr "Post" +#: ../../include/contact_widgets.php:32 +msgid "Advanced example: name=fred and country=iceland" +msgstr "Per esempio: name=mario e country=italy" -#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 -#: ../../mod/id.php:19 -msgid "Profile Photo" -msgstr "Foto del profilo" +#: ../../include/contact_widgets.php:128 +#, php-format +msgid "%d connection in common" +msgid_plural "%d connections in common" +msgstr[0] "%d contatto in comune" +msgstr[1] "%d contatti in comune" -#: ../../include/apps.php:252 ../../mod/settings.php:84 -#: ../../mod/settings.php:610 -msgid "Update" -msgstr "Aggiorna" +#: ../../include/contact_widgets.php:133 +msgid "show more" +msgstr "mostra tutto" -#: ../../include/apps.php:252 -msgid "Install" -msgstr "Installa" +#: ../../include/dir_fns.php:139 +msgid "Directory Options" +msgstr "Visibilità negli elenchi pubblici" -#: ../../include/apps.php:257 -msgid "Purchase" -msgstr "Acquista" +#: ../../include/dir_fns.php:141 +msgid "Safe Mode" +msgstr "Modalità SafeSearch" -#: ../../include/api.php:1302 -msgid "Public Timeline" -msgstr "Diario pubblico" +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/connedit.php:635 ../../mod/connedit.php:684 ../../mod/api.php:106 +#: ../../mod/photos.php:626 ../../mod/admin.php:410 ../../mod/settings.php:577 +#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/events.php:462 +#: ../../mod/events.php:463 ../../mod/events.php:472 ../../mod/mitem.php:154 +#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229 +#: ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 +msgid "No" +msgstr "No" -#: ../../include/import.php:23 -msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." -msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita." +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/api.php:105 ../../mod/photos.php:626 ../../mod/admin.php:412 +#: ../../mod/settings.php:577 ../../mod/menu.php:96 ../../mod/menu.php:153 +#: ../../mod/events.php:462 ../../mod/events.php:463 ../../mod/events.php:472 +#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 +#: ../../mod/mitem.php:229 ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 +msgid "Yes" +msgstr "Si" -#: ../../include/import.php:70 -msgid "Channel clone failed. Import failed." -msgstr "Impossibile clonare il canale. L'importazione è fallita." +#: ../../include/dir_fns.php:142 +msgid "Public Forums Only" +msgstr "Solo forum pubblici" -#: ../../include/import.php:80 ../../mod/import.php:139 -msgid "Cloned channel not found. Import failed." -msgstr "Impossibile trovare il canale clonato. L'importazione è fallita." +#: ../../include/dir_fns.php:143 +msgid "This Website Only" +msgstr "Solo in questo sito" #: ../../include/enotify.php:96 #, php-format @@ -2631,313 +3217,6 @@ msgstr "Visita %s per approvare o rifiutare il suggerimento." msgid "[Hubzilla:Notify]" msgstr "[Hubzilla]" -#: ../../include/ItemObject.php:130 -msgid "Save to Folder" -msgstr "Salva nella cartella" - -#: ../../include/ItemObject.php:151 -msgid "I will attend" -msgstr "Parteciperò" - -#: ../../include/ItemObject.php:151 -msgid "I will not attend" -msgstr "Non parteciperò" - -#: ../../include/ItemObject.php:151 -msgid "I might attend" -msgstr "Forse parteciperò" - -#: ../../include/ItemObject.php:161 -msgid "I agree" -msgstr "Sono d'accordo" - -#: ../../include/ItemObject.php:161 -msgid "I disagree" -msgstr "Non sono d'accordo" - -#: ../../include/ItemObject.php:161 -msgid "I abstain" -msgstr "Mi astengo" - -#: ../../include/ItemObject.php:212 -msgid "Add Star" -msgstr "Aggiungi ai preferiti" - -#: ../../include/ItemObject.php:213 -msgid "Remove Star" -msgstr "Rimuovi dai preferiti" - -#: ../../include/ItemObject.php:214 -msgid "Toggle Star Status" -msgstr "Attiva/disattiva preferito" - -#: ../../include/ItemObject.php:218 -msgid "starred" -msgstr "preferito" - -#: ../../include/ItemObject.php:236 -msgid "Add Tag" -msgstr "Aggiungi un tag" - -#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 -msgid "I like this (toggle)" -msgstr "Attiva/disattiva Mi piace" - -#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:326 -msgid "like" -msgstr "mi piace" - -#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 -msgid "I don't like this (toggle)" -msgstr "Attiva/disattiva Non mi piace" - -#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:327 -msgid "dislike" -msgstr "non mi piace" - -#: ../../include/ItemObject.php:259 -msgid "Share This" -msgstr "Condividi" - -#: ../../include/ItemObject.php:259 -msgid "share" -msgstr "condividi" - -#: ../../include/ItemObject.php:277 -#, php-format -msgid "%d comment" -msgid_plural "%d comments" -msgstr[0] "%d commento" -msgstr[1] "%d commenti" - -#: ../../include/ItemObject.php:302 ../../include/ItemObject.php:303 -#, php-format -msgid "View %s's profile - %s" -msgstr "Guarda il profilo di %s - %s" - -#: ../../include/ItemObject.php:306 -msgid "to" -msgstr "a" - -#: ../../include/ItemObject.php:307 -msgid "via" -msgstr "via" - -#: ../../include/ItemObject.php:308 -msgid "Wall-to-Wall" -msgstr "Da bacheca a bacheca" - -#: ../../include/ItemObject.php:309 -msgid "via Wall-To-Wall:" -msgstr "da bacheca a bacheca:" - -#: ../../include/ItemObject.php:312 -msgid "Delivery Report" -msgstr "Rapporto di trasmissione" - -#: ../../include/ItemObject.php:348 -msgid "Save Bookmarks" -msgstr "Salva segnalibro" - -#: ../../include/ItemObject.php:349 -msgid "Add to Calendar" -msgstr "Aggiungi al calendario" - -#: ../../include/ItemObject.php:358 -msgid "Mark all seen" -msgstr "Marca tutto come letto" - -#: ../../include/ItemObject.php:364 ../../mod/photos.php:1212 -msgctxt "noun" -msgid "Likes" -msgstr "Mi piace" - -#: ../../include/ItemObject.php:365 ../../mod/photos.php:1213 -msgctxt "noun" -msgid "Dislikes" -msgstr "Non mi piace" - -#: ../../include/ItemObject.php:680 ../../mod/photos.php:1045 -#: ../../mod/photos.php:1163 -msgid "This is you" -msgstr "Questo sei tu" - -#: ../../include/ItemObject.php:689 -msgid "Image" -msgstr "Immagine" - -#: ../../include/ItemObject.php:690 -msgid "Insert Link" -msgstr "Collegamento" - -#: ../../include/ItemObject.php:691 -msgid "Video" -msgstr "Video" - -#: ../../include/zot.php:685 -msgid "Invalid data packet" -msgstr "Dati ricevuti non validi" - -#: ../../include/zot.php:701 -msgid "Unable to verify channel signature" -msgstr "Impossibile verificare la firma elettronica del canale" - -#: ../../include/zot.php:2265 -#, php-format -msgid "Unable to verify site signature for %s" -msgstr "Impossibile verificare la firma elettronica del sito %s" - -#: ../../include/zot.php:3592 -msgid "invalid target signature" -msgstr "la firma ricevuta non è valida" - -#: ../../include/auth.php:132 -msgid "Logged out." -msgstr "Uscita effettuata." - -#: ../../include/auth.php:273 -msgid "Failed authentication" -msgstr "Autenticazione fallita" - -#: ../../include/auth.php:287 ../../mod/openid.php:189 -msgid "Login failed." -msgstr "Accesso fallito." - -#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 -#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 -#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 -#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 -#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 -#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 -#: ../../include/bbcode.php:833 -msgid "Image/photo" -msgstr "Immagine" - -#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 -msgid "Encrypted content" -msgstr "Contenuto cifrato" - -#: ../../include/bbcode.php:179 -#, php-format -msgid "Install %s element: " -msgstr "Installa l'elemento %s:" - -#: ../../include/bbcode.php:183 -#, php-format -msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." -msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione." - -#: ../../include/bbcode.php:193 ../../mod/impel.php:37 -msgid "webpage" -msgstr "pagina web" - -#: ../../include/bbcode.php:196 ../../mod/impel.php:47 -msgid "layout" -msgstr "layout" - -#: ../../include/bbcode.php:199 ../../mod/impel.php:42 -msgid "block" -msgstr "block" - -#: ../../include/bbcode.php:202 ../../mod/impel.php:54 -msgid "menu" -msgstr "menu" - -#: ../../include/bbcode.php:257 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" -msgstr "%1$s ha scritto %2$s %3$s" - -#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 -msgid "post" -msgstr "il post" - -#: ../../include/bbcode.php:547 -msgid "Different viewers will see this text differently" -msgstr "Ad altri questo testo potrebbe apparire in modo differente" - -#: ../../include/bbcode.php:755 -msgid "$1 spoiler" -msgstr "$1 spoiler" - -#: ../../include/bbcode.php:782 -msgid "$1 wrote:" -msgstr "$1 ha scritto:" - -#: ../../include/account.php:27 -msgid "Not a valid email address" -msgstr "Email non valida" - -#: ../../include/account.php:29 -msgid "Your email domain is not among those allowed on this site" -msgstr "Il dominio della tua email attualmente non è permesso su questo sito" - -#: ../../include/account.php:35 -msgid "Your email address is already registered at this site." -msgstr "La tua email è già registrata su questo sito." - -#: ../../include/account.php:67 -msgid "An invitation is required." -msgstr "È necessario un invito." - -#: ../../include/account.php:71 -msgid "Invitation could not be verified." -msgstr "L'invito non può essere verificato." - -#: ../../include/account.php:121 -msgid "Please enter the required information." -msgstr "Inserisci le informazioni richieste." - -#: ../../include/account.php:188 -msgid "Failed to store account information." -msgstr "Non è stato possibile salvare le informazioni del tuo account." - -#: ../../include/account.php:248 -#, php-format -msgid "Registration confirmation for %s" -msgstr "Registrazione di %s confermata" - -#: ../../include/account.php:314 -#, php-format -msgid "Registration request at %s" -msgstr "Richiesta di registrazione su %s" - -#: ../../include/account.php:338 -msgid "your registration password" -msgstr "la password di registrazione" - -#: ../../include/account.php:341 ../../include/account.php:401 -#, php-format -msgid "Registration details for %s" -msgstr "Dettagli della registrazione di %s" - -#: ../../include/account.php:410 -msgid "Account approved." -msgstr "Account approvato." - -#: ../../include/account.php:449 -#, php-format -msgid "Registration revoked for %s" -msgstr "Registrazione revocata per %s" - -#: ../../include/account.php:494 -msgid "Account verified. Please login." -msgstr "Registrazione verificata. Adesso puoi effettuare login." - -#: ../../include/account.php:707 ../../include/account.php:709 -msgid "Click here to upgrade." -msgstr "Clicca qui per aggiornare." - -#: ../../include/account.php:715 -msgid "This action exceeds the limits set by your subscription plan." -msgstr "Questa operazione supera i limiti del tuo abbonamento." - -#: ../../include/account.php:720 -msgid "This action is not available under your subscription plan." -msgstr "Questa operazione non è prevista dal tuo abbonamento." - #: ../../include/follow.php:28 msgid "Channel is blocked on this site." msgstr "Il canale è bloccato per questo sito." @@ -2970,1357 +3249,1162 @@ msgstr "l'account locale non è stato trovato." msgid "Cannot connect to yourself." msgstr "Non puoi connetterti a te stesso." -#: ../../include/security.php:381 -msgid "" -"The form security token was not correct. This probably happened because the " -"form has been opened for too long (>3 hours) before submitting it." -msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto." - -#: ../../include/contact_widgets.php:14 -#, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "%d invito disponibile" -msgstr[1] "%d inviti disponibili" - -#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 -msgid "Advanced" -msgstr "Avanzate" - -#: ../../include/contact_widgets.php:22 -msgid "Find Channels" -msgstr "Ricerca canali" - -#: ../../include/contact_widgets.php:23 -msgid "Enter name or interest" -msgstr "Scrivi un nome o un interesse" - -#: ../../include/contact_widgets.php:24 -msgid "Connect/Follow" -msgstr "Aggiungi" - -#: ../../include/contact_widgets.php:25 -msgid "Examples: Robert Morgenstein, Fishing" -msgstr "Per esempio: Mario Rossi, Pesca" - -#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 -#: ../../mod/directory.php:386 ../../mod/connections.php:266 -msgid "Find" -msgstr "Cerca" - -#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 -#: ../../mod/suggest.php:60 -msgid "Channel Suggestions" -msgstr "Canali suggeriti" - -#: ../../include/contact_widgets.php:29 -msgid "Random Profile" -msgstr "Profilo casuale" - -#: ../../include/contact_widgets.php:30 -msgid "Invite Friends" -msgstr "Invita amici" - -#: ../../include/contact_widgets.php:32 -msgid "Advanced example: name=fred and country=iceland" -msgstr "Per esempio: name=mario e country=italy" - -#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98 -#: ../../include/widgets.php:307 -msgid "Everything" -msgstr "Tutto" - -#: ../../include/contact_widgets.php:95 ../../include/widgets.php:36 -#: ../../include/taxonomy.php:280 -msgid "Categories" -msgstr "Categorie" - -#: ../../include/contact_widgets.php:128 -#, php-format -msgid "%d connection in common" -msgid_plural "%d connections in common" -msgstr[0] "%d contatto in comune" -msgstr[1] "%d contatti in comune" - -#: ../../include/contact_widgets.php:133 -msgid "show more" -msgstr "mostra tutto" - -#: ../../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 "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso." - -#: ../../include/group.php:232 -msgid "Add new connections to this collection (privacy group)" -msgstr "Aggiungi altri contatti a questo insieme (privacy di gruppo)" - -#: ../../include/group.php:251 ../../mod/admin.php:814 -msgid "All Channels" -msgstr "Tutti i canali" - -#: ../../include/group.php:273 -msgid "edit" -msgstr "modifica" - -#: ../../include/group.php:295 -msgid "Collections" -msgstr "Insiemi di canali" - -#: ../../include/group.php:296 -msgid "Edit collection" -msgstr "Modifica l'insieme di canali" - -#: ../../include/group.php:297 -msgid "Add new collection" -msgstr "Nuovo insieme" - -#: ../../include/group.php:298 -msgid "Channels not in any collection" -msgstr "Canali che non sono in un insieme" - -#: ../../include/group.php:300 ../../include/widgets.php:275 -msgid "add" -msgstr "aggiungi" - -#: ../../include/widgets.php:92 ../../include/nav.php:157 -#: ../../mod/apps.php:36 -msgid "Apps" -msgstr "App" - -#: ../../include/widgets.php:93 -msgid "System" -msgstr "Sistema" - -#: ../../include/widgets.php:96 -msgid "Create Personal App" -msgstr "Crea app personale" - -#: ../../include/widgets.php:97 -msgid "Edit Personal App" -msgstr "Modifica app personale" - -#: ../../include/widgets.php:139 ../../mod/suggest.php:54 -msgid "Ignore/Hide" -msgstr "Ignora/nascondi" - -#: ../../include/widgets.php:144 ../../mod/connections.php:125 -msgid "Suggestions" -msgstr "Suggerimenti" - -#: ../../include/widgets.php:145 -msgid "See more..." -msgstr "Altro..." - -#: ../../include/widgets.php:166 -#, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." -msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse." - -#: ../../include/widgets.php:172 -msgid "Add New Connection" -msgstr "Aggiungi un contatto" - -#: ../../include/widgets.php:173 -msgid "Enter the channel address" -msgstr "Scrivi l'indirizzo del canale" - -#: ../../include/widgets.php:174 -msgid "Example: bob@example.com, http://example.com/barbara" -msgstr "Per esempio: mario@pippo.it oppure http://pluto.com/barbara" - -#: ../../include/widgets.php:190 -msgid "Notes" -msgstr "Note" - -#: ../../include/widgets.php:192 ../../include/text.php:867 -#: ../../include/text.php:879 ../../mod/filer.php:49 ../../mod/admin.php:1442 -#: ../../mod/admin.php:1462 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 -msgid "Save" -msgstr "Salva" - -#: ../../include/widgets.php:266 -msgid "Remove term" -msgstr "Rimuovi termine" - -#: ../../include/widgets.php:349 -msgid "Archives" -msgstr "Archivi" - -#: ../../include/widgets.php:428 ../../mod/connedit.php:571 -msgid "Me" -msgstr "Me" - -#: ../../include/widgets.php:429 ../../mod/connedit.php:572 -msgid "Family" -msgstr "Famiglia" - -#: ../../include/widgets.php:431 ../../mod/connedit.php:574 -msgid "Acquaintances" -msgstr "Conoscenti" - -#: ../../include/widgets.php:432 ../../mod/connedit.php:575 -#: ../../mod/connections.php:88 ../../mod/connections.php:103 -msgid "All" -msgstr "Tutti" - -#: ../../include/widgets.php:451 -msgid "Refresh" -msgstr "Aggiorna" - -#: ../../include/widgets.php:485 -msgid "Account settings" -msgstr "Il tuo account" - -#: ../../include/widgets.php:491 -msgid "Channel settings" -msgstr "Impostazioni del canale" - -#: ../../include/widgets.php:497 -msgid "Additional features" -msgstr "Funzionalità opzionali" - -#: ../../include/widgets.php:503 -msgid "Feature/Addon settings" -msgstr "Componenti aggiuntivi" - -#: ../../include/widgets.php:509 -msgid "Display settings" -msgstr "Aspetto" - -#: ../../include/widgets.php:515 -msgid "Connected apps" -msgstr "App connesse" - -#: ../../include/widgets.php:521 -msgid "Export channel" -msgstr "Esporta il canale" - -#: ../../include/widgets.php:530 ../../mod/connedit.php:683 -msgid "Connection Default Permissions" -msgstr "Permessi predefiniti dei nuovi contatti" - -#: ../../include/widgets.php:538 -msgid "Premium Channel Settings" -msgstr "Canale premium - impostazioni" - -#: ../../include/widgets.php:568 -msgid "Private Mail Menu" -msgstr "Menu messaggi privati" - -#: ../../include/widgets.php:570 -msgid "Combined View" -msgstr "Vista combinata" - -#: ../../include/widgets.php:575 ../../include/nav.php:191 -msgid "Inbox" -msgstr "In arrivo" - -#: ../../include/widgets.php:580 ../../include/nav.php:192 -msgid "Outbox" -msgstr "Inviati" - -#: ../../include/widgets.php:585 ../../include/nav.php:193 -msgid "New Message" -msgstr "Nuovo messaggio" +#: ../../include/oembed.php:213 +msgid "Embedded content" +msgstr "Contenuti incorporati" -#: ../../include/widgets.php:604 ../../include/widgets.php:616 -msgid "Conversations" -msgstr "Conversazioni" +#: ../../include/oembed.php:222 +msgid "Embedding disabled" +msgstr "Disabilita la creazione di contenuti incorporati" -#: ../../include/widgets.php:608 -msgid "Received Messages" -msgstr "Ricevuti" +#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485 +msgid "Logout" +msgstr "Esci" -#: ../../include/widgets.php:612 -msgid "Sent Messages" -msgstr "Inviati" +#: ../../include/nav.php:82 ../../include/nav.php:114 +msgid "End this session" +msgstr "Chiudi questa sessione" -#: ../../include/widgets.php:626 -msgid "No messages." -msgstr "Nessun messaggio." +#: ../../include/nav.php:85 ../../include/nav.php:145 +msgid "Home" +msgstr "Bacheca" -#: ../../include/widgets.php:644 -msgid "Delete conversation" -msgstr "Elimina la conversazione" +#: ../../include/nav.php:85 +msgid "Your posts and conversations" +msgstr "I tuoi post e conversazioni" -#: ../../include/widgets.php:670 -msgid "Events Menu" -msgstr "Menu eventi" +#: ../../include/nav.php:86 +msgid "Your profile page" +msgstr "Il tuo profilo" -#: ../../include/widgets.php:671 -msgid "Day View" -msgstr "Eventi del giorno" +#: ../../include/nav.php:88 +msgid "Edit Profiles" +msgstr "Modifica i tuoi profili" -#: ../../include/widgets.php:672 -msgid "Week View" -msgstr "Eventi della settimana" +#: ../../include/nav.php:88 +msgid "Manage/Edit profiles" +msgstr "Gestisci i tuoi profili" -#: ../../include/widgets.php:673 -msgid "Month View" -msgstr "Eventi del mese" +#: ../../include/nav.php:90 +msgid "Edit your profile" +msgstr "Modifica il tuo profilo" -#: ../../include/widgets.php:674 ../../mod/events.php:527 -msgid "Export" -msgstr "Esporta" +#: ../../include/nav.php:92 +msgid "Your photos" +msgstr "Le tue foto" -#: ../../include/widgets.php:675 ../../mod/events.php:530 -msgid "Import" -msgstr "Importa" +#: ../../include/nav.php:93 +msgid "Your files" +msgstr "I tuoi file" -#: ../../include/widgets.php:749 -msgid "Chat Rooms" +#: ../../include/nav.php:97 ../../include/apps.php:146 +msgid "Chat" msgstr "Chat" -#: ../../include/widgets.php:769 -msgid "Bookmarked Chatrooms" -msgstr "Chat nei segnalibri" - -#: ../../include/widgets.php:789 -msgid "Suggested Chatrooms" -msgstr "Chat suggerite" - -#: ../../include/widgets.php:916 ../../include/widgets.php:974 -msgid "photo/image" -msgstr "foto/immagine" - -#: ../../include/widgets.php:1069 ../../include/widgets.php:1071 -msgid "Rate Me" -msgstr "Valutami" - -#: ../../include/widgets.php:1075 -msgid "View Ratings" -msgstr "Vedi le valutazioni ricevute" - -#: ../../include/widgets.php:1086 -msgid "Public Hubs" -msgstr "Hub pubblici" - -#: ../../include/widgets.php:1134 -msgid "Forums" -msgstr "Forum" - -#: ../../include/widgets.php:1161 -msgid "Tasks" -msgstr "Attività" - -#: ../../include/widgets.php:1170 -msgid "Documentation" -msgstr "Guida" - -#: ../../include/widgets.php:1172 -msgid "Project/Site Information" -msgstr "Informazioni sul sito/progetto" - -#: ../../include/widgets.php:1173 -msgid "For Members" -msgstr "Per gli utenti" - -#: ../../include/widgets.php:1174 -msgid "For Administrators" -msgstr "Per gli amministratori" - -#: ../../include/widgets.php:1175 -msgid "For Developers" -msgstr "Per sviluppatori" - -#: ../../include/widgets.php:1200 ../../mod/admin.php:434 -msgid "Site" -msgstr "Sito" - -#: ../../include/widgets.php:1201 -msgid "Accounts" -msgstr "Account" - -#: ../../include/widgets.php:1202 ../../mod/admin.php:965 -msgid "Channels" -msgstr "Canali" - -#: ../../include/widgets.php:1203 ../../mod/admin.php:1062 -#: ../../mod/admin.php:1102 -msgid "Plugins" -msgstr "Plugin" - -#: ../../include/widgets.php:1204 ../../mod/admin.php:1262 -#: ../../mod/admin.php:1296 -msgid "Themes" -msgstr "Temi" - -#: ../../include/widgets.php:1205 -msgid "Inspect queue" -msgstr "Coda di attesa" - -#: ../../include/widgets.php:1206 -msgid "Profile Config" -msgstr "Configurazione del profilo" - -#: ../../include/widgets.php:1207 -msgid "DB updates" -msgstr "Aggiornamenti al DB" - -#: ../../include/widgets.php:1225 ../../include/widgets.php:1231 -#: ../../mod/admin.php:1381 -msgid "Logs" -msgstr "Log" - -#: ../../include/widgets.php:1229 ../../include/nav.php:210 -msgid "Admin" -msgstr "Amministrazione" - -#: ../../include/widgets.php:1230 -msgid "Plugin Features" -msgstr "Plugin" - -#: ../../include/widgets.php:1232 -msgid "User registrations waiting for confirmation" -msgstr "Registrazioni in attesa" - -#: ../../include/widgets.php:1311 ../../mod/photos.php:753 -#: ../../mod/photos.php:1286 -msgid "View Photo" -msgstr "Guarda la foto" - -#: ../../include/widgets.php:1327 ../../mod/photos.php:782 -msgid "Edit Album" -msgstr "Modifica album" - -#: ../../include/message.php:18 -msgid "No recipient provided." -msgstr "Devi scegliere un destinatario." - -#: ../../include/message.php:23 -msgid "[no subject]" -msgstr "[nessun titolo]" - -#: ../../include/message.php:43 -msgid "Unable to determine sender." -msgstr "Impossibile determinare il mittente." - -#: ../../include/message.php:218 -msgid "Stored post could not be verified." -msgstr "Non è stato possibile verificare il post." - -#: ../../include/identity.php:32 -msgid "Unable to obtain identity information from database" -msgstr "Impossibile ottenere le informazioni di identificazione dal database" - -#: ../../include/identity.php:66 -msgid "Empty name" -msgstr "Nome vuoto" - -#: ../../include/identity.php:69 -msgid "Name too long" -msgstr "Nome troppo lungo" - -#: ../../include/identity.php:181 -msgid "No account identifier" -msgstr "Account senza identificativo" - -#: ../../include/identity.php:193 -msgid "Nickname is required." -msgstr "Il nome dell'account è obbligatorio." - -#: ../../include/identity.php:207 -msgid "Reserved nickname. Please choose another." -msgstr "Nome utente riservato. Per favore scegline un altro." - -#: ../../include/identity.php:212 -msgid "" -"Nickname has unsupported characters or is already being used on this site." -msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati." - -#: ../../include/identity.php:288 -msgid "Unable to retrieve created identity" -msgstr "Impossibile caricare l'identità creata" - -#: ../../include/identity.php:346 -msgid "Default Profile" -msgstr "Profilo predefinito" - -#: ../../include/identity.php:769 -msgid "Requested channel is not available." -msgstr "Il canale che cerchi non è disponibile." - -#: ../../include/identity.php:815 ../../mod/achievements.php:11 -#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29 -#: ../../mod/editblock.php:29 ../../mod/profile.php:16 -#: ../../mod/webpages.php:29 ../../mod/blocks.php:29 -#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28 -#: ../../mod/connect.php:13 -msgid "Requested profile is not available." -msgstr "Il profilo richiesto non è disponibile." - -#: ../../include/identity.php:965 ../../mod/profiles.php:774 -msgid "Change profile photo" -msgstr "Cambia la foto del profilo" - -#: ../../include/identity.php:971 -msgid "Profiles" -msgstr "Profili" - -#: ../../include/identity.php:971 -msgid "Manage/edit profiles" -msgstr "Gestisci/modifica i profili" - -#: ../../include/identity.php:972 ../../mod/profiles.php:775 -msgid "Create New Profile" -msgstr "Crea un nuovo profilo" - -#: ../../include/identity.php:975 ../../include/nav.php:90 -msgid "Edit Profile" -msgstr "Modifica il profilo" - -#: ../../include/identity.php:987 ../../mod/profiles.php:786 -msgid "Profile Image" -msgstr "Immagine del profilo" - -#: ../../include/identity.php:990 -msgid "visible to everybody" -msgstr "visibile a tutti" - -#: ../../include/identity.php:991 ../../mod/profiles.php:669 -#: ../../mod/profiles.php:790 -msgid "Edit visibility" -msgstr "Cambia la visibilità" - -#: ../../include/identity.php:1007 ../../include/identity.php:1247 -msgid "Gender:" -msgstr "Sesso:" - -#: ../../include/identity.php:1008 ../../include/identity.php:1291 -msgid "Status:" -msgstr "Stato:" - -#: ../../include/identity.php:1009 ../../include/identity.php:1302 -msgid "Homepage:" -msgstr "Home page:" - -#: ../../include/identity.php:1010 -msgid "Online Now" -msgstr "Online adesso" - -#: ../../include/identity.php:1094 ../../include/identity.php:1172 -#: ../../mod/ping.php:318 -msgid "g A l F d" -msgstr "g A l d F" - -#: ../../include/identity.php:1095 ../../include/identity.php:1173 -msgid "F d" -msgstr "d F" - -#: ../../include/identity.php:1140 ../../include/identity.php:1212 -#: ../../mod/ping.php:341 -msgid "[today]" -msgstr "[oggi]" - -#: ../../include/identity.php:1151 -msgid "Birthday Reminders" -msgstr "Promemoria compleanni" - -#: ../../include/identity.php:1152 -msgid "Birthdays this week:" -msgstr "Compleanni questa settimana:" - -#: ../../include/identity.php:1205 -msgid "[No description]" -msgstr "[Nessuna descrizione]" - -#: ../../include/identity.php:1223 -msgid "Event Reminders" -msgstr "Promemoria" - -#: ../../include/identity.php:1224 -msgid "Events this week:" -msgstr "Eventi della settimana:" - -#: ../../include/identity.php:1245 ../../mod/settings.php:1027 -msgid "Full Name:" -msgstr "Nome completo:" - -#: ../../include/identity.php:1252 -msgid "Like this channel" -msgstr "Mi piace questo canale" +#: ../../include/nav.php:97 +msgid "Your chatrooms" +msgstr "Le tue chat" -#: ../../include/identity.php:1276 -msgid "j F, Y" -msgstr "j F Y" +#: ../../include/nav.php:103 +msgid "Your bookmarks" +msgstr "I tuoi segnalibri" -#: ../../include/identity.php:1277 -msgid "j F" -msgstr "j F" +#: ../../include/nav.php:107 +msgid "Your webpages" +msgstr "Le tue pagine web" -#: ../../include/identity.php:1284 -msgid "Birthday:" -msgstr "Compleanno:" +#: ../../include/nav.php:111 ../../include/apps.php:131 ../../boot.php:1486 +msgid "Login" +msgstr "Accedi" -#: ../../include/identity.php:1288 ../../mod/directory.php:299 -msgid "Age:" -msgstr "Età:" +#: ../../include/nav.php:111 +msgid "Sign in" +msgstr "Accedi" -#: ../../include/identity.php:1297 +#: ../../include/nav.php:128 #, php-format -msgid "for %1$d %2$s" -msgstr "per %1$d %2$s" - -#: ../../include/identity.php:1300 ../../mod/profiles.php:691 -msgid "Sexual Preference:" -msgstr "Preferenze sessuali:" - -#: ../../include/identity.php:1304 ../../mod/directory.php:315 -#: ../../mod/profiles.php:693 -msgid "Hometown:" -msgstr "Città dove vivo:" - -#: ../../include/identity.php:1306 -msgid "Tags:" -msgstr "Tag:" - -#: ../../include/identity.php:1308 ../../mod/profiles.php:694 -msgid "Political Views:" -msgstr "Orientamento politico:" - -#: ../../include/identity.php:1310 -msgid "Religion:" -msgstr "Religione:" - -#: ../../include/identity.php:1312 ../../mod/directory.php:317 -msgid "About:" -msgstr "Informazioni:" +msgid "%s - click to logout" +msgstr "%s - clicca per uscire" -#: ../../include/identity.php:1314 -msgid "Hobbies/Interests:" -msgstr "Interessi e hobby:" +#: ../../include/nav.php:131 +msgid "Remote authentication" +msgstr "Accedi dal tuo hub" -#: ../../include/identity.php:1316 ../../mod/profiles.php:697 -msgid "Likes:" -msgstr "Mi piace:" +#: ../../include/nav.php:131 +msgid "Click to authenticate to your home hub" +msgstr "Clicca per farti riconoscere dal tuo hub principale" -#: ../../include/identity.php:1318 ../../mod/profiles.php:698 -msgid "Dislikes:" -msgstr "Non mi piace:" +#: ../../include/nav.php:145 +msgid "Home Page" +msgstr "Bacheca" -#: ../../include/identity.php:1320 -msgid "Contact information and Social Networks:" -msgstr "Contatti e social network:" +#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462 +msgid "Register" +msgstr "Registrati" -#: ../../include/identity.php:1322 -msgid "My other channels:" -msgstr "I miei altri canali:" +#: ../../include/nav.php:149 +msgid "Create an account" +msgstr "Crea un account" -#: ../../include/identity.php:1324 -msgid "Musical interests:" -msgstr "Gusti musicali:" +#: ../../include/nav.php:154 ../../include/apps.php:142 +#: ../../mod/layouts.php:176 ../../mod/help.php:202 ../../mod/help.php:207 +msgid "Help" +msgstr "Guida" -#: ../../include/identity.php:1326 -msgid "Books, literature:" -msgstr "Libri, letteratura:" +#: ../../include/nav.php:154 +msgid "Help and documentation" +msgstr "Guida e documentazione" -#: ../../include/identity.php:1328 -msgid "Television:" -msgstr "Televisione:" +#: ../../include/nav.php:157 +msgid "Applications, utilities, links, games" +msgstr "Applicazioni, utilità, link, giochi" -#: ../../include/identity.php:1330 -msgid "Film/dance/culture/entertainment:" -msgstr "Film, danza, cultura, intrattenimento:" +#: ../../include/nav.php:159 ../../include/text.php:867 +#: ../../include/text.php:879 ../../include/apps.php:147 +#: ../../mod/search.php:40 +msgid "Search" +msgstr "Cerca" -#: ../../include/identity.php:1332 -msgid "Love/Romance:" -msgstr "Amore:" +#: ../../include/nav.php:159 +msgid "Search site @name, #tag, ?docs, content" +msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto" -#: ../../include/identity.php:1334 -msgid "Work/employment:" -msgstr "Lavoro:" +#: ../../include/nav.php:162 ../../include/apps.php:141 +msgid "Directory" +msgstr "Elenchi pubblici dei canali" -#: ../../include/identity.php:1336 -msgid "School/education:" -msgstr "Scuola:" +#: ../../include/nav.php:162 +msgid "Channel Directory" +msgstr "Elenchi pubblici dei canali" -#: ../../include/identity.php:1356 -msgid "Like this thing" -msgstr "Mi piace" +#: ../../include/nav.php:174 ../../include/apps.php:133 +msgid "Grid" +msgstr "Rete" -#: ../../include/taxonomy.php:238 ../../include/taxonomy.php:259 -msgid "Tags" -msgstr "Tag" +#: ../../include/nav.php:174 +msgid "Your grid" +msgstr "La tua rete" -#: ../../include/taxonomy.php:303 -msgid "Keywords" -msgstr "Parole chiave" +#: ../../include/nav.php:175 +msgid "Mark all grid notifications seen" +msgstr "Segna come lette le notifiche della tua rete" -#: ../../include/taxonomy.php:324 -msgid "have" -msgstr "ho" +#: ../../include/nav.php:177 ../../include/apps.php:137 +msgid "Channel Home" +msgstr "Bacheca del canale" -#: ../../include/taxonomy.php:324 -msgid "has" -msgstr "ha" +#: ../../include/nav.php:177 +msgid "Channel home" +msgstr "Bacheca del canale" -#: ../../include/taxonomy.php:325 -msgid "want" -msgstr "voglio" +#: ../../include/nav.php:178 +msgid "Mark all channel notifications seen" +msgstr "Segna come lette le notifiche del canale" -#: ../../include/taxonomy.php:325 -msgid "wants" -msgstr "vuole" +#: ../../include/nav.php:181 ../../mod/connections.php:260 +msgid "Connections" +msgstr "Contatti" -#: ../../include/taxonomy.php:326 -msgid "likes" -msgstr "gli piace" +#: ../../include/nav.php:184 +msgid "Notices" +msgstr "Avvisi" -#: ../../include/taxonomy.php:327 -msgid "dislikes" -msgstr "non gli piace" +#: ../../include/nav.php:184 +msgid "Notifications" +msgstr "Notifiche" -#: ../../include/attach.php:246 ../../include/attach.php:332 -msgid "Item was not found." -msgstr "Elemento non trovato." +#: ../../include/nav.php:185 +msgid "See all notifications" +msgstr "Vedi tutte le notifiche" -#: ../../include/attach.php:496 -msgid "No source file." -msgstr "Nessun file di origine." +#: ../../include/nav.php:186 ../../mod/notifications.php:99 +msgid "Mark all system notifications seen" +msgstr "Segna come lette le notifiche di sistema" -#: ../../include/attach.php:514 -msgid "Cannot locate file to replace" -msgstr "Il file da sostituire non è stato trovato" +#: ../../include/nav.php:188 ../../include/apps.php:143 +msgid "Mail" +msgstr "Messaggi" -#: ../../include/attach.php:532 -msgid "Cannot locate file to revise/update" -msgstr "Il file da aggiornare non è stato trovato" +#: ../../include/nav.php:188 +msgid "Private mail" +msgstr "Messaggi privati" -#: ../../include/attach.php:667 -#, php-format -msgid "File exceeds size limit of %d" -msgstr "Il file supera la dimensione massima di %d" +#: ../../include/nav.php:189 +msgid "See all private messages" +msgstr "Guarda tutti i messaggi privati" -#: ../../include/attach.php:681 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." -msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati." +#: ../../include/nav.php:190 +msgid "Mark all private messages seen" +msgstr "Segna come letti tutti i messaggi privati" -#: ../../include/attach.php:837 -msgid "File upload failed. Possible system limit or action terminated." -msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato." +#: ../../include/nav.php:196 ../../include/apps.php:140 +msgid "Events" +msgstr "Eventi" -#: ../../include/attach.php:850 -msgid "Stored file could not be verified. Upload failed." -msgstr "Il file non può essere verificato. Caricamento fallito." +#: ../../include/nav.php:196 +msgid "Event Calendar" +msgstr "Calendario" -#: ../../include/attach.php:898 ../../include/attach.php:914 -msgid "Path not available." -msgstr "Percorso non disponibile." +#: ../../include/nav.php:197 +msgid "See all events" +msgstr "Guarda tutti gli eventi" -#: ../../include/attach.php:960 ../../include/attach.php:1112 -msgid "Empty pathname" -msgstr "Il percorso del file è vuoto" +#: ../../include/nav.php:198 +msgid "Mark all events seen" +msgstr "Marca come letti tutti gli eventi" -#: ../../include/attach.php:986 -msgid "duplicate filename or path" -msgstr "il file o il percorso del file è duplicato" +#: ../../include/nav.php:200 ../../include/apps.php:132 +#: ../../mod/manage.php:160 +msgid "Channel Manager" +msgstr "Gestione canali" -#: ../../include/attach.php:1008 -msgid "Path not found." -msgstr "Percorso del file non trovato." +#: ../../include/nav.php:200 +msgid "Manage Your Channels" +msgstr "Gestisci i tuoi canali" -#: ../../include/attach.php:1066 -msgid "mkdir failed." -msgstr "mkdir fallito." +#: ../../include/nav.php:202 +msgid "Account/Channel Settings" +msgstr "Impostazioni dell'account e del canale" -#: ../../include/attach.php:1070 -msgid "database storage failed." -msgstr "scrittura su database fallita." +#: ../../include/nav.php:210 +msgid "Site Setup and Configuration" +msgstr "Installazione e configurazione del sito" -#: ../../include/attach.php:1118 -msgid "Empty path" -msgstr "La posizione è vuota" +#: ../../include/nav.php:246 +msgid "@name, #tag, ?doc, content" +msgstr "@nome, #tag, ?guida, contenuto" -#: ../../include/bb2diaspora.php:382 -msgid "Attachments:" -msgstr "Allegati:" +#: ../../include/nav.php:247 +msgid "Please wait..." +msgstr "Attendere..." -#: ../../include/bb2diaspora.php:473 -msgid "$Projectname event notification:" -msgstr "Notifica evento $Projectname:" +#: ../../include/security.php:381 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." +msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto." -#: ../../include/text.php:393 +#: ../../include/text.php:394 msgid "prev" msgstr "prec" -#: ../../include/text.php:395 +#: ../../include/text.php:396 msgid "first" msgstr "inizio" -#: ../../include/text.php:424 +#: ../../include/text.php:425 msgid "last" msgstr "fine" -#: ../../include/text.php:427 +#: ../../include/text.php:428 msgid "next" msgstr "succ" -#: ../../include/text.php:437 +#: ../../include/text.php:438 msgid "older" msgstr "più recenti" -#: ../../include/text.php:439 +#: ../../include/text.php:440 msgid "newer" msgstr "più nuovi" -#: ../../include/text.php:784 +#: ../../include/text.php:785 msgid "No connections" msgstr "Nessun contatto" -#: ../../include/text.php:796 +#: ../../include/text.php:797 #, php-format msgid "%d Connection" msgid_plural "%d Connections" msgstr[0] "%d contatto" msgstr[1] "%d contatti" -#: ../../include/text.php:809 ../../mod/viewconnections.php:101 +#: ../../include/text.php:810 ../../mod/viewconnections.php:101 msgid "View Connections" msgstr "Elenco contatti" -#: ../../include/text.php:953 +#: ../../include/text.php:954 msgid "poke" msgstr "poke" -#: ../../include/text.php:954 +#: ../../include/text.php:955 msgid "ping" msgstr "ping" -#: ../../include/text.php:954 +#: ../../include/text.php:955 msgid "pinged" msgstr "ha ricevuto un ping" -#: ../../include/text.php:955 +#: ../../include/text.php:956 msgid "prod" msgstr "spintone" -#: ../../include/text.php:955 +#: ../../include/text.php:956 msgid "prodded" msgstr "ha ricevuto uno spintone" -#: ../../include/text.php:956 +#: ../../include/text.php:957 msgid "slap" msgstr "schiaffo" -#: ../../include/text.php:956 +#: ../../include/text.php:957 msgid "slapped" msgstr "ha ricevuto uno schiaffo" -#: ../../include/text.php:957 +#: ../../include/text.php:958 msgid "finger" msgstr "finger" -#: ../../include/text.php:957 +#: ../../include/text.php:958 msgid "fingered" msgstr "ha ricevuto un finger" -#: ../../include/text.php:958 +#: ../../include/text.php:959 msgid "rebuff" msgstr "rifiuto" -#: ../../include/text.php:958 +#: ../../include/text.php:959 msgid "rebuffed" msgstr "ha ricevuto un rifiuto" -#: ../../include/text.php:968 +#: ../../include/text.php:969 msgid "happy" msgstr "felice" -#: ../../include/text.php:969 +#: ../../include/text.php:970 msgid "sad" msgstr "triste" -#: ../../include/text.php:970 +#: ../../include/text.php:971 msgid "mellow" msgstr "calmo" -#: ../../include/text.php:971 +#: ../../include/text.php:972 msgid "tired" msgstr "stanco" -#: ../../include/text.php:972 +#: ../../include/text.php:973 msgid "perky" msgstr "vivace" -#: ../../include/text.php:973 +#: ../../include/text.php:974 msgid "angry" msgstr "arrabbiato" -#: ../../include/text.php:974 +#: ../../include/text.php:975 msgid "stupified" msgstr "stordito" -#: ../../include/text.php:975 +#: ../../include/text.php:976 msgid "puzzled" msgstr "confuso" -#: ../../include/text.php:976 +#: ../../include/text.php:977 msgid "interested" msgstr "attento" -#: ../../include/text.php:977 +#: ../../include/text.php:978 msgid "bitter" msgstr "amaro" -#: ../../include/text.php:978 +#: ../../include/text.php:979 msgid "cheerful" msgstr "allegro" -#: ../../include/text.php:979 +#: ../../include/text.php:980 msgid "alive" msgstr "vivace" -#: ../../include/text.php:980 +#: ../../include/text.php:981 msgid "annoyed" msgstr "seccato" -#: ../../include/text.php:981 +#: ../../include/text.php:982 msgid "anxious" msgstr "ansioso" -#: ../../include/text.php:982 +#: ../../include/text.php:983 msgid "cranky" msgstr "irritabile" -#: ../../include/text.php:983 +#: ../../include/text.php:984 msgid "disturbed" msgstr "turbato" -#: ../../include/text.php:984 +#: ../../include/text.php:985 msgid "frustrated" msgstr "frustrato" -#: ../../include/text.php:985 +#: ../../include/text.php:986 msgid "depressed" msgstr "in depressione" -#: ../../include/text.php:986 +#: ../../include/text.php:987 msgid "motivated" msgstr "motivato" -#: ../../include/text.php:987 +#: ../../include/text.php:988 msgid "relaxed" msgstr "rilassato" -#: ../../include/text.php:988 +#: ../../include/text.php:989 msgid "surprised" msgstr "sorpreso" -#: ../../include/text.php:1164 +#: ../../include/text.php:1165 msgid "May" msgstr "Mag" -#: ../../include/text.php:1241 ../../include/text.php:1245 +#: ../../include/text.php:1242 ../../include/text.php:1246 msgid "Unknown Attachment" msgstr "Allegato non riconoscuto" -#: ../../include/text.php:1247 +#: ../../include/text.php:1248 msgid "unknown" msgstr "sconosciuta" -#: ../../include/text.php:1283 +#: ../../include/text.php:1284 msgid "remove category" msgstr "rimuovi la categoria" -#: ../../include/text.php:1360 +#: ../../include/text.php:1361 msgid "remove from file" msgstr "rimuovi dal file" -#: ../../include/text.php:1472 ../../include/text.php:1483 +#: ../../include/text.php:1507 ../../include/text.php:1518 msgid "Click to open/close" msgstr "Clicca per aprire/chiudere" -#: ../../include/text.php:1656 ../../mod/events.php:495 +#: ../../include/text.php:1692 ../../mod/events.php:638 msgid "Link to Source" msgstr "Link al sito d'origine" -#: ../../include/text.php:1677 ../../include/text.php:1749 +#: ../../include/text.php:1713 ../../include/text.php:1785 msgid "default" msgstr "predefinito" -#: ../../include/text.php:1685 +#: ../../include/text.php:1721 msgid "Page layout" msgstr "Layout della pagina" -#: ../../include/text.php:1685 +#: ../../include/text.php:1721 msgid "You can create your own with the layouts tool" msgstr "Puoi creare un tuo layout dalla configurazione delle pagine web" -#: ../../include/text.php:1727 +#: ../../include/text.php:1763 msgid "Page content type" msgstr "Tipo di contenuto della pagina" -#: ../../include/text.php:1761 +#: ../../include/text.php:1797 msgid "Select an alternate language" msgstr "Seleziona una lingua diversa" -#: ../../include/text.php:1893 +#: ../../include/text.php:1929 msgid "activity" msgstr "l'attività" -#: ../../include/text.php:2188 +#: ../../include/text.php:2224 msgid "Design Tools" msgstr "Strumenti di design" -#: ../../include/text.php:2191 ../../mod/blocks.php:147 +#: ../../include/text.php:2227 ../../mod/blocks.php:147 msgid "Blocks" msgstr "Block" -#: ../../include/text.php:2192 ../../mod/menu.php:103 +#: ../../include/text.php:2228 ../../mod/menu.php:103 msgid "Menus" msgstr "Menù" -#: ../../include/text.php:2193 ../../mod/layouts.php:174 +#: ../../include/text.php:2229 ../../mod/layouts.php:174 msgid "Layouts" msgstr "Layout" -#: ../../include/text.php:2194 +#: ../../include/text.php:2230 msgid "Pages" msgstr "Pagine" -#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485 -msgid "Logout" -msgstr "Esci" +#: ../../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 "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso." -#: ../../include/nav.php:82 ../../include/nav.php:114 -msgid "End this session" -msgstr "Chiudi questa sessione" +#: ../../include/group.php:232 +msgid "Add new connections to this collection (privacy group)" +msgstr "Aggiungi altri contatti a questo insieme (privacy di gruppo)" -#: ../../include/nav.php:85 ../../include/nav.php:145 -msgid "Home" -msgstr "Bacheca" +#: ../../include/group.php:251 ../../mod/admin.php:814 +msgid "All Channels" +msgstr "Tutti i canali" -#: ../../include/nav.php:85 -msgid "Your posts and conversations" -msgstr "I tuoi post e conversazioni" +#: ../../include/group.php:273 +msgid "edit" +msgstr "modifica" -#: ../../include/nav.php:86 -msgid "Your profile page" -msgstr "Il tuo profilo" +#: ../../include/group.php:295 +msgid "Collections" +msgstr "Insiemi di canali" -#: ../../include/nav.php:88 -msgid "Edit Profiles" -msgstr "Modifica i tuoi profili" +#: ../../include/group.php:296 +msgid "Edit collection" +msgstr "Modifica l'insieme di canali" -#: ../../include/nav.php:88 -msgid "Manage/Edit profiles" -msgstr "Gestisci i tuoi profili" +#: ../../include/group.php:297 +msgid "Add new collection" +msgstr "Nuovo insieme" -#: ../../include/nav.php:90 -msgid "Edit your profile" -msgstr "Modifica il tuo profilo" +#: ../../include/group.php:298 +msgid "Channels not in any collection" +msgstr "Canali che non sono in un insieme" -#: ../../include/nav.php:92 -msgid "Your photos" -msgstr "Le tue foto" +#: ../../include/page_widgets.php:6 +msgid "New Page" +msgstr "Nuova pagina web" -#: ../../include/nav.php:93 -msgid "Your files" -msgstr "I tuoi file" +#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159 +#: ../../mod/webpages.php:187 ../../mod/layouts.php:188 +msgid "View" +msgstr "Guarda" -#: ../../include/nav.php:97 -msgid "Your chatrooms" -msgstr "Le tue chat" +#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 +msgid "Actions" +msgstr "Azioni" -#: ../../include/nav.php:103 -msgid "Your bookmarks" -msgstr "I tuoi segnalibri" +#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 +msgid "Page Link" +msgstr "Link alla pagina" -#: ../../include/nav.php:107 -msgid "Your webpages" -msgstr "Le tue pagine web" +#: ../../include/page_widgets.php:43 +msgid "Title" +msgstr "Titolo" -#: ../../include/nav.php:111 -msgid "Sign in" -msgstr "Accedi" +#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150 +#: ../../mod/webpages.php:192 ../../mod/layouts.php:181 ../../mod/menu.php:110 +msgid "Created" +msgstr "Creato" -#: ../../include/nav.php:128 +#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151 +#: ../../mod/webpages.php:193 ../../mod/layouts.php:182 ../../mod/menu.php:111 +msgid "Edited" +msgstr "Modificato" + +#: ../../include/dba/dba_driver.php:141 #, php-format -msgid "%s - click to logout" -msgstr "%s - clicca per uscire" +msgid "Cannot locate DNS info for database server '%s'" +msgstr "Non trovo le informazioni DNS per il database server '%s'" -#: ../../include/nav.php:131 -msgid "Remote authentication" -msgstr "Accedi dal tuo hub" +#: ../../include/photos.php:112 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" +msgstr "L'immagine supera il limite massimo di %lu bytes" -#: ../../include/nav.php:131 -msgid "Click to authenticate to your home hub" -msgstr "Clicca per farti riconoscere dal tuo hub principale" +#: ../../include/photos.php:119 +msgid "Image file is empty." +msgstr "Il file dell'immagine è vuoto." -#: ../../include/nav.php:145 -msgid "Home Page" -msgstr "Bacheca" +#: ../../include/photos.php:146 ../../mod/profile_photo.php:225 +msgid "Unable to process image" +msgstr "Impossibile elaborare l'immagine" -#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462 -msgid "Register" -msgstr "Registrati" +#: ../../include/photos.php:257 +msgid "Photo storage failed." +msgstr "Impossibile salvare la foto." -#: ../../include/nav.php:149 -msgid "Create an account" -msgstr "Crea un account" +#: ../../include/photos.php:487 +msgid "Upload New Photos" +msgstr "Carica nuove foto" -#: ../../include/nav.php:154 -msgid "Help and documentation" -msgstr "Guida e documentazione" +#: ../../include/ItemObject.php:130 +msgid "Save to Folder" +msgstr "Salva nella cartella" -#: ../../include/nav.php:157 -msgid "Applications, utilities, links, games" -msgstr "Applicazioni, utilità, link, giochi" +#: ../../include/ItemObject.php:151 +msgid "I will attend" +msgstr "Parteciperò" -#: ../../include/nav.php:159 -msgid "Search site @name, #tag, ?docs, content" -msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto" +#: ../../include/ItemObject.php:151 +msgid "I will not attend" +msgstr "Non parteciperò" -#: ../../include/nav.php:162 -msgid "Channel Directory" -msgstr "Elenchi pubblici dei canali" +#: ../../include/ItemObject.php:151 +msgid "I might attend" +msgstr "Forse parteciperò" -#: ../../include/nav.php:174 -msgid "Your grid" -msgstr "La tua rete" +#: ../../include/ItemObject.php:161 +msgid "I agree" +msgstr "Sono d'accordo" -#: ../../include/nav.php:175 -msgid "Mark all grid notifications seen" -msgstr "Segna come lette le notifiche della tua rete" +#: ../../include/ItemObject.php:161 +msgid "I disagree" +msgstr "Non sono d'accordo" -#: ../../include/nav.php:177 -msgid "Channel home" -msgstr "Bacheca del canale" +#: ../../include/ItemObject.php:161 +msgid "I abstain" +msgstr "Mi astengo" -#: ../../include/nav.php:178 -msgid "Mark all channel notifications seen" -msgstr "Segna come lette le notifiche del canale" +#: ../../include/ItemObject.php:212 +msgid "Add Star" +msgstr "Aggiungi ai preferiti" -#: ../../include/nav.php:181 ../../mod/connections.php:260 -msgid "Connections" -msgstr "Contatti" +#: ../../include/ItemObject.php:213 +msgid "Remove Star" +msgstr "Rimuovi dai preferiti" -#: ../../include/nav.php:184 -msgid "Notices" -msgstr "Avvisi" +#: ../../include/ItemObject.php:214 +msgid "Toggle Star Status" +msgstr "Attiva/disattiva preferito" -#: ../../include/nav.php:184 -msgid "Notifications" -msgstr "Notifiche" +#: ../../include/ItemObject.php:218 +msgid "starred" +msgstr "preferito" -#: ../../include/nav.php:185 -msgid "See all notifications" -msgstr "Vedi tutte le notifiche" +#: ../../include/ItemObject.php:236 +msgid "Add Tag" +msgstr "Aggiungi un tag" -#: ../../include/nav.php:186 ../../mod/notifications.php:99 -msgid "Mark all system notifications seen" -msgstr "Segna come lette le notifiche di sistema" +#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 +msgid "I like this (toggle)" +msgstr "Attiva/disattiva Mi piace" -#: ../../include/nav.php:188 -msgid "Private mail" -msgstr "Messaggi privati" +#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 +msgid "I don't like this (toggle)" +msgstr "Attiva/disattiva Non mi piace" -#: ../../include/nav.php:189 -msgid "See all private messages" -msgstr "Guarda tutti i messaggi privati" +#: ../../include/ItemObject.php:259 +msgid "Share This" +msgstr "Condividi" -#: ../../include/nav.php:190 -msgid "Mark all private messages seen" -msgstr "Segna come letti tutti i messaggi privati" +#: ../../include/ItemObject.php:259 +msgid "share" +msgstr "condividi" -#: ../../include/nav.php:196 -msgid "Event Calendar" -msgstr "Calendario" +#: ../../include/ItemObject.php:268 +msgid "Delivery Report" +msgstr "Rapporto di trasmissione" -#: ../../include/nav.php:197 -msgid "See all events" -msgstr "Guarda tutti gli eventi" +#: ../../include/ItemObject.php:286 +#, php-format +msgid "%d comment" +msgid_plural "%d comments" +msgstr[0] "%d commento" +msgstr[1] "%d commenti" -#: ../../include/nav.php:198 -msgid "Mark all events seen" -msgstr "Marca come letti tutti gli eventi" +#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316 +#, php-format +msgid "View %s's profile - %s" +msgstr "Guarda il profilo di %s - %s" -#: ../../include/nav.php:200 -msgid "Manage Your Channels" -msgstr "Gestisci i tuoi canali" +#: ../../include/ItemObject.php:319 +msgid "to" +msgstr "a" -#: ../../include/nav.php:202 -msgid "Account/Channel Settings" -msgstr "Impostazioni dell'account e del canale" +#: ../../include/ItemObject.php:320 +msgid "via" +msgstr "via" -#: ../../include/nav.php:210 -msgid "Site Setup and Configuration" -msgstr "Installazione e configurazione del sito" +#: ../../include/ItemObject.php:321 +msgid "Wall-to-Wall" +msgstr "Da bacheca a bacheca" -#: ../../include/nav.php:246 -msgid "@name, #tag, ?doc, content" -msgstr "@nome, #tag, ?guida, contenuto" +#: ../../include/ItemObject.php:322 +msgid "via Wall-To-Wall:" +msgstr "da bacheca a bacheca:" -#: ../../include/nav.php:247 -msgid "Please wait..." -msgstr "Attendere..." +#: ../../include/ItemObject.php:362 +msgid "Save Bookmarks" +msgstr "Salva segnalibro" -#: ../../include/dir_fns.php:139 -msgid "Directory Options" -msgstr "Visibilità negli elenchi pubblici" +#: ../../include/ItemObject.php:363 +msgid "Add to Calendar" +msgstr "Aggiungi al calendario" -#: ../../include/dir_fns.php:141 -msgid "Safe Mode" -msgstr "Modalità SafeSearch" +#: ../../include/ItemObject.php:372 +msgid "Mark all seen" +msgstr "Marca tutto come letto" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/connedit.php:635 -#: ../../mod/connedit.php:684 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:410 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:106 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "No" -msgstr "No" +#: ../../include/ItemObject.php:378 ../../mod/photos.php:1212 +msgctxt "noun" +msgid "Likes" +msgstr "Mi piace" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:412 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:105 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "Yes" -msgstr "Si" +#: ../../include/ItemObject.php:379 ../../mod/photos.php:1213 +msgctxt "noun" +msgid "Dislikes" +msgstr "Non mi piace" -#: ../../include/dir_fns.php:142 -msgid "Public Forums Only" -msgstr "Solo forum pubblici" +#: ../../include/ItemObject.php:694 ../../mod/photos.php:1045 +#: ../../mod/photos.php:1163 +msgid "This is you" +msgstr "Questo sei tu" -#: ../../include/dir_fns.php:143 -msgid "This Website Only" -msgstr "Solo in questo sito" +#: ../../include/ItemObject.php:703 +msgid "Image" +msgstr "Immagine" -#: ../../mod/achievements.php:34 -msgid "Some blurb about what to do when you're new here" -msgstr "Qualche suggerimento per i nuovi utenti su cosa fare" +#: ../../include/ItemObject.php:704 +msgid "Insert Link" +msgstr "Collegamento" -#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 -msgid "Contact not found." -msgstr "Contatto non trovato." +#: ../../include/ItemObject.php:705 +msgid "Video" +msgstr "Video" -#: ../../mod/fsuggest.php:63 -msgid "Friend suggestion sent." -msgstr "Suggerimento di amicizia inviato." +#: ../../include/account.php:27 +msgid "Not a valid email address" +msgstr "Email non valida" -#: ../../mod/fsuggest.php:97 -msgid "Suggest Friends" -msgstr "Suggerisci amici" +#: ../../include/account.php:29 +msgid "Your email domain is not among those allowed on this site" +msgstr "Il dominio della tua email attualmente non è permesso su questo sito" -#: ../../mod/fsuggest.php:99 +#: ../../include/account.php:35 +msgid "Your email address is already registered at this site." +msgstr "La tua email è già registrata su questo sito." + +#: ../../include/account.php:67 +msgid "An invitation is required." +msgstr "È necessario un invito." + +#: ../../include/account.php:71 +msgid "Invitation could not be verified." +msgstr "L'invito non può essere verificato." + +#: ../../include/account.php:121 +msgid "Please enter the required information." +msgstr "Inserisci le informazioni richieste." + +#: ../../include/account.php:188 +msgid "Failed to store account information." +msgstr "Non è stato possibile salvare le informazioni del tuo account." + +#: ../../include/account.php:248 #, php-format -msgid "Suggest a friend for %s" -msgstr "Suggerisci un amico a %s" +msgid "Registration confirmation for %s" +msgstr "Registrazione di %s confermata" -#: ../../mod/directory.php:59 ../../mod/display.php:13 ../../mod/search.php:13 -#: ../../mod/photos.php:490 ../../mod/ratings.php:82 -#: ../../mod/viewconnections.php:17 -msgid "Public access denied." -msgstr "Accesso pubblico negato." +#: ../../include/account.php:314 +#, php-format +msgid "Registration request at %s" +msgstr "Richiesta di registrazione su %s" -#: ../../mod/directory.php:236 +#: ../../include/account.php:338 +msgid "your registration password" +msgstr "la password di registrazione" + +#: ../../include/account.php:341 ../../include/account.php:401 #, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "%d valutazione" -msgstr[1] "%d valutazioni" +msgid "Registration details for %s" +msgstr "Dettagli della registrazione di %s" -#: ../../mod/directory.php:247 -msgid "Gender: " -msgstr "Sesso:" +#: ../../include/account.php:410 +msgid "Account approved." +msgstr "Account approvato." -#: ../../mod/directory.php:249 -msgid "Status: " -msgstr "Stato:" +#: ../../include/account.php:449 +#, php-format +msgid "Registration revoked for %s" +msgstr "Registrazione revocata per %s" -#: ../../mod/directory.php:251 -msgid "Homepage: " -msgstr "Homepage:" +#: ../../include/account.php:494 +msgid "Account verified. Please login." +msgstr "Registrazione verificata. Adesso puoi effettuare login." -#: ../../mod/directory.php:310 ../../mod/events.php:699 -msgid "Description:" -msgstr "Descrizione:" +#: ../../include/account.php:707 ../../include/account.php:709 +msgid "Click here to upgrade." +msgstr "Clicca qui per aggiornare." -#: ../../mod/directory.php:319 -msgid "Public Forum:" -msgstr "Forum pubblico:" +#: ../../include/account.php:715 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "Questa operazione supera i limiti del tuo abbonamento." -#: ../../mod/directory.php:322 -msgid "Keywords: " -msgstr "Parole chiave:" +#: ../../include/account.php:720 +msgid "This action is not available under your subscription plan." +msgstr "Questa operazione non è prevista dal tuo abbonamento." -#: ../../mod/directory.php:325 -msgid "Don't suggest" -msgstr "Non fornire suggerimenti" +#: ../../include/apps.php:128 +msgid "Site Admin" +msgstr "Amministrazione sito" -#: ../../mod/directory.php:327 -msgid "Common connections:" -msgstr "Contatti in comune:" +#: ../../include/apps.php:130 +msgid "Address Book" +msgstr "Rubrica" -#: ../../mod/directory.php:376 -msgid "Global Directory" -msgstr "Elenchi pubblici globali" +#: ../../include/apps.php:144 ../../mod/mood.php:131 +msgid "Mood" +msgstr "Umore" -#: ../../mod/directory.php:376 -msgid "Local Directory" -msgstr "Elenco canali su questo hub" +#: ../../include/apps.php:148 +msgid "Probe" +msgstr "Diagnostica" -#: ../../mod/directory.php:382 -msgid "Finding:" -msgstr "Ricerca:" +#: ../../include/apps.php:149 +msgid "Suggest" +msgstr "Suggerisci" -#: ../../mod/directory.php:387 -msgid "next page" -msgstr "pagina successiva" +#: ../../include/apps.php:150 +msgid "Random Channel" +msgstr "Canale casuale" -#: ../../mod/directory.php:387 -msgid "previous page" -msgstr "pagina precedente" +#: ../../include/apps.php:151 +msgid "Invite" +msgstr "Invita" -#: ../../mod/directory.php:388 -msgid "Sort options" -msgstr "Opzioni di ordinamento" +#: ../../include/apps.php:152 +msgid "Features" +msgstr "Funzionalità" -#: ../../mod/directory.php:389 -msgid "Alphabetic" -msgstr "Alfabetico" +#: ../../include/apps.php:153 ../../mod/id.php:28 +msgid "Language" +msgstr "Lingua" -#: ../../mod/directory.php:390 -msgid "Reverse Alphabetic" -msgstr "Alfabetico inverso" +#: ../../include/apps.php:154 +msgid "Post" +msgstr "Post" -#: ../../mod/directory.php:391 -msgid "Newest to Oldest" -msgstr "Prima i più recenti" +#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 +#: ../../mod/id.php:19 +msgid "Profile Photo" +msgstr "Foto del profilo" -#: ../../mod/directory.php:392 -msgid "Oldest to Newest" -msgstr "Prima i più vecchi" +#: ../../include/apps.php:252 ../../mod/settings.php:84 +#: ../../mod/settings.php:612 +msgid "Update" +msgstr "Aggiorna" -#: ../../mod/directory.php:409 -msgid "No entries (some entries may be hidden)." -msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)." +#: ../../include/apps.php:252 +msgid "Install" +msgstr "Installa" -#: ../../mod/bookmarks.php:40 -msgid "Bookmark added" -msgstr "Segnalibro aggiunto" +#: ../../include/apps.php:257 +msgid "Purchase" +msgstr "Acquista" -#: ../../mod/bookmarks.php:62 -msgid "My Bookmarks" -msgstr "I miei segnalibri" +#: ../../include/permissions.php:26 +msgid "Can view my normal stream and posts" +msgstr "Può vedere i miei contenuti e i post normali" -#: ../../mod/bookmarks.php:73 -msgid "My Connections Bookmarks" -msgstr "I segnalibri dei miei contatti" +#: ../../include/permissions.php:27 +msgid "Can view my default channel profile" +msgstr "Può vedere il profilo predefinito del canale" + +#: ../../include/permissions.php:28 +msgid "Can view my connections" +msgstr "Può vedere i miei contatti" + +#: ../../include/permissions.php:29 +msgid "Can view my file storage and photos" +msgstr "Può vedere il mio archivio file e foto" + +#: ../../include/permissions.php:30 +msgid "Can view my webpages" +msgstr "Può vedere le mie pagine web" + +#: ../../include/permissions.php:33 +msgid "Can send me their channel stream and posts" +msgstr "È tra i canali che seguo" + +#: ../../include/permissions.php:34 +msgid "Can post on my channel page (\"wall\")" +msgstr "Può scrivere sulla bacheca del mio canale" + +#: ../../include/permissions.php:35 +msgid "Can comment on or like my posts" +msgstr "Può commentare o aggiungere \"mi piace\" ai miei post" + +#: ../../include/permissions.php:36 +msgid "Can send me private mail messages" +msgstr "Può inviarmi messaggi privati" + +#: ../../include/permissions.php:37 +msgid "Can like/dislike stuff" +msgstr "Può aggiungere \"mi piace\" a tutto il resto" + +#: ../../include/permissions.php:37 +msgid "Profiles and things other than posts/comments" +msgstr "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo" + +#: ../../include/permissions.php:39 +msgid "Can forward to all my channel contacts via post @mentions" +msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione" + +#: ../../include/permissions.php:39 +msgid "Advanced - useful for creating group forum channels" +msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione" + +#: ../../include/permissions.php:40 +msgid "Can chat with me (when available)" +msgstr "Può aprire una chat con me (se disponibile)" + +#: ../../include/permissions.php:41 +msgid "Can write to my file storage and photos" +msgstr "Può modificare il mio archivio file e foto" + +#: ../../include/permissions.php:42 +msgid "Can edit my webpages" +msgstr "Può modificare le mie pagine web" + +#: ../../include/permissions.php:44 +msgid "Can source my public posts in derived channels" +msgstr "Può usare i miei post pubblici per creare canali derivati" + +#: ../../include/permissions.php:44 +msgid "Somewhat advanced - very useful in open communities" +msgstr "Piuttosto avanzato - molto utile nelle comunità aperte" + +#: ../../include/permissions.php:46 +msgid "Can administer my channel resources" +msgstr "Può amministrare i contenuti del mio canale" + +#: ../../include/permissions.php:46 +msgid "" +"Extremely advanced. Leave this alone unless you know what you are doing" +msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri" + +#: ../../include/permissions.php:867 +msgid "Social Networking" +msgstr "Social network" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Mostly Public" +msgstr "Prevalentemente pubblico" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Restricted" +msgstr "Con restrizioni" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +msgid "Private" +msgstr "Privato" + +#: ../../include/permissions.php:868 +msgid "Community Forum" +msgstr "Forum di discussione" + +#: ../../include/permissions.php:869 +msgid "Feed Republish" +msgstr "Aggregatore di feed esterni" + +#: ../../include/permissions.php:870 +msgid "Special Purpose" +msgstr "Per finalità speciali" + +#: ../../include/permissions.php:870 +msgid "Celebrity/Soapbox" +msgstr "Pagina per fan" + +#: ../../include/permissions.php:870 +msgid "Group Repository" +msgstr "Repository di gruppo" + +#: ../../include/permissions.php:871 +msgid "Custom/Expert Mode" +msgstr "Personalizzazione per esperti" + +#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 +#: ../../mod/photos.php:699 ../../mod/profile_photo.php:147 +#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:379 +msgid "Profile Photos" +msgstr "Foto del profilo" + +#: ../../mod/filestorage.php:82 +msgid "Permission Denied." +msgstr "Permesso negato." + +#: ../../mod/filestorage.php:98 +msgid "File not found." +msgstr "File non trovato." + +#: ../../mod/filestorage.php:141 +msgid "Edit file permissions" +msgstr "Modifica i permessi del file" + +#: ../../mod/filestorage.php:150 +msgid "Set/edit permissions" +msgstr "Modifica i permessi" + +#: ../../mod/filestorage.php:151 +msgid "Include all files and sub folders" +msgstr "Includi tutti i file e le sottocartelle" + +#: ../../mod/filestorage.php:152 +msgid "Return to file list" +msgstr "Torna all'elenco dei file" + +#: ../../mod/filestorage.php:154 +msgid "Copy/paste this code to attach file to a post" +msgstr "Copia/incolla questo codice per far comparire il file in un post" + +#: ../../mod/filestorage.php:155 +msgid "Copy/paste this URL to link file from a web page" +msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file" + +#: ../../mod/filestorage.php:157 +msgid "Share this file" +msgstr "Condividi questo file" + +#: ../../mod/filestorage.php:158 +msgid "Show URL to this file" +msgstr "Mostra l'URL del file" + +#: ../../mod/filestorage.php:159 +msgid "Notify your contacts about this file" +msgstr "Notifica ai contatti che hai caricato questo file" + +#: ../../mod/group.php:20 +msgid "Collection created." +msgstr "L'insieme di canali è stato creato." + +#: ../../mod/group.php:26 +msgid "Could not create collection." +msgstr "Impossibile creare l'insieme." + +#: ../../mod/group.php:54 +msgid "Collection updated." +msgstr "Insieme aggiornato." + +#: ../../mod/group.php:86 +msgid "Create a collection of channels." +msgstr "Crea un insieme di canali." + +#: ../../mod/group.php:87 ../../mod/group.php:180 +msgid "Collection Name: " +msgstr "Nome dell'insieme:" + +#: ../../mod/group.php:89 ../../mod/group.php:183 +msgid "Members are visible to other channels" +msgstr "I membri potranno vedere gli altri canali dell'insieme" + +#: ../../mod/group.php:107 +msgid "Collection removed." +msgstr "Insieme rimosso." + +#: ../../mod/group.php:109 +msgid "Unable to remove collection." +msgstr "Impossibile rimuovere l'insieme." + +#: ../../mod/group.php:179 +msgid "Collection Editor" +msgstr "Modifica l'insieme" + +#: ../../mod/group.php:193 +msgid "Members" +msgstr "Membri" + +#: ../../mod/group.php:195 +msgid "All Connected Channels" +msgstr "Tutti i canali connessi" + +#: ../../mod/group.php:227 +msgid "Click on a channel to add or remove." +msgstr "Clicca su un canale per aggiungerlo o rimuoverlo." + +#: ../../mod/item.php:173 +msgid "Unable to locate original post." +msgstr "Impossibile trovare il messaggio originale." + +#: ../../mod/item.php:417 +msgid "Empty post discarded." +msgstr "Il post vuoto è stato ignorato." + +#: ../../mod/item.php:457 +msgid "Executable content type not permitted to this channel." +msgstr "I contenuti eseguibili non sono permessi su questo canale." + +#: ../../mod/item.php:822 +msgid "Duplicate post suppressed." +msgstr "I post duplicati sono scartati." + +#: ../../mod/item.php:953 +msgid "System error. Post not saved." +msgstr "Errore di sistema. Post non salvato." + +#: ../../mod/item.php:1220 +msgid "Unable to obtain post information from database." +msgstr "Impossibile caricare il post dal database." + +#: ../../mod/item.php:1227 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale." + +#: ../../mod/item.php:1234 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." +msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web." + +#: ../../mod/common.php:10 +msgid "No channel." +msgstr "Nessun canale." + +#: ../../mod/common.php:39 +msgid "Common connections" +msgstr "Contatti in comune" + +#: ../../mod/common.php:44 +msgid "No connections in common." +msgstr "Nessun contatto in comune." + +#: ../../mod/connect.php:56 ../../mod/connect.php:104 +msgid "Continue" +msgstr "Continua" + +#: ../../mod/connect.php:85 +msgid "Premium Channel Setup" +msgstr "Canale premium - configurazione" + +#: ../../mod/connect.php:87 +msgid "Enable premium channel connection restrictions" +msgstr "Abilita le restrizioni del canale premium" + +#: ../../mod/connect.php:88 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." +msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc." + +#: ../../mod/connect.php:90 ../../mod/connect.php:110 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" +msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:" + +#: ../../mod/connect.php:91 +msgid "" +"Potential connections will then see the following text before proceeding:" +msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:" + +#: ../../mod/connect.php:92 ../../mod/connect.php:113 +msgid "" +"By continuing, I certify that I have complied with any instructions provided" +" on this page." +msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina." + +#: ../../mod/connect.php:101 +msgid "(No specific instructions have been provided by the channel owner.)" +msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)" + +#: ../../mod/connect.php:109 +msgid "Restricted or Premium Channel" +msgstr "Canale premium - con restrizioni" + +#: ../../mod/match.php:22 +msgid "Profile Match" +msgstr "Profili corrispondenti" + +#: ../../mod/match.php:31 +msgid "No keywords to match. Please add keywords to your default profile." +msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche." + +#: ../../mod/match.php:63 +msgid "is interested in:" +msgstr "interessi personali:" + +#: ../../mod/match.php:70 +msgid "No matches" +msgstr "Nessun risultato" #: ../../mod/openid.php:26 msgid "OpenID protocol error. No ID returned." @@ -4331,18 +4415,92 @@ msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta." msgid "Welcome %s. Remote authentication successful." msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo." -#: ../../mod/block.php:27 ../../mod/page.php:36 -msgid "Invalid item." -msgstr "Elemento non valido." +#: ../../mod/achievements.php:34 +msgid "Some blurb about what to do when you're new here" +msgstr "Qualche suggerimento per i nuovi utenti su cosa fare" -#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29 -msgid "Channel not found." -msgstr "Canale non trovato." +#: ../../mod/chatsvc.php:111 +msgid "Away" +msgstr "Assente" -#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:214 -#: ../../mod/page.php:89 ../../index.php:237 -msgid "Page not found." -msgstr "Pagina non trovata." +#: ../../mod/chatsvc.php:115 +msgid "Online" +msgstr "Online" + +#: ../../mod/pubsites.php:18 +msgid "Public Sites" +msgstr "Siti pubblici" + +#: ../../mod/pubsites.php:21 +msgid "" +"The listed sites allow public registration for the $Projectname network. All" +" sites in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some sites may require subscription or" +" provide tiered service plans. The provider links <strong>may</strong> " +"provide additional details." +msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco." + +#: ../../mod/pubsites.php:27 +msgid "Rate this hub" +msgstr "Valuta questo hub" + +#: ../../mod/pubsites.php:28 +msgid "Site URL" +msgstr "URL del sito" + +#: ../../mod/pubsites.php:28 +msgid "Access Type" +msgstr "Tipo di accesso" + +#: ../../mod/pubsites.php:28 +msgid "Registration Policy" +msgstr "Politica di registrazione" + +#: ../../mod/pubsites.php:28 +msgid "Project" +msgstr "Progetto" + +#: ../../mod/pubsites.php:28 +msgid "View hub ratings" +msgstr "Vedi le valutazioni del hub" + +#: ../../mod/pubsites.php:32 +msgid "Rate" +msgstr "Valuta" + +#: ../../mod/pubsites.php:33 +msgid "View ratings" +msgstr "Vedi le valutazioni" + +#: ../../mod/tagger.php:96 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" +msgstr "%1$s ha taggato %3$s di %2$s con %4$s" + +#: ../../mod/rate.php:158 +msgid "Website:" +msgstr "Sito web:" + +#: ../../mod/rate.php:161 +#, php-format +msgid "Remote Channel [%s] (not yet known on this site)" +msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)" + +#: ../../mod/rate.php:162 +msgid "Rating (this information is public)" +msgstr "Valutazione (visibile a tutti)" + +#: ../../mod/rate.php:163 +msgid "Optionally explain your rating (this information is public)" +msgstr "Commento alla valutazione (facoltativo, visibile a tutti)" + +#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 +msgid "Block Name" +msgstr "Nome del block" + +#: ../../mod/blocks.php:149 +msgid "Block Title" +msgstr "Titolo del block" #: ../../mod/id.php:11 msgid "First Name" @@ -4408,7 +4566,7 @@ msgstr "Giorno di nascita" msgid "Birthdate" msgstr "Data di nascita" -#: ../../mod/id.php:33 ../../mod/profiles.php:431 +#: ../../mod/id.php:33 ../../mod/profiles.php:441 msgid "Gender" msgstr "Sesso" @@ -4480,116 +4638,28 @@ msgstr "Comando completato." msgid "Thank you." msgstr "Grazie." -#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 -msgid "Export Channel" -msgstr "Esporta il canale" - -#: ../../mod/uexport.php:53 -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 "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato." - -#: ../../mod/uexport.php:54 -msgid "Export Content" -msgstr "Esporta i contenuti" - -#: ../../mod/uexport.php:55 -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 "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento." - -#: ../../mod/uexport.php:56 -msgid "Export your posts from a given year." -msgstr "Esporta i tuoi post a partire dall'anno scelto." - -#: ../../mod/uexport.php:58 -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 "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date." +#: ../../mod/page.php:36 ../../mod/block.php:27 +msgid "Invalid item." +msgstr "Elemento non valido." -#: ../../mod/uexport.php:59 -#, php-format -msgid "" -"To select all posts for a given year, such as this year, visit <a " -"href=\"%1$s\">%2$s</a>" -msgstr "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1$s\">%2$s</a> " +#: ../../mod/page.php:52 ../../mod/wall_upload.php:29 ../../mod/block.php:39 +msgid "Channel not found." +msgstr "Canale non trovato." -#: ../../mod/uexport.php:60 -#, 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 "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1$s\">%2$s</a>" +#: ../../mod/page.php:89 ../../mod/display.php:110 ../../mod/help.php:214 +#: ../../mod/block.php:75 ../../index.php:241 +msgid "Page not found." +msgstr "Pagina non trovata." -#: ../../mod/uexport.php:61 -#, php-format +#: ../../mod/page.php:126 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 "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1$s\">%2$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)" - -#: ../../mod/chatsvc.php:111 -msgid "Away" -msgstr "Assente" - -#: ../../mod/chatsvc.php:115 -msgid "Online" -msgstr "Online" - -#: ../../mod/tagger.php:96 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" -msgstr "%1$s ha taggato %3$s di %2$s con %4$s" - -#: ../../mod/common.php:10 -msgid "No channel." -msgstr "Nessun canale." - -#: ../../mod/common.php:39 -msgid "Common connections" -msgstr "Contatti in comune" - -#: ../../mod/common.php:44 -msgid "No connections in common." -msgstr "Nessun contatto in comune." - -#: ../../mod/ping.php:260 -msgid "sent you a private message" -msgstr "ti ha inviato un messaggio privato" - -#: ../../mod/ping.php:308 -msgid "added your channel" -msgstr "ha aggiunto il tuo canale" - -#: ../../mod/ping.php:350 -msgid "posted an event" -msgstr "ha creato un evento" - -#: ../../mod/help.php:147 -msgid "Documentation Search" -msgstr "Ricerca nella guida" - -#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 -msgid "Help:" -msgstr "Guida:" - -#: ../../mod/help.php:211 ../../index.php:234 -msgid "Not Found" -msgstr "Non disponibile" - -#: ../../mod/help.php:235 -msgid "$Projectname Documentation" -msgstr "Guida di $Projectname" +"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." #: ../../mod/removeme.php:29 msgid "" @@ -4627,137 +4697,820 @@ msgid "" "removed from the network" msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni" -#: ../../mod/removeme.php:61 ../../mod/settings.php:1110 +#: ../../mod/removeme.php:61 ../../mod/settings.php:1112 msgid "Remove Channel" msgstr "Elimina questo canale" -#: ../../mod/filer.php:48 -msgid "- select -" -msgstr "- scegli -" +#: ../../mod/mood.php:132 +msgid "Set your current mood and tell your friends" +msgstr "Scegli il tuo umore attuale per mostrarlo agli amici" -#: ../../mod/mitem.php:24 ../../mod/menu.php:140 -msgid "Menu not found." -msgstr "Menù non trovato." +#: ../../mod/new_channel.php:109 +msgid "Add a Channel" +msgstr "Aggiungi un canale" -#: ../../mod/mitem.php:48 -msgid "Unable to create element." -msgstr "Impossibile creare l'elemento." +#: ../../mod/new_channel.php:110 +msgid "" +"A channel is your own collection of related web pages. A channel can be used" +" to hold social network profiles, blogs, conversation groups and forums, " +"celebrity pages, and much more. You may create as many channels as your " +"service provider allows." +msgstr "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti te ne permette il tuo sito." -#: ../../mod/mitem.php:72 -msgid "Unable to update menu element." -msgstr "Non è possibile aggiornare l'elemento del menù." +#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 +#: ../../mod/sources.php:137 +msgid "Channel Name" +msgstr "Nome del canale" -#: ../../mod/mitem.php:88 -msgid "Unable to add menu element." -msgstr "Impossibile aggiungere l'elemento al menù." +#: ../../mod/new_channel.php:113 +msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " +msgstr "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"" -#: ../../mod/mitem.php:116 ../../mod/menu.php:162 ../../mod/xchan.php:37 -msgid "Not found." -msgstr "Non trovato." +#: ../../mod/new_channel.php:114 +msgid "Choose a short nickname" +msgstr "Scegli un nome breve" -#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 -msgid "Menu Item Permissions" -msgstr "Permessi del menu" +#: ../../mod/new_channel.php:115 +msgid "" +"Your nickname will be used to create an easily remembered channel address " +"(like an email address) which you can share with others." +msgstr "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti." -#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1054 -msgid "(click to open/close)" -msgstr "(clicca per aprire/chiudere)" +#: ../../mod/new_channel.php:116 +msgid "Or <a href=\"import\">import an existing channel</a> from another location" +msgstr "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro hub" -#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 -msgid "Link Name" -msgstr "Nome link" +#: ../../mod/new_channel.php:118 +msgid "" +"Please choose a channel type (such as social networking or community forum) " +"and privacy requirements so we can select the best permissions for you" +msgstr "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. Hubzilla sceglierà per te i permessi più adatti." -#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 -msgid "Link or Submenu Target" -msgstr "Azione del link o del sottomenu" +#: ../../mod/new_channel.php:119 +msgid "Channel Type" +msgstr "Tipo di canale" -#: ../../mod/mitem.php:153 -msgid "Enter URL of the link or select a menu name to create a submenu" -msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu" +#: ../../mod/new_channel.php:119 +msgid "Read more about roles" +msgstr "Maggiori informazioni sui ruoli" -#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 -msgid "Use magic-auth if available" -msgstr "Usa l'autenticazione tramite il tuo hub, se disponibile" +#: ../../mod/ratings.php:69 +msgid "No ratings" +msgstr "Nessuna valutazione" -#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 -msgid "Open link in new window" -msgstr "Apri il link in una nuova finestra" +#: ../../mod/ratings.php:82 ../../mod/search.php:13 ../../mod/directory.php:59 +#: ../../mod/photos.php:490 ../../mod/display.php:13 +#: ../../mod/viewconnections.php:17 +msgid "Public access denied." +msgstr "Accesso pubblico negato." -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Order in list" -msgstr "Ordine dell'elenco" +#: ../../mod/ratings.php:99 +msgid "Ratings" +msgstr "Valutazioni" -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Higher numbers will sink to bottom of listing" -msgstr "I numeri più alti andranno in fondo all'elenco" +#: ../../mod/ratings.php:100 +msgid "Rating: " +msgstr "Valutazione:" -#: ../../mod/mitem.php:157 -msgid "Submit and finish" -msgstr "Salva e termina" +#: ../../mod/ratings.php:101 +msgid "Website: " +msgstr "Sito web:" -#: ../../mod/mitem.php:158 -msgid "Submit and continue" -msgstr "Salva e continua" +#: ../../mod/ratings.php:103 +msgid "Description: " +msgstr "Descrizione:" -#: ../../mod/mitem.php:166 -msgid "Menu:" -msgstr "Menu:" +#: ../../mod/setup.php:191 +msgid "$Projectname Server - Setup" +msgstr "Server $Projectname - Installazione" -#: ../../mod/mitem.php:169 -msgid "Link Target" -msgstr "Destinazione link" +#: ../../mod/setup.php:195 +msgid "Could not connect to database." +msgstr " Impossibile connettersi al database." -#: ../../mod/mitem.php:172 -msgid "Edit menu" -msgstr "Modifica il menù" +#: ../../mod/setup.php:199 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." +msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS." -#: ../../mod/mitem.php:175 -msgid "Edit element" -msgstr "Modifica l'elemento" +#: ../../mod/setup.php:206 +msgid "Could not create table." +msgstr "Impossibile creare le tabelle." -#: ../../mod/mitem.php:176 -msgid "Drop element" -msgstr "Elimina l'elemento" +#: ../../mod/setup.php:211 +msgid "Your site database has been installed." +msgstr "Il database del sito è stato installato." -#: ../../mod/mitem.php:177 -msgid "New element" -msgstr "Nuovo elemento" +#: ../../mod/setup.php:215 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." +msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db." -#: ../../mod/mitem.php:178 -msgid "Edit this menu container" -msgstr "Modifica il contenitore del menù" +#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 +msgid "Please see the file \"install/INSTALL.txt\"." +msgstr "Leggi il file 'install/INSTALL.txt'." -#: ../../mod/mitem.php:179 -msgid "Add menu element" -msgstr "Aggiungi un elemento al menù" +#: ../../mod/setup.php:281 +msgid "System check" +msgstr "Verifica del sistema" -#: ../../mod/mitem.php:180 -msgid "Delete this menu item" -msgstr "Elimina questo elemento del menù" +#: ../../mod/setup.php:285 ../../mod/photos.php:914 ../../mod/events.php:668 +#: ../../mod/events.php:675 +msgid "Next" +msgstr "Successivo" -#: ../../mod/mitem.php:181 -msgid "Edit this menu item" -msgstr "Modifica questo elemento del menù" +#: ../../mod/setup.php:286 +msgid "Check again" +msgstr "Verifica di nuovo" -#: ../../mod/mitem.php:198 -msgid "Menu item not found." -msgstr "L'elemento del menù non è stato trovato." +#: ../../mod/setup.php:308 +msgid "Database connection" +msgstr "Connessione al database" -#: ../../mod/mitem.php:211 -msgid "Menu item deleted." -msgstr "L'elemento del menù è stato eliminato." +#: ../../mod/setup.php:309 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." +msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database." -#: ../../mod/mitem.php:213 -msgid "Menu item could not be deleted." -msgstr "L'elemento del menù non può essere eliminato." +#: ../../mod/setup.php:310 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." +msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni." -#: ../../mod/mitem.php:220 -msgid "Edit Menu Element" -msgstr "Modifica l'elemento del menù" +#: ../../mod/setup.php:311 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." +msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare." -#: ../../mod/mitem.php:226 -msgid "Link text" -msgstr "Testo del link" +#: ../../mod/setup.php:315 +msgid "Database Server Name" +msgstr "Server del database" + +#: ../../mod/setup.php:315 +msgid "Default is 127.0.0.1" +msgstr "Il valore predefinito è 127.0.0.1" + +#: ../../mod/setup.php:316 +msgid "Database Port" +msgstr "Port del database" + +#: ../../mod/setup.php:316 +msgid "Communication port number - use 0 for default" +msgstr "Scrivi 0 per usare il valore standard" + +#: ../../mod/setup.php:317 +msgid "Database Login Name" +msgstr "Utente database" + +#: ../../mod/setup.php:318 +msgid "Database Login Password" +msgstr "Password database" + +#: ../../mod/setup.php:319 +msgid "Database Name" +msgstr "Nome database" + +#: ../../mod/setup.php:320 +msgid "Database Type" +msgstr "Tipo database" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "Site administrator email address" +msgstr "Indirizzo email dell'amministratore del hub" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla." + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Website URL" +msgstr "URL completo del sito" + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Please use SSL (https) URL if available." +msgstr "Se disponibile, usa l'indirizzo SSL (https)." + +#: ../../mod/setup.php:325 ../../mod/setup.php:367 +msgid "Please select a default timezone for your website" +msgstr "Seleziona il fuso orario predefinito per il tuo hub" + +#: ../../mod/setup.php:352 +msgid "Site settings" +msgstr "Impostazioni del hub" + +#: ../../mod/setup.php:417 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web" + +#: ../../mod/setup.php:418 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron." +msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron." + +#: ../../mod/setup.php:422 +msgid "PHP executable path" +msgstr "Path del comando PHP" + +#: ../../mod/setup.php:422 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione." + +#: ../../mod/setup.php:427 +msgid "Command line PHP" +msgstr "PHP da riga di comando" + +#: ../../mod/setup.php:436 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"." + +#: ../../mod/setup.php:437 +msgid "This is required for message delivery to work." +msgstr "E' necessario perché funzioni la consegna dei messaggi." + +#: ../../mod/setup.php:440 +msgid "PHP register_argc_argv" +msgstr "PHP register_argc_argv" + +#: ../../mod/setup.php:458 +#, php-format +msgid "" +"Your max allowed total upload size is set to %s. Maximum size of one file to" +" upload is set to %s. You are allowed to upload up to %d files at once." +msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta." + +#: ../../mod/setup.php:463 +msgid "You can adjust these settings in the servers php.ini." +msgstr "Puoi regolare queste impostazioni sul server in php.ini" + +#: ../../mod/setup.php:465 +msgid "PHP upload limits" +msgstr "Limiti PHP in upload" + +#: ../../mod/setup.php:488 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura" + +#: ../../mod/setup.php:489 +msgid "" +"If running under Windows, please see " +"\"http://www.php.net/manual/en/openssl.installation.php\"." +msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"." + +#: ../../mod/setup.php:492 +msgid "Generate encryption keys" +msgstr "Genera chiavi di cifratura" + +#: ../../mod/setup.php:504 +msgid "libCurl PHP module" +msgstr "modulo PHP libCurl" + +#: ../../mod/setup.php:505 +msgid "GD graphics PHP module" +msgstr "modulo PHP GD graphics" + +#: ../../mod/setup.php:506 +msgid "OpenSSL PHP module" +msgstr "modulo PHP OpenSSL" + +#: ../../mod/setup.php:507 +msgid "mysqli or postgres PHP module" +msgstr "modulo PHP per mysqli oppure prostgres" + +#: ../../mod/setup.php:508 +msgid "mb_string PHP module" +msgstr "modulo PHP mb_string" + +#: ../../mod/setup.php:509 +msgid "mcrypt PHP module" +msgstr "modulo PHP mcrypt" + +#: ../../mod/setup.php:510 +msgid "xml PHP module" +msgstr "modulo xml PHP" + +#: ../../mod/setup.php:514 ../../mod/setup.php:516 +msgid "Apache mod_rewrite module" +msgstr "modulo Apache mod_rewrite" + +#: ../../mod/setup.php:514 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato" + +#: ../../mod/setup.php:520 ../../mod/setup.php:523 +msgid "proc_open" +msgstr "proc_open" + +#: ../../mod/setup.php:520 +msgid "" +"Error: proc_open is required but is either not installed or has been " +"disabled in php.ini" +msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini" + +#: ../../mod/setup.php:528 +msgid "Error: libCURL PHP module required but not installed." +msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato." + +#: ../../mod/setup.php:532 +msgid "" +"Error: GD graphics PHP module with JPEG support required but not installed." +msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato." + +#: ../../mod/setup.php:536 +msgid "Error: openssl PHP module required but not installed." +msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato." + +#: ../../mod/setup.php:540 +msgid "" +"Error: mysqli or postgres PHP module required but neither are installed." +msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato" + +#: ../../mod/setup.php:544 +msgid "Error: mb_string PHP module required but not installed." +msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato." + +#: ../../mod/setup.php:548 +msgid "Error: mcrypt PHP module required but not installed." +msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato." + +#: ../../mod/setup.php:552 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato." + +#: ../../mod/setup.php:570 +msgid "" +"The web installer needs to be able to create a file called \".htconfig.php\"" +" in the top folder of your web server and it is unable to do so." +msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo." + +#: ../../mod/setup.php:571 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." +msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi." + +#: ../../mod/setup.php:572 +msgid "" +"At the end of this procedure, we will give you a text to save in a file " +"named .htconfig.php in your Red top folder." +msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla." + +#: ../../mod/setup.php:573 +msgid "" +"You can alternatively skip this procedure and perform a manual installation." +" Please see the file \"install/INSTALL.txt\" for instructions." +msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni." + +#: ../../mod/setup.php:576 +msgid ".htconfig.php is writable" +msgstr ".htconfig.php è scrivibile" + +#: ../../mod/setup.php:590 +msgid "" +"Red uses the Smarty3 template engine to render its web views. Smarty3 " +"compiles templates to PHP to speed up rendering." +msgstr "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP." + +#: ../../mod/setup.php:591 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the Red top level folder." +msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla." + +#: ../../mod/setup.php:592 ../../mod/setup.php:613 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has" +" write access to this folder." +msgstr "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)." + +#: ../../mod/setup.php:593 +#, php-format +msgid "" +"Note: as a security measure, you should give the web server write access to " +"%s only--not the template files (.tpl) that it contains." +msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene." + +#: ../../mod/setup.php:596 +#, php-format +msgid "%s is writable" +msgstr "%s è scrivibile" + +#: ../../mod/setup.php:612 +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 "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix" + +#: ../../mod/setup.php:616 +msgid "store is writable" +msgstr "l'archivio è scrivibile" + +#: ../../mod/setup.php:649 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access" +" to this site." +msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito." + +#: ../../mod/setup.php:650 +msgid "" +"If you have https access to your website or allow connections to TCP port " +"443 (the https: port), you MUST use a browser-valid certificate. You MUST " +"NOT use self-signed certificates!" +msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!" + +#: ../../mod/setup.php:651 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server." + +#: ../../mod/setup.php:652 +msgid "" +"If your certificate is not recognized, members of other sites (who may " +"themselves have valid certificates) will get a warning message on their own " +"site complaining about security issues." +msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser." + +#: ../../mod/setup.php:653 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto." + +#: ../../mod/setup.php:654 +msgid "" +"Providers are available that issue free certificates which are browser-" +"valid." +msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser." + +#: ../../mod/setup.php:656 +msgid "SSL certificate validation" +msgstr "Validazione del certificato SSL" + +#: ../../mod/setup.php:662 +msgid "" +"Url rewrite in .htaccess is not working. Check your server " +"configuration.Test: " +msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:" + +#: ../../mod/setup.php:665 +msgid "Url rewrite is working" +msgstr "Url rewrite funziona correttamente" + +#: ../../mod/setup.php:674 +msgid "" +"The database configuration file \".htconfig.php\" could not be written. " +"Please use the enclosed text to create a configuration file in your web " +"server root." +msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito." + +#: ../../mod/setup.php:698 +msgid "Errors encountered creating database tables." +msgstr "La creazione delle tabelle del database ha generato errori." + +#: ../../mod/setup.php:732 +msgid "<h1>What next</h1>" +msgstr "<h1>I prossimi passi</h1>" + +#: ../../mod/setup.php:733 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the " +"poller." +msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling." + +#: ../../mod/bookmarks.php:40 +msgid "Bookmark added" +msgstr "Segnalibro aggiunto" + +#: ../../mod/bookmarks.php:62 +msgid "My Bookmarks" +msgstr "I miei segnalibri" + +#: ../../mod/bookmarks.php:73 +msgid "My Connections Bookmarks" +msgstr "I segnalibri dei miei contatti" + +#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:157 +msgid "$Projectname" +msgstr "$Projectname" + +#: ../../mod/home.php:75 +#, php-format +msgid "Welcome to %s" +msgstr "%s ti dà il benvenuto" + +#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 +msgid "This setting requires special processing and editing has been blocked." +msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali" + +#: ../../mod/pconfig.php:49 +msgid "Configuration Editor" +msgstr "Editor di configurazione" + +#: ../../mod/pconfig.php:50 +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 "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare." + +#: ../../mod/poke.php:164 +msgid "Poke/Prod" +msgstr "Poke/Prod" + +#: ../../mod/poke.php:165 +msgid "poke, prod or do other things to somebody" +msgstr "Manda un poke, un prod o altro" + +#: ../../mod/poke.php:166 +msgid "Recipient" +msgstr "Destinatario" + +#: ../../mod/poke.php:167 +msgid "Choose what you wish to do to recipient" +msgstr "Scegli cosa vuoi inviare al destinatario" + +#: ../../mod/poke.php:170 +msgid "Make this post private" +msgstr "Rendi privato questo post" + +#: ../../mod/profiles.php:19 ../../mod/profiles.php:184 +#: ../../mod/profiles.php:241 ../../mod/profiles.php:608 +msgid "Profile not found." +msgstr "Profilo non trovato." + +#: ../../mod/profiles.php:39 +msgid "Profile deleted." +msgstr "Profilo eliminato." + +#: ../../mod/profiles.php:63 ../../mod/profiles.php:99 +msgid "Profile-" +msgstr "Profilo-" + +#: ../../mod/profiles.php:84 ../../mod/profiles.php:127 +msgid "New profile created." +msgstr "Il nuovo profilo è stato creato." + +#: ../../mod/profiles.php:105 +msgid "Profile unavailable to clone." +msgstr "Impossibile duplicare il profilo." + +#: ../../mod/profiles.php:146 +msgid "Profile unavailable to export." +msgstr "Il profilo non è disponibile per l'export." + +#: ../../mod/profiles.php:251 +msgid "Profile Name is required." +msgstr "Il nome del profilo è obbligatorio." + +#: ../../mod/profiles.php:414 +msgid "Marital Status" +msgstr "Stato sentimentale" + +#: ../../mod/profiles.php:418 +msgid "Romantic Partner" +msgstr "Partner affettivo" + +#: ../../mod/profiles.php:422 +msgid "Likes" +msgstr "Mi piace" + +#: ../../mod/profiles.php:426 +msgid "Dislikes" +msgstr "Non mi piace" + +#: ../../mod/profiles.php:430 +msgid "Work/Employment" +msgstr "Lavoro/impiego" + +#: ../../mod/profiles.php:433 +msgid "Religion" +msgstr "Religione" + +#: ../../mod/profiles.php:437 +msgid "Political Views" +msgstr "Orientamento politico" + +#: ../../mod/profiles.php:445 +msgid "Sexual Preference" +msgstr "Preferenze sessuali" + +#: ../../mod/profiles.php:449 +msgid "Homepage" +msgstr "Home page" + +#: ../../mod/profiles.php:453 +msgid "Interests" +msgstr "Interessi" + +#: ../../mod/profiles.php:457 ../../mod/admin.php:974 +msgid "Address" +msgstr "Indirizzo" + +#: ../../mod/profiles.php:547 +msgid "Profile updated." +msgstr "Profilo aggiornato." + +#: ../../mod/profiles.php:634 +msgid "Hide your contact/friend list from viewers of this profile?" +msgstr "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?" + +#: ../../mod/profiles.php:674 +msgid "Edit Profile Details" +msgstr "Modifica i dettagli del profilo" + +#: ../../mod/profiles.php:676 +msgid "View this profile" +msgstr "Guarda questo profilo" + +#: ../../mod/profiles.php:678 +msgid "Change Profile Photo" +msgstr "Cambia la foto del profilo" + +#: ../../mod/profiles.php:679 +msgid "Create a new profile using these settings" +msgstr "Crea un nuovo profilo usando queste impostazioni" + +#: ../../mod/profiles.php:680 +msgid "Clone this profile" +msgstr "Clona questo profilo" + +#: ../../mod/profiles.php:681 +msgid "Delete this profile" +msgstr "Elimina questo profilo" + +#: ../../mod/profiles.php:683 +msgid "Import profile from file" +msgstr "Importa il profilo da un file" + +#: ../../mod/profiles.php:684 +msgid "Export profile to file" +msgstr "Esporta il profilo in un file" + +#: ../../mod/profiles.php:685 +msgid "Profile Name:" +msgstr "Nome del profilo:" + +#: ../../mod/profiles.php:686 +msgid "Your Full Name:" +msgstr "Il tuo nome completo:" + +#: ../../mod/profiles.php:687 +msgid "Title/Description:" +msgstr "Titolo/descrizione:" + +#: ../../mod/profiles.php:688 +msgid "Your Gender:" +msgstr "Sesso:" + +#: ../../mod/profiles.php:689 +msgid "Birthday :" +msgstr "Compleanno:" + +#: ../../mod/profiles.php:690 +msgid "Street Address:" +msgstr "Indirizzo (via/piazza):" + +#: ../../mod/profiles.php:691 +msgid "Locality/City:" +msgstr "Località:" + +#: ../../mod/profiles.php:692 +msgid "Postal/Zip Code:" +msgstr "CAP:" + +#: ../../mod/profiles.php:693 +msgid "Country:" +msgstr "Nazione:" + +#: ../../mod/profiles.php:694 +msgid "Region/State:" +msgstr "Regione/stato:" + +#: ../../mod/profiles.php:695 +msgid "<span class=\"heart\">♥</span> Marital Status:" +msgstr "<span class=\"heart\">♥</span> Stato sentimentale:" + +#: ../../mod/profiles.php:696 +msgid "Who: (if applicable)" +msgstr "Con chi: (se possibile)" + +#: ../../mod/profiles.php:697 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com" + +#: ../../mod/profiles.php:698 +msgid "Since [date]:" +msgstr "dal [data]:" + +#: ../../mod/profiles.php:700 +msgid "Homepage URL:" +msgstr "Indirizzo home page:" + +#: ../../mod/profiles.php:703 +msgid "Religious Views:" +msgstr "Orientamento religioso:" + +#: ../../mod/profiles.php:704 +msgid "Keywords:" +msgstr "Parole chiave, tag:" + +#: ../../mod/profiles.php:707 +msgid "Example: fishing photography software" +msgstr "Per esempio: pesca fotografia programmazione" + +#: ../../mod/profiles.php:708 +msgid "Used in directory listings" +msgstr "Visibile negli elenchi pubblici di canali" + +#: ../../mod/profiles.php:709 +msgid "Tell us about yourself..." +msgstr "Raccontaci di te..." + +#: ../../mod/profiles.php:710 +msgid "Hobbies/Interests" +msgstr "Hobby/interessi" + +#: ../../mod/profiles.php:711 +msgid "Contact information and Social Networks" +msgstr "Contatti personali e i tuoi social network" + +#: ../../mod/profiles.php:712 +msgid "My other channels" +msgstr "I miei altri canali" + +#: ../../mod/profiles.php:713 +msgid "Musical interests" +msgstr "Interessi musicali" + +#: ../../mod/profiles.php:714 +msgid "Books, literature" +msgstr "Libri, letteratura" + +#: ../../mod/profiles.php:715 +msgid "Television" +msgstr "Televisione" + +#: ../../mod/profiles.php:716 +msgid "Film/dance/culture/entertainment" +msgstr "Film/danza/cultura/intrattenimento" + +#: ../../mod/profiles.php:717 +msgid "Love/romance" +msgstr "Amore" + +#: ../../mod/profiles.php:718 +msgid "Work/employment" +msgstr "Lavoro/impiego" + +#: ../../mod/profiles.php:719 +msgid "School/education" +msgstr "Scuola/educazione" + +#: ../../mod/profiles.php:725 +msgid "This is your default profile." +msgstr "Questo è il tuo profilo predefinito." + +#: ../../mod/profiles.php:736 +msgid "Age: " +msgstr "Età:" + +#: ../../mod/profiles.php:779 +msgid "Edit/Manage Profiles" +msgstr "Modifica/gestisci i profili" + +#: ../../mod/profiles.php:780 +msgid "Add profile things" +msgstr "Aggiungi oggetti al profilo" + +#: ../../mod/profiles.php:781 +msgid "Include desirable objects in your profile" +msgstr "Aggiungi oggetti interessanti al tuo profilo" + +#: ../../mod/search.php:212 +#, php-format +msgid "Items tagged with: %s" +msgstr "Elementi taggati con: %s" + +#: ../../mod/search.php:214 +#, php-format +msgid "Search results for: %s" +msgstr "Risultati ricerca: %s" #: ../../mod/connedit.php:75 msgid "Could not access contact record." @@ -5029,217 +5782,537 @@ msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni msgid "Last update:" msgstr "Ultimo aggiornamento:" -#: ../../mod/mood.php:132 -msgid "Set your current mood and tell your friends" -msgstr "Scegli il tuo umore attuale per mostrarlo agli amici" +#: ../../mod/acl.php:222 +msgid "network" +msgstr "rete" -#: ../../mod/magic.php:69 -msgid "Hub not found." -msgstr "Hub non trovato." +#: ../../mod/acl.php:232 +msgid "RSS" +msgstr "RSS" -#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 -msgid "This setting requires special processing and editing has been blocked." -msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali" +#: ../../mod/dav.php:121 +msgid "$Projectname channel" +msgstr "Canale $Projectname" -#: ../../mod/pconfig.php:49 -msgid "Configuration Editor" -msgstr "Editor di configurazione" +#: ../../mod/dreport.php:23 +msgid "Invalid message" +msgstr "Messaggio non valido" -#: ../../mod/pconfig.php:50 +#: ../../mod/dreport.php:55 +msgid "no results" +msgstr "nessun risultato" + +#: ../../mod/dreport.php:60 +#, php-format +msgid "Delivery report for %1$s" +msgstr "Rapporto di consegna - %1$s" + +#: ../../mod/dreport.php:74 +msgid "channel sync processed" +msgstr "sincronizzazione del canale effettuata" + +#: ../../mod/dreport.php:78 +msgid "queued" +msgstr "in coda" + +#: ../../mod/dreport.php:82 +msgid "posted" +msgstr "inviato" + +#: ../../mod/dreport.php:86 +msgid "accepted for delivery" +msgstr "accettato per la spedizione" + +#: ../../mod/dreport.php:90 +msgid "updated" +msgstr "aggiornato" + +#: ../../mod/dreport.php:93 +msgid "update ignored" +msgstr "aggiornamento ignorato" + +#: ../../mod/dreport.php:96 +msgid "permission denied" +msgstr "permessi non sufficienti" + +#: ../../mod/dreport.php:100 +msgid "recipient not found" +msgstr "Destinatario non trovato" + +#: ../../mod/dreport.php:103 +msgid "mail recalled" +msgstr "messaggio richiamato dal mittente" + +#: ../../mod/dreport.php:106 +msgid "duplicate mail received" +msgstr "ricevuto messaggio duplicato" + +#: ../../mod/dreport.php:109 +msgid "mail delivered" +msgstr "messaggio recapitato" + +#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78 +#: ../../mod/editblock.php:94 ../../mod/editlayout.php:76 +#: ../../mod/editpost.php:20 +msgid "Item not found" +msgstr "Elemento non trovato" + +#: ../../mod/editwebpage.php:153 +msgid "Delete webpage?" +msgstr "Vuoi eliminare questa pagina web?" + +#: ../../mod/editwebpage.php:172 +msgid "Page link title" +msgstr "Link del titolo" + +#: ../../mod/editwebpage.php:185 ../../mod/editblock.php:145 +#: ../../mod/editlayout.php:143 ../../mod/editpost.php:121 +msgid "Insert YouTube video" +msgstr "Inserisci video da YouTube" + +#: ../../mod/editwebpage.php:186 ../../mod/editblock.php:146 +#: ../../mod/editlayout.php:144 ../../mod/editpost.php:122 +msgid "Insert Vorbis [.ogg] video" +msgstr "Inserisci video Vorbis [.ogg]" + +#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:147 +#: ../../mod/editlayout.php:145 ../../mod/editpost.php:123 +msgid "Insert Vorbis [.ogg] audio" +msgstr "Inserisci audio Vorbis [.ogg]" + +#: ../../mod/editwebpage.php:222 +msgid "Edit Webpage" +msgstr "Modifica la pagina web" + +#: ../../mod/oexchange.php:23 +msgid "Unable to find your hub." +msgstr "Impossibile raggiungere il tuo hub." + +#: ../../mod/oexchange.php:37 +msgid "Post successful." +msgstr "Inviato!" + +#: ../../mod/ping.php:260 +msgid "sent you a private message" +msgstr "ti ha inviato un messaggio privato" + +#: ../../mod/ping.php:308 +msgid "added your channel" +msgstr "ha aggiunto il tuo canale" + +#: ../../mod/ping.php:350 +msgid "posted an event" +msgstr "ha creato un evento" + +#: ../../mod/api.php:76 ../../mod/api.php:102 +msgid "Authorize application connection" +msgstr "Autorizza la app" + +#: ../../mod/api.php:77 +msgid "Return to your app and insert this Securty Code:" +msgstr "Torna alla app e inserisci questo codice di sicurezza:" + +#: ../../mod/api.php:89 +msgid "Please login to continue." +msgstr "Accedi al sito per continuare." + +#: ../../mod/api.php:104 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 "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare." +"Do you want to authorize this application to access your posts and contacts," +" and/or create new posts for you?" +msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?" -#: ../../mod/filestorage.php:82 -msgid "Permission Denied." -msgstr "Permesso negato." +#: ../../mod/notify.php:53 ../../mod/notifications.php:94 +msgid "No more system notifications." +msgstr "Non ci sono nuove notifiche di sistema." -#: ../../mod/filestorage.php:98 -msgid "File not found." -msgstr "File non trovato." +#: ../../mod/notify.php:57 ../../mod/notifications.php:98 +msgid "System Notifications" +msgstr "Notifiche di sistema" -#: ../../mod/filestorage.php:141 -msgid "Edit file permissions" -msgstr "Modifica i permessi del file" +#: ../../mod/rbmark.php:90 +msgid "Select a bookmark folder" +msgstr "Scegli una cartella di segnalibri" -#: ../../mod/filestorage.php:150 -msgid "Set/edit permissions" -msgstr "Modifica i permessi" +#: ../../mod/rbmark.php:95 +msgid "Save Bookmark" +msgstr "Salva segnalibro" -#: ../../mod/filestorage.php:151 -msgid "Include all files and sub folders" -msgstr "Includi tutti i file e le sottocartelle" +#: ../../mod/rbmark.php:96 +msgid "URL of bookmark" +msgstr "URL del segnalibro" -#: ../../mod/filestorage.php:152 -msgid "Return to file list" -msgstr "Torna all'elenco dei file" +#: ../../mod/rbmark.php:97 ../../mod/appman.php:93 ../../mod/events.php:465 +msgid "Description" +msgstr "Descrizione" -#: ../../mod/filestorage.php:154 -msgid "Copy/paste this code to attach file to a post" -msgstr "Copia/incolla questo codice per far comparire il file in un post" +#: ../../mod/rbmark.php:101 +msgid "Or enter new bookmark folder name" +msgstr "O inserisci il nome di una nuova cartella di segnalibri" -#: ../../mod/filestorage.php:155 -msgid "Copy/paste this URL to link file from a web page" -msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file" +#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 +msgid "Contact not found." +msgstr "Contatto non trovato." -#: ../../mod/filestorage.php:157 -msgid "Share this file" -msgstr "Condividi questo file" +#: ../../mod/fsuggest.php:63 +msgid "Friend suggestion sent." +msgstr "Suggerimento di amicizia inviato." -#: ../../mod/filestorage.php:158 -msgid "Show URL to this file" -msgstr "Mostra l'URL del file" +#: ../../mod/fsuggest.php:97 +msgid "Suggest Friends" +msgstr "Suggerisci amici" -#: ../../mod/filestorage.php:159 -msgid "Notify your contacts about this file" -msgstr "Notifica ai contatti che hai caricato questo file" +#: ../../mod/fsuggest.php:99 +#, php-format +msgid "Suggest a friend for %s" +msgstr "Suggerisci un amico a %s" -#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 -msgid "This site is not a directory server" -msgstr "Questo non è un directory server" +#: ../../mod/sources.php:32 +msgid "Failed to create source. No channel selected." +msgstr "Impossibile creare la sorgente. Nessun canale selezionato." -#: ../../mod/layouts.php:121 ../../mod/layouts.php:179 -#: ../../mod/editlayout.php:161 -msgid "Layout Name" -msgstr "Nome layout" +#: ../../mod/sources.php:45 +msgid "Source created." +msgstr "Sorgente creata." -#: ../../mod/layouts.php:124 ../../mod/editlayout.php:159 -msgid "Layout Description (Optional)" -msgstr "Descrizione del layout (facoltativa)" +#: ../../mod/sources.php:57 +msgid "Source updated." +msgstr "Sorgente aggiornata." -#: ../../mod/layouts.php:176 -msgid "Comanche page description language help" -msgstr "Guida di Comanche Page Description Language" +#: ../../mod/sources.php:82 +msgid "*" +msgstr "*" -#: ../../mod/layouts.php:180 -msgid "Layout Description" -msgstr "Descrizione del layout" +#: ../../mod/sources.php:89 +msgid "Manage remote sources of content for your channel." +msgstr "Gestisci le sorgenti dei contenuti del tuo canale." -#: ../../mod/layouts.php:185 -msgid "Download PDL file" -msgstr "Scarica il file PDL" +#: ../../mod/sources.php:90 ../../mod/sources.php:100 +msgid "New Source" +msgstr "Nuova sorgente" -#: ../../mod/poke.php:164 -msgid "Poke/Prod" -msgstr "Poke/Prod" +#: ../../mod/sources.php:101 ../../mod/sources.php:133 +msgid "" +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." +msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente." -#: ../../mod/poke.php:165 -msgid "poke, prod or do other things to somebody" -msgstr "Manda un poke, un prod o altro" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Only import content with these words (one per line)" +msgstr "Importa solo i contenuti che hanno queste parole (una per riga)" -#: ../../mod/poke.php:166 -msgid "Recipient" -msgstr "Destinatario" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Leave blank to import all public content" +msgstr "Lascia vuoto per importare tutti i contenuti pubblici" -#: ../../mod/poke.php:167 -msgid "Choose what you wish to do to recipient" -msgstr "Scegli cosa vuoi inviare al destinatario" +#: ../../mod/sources.php:123 ../../mod/sources.php:150 +msgid "Source not found." +msgstr "Sorgente non trovata." -#: ../../mod/poke.php:170 -msgid "Make this post private" -msgstr "Rendi privato questo post" +#: ../../mod/sources.php:130 +msgid "Edit Source" +msgstr "Modifica la sorgente" -#: ../../mod/network.php:91 -msgid "No such group" -msgstr "Impossibile trovare l'insieme" +#: ../../mod/sources.php:131 +msgid "Delete Source" +msgstr "Elimina la sorgente" -#: ../../mod/network.php:131 -msgid "No such channel" -msgstr "Canale sconosciuto" +#: ../../mod/sources.php:158 +msgid "Source removed" +msgstr "Sorgente eliminata" -#: ../../mod/network.php:136 -msgid "forum" -msgstr "forum" +#: ../../mod/sources.php:160 +msgid "Unable to remove source." +msgstr "Impossibile rimuovere la sorgente." -#: ../../mod/network.php:148 -msgid "Search Results For:" -msgstr "Cerca risultati con:" +#: ../../mod/notifications.php:26 +msgid "Invalid request identifier." +msgstr "L'identificativo della richiesta non è valido." -#: ../../mod/network.php:207 -msgid "Collection is empty" -msgstr "L'insieme di canali è vuoto" +#: ../../mod/notifications.php:35 +msgid "Discard" +msgstr "Rifiuta" -#: ../../mod/network.php:216 -msgid "Collection: " -msgstr "Insieme:" +#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 +msgid "Tag removed" +msgstr "Tag rimosso" -#: ../../mod/network.php:242 -msgid "Invalid connection." -msgstr "Contatto non valido." +#: ../../mod/tagrm.php:119 +msgid "Remove Item Tag" +msgstr "Rimuovi il tag" -#: ../../mod/chat.php:19 ../../mod/channel.php:25 -msgid "You must be logged in to see this page." -msgstr "Devi aver effettuato l'accesso per vedere questa pagina." +#: ../../mod/tagrm.php:121 +msgid "Select a tag to remove: " +msgstr "Seleziona un tag da rimuovere: " -#: ../../mod/chat.php:174 -msgid "Room not found" -msgstr "Chat non trovata" +#: ../../mod/tagrm.php:133 ../../mod/photos.php:954 +msgid "Remove" +msgstr "Rimuovi" -#: ../../mod/chat.php:185 -msgid "Leave Room" -msgstr "Lascia la chat" +#: ../../mod/directory.php:236 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "%d valutazione" +msgstr[1] "%d valutazioni" -#: ../../mod/chat.php:186 -msgid "Delete This Room" -msgstr "Elimina questa chat" +#: ../../mod/directory.php:247 +msgid "Gender: " +msgstr "Sesso:" -#: ../../mod/chat.php:187 -msgid "I am away right now" -msgstr "Non sono presente" +#: ../../mod/directory.php:249 +msgid "Status: " +msgstr "Stato:" -#: ../../mod/chat.php:188 -msgid "I am online" -msgstr "Sono online" +#: ../../mod/directory.php:251 +msgid "Homepage: " +msgstr "Homepage:" -#: ../../mod/chat.php:190 -msgid "Bookmark this room" -msgstr "Aggiungi questa chat ai segnalibri" +#: ../../mod/directory.php:310 +msgid "Description:" +msgstr "Descrizione:" -#: ../../mod/chat.php:208 ../../mod/chat.php:231 -msgid "New Chatroom" -msgstr "Nuova chat" +#: ../../mod/directory.php:319 +msgid "Public Forum:" +msgstr "Forum pubblico:" -#: ../../mod/chat.php:209 -msgid "Chatroom Name" -msgstr "Nome della chat" +#: ../../mod/directory.php:322 +msgid "Keywords: " +msgstr "Parole chiave:" -#: ../../mod/chat.php:210 -msgid "Expiration of chats (minutes)" -msgstr "Scadenza dei messaggi della chat (minuti)" +#: ../../mod/directory.php:325 +msgid "Don't suggest" +msgstr "Non fornire suggerimenti" -#: ../../mod/chat.php:227 +#: ../../mod/directory.php:327 +msgid "Common connections:" +msgstr "Contatti in comune:" + +#: ../../mod/directory.php:376 +msgid "Global Directory" +msgstr "Elenchi pubblici globali" + +#: ../../mod/directory.php:376 +msgid "Local Directory" +msgstr "Elenco canali su questo hub" + +#: ../../mod/directory.php:382 +msgid "Finding:" +msgstr "Ricerca:" + +#: ../../mod/directory.php:387 +msgid "next page" +msgstr "pagina successiva" + +#: ../../mod/directory.php:387 +msgid "previous page" +msgstr "pagina precedente" + +#: ../../mod/directory.php:388 +msgid "Sort options" +msgstr "Opzioni di ordinamento" + +#: ../../mod/directory.php:389 +msgid "Alphabetic" +msgstr "Alfabetico" + +#: ../../mod/directory.php:390 +msgid "Reverse Alphabetic" +msgstr "Alfabetico inverso" + +#: ../../mod/directory.php:391 +msgid "Newest to Oldest" +msgstr "Prima i più recenti" + +#: ../../mod/directory.php:392 +msgid "Oldest to Newest" +msgstr "Prima i più vecchi" + +#: ../../mod/directory.php:409 +msgid "No entries (some entries may be hidden)." +msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)." + +#: ../../mod/lostpass.php:15 +msgid "No valid account found." +msgstr "Nessun account valido trovato." + +#: ../../mod/lostpass.php:29 +msgid "Password reset request issued. Check your email." +msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email." + +#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 #, php-format -msgid "%1$s's Chatrooms" -msgstr "Le chat di %1$s" +msgid "Site Member (%s)" +msgstr "Utente del sito (%s)" -#: ../../mod/search.php:212 +#: ../../mod/lostpass.php:40 #, php-format -msgid "Items tagged with: %s" -msgstr "Elementi taggati con: %s" +msgid "Password reset requested at %s" +msgstr "È stato richiesto di reimpostare password su %s" -#: ../../mod/search.php:214 +#: ../../mod/lostpass.php:63 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata." + +#: ../../mod/lostpass.php:86 ../../boot.php:1494 +msgid "Password Reset" +msgstr "Reimposta la password" + +#: ../../mod/lostpass.php:87 +msgid "Your password has been reset as requested." +msgstr "La password è stata reimpostata come richiesto." + +#: ../../mod/lostpass.php:88 +msgid "Your new password is" +msgstr "La tua nuova password è" + +#: ../../mod/lostpass.php:89 +msgid "Save or copy your new password - and then" +msgstr "Salva o copia la tua nuova password, quindi" + +#: ../../mod/lostpass.php:90 +msgid "click here to login" +msgstr "clicca qui per accedere" + +#: ../../mod/lostpass.php:91 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso." + +#: ../../mod/lostpass.php:108 #, php-format -msgid "Search results for: %s" -msgstr "Risultati ricerca: %s" +msgid "Your password has changed at %s" +msgstr "La tua password su %s è cambiata" -#: ../../mod/rate.php:158 -msgid "Website:" -msgstr "Sito web:" +#: ../../mod/lostpass.php:123 +msgid "Forgot your Password?" +msgstr "Hai dimenticato la password?" -#: ../../mod/rate.php:161 +#: ../../mod/lostpass.php:124 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare." + +#: ../../mod/lostpass.php:125 +msgid "Email Address" +msgstr "Indirizzo email" + +#: ../../mod/lostpass.php:126 +msgid "Reset" +msgstr "Reimposta" + +#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 +msgid "This site is not a directory server" +msgstr "Questo non è un directory server" + +#: ../../mod/impel.php:192 #, php-format -msgid "Remote Channel [%s] (not yet known on this site)" -msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)" +msgid "%s element installed" +msgstr "%s elemento installato" -#: ../../mod/rate.php:162 -msgid "Rating (this information is public)" -msgstr "Valutazione (visibile a tutti)" +#: ../../mod/impel.php:195 +#, php-format +msgid "%s element installation failed" +msgstr "Elementi con installazione fallita: %s" -#: ../../mod/rate.php:163 -msgid "Optionally explain your rating (this information is public)" -msgstr "Commento alla valutazione (facoltativo, visibile a tutti)" +#: ../../mod/subthread.php:114 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "%1$s sta seguendo %3$s di %2$s" + +#: ../../mod/subthread.php:116 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "%1$s non segue più %3$s di %2$s" + +#: ../../mod/import.php:28 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "Il tuo account permette di creare al massimo %d canali." + +#: ../../mod/import.php:66 ../../mod/import_items.php:38 +msgid "Nothing to import." +msgstr "Non c'è niente da importare." + +#: ../../mod/import.php:90 ../../mod/import_items.php:62 +msgid "Unable to download data from old server" +msgstr "Impossibile importare i dati dal vecchio hub" + +#: ../../mod/import.php:96 ../../mod/import_items.php:68 +msgid "Imported file is empty." +msgstr "Il file da importare è vuoto." + +#: ../../mod/import.php:116 ../../mod/import_items.php:82 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti." + +#: ../../mod/import.php:149 +msgid "No channel. Import failed." +msgstr "Nessun canale. Import fallito." + +#: ../../mod/import.php:509 +msgid "You must be logged in to use this feature." +msgstr "Per questa funzionalità devi aver effettuato l'accesso." + +#: ../../mod/import.php:514 +msgid "Import Channel" +msgstr "Importa un canale" + +#: ../../mod/import.php:515 +msgid "" +"Use this form to import an existing channel from a different server/hub. You" +" may retrieve the channel identity from the old server/hub via the network " +"or provide an export file." +msgstr "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza." + +#: ../../mod/import.php:516 ../../mod/import_items.php:121 +msgid "File to Upload" +msgstr "File da caricare" + +#: ../../mod/import.php:517 +msgid "Or provide the old server/hub details" +msgstr "Oppure fornisci i dettagli del vecchio hub" + +#: ../../mod/import.php:518 +msgid "Your old identity address (xyz@example.com)" +msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)" + +#: ../../mod/import.php:519 +msgid "Your old login email address" +msgstr "L'email che usavi per accedere sul vecchio hub" + +#: ../../mod/import.php:520 +msgid "Your old login password" +msgstr "La password per il vecchio hub" + +#: ../../mod/import.php:521 +msgid "" +"For either option, please choose whether to make this hub your new primary " +"address, or whether your old location should continue this role. You will be" +" able to post from either location, but only one can be marked as the " +"primary location for files, photos, and media." +msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc." + +#: ../../mod/import.php:522 +msgid "Make this hub my primary location" +msgstr "Rendi questo hub il mio indirizzo primario" + +#: ../../mod/import.php:523 +msgid "" +"Import existing posts if possible (experimental - limited by available " +"memory" +msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)" + +#: ../../mod/import.php:524 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." +msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito." #: ../../mod/photos.php:79 msgid "Page owner information could not be retrieved." @@ -5332,7 +6405,7 @@ msgstr "Usa come foto del profilo" msgid "Private Photo" msgstr "Foto privata" -#: ../../mod/photos.php:905 ../../mod/events.php:525 ../../mod/events.php:532 +#: ../../mod/photos.php:905 ../../mod/events.php:667 ../../mod/events.php:674 msgid "Previous" msgstr "Precendente" @@ -5340,15 +6413,6 @@ msgstr "Precendente" msgid "View Full Size" msgstr "Vedi nelle dimensioni originali" -#: ../../mod/photos.php:914 ../../mod/events.php:526 ../../mod/events.php:533 -#: ../../mod/setup.php:285 -msgid "Next" -msgstr "Successivo" - -#: ../../mod/photos.php:954 ../../mod/tagrm.php:133 -msgid "Remove" -msgstr "Rimuovi" - #: ../../mod/photos.php:988 msgid "Edit photo" msgstr "Modifica la foto" @@ -5401,58 +6465,340 @@ msgstr "Guarda l'album" msgid "Recent Photos" msgstr "Foto recenti" -#: ../../mod/editblock.php:78 ../../mod/editblock.php:94 -#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76 -#: ../../mod/editwebpage.php:77 -msgid "Item not found" -msgstr "Elemento non trovato" +#: ../../mod/probe.php:24 ../../mod/probe.php:30 +#, php-format +msgid "Fetching URL returns error: %1$s" +msgstr "La chiamata all'URL restituisce questo errore: %1$s" -#: ../../mod/editblock.php:118 -msgid "Delete block?" -msgstr "Vuoi eliminare questo block?" +#: ../../mod/profile_photo.php:112 +msgid "Image uploaded but image cropping failed." +msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla." -#: ../../mod/editblock.php:145 ../../mod/editpost.php:121 -#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:185 -msgid "Insert YouTube video" -msgstr "Inserisci video da YouTube" +#: ../../mod/profile_photo.php:166 +msgid "Image resize failed." +msgstr "Il ridimensionamento dell'immagine è fallito." -#: ../../mod/editblock.php:146 ../../mod/editpost.php:122 -#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:186 -msgid "Insert Vorbis [.ogg] video" -msgstr "Inserisci video Vorbis [.ogg]" +#: ../../mod/profile_photo.php:212 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente." -#: ../../mod/editblock.php:147 ../../mod/editpost.php:123 -#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:187 -msgid "Insert Vorbis [.ogg] audio" -msgstr "Inserisci audio Vorbis [.ogg]" +#: ../../mod/profile_photo.php:250 +msgid "Image upload failed." +msgstr "Il caricamento dell'immagine è fallito." -#: ../../mod/editblock.php:180 -msgid "Edit Block" -msgstr "Modifica il block" +#: ../../mod/profile_photo.php:269 +msgid "Unable to process image." +msgstr "Impossibile elaborare l'immagine." + +#: ../../mod/profile_photo.php:297 +msgid "female" +msgstr "femmina" + +#: ../../mod/profile_photo.php:298 +#, php-format +msgid "%1$s updated her %2$s" +msgstr "Aggiornamento: %2$s di %1$s" + +#: ../../mod/profile_photo.php:299 +msgid "male" +msgstr "maschio" + +#: ../../mod/profile_photo.php:300 +#, php-format +msgid "%1$s updated his %2$s" +msgstr "Aggiornamento: %2$s di %1$s" + +#: ../../mod/profile_photo.php:302 +#, php-format +msgid "%1$s updated their %2$s" +msgstr "Aggiornamento: %2$s di %1$s" + +#: ../../mod/profile_photo.php:304 +msgid "profile photo" +msgstr "foto del profilo" + +#: ../../mod/profile_photo.php:368 ../../mod/profile_photo.php:409 +msgid "Photo not available." +msgstr "Foto non disponibile." + +#: ../../mod/profile_photo.php:450 +msgid "Upload File:" +msgstr "Carica un file:" + +#: ../../mod/profile_photo.php:451 +msgid "Select a profile:" +msgstr "Seleziona un profilo:" + +#: ../../mod/profile_photo.php:452 +msgid "Upload Profile Photo" +msgstr "Carica la foto del profilo" + +#: ../../mod/profile_photo.php:457 ../../mod/settings.php:975 +msgid "or" +msgstr "o" + +#: ../../mod/profile_photo.php:457 +msgid "skip this step" +msgstr "salta questo passaggio" + +#: ../../mod/profile_photo.php:457 +msgid "select a photo from your photo albums" +msgstr "seleziona una foto dai tuoi album" + +#: ../../mod/profile_photo.php:473 +msgid "Crop Image" +msgstr "Ritaglia immagine" + +#: ../../mod/profile_photo.php:474 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "Ritaglia l'immagine per migliorarne la visualizzazione." + +#: ../../mod/profile_photo.php:476 +msgid "Done Editing" +msgstr "Modifica terminata" + +#: ../../mod/thing.php:111 +msgid "Thing updated" +msgstr "L'oggetto è stato aggiornato" + +#: ../../mod/thing.php:163 +msgid "Object store: failed" +msgstr "Impossibile memorizzare l'oggetto." + +#: ../../mod/thing.php:167 +msgid "Thing added" +msgstr "L'Oggetto è stato aggiunto" + +#: ../../mod/thing.php:193 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "OBJ: %1$s %2$s %3$s" + +#: ../../mod/thing.php:256 +msgid "Show Thing" +msgstr "Mostra l'oggetto" + +#: ../../mod/thing.php:263 +msgid "item not found." +msgstr "non trovato." + +#: ../../mod/thing.php:296 +msgid "Edit Thing" +msgstr "Modifica l'oggetto" + +#: ../../mod/thing.php:298 ../../mod/thing.php:348 +msgid "Select a profile" +msgstr "Scegli un profilo" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Post an activity" +msgstr "Pubblica un'attività" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Only sends to viewers of the applicable profile" +msgstr "Invia solo a chi può vedere il profilo scelto" + +#: ../../mod/thing.php:304 ../../mod/thing.php:353 +msgid "Name of thing e.g. something" +msgstr "Nome dell'oggetto" + +#: ../../mod/thing.php:306 ../../mod/thing.php:354 +msgid "URL of thing (optional)" +msgstr "Indirizzo web dell'oggetto (facoltativo)" + +#: ../../mod/thing.php:308 ../../mod/thing.php:355 +msgid "URL for photo of thing (optional)" +msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)" + +#: ../../mod/thing.php:346 +msgid "Add Thing to your Profile" +msgstr "Aggiungi l'oggetto al tuo profilo" #: ../../mod/dirsearch.php:29 msgid "This directory server requires an access token" msgstr "Questo directory server necessita di un token di autenticazione" -#: ../../mod/editpost.php:31 -msgid "Item is not editable" -msgstr "L'elemento non è modificabile" +#: ../../mod/editblock.php:118 +msgid "Delete block?" +msgstr "Vuoi eliminare questo block?" -#: ../../mod/editpost.php:57 -msgid "Delete item?" -msgstr "Eliminare questo elemento?" +#: ../../mod/editblock.php:180 +msgid "Edit Block" +msgstr "Modifica il block" -#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 -msgid "Edit post" -msgstr "Modifica post" +#: ../../mod/removeaccount.php:30 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." +msgstr "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password." -#: ../../mod/oexchange.php:23 -msgid "Unable to find your hub." -msgstr "Impossibile raggiungere il tuo hub." +#: ../../mod/removeaccount.php:57 +msgid "Remove This Account" +msgstr "Elimina questo account" -#: ../../mod/oexchange.php:37 -msgid "Post successful." -msgstr "Inviato!" +#: ../../mod/removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete." + +#: ../../mod/removeaccount.php:60 +msgid "" +"Remove this account, all its channels and all its channel clones from the " +"network" +msgstr "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati." + +#: ../../mod/removeaccount.php:60 +msgid "" +"By default only the instances of the channels located on this hub will be " +"removed from the network" +msgstr "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete." + +#: ../../mod/removeaccount.php:61 ../../mod/settings.php:700 +msgid "Remove Account" +msgstr "Elimina l'account" + +#: ../../mod/import_items.php:101 +msgid "Import completed" +msgstr "Importazione completata" + +#: ../../mod/import_items.php:119 +msgid "Import Items" +msgstr "Importa i contenuti" + +#: ../../mod/import_items.php:120 +msgid "" +"Use this form to import existing posts and content from an export file." +msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza." + +#: ../../mod/network.php:91 +msgid "No such group" +msgstr "Impossibile trovare l'insieme" + +#: ../../mod/network.php:131 +msgid "No such channel" +msgstr "Canale sconosciuto" + +#: ../../mod/network.php:136 +msgid "forum" +msgstr "forum" + +#: ../../mod/network.php:148 +msgid "Search Results For:" +msgstr "Cerca risultati con:" + +#: ../../mod/network.php:207 +msgid "Collection is empty" +msgstr "L'insieme di canali è vuoto" + +#: ../../mod/network.php:216 +msgid "Collection: " +msgstr "Insieme:" + +#: ../../mod/network.php:242 +msgid "Invalid connection." +msgstr "Contatto non valido." + +#: ../../mod/pdledit.php:13 +msgid "Layout updated." +msgstr "Layout aggiornato." + +#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 +msgid "Edit System Page Description" +msgstr "Modifica i layout di sistema" + +#: ../../mod/pdledit.php:48 +msgid "Layout not found." +msgstr "Layout non trovato." + +#: ../../mod/pdledit.php:54 +msgid "Module Name:" +msgstr "Nome del modulo:" + +#: ../../mod/pdledit.php:55 +msgid "Layout Help" +msgstr "Guida al layout" + +#: ../../mod/register.php:44 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!" + +#: ../../mod/register.php:50 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio." + +#: ../../mod/register.php:84 +msgid "Passwords do not match." +msgstr "Le password non corrispondono." + +#: ../../mod/register.php:117 +msgid "" +"Registration successful. Please check your email for validation " +"instructions." +msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata." + +#: ../../mod/register.php:123 +msgid "Your registration is pending approval by the site owner." +msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub." + +#: ../../mod/register.php:126 +msgid "Your registration can not be processed." +msgstr "La tua registrazione non puo' essere processata." + +#: ../../mod/register.php:163 +msgid "Registration on this site/hub is by approval only." +msgstr "La registrazione su questo hub è soggetta ad approvazione." + +#: ../../mod/register.php:164 +msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" +msgstr "<a href=\"pubsites\">Registrati su un altro hub affiliato</a>" + +#: ../../mod/register.php:174 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani." + +#: ../../mod/register.php:185 +msgid "Terms of Service" +msgstr "Condizioni d'Uso" + +#: ../../mod/register.php:191 +#, php-format +msgid "I accept the %s for this website" +msgstr "Accetto le %s di questo sito" + +#: ../../mod/register.php:193 +#, php-format +msgid "I am over 13 years of age and accept the %s for this website" +msgstr "Ho più di 13 anni e accetto le %s di questo sito" + +#: ../../mod/register.php:207 ../../mod/admin.php:436 +msgid "Registration" +msgstr "Registrazione" + +#: ../../mod/register.php:212 +msgid "Membership on this site is by invitation only." +msgstr "Per registrarsi su questo hub è necessario un invito." + +#: ../../mod/register.php:213 +msgid "Please enter your invitation code" +msgstr "Inserisci il codice dell'invito" + +#: ../../mod/register.php:216 +msgid "Your email address" +msgstr "Il tuo indirizzo email" + +#: ../../mod/register.php:217 +msgid "Choose a password" +msgstr "Scegli una password" + +#: ../../mod/register.php:218 +msgid "Please re-enter your password" +msgstr "Ripeti la password per verifica" #: ../../mod/admin.php:52 msgid "Theme settings updated." @@ -5525,7 +6871,7 @@ msgstr "Versione" msgid "Site settings updated." msgstr "Impostazioni del sito salvate correttamente." -#: ../../mod/admin.php:361 ../../mod/settings.php:791 +#: ../../mod/admin.php:361 ../../mod/settings.php:793 msgid "mobile" msgstr "mobile" @@ -5557,10 +6903,6 @@ msgstr "È un servizio gratuito" msgid "My site offers free accounts with optional paid upgrades" msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento" -#: ../../mod/admin.php:436 ../../mod/register.php:207 -msgid "Registration" -msgstr "Registrazione" - #: ../../mod/admin.php:437 msgid "File upload" msgstr "Caricamento file" @@ -6073,10 +7415,6 @@ msgstr "Non permettere codice nei contenuti" msgid "UID" msgstr "UID" -#: ../../mod/admin.php:974 ../../mod/profiles.php:447 -msgid "Address" -msgstr "Indirizzo" - #: ../../mod/admin.php:976 msgid "" "Selected channels will be deleted!\\n\\nEverything that was posted in these " @@ -6200,1270 +7538,22 @@ msgstr "Impossibile trovare la definizione del campo" msgid "Edit Profile Field" msgstr "Modifica campo del profilo" -#: ../../mod/appman.php:28 ../../mod/appman.php:44 -msgid "App installed." -msgstr "App installata" - -#: ../../mod/appman.php:37 -msgid "Malformed app." -msgstr "L'app contiene errori" - -#: ../../mod/appman.php:80 -msgid "Embed code" -msgstr "Inserisci il codice" - -#: ../../mod/appman.php:86 -msgid "Edit App" -msgstr "Modifica app" - -#: ../../mod/appman.php:86 -msgid "Create App" -msgstr "Crea una app" - -#: ../../mod/appman.php:91 -msgid "Name of app" -msgstr "Nome app" - -#: ../../mod/appman.php:92 -msgid "Location (URL) of app" -msgstr "Indirizzo (URL) della app" - -#: ../../mod/appman.php:93 ../../mod/rbmark.php:97 -msgid "Description" -msgstr "Descrizione" - -#: ../../mod/appman.php:94 -msgid "Photo icon URL" -msgstr "URL icona" - -#: ../../mod/appman.php:94 -msgid "80 x 80 pixels - optional" -msgstr "80 x 80 pixel - facoltativa" - -#: ../../mod/appman.php:95 -msgid "Version ID" -msgstr "ID versione" - -#: ../../mod/appman.php:96 -msgid "Price of app" -msgstr "Prezzo app" - -#: ../../mod/appman.php:97 -msgid "Location (URL) to purchase app" -msgstr "Indirizzo (URL) per acquistare la app" - -#: ../../mod/menu.php:45 -msgid "Unable to update menu." -msgstr "Impossibile aggiornare il menù." - -#: ../../mod/menu.php:56 -msgid "Unable to create menu." -msgstr "Impossibile creare il menù." - -#: ../../mod/menu.php:94 ../../mod/menu.php:106 -msgid "Menu Name" -msgstr "Nome del menu" - -#: ../../mod/menu.php:94 -msgid "Unique name (not visible on webpage) - required" -msgstr "Nome unico (non visibile sulla pagina) - obbligatorio" - -#: ../../mod/menu.php:95 ../../mod/menu.php:107 -msgid "Menu Title" -msgstr "Titolo del menu" - -#: ../../mod/menu.php:95 -msgid "Visible on webpage - leave empty for no title" -msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo" - -#: ../../mod/menu.php:96 -msgid "Allow Bookmarks" -msgstr "Permetti i segnalibri" - -#: ../../mod/menu.php:96 ../../mod/menu.php:153 -msgid "Menu may be used to store saved bookmarks" -msgstr "Puoi salvare i segnalibri nei menù" - -#: ../../mod/menu.php:97 ../../mod/menu.php:155 -msgid "Submit and proceed" -msgstr "Salva e procedi" - -#: ../../mod/menu.php:109 -msgid "Drop" -msgstr "Elimina" - -#: ../../mod/menu.php:113 -msgid "Bookmarks allowed" -msgstr "Permetti segnalibri" - -#: ../../mod/menu.php:115 -msgid "Delete this menu" -msgstr "Elimina questo menù" - -#: ../../mod/menu.php:116 ../../mod/menu.php:150 -msgid "Edit menu contents" -msgstr "Modifica i contenuti del menù" - -#: ../../mod/menu.php:117 -msgid "Edit this menu" -msgstr "Modifica questo menù" - -#: ../../mod/menu.php:132 -msgid "Menu could not be deleted." -msgstr "Il menù non può essere eliminato." - -#: ../../mod/menu.php:145 -msgid "Edit Menu" -msgstr "Modifica menù" - -#: ../../mod/menu.php:149 -msgid "Add or remove entries to this menu" -msgstr "Aggiungi o rimuovi elementi di questo menù" - -#: ../../mod/menu.php:151 -msgid "Menu name" -msgstr "Nome del menù" - -#: ../../mod/menu.php:151 -msgid "Must be unique, only seen by you" -msgstr "Deve essere unico, lo vedrai solo tu" - -#: ../../mod/menu.php:152 -msgid "Menu title" -msgstr "Titolo del menù" - -#: ../../mod/menu.php:152 -msgid "Menu title as seen by others" -msgstr "Titolo del menù come comparirà a tutti" - -#: ../../mod/menu.php:153 -msgid "Allow bookmarks" -msgstr "Permetti l'invio di segnalibri" - -#: ../../mod/notify.php:53 ../../mod/notifications.php:94 -msgid "No more system notifications." -msgstr "Non ci sono nuove notifiche di sistema." - -#: ../../mod/notify.php:57 ../../mod/notifications.php:98 -msgid "System Notifications" -msgstr "Notifiche di sistema" - -#: ../../mod/page.php:126 -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." - -#: ../../mod/new_channel.php:109 -msgid "Add a Channel" -msgstr "Aggiungi un canale" - -#: ../../mod/new_channel.php:110 -msgid "" -"A channel is your own collection of related web pages. A channel can be used" -" to hold social network profiles, blogs, conversation groups and forums, " -"celebrity pages, and much more. You may create as many channels as your " -"service provider allows." -msgstr "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti te ne permette il tuo sito." - -#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 -#: ../../mod/sources.php:137 -msgid "Channel Name" -msgstr "Nome del canale" - -#: ../../mod/new_channel.php:113 -msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " -msgstr "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"" - -#: ../../mod/new_channel.php:114 -msgid "Choose a short nickname" -msgstr "Scegli un nome breve" - -#: ../../mod/new_channel.php:115 -msgid "" -"Your nickname will be used to create an easily remembered channel address " -"(like an email address) which you can share with others." -msgstr "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti." - -#: ../../mod/new_channel.php:116 -msgid "Or <a href=\"import\">import an existing channel</a> from another location" -msgstr "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro hub" - -#: ../../mod/new_channel.php:118 -msgid "" -"Please choose a channel type (such as social networking or community forum) " -"and privacy requirements so we can select the best permissions for you" -msgstr "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. Hubzilla sceglierà per te i permessi più adatti." - -#: ../../mod/new_channel.php:119 -msgid "Channel Type" -msgstr "Tipo di canale" - -#: ../../mod/new_channel.php:119 -msgid "Read more about roles" -msgstr "Maggiori informazioni sui ruoli" - -#: ../../mod/notifications.php:26 -msgid "Invalid request identifier." -msgstr "L'identificativo della richiesta non è valido." - -#: ../../mod/notifications.php:35 -msgid "Discard" -msgstr "Rifiuta" - -#: ../../mod/pdledit.php:13 -msgid "Layout updated." -msgstr "Layout aggiornato." - -#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 -msgid "Edit System Page Description" -msgstr "Modifica i layout di sistema" - -#: ../../mod/pdledit.php:48 -msgid "Layout not found." -msgstr "Layout non trovato." - -#: ../../mod/pdledit.php:54 -msgid "Module Name:" -msgstr "Nome del modulo:" - -#: ../../mod/pdledit.php:55 -msgid "Layout Help" -msgstr "Guida al layout" - -#: ../../mod/subthread.php:114 -#, php-format -msgid "%1$s is following %2$s's %3$s" -msgstr "%1$s sta seguendo %3$s di %2$s" - -#: ../../mod/subthread.php:116 -#, php-format -msgid "%1$s stopped following %2$s's %3$s" -msgstr "%1$s non segue più %3$s di %2$s" - -#: ../../mod/lostpass.php:15 -msgid "No valid account found." -msgstr "Nessun account valido trovato." - -#: ../../mod/lostpass.php:29 -msgid "Password reset request issued. Check your email." -msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email." - -#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 -#, php-format -msgid "Site Member (%s)" -msgstr "Utente del sito (%s)" - -#: ../../mod/lostpass.php:40 -#, php-format -msgid "Password reset requested at %s" -msgstr "È stato richiesto di reimpostare password su %s" - -#: ../../mod/lostpass.php:63 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." -msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata." - -#: ../../mod/lostpass.php:86 ../../boot.php:1494 -msgid "Password Reset" -msgstr "Reimposta la password" - -#: ../../mod/lostpass.php:87 -msgid "Your password has been reset as requested." -msgstr "La password è stata reimpostata come richiesto." - -#: ../../mod/lostpass.php:88 -msgid "Your new password is" -msgstr "La tua nuova password è" - -#: ../../mod/lostpass.php:89 -msgid "Save or copy your new password - and then" -msgstr "Salva o copia la tua nuova password, quindi" - -#: ../../mod/lostpass.php:90 -msgid "click here to login" -msgstr "clicca qui per accedere" - -#: ../../mod/lostpass.php:91 -msgid "" -"Your password may be changed from the <em>Settings</em> page after " -"successful login." -msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso." - -#: ../../mod/lostpass.php:108 -#, php-format -msgid "Your password has changed at %s" -msgstr "La tua password su %s è cambiata" - -#: ../../mod/lostpass.php:123 -msgid "Forgot your Password?" -msgstr "Hai dimenticato la password?" - -#: ../../mod/lostpass.php:124 -msgid "" -"Enter your email address and submit to have your password reset. Then check " -"your email for further instructions." -msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare." - -#: ../../mod/lostpass.php:125 -msgid "Email Address" -msgstr "Indirizzo email" - -#: ../../mod/lostpass.php:126 -msgid "Reset" -msgstr "Reimposta" - -#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:157 -msgid "$Projectname" -msgstr "$Projectname" - -#: ../../mod/home.php:75 -#, php-format -msgid "Welcome to %s" -msgstr "%s ti dà il benvenuto" - -#: ../../mod/dav.php:121 -msgid "$Projectname channel" -msgstr "Canale $Projectname" - -#: ../../mod/events.php:21 -msgid "Calendar entries imported." -msgstr "Le voci del calendario sono state importate." - -#: ../../mod/events.php:23 -msgid "No calendar entries found." -msgstr "Non sono state trovate voci del calendario." - -#: ../../mod/events.php:96 -msgid "Event can not end before it has started." -msgstr "Un evento non può terminare prima del suo inizio." - -#: ../../mod/events.php:98 ../../mod/events.php:107 ../../mod/events.php:127 -msgid "Unable to generate preview." -msgstr "Impossibile creare un'anteprima." - -#: ../../mod/events.php:105 -msgid "Event title and start time are required." -msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento." - -#: ../../mod/events.php:125 ../../mod/events.php:250 -msgid "Event not found." -msgstr "Evento non trovato." - -#: ../../mod/events.php:446 -msgid "l, F j" -msgstr "l j F" - -#: ../../mod/events.php:468 -msgid "Edit event" -msgstr "Modifica l'evento" - -#: ../../mod/events.php:470 -msgid "Delete event" -msgstr "Elimina l'evento" - -#: ../../mod/events.php:504 -msgid "calendar" -msgstr "calendario" - -#: ../../mod/events.php:524 -msgid "New Event" -msgstr "Nuovo evento" - -#: ../../mod/events.php:534 -msgid "Today" -msgstr "Oggi" - -#: ../../mod/events.php:564 -msgid "Event removed" -msgstr "Evento eliminato" - -#: ../../mod/events.php:567 -msgid "Failed to remove event" -msgstr "Impossibile eliminare l'evento" - -#: ../../mod/events.php:681 -msgid "Event details" -msgstr "Dettagli evento" - -#: ../../mod/events.php:682 -msgid "Starting date and Title are required." -msgstr "Titolo e data d'inizio sono obbligatori." - -#: ../../mod/events.php:684 -msgid "Categories (comma-separated list)" -msgstr "Categorie (separate da virgola)" - -#: ../../mod/events.php:686 -msgid "Event Starts:" -msgstr "Inizio:" - -#: ../../mod/events.php:693 -msgid "Finish date/time is not known or not relevant" -msgstr "La data/ora di fine non è rilevante" - -#: ../../mod/events.php:695 -msgid "Event Finishes:" -msgstr "Fine:" - -#: ../../mod/events.php:697 ../../mod/events.php:698 -msgid "Adjust for viewer timezone" -msgstr "Adatta al fuso orario di chi legge" - -#: ../../mod/events.php:697 -msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." -msgstr "Importante per eventi che avvengono online ma con un certo fuso orario." - -#: ../../mod/events.php:703 -msgid "Title:" -msgstr "Titolo:" - -#: ../../mod/events.php:705 -msgid "Share this event" -msgstr "Condividi questo evento" - -#: ../../mod/impel.php:192 -#, php-format -msgid "%s element installed" -msgstr "%s elemento installato" - -#: ../../mod/impel.php:195 -#, php-format -msgid "%s element installation failed" -msgstr "Elementi con installazione fallita: %s" - -#: ../../mod/probe.php:24 ../../mod/probe.php:30 -#, php-format -msgid "Fetching URL returns error: %1$s" -msgstr "La chiamata all'URL restituisce questo errore: %1$s" - -#: ../../mod/match.php:22 -msgid "Profile Match" -msgstr "Profili corrispondenti" - -#: ../../mod/match.php:31 -msgid "No keywords to match. Please add keywords to your default profile." -msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche." - -#: ../../mod/match.php:63 -msgid "is interested in:" -msgstr "interessi personali:" - -#: ../../mod/match.php:70 -msgid "No matches" -msgstr "Nessun risultato" - -#: ../../mod/profile_photo.php:111 -msgid "Image uploaded but image cropping failed." -msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla." - -#: ../../mod/profile_photo.php:165 -msgid "Image resize failed." -msgstr "Il ridimensionamento dell'immagine è fallito." - -#: ../../mod/profile_photo.php:209 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente." - -#: ../../mod/profile_photo.php:247 -msgid "Image upload failed." -msgstr "Il caricamento dell'immagine è fallito." - -#: ../../mod/profile_photo.php:266 -msgid "Unable to process image." -msgstr "Impossibile elaborare l'immagine." - -#: ../../mod/profile_photo.php:294 -msgid "female" -msgstr "femmina" - -#: ../../mod/profile_photo.php:295 -#, php-format -msgid "%1$s updated her %2$s" -msgstr "Aggiornamento: %2$s di %1$s" - -#: ../../mod/profile_photo.php:296 -msgid "male" -msgstr "maschio" - -#: ../../mod/profile_photo.php:297 -#, php-format -msgid "%1$s updated his %2$s" -msgstr "Aggiornamento: %2$s di %1$s" - -#: ../../mod/profile_photo.php:299 -#, php-format -msgid "%1$s updated their %2$s" -msgstr "Aggiornamento: %2$s di %1$s" - -#: ../../mod/profile_photo.php:301 -msgid "profile photo" -msgstr "foto del profilo" - -#: ../../mod/profile_photo.php:365 ../../mod/profile_photo.php:406 -msgid "Photo not available." -msgstr "Foto non disponibile." - -#: ../../mod/profile_photo.php:447 -msgid "Upload File:" -msgstr "Carica un file:" - -#: ../../mod/profile_photo.php:448 -msgid "Select a profile:" -msgstr "Seleziona un profilo:" - -#: ../../mod/profile_photo.php:449 -msgid "Upload Profile Photo" -msgstr "Carica la foto del profilo" - -#: ../../mod/profile_photo.php:454 ../../mod/settings.php:973 -msgid "or" -msgstr "o" - -#: ../../mod/profile_photo.php:454 -msgid "skip this step" -msgstr "salta questo passaggio" - -#: ../../mod/profile_photo.php:454 -msgid "select a photo from your photo albums" -msgstr "seleziona una foto dai tuoi album" - -#: ../../mod/profile_photo.php:470 -msgid "Crop Image" -msgstr "Ritaglia immagine" - -#: ../../mod/profile_photo.php:471 -msgid "Please adjust the image cropping for optimum viewing." -msgstr "Ritaglia l'immagine per migliorarne la visualizzazione." - -#: ../../mod/profile_photo.php:473 -msgid "Done Editing" -msgstr "Modifica terminata" - -#: ../../mod/follow.php:25 -msgid "Channel added." -msgstr "Canale aggiunto." - -#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 -msgid "Tag removed" -msgstr "Tag rimosso" - -#: ../../mod/tagrm.php:119 -msgid "Remove Item Tag" -msgstr "Rimuovi il tag" - -#: ../../mod/tagrm.php:121 -msgid "Select a tag to remove: " -msgstr "Seleziona un tag da rimuovere: " - -#: ../../mod/ratings.php:69 -msgid "No ratings" -msgstr "Nessuna valutazione" - -#: ../../mod/ratings.php:99 -msgid "Ratings" -msgstr "Valutazioni" - -#: ../../mod/ratings.php:100 -msgid "Rating: " -msgstr "Valutazione:" - -#: ../../mod/ratings.php:101 -msgid "Website: " -msgstr "Sito web:" - -#: ../../mod/ratings.php:103 -msgid "Description: " -msgstr "Descrizione:" - -#: ../../mod/item.php:173 -msgid "Unable to locate original post." -msgstr "Impossibile trovare il messaggio originale." - -#: ../../mod/item.php:417 -msgid "Empty post discarded." -msgstr "Il post vuoto è stato ignorato." - -#: ../../mod/item.php:457 -msgid "Executable content type not permitted to this channel." -msgstr "I contenuti eseguibili non sono permessi su questo canale." - -#: ../../mod/item.php:822 -msgid "Duplicate post suppressed." -msgstr "I post duplicati sono scartati." - -#: ../../mod/item.php:953 -msgid "System error. Post not saved." -msgstr "Errore di sistema. Post non salvato." - -#: ../../mod/item.php:1220 -msgid "Unable to obtain post information from database." -msgstr "Impossibile caricare il post dal database." - -#: ../../mod/item.php:1227 -#, php-format -msgid "You have reached your limit of %1$.0f top level posts." -msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale." - -#: ../../mod/item.php:1234 -#, php-format -msgid "You have reached your limit of %1$.0f webpages." -msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web." - -#: ../../mod/webpages.php:191 -msgid "Page Title" -msgstr "Titolo della pagina" - -#: ../../mod/register.php:44 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." -msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!" - -#: ../../mod/register.php:50 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." -msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio." - -#: ../../mod/register.php:84 -msgid "Passwords do not match." -msgstr "Le password non corrispondono." - -#: ../../mod/register.php:117 -msgid "" -"Registration successful. Please check your email for validation " -"instructions." -msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata." - -#: ../../mod/register.php:123 -msgid "Your registration is pending approval by the site owner." -msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub." - -#: ../../mod/register.php:126 -msgid "Your registration can not be processed." -msgstr "La tua registrazione non puo' essere processata." - -#: ../../mod/register.php:163 -msgid "Registration on this site/hub is by approval only." -msgstr "La registrazione su questo hub è soggetta ad approvazione." - -#: ../../mod/register.php:164 -msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" -msgstr "<a href=\"pubsites\">Registrati su un altro hub affiliato</a>" - -#: ../../mod/register.php:174 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani." - -#: ../../mod/register.php:185 -msgid "Terms of Service" -msgstr "Condizioni d'Uso" - -#: ../../mod/register.php:191 -#, php-format -msgid "I accept the %s for this website" -msgstr "Accetto le %s di questo sito" - -#: ../../mod/register.php:193 -#, php-format -msgid "I am over 13 years of age and accept the %s for this website" -msgstr "Ho più di 13 anni e accetto le %s di questo sito" - -#: ../../mod/register.php:212 -msgid "Membership on this site is by invitation only." -msgstr "Per registrarsi su questo hub è necessario un invito." - -#: ../../mod/register.php:213 -msgid "Please enter your invitation code" -msgstr "Inserisci il codice dell'invito" - -#: ../../mod/register.php:216 -msgid "Your email address" -msgstr "Il tuo indirizzo email" - -#: ../../mod/register.php:217 -msgid "Choose a password" -msgstr "Scegli una password" - -#: ../../mod/register.php:218 -msgid "Please re-enter your password" -msgstr "Ripeti la password per verifica" - -#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 -msgid "Block Name" -msgstr "Nome del block" - -#: ../../mod/blocks.php:149 -msgid "Block Title" -msgstr "Titolo del block" - -#: ../../mod/removeaccount.php:30 -msgid "" -"Account removals are not allowed within 48 hours of changing the account " -"password." -msgstr "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password." - -#: ../../mod/removeaccount.php:57 -msgid "Remove This Account" -msgstr "Elimina questo account" - -#: ../../mod/removeaccount.php:58 -msgid "" -"This account and all its channels will be completely removed from the " -"network. " -msgstr "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete." - -#: ../../mod/removeaccount.php:60 -msgid "" -"Remove this account, all its channels and all its channel clones from the " -"network" -msgstr "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati." - -#: ../../mod/removeaccount.php:60 -msgid "" -"By default only the instances of the channels located on this hub will be " -"removed from the network" -msgstr "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete." - -#: ../../mod/removeaccount.php:61 ../../mod/settings.php:698 -msgid "Remove Account" -msgstr "Elimina l'account" - -#: ../../mod/service_limits.php:19 -msgid "No service class restrictions found." -msgstr "Non esistono restrizioni su questa classe di account." - -#: ../../mod/attach.php:9 -msgid "Item not available." -msgstr "Elemento non disponibile." - -#: ../../mod/pubsites.php:18 -msgid "Public Sites" -msgstr "Siti pubblici" - -#: ../../mod/pubsites.php:21 -msgid "" -"The listed sites allow public registration for the $Projectname network. All" -" sites in the network are interlinked so membership on any of them conveys " -"membership in the network as a whole. Some sites may require subscription or" -" provide tiered service plans. The provider links <strong>may</strong> " -"provide additional details." -msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco." - -#: ../../mod/pubsites.php:27 -msgid "Rate this hub" -msgstr "Valuta questo hub" - -#: ../../mod/pubsites.php:28 -msgid "Site URL" -msgstr "URL del sito" - -#: ../../mod/pubsites.php:28 -msgid "Access Type" -msgstr "Tipo di accesso" - -#: ../../mod/pubsites.php:28 -msgid "Registration Policy" -msgstr "Politica di registrazione" - -#: ../../mod/pubsites.php:28 ../../mod/profiles.php:454 -msgid "Location" -msgstr "Posizione geografica" - -#: ../../mod/pubsites.php:28 -msgid "Project" -msgstr "Progetto" - -#: ../../mod/pubsites.php:28 -msgid "View hub ratings" -msgstr "Vedi le valutazioni del hub" - -#: ../../mod/pubsites.php:32 -msgid "Rate" -msgstr "Valuta" - -#: ../../mod/pubsites.php:33 -msgid "View ratings" -msgstr "Vedi le valutazioni" - -#: ../../mod/sources.php:32 -msgid "Failed to create source. No channel selected." -msgstr "Impossibile creare la sorgente. Nessun canale selezionato." - -#: ../../mod/sources.php:45 -msgid "Source created." -msgstr "Sorgente creata." - -#: ../../mod/sources.php:57 -msgid "Source updated." -msgstr "Sorgente aggiornata." - -#: ../../mod/sources.php:82 -msgid "*" -msgstr "*" - -#: ../../mod/sources.php:89 -msgid "Manage remote sources of content for your channel." -msgstr "Gestisci le sorgenti dei contenuti del tuo canale." - -#: ../../mod/sources.php:90 ../../mod/sources.php:100 -msgid "New Source" -msgstr "Nuova sorgente" - -#: ../../mod/sources.php:101 ../../mod/sources.php:133 -msgid "" -"Import all or selected content from the following channel into this channel " -"and distribute it according to your channel settings." -msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente." - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Only import content with these words (one per line)" -msgstr "Importa solo i contenuti che hanno queste parole (una per riga)" - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Leave blank to import all public content" -msgstr "Lascia vuoto per importare tutti i contenuti pubblici" - -#: ../../mod/sources.php:123 ../../mod/sources.php:150 -msgid "Source not found." -msgstr "Sorgente non trovata." - -#: ../../mod/sources.php:130 -msgid "Edit Source" -msgstr "Modifica la sorgente" - -#: ../../mod/sources.php:131 -msgid "Delete Source" -msgstr "Elimina la sorgente" - -#: ../../mod/sources.php:158 -msgid "Source removed" -msgstr "Sorgente eliminata" - -#: ../../mod/sources.php:160 -msgid "Unable to remove source." -msgstr "Impossibile rimuovere la sorgente." - -#: ../../mod/lockview.php:37 -msgid "Remote privacy information not available." -msgstr "Le informazioni remote sulla privacy non sono disponibili." - -#: ../../mod/lockview.php:58 -msgid "Visible to:" -msgstr "Visibile a:" - -#: ../../mod/acl.php:222 -msgid "network" -msgstr "rete" - -#: ../../mod/acl.php:232 -msgid "RSS" -msgstr "RSS" - -#: ../../mod/regmod.php:11 -msgid "Please login." -msgstr "Effettua l'accesso." - -#: ../../mod/rmagic.php:40 -msgid "" -"We encountered a problem while logging in with the OpenID you provided. " -"Please check the correct spelling of the ID." -msgstr "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente." - -#: ../../mod/rmagic.php:40 -msgid "The error message was:" -msgstr "Messaggio di errore ricevuto:" - -#: ../../mod/rmagic.php:44 -msgid "Authentication failed." -msgstr "Autenticazione fallita." - -#: ../../mod/rmagic.php:84 -msgid "Remote Authentication" -msgstr "Accedi tramite il tuo hub" - -#: ../../mod/rmagic.php:85 -msgid "Enter your channel address (e.g. channel@example.com)" -msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)" - -#: ../../mod/rmagic.php:86 -msgid "Authenticate" -msgstr "Accedi" - -#: ../../mod/channel.php:97 -msgid "Insufficient permissions. Request redirected to profile page." -msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo." - -#: ../../mod/import.php:28 -#, php-format -msgid "Your service plan only allows %d channels." -msgstr "Il tuo account permette di creare al massimo %d canali." - -#: ../../mod/import.php:66 ../../mod/import_items.php:38 -msgid "Nothing to import." -msgstr "Non c'è niente da importare." - -#: ../../mod/import.php:90 ../../mod/import_items.php:62 -msgid "Unable to download data from old server" -msgstr "Impossibile importare i dati dal vecchio hub" - -#: ../../mod/import.php:96 ../../mod/import_items.php:68 -msgid "Imported file is empty." -msgstr "Il file da importare è vuoto." - -#: ../../mod/import.php:116 ../../mod/import_items.php:82 -#, php-format -msgid "Warning: Database versions differ by %1$d updates." -msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti." - -#: ../../mod/import.php:149 -msgid "No channel. Import failed." -msgstr "Nessun canale. Import fallito." - -#: ../../mod/import.php:509 -msgid "You must be logged in to use this feature." -msgstr "Per questa funzionalità devi aver effettuato l'accesso." - -#: ../../mod/import.php:514 -msgid "Import Channel" -msgstr "Importa un canale" - -#: ../../mod/import.php:515 -msgid "" -"Use this form to import an existing channel from a different server/hub. You" -" may retrieve the channel identity from the old server/hub via the network " -"or provide an export file." -msgstr "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza." - -#: ../../mod/import.php:516 ../../mod/import_items.php:121 -msgid "File to Upload" -msgstr "File da caricare" - -#: ../../mod/import.php:517 -msgid "Or provide the old server/hub details" -msgstr "Oppure fornisci i dettagli del vecchio hub" - -#: ../../mod/import.php:518 -msgid "Your old identity address (xyz@example.com)" -msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)" - -#: ../../mod/import.php:519 -msgid "Your old login email address" -msgstr "L'email che usavi per accedere sul vecchio hub" - -#: ../../mod/import.php:520 -msgid "Your old login password" -msgstr "La password per il vecchio hub" - -#: ../../mod/import.php:521 -msgid "" -"For either option, please choose whether to make this hub your new primary " -"address, or whether your old location should continue this role. You will be" -" able to post from either location, but only one can be marked as the " -"primary location for files, photos, and media." -msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc." - -#: ../../mod/import.php:522 -msgid "Make this hub my primary location" -msgstr "Rendi questo hub il mio indirizzo primario" - -#: ../../mod/import.php:523 -msgid "" -"Import existing posts if possible (experimental - limited by available " -"memory" -msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)" - -#: ../../mod/import.php:524 -msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." -msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito." - -#: ../../mod/dreport.php:23 -msgid "Invalid message" -msgstr "Messaggio non valido" - -#: ../../mod/dreport.php:55 -msgid "no results" -msgstr "nessun risultato" - -#: ../../mod/dreport.php:60 -#, php-format -msgid "Delivery report for %1$s" -msgstr "Rapporto di consegna - %1$s" - -#: ../../mod/dreport.php:74 -msgid "channel sync processed" -msgstr "sincronizzazione del canale effettuata" - -#: ../../mod/dreport.php:78 -msgid "queued" -msgstr "in coda" - -#: ../../mod/dreport.php:82 -msgid "posted" -msgstr "inviato" - -#: ../../mod/dreport.php:86 -msgid "accepted for delivery" -msgstr "accettato per la spedizione" - -#: ../../mod/dreport.php:90 -msgid "updated" -msgstr "aggiornato" - -#: ../../mod/dreport.php:93 -msgid "update ignored" -msgstr "aggiornamento ignorato" - -#: ../../mod/dreport.php:96 -msgid "permission denied" -msgstr "permessi non sufficienti" - -#: ../../mod/dreport.php:100 -msgid "recipient not found" -msgstr "Destinatario non trovato" - -#: ../../mod/dreport.php:103 -msgid "mail recalled" -msgstr "messaggio richiamato dal mittente" - -#: ../../mod/dreport.php:106 -msgid "duplicate mail received" -msgstr "ricevuto messaggio duplicato" - -#: ../../mod/dreport.php:109 -msgid "mail delivered" -msgstr "messaggio recapitato" - -#: ../../mod/thing.php:111 -msgid "Thing updated" -msgstr "L'oggetto è stato aggiornato" - -#: ../../mod/thing.php:163 -msgid "Object store: failed" -msgstr "Impossibile memorizzare l'oggetto." - -#: ../../mod/thing.php:167 -msgid "Thing added" -msgstr "L'Oggetto è stato aggiunto" - -#: ../../mod/thing.php:193 -#, php-format -msgid "OBJ: %1$s %2$s %3$s" -msgstr "OBJ: %1$s %2$s %3$s" - -#: ../../mod/thing.php:256 -msgid "Show Thing" -msgstr "Mostra l'oggetto" - -#: ../../mod/thing.php:263 -msgid "item not found." -msgstr "non trovato." - -#: ../../mod/thing.php:296 -msgid "Edit Thing" -msgstr "Modifica l'oggetto" - -#: ../../mod/thing.php:298 ../../mod/thing.php:348 -msgid "Select a profile" -msgstr "Scegli un profilo" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Post an activity" -msgstr "Pubblica un'attività" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Only sends to viewers of the applicable profile" -msgstr "Invia solo a chi può vedere il profilo scelto" - -#: ../../mod/thing.php:304 ../../mod/thing.php:353 -msgid "Name of thing e.g. something" -msgstr "Nome dell'oggetto" - -#: ../../mod/thing.php:306 ../../mod/thing.php:354 -msgid "URL of thing (optional)" -msgstr "Indirizzo web dell'oggetto (facoltativo)" - -#: ../../mod/thing.php:308 ../../mod/thing.php:355 -msgid "URL for photo of thing (optional)" -msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)" - -#: ../../mod/thing.php:346 -msgid "Add Thing to your Profile" -msgstr "Aggiungi l'oggetto al tuo profilo" - -#: ../../mod/invite.php:25 -msgid "Total invitation limit exceeded." -msgstr "Hai superato il numero massimo di inviti." - -#: ../../mod/invite.php:49 -#, php-format -msgid "%s : Not a valid email address." -msgstr "%s: non è un indirizzo email valido." - -#: ../../mod/invite.php:76 -msgid "Please join us on $Projectname" -msgstr "Unisciti a noi su $Projectname" - -#: ../../mod/invite.php:87 -msgid "Invitation limit exceeded. Please contact your site administrator." -msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario." - -#: ../../mod/invite.php:92 -#, php-format -msgid "%s : Message delivery failed." -msgstr "%s: la consegna del messaggio è fallita." - -#: ../../mod/invite.php:96 -#, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "%d messaggio inviato." -msgstr[1] "%d messaggi inviati." - -#: ../../mod/invite.php:115 -msgid "You have no more invitations available" -msgstr "Non hai altri inviti disponibili" - -#: ../../mod/invite.php:129 -msgid "Send invitations" -msgstr "Spedisci inviti" - -#: ../../mod/invite.php:130 -msgid "Enter email addresses, one per line:" -msgstr "Inserisci gli indirizzi email, uno per riga:" - -#: ../../mod/invite.php:131 ../../mod/mail.php:238 -msgid "Your message:" -msgstr "Il tuo messaggio:" - -#: ../../mod/invite.php:132 -msgid "Please join my community on $Projectname." -msgstr "Entra nella mia comunità su $Projectname." - -#: ../../mod/invite.php:134 -msgid "You will need to supply this invitation code: " -msgstr "Dovrai fornire questo codice di invito:" - -#: ../../mod/invite.php:135 -msgid "" -"1. Register at any $Projectname location (they are all inter-connected)" -msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)" - -#: ../../mod/invite.php:137 -msgid "2. Enter my $Projectname network address into the site searchbar." -msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito." - -#: ../../mod/invite.php:138 -msgid "or visit " -msgstr "oppure visita " - -#: ../../mod/invite.php:140 -msgid "3. Click [Connect]" -msgstr "3. Clicca su [Aggiungi]" - -#: ../../mod/mail.php:33 -msgid "Unable to lookup recipient." -msgstr "Impossibile associare un destinatario." - -#: ../../mod/mail.php:41 -msgid "Unable to communicate with requested channel." -msgstr "Impossibile comunicare con il canale richiesto." - -#: ../../mod/mail.php:48 -msgid "Cannot verify requested channel." -msgstr "Impossibile verificare il canale richiesto." - -#: ../../mod/mail.php:74 -msgid "Selected channel has private message restrictions. Send failed." -msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito." - -#: ../../mod/mail.php:132 -msgid "Messages" -msgstr "Messaggi" - -#: ../../mod/mail.php:167 -msgid "Message recalled." -msgstr "Messaggio revocato." - -#: ../../mod/mail.php:180 -msgid "Conversation removed." -msgstr "Conversazione rimossa." - -#: ../../mod/mail.php:223 -msgid "Requested channel is not in this network" -msgstr "Il canale cercato non è in questa rete" - -#: ../../mod/mail.php:231 -msgid "Send Private Message" -msgstr "Invia un messaggio privato" - -#: ../../mod/mail.php:232 ../../mod/mail.php:361 -msgid "To:" -msgstr "A:" - -#: ../../mod/mail.php:235 ../../mod/mail.php:363 -msgid "Subject:" -msgstr "Oggetto:" - -#: ../../mod/mail.php:242 -msgid "Send" -msgstr "Invia" - -#: ../../mod/mail.php:333 -msgid "Delete message" -msgstr "Elimina il messaggio" - -#: ../../mod/mail.php:334 -msgid "Delivery report" -msgstr "Rapporto di trasmissione" - -#: ../../mod/mail.php:335 -msgid "Recall message" -msgstr "Revoca il messaggio" - -#: ../../mod/mail.php:337 -msgid "Message has been recalled." -msgstr "Il messaggio è stato revocato." - -#: ../../mod/mail.php:354 -msgid "Delete Conversation" -msgstr "Elimina la conversazione" - -#: ../../mod/mail.php:356 -msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." -msgstr "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente." - -#: ../../mod/mail.php:360 -msgid "Send Reply" -msgstr "Invia la risposta" +#: ../../mod/editlayout.php:112 +msgid "Delete layout?" +msgstr "Vuoi eliminare questo layout?" -#: ../../mod/mail.php:365 -#, php-format -msgid "Your message for %s (%s):" -msgstr "Il tuo messaggio per %s (%s):" +#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124 +msgid "Layout Description (Optional)" +msgstr "Descrizione del layout (facoltativa)" -#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25 -#: ../../mod/update_home.php:21 ../../mod/update_network.php:23 -#: ../../mod/update_search.php:46 ../../mod/update_public.php:21 -msgid "[Embedded content - reload page to view]" -msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]" +#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121 +#: ../../mod/layouts.php:179 +msgid "Layout Name" +msgstr "Nome layout" -#: ../../mod/viewsrc.php:40 -msgid "Source of Item" -msgstr "Sorgente" +#: ../../mod/editlayout.php:178 +msgid "Edit Layout" +msgstr "Modifica il layout" #: ../../mod/settings.php:76 msgid "Name is required" @@ -7501,797 +7591,611 @@ msgstr "È un indirizzo email riservato. Non puoi sceglierlo." msgid "System failure storing new email. Please try again." msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore." -#: ../../mod/settings.php:519 +#: ../../mod/settings.php:521 msgid "Settings updated." msgstr "Impostazioni aggiornate." -#: ../../mod/settings.php:583 ../../mod/settings.php:609 -#: ../../mod/settings.php:645 +#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../mod/settings.php:647 msgid "Add application" msgstr "Aggiungi una app" -#: ../../mod/settings.php:586 +#: ../../mod/settings.php:588 msgid "Name of application" msgstr "Nome dell'applicazione" -#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/settings.php:589 ../../mod/settings.php:615 msgid "Consumer Key" msgstr "Consumer Key" -#: ../../mod/settings.php:587 ../../mod/settings.php:588 +#: ../../mod/settings.php:589 ../../mod/settings.php:590 msgid "Automatically generated - change if desired. Max length 20" msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20" -#: ../../mod/settings.php:588 ../../mod/settings.php:614 +#: ../../mod/settings.php:590 ../../mod/settings.php:616 msgid "Consumer Secret" msgstr "Consumer Secret" -#: ../../mod/settings.php:589 ../../mod/settings.php:615 +#: ../../mod/settings.php:591 ../../mod/settings.php:617 msgid "Redirect" msgstr "Redirect" -#: ../../mod/settings.php:589 +#: ../../mod/settings.php:591 msgid "" "Redirect URI - leave blank unless your application specifically requires " "this" msgstr "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione" -#: ../../mod/settings.php:590 ../../mod/settings.php:616 +#: ../../mod/settings.php:592 ../../mod/settings.php:618 msgid "Icon url" msgstr "Url icona" -#: ../../mod/settings.php:590 +#: ../../mod/settings.php:592 msgid "Optional" msgstr "Facoltativo" -#: ../../mod/settings.php:601 +#: ../../mod/settings.php:603 msgid "You can't edit this application." msgstr "Non puoi modificare questa applicazione." -#: ../../mod/settings.php:644 +#: ../../mod/settings.php:646 msgid "Connected Apps" msgstr "App connesse" -#: ../../mod/settings.php:648 +#: ../../mod/settings.php:650 msgid "Client key starts with" msgstr "La client key inizia con" -#: ../../mod/settings.php:649 +#: ../../mod/settings.php:651 msgid "No name" msgstr "Nessun nome" -#: ../../mod/settings.php:650 +#: ../../mod/settings.php:652 msgid "Remove authorization" msgstr "Revoca l'autorizzazione" -#: ../../mod/settings.php:663 +#: ../../mod/settings.php:665 msgid "No feature settings configured" msgstr "Non hai componenti aggiuntivi da personalizzare" -#: ../../mod/settings.php:670 +#: ../../mod/settings.php:672 msgid "Feature/Addon Settings" msgstr "Impostazioni dei componenti aggiuntivi" -#: ../../mod/settings.php:693 +#: ../../mod/settings.php:695 msgid "Account Settings" msgstr "Il tuo account" -#: ../../mod/settings.php:694 +#: ../../mod/settings.php:696 msgid "Enter New Password:" msgstr "Inserisci la nuova password:" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Confirm New Password:" msgstr "Conferma la nuova password:" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Leave password fields blank unless changing" msgstr "Lascia vuoti questi campi per non cambiare la password" -#: ../../mod/settings.php:697 ../../mod/settings.php:1028 +#: ../../mod/settings.php:699 ../../mod/settings.php:1030 msgid "Email Address:" msgstr "Indirizzo email:" -#: ../../mod/settings.php:699 +#: ../../mod/settings.php:701 msgid "Remove this account including all its channels" msgstr "Elimina questo account e tutti i suoi canali" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "Off" msgstr "Off" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "On" msgstr "On" -#: ../../mod/settings.php:722 +#: ../../mod/settings.php:724 msgid "Additional Features" msgstr "Funzionalità opzionali" -#: ../../mod/settings.php:746 +#: ../../mod/settings.php:748 msgid "Connector Settings" msgstr "Impostazioni del connettore" -#: ../../mod/settings.php:785 +#: ../../mod/settings.php:787 msgid "No special theme for mobile devices" msgstr "Nessun tema per dispositivi mobili" -#: ../../mod/settings.php:788 +#: ../../mod/settings.php:790 #, php-format msgid "%s - (Experimental)" msgstr "%s - (Sperimentale)" -#: ../../mod/settings.php:827 +#: ../../mod/settings.php:829 msgid "Display Settings" msgstr "Aspetto" -#: ../../mod/settings.php:828 +#: ../../mod/settings.php:830 msgid "Theme Settings" msgstr "Impostazioni del tema" -#: ../../mod/settings.php:829 +#: ../../mod/settings.php:831 msgid "Custom Theme Settings" msgstr "Personalizzazione del tema" -#: ../../mod/settings.php:830 +#: ../../mod/settings.php:832 msgid "Content Settings" msgstr "Impostazioni dei contenuti" -#: ../../mod/settings.php:836 +#: ../../mod/settings.php:838 msgid "Display Theme:" msgstr "Tema per schermi medio grandi:" -#: ../../mod/settings.php:837 +#: ../../mod/settings.php:839 msgid "Mobile Theme:" msgstr "Tema per dispositivi mobili:" -#: ../../mod/settings.php:838 +#: ../../mod/settings.php:840 msgid "Enable user zoom on mobile devices" msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Update browser every xx seconds" msgstr "Aggiorna il browser ogni x secondi" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Minimum of 10 seconds, no maximum" msgstr "Minimo 10 secondi, nessun limite massimo" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum number of conversations to load at any time:" msgstr "Massimo numero di conversazioni da mostrare ogni volta:" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum of 100 items" msgstr "Massimo 100" -#: ../../mod/settings.php:841 +#: ../../mod/settings.php:843 msgid "Show emoticons (smilies) as images" msgstr "Mostra le faccine (smilies) come immagini" -#: ../../mod/settings.php:842 +#: ../../mod/settings.php:844 msgid "Link post titles to source" msgstr "Il link del titolo di un post porta al sito originale" -#: ../../mod/settings.php:843 +#: ../../mod/settings.php:845 msgid "System Page Layout Editor - (advanced)" msgstr "Modifica i layout di sistema (avanzato)" -#: ../../mod/settings.php:846 +#: ../../mod/settings.php:848 msgid "Use blog/list mode on channel page" msgstr "Mostra il canale nella modalità blog" -#: ../../mod/settings.php:846 ../../mod/settings.php:847 +#: ../../mod/settings.php:848 ../../mod/settings.php:849 msgid "(comments displayed separately)" msgstr "(i commenti sono mostrati separatamente)" -#: ../../mod/settings.php:847 +#: ../../mod/settings.php:849 msgid "Use blog/list mode on matrix page" msgstr "Mostra la tua rete in modalità blog" -#: ../../mod/settings.php:848 +#: ../../mod/settings.php:850 msgid "Channel page max height of content (in pixels)" msgstr "Altezza massima dei contenuti del canale (in pixel)" -#: ../../mod/settings.php:848 ../../mod/settings.php:849 +#: ../../mod/settings.php:850 ../../mod/settings.php:851 msgid "click to expand content exceeding this height" msgstr "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori" -#: ../../mod/settings.php:849 +#: ../../mod/settings.php:851 msgid "Matrix page max height of content (in pixels)" msgstr "Altezza massima dei contenuti della tua rete (in pixel)" -#: ../../mod/settings.php:883 +#: ../../mod/settings.php:885 msgid "Nobody except yourself" msgstr "Nessuno tranne te" -#: ../../mod/settings.php:884 +#: ../../mod/settings.php:886 msgid "Only those you specifically allow" msgstr "Solo chi riceve il mio permesso" -#: ../../mod/settings.php:885 +#: ../../mod/settings.php:887 msgid "Approved connections" msgstr "Contatti approvati" -#: ../../mod/settings.php:886 +#: ../../mod/settings.php:888 msgid "Any connections" msgstr "Tutti i contatti" -#: ../../mod/settings.php:887 +#: ../../mod/settings.php:889 msgid "Anybody on this website" msgstr "Chiunque su questo hub" -#: ../../mod/settings.php:888 +#: ../../mod/settings.php:890 msgid "Anybody in this network" msgstr "Chiunque su questa rete" -#: ../../mod/settings.php:889 +#: ../../mod/settings.php:891 msgid "Anybody authenticated" msgstr "Chiunque abbia effettuato l'accesso" -#: ../../mod/settings.php:890 +#: ../../mod/settings.php:892 msgid "Anybody on the internet" msgstr "Chiunque su internet" -#: ../../mod/settings.php:964 +#: ../../mod/settings.php:966 msgid "Publish your default profile in the network directory" msgstr "Mostra il mio profilo predefinito negli elenchi pubblici dei canali" -#: ../../mod/settings.php:969 +#: ../../mod/settings.php:971 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "Vuoi essere suggerito come amico ai nuovi membri?" -#: ../../mod/settings.php:978 +#: ../../mod/settings.php:980 msgid "Your channel address is" msgstr "L'indirizzo del tuo canale è" -#: ../../mod/settings.php:1019 +#: ../../mod/settings.php:1021 msgid "Channel Settings" msgstr "Impostazioni del canale" -#: ../../mod/settings.php:1026 +#: ../../mod/settings.php:1028 msgid "Basic Settings" msgstr "Impostazioni di base" -#: ../../mod/settings.php:1029 +#: ../../mod/settings.php:1031 msgid "Your Timezone:" msgstr "Il tuo fuso orario:" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Default Post Location:" msgstr "Località predefinita:" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Geographical location to display on your posts" msgstr "La posizione geografica da mostrare sui tuoi post" -#: ../../mod/settings.php:1031 +#: ../../mod/settings.php:1033 msgid "Use Browser Location:" msgstr "Usa la località rilevata dal browser:" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "Adult Content" msgstr "Contenuto per adulti" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)" -#: ../../mod/settings.php:1035 +#: ../../mod/settings.php:1037 msgid "Security and Privacy Settings" msgstr "Impostazioni di sicurezza e privacy" -#: ../../mod/settings.php:1037 +#: ../../mod/settings.php:1039 msgid "Your permissions are already configured. Click to view/adjust" msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Hide my online presence" msgstr "Nascondi la mia presenza online" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Prevents displaying in your profile that you are online" msgstr "Non mostrare sul tuo profilo quando sei online" -#: ../../mod/settings.php:1041 +#: ../../mod/settings.php:1043 msgid "Simple Privacy Settings:" msgstr "Impostazioni di privacy semplificate" -#: ../../mod/settings.php:1042 +#: ../../mod/settings.php:1044 msgid "" "Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>" -#: ../../mod/settings.php:1043 +#: ../../mod/settings.php:1045 msgid "" "Typical - <em>default public, privacy when desired (similar to social " "network permissions but with improved privacy)</em>" msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>" -#: ../../mod/settings.php:1044 +#: ../../mod/settings.php:1046 msgid "Private - <em>default private, never open or public</em>" msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>" -#: ../../mod/settings.php:1045 +#: ../../mod/settings.php:1047 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "Allow others to tag your posts" msgstr "Permetti ad altri di taggare i tuoi post" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti" -#: ../../mod/settings.php:1049 +#: ../../mod/settings.php:1051 msgid "Advanced Privacy Settings" msgstr "Impostazioni di privacy avanzate" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "Expire other channel content after this many days" msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "0 or blank prevents expiration" msgstr "Lascia vuoto oppure 0 per non impostare scadenze" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "Maximum Friend Requests/Day:" msgstr "Numero massimo giornaliero di richieste di amicizia:" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "May reduce spam activity" msgstr "Serve a ridurre lo spam" -#: ../../mod/settings.php:1053 +#: ../../mod/settings.php:1055 msgid "Default Post Permissions" msgstr "Permessi predefiniti per i post" -#: ../../mod/settings.php:1058 +#: ../../mod/settings.php:1056 ../../mod/mitem.php:150 ../../mod/mitem.php:223 +msgid "(click to open/close)" +msgstr "(clicca per aprire/chiudere)" + +#: ../../mod/settings.php:1060 msgid "Channel permissions category:" msgstr "Categorie di permessi dei canali:" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Maximum private messages per day from unknown people:" msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Useful to reduce spamming" msgstr "Serve e ridurre lo spam" -#: ../../mod/settings.php:1067 +#: ../../mod/settings.php:1069 msgid "Notification Settings" msgstr "Impostazioni di notifica" -#: ../../mod/settings.php:1068 +#: ../../mod/settings.php:1070 msgid "By default post a status message when:" msgstr "Pubblica un messaggio di stato quando:" -#: ../../mod/settings.php:1069 +#: ../../mod/settings.php:1071 msgid "accepting a friend request" msgstr "accetto una nuova amicizia" -#: ../../mod/settings.php:1070 +#: ../../mod/settings.php:1072 msgid "joining a forum/community" msgstr "entro a far parte di un forum" -#: ../../mod/settings.php:1071 +#: ../../mod/settings.php:1073 msgid "making an <em>interesting</em> profile change" msgstr "faccio un cambiamento <em>interessante</em> al mio profilo" -#: ../../mod/settings.php:1072 +#: ../../mod/settings.php:1074 msgid "Send a notification email when:" msgstr "Invia una email di notifica quando:" -#: ../../mod/settings.php:1073 +#: ../../mod/settings.php:1075 msgid "You receive a connection request" msgstr "Ricevi una richiesta di entrare in contatto" -#: ../../mod/settings.php:1074 +#: ../../mod/settings.php:1076 msgid "Your connections are confirmed" msgstr "I tuoi contatti sono confermati" -#: ../../mod/settings.php:1075 +#: ../../mod/settings.php:1077 msgid "Someone writes on your profile wall" msgstr "Qualcuno scrive sulla tua bacheca" -#: ../../mod/settings.php:1076 +#: ../../mod/settings.php:1078 msgid "Someone writes a followup comment" msgstr "Qualcuno scrive un commento dopo di te" -#: ../../mod/settings.php:1077 +#: ../../mod/settings.php:1079 msgid "You receive a private message" msgstr "Ricevi un messaggio privato" -#: ../../mod/settings.php:1078 +#: ../../mod/settings.php:1080 msgid "You receive a friend suggestion" msgstr "Ti viene suggerito un amico" -#: ../../mod/settings.php:1079 +#: ../../mod/settings.php:1081 msgid "You are tagged in a post" msgstr "Sei taggato in un post" -#: ../../mod/settings.php:1080 +#: ../../mod/settings.php:1082 msgid "You are poked/prodded/etc. in a post" msgstr "Ricevi un poke in un post" -#: ../../mod/settings.php:1083 +#: ../../mod/settings.php:1085 msgid "Show visual notifications including:" msgstr "Mostra queste notifiche a schermo:" -#: ../../mod/settings.php:1085 +#: ../../mod/settings.php:1087 msgid "Unseen matrix activity" msgstr "Nuove attività nella rete" -#: ../../mod/settings.php:1086 +#: ../../mod/settings.php:1088 msgid "Unseen channel activity" msgstr "Novità nei canali" -#: ../../mod/settings.php:1087 +#: ../../mod/settings.php:1089 msgid "Unseen private messages" msgstr "Nuovi messaggi privati" -#: ../../mod/settings.php:1087 ../../mod/settings.php:1092 -#: ../../mod/settings.php:1093 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1089 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1095 ../../mod/settings.php:1096 msgid "Recommended" msgstr "Consigliato" -#: ../../mod/settings.php:1088 +#: ../../mod/settings.php:1090 msgid "Upcoming events" msgstr "Prossimi eventi" -#: ../../mod/settings.php:1089 +#: ../../mod/settings.php:1091 msgid "Events today" msgstr "Eventi di oggi" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Upcoming birthdays" msgstr "Prossimi compleanni" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Not available in all themes" msgstr "Non disponibile in tutti i temi" -#: ../../mod/settings.php:1091 +#: ../../mod/settings.php:1093 msgid "System (personal) notifications" msgstr "Notifiche personali dal sistema" -#: ../../mod/settings.php:1092 +#: ../../mod/settings.php:1094 msgid "System info messages" msgstr "Notifiche di sistema" -#: ../../mod/settings.php:1093 +#: ../../mod/settings.php:1095 msgid "System critical alerts" msgstr "Avvisi critici di sistema" -#: ../../mod/settings.php:1094 +#: ../../mod/settings.php:1096 msgid "New connections" msgstr "Nuovi contatti" -#: ../../mod/settings.php:1095 +#: ../../mod/settings.php:1097 msgid "System Registrations" msgstr "Registrazioni" -#: ../../mod/settings.php:1096 +#: ../../mod/settings.php:1098 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Notify me of events this many days in advance" msgstr "Giorni di anticipo per notificare gli eventi" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Must be greater than 0" msgstr "Maggiore di 0" -#: ../../mod/settings.php:1100 +#: ../../mod/settings.php:1102 msgid "Advanced Account/Page Type Settings" msgstr "Impostazioni avanzate" -#: ../../mod/settings.php:1101 +#: ../../mod/settings.php:1103 msgid "Change the behaviour of this account for special situations" msgstr "Cambia il funzionamento di questo account per necessità particolari" -#: ../../mod/settings.php:1104 +#: ../../mod/settings.php:1106 msgid "" "Please enable expert mode (in <a href=\"settings/features\">Settings > " "Additional features</a>) to adjust!" msgstr "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)" -#: ../../mod/settings.php:1105 +#: ../../mod/settings.php:1107 msgid "Miscellaneous Settings" msgstr "Impostazioni varie" -#: ../../mod/settings.php:1106 +#: ../../mod/settings.php:1108 msgid "Default photo upload folder" msgstr "Cartella predefinita per le foto caricate" -#: ../../mod/settings.php:1106 ../../mod/settings.php:1107 +#: ../../mod/settings.php:1108 ../../mod/settings.php:1109 msgid "%Y - current year, %m - current month" msgstr "%Y - anno corrente, %m - mese corrente" -#: ../../mod/settings.php:1107 +#: ../../mod/settings.php:1109 msgid "Default file upload folder" msgstr "Cartella predefinita per i file caricati" -#: ../../mod/settings.php:1109 +#: ../../mod/settings.php:1111 msgid "Personal menu to display in your channel pages" msgstr "Menu personale da mostrare sulle pagine del tuo canale" -#: ../../mod/settings.php:1111 +#: ../../mod/settings.php:1113 msgid "Remove this channel." msgstr "Elimina questo canale." -#: ../../mod/settings.php:1112 +#: ../../mod/settings.php:1114 msgid "Firefox Share $Projectname provider" msgstr "Attiva Firefox Share per $Projectname" -#: ../../mod/xchan.php:6 -msgid "Xchan Lookup" -msgstr "Ricerca canale" - -#: ../../mod/xchan.php:9 -msgid "Lookup xchan beginning with (or webbie): " -msgstr "Cerca un canale (o un webbie) che inizia per:" - -#: ../../mod/manage.php:130 -#, php-format -msgid "You have created %1$.0f of %2$.0f allowed channels." -msgstr "Hai creato %1$.0f dei %2$.0f canali permessi." - -#: ../../mod/manage.php:138 -msgid "Create a new channel" -msgstr "Crea un nuovo canale" - -#: ../../mod/manage.php:161 -msgid "Current Channel" -msgstr "Canale attuale" - -#: ../../mod/manage.php:163 -msgid "Switch to one of your channels by selecting it." -msgstr "Seleziona l'altro canale a cui vuoi passare." - -#: ../../mod/manage.php:164 -msgid "Default Channel" -msgstr "Canale predefinito" - -#: ../../mod/manage.php:165 -msgid "Make Default" -msgstr "Rendi predefinito" - -#: ../../mod/manage.php:168 -#, php-format -msgid "%d new messages" -msgstr "%d nuovi messaggi" - -#: ../../mod/manage.php:169 -#, php-format -msgid "%d new introductions" -msgstr "%d nuove richieste di entrare in contatto" - -#: ../../mod/manage.php:171 -msgid "Delegated Channels" -msgstr "Canali delegati" - -#: ../../mod/api.php:76 ../../mod/api.php:102 -msgid "Authorize application connection" -msgstr "Autorizza la app" - -#: ../../mod/api.php:77 -msgid "Return to your app and insert this Securty Code:" -msgstr "Torna alla app e inserisci questo codice di sicurezza:" - -#: ../../mod/api.php:89 -msgid "Please login to continue." -msgstr "Accedi al sito per continuare." - -#: ../../mod/api.php:104 -msgid "" -"Do you want to authorize this application to access your posts and contacts," -" and/or create new posts for you?" -msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?" - -#: ../../mod/connections.php:52 ../../mod/connections.php:150 -msgid "Blocked" -msgstr "Bloccati" - -#: ../../mod/connections.php:57 ../../mod/connections.php:157 -msgid "Ignored" -msgstr "Ignorati" - -#: ../../mod/connections.php:62 ../../mod/connections.php:171 -msgid "Hidden" -msgstr "Nascosti" - -#: ../../mod/connections.php:67 ../../mod/connections.php:164 -msgid "Archived" -msgstr "Archiviati" - -#: ../../mod/connections.php:128 -msgid "Suggest new connections" -msgstr "Suggerisci nuovi contatti" - -#: ../../mod/connections.php:131 -msgid "New Connections" -msgstr "Nuovi contatti" - -#: ../../mod/connections.php:134 -msgid "Show pending (new) connections" -msgstr "Richieste di contatto in attesa" - -#: ../../mod/connections.php:137 ../../mod/profperm.php:139 -msgid "All Connections" -msgstr "Tutti i contatti" - -#: ../../mod/connections.php:140 -msgid "Show all connections" -msgstr "Mostra tutti i contatti" - -#: ../../mod/connections.php:143 -msgid "Unblocked" -msgstr "Non bloccati" - -#: ../../mod/connections.php:146 -msgid "Only show unblocked connections" -msgstr "Mostra solo i contatti non bloccati" - -#: ../../mod/connections.php:153 -msgid "Only show blocked connections" -msgstr "Mostra solo i contatti bloccati" +#: ../../mod/settings.php:1115 +msgid "Start calendar week on monday" +msgstr "La settimana inizia di lunedì" -#: ../../mod/connections.php:160 -msgid "Only show ignored connections" -msgstr "Mostra solo i contatti ignorati" - -#: ../../mod/connections.php:167 -msgid "Only show archived connections" -msgstr "Mostra solo i contatti archiviati" - -#: ../../mod/connections.php:174 -msgid "Only show hidden connections" -msgstr "Mostra solo i contatti nascosti" - -#: ../../mod/connections.php:225 -#, php-format -msgid "%1$s [%2$s]" -msgstr "%1$s [%2$s]" - -#: ../../mod/connections.php:226 -msgid "Edit connection" -msgstr "Modifica il contatto" - -#: ../../mod/connections.php:264 -msgid "Search your connections" -msgstr "Cerca tra i contatti" - -#: ../../mod/connections.php:265 -msgid "Finding: " -msgstr "Ricerca: " - -#: ../../mod/editlayout.php:112 -msgid "Delete layout?" -msgstr "Vuoi eliminare questo layout?" - -#: ../../mod/editlayout.php:178 -msgid "Edit Layout" -msgstr "Modifica il layout" - -#: ../../mod/editwebpage.php:153 -msgid "Delete webpage?" -msgstr "Vuoi eliminare questa pagina web?" - -#: ../../mod/editwebpage.php:172 -msgid "Page link title" -msgstr "Link del titolo" - -#: ../../mod/editwebpage.php:222 -msgid "Edit Webpage" -msgstr "Modifica la pagina web" - -#: ../../mod/group.php:20 -msgid "Collection created." -msgstr "L'insieme di canali è stato creato." - -#: ../../mod/group.php:26 -msgid "Could not create collection." -msgstr "Impossibile creare l'insieme." - -#: ../../mod/group.php:54 -msgid "Collection updated." -msgstr "Insieme aggiornato." - -#: ../../mod/group.php:86 -msgid "Create a collection of channels." -msgstr "Crea un insieme di canali." - -#: ../../mod/group.php:87 ../../mod/group.php:180 -msgid "Collection Name: " -msgstr "Nome dell'insieme:" - -#: ../../mod/group.php:89 ../../mod/group.php:183 -msgid "Members are visible to other channels" -msgstr "I membri potranno vedere gli altri canali dell'insieme" - -#: ../../mod/group.php:107 -msgid "Collection removed." -msgstr "Insieme rimosso." +#: ../../mod/webpages.php:191 +msgid "Page Title" +msgstr "Titolo della pagina" -#: ../../mod/group.php:109 -msgid "Unable to remove collection." -msgstr "Impossibile rimuovere l'insieme." +#: ../../mod/appman.php:28 ../../mod/appman.php:44 +msgid "App installed." +msgstr "App installata" -#: ../../mod/group.php:179 -msgid "Collection Editor" -msgstr "Modifica l'insieme" +#: ../../mod/appman.php:37 +msgid "Malformed app." +msgstr "L'app contiene errori" -#: ../../mod/group.php:193 -msgid "Members" -msgstr "Membri" +#: ../../mod/appman.php:80 +msgid "Embed code" +msgstr "Inserisci il codice" -#: ../../mod/group.php:195 -msgid "All Connected Channels" -msgstr "Tutti i canali connessi" +#: ../../mod/appman.php:86 +msgid "Edit App" +msgstr "Modifica app" -#: ../../mod/group.php:227 -msgid "Click on a channel to add or remove." -msgstr "Clicca su un canale per aggiungerlo o rimuoverlo." +#: ../../mod/appman.php:86 +msgid "Create App" +msgstr "Crea una app" -#: ../../mod/connect.php:56 ../../mod/connect.php:104 -msgid "Continue" -msgstr "Continua" +#: ../../mod/appman.php:91 +msgid "Name of app" +msgstr "Nome app" -#: ../../mod/connect.php:85 -msgid "Premium Channel Setup" -msgstr "Canale premium - configurazione" +#: ../../mod/appman.php:92 +msgid "Location (URL) of app" +msgstr "Indirizzo (URL) della app" -#: ../../mod/connect.php:87 -msgid "Enable premium channel connection restrictions" -msgstr "Abilita le restrizioni del canale premium" +#: ../../mod/appman.php:94 +msgid "Photo icon URL" +msgstr "URL icona" -#: ../../mod/connect.php:88 -msgid "" -"Please enter your restrictions or conditions, such as paypal receipt, usage " -"guidelines, etc." -msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc." +#: ../../mod/appman.php:94 +msgid "80 x 80 pixels - optional" +msgstr "80 x 80 pixel - facoltativa" -#: ../../mod/connect.php:90 ../../mod/connect.php:110 -msgid "" -"This channel may require additional steps or acknowledgement of the " -"following conditions prior to connecting:" -msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:" +#: ../../mod/appman.php:95 +msgid "Version ID" +msgstr "ID versione" -#: ../../mod/connect.php:91 -msgid "" -"Potential connections will then see the following text before proceeding:" -msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:" +#: ../../mod/appman.php:96 +msgid "Price of app" +msgstr "Prezzo app" -#: ../../mod/connect.php:92 ../../mod/connect.php:113 -msgid "" -"By continuing, I certify that I have complied with any instructions provided" -" on this page." -msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina." +#: ../../mod/appman.php:97 +msgid "Location (URL) to purchase app" +msgstr "Indirizzo (URL) per acquistare la app" -#: ../../mod/connect.php:101 -msgid "(No specific instructions have been provided by the channel owner.)" -msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)" +#: ../../mod/filer.php:48 +msgid "- select -" +msgstr "- scegli -" -#: ../../mod/connect.php:109 -msgid "Restricted or Premium Channel" -msgstr "Canale premium - con restrizioni" +#: ../../mod/layouts.php:176 +msgid "Comanche page description language help" +msgstr "Guida di Comanche Page Description Language" -#: ../../mod/viewconnections.php:59 -msgid "No connections." -msgstr "Nessun contatto." +#: ../../mod/layouts.php:180 +msgid "Layout Description" +msgstr "Descrizione del layout" -#: ../../mod/viewconnections.php:72 -#, php-format -msgid "Visit %s's profile [%s]" -msgstr "Visita il profilo di %s [%s]" +#: ../../mod/layouts.php:185 +msgid "Download PDL file" +msgstr "Scarica il file PDL" #: ../../mod/locs.php:21 ../../mod/locs.php:50 msgid "Location not found." @@ -8349,443 +8253,585 @@ msgstr "Quando possibile, riduci il numero di cloni del tuo canale effettuando i msgid "Use this form to drop the location if the hub is no longer operating." msgstr "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante." -#: ../../mod/post.php:234 -msgid "" -"Remote authentication blocked. You are logged into this site locally. Please" -" logout and retry." -msgstr "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo." +#: ../../mod/mail.php:33 +msgid "Unable to lookup recipient." +msgstr "Impossibile associare un destinatario." -#: ../../mod/ffsapi.php:8 -msgid "Share content from Firefox to $Projectname" -msgstr "Condividi i contenuti su $Projectname da Firefox" +#: ../../mod/mail.php:41 +msgid "Unable to communicate with requested channel." +msgstr "Impossibile comunicare con il canale richiesto." -#: ../../mod/ffsapi.php:11 -msgid "Activate the Firefox $Projectname provider" -msgstr "Attiva Firefox Share per $Projectname" +#: ../../mod/mail.php:48 +msgid "Cannot verify requested channel." +msgstr "Impossibile verificare il canale richiesto." -#: ../../mod/setup.php:191 -msgid "$Projectname Server - Setup" -msgstr "Server $Projectname - Installazione" +#: ../../mod/mail.php:74 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito." -#: ../../mod/setup.php:195 -msgid "Could not connect to database." -msgstr " Impossibile connettersi al database." +#: ../../mod/mail.php:132 +msgid "Messages" +msgstr "Messaggi" -#: ../../mod/setup.php:199 -msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." -msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS." +#: ../../mod/mail.php:167 +msgid "Message recalled." +msgstr "Messaggio revocato." -#: ../../mod/setup.php:206 -msgid "Could not create table." -msgstr "Impossibile creare le tabelle." +#: ../../mod/mail.php:180 +msgid "Conversation removed." +msgstr "Conversazione rimossa." -#: ../../mod/setup.php:211 -msgid "Your site database has been installed." -msgstr "Il database del sito è stato installato." +#: ../../mod/mail.php:223 +msgid "Requested channel is not in this network" +msgstr "Il canale cercato non è in questa rete" -#: ../../mod/setup.php:215 -msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." -msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db." +#: ../../mod/mail.php:231 +msgid "Send Private Message" +msgstr "Invia un messaggio privato" -#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 -msgid "Please see the file \"install/INSTALL.txt\"." -msgstr "Leggi il file 'install/INSTALL.txt'." +#: ../../mod/mail.php:232 ../../mod/mail.php:361 +msgid "To:" +msgstr "A:" -#: ../../mod/setup.php:281 -msgid "System check" -msgstr "Verifica del sistema" +#: ../../mod/mail.php:235 ../../mod/mail.php:363 +msgid "Subject:" +msgstr "Oggetto:" -#: ../../mod/setup.php:286 -msgid "Check again" -msgstr "Verifica di nuovo" +#: ../../mod/mail.php:238 ../../mod/invite.php:131 +msgid "Your message:" +msgstr "Il tuo messaggio:" -#: ../../mod/setup.php:308 -msgid "Database connection" -msgstr "Connessione al database" +#: ../../mod/mail.php:242 +msgid "Send" +msgstr "Invia" -#: ../../mod/setup.php:309 -msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." -msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database." +#: ../../mod/mail.php:333 +msgid "Delete message" +msgstr "Elimina il messaggio" -#: ../../mod/setup.php:310 -msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." -msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni." +#: ../../mod/mail.php:334 +msgid "Delivery report" +msgstr "Rapporto di trasmissione" -#: ../../mod/setup.php:311 +#: ../../mod/mail.php:335 +msgid "Recall message" +msgstr "Revoca il messaggio" + +#: ../../mod/mail.php:337 +msgid "Message has been recalled." +msgstr "Il messaggio è stato revocato." + +#: ../../mod/mail.php:354 +msgid "Delete Conversation" +msgstr "Elimina la conversazione" + +#: ../../mod/mail.php:356 msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." -msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare." +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." +msgstr "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente." -#: ../../mod/setup.php:315 -msgid "Database Server Name" -msgstr "Server del database" +#: ../../mod/mail.php:360 +msgid "Send Reply" +msgstr "Invia la risposta" -#: ../../mod/setup.php:315 -msgid "Default is 127.0.0.1" -msgstr "Il valore predefinito è 127.0.0.1" +#: ../../mod/mail.php:365 +#, php-format +msgid "Your message for %s (%s):" +msgstr "Il tuo messaggio per %s (%s):" -#: ../../mod/setup.php:316 -msgid "Database Port" -msgstr "Port del database" +#: ../../mod/regmod.php:11 +msgid "Please login." +msgstr "Effettua l'accesso." -#: ../../mod/setup.php:316 -msgid "Communication port number - use 0 for default" -msgstr "Scrivi 0 per usare il valore standard" +#: ../../mod/xchan.php:6 +msgid "Xchan Lookup" +msgstr "Ricerca canale" -#: ../../mod/setup.php:317 -msgid "Database Login Name" -msgstr "Utente database" +#: ../../mod/xchan.php:9 +msgid "Lookup xchan beginning with (or webbie): " +msgstr "Cerca un canale (o un webbie) che inizia per:" -#: ../../mod/setup.php:318 -msgid "Database Login Password" -msgstr "Password database" +#: ../../mod/xchan.php:37 ../../mod/menu.php:162 ../../mod/mitem.php:116 +msgid "Not found." +msgstr "Non trovato." -#: ../../mod/setup.php:319 -msgid "Database Name" -msgstr "Nome database" +#: ../../mod/channel.php:25 ../../mod/chat.php:19 +msgid "You must be logged in to see this page." +msgstr "Devi aver effettuato l'accesso per vedere questa pagina." -#: ../../mod/setup.php:320 -msgid "Database Type" -msgstr "Tipo database" +#: ../../mod/channel.php:97 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo." -#: ../../mod/setup.php:322 ../../mod/setup.php:363 -msgid "Site administrator email address" -msgstr "Indirizzo email dell'amministratore del hub" +#: ../../mod/attach.php:9 +msgid "Item not available." +msgstr "Elemento non disponibile." -#: ../../mod/setup.php:322 ../../mod/setup.php:363 +#: ../../mod/invite.php:25 +msgid "Total invitation limit exceeded." +msgstr "Hai superato il numero massimo di inviti." + +#: ../../mod/invite.php:49 +#, php-format +msgid "%s : Not a valid email address." +msgstr "%s: non è un indirizzo email valido." + +#: ../../mod/invite.php:76 +msgid "Please join us on $Projectname" +msgstr "Unisciti a noi su $Projectname" + +#: ../../mod/invite.php:87 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario." + +#: ../../mod/invite.php:92 +#, php-format +msgid "%s : Message delivery failed." +msgstr "%s: la consegna del messaggio è fallita." + +#: ../../mod/invite.php:96 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "%d messaggio inviato." +msgstr[1] "%d messaggi inviati." + +#: ../../mod/invite.php:115 +msgid "You have no more invitations available" +msgstr "Non hai altri inviti disponibili" + +#: ../../mod/invite.php:129 +msgid "Send invitations" +msgstr "Spedisci inviti" + +#: ../../mod/invite.php:130 +msgid "Enter email addresses, one per line:" +msgstr "Inserisci gli indirizzi email, uno per riga:" + +#: ../../mod/invite.php:132 +msgid "Please join my community on $Projectname." +msgstr "Entra nella mia comunità su $Projectname." + +#: ../../mod/invite.php:134 +msgid "You will need to supply this invitation code: " +msgstr "Dovrai fornire questo codice di invito:" + +#: ../../mod/invite.php:135 msgid "" -"Your account email address must match this in order to use the web admin " -"panel." -msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla." +"1. Register at any $Projectname location (they are all inter-connected)" +msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)" -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Website URL" -msgstr "URL completo del sito" +#: ../../mod/invite.php:137 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito." -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Please use SSL (https) URL if available." -msgstr "Se disponibile, usa l'indirizzo SSL (https)." +#: ../../mod/invite.php:138 +msgid "or visit " +msgstr "oppure visita " -#: ../../mod/setup.php:325 ../../mod/setup.php:367 -msgid "Please select a default timezone for your website" -msgstr "Seleziona il fuso orario predefinito per il tuo hub" +#: ../../mod/invite.php:140 +msgid "3. Click [Connect]" +msgstr "3. Clicca su [Aggiungi]" -#: ../../mod/setup.php:352 -msgid "Site settings" -msgstr "Impostazioni del hub" +#: ../../mod/lockview.php:37 +msgid "Remote privacy information not available." +msgstr "Le informazioni remote sulla privacy non sono disponibili." -#: ../../mod/setup.php:417 -msgid "Could not find a command line version of PHP in the web server PATH." -msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web" +#: ../../mod/lockview.php:58 +msgid "Visible to:" +msgstr "Visibile a:" -#: ../../mod/setup.php:418 +#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 +msgid "Export Channel" +msgstr "Esporta il canale" + +#: ../../mod/uexport.php:53 msgid "" -"If you don't have a command line version of PHP installed on server, you " -"will not be able to run background polling via cron." -msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron." +"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 "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato." -#: ../../mod/setup.php:422 -msgid "PHP executable path" -msgstr "Path del comando PHP" +#: ../../mod/uexport.php:54 +msgid "Export Content" +msgstr "Esporta i contenuti" -#: ../../mod/setup.php:422 +#: ../../mod/uexport.php:55 msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." -msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione." +"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 "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento." -#: ../../mod/setup.php:427 -msgid "Command line PHP" -msgstr "PHP da riga di comando" +#: ../../mod/uexport.php:56 +msgid "Export your posts from a given year." +msgstr "Esporta i tuoi post a partire dall'anno scelto." -#: ../../mod/setup.php:436 +#: ../../mod/uexport.php:58 msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." -msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"." +"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 "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date." -#: ../../mod/setup.php:437 -msgid "This is required for message delivery to work." -msgstr "E' necessario perché funzioni la consegna dei messaggi." +#: ../../mod/uexport.php:59 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a " +"href=\"%1$s\">%2$s</a>" +msgstr "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1$s\">%2$s</a> " -#: ../../mod/setup.php:440 -msgid "PHP register_argc_argv" -msgstr "PHP register_argc_argv" +#: ../../mod/uexport.php:60 +#, 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 "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1$s\">%2$s</a>" -#: ../../mod/setup.php:458 +#: ../../mod/uexport.php:61 #, php-format msgid "" -"Your max allowed total upload size is set to %s. Maximum size of one file to" -" upload is set to %s. You are allowed to upload up to %d files at once." -msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta." +"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 "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1$s\">%2$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)" -#: ../../mod/setup.php:463 -msgid "You can adjust these settings in the servers php.ini." -msgstr "Puoi regolare queste impostazioni sul server in php.ini" +#: ../../mod/editpost.php:31 +msgid "Item is not editable" +msgstr "L'elemento non è modificabile" -#: ../../mod/setup.php:465 -msgid "PHP upload limits" -msgstr "Limiti PHP in upload" +#: ../../mod/editpost.php:57 +msgid "Delete item?" +msgstr "Eliminare questo elemento?" -#: ../../mod/setup.php:488 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" -msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura" +#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 +msgid "Edit post" +msgstr "Modifica post" -#: ../../mod/setup.php:489 +#: ../../mod/follow.php:25 +msgid "Channel added." +msgstr "Canale aggiunto." + +#: ../../mod/rmagic.php:40 msgid "" -"If running under Windows, please see " -"\"http://www.php.net/manual/en/openssl.installation.php\"." -msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"." +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." +msgstr "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente." -#: ../../mod/setup.php:492 -msgid "Generate encryption keys" -msgstr "Genera chiavi di cifratura" +#: ../../mod/rmagic.php:40 +msgid "The error message was:" +msgstr "Messaggio di errore ricevuto:" -#: ../../mod/setup.php:504 -msgid "libCurl PHP module" -msgstr "modulo PHP libCurl" +#: ../../mod/rmagic.php:44 +msgid "Authentication failed." +msgstr "Autenticazione fallita." -#: ../../mod/setup.php:505 -msgid "GD graphics PHP module" -msgstr "modulo PHP GD graphics" +#: ../../mod/rmagic.php:84 +msgid "Remote Authentication" +msgstr "Accedi tramite il tuo hub" -#: ../../mod/setup.php:506 -msgid "OpenSSL PHP module" -msgstr "modulo PHP OpenSSL" +#: ../../mod/rmagic.php:85 +msgid "Enter your channel address (e.g. channel@example.com)" +msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)" -#: ../../mod/setup.php:507 -msgid "mysqli or postgres PHP module" -msgstr "modulo PHP per mysqli oppure prostgres" +#: ../../mod/rmagic.php:86 +msgid "Authenticate" +msgstr "Accedi" -#: ../../mod/setup.php:508 -msgid "mb_string PHP module" -msgstr "modulo PHP mb_string" +#: ../../mod/chat.php:174 +msgid "Room not found" +msgstr "Chat non trovata" -#: ../../mod/setup.php:509 -msgid "mcrypt PHP module" -msgstr "modulo PHP mcrypt" +#: ../../mod/chat.php:185 +msgid "Leave Room" +msgstr "Lascia la chat" -#: ../../mod/setup.php:510 -msgid "xml PHP module" -msgstr "modulo xml PHP" +#: ../../mod/chat.php:186 +msgid "Delete This Room" +msgstr "Elimina questa chat" -#: ../../mod/setup.php:514 ../../mod/setup.php:516 -msgid "Apache mod_rewrite module" -msgstr "modulo Apache mod_rewrite" +#: ../../mod/chat.php:187 +msgid "I am away right now" +msgstr "Non sono presente" -#: ../../mod/setup.php:514 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." -msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato" +#: ../../mod/chat.php:188 +msgid "I am online" +msgstr "Sono online" -#: ../../mod/setup.php:520 ../../mod/setup.php:523 -msgid "proc_open" -msgstr "proc_open" +#: ../../mod/chat.php:190 +msgid "Bookmark this room" +msgstr "Aggiungi questa chat ai segnalibri" -#: ../../mod/setup.php:520 -msgid "" -"Error: proc_open is required but is either not installed or has been " -"disabled in php.ini" -msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini" +#: ../../mod/chat.php:208 ../../mod/chat.php:231 +msgid "New Chatroom" +msgstr "Nuova chat" -#: ../../mod/setup.php:528 -msgid "Error: libCURL PHP module required but not installed." -msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato." +#: ../../mod/chat.php:209 +msgid "Chatroom Name" +msgstr "Nome della chat" -#: ../../mod/setup.php:532 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." -msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato." +#: ../../mod/chat.php:210 +msgid "Expiration of chats (minutes)" +msgstr "Scadenza dei messaggi della chat (minuti)" -#: ../../mod/setup.php:536 -msgid "Error: openssl PHP module required but not installed." -msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato." +#: ../../mod/chat.php:227 +#, php-format +msgid "%1$s's Chatrooms" +msgstr "Le chat di %1$s" -#: ../../mod/setup.php:540 -msgid "" -"Error: mysqli or postgres PHP module required but neither are installed." -msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato" +#: ../../mod/viewsrc.php:40 +msgid "Source of Item" +msgstr "Sorgente" -#: ../../mod/setup.php:544 -msgid "Error: mb_string PHP module required but not installed." -msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato." +#: ../../mod/ffsapi.php:8 +msgid "Share content from Firefox to $Projectname" +msgstr "Condividi i contenuti su $Projectname da Firefox" -#: ../../mod/setup.php:548 -msgid "Error: mcrypt PHP module required but not installed." -msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato." +#: ../../mod/ffsapi.php:11 +msgid "Activate the Firefox $Projectname provider" +msgstr "Attiva Firefox Share per $Projectname" -#: ../../mod/setup.php:552 -msgid "Error: xml PHP module required for DAV but not installed." -msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato." +#: ../../mod/magic.php:69 +msgid "Hub not found." +msgstr "Hub non trovato." -#: ../../mod/setup.php:570 -msgid "" -"The web installer needs to be able to create a file called \".htconfig.php\"" -" in the top folder of your web server and it is unable to do so." -msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo." +#: ../../mod/connections.php:52 ../../mod/connections.php:150 +msgid "Blocked" +msgstr "Bloccati" -#: ../../mod/setup.php:571 -msgid "" -"This is most often a permission setting, as the web server may not be able " -"to write files in your folder - even if you can." -msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi." +#: ../../mod/connections.php:57 ../../mod/connections.php:157 +msgid "Ignored" +msgstr "Ignorati" -#: ../../mod/setup.php:572 -msgid "" -"At the end of this procedure, we will give you a text to save in a file " -"named .htconfig.php in your Red top folder." -msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla." +#: ../../mod/connections.php:62 ../../mod/connections.php:171 +msgid "Hidden" +msgstr "Nascosti" -#: ../../mod/setup.php:573 -msgid "" -"You can alternatively skip this procedure and perform a manual installation." -" Please see the file \"install/INSTALL.txt\" for instructions." -msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni." +#: ../../mod/connections.php:67 ../../mod/connections.php:164 +msgid "Archived" +msgstr "Archiviati" -#: ../../mod/setup.php:576 -msgid ".htconfig.php is writable" -msgstr ".htconfig.php è scrivibile" +#: ../../mod/connections.php:128 +msgid "Suggest new connections" +msgstr "Suggerisci nuovi contatti" -#: ../../mod/setup.php:590 -msgid "" -"Red uses the Smarty3 template engine to render its web views. Smarty3 " -"compiles templates to PHP to speed up rendering." -msgstr "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP." +#: ../../mod/connections.php:131 +msgid "New Connections" +msgstr "Nuovi contatti" -#: ../../mod/setup.php:591 +#: ../../mod/connections.php:134 +msgid "Show pending (new) connections" +msgstr "Richieste di contatto in attesa" + +#: ../../mod/connections.php:137 ../../mod/profperm.php:139 +msgid "All Connections" +msgstr "Tutti i contatti" + +#: ../../mod/connections.php:140 +msgid "Show all connections" +msgstr "Mostra tutti i contatti" + +#: ../../mod/connections.php:143 +msgid "Unblocked" +msgstr "Non bloccati" + +#: ../../mod/connections.php:146 +msgid "Only show unblocked connections" +msgstr "Mostra solo i contatti non bloccati" + +#: ../../mod/connections.php:153 +msgid "Only show blocked connections" +msgstr "Mostra solo i contatti bloccati" + +#: ../../mod/connections.php:160 +msgid "Only show ignored connections" +msgstr "Mostra solo i contatti ignorati" + +#: ../../mod/connections.php:167 +msgid "Only show archived connections" +msgstr "Mostra solo i contatti archiviati" + +#: ../../mod/connections.php:174 +msgid "Only show hidden connections" +msgstr "Mostra solo i contatti nascosti" + +#: ../../mod/connections.php:225 #, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the Red top level folder." -msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla." +msgid "%1$s [%2$s]" +msgstr "%1$s [%2$s]" -#: ../../mod/setup.php:592 ../../mod/setup.php:613 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has" -" write access to this folder." -msgstr "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)." +#: ../../mod/connections.php:226 +msgid "Edit connection" +msgstr "Modifica il contatto" -#: ../../mod/setup.php:593 +#: ../../mod/connections.php:264 +msgid "Search your connections" +msgstr "Cerca tra i contatti" + +#: ../../mod/connections.php:265 +msgid "Finding: " +msgstr "Ricerca: " + +#: ../../mod/help.php:147 +msgid "Documentation Search" +msgstr "Ricerca nella guida" + +#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 +msgid "Help:" +msgstr "Guida:" + +#: ../../mod/help.php:211 ../../index.php:238 +msgid "Not Found" +msgstr "Non disponibile" + +#: ../../mod/help.php:235 +msgid "$Projectname Documentation" +msgstr "Guida di $Projectname" + +#: ../../mod/manage.php:130 #, php-format -msgid "" -"Note: as a security measure, you should give the web server write access to " -"%s only--not the template files (.tpl) that it contains." -msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene." +msgid "You have created %1$.0f of %2$.0f allowed channels." +msgstr "Hai creato %1$.0f dei %2$.0f canali permessi." -#: ../../mod/setup.php:596 +#: ../../mod/manage.php:138 +msgid "Create a new channel" +msgstr "Crea un nuovo canale" + +#: ../../mod/manage.php:161 +msgid "Current Channel" +msgstr "Canale attuale" + +#: ../../mod/manage.php:163 +msgid "Switch to one of your channels by selecting it." +msgstr "Seleziona l'altro canale a cui vuoi passare." + +#: ../../mod/manage.php:164 +msgid "Default Channel" +msgstr "Canale predefinito" + +#: ../../mod/manage.php:165 +msgid "Make Default" +msgstr "Rendi predefinito" + +#: ../../mod/manage.php:168 #, php-format -msgid "%s is writable" -msgstr "%s è scrivibile" +msgid "%d new messages" +msgstr "%d nuovi messaggi" -#: ../../mod/setup.php:612 -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 "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix" +#: ../../mod/manage.php:169 +#, php-format +msgid "%d new introductions" +msgstr "%d nuove richieste di entrare in contatto" -#: ../../mod/setup.php:616 -msgid "store is writable" -msgstr "l'archivio è scrivibile" +#: ../../mod/manage.php:171 +msgid "Delegated Channels" +msgstr "Canali delegati" -#: ../../mod/setup.php:649 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access" -" to this site." -msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito." +#: ../../mod/menu.php:45 +msgid "Unable to update menu." +msgstr "Impossibile aggiornare il menù." -#: ../../mod/setup.php:650 -msgid "" -"If you have https access to your website or allow connections to TCP port " -"443 (the https: port), you MUST use a browser-valid certificate. You MUST " -"NOT use self-signed certificates!" -msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!" +#: ../../mod/menu.php:56 +msgid "Unable to create menu." +msgstr "Impossibile creare il menù." -#: ../../mod/setup.php:651 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." -msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server." +#: ../../mod/menu.php:94 ../../mod/menu.php:106 +msgid "Menu Name" +msgstr "Nome del menu" -#: ../../mod/setup.php:652 -msgid "" -"If your certificate is not recognized, members of other sites (who may " -"themselves have valid certificates) will get a warning message on their own " -"site complaining about security issues." -msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser." +#: ../../mod/menu.php:94 +msgid "Unique name (not visible on webpage) - required" +msgstr "Nome unico (non visibile sulla pagina) - obbligatorio" -#: ../../mod/setup.php:653 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." -msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto." +#: ../../mod/menu.php:95 ../../mod/menu.php:107 +msgid "Menu Title" +msgstr "Titolo del menu" -#: ../../mod/setup.php:654 -msgid "" -"Providers are available that issue free certificates which are browser-" -"valid." -msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser." +#: ../../mod/menu.php:95 +msgid "Visible on webpage - leave empty for no title" +msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo" -#: ../../mod/setup.php:656 -msgid "SSL certificate validation" -msgstr "Validazione del certificato SSL" +#: ../../mod/menu.php:96 +msgid "Allow Bookmarks" +msgstr "Permetti i segnalibri" -#: ../../mod/setup.php:662 -msgid "" -"Url rewrite in .htaccess is not working. Check your server " -"configuration.Test: " -msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:" +#: ../../mod/menu.php:96 ../../mod/menu.php:153 +msgid "Menu may be used to store saved bookmarks" +msgstr "Puoi salvare i segnalibri nei menù" -#: ../../mod/setup.php:665 -msgid "Url rewrite is working" -msgstr "Url rewrite funziona correttamente" +#: ../../mod/menu.php:97 ../../mod/menu.php:155 +msgid "Submit and proceed" +msgstr "Salva e procedi" -#: ../../mod/setup.php:674 -msgid "" -"The database configuration file \".htconfig.php\" could not be written. " -"Please use the enclosed text to create a configuration file in your web " -"server root." -msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito." +#: ../../mod/menu.php:109 +msgid "Drop" +msgstr "Elimina" -#: ../../mod/setup.php:698 -msgid "Errors encountered creating database tables." -msgstr "La creazione delle tabelle del database ha generato errori." +#: ../../mod/menu.php:113 +msgid "Bookmarks allowed" +msgstr "Permetti segnalibri" -#: ../../mod/setup.php:732 -msgid "<h1>What next</h1>" -msgstr "<h1>I prossimi passi</h1>" +#: ../../mod/menu.php:115 +msgid "Delete this menu" +msgstr "Elimina questo menù" -#: ../../mod/setup.php:733 -msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the " -"poller." -msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling." +#: ../../mod/menu.php:116 ../../mod/menu.php:150 +msgid "Edit menu contents" +msgstr "Modifica i contenuti del menù" -#: ../../mod/sharedwithme.php:94 -msgid "Files: shared with me" -msgstr "File: condivisi con me" +#: ../../mod/menu.php:117 +msgid "Edit this menu" +msgstr "Modifica questo menù" -#: ../../mod/sharedwithme.php:96 -msgid "NEW" -msgstr "NOVITÀ" +#: ../../mod/menu.php:132 +msgid "Menu could not be deleted." +msgstr "Il menù non può essere eliminato." -#: ../../mod/sharedwithme.php:99 -msgid "Remove all files" -msgstr "Elimina tutti i file" +#: ../../mod/menu.php:140 ../../mod/mitem.php:24 +msgid "Menu not found." +msgstr "Menù non trovato." -#: ../../mod/sharedwithme.php:100 -msgid "Remove this file" -msgstr "Elimina questo file" +#: ../../mod/menu.php:145 +msgid "Edit Menu" +msgstr "Modifica menù" + +#: ../../mod/menu.php:149 +msgid "Add or remove entries to this menu" +msgstr "Aggiungi o rimuovi elementi di questo menù" + +#: ../../mod/menu.php:151 +msgid "Menu name" +msgstr "Nome del menù" + +#: ../../mod/menu.php:151 +msgid "Must be unique, only seen by you" +msgstr "Deve essere unico, lo vedrai solo tu" + +#: ../../mod/menu.php:152 +msgid "Menu title" +msgstr "Titolo del menù" + +#: ../../mod/menu.php:152 +msgid "Menu title as seen by others" +msgstr "Titolo del menù come comparirà a tutti" + +#: ../../mod/menu.php:153 +msgid "Allow bookmarks" +msgstr "Permetti l'invio di segnalibri" + +#: ../../mod/post.php:234 +msgid "" +"Remote authentication blocked. You are logged into this site locally. Please" +" logout and retry." +msgstr "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo." + +#: ../../mod/service_limits.php:19 +msgid "No service class restrictions found." +msgstr "Non esistono restrizioni su questa classe di account." #: ../../mod/siteinfo.php:111 #, php-format @@ -8852,303 +8898,260 @@ msgid "" "hours." msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore." -#: ../../mod/profiles.php:18 ../../mod/profiles.php:174 -#: ../../mod/profiles.php:231 ../../mod/profiles.php:600 -msgid "Profile not found." -msgstr "Profilo non trovato." - -#: ../../mod/profiles.php:38 -msgid "Profile deleted." -msgstr "Profilo eliminato." - -#: ../../mod/profiles.php:56 ../../mod/profiles.php:92 -msgid "Profile-" -msgstr "Profilo-" - -#: ../../mod/profiles.php:77 ../../mod/profiles.php:120 -msgid "New profile created." -msgstr "Il nuovo profilo è stato creato." - -#: ../../mod/profiles.php:98 -msgid "Profile unavailable to clone." -msgstr "Impossibile duplicare il profilo." - -#: ../../mod/profiles.php:136 -msgid "Profile unavailable to export." -msgstr "Il profilo non è disponibile per l'export." - -#: ../../mod/profiles.php:241 -msgid "Profile Name is required." -msgstr "Il nome del profilo è obbligatorio." - -#: ../../mod/profiles.php:404 -msgid "Marital Status" -msgstr "Stato sentimentale" - -#: ../../mod/profiles.php:408 -msgid "Romantic Partner" -msgstr "Partner affettivo" - -#: ../../mod/profiles.php:412 -msgid "Likes" -msgstr "Mi piace" - -#: ../../mod/profiles.php:416 -msgid "Dislikes" -msgstr "Non mi piace" +#: ../../mod/events.php:21 +msgid "Calendar entries imported." +msgstr "Le voci del calendario sono state importate." -#: ../../mod/profiles.php:420 -msgid "Work/Employment" -msgstr "Lavoro/impiego" +#: ../../mod/events.php:23 +msgid "No calendar entries found." +msgstr "Non sono state trovate voci del calendario." -#: ../../mod/profiles.php:423 -msgid "Religion" -msgstr "Religione" +#: ../../mod/events.php:100 +msgid "Event can not end before it has started." +msgstr "Un evento non può terminare prima del suo inizio." -#: ../../mod/profiles.php:427 -msgid "Political Views" -msgstr "Orientamento politico" +#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131 +msgid "Unable to generate preview." +msgstr "Impossibile creare un'anteprima." -#: ../../mod/profiles.php:435 -msgid "Sexual Preference" -msgstr "Preferenze sessuali" +#: ../../mod/events.php:109 +msgid "Event title and start time are required." +msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento." -#: ../../mod/profiles.php:439 -msgid "Homepage" -msgstr "Home page" +#: ../../mod/events.php:129 ../../mod/events.php:254 +msgid "Event not found." +msgstr "Evento non trovato." -#: ../../mod/profiles.php:443 -msgid "Interests" -msgstr "Interessi" +#: ../../mod/events.php:452 +msgid "Event Title" +msgstr "Titolo dell'evento" -#: ../../mod/profiles.php:537 -msgid "Profile updated." -msgstr "Profilo aggiornato." +#: ../../mod/events.php:454 +msgid "Categories (comma-separated list)" +msgstr "Categorie (separate da virgola)" -#: ../../mod/profiles.php:626 -msgid "Hide your contact/friend list from viewers of this profile?" -msgstr "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?" +#: ../../mod/events.php:455 +msgid "Category" +msgstr "Categoria" -#: ../../mod/profiles.php:666 -msgid "Edit Profile Details" -msgstr "Modifica i dettagli del profilo" +#: ../../mod/events.php:458 +msgid "Start date and time" +msgstr "Data e ora di inizio" -#: ../../mod/profiles.php:668 -msgid "View this profile" -msgstr "Guarda questo profilo" +#: ../../mod/events.php:459 ../../mod/events.php:462 +msgid "Finish date and time are not known or not relevant" +msgstr "La data e l'ora di inizio non sono necessarie" -#: ../../mod/profiles.php:670 -msgid "Change Profile Photo" -msgstr "Cambia la foto del profilo" +#: ../../mod/events.php:461 +msgid "Finish date and time" +msgstr "Data e ora di fine" -#: ../../mod/profiles.php:671 -msgid "Create a new profile using these settings" -msgstr "Crea un nuovo profilo usando queste impostazioni" - -#: ../../mod/profiles.php:672 -msgid "Clone this profile" -msgstr "Clona questo profilo" +#: ../../mod/events.php:463 ../../mod/events.php:464 +msgid "Adjust for viewer timezone" +msgstr "Adatta al fuso orario di chi legge" -#: ../../mod/profiles.php:673 -msgid "Delete this profile" -msgstr "Elimina questo profilo" +#: ../../mod/events.php:463 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "Importante per eventi che avvengono online ma con un certo fuso orario." -#: ../../mod/profiles.php:675 -msgid "Import profile from file" -msgstr "Importa il profilo da un file" +#: ../../mod/events.php:470 ../../mod/events.php:472 +msgid "Share this event" +msgstr "Condividi questo evento" -#: ../../mod/profiles.php:676 -msgid "Export profile to file" -msgstr "Esporta il profilo in un file" +#: ../../mod/events.php:477 +msgid "Advanced Options" +msgstr "Opzioni avanzate" -#: ../../mod/profiles.php:677 -msgid "Profile Name:" -msgstr "Nome del profilo:" +#: ../../mod/events.php:589 +msgid "l, F j" +msgstr "l j F" -#: ../../mod/profiles.php:678 -msgid "Your Full Name:" -msgstr "Il tuo nome completo:" +#: ../../mod/events.php:611 +msgid "Edit event" +msgstr "Modifica l'evento" -#: ../../mod/profiles.php:679 -msgid "Title/Description:" -msgstr "Titolo/descrizione:" +#: ../../mod/events.php:613 +msgid "Delete event" +msgstr "Elimina l'evento" -#: ../../mod/profiles.php:680 -msgid "Your Gender:" -msgstr "Sesso:" +#: ../../mod/events.php:647 +msgid "calendar" +msgstr "calendario" -#: ../../mod/profiles.php:681 -msgid "Birthday :" -msgstr "Compleanno:" +#: ../../mod/events.php:666 +msgid "New Event" +msgstr "Nuovo evento" -#: ../../mod/profiles.php:682 -msgid "Street Address:" -msgstr "Indirizzo (via/piazza):" +#: ../../mod/events.php:676 +msgid "Today" +msgstr "Oggi" -#: ../../mod/profiles.php:683 -msgid "Locality/City:" -msgstr "Località:" +#: ../../mod/events.php:707 +msgid "Event removed" +msgstr "Evento eliminato" -#: ../../mod/profiles.php:684 -msgid "Postal/Zip Code:" -msgstr "CAP:" +#: ../../mod/events.php:710 +msgid "Failed to remove event" +msgstr "Impossibile eliminare l'evento" -#: ../../mod/profiles.php:685 -msgid "Country:" -msgstr "Nazione:" +#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 +msgid "Invalid profile identifier." +msgstr "Indentificativo del profilo non valido." -#: ../../mod/profiles.php:686 -msgid "Region/State:" -msgstr "Regione/stato:" +#: ../../mod/profperm.php:110 +msgid "Profile Visibility Editor" +msgstr "Modifica la visibilità del profilo" -#: ../../mod/profiles.php:687 -msgid "<span class=\"heart\">♥</span> Marital Status:" -msgstr "<span class=\"heart\">♥</span> Stato sentimentale:" +#: ../../mod/profperm.php:114 +msgid "Click on a contact to add or remove." +msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo." -#: ../../mod/profiles.php:688 -msgid "Who: (if applicable)" -msgstr "Con chi: (se possibile)" +#: ../../mod/profperm.php:123 +msgid "Visible To" +msgstr "Visibile a" -#: ../../mod/profiles.php:689 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" -msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com" +#: ../../mod/mitem.php:48 +msgid "Unable to create element." +msgstr "Impossibile creare l'elemento." -#: ../../mod/profiles.php:690 -msgid "Since [date]:" -msgstr "dal [data]:" +#: ../../mod/mitem.php:72 +msgid "Unable to update menu element." +msgstr "Non è possibile aggiornare l'elemento del menù." -#: ../../mod/profiles.php:692 -msgid "Homepage URL:" -msgstr "Indirizzo home page:" +#: ../../mod/mitem.php:88 +msgid "Unable to add menu element." +msgstr "Impossibile aggiungere l'elemento al menù." -#: ../../mod/profiles.php:695 -msgid "Religious Views:" -msgstr "Orientamento religioso:" +#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 +msgid "Menu Item Permissions" +msgstr "Permessi del menu" -#: ../../mod/profiles.php:696 -msgid "Keywords:" -msgstr "Parole chiave, tag:" +#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 +msgid "Link Name" +msgstr "Nome link" -#: ../../mod/profiles.php:699 -msgid "Example: fishing photography software" -msgstr "Per esempio: pesca fotografia programmazione" +#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 +msgid "Link or Submenu Target" +msgstr "Azione del link o del sottomenu" -#: ../../mod/profiles.php:700 -msgid "Used in directory listings" -msgstr "Visibile negli elenchi pubblici di canali" +#: ../../mod/mitem.php:153 +msgid "Enter URL of the link or select a menu name to create a submenu" +msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu" -#: ../../mod/profiles.php:701 -msgid "Tell us about yourself..." -msgstr "Raccontaci di te..." +#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 +msgid "Use magic-auth if available" +msgstr "Usa l'autenticazione tramite il tuo hub, se disponibile" -#: ../../mod/profiles.php:702 -msgid "Hobbies/Interests" -msgstr "Hobby/interessi" +#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 +msgid "Open link in new window" +msgstr "Apri il link in una nuova finestra" -#: ../../mod/profiles.php:703 -msgid "Contact information and Social Networks" -msgstr "Contatti personali e i tuoi social network" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Order in list" +msgstr "Ordine dell'elenco" -#: ../../mod/profiles.php:704 -msgid "My other channels" -msgstr "I miei altri canali" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Higher numbers will sink to bottom of listing" +msgstr "I numeri più alti andranno in fondo all'elenco" -#: ../../mod/profiles.php:705 -msgid "Musical interests" -msgstr "Interessi musicali" +#: ../../mod/mitem.php:157 +msgid "Submit and finish" +msgstr "Salva e termina" -#: ../../mod/profiles.php:706 -msgid "Books, literature" -msgstr "Libri, letteratura" +#: ../../mod/mitem.php:158 +msgid "Submit and continue" +msgstr "Salva e continua" -#: ../../mod/profiles.php:707 -msgid "Television" -msgstr "Televisione" +#: ../../mod/mitem.php:166 +msgid "Menu:" +msgstr "Menu:" -#: ../../mod/profiles.php:708 -msgid "Film/dance/culture/entertainment" -msgstr "Film/danza/cultura/intrattenimento" +#: ../../mod/mitem.php:169 +msgid "Link Target" +msgstr "Destinazione link" -#: ../../mod/profiles.php:709 -msgid "Love/romance" -msgstr "Amore" +#: ../../mod/mitem.php:172 +msgid "Edit menu" +msgstr "Modifica il menù" -#: ../../mod/profiles.php:710 -msgid "Work/employment" -msgstr "Lavoro/impiego" +#: ../../mod/mitem.php:175 +msgid "Edit element" +msgstr "Modifica l'elemento" -#: ../../mod/profiles.php:711 -msgid "School/education" -msgstr "Scuola/educazione" +#: ../../mod/mitem.php:176 +msgid "Drop element" +msgstr "Elimina l'elemento" -#: ../../mod/profiles.php:717 -msgid "This is your default profile." -msgstr "Questo è il tuo profilo predefinito." +#: ../../mod/mitem.php:177 +msgid "New element" +msgstr "Nuovo elemento" -#: ../../mod/profiles.php:728 -msgid "Age: " -msgstr "Età:" +#: ../../mod/mitem.php:178 +msgid "Edit this menu container" +msgstr "Modifica il contenitore del menù" -#: ../../mod/profiles.php:771 -msgid "Edit/Manage Profiles" -msgstr "Modifica/gestisci i profili" +#: ../../mod/mitem.php:179 +msgid "Add menu element" +msgstr "Aggiungi un elemento al menù" -#: ../../mod/profiles.php:772 -msgid "Add profile things" -msgstr "Aggiungi oggetti al profilo" +#: ../../mod/mitem.php:180 +msgid "Delete this menu item" +msgstr "Elimina questo elemento del menù" -#: ../../mod/profiles.php:773 -msgid "Include desirable objects in your profile" -msgstr "Aggiungi oggetti interessanti al tuo profilo" +#: ../../mod/mitem.php:181 +msgid "Edit this menu item" +msgstr "Modifica questo elemento del menù" -#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 -msgid "Invalid profile identifier." -msgstr "Indentificativo del profilo non valido." +#: ../../mod/mitem.php:198 +msgid "Menu item not found." +msgstr "L'elemento del menù non è stato trovato." -#: ../../mod/profperm.php:110 -msgid "Profile Visibility Editor" -msgstr "Modifica la visibilità del profilo" +#: ../../mod/mitem.php:211 +msgid "Menu item deleted." +msgstr "L'elemento del menù è stato eliminato." -#: ../../mod/profperm.php:114 -msgid "Click on a contact to add or remove." -msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo." +#: ../../mod/mitem.php:213 +msgid "Menu item could not be deleted." +msgstr "L'elemento del menù non può essere eliminato." -#: ../../mod/profperm.php:123 -msgid "Visible To" -msgstr "Visibile a" +#: ../../mod/mitem.php:220 +msgid "Edit Menu Element" +msgstr "Modifica l'elemento del menù" -#: ../../mod/rbmark.php:90 -msgid "Select a bookmark folder" -msgstr "Scegli una cartella di segnalibri" +#: ../../mod/mitem.php:226 +msgid "Link text" +msgstr "Testo del link" -#: ../../mod/rbmark.php:95 -msgid "Save Bookmark" -msgstr "Salva segnalibro" +#: ../../mod/wholikesme.php:13 +msgid "Who likes me?" +msgstr "Chi mi ha dato un \"Mi piace\"?" -#: ../../mod/rbmark.php:96 -msgid "URL of bookmark" -msgstr "URL del segnalibro" +#: ../../mod/sharedwithme.php:94 +msgid "Files: shared with me" +msgstr "File: condivisi con me" -#: ../../mod/rbmark.php:101 -msgid "Or enter new bookmark folder name" -msgstr "O inserisci il nome di una nuova cartella di segnalibri" +#: ../../mod/sharedwithme.php:96 +msgid "NEW" +msgstr "NOVITÀ" -#: ../../mod/import_items.php:101 -msgid "Import completed" -msgstr "Importazione completata" +#: ../../mod/sharedwithme.php:99 +msgid "Remove all files" +msgstr "Elimina tutti i file" -#: ../../mod/import_items.php:119 -msgid "Import Items" -msgstr "Importa i contenuti" +#: ../../mod/sharedwithme.php:100 +msgid "Remove this file" +msgstr "Elimina questo file" -#: ../../mod/import_items.php:120 -msgid "" -"Use this form to import existing posts and content from an export file." -msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza." +#: ../../mod/viewconnections.php:59 +msgid "No connections." +msgstr "Nessun contatto." -#: ../../mod/wholikesme.php:13 -msgid "Who likes me?" -msgstr "Chi mi ha dato un \"Mi piace\"?" +#: ../../mod/viewconnections.php:72 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "Visita il profilo di %s [%s]" #: ../../view/theme/redbasic/php/config.php:82 msgid "Focus (Hubzilla default)" diff --git a/view/it/hstrings.php b/view/it/hstrings.php index 12eb3b0c7..ff8ee82a5 100644 --- a/view/it/hstrings.php +++ b/view/it/hstrings.php @@ -5,9 +5,20 @@ function string_plural_select_it($n){ return ($n != 1);; }} ; -$a->strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare."; +$a->strings["Connect"] = "Aggiungi"; +$a->strings["New window"] = "Nuova finestra"; +$a->strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra"; +$a->strings["User '%s' deleted"] = "Utente '%s' eliminato"; +$a->strings["Missing room name"] = "Chat senza nome"; +$a->strings["Duplicate room name"] = "Il nome della chat è duplicato"; +$a->strings["Invalid room specifier."] = "Il nome della chat non è valido."; +$a->strings["Room not found."] = "Chat non trovata."; +$a->strings["Permission denied."] = "Permesso negato."; +$a->strings["Room is full"] = "La chat è al completo"; +$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."; $a->strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."; -$a->strings["Import completed."] = "L'importazione è terminata con successo."; +$a->strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita."; +$a->strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita."; $a->strings["parent"] = "cartella superiore"; $a->strings["Collection"] = "Cartella"; $a->strings["Principal"] = "Principale"; @@ -32,132 +43,6 @@ $a->strings["You are using %1\$s of %2\$s available file storage. (%3\$s%)"] $a->strings["WARNING:"] = "ATTENZIONE:"; $a->strings["Create new folder"] = "Nuova cartella"; $a->strings["Upload file"] = "Carica un file"; -$a->strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali"; -$a->strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale"; -$a->strings["Can view my connections"] = "Può vedere i miei contatti"; -$a->strings["Can view my file storage and photos"] = "Può vedere il mio archivio file e foto"; -$a->strings["Can view my webpages"] = "Può vedere le mie pagine web"; -$a->strings["Can send me their channel stream and posts"] = "È tra i canali che seguo"; -$a->strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale"; -$a->strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei post"; -$a->strings["Can send me private mail messages"] = "Può inviarmi messaggi privati"; -$a->strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\" a tutto il resto"; -$a->strings["Profiles and things other than posts/comments"] = "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo"; -$a->strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione"; -$a->strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione"; -$a->strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)"; -$a->strings["Can write to my file storage and photos"] = "Può modificare il mio archivio file e foto"; -$a->strings["Can edit my webpages"] = "Può modificare le mie pagine web"; -$a->strings["Can source my public posts in derived channels"] = "Può usare i miei post pubblici per creare canali derivati"; -$a->strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte"; -$a->strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale"; -$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"; -$a->strings["Social Networking"] = "Social network"; -$a->strings["Mostly Public"] = "Prevalentemente pubblico"; -$a->strings["Restricted"] = "Con restrizioni"; -$a->strings["Private"] = "Privato"; -$a->strings["Community Forum"] = "Forum di discussione"; -$a->strings["Feed Republish"] = "Aggregatore di feed esterni"; -$a->strings["Special Purpose"] = "Per finalità speciali"; -$a->strings["Celebrity/Soapbox"] = "Pagina per fan"; -$a->strings["Group Repository"] = "Repository di gruppo"; -$a->strings["Other"] = "Altro"; -$a->strings["Custom/Expert Mode"] = "Personalizzazione per esperti"; -$a->strings["Missing room name"] = "Chat senza nome"; -$a->strings["Duplicate room name"] = "Il nome della chat è duplicato"; -$a->strings["Invalid room specifier."] = "Il nome della chat non è valido."; -$a->strings["Room not found."] = "Chat non trovata."; -$a->strings["Permission denied."] = "Permesso negato."; -$a->strings["Room is full"] = "La chat è al completo"; -$a->strings["Miscellaneous"] = "Altro"; -$a->strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG"; -$a->strings["Required"] = "Obbligatorio"; -$a->strings["never"] = "mai"; -$a->strings["less than a second ago"] = "meno di un secondo fa"; -$a->strings["year"] = "anno"; -$a->strings["years"] = "anni"; -$a->strings["month"] = "mese"; -$a->strings["months"] = "mesi"; -$a->strings["week"] = "settimana"; -$a->strings["weeks"] = "settimane"; -$a->strings["day"] = "giorno"; -$a->strings["days"] = "giorni"; -$a->strings["hour"] = "ora"; -$a->strings["hours"] = "ore"; -$a->strings["minute"] = "minuto"; -$a->strings["minutes"] = "minuti"; -$a->strings["second"] = "secondo"; -$a->strings["seconds"] = "secondi"; -$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa"; -$a->strings["%1\$s's birthday"] = "Compleanno di %1\$s"; -$a->strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s"; -$a->strings["General Features"] = "Funzionalità di base"; -$a->strings["Content Expiration"] = "Scadenza"; -$a->strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"; -$a->strings["Multiple Profiles"] = "Profili multipli"; -$a->strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli"; -$a->strings["Advanced Profiles"] = "Profili avanzati"; -$a->strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo"; -$a->strings["Profile Import/Export"] = "Importa/esporta il profilo"; -$a->strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi"; -$a->strings["Web Pages"] = "Pagine web"; -$a->strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale"; -$a->strings["Private Notes"] = "Note private"; -$a->strings["Enables a tool to store notes and reminders"] = "Abilita il riquadro per scrivere le tue annotazioni"; -$a->strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu"; -$a->strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione"; -$a->strings["Photo Location"] = "Posizione geografica"; -$a->strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche."; -$a->strings["Expert Mode"] = "Modalità esperto"; -$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"; -$a->strings["Premium Channel"] = "Canale premium"; -$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale"; -$a->strings["Post Composition Features"] = "Modalità di scrittura post"; -$a->strings["Use Markdown"] = "Usa il markdown"; -$a->strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare i post"; -$a->strings["Large Photos"] = "Foto grandi"; -$a->strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"; -$a->strings["Channel Sources"] = "Sorgenti del canale"; -$a->strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed"; -$a->strings["Even More Encryption"] = "Cifratura addizionale"; -$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"; -$a->strings["Enable Voting Tools"] = "Permetti i post con votazione"; -$a->strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare"; -$a->strings["Delayed Posting"] = "Pubblicazione ritardata"; -$a->strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post"; -$a->strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati"; -$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."; -$a->strings["Network and Stream Filtering"] = "Filtraggio dei contenuti"; -$a->strings["Search by Date"] = "Ricerca per data"; -$a->strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date"; -$a->strings["Collections Filter"] = "Filtra per insiemi di canali"; -$a->strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare i post di certi insiemi di canali"; -$a->strings["Saved Searches"] = "Ricerche salvate"; -$a->strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere"; -$a->strings["Network Personal Tab"] = "Attività personale"; -$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito"; -$a->strings["Network New Tab"] = "Contenuti nuovi"; -$a->strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti"; -$a->strings["Affinity Tool"] = "Filtro per affinità"; -$a->strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia"; -$a->strings["Connection Filtering"] = "Filtro sui contatti"; -$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave"; -$a->strings["Suggest Channels"] = "Suggerisci canali"; -$a->strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti"; -$a->strings["Post/Comment Tools"] = "Gestione post e commenti"; -$a->strings["Tagging"] = "Tag"; -$a->strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti"; -$a->strings["Post Categories"] = "Categorie dei post"; -$a->strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post"; -$a->strings["Saved Folders"] = "Cartelle salvate"; -$a->strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle"; -$a->strings["Dislike Posts"] = "Non mi piace"; -$a->strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post"; -$a->strings["Star Posts"] = "Post con stella"; -$a->strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti"; -$a->strings["Tag Cloud"] = "Nuvola di tag"; -$a->strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"; -$a->strings["Default"] = "Predefinito"; $a->strings["Delete this item?"] = "Eliminare questo elemento?"; $a->strings["Comment"] = "Commento"; $a->strings["[+] show all"] = "[+] mostra tutto"; @@ -178,6 +63,7 @@ $a->strings["Describe (optional)"] = "Descrizione (facoltativa)"; $a->strings["Submit"] = "Salva"; $a->strings["Please enter a link URL"] = "Inserisci l'URL di un link"; $a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?"; +$a->strings["Location"] = "Posizione geografica"; $a->strings["timeago.prefixAgo"] = "timeago.prefixAgo"; $a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow"; $a->strings["ago"] = "fa"; @@ -238,32 +124,9 @@ $a->strings["__ctx:calendar__ month"] = "mese"; $a->strings["__ctx:calendar__ week"] = "settimana"; $a->strings["__ctx:calendar__ day"] = "giorno"; $a->strings["__ctx:calendar__ All day"] = "Tutto il giorno"; -$a->strings["Frequently"] = "Frequentemente"; -$a->strings["Hourly"] = "Ogni ora"; -$a->strings["Twice daily"] = "Due volte al giorno"; -$a->strings["Daily"] = "Ogni giorno"; -$a->strings["Weekly"] = "Ogni settimana"; -$a->strings["Monthly"] = "Ogni mese"; -$a->strings["Friendica"] = "Friendica"; -$a->strings["OStatus"] = "OStatus"; -$a->strings["RSS/Atom"] = "RSS/Atom"; -$a->strings["Email"] = "Email"; -$a->strings["Diaspora"] = "Diaspora"; -$a->strings["Facebook"] = "Facebook"; -$a->strings["Zot!"] = "Zot!"; -$a->strings["LinkedIn"] = "LinkedIn"; -$a->strings["XMPP/IM"] = "XMPP/IM"; -$a->strings["MySpace"] = "MySpace"; -$a->strings[" and "] = "e"; -$a->strings["public profile"] = "profilo pubblico"; -$a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s ha cambiato %2\$s in “%3\$s”"; -$a->strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s "; -$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s."; -$a->strings["Connect"] = "Aggiungi"; -$a->strings["New window"] = "Nuova finestra"; -$a->strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra"; -$a->strings["User '%s' deleted"] = "Utente '%s' eliminato"; -$a->strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'"; +$a->strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare."; +$a->strings["Import completed."] = "L'importazione è terminata con successo."; +$a->strings["Default"] = "Predefinito"; $a->strings["Permission denied"] = "Permesso negato"; $a->strings["(Unknown)"] = "(Sconosciuto)"; $a->strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet."; @@ -280,8 +143,357 @@ $a->strings["Collection is empty."] = "L'insieme di canali è vuoto."; $a->strings["Collection: %s"] = "Insieme: %s"; $a->strings["Connection: %s"] = "Contatto: %s"; $a->strings["Connection not found."] = "Contatto non trovato."; -$a->strings["photo"] = "la foto"; +$a->strings["No recipient provided."] = "Devi scegliere un destinatario."; +$a->strings["[no subject]"] = "[nessun titolo]"; +$a->strings["Unable to determine sender."] = "Impossibile determinare il mittente."; +$a->strings["Stored post could not be verified."] = "Non è stato possibile verificare il post."; +$a->strings["view full size"] = "guarda nelle dimensioni reali"; +$a->strings["\$Projectname Notification"] = "Notifica \$Projectname"; +$a->strings["\$projectname"] = "\$projectname"; +$a->strings["Thank You,"] = "Grazie,"; +$a->strings["%s Administrator"] = "L'amministratore di %s"; +$a->strings["Administrator"] = "Amministratore"; +$a->strings["No Subject"] = "Nessun titolo"; +$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i"; +$a->strings["Starts:"] = "Inizio:"; +$a->strings["Finishes:"] = "Fine:"; +$a->strings["Location:"] = "Luogo:"; +$a->strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario"; $a->strings["event"] = "l'evento"; +$a->strings["Not specified"] = "Non specificato"; +$a->strings["Needs Action"] = "Necessita di un intervento"; +$a->strings["Completed"] = "Completato"; +$a->strings["In Process"] = "In corso"; +$a->strings["Cancelled"] = "Annullato"; +$a->strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database"; +$a->strings["Empty name"] = "Nome vuoto"; +$a->strings["Name too long"] = "Nome troppo lungo"; +$a->strings["No account identifier"] = "Account senza identificativo"; +$a->strings["Nickname is required."] = "Il nome dell'account è obbligatorio."; +$a->strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro."; +$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."; +$a->strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata"; +$a->strings["Default Profile"] = "Profilo predefinito"; +$a->strings["Friends"] = "Amici"; +$a->strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile."; +$a->strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile."; +$a->strings["Change profile photo"] = "Cambia la foto del profilo"; +$a->strings["Profiles"] = "Profili"; +$a->strings["Manage/edit profiles"] = "Gestisci/modifica i profili"; +$a->strings["Create New Profile"] = "Crea un nuovo profilo"; +$a->strings["Edit Profile"] = "Modifica il profilo"; +$a->strings["Profile Image"] = "Immagine del profilo"; +$a->strings["visible to everybody"] = "visibile a tutti"; +$a->strings["Edit visibility"] = "Cambia la visibilità"; +$a->strings["Gender:"] = "Sesso:"; +$a->strings["Status:"] = "Stato:"; +$a->strings["Homepage:"] = "Home page:"; +$a->strings["Online Now"] = "Online adesso"; +$a->strings["g A l F d"] = "g A l d F"; +$a->strings["F d"] = "d F"; +$a->strings["[today]"] = "[oggi]"; +$a->strings["Birthday Reminders"] = "Promemoria compleanni"; +$a->strings["Birthdays this week:"] = "Compleanni questa settimana:"; +$a->strings["[No description]"] = "[Nessuna descrizione]"; +$a->strings["Event Reminders"] = "Promemoria"; +$a->strings["Events this week:"] = "Eventi della settimana:"; +$a->strings["Profile"] = "Profilo"; +$a->strings["Full Name:"] = "Nome completo:"; +$a->strings["Like this channel"] = "Mi piace questo canale"; +$a->strings["__ctx:noun__ Like"] = array( + 0 => "Mi piace", + 1 => "Mi piace", +); +$a->strings["j F, Y"] = "j F Y"; +$a->strings["j F"] = "j F"; +$a->strings["Birthday:"] = "Compleanno:"; +$a->strings["Age:"] = "Età:"; +$a->strings["for %1\$d %2\$s"] = "per %1\$d %2\$s"; +$a->strings["Sexual Preference:"] = "Preferenze sessuali:"; +$a->strings["Hometown:"] = "Città dove vivo:"; +$a->strings["Tags:"] = "Tag:"; +$a->strings["Political Views:"] = "Orientamento politico:"; +$a->strings["Religion:"] = "Religione:"; +$a->strings["About:"] = "Informazioni:"; +$a->strings["Hobbies/Interests:"] = "Interessi e hobby:"; +$a->strings["Likes:"] = "Mi piace:"; +$a->strings["Dislikes:"] = "Non mi piace:"; +$a->strings["Contact information and Social Networks:"] = "Contatti e social network:"; +$a->strings["My other channels:"] = "I miei altri canali:"; +$a->strings["Musical interests:"] = "Gusti musicali:"; +$a->strings["Books, literature:"] = "Libri, letteratura:"; +$a->strings["Television:"] = "Televisione:"; +$a->strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:"; +$a->strings["Love/Romance:"] = "Amore:"; +$a->strings["Work/employment:"] = "Lavoro:"; +$a->strings["School/education:"] = "Scuola:"; +$a->strings["Like this thing"] = "Mi piace"; +$a->strings["Tags"] = "Tag"; +$a->strings["Categories"] = "Categorie"; +$a->strings["Keywords"] = "Parole chiave"; +$a->strings["have"] = "ho"; +$a->strings["has"] = "ha"; +$a->strings["want"] = "voglio"; +$a->strings["wants"] = "vuole"; +$a->strings["like"] = "mi piace"; +$a->strings["likes"] = "gli piace"; +$a->strings["dislike"] = "non mi piace"; +$a->strings["dislikes"] = "non gli piace"; +$a->strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite"; +$a->strings["Show"] = "Mostra"; +$a->strings["Don't show"] = "Non mostrare"; +$a->strings["Other networks and post services"] = "Invio ad altre reti o a siti esterni"; +$a->strings["Permissions"] = "Permessi"; +$a->strings["Close"] = "Chiudi"; +$a->strings[" and "] = "e"; +$a->strings["public profile"] = "profilo pubblico"; +$a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s ha cambiato %2\$s in “%3\$s”"; +$a->strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s "; +$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s."; +$a->strings["Item was not found."] = "Elemento non trovato."; +$a->strings["No source file."] = "Nessun file di origine."; +$a->strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato"; +$a->strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato"; +$a->strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d"; +$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."; +$a->strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."; +$a->strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito."; +$a->strings["Path not available."] = "Percorso non disponibile."; +$a->strings["Empty pathname"] = "Il percorso del file è vuoto"; +$a->strings["duplicate filename or path"] = "il file o il percorso del file è duplicato"; +$a->strings["Path not found."] = "Percorso del file non trovato."; +$a->strings["mkdir failed."] = "mkdir fallito."; +$a->strings["database storage failed."] = "scrittura su database fallita."; +$a->strings["Empty path"] = "La posizione è vuota"; +$a->strings["Attachments:"] = "Allegati:"; +$a->strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:"; +$a->strings["created a new post"] = "Ha creato un nuovo post"; +$a->strings["commented on %s's post"] = "ha commentato il post di %s"; +$a->strings["Apps"] = "App"; +$a->strings["System"] = "Sistema"; +$a->strings["Personal"] = "Personali"; +$a->strings["Create Personal App"] = "Crea app personale"; +$a->strings["Edit Personal App"] = "Modifica app personale"; +$a->strings["Ignore/Hide"] = "Ignora/nascondi"; +$a->strings["Suggestions"] = "Suggerimenti"; +$a->strings["See more..."] = "Altro..."; +$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse."; +$a->strings["Add New Connection"] = "Aggiungi un contatto"; +$a->strings["Enter the channel address"] = "Scrivi l'indirizzo del canale"; +$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Per esempio: mario@pippo.it oppure http://pluto.com/barbara"; +$a->strings["Notes"] = "Note"; +$a->strings["Save"] = "Salva"; +$a->strings["Remove term"] = "Rimuovi termine"; +$a->strings["Saved Searches"] = "Ricerche salvate"; +$a->strings["add"] = "aggiungi"; +$a->strings["Saved Folders"] = "Cartelle salvate"; +$a->strings["Everything"] = "Tutto"; +$a->strings["Archives"] = "Archivi"; +$a->strings["Me"] = "Me"; +$a->strings["Family"] = "Famiglia"; +$a->strings["Acquaintances"] = "Conoscenti"; +$a->strings["All"] = "Tutti"; +$a->strings["Refresh"] = "Aggiorna"; +$a->strings["Account settings"] = "Il tuo account"; +$a->strings["Channel settings"] = "Impostazioni del canale"; +$a->strings["Additional features"] = "Funzionalità opzionali"; +$a->strings["Feature/Addon settings"] = "Componenti aggiuntivi"; +$a->strings["Display settings"] = "Aspetto"; +$a->strings["Connected apps"] = "App connesse"; +$a->strings["Export channel"] = "Esporta il canale"; +$a->strings["Connection Default Permissions"] = "Permessi predefiniti dei nuovi contatti"; +$a->strings["Premium Channel Settings"] = "Canale premium - impostazioni"; +$a->strings["Channel Sources"] = "Sorgenti del canale"; +$a->strings["Settings"] = "Impostazioni"; +$a->strings["Private Mail Menu"] = "Menu messaggi privati"; +$a->strings["Combined View"] = "Vista combinata"; +$a->strings["Inbox"] = "In arrivo"; +$a->strings["Outbox"] = "Inviati"; +$a->strings["New Message"] = "Nuovo messaggio"; +$a->strings["Conversations"] = "Conversazioni"; +$a->strings["Received Messages"] = "Ricevuti"; +$a->strings["Sent Messages"] = "Inviati"; +$a->strings["No messages."] = "Nessun messaggio."; +$a->strings["Delete conversation"] = "Elimina la conversazione"; +$a->strings["Events Menu"] = "Menu eventi"; +$a->strings["Day View"] = "Eventi del giorno"; +$a->strings["Week View"] = "Eventi della settimana"; +$a->strings["Month View"] = "Eventi del mese"; +$a->strings["Export"] = "Esporta"; +$a->strings["Import"] = "Importa"; +$a->strings["Chat Rooms"] = "Chat"; +$a->strings["Bookmarked Chatrooms"] = "Chat nei segnalibri"; +$a->strings["Suggested Chatrooms"] = "Chat suggerite"; +$a->strings["photo/image"] = "foto/immagine"; +$a->strings["Rate Me"] = "Valutami"; +$a->strings["View Ratings"] = "Vedi le valutazioni ricevute"; +$a->strings["Public Hubs"] = "Hub pubblici"; +$a->strings["Forums"] = "Forum"; +$a->strings["Tasks"] = "Attività"; +$a->strings["Documentation"] = "Guida"; +$a->strings["Project/Site Information"] = "Informazioni sul sito/progetto"; +$a->strings["For Members"] = "Per gli utenti"; +$a->strings["For Administrators"] = "Per gli amministratori"; +$a->strings["For Developers"] = "Per sviluppatori"; +$a->strings["Site"] = "Sito"; +$a->strings["Accounts"] = "Account"; +$a->strings["Channels"] = "Canali"; +$a->strings["Plugins"] = "Plugin"; +$a->strings["Themes"] = "Temi"; +$a->strings["Inspect queue"] = "Coda di attesa"; +$a->strings["Profile Config"] = "Configurazione del profilo"; +$a->strings["DB updates"] = "Aggiornamenti al DB"; +$a->strings["Logs"] = "Log"; +$a->strings["Admin"] = "Amministrazione"; +$a->strings["Plugin Features"] = "Plugin"; +$a->strings["User registrations waiting for confirmation"] = "Registrazioni in attesa"; +$a->strings["View Photo"] = "Guarda la foto"; +$a->strings["Edit Album"] = "Modifica album"; +$a->strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s"; +$a->strings["General Features"] = "Funzionalità di base"; +$a->strings["Content Expiration"] = "Scadenza"; +$a->strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"; +$a->strings["Multiple Profiles"] = "Profili multipli"; +$a->strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli"; +$a->strings["Advanced Profiles"] = "Profili avanzati"; +$a->strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo"; +$a->strings["Profile Import/Export"] = "Importa/esporta il profilo"; +$a->strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi"; +$a->strings["Web Pages"] = "Pagine web"; +$a->strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale"; +$a->strings["Private Notes"] = "Note private"; +$a->strings["Enables a tool to store notes and reminders"] = "Abilita il riquadro per scrivere le tue annotazioni"; +$a->strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu"; +$a->strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione"; +$a->strings["Photo Location"] = "Posizione geografica"; +$a->strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche."; +$a->strings["Expert Mode"] = "Modalità esperto"; +$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"; +$a->strings["Premium Channel"] = "Canale premium"; +$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale"; +$a->strings["Post Composition Features"] = "Modalità di scrittura post"; +$a->strings["Use Markdown"] = "Usa il markdown"; +$a->strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare i post"; +$a->strings["Large Photos"] = "Foto grandi"; +$a->strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"; +$a->strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed"; +$a->strings["Even More Encryption"] = "Cifratura addizionale"; +$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"; +$a->strings["Enable Voting Tools"] = "Permetti i post con votazione"; +$a->strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare"; +$a->strings["Delayed Posting"] = "Pubblicazione ritardata"; +$a->strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post"; +$a->strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati"; +$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."; +$a->strings["Network and Stream Filtering"] = "Filtraggio dei contenuti"; +$a->strings["Search by Date"] = "Ricerca per data"; +$a->strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date"; +$a->strings["Collections Filter"] = "Filtra per insiemi di canali"; +$a->strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare i post di certi insiemi di canali"; +$a->strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere"; +$a->strings["Network Personal Tab"] = "Attività personale"; +$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito"; +$a->strings["Network New Tab"] = "Contenuti nuovi"; +$a->strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti"; +$a->strings["Affinity Tool"] = "Filtro per affinità"; +$a->strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia"; +$a->strings["Connection Filtering"] = "Filtro sui contatti"; +$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave"; +$a->strings["Suggest Channels"] = "Suggerisci canali"; +$a->strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti"; +$a->strings["Post/Comment Tools"] = "Gestione post e commenti"; +$a->strings["Tagging"] = "Tag"; +$a->strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti"; +$a->strings["Post Categories"] = "Categorie dei post"; +$a->strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post"; +$a->strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle"; +$a->strings["Dislike Posts"] = "Non mi piace"; +$a->strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post"; +$a->strings["Star Posts"] = "Post con stella"; +$a->strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti"; +$a->strings["Tag Cloud"] = "Nuvola di tag"; +$a->strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"; +$a->strings["Male"] = "Maschio"; +$a->strings["Female"] = "Femmina"; +$a->strings["Currently Male"] = "Al momento maschio"; +$a->strings["Currently Female"] = "Al momento femmina"; +$a->strings["Mostly Male"] = "Prevalentemente maschio"; +$a->strings["Mostly Female"] = "Prevalentemente femmina"; +$a->strings["Transgender"] = "Transgender"; +$a->strings["Intersex"] = "Intersex"; +$a->strings["Transsexual"] = "Transessuale"; +$a->strings["Hermaphrodite"] = "Ermafrodito"; +$a->strings["Neuter"] = "Neutro"; +$a->strings["Non-specific"] = "Non specificato"; +$a->strings["Other"] = "Altro"; +$a->strings["Undecided"] = "Indeciso"; +$a->strings["Males"] = "Maschi"; +$a->strings["Females"] = "Femmine"; +$a->strings["Gay"] = "Gay"; +$a->strings["Lesbian"] = "Lesbica"; +$a->strings["No Preference"] = "Senza preferenza"; +$a->strings["Bisexual"] = "Bisessuale"; +$a->strings["Autosexual"] = "Autosessuale"; +$a->strings["Abstinent"] = "Astinente"; +$a->strings["Virgin"] = "Vergine"; +$a->strings["Deviant"] = "Deviato"; +$a->strings["Fetish"] = "Feticista"; +$a->strings["Oodles"] = "Un sacco"; +$a->strings["Nonsexual"] = "Asessuato"; +$a->strings["Single"] = "Single"; +$a->strings["Lonely"] = "Da solo"; +$a->strings["Available"] = "Disponibile"; +$a->strings["Unavailable"] = "Non disponibile"; +$a->strings["Has crush"] = "Ha una cotta"; +$a->strings["Infatuated"] = "Infatuato/a"; +$a->strings["Dating"] = "Disponibile a un incontro"; +$a->strings["Unfaithful"] = "Infedele"; +$a->strings["Sex Addict"] = "Sesso-dipendente"; +$a->strings["Friends/Benefits"] = "Amici con qualcosa in più"; +$a->strings["Casual"] = "Casual"; +$a->strings["Engaged"] = "Impegnato"; +$a->strings["Married"] = "Sposato/a"; +$a->strings["Imaginarily married"] = "Con matrimonio immaginario"; +$a->strings["Partners"] = "Partner"; +$a->strings["Cohabiting"] = "Convivente"; +$a->strings["Common law"] = "Matrimonio regolare"; +$a->strings["Happy"] = "Felice"; +$a->strings["Not looking"] = "Non in cerca"; +$a->strings["Swinger"] = "Scambista"; +$a->strings["Betrayed"] = "Tradito/a"; +$a->strings["Separated"] = "Separato/a"; +$a->strings["Unstable"] = "Instabile"; +$a->strings["Divorced"] = "Divorziato/a"; +$a->strings["Imaginarily divorced"] = "Sogna il divorzio"; +$a->strings["Widowed"] = "Vedovo/a"; +$a->strings["Uncertain"] = "Incerto/a"; +$a->strings["It's complicated"] = "Relazione complicata"; +$a->strings["Don't care"] = "Chi se ne frega"; +$a->strings["Ask me"] = "Chiedimelo"; +$a->strings["Miscellaneous"] = "Altro"; +$a->strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG"; +$a->strings["Required"] = "Obbligatorio"; +$a->strings["never"] = "mai"; +$a->strings["less than a second ago"] = "meno di un secondo fa"; +$a->strings["year"] = "anno"; +$a->strings["years"] = "anni"; +$a->strings["month"] = "mese"; +$a->strings["months"] = "mesi"; +$a->strings["week"] = "settimana"; +$a->strings["weeks"] = "settimane"; +$a->strings["day"] = "giorno"; +$a->strings["days"] = "giorni"; +$a->strings["hour"] = "ora"; +$a->strings["hours"] = "ore"; +$a->strings["minute"] = "minuto"; +$a->strings["minutes"] = "minuti"; +$a->strings["second"] = "secondo"; +$a->strings["seconds"] = "secondi"; +$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa"; +$a->strings["%1\$s's birthday"] = "Compleanno di %1\$s"; +$a->strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s"; +$a->strings["Public Timeline"] = "Diario pubblico"; +$a->strings["photo"] = "la foto"; $a->strings["channel"] = "il canale"; $a->strings["status"] = "il messaggio di stato"; $a->strings["comment"] = "il commento"; @@ -390,7 +602,6 @@ $a->strings["Commented Order"] = "Ultimi commenti"; $a->strings["Sort by Comment Date"] = "Per data del commento"; $a->strings["Posted Order"] = "Ultimi post"; $a->strings["Sort by Post Date"] = "Per data di creazione"; -$a->strings["Personal"] = "Personali"; $a->strings["Posts that mention or involve you"] = "Post che ti riguardano"; $a->strings["New"] = "Novità"; $a->strings["Activity Stream - by date"] = "Elenco attività - per data"; @@ -411,10 +622,6 @@ $a->strings["Saved Bookmarks"] = "Segnalibri salvati"; $a->strings["Webpages"] = "Pagine web"; $a->strings["Manage Webpages"] = "Gestisci le pagine web"; $a->strings["View all"] = "Vedi tutto"; -$a->strings["__ctx:noun__ Like"] = array( - 0 => "Mi piace", - 1 => "Mi piace", -); $a->strings["__ctx:noun__ Dislike"] = array( 0 => "Non mi piace", 1 => "Non mi piace", @@ -443,134 +650,67 @@ $a->strings["__ctx:noun__ Abstain"] = array( 0 => "Astenuto", 1 => "Astenuti", ); -$a->strings["view full size"] = "guarda nelle dimensioni reali"; -$a->strings["\$Projectname Notification"] = "Notifica \$Projectname"; -$a->strings["\$projectname"] = "\$projectname"; -$a->strings["Thank You,"] = "Grazie,"; -$a->strings["%s Administrator"] = "L'amministratore di %s"; -$a->strings["Administrator"] = "Amministratore"; -$a->strings["No Subject"] = "Nessun titolo"; -$a->strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s"; -$a->strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite"; -$a->strings["Show"] = "Mostra"; -$a->strings["Don't show"] = "Non mostrare"; -$a->strings["Other networks and post services"] = "Invio ad altre reti o a siti esterni"; -$a->strings["Permissions"] = "Permessi"; -$a->strings["Close"] = "Chiudi"; -$a->strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes"; -$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto."; -$a->strings["Unable to process image"] = "Impossibile elaborare l'immagine"; -$a->strings["Photo storage failed."] = "Impossibile salvare la foto."; -$a->strings["Upload New Photos"] = "Carica nuove foto"; -$a->strings["created a new post"] = "Ha creato un nuovo post"; -$a->strings["commented on %s's post"] = "ha commentato il post di %s"; -$a->strings["New Page"] = "Nuova pagina web"; -$a->strings["View"] = "Guarda"; -$a->strings["Actions"] = "Azioni"; -$a->strings["Page Link"] = "Link alla pagina"; -$a->strings["Title"] = "Titolo"; -$a->strings["Created"] = "Creato"; -$a->strings["Edited"] = "Modificato"; -$a->strings["Profile Photos"] = "Foto del profilo"; -$a->strings["Male"] = "Maschio"; -$a->strings["Female"] = "Femmina"; -$a->strings["Currently Male"] = "Al momento maschio"; -$a->strings["Currently Female"] = "Al momento femmina"; -$a->strings["Mostly Male"] = "Prevalentemente maschio"; -$a->strings["Mostly Female"] = "Prevalentemente femmina"; -$a->strings["Transgender"] = "Transgender"; -$a->strings["Intersex"] = "Intersex"; -$a->strings["Transsexual"] = "Transessuale"; -$a->strings["Hermaphrodite"] = "Ermafrodito"; -$a->strings["Neuter"] = "Neutro"; -$a->strings["Non-specific"] = "Non specificato"; -$a->strings["Undecided"] = "Indeciso"; -$a->strings["Males"] = "Maschi"; -$a->strings["Females"] = "Femmine"; -$a->strings["Gay"] = "Gay"; -$a->strings["Lesbian"] = "Lesbica"; -$a->strings["No Preference"] = "Senza preferenza"; -$a->strings["Bisexual"] = "Bisessuale"; -$a->strings["Autosexual"] = "Autosessuale"; -$a->strings["Abstinent"] = "Astinente"; -$a->strings["Virgin"] = "Vergine"; -$a->strings["Deviant"] = "Deviato"; -$a->strings["Fetish"] = "Feticista"; -$a->strings["Oodles"] = "Un sacco"; -$a->strings["Nonsexual"] = "Asessuato"; -$a->strings["Single"] = "Single"; -$a->strings["Lonely"] = "Da solo"; -$a->strings["Available"] = "Disponibile"; -$a->strings["Unavailable"] = "Non disponibile"; -$a->strings["Has crush"] = "Ha una cotta"; -$a->strings["Infatuated"] = "Infatuato/a"; -$a->strings["Dating"] = "Disponibile a un incontro"; -$a->strings["Unfaithful"] = "Infedele"; -$a->strings["Sex Addict"] = "Sesso-dipendente"; -$a->strings["Friends"] = "Amici"; -$a->strings["Friends/Benefits"] = "Amici con qualcosa in più"; -$a->strings["Casual"] = "Casual"; -$a->strings["Engaged"] = "Impegnato"; -$a->strings["Married"] = "Sposato/a"; -$a->strings["Imaginarily married"] = "Con matrimonio immaginario"; -$a->strings["Partners"] = "Partner"; -$a->strings["Cohabiting"] = "Convivente"; -$a->strings["Common law"] = "Matrimonio regolare"; -$a->strings["Happy"] = "Felice"; -$a->strings["Not looking"] = "Non in cerca"; -$a->strings["Swinger"] = "Scambista"; -$a->strings["Betrayed"] = "Tradito/a"; -$a->strings["Separated"] = "Separato/a"; -$a->strings["Unstable"] = "Instabile"; -$a->strings["Divorced"] = "Divorziato/a"; -$a->strings["Imaginarily divorced"] = "Sogna il divorzio"; -$a->strings["Widowed"] = "Vedovo/a"; -$a->strings["Uncertain"] = "Incerto/a"; -$a->strings["It's complicated"] = "Relazione complicata"; -$a->strings["Don't care"] = "Chi se ne frega"; -$a->strings["Ask me"] = "Chiedimelo"; -$a->strings["Embedded content"] = "Contenuti incorporati"; -$a->strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati"; -$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i"; -$a->strings["Starts:"] = "Inizio:"; -$a->strings["Finishes:"] = "Fine:"; -$a->strings["Location:"] = "Luogo:"; -$a->strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario"; -$a->strings["Not specified"] = "Non specificato"; -$a->strings["Needs Action"] = "Necessita di un intervento"; -$a->strings["Completed"] = "Completato"; -$a->strings["In Process"] = "In corso"; -$a->strings["Cancelled"] = "Annullato"; -$a->strings["Site Admin"] = "Amministrazione sito"; -$a->strings["Address Book"] = "Rubrica"; -$a->strings["Login"] = "Accedi"; -$a->strings["Channel Manager"] = "Gestione canali"; -$a->strings["Grid"] = "Rete"; -$a->strings["Settings"] = "Impostazioni"; -$a->strings["Channel Home"] = "Bacheca del canale"; -$a->strings["Profile"] = "Profilo"; -$a->strings["Events"] = "Eventi"; -$a->strings["Directory"] = "Elenchi pubblici dei canali"; -$a->strings["Help"] = "Guida"; -$a->strings["Mail"] = "Messaggi"; -$a->strings["Mood"] = "Umore"; -$a->strings["Chat"] = "Chat"; -$a->strings["Search"] = "Cerca"; -$a->strings["Probe"] = "Diagnostica"; -$a->strings["Suggest"] = "Suggerisci"; -$a->strings["Random Channel"] = "Canale casuale"; -$a->strings["Invite"] = "Invita"; -$a->strings["Features"] = "Funzionalità"; -$a->strings["Language"] = "Lingua"; -$a->strings["Post"] = "Post"; -$a->strings["Profile Photo"] = "Foto del profilo"; -$a->strings["Update"] = "Aggiorna"; -$a->strings["Install"] = "Installa"; -$a->strings["Purchase"] = "Acquista"; -$a->strings["Public Timeline"] = "Diario pubblico"; -$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."; -$a->strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita."; -$a->strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita."; +$a->strings["Logged out."] = "Uscita effettuata."; +$a->strings["Failed authentication"] = "Autenticazione fallita"; +$a->strings["Login failed."] = "Accesso fallito."; +$a->strings["Frequently"] = "Frequentemente"; +$a->strings["Hourly"] = "Ogni ora"; +$a->strings["Twice daily"] = "Due volte al giorno"; +$a->strings["Daily"] = "Ogni giorno"; +$a->strings["Weekly"] = "Ogni settimana"; +$a->strings["Monthly"] = "Ogni mese"; +$a->strings["Friendica"] = "Friendica"; +$a->strings["OStatus"] = "OStatus"; +$a->strings["RSS/Atom"] = "RSS/Atom"; +$a->strings["Email"] = "Email"; +$a->strings["Diaspora"] = "Diaspora"; +$a->strings["Facebook"] = "Facebook"; +$a->strings["Zot!"] = "Zot!"; +$a->strings["LinkedIn"] = "LinkedIn"; +$a->strings["XMPP/IM"] = "XMPP/IM"; +$a->strings["MySpace"] = "MySpace"; +$a->strings["Invalid data packet"] = "Dati ricevuti non validi"; +$a->strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale"; +$a->strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s"; +$a->strings["invalid target signature"] = "la firma ricevuta non è valida"; +$a->strings["Image/photo"] = "Immagine"; +$a->strings["Encrypted content"] = "Contenuto cifrato"; +$a->strings["Install %s element: "] = "Installa l'elemento %s:"; +$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."; +$a->strings["webpage"] = "pagina web"; +$a->strings["layout"] = "layout"; +$a->strings["block"] = "block"; +$a->strings["menu"] = "menu"; +$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s"; +$a->strings["post"] = "il post"; +$a->strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente"; +$a->strings["$1 spoiler"] = "$1 spoiler"; +$a->strings["$1 wrote:"] = "$1 ha scritto:"; +$a->strings["%d invitation available"] = array( + 0 => "%d invito disponibile", + 1 => "%d inviti disponibili", +); +$a->strings["Advanced"] = "Avanzate"; +$a->strings["Find Channels"] = "Ricerca canali"; +$a->strings["Enter name or interest"] = "Scrivi un nome o un interesse"; +$a->strings["Connect/Follow"] = "Aggiungi"; +$a->strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca"; +$a->strings["Find"] = "Cerca"; +$a->strings["Channel Suggestions"] = "Canali suggeriti"; +$a->strings["Random Profile"] = "Profilo casuale"; +$a->strings["Invite Friends"] = "Invita amici"; +$a->strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy"; +$a->strings["%d connection in common"] = array( + 0 => "%d contatto in comune", + 1 => "%d contatti in comune", +); +$a->strings["show more"] = "mostra tutto"; +$a->strings["Directory Options"] = "Visibilità negli elenchi pubblici"; +$a->strings["Safe Mode"] = "Modalità SafeSearch"; +$a->strings["No"] = "No"; +$a->strings["Yes"] = "Si"; +$a->strings["Public Forums Only"] = "Solo forum pubblici"; +$a->strings["This Website Only"] = "Solo in questo sito"; $a->strings["%s <!item_type!>"] = "%s <!item_type!>"; $a->strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla] Nuovo messaggio su %s"; $a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s."; @@ -607,80 +747,6 @@ $a->strings["Name:"] = "Nome:"; $a->strings["Photo:"] = "Foto:"; $a->strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento."; $a->strings["[Hubzilla:Notify]"] = "[Hubzilla]"; -$a->strings["Save to Folder"] = "Salva nella cartella"; -$a->strings["I will attend"] = "Parteciperò"; -$a->strings["I will not attend"] = "Non parteciperò"; -$a->strings["I might attend"] = "Forse parteciperò"; -$a->strings["I agree"] = "Sono d'accordo"; -$a->strings["I disagree"] = "Non sono d'accordo"; -$a->strings["I abstain"] = "Mi astengo"; -$a->strings["Add Star"] = "Aggiungi ai preferiti"; -$a->strings["Remove Star"] = "Rimuovi dai preferiti"; -$a->strings["Toggle Star Status"] = "Attiva/disattiva preferito"; -$a->strings["starred"] = "preferito"; -$a->strings["Add Tag"] = "Aggiungi un tag"; -$a->strings["I like this (toggle)"] = "Attiva/disattiva Mi piace"; -$a->strings["like"] = "mi piace"; -$a->strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace"; -$a->strings["dislike"] = "non mi piace"; -$a->strings["Share This"] = "Condividi"; -$a->strings["share"] = "condividi"; -$a->strings["%d comment"] = array( - 0 => "%d commento", - 1 => "%d commenti", -); -$a->strings["View %s's profile - %s"] = "Guarda il profilo di %s - %s"; -$a->strings["to"] = "a"; -$a->strings["via"] = "via"; -$a->strings["Wall-to-Wall"] = "Da bacheca a bacheca"; -$a->strings["via Wall-To-Wall:"] = "da bacheca a bacheca:"; -$a->strings["Delivery Report"] = "Rapporto di trasmissione"; -$a->strings["Save Bookmarks"] = "Salva segnalibro"; -$a->strings["Add to Calendar"] = "Aggiungi al calendario"; -$a->strings["Mark all seen"] = "Marca tutto come letto"; -$a->strings["__ctx:noun__ Likes"] = "Mi piace"; -$a->strings["__ctx:noun__ Dislikes"] = "Non mi piace"; -$a->strings["This is you"] = "Questo sei tu"; -$a->strings["Image"] = "Immagine"; -$a->strings["Insert Link"] = "Collegamento"; -$a->strings["Video"] = "Video"; -$a->strings["Invalid data packet"] = "Dati ricevuti non validi"; -$a->strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale"; -$a->strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s"; -$a->strings["invalid target signature"] = "la firma ricevuta non è valida"; -$a->strings["Logged out."] = "Uscita effettuata."; -$a->strings["Failed authentication"] = "Autenticazione fallita"; -$a->strings["Login failed."] = "Accesso fallito."; -$a->strings["Image/photo"] = "Immagine"; -$a->strings["Encrypted content"] = "Contenuto cifrato"; -$a->strings["Install %s element: "] = "Installa l'elemento %s:"; -$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."; -$a->strings["webpage"] = "pagina web"; -$a->strings["layout"] = "layout"; -$a->strings["block"] = "block"; -$a->strings["menu"] = "menu"; -$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s"; -$a->strings["post"] = "il post"; -$a->strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente"; -$a->strings["$1 spoiler"] = "$1 spoiler"; -$a->strings["$1 wrote:"] = "$1 ha scritto:"; -$a->strings["Not a valid email address"] = "Email non valida"; -$a->strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito"; -$a->strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito."; -$a->strings["An invitation is required."] = "È necessario un invito."; -$a->strings["Invitation could not be verified."] = "L'invito non può essere verificato."; -$a->strings["Please enter the required information."] = "Inserisci le informazioni richieste."; -$a->strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account."; -$a->strings["Registration confirmation for %s"] = "Registrazione di %s confermata"; -$a->strings["Registration request at %s"] = "Richiesta di registrazione su %s"; -$a->strings["your registration password"] = "la password di registrazione"; -$a->strings["Registration details for %s"] = "Dettagli della registrazione di %s"; -$a->strings["Account approved."] = "Account approvato."; -$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s"; -$a->strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login."; -$a->strings["Click here to upgrade."] = "Clicca qui per aggiornare."; -$a->strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento."; -$a->strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento."; $a->strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito."; $a->strings["Channel location missing."] = "Manca l'indirizzo del canale."; $a->strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa."; @@ -689,196 +755,63 @@ $a->strings["Protocol disabled."] = "Protocollo disabilitato."; $a->strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo."; $a->strings["local account not found."] = "l'account locale non è stato trovato."; $a->strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso."; +$a->strings["Embedded content"] = "Contenuti incorporati"; +$a->strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati"; +$a->strings["Logout"] = "Esci"; +$a->strings["End this session"] = "Chiudi questa sessione"; +$a->strings["Home"] = "Bacheca"; +$a->strings["Your posts and conversations"] = "I tuoi post e conversazioni"; +$a->strings["Your profile page"] = "Il tuo profilo"; +$a->strings["Edit Profiles"] = "Modifica i tuoi profili"; +$a->strings["Manage/Edit profiles"] = "Gestisci i tuoi profili"; +$a->strings["Edit your profile"] = "Modifica il tuo profilo"; +$a->strings["Your photos"] = "Le tue foto"; +$a->strings["Your files"] = "I tuoi file"; +$a->strings["Chat"] = "Chat"; +$a->strings["Your chatrooms"] = "Le tue chat"; +$a->strings["Your bookmarks"] = "I tuoi segnalibri"; +$a->strings["Your webpages"] = "Le tue pagine web"; +$a->strings["Login"] = "Accedi"; +$a->strings["Sign in"] = "Accedi"; +$a->strings["%s - click to logout"] = "%s - clicca per uscire"; +$a->strings["Remote authentication"] = "Accedi dal tuo hub"; +$a->strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale"; +$a->strings["Home Page"] = "Bacheca"; +$a->strings["Register"] = "Registrati"; +$a->strings["Create an account"] = "Crea un account"; +$a->strings["Help"] = "Guida"; +$a->strings["Help and documentation"] = "Guida e documentazione"; +$a->strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi"; +$a->strings["Search"] = "Cerca"; +$a->strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto"; +$a->strings["Directory"] = "Elenchi pubblici dei canali"; +$a->strings["Channel Directory"] = "Elenchi pubblici dei canali"; +$a->strings["Grid"] = "Rete"; +$a->strings["Your grid"] = "La tua rete"; +$a->strings["Mark all grid notifications seen"] = "Segna come lette le notifiche della tua rete"; +$a->strings["Channel Home"] = "Bacheca del canale"; +$a->strings["Channel home"] = "Bacheca del canale"; +$a->strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale"; +$a->strings["Connections"] = "Contatti"; +$a->strings["Notices"] = "Avvisi"; +$a->strings["Notifications"] = "Notifiche"; +$a->strings["See all notifications"] = "Vedi tutte le notifiche"; +$a->strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema"; +$a->strings["Mail"] = "Messaggi"; +$a->strings["Private mail"] = "Messaggi privati"; +$a->strings["See all private messages"] = "Guarda tutti i messaggi privati"; +$a->strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati"; +$a->strings["Events"] = "Eventi"; +$a->strings["Event Calendar"] = "Calendario"; +$a->strings["See all events"] = "Guarda tutti gli eventi"; +$a->strings["Mark all events seen"] = "Marca come letti tutti gli eventi"; +$a->strings["Channel Manager"] = "Gestione canali"; +$a->strings["Manage Your Channels"] = "Gestisci i tuoi canali"; +$a->strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale"; +$a->strings["Site Setup and Configuration"] = "Installazione e configurazione del sito"; +$a->strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto"; +$a->strings["Please wait..."] = "Attendere..."; $a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."; -$a->strings["%d invitation available"] = array( - 0 => "%d invito disponibile", - 1 => "%d inviti disponibili", -); -$a->strings["Advanced"] = "Avanzate"; -$a->strings["Find Channels"] = "Ricerca canali"; -$a->strings["Enter name or interest"] = "Scrivi un nome o un interesse"; -$a->strings["Connect/Follow"] = "Aggiungi"; -$a->strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca"; -$a->strings["Find"] = "Cerca"; -$a->strings["Channel Suggestions"] = "Canali suggeriti"; -$a->strings["Random Profile"] = "Profilo casuale"; -$a->strings["Invite Friends"] = "Invita amici"; -$a->strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy"; -$a->strings["Everything"] = "Tutto"; -$a->strings["Categories"] = "Categorie"; -$a->strings["%d connection in common"] = array( - 0 => "%d contatto in comune", - 1 => "%d contatti in comune", -); -$a->strings["show more"] = "mostra tutto"; -$a->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."] = "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso."; -$a->strings["Add new connections to this collection (privacy group)"] = "Aggiungi altri contatti a questo insieme (privacy di gruppo)"; -$a->strings["All Channels"] = "Tutti i canali"; -$a->strings["edit"] = "modifica"; -$a->strings["Collections"] = "Insiemi di canali"; -$a->strings["Edit collection"] = "Modifica l'insieme di canali"; -$a->strings["Add new collection"] = "Nuovo insieme"; -$a->strings["Channels not in any collection"] = "Canali che non sono in un insieme"; -$a->strings["add"] = "aggiungi"; -$a->strings["Apps"] = "App"; -$a->strings["System"] = "Sistema"; -$a->strings["Create Personal App"] = "Crea app personale"; -$a->strings["Edit Personal App"] = "Modifica app personale"; -$a->strings["Ignore/Hide"] = "Ignora/nascondi"; -$a->strings["Suggestions"] = "Suggerimenti"; -$a->strings["See more..."] = "Altro..."; -$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse."; -$a->strings["Add New Connection"] = "Aggiungi un contatto"; -$a->strings["Enter the channel address"] = "Scrivi l'indirizzo del canale"; -$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Per esempio: mario@pippo.it oppure http://pluto.com/barbara"; -$a->strings["Notes"] = "Note"; -$a->strings["Save"] = "Salva"; -$a->strings["Remove term"] = "Rimuovi termine"; -$a->strings["Archives"] = "Archivi"; -$a->strings["Me"] = "Me"; -$a->strings["Family"] = "Famiglia"; -$a->strings["Acquaintances"] = "Conoscenti"; -$a->strings["All"] = "Tutti"; -$a->strings["Refresh"] = "Aggiorna"; -$a->strings["Account settings"] = "Il tuo account"; -$a->strings["Channel settings"] = "Impostazioni del canale"; -$a->strings["Additional features"] = "Funzionalità opzionali"; -$a->strings["Feature/Addon settings"] = "Componenti aggiuntivi"; -$a->strings["Display settings"] = "Aspetto"; -$a->strings["Connected apps"] = "App connesse"; -$a->strings["Export channel"] = "Esporta il canale"; -$a->strings["Connection Default Permissions"] = "Permessi predefiniti dei nuovi contatti"; -$a->strings["Premium Channel Settings"] = "Canale premium - impostazioni"; -$a->strings["Private Mail Menu"] = "Menu messaggi privati"; -$a->strings["Combined View"] = "Vista combinata"; -$a->strings["Inbox"] = "In arrivo"; -$a->strings["Outbox"] = "Inviati"; -$a->strings["New Message"] = "Nuovo messaggio"; -$a->strings["Conversations"] = "Conversazioni"; -$a->strings["Received Messages"] = "Ricevuti"; -$a->strings["Sent Messages"] = "Inviati"; -$a->strings["No messages."] = "Nessun messaggio."; -$a->strings["Delete conversation"] = "Elimina la conversazione"; -$a->strings["Events Menu"] = "Menu eventi"; -$a->strings["Day View"] = "Eventi del giorno"; -$a->strings["Week View"] = "Eventi della settimana"; -$a->strings["Month View"] = "Eventi del mese"; -$a->strings["Export"] = "Esporta"; -$a->strings["Import"] = "Importa"; -$a->strings["Chat Rooms"] = "Chat"; -$a->strings["Bookmarked Chatrooms"] = "Chat nei segnalibri"; -$a->strings["Suggested Chatrooms"] = "Chat suggerite"; -$a->strings["photo/image"] = "foto/immagine"; -$a->strings["Rate Me"] = "Valutami"; -$a->strings["View Ratings"] = "Vedi le valutazioni ricevute"; -$a->strings["Public Hubs"] = "Hub pubblici"; -$a->strings["Forums"] = "Forum"; -$a->strings["Tasks"] = "Attività"; -$a->strings["Documentation"] = "Guida"; -$a->strings["Project/Site Information"] = "Informazioni sul sito/progetto"; -$a->strings["For Members"] = "Per gli utenti"; -$a->strings["For Administrators"] = "Per gli amministratori"; -$a->strings["For Developers"] = "Per sviluppatori"; -$a->strings["Site"] = "Sito"; -$a->strings["Accounts"] = "Account"; -$a->strings["Channels"] = "Canali"; -$a->strings["Plugins"] = "Plugin"; -$a->strings["Themes"] = "Temi"; -$a->strings["Inspect queue"] = "Coda di attesa"; -$a->strings["Profile Config"] = "Configurazione del profilo"; -$a->strings["DB updates"] = "Aggiornamenti al DB"; -$a->strings["Logs"] = "Log"; -$a->strings["Admin"] = "Amministrazione"; -$a->strings["Plugin Features"] = "Plugin"; -$a->strings["User registrations waiting for confirmation"] = "Registrazioni in attesa"; -$a->strings["View Photo"] = "Guarda la foto"; -$a->strings["Edit Album"] = "Modifica album"; -$a->strings["No recipient provided."] = "Devi scegliere un destinatario."; -$a->strings["[no subject]"] = "[nessun titolo]"; -$a->strings["Unable to determine sender."] = "Impossibile determinare il mittente."; -$a->strings["Stored post could not be verified."] = "Non è stato possibile verificare il post."; -$a->strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database"; -$a->strings["Empty name"] = "Nome vuoto"; -$a->strings["Name too long"] = "Nome troppo lungo"; -$a->strings["No account identifier"] = "Account senza identificativo"; -$a->strings["Nickname is required."] = "Il nome dell'account è obbligatorio."; -$a->strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro."; -$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."; -$a->strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata"; -$a->strings["Default Profile"] = "Profilo predefinito"; -$a->strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile."; -$a->strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile."; -$a->strings["Change profile photo"] = "Cambia la foto del profilo"; -$a->strings["Profiles"] = "Profili"; -$a->strings["Manage/edit profiles"] = "Gestisci/modifica i profili"; -$a->strings["Create New Profile"] = "Crea un nuovo profilo"; -$a->strings["Edit Profile"] = "Modifica il profilo"; -$a->strings["Profile Image"] = "Immagine del profilo"; -$a->strings["visible to everybody"] = "visibile a tutti"; -$a->strings["Edit visibility"] = "Cambia la visibilità"; -$a->strings["Gender:"] = "Sesso:"; -$a->strings["Status:"] = "Stato:"; -$a->strings["Homepage:"] = "Home page:"; -$a->strings["Online Now"] = "Online adesso"; -$a->strings["g A l F d"] = "g A l d F"; -$a->strings["F d"] = "d F"; -$a->strings["[today]"] = "[oggi]"; -$a->strings["Birthday Reminders"] = "Promemoria compleanni"; -$a->strings["Birthdays this week:"] = "Compleanni questa settimana:"; -$a->strings["[No description]"] = "[Nessuna descrizione]"; -$a->strings["Event Reminders"] = "Promemoria"; -$a->strings["Events this week:"] = "Eventi della settimana:"; -$a->strings["Full Name:"] = "Nome completo:"; -$a->strings["Like this channel"] = "Mi piace questo canale"; -$a->strings["j F, Y"] = "j F Y"; -$a->strings["j F"] = "j F"; -$a->strings["Birthday:"] = "Compleanno:"; -$a->strings["Age:"] = "Età:"; -$a->strings["for %1\$d %2\$s"] = "per %1\$d %2\$s"; -$a->strings["Sexual Preference:"] = "Preferenze sessuali:"; -$a->strings["Hometown:"] = "Città dove vivo:"; -$a->strings["Tags:"] = "Tag:"; -$a->strings["Political Views:"] = "Orientamento politico:"; -$a->strings["Religion:"] = "Religione:"; -$a->strings["About:"] = "Informazioni:"; -$a->strings["Hobbies/Interests:"] = "Interessi e hobby:"; -$a->strings["Likes:"] = "Mi piace:"; -$a->strings["Dislikes:"] = "Non mi piace:"; -$a->strings["Contact information and Social Networks:"] = "Contatti e social network:"; -$a->strings["My other channels:"] = "I miei altri canali:"; -$a->strings["Musical interests:"] = "Gusti musicali:"; -$a->strings["Books, literature:"] = "Libri, letteratura:"; -$a->strings["Television:"] = "Televisione:"; -$a->strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:"; -$a->strings["Love/Romance:"] = "Amore:"; -$a->strings["Work/employment:"] = "Lavoro:"; -$a->strings["School/education:"] = "Scuola:"; -$a->strings["Like this thing"] = "Mi piace"; -$a->strings["Tags"] = "Tag"; -$a->strings["Keywords"] = "Parole chiave"; -$a->strings["have"] = "ho"; -$a->strings["has"] = "ha"; -$a->strings["want"] = "voglio"; -$a->strings["wants"] = "vuole"; -$a->strings["likes"] = "gli piace"; -$a->strings["dislikes"] = "non gli piace"; -$a->strings["Item was not found."] = "Elemento non trovato."; -$a->strings["No source file."] = "Nessun file di origine."; -$a->strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato"; -$a->strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato"; -$a->strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d"; -$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."; -$a->strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."; -$a->strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito."; -$a->strings["Path not available."] = "Percorso non disponibile."; -$a->strings["Empty pathname"] = "Il percorso del file è vuoto"; -$a->strings["duplicate filename or path"] = "il file o il percorso del file è duplicato"; -$a->strings["Path not found."] = "Percorso del file non trovato."; -$a->strings["mkdir failed."] = "mkdir fallito."; -$a->strings["database storage failed."] = "scrittura su database fallita."; -$a->strings["Empty path"] = "La posizione è vuota"; -$a->strings["Attachments:"] = "Allegati:"; -$a->strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:"; $a->strings["prev"] = "prec"; $a->strings["first"] = "inizio"; $a->strings["last"] = "fine"; @@ -941,93 +874,193 @@ $a->strings["Blocks"] = "Block"; $a->strings["Menus"] = "Menù"; $a->strings["Layouts"] = "Layout"; $a->strings["Pages"] = "Pagine"; -$a->strings["Logout"] = "Esci"; -$a->strings["End this session"] = "Chiudi questa sessione"; -$a->strings["Home"] = "Bacheca"; -$a->strings["Your posts and conversations"] = "I tuoi post e conversazioni"; -$a->strings["Your profile page"] = "Il tuo profilo"; -$a->strings["Edit Profiles"] = "Modifica i tuoi profili"; -$a->strings["Manage/Edit profiles"] = "Gestisci i tuoi profili"; -$a->strings["Edit your profile"] = "Modifica il tuo profilo"; -$a->strings["Your photos"] = "Le tue foto"; -$a->strings["Your files"] = "I tuoi file"; -$a->strings["Your chatrooms"] = "Le tue chat"; -$a->strings["Your bookmarks"] = "I tuoi segnalibri"; -$a->strings["Your webpages"] = "Le tue pagine web"; -$a->strings["Sign in"] = "Accedi"; -$a->strings["%s - click to logout"] = "%s - clicca per uscire"; -$a->strings["Remote authentication"] = "Accedi dal tuo hub"; -$a->strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale"; -$a->strings["Home Page"] = "Bacheca"; -$a->strings["Register"] = "Registrati"; -$a->strings["Create an account"] = "Crea un account"; -$a->strings["Help and documentation"] = "Guida e documentazione"; -$a->strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi"; -$a->strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto"; -$a->strings["Channel Directory"] = "Elenchi pubblici dei canali"; -$a->strings["Your grid"] = "La tua rete"; -$a->strings["Mark all grid notifications seen"] = "Segna come lette le notifiche della tua rete"; -$a->strings["Channel home"] = "Bacheca del canale"; -$a->strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale"; -$a->strings["Connections"] = "Contatti"; -$a->strings["Notices"] = "Avvisi"; -$a->strings["Notifications"] = "Notifiche"; -$a->strings["See all notifications"] = "Vedi tutte le notifiche"; -$a->strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema"; -$a->strings["Private mail"] = "Messaggi privati"; -$a->strings["See all private messages"] = "Guarda tutti i messaggi privati"; -$a->strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati"; -$a->strings["Event Calendar"] = "Calendario"; -$a->strings["See all events"] = "Guarda tutti gli eventi"; -$a->strings["Mark all events seen"] = "Marca come letti tutti gli eventi"; -$a->strings["Manage Your Channels"] = "Gestisci i tuoi canali"; -$a->strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale"; -$a->strings["Site Setup and Configuration"] = "Installazione e configurazione del sito"; -$a->strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto"; -$a->strings["Please wait..."] = "Attendere..."; -$a->strings["Directory Options"] = "Visibilità negli elenchi pubblici"; -$a->strings["Safe Mode"] = "Modalità SafeSearch"; -$a->strings["No"] = "No"; -$a->strings["Yes"] = "Si"; -$a->strings["Public Forums Only"] = "Solo forum pubblici"; -$a->strings["This Website Only"] = "Solo in questo sito"; -$a->strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare"; -$a->strings["Contact not found."] = "Contatto non trovato."; -$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato."; -$a->strings["Suggest Friends"] = "Suggerisci amici"; -$a->strings["Suggest a friend for %s"] = "Suggerisci un amico a %s"; -$a->strings["Public access denied."] = "Accesso pubblico negato."; -$a->strings["%d rating"] = array( - 0 => "%d valutazione", - 1 => "%d valutazioni", +$a->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."] = "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso."; +$a->strings["Add new connections to this collection (privacy group)"] = "Aggiungi altri contatti a questo insieme (privacy di gruppo)"; +$a->strings["All Channels"] = "Tutti i canali"; +$a->strings["edit"] = "modifica"; +$a->strings["Collections"] = "Insiemi di canali"; +$a->strings["Edit collection"] = "Modifica l'insieme di canali"; +$a->strings["Add new collection"] = "Nuovo insieme"; +$a->strings["Channels not in any collection"] = "Canali che non sono in un insieme"; +$a->strings["New Page"] = "Nuova pagina web"; +$a->strings["View"] = "Guarda"; +$a->strings["Actions"] = "Azioni"; +$a->strings["Page Link"] = "Link alla pagina"; +$a->strings["Title"] = "Titolo"; +$a->strings["Created"] = "Creato"; +$a->strings["Edited"] = "Modificato"; +$a->strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'"; +$a->strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes"; +$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto."; +$a->strings["Unable to process image"] = "Impossibile elaborare l'immagine"; +$a->strings["Photo storage failed."] = "Impossibile salvare la foto."; +$a->strings["Upload New Photos"] = "Carica nuove foto"; +$a->strings["Save to Folder"] = "Salva nella cartella"; +$a->strings["I will attend"] = "Parteciperò"; +$a->strings["I will not attend"] = "Non parteciperò"; +$a->strings["I might attend"] = "Forse parteciperò"; +$a->strings["I agree"] = "Sono d'accordo"; +$a->strings["I disagree"] = "Non sono d'accordo"; +$a->strings["I abstain"] = "Mi astengo"; +$a->strings["Add Star"] = "Aggiungi ai preferiti"; +$a->strings["Remove Star"] = "Rimuovi dai preferiti"; +$a->strings["Toggle Star Status"] = "Attiva/disattiva preferito"; +$a->strings["starred"] = "preferito"; +$a->strings["Add Tag"] = "Aggiungi un tag"; +$a->strings["I like this (toggle)"] = "Attiva/disattiva Mi piace"; +$a->strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace"; +$a->strings["Share This"] = "Condividi"; +$a->strings["share"] = "condividi"; +$a->strings["Delivery Report"] = "Rapporto di trasmissione"; +$a->strings["%d comment"] = array( + 0 => "%d commento", + 1 => "%d commenti", ); -$a->strings["Gender: "] = "Sesso:"; -$a->strings["Status: "] = "Stato:"; -$a->strings["Homepage: "] = "Homepage:"; -$a->strings["Description:"] = "Descrizione:"; -$a->strings["Public Forum:"] = "Forum pubblico:"; -$a->strings["Keywords: "] = "Parole chiave:"; -$a->strings["Don't suggest"] = "Non fornire suggerimenti"; -$a->strings["Common connections:"] = "Contatti in comune:"; -$a->strings["Global Directory"] = "Elenchi pubblici globali"; -$a->strings["Local Directory"] = "Elenco canali su questo hub"; -$a->strings["Finding:"] = "Ricerca:"; -$a->strings["next page"] = "pagina successiva"; -$a->strings["previous page"] = "pagina precedente"; -$a->strings["Sort options"] = "Opzioni di ordinamento"; -$a->strings["Alphabetic"] = "Alfabetico"; -$a->strings["Reverse Alphabetic"] = "Alfabetico inverso"; -$a->strings["Newest to Oldest"] = "Prima i più recenti"; -$a->strings["Oldest to Newest"] = "Prima i più vecchi"; -$a->strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto)."; -$a->strings["Bookmark added"] = "Segnalibro aggiunto"; -$a->strings["My Bookmarks"] = "I miei segnalibri"; -$a->strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti"; +$a->strings["View %s's profile - %s"] = "Guarda il profilo di %s - %s"; +$a->strings["to"] = "a"; +$a->strings["via"] = "via"; +$a->strings["Wall-to-Wall"] = "Da bacheca a bacheca"; +$a->strings["via Wall-To-Wall:"] = "da bacheca a bacheca:"; +$a->strings["Save Bookmarks"] = "Salva segnalibro"; +$a->strings["Add to Calendar"] = "Aggiungi al calendario"; +$a->strings["Mark all seen"] = "Marca tutto come letto"; +$a->strings["__ctx:noun__ Likes"] = "Mi piace"; +$a->strings["__ctx:noun__ Dislikes"] = "Non mi piace"; +$a->strings["This is you"] = "Questo sei tu"; +$a->strings["Image"] = "Immagine"; +$a->strings["Insert Link"] = "Collegamento"; +$a->strings["Video"] = "Video"; +$a->strings["Not a valid email address"] = "Email non valida"; +$a->strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito"; +$a->strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito."; +$a->strings["An invitation is required."] = "È necessario un invito."; +$a->strings["Invitation could not be verified."] = "L'invito non può essere verificato."; +$a->strings["Please enter the required information."] = "Inserisci le informazioni richieste."; +$a->strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account."; +$a->strings["Registration confirmation for %s"] = "Registrazione di %s confermata"; +$a->strings["Registration request at %s"] = "Richiesta di registrazione su %s"; +$a->strings["your registration password"] = "la password di registrazione"; +$a->strings["Registration details for %s"] = "Dettagli della registrazione di %s"; +$a->strings["Account approved."] = "Account approvato."; +$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s"; +$a->strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login."; +$a->strings["Click here to upgrade."] = "Clicca qui per aggiornare."; +$a->strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento."; +$a->strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento."; +$a->strings["Site Admin"] = "Amministrazione sito"; +$a->strings["Address Book"] = "Rubrica"; +$a->strings["Mood"] = "Umore"; +$a->strings["Probe"] = "Diagnostica"; +$a->strings["Suggest"] = "Suggerisci"; +$a->strings["Random Channel"] = "Canale casuale"; +$a->strings["Invite"] = "Invita"; +$a->strings["Features"] = "Funzionalità"; +$a->strings["Language"] = "Lingua"; +$a->strings["Post"] = "Post"; +$a->strings["Profile Photo"] = "Foto del profilo"; +$a->strings["Update"] = "Aggiorna"; +$a->strings["Install"] = "Installa"; +$a->strings["Purchase"] = "Acquista"; +$a->strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali"; +$a->strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale"; +$a->strings["Can view my connections"] = "Può vedere i miei contatti"; +$a->strings["Can view my file storage and photos"] = "Può vedere il mio archivio file e foto"; +$a->strings["Can view my webpages"] = "Può vedere le mie pagine web"; +$a->strings["Can send me their channel stream and posts"] = "È tra i canali che seguo"; +$a->strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale"; +$a->strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei post"; +$a->strings["Can send me private mail messages"] = "Può inviarmi messaggi privati"; +$a->strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\" a tutto il resto"; +$a->strings["Profiles and things other than posts/comments"] = "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo"; +$a->strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione"; +$a->strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione"; +$a->strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)"; +$a->strings["Can write to my file storage and photos"] = "Può modificare il mio archivio file e foto"; +$a->strings["Can edit my webpages"] = "Può modificare le mie pagine web"; +$a->strings["Can source my public posts in derived channels"] = "Può usare i miei post pubblici per creare canali derivati"; +$a->strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte"; +$a->strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale"; +$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"; +$a->strings["Social Networking"] = "Social network"; +$a->strings["Mostly Public"] = "Prevalentemente pubblico"; +$a->strings["Restricted"] = "Con restrizioni"; +$a->strings["Private"] = "Privato"; +$a->strings["Community Forum"] = "Forum di discussione"; +$a->strings["Feed Republish"] = "Aggregatore di feed esterni"; +$a->strings["Special Purpose"] = "Per finalità speciali"; +$a->strings["Celebrity/Soapbox"] = "Pagina per fan"; +$a->strings["Group Repository"] = "Repository di gruppo"; +$a->strings["Custom/Expert Mode"] = "Personalizzazione per esperti"; +$a->strings["Profile Photos"] = "Foto del profilo"; +$a->strings["Permission Denied."] = "Permesso negato."; +$a->strings["File not found."] = "File non trovato."; +$a->strings["Edit file permissions"] = "Modifica i permessi del file"; +$a->strings["Set/edit permissions"] = "Modifica i permessi"; +$a->strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle"; +$a->strings["Return to file list"] = "Torna all'elenco dei file"; +$a->strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post"; +$a->strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file"; +$a->strings["Share this file"] = "Condividi questo file"; +$a->strings["Show URL to this file"] = "Mostra l'URL del file"; +$a->strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file"; +$a->strings["Collection created."] = "L'insieme di canali è stato creato."; +$a->strings["Could not create collection."] = "Impossibile creare l'insieme."; +$a->strings["Collection updated."] = "Insieme aggiornato."; +$a->strings["Create a collection of channels."] = "Crea un insieme di canali."; +$a->strings["Collection Name: "] = "Nome dell'insieme:"; +$a->strings["Members are visible to other channels"] = "I membri potranno vedere gli altri canali dell'insieme"; +$a->strings["Collection removed."] = "Insieme rimosso."; +$a->strings["Unable to remove collection."] = "Impossibile rimuovere l'insieme."; +$a->strings["Collection Editor"] = "Modifica l'insieme"; +$a->strings["Members"] = "Membri"; +$a->strings["All Connected Channels"] = "Tutti i canali connessi"; +$a->strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo."; +$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale."; +$a->strings["Empty post discarded."] = "Il post vuoto è stato ignorato."; +$a->strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale."; +$a->strings["Duplicate post suppressed."] = "I post duplicati sono scartati."; +$a->strings["System error. Post not saved."] = "Errore di sistema. Post non salvato."; +$a->strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database."; +$a->strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."; +$a->strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web."; +$a->strings["No channel."] = "Nessun canale."; +$a->strings["Common connections"] = "Contatti in comune"; +$a->strings["No connections in common."] = "Nessun contatto in comune."; +$a->strings["Continue"] = "Continua"; +$a->strings["Premium Channel Setup"] = "Canale premium - configurazione"; +$a->strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium"; +$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."; +$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"; +$a->strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:"; +$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."; +$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)"; +$a->strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni"; +$a->strings["Profile Match"] = "Profili corrispondenti"; +$a->strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."; +$a->strings["is interested in:"] = "interessi personali:"; +$a->strings["No matches"] = "Nessun risultato"; $a->strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."; $a->strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."; -$a->strings["Invalid item."] = "Elemento non valido."; -$a->strings["Channel not found."] = "Canale non trovato."; -$a->strings["Page not found."] = "Pagina non trovata."; +$a->strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare"; +$a->strings["Away"] = "Assente"; +$a->strings["Online"] = "Online"; +$a->strings["Public Sites"] = "Siti pubblici"; +$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."; +$a->strings["Rate this hub"] = "Valuta questo hub"; +$a->strings["Site URL"] = "URL del sito"; +$a->strings["Access Type"] = "Tipo di accesso"; +$a->strings["Registration Policy"] = "Politica di registrazione"; +$a->strings["Project"] = "Progetto"; +$a->strings["View hub ratings"] = "Vedi le valutazioni del hub"; +$a->strings["Rate"] = "Valuta"; +$a->strings["View ratings"] = "Vedi le valutazioni"; +$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s"; +$a->strings["Website:"] = "Sito web:"; +$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)"; +$a->strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)"; +$a->strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)"; +$a->strings["Block Name"] = "Nome del block"; +$a->strings["Block Title"] = "Titolo del block"; $a->strings["First Name"] = "Nome"; $a->strings["Last Name"] = "Cognome"; $a->strings["Nickname"] = "Nick"; @@ -1060,28 +1093,10 @@ $a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non $a->strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s forse partecipa"; $a->strings["Action completed."] = "Comando completato."; $a->strings["Thank you."] = "Grazie."; -$a->strings["Export Channel"] = "Esporta il canale"; -$a->strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato."; -$a->strings["Export Content"] = "Esporta i contenuti"; -$a->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."] = "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento."; -$a->strings["Export your posts from a given year."] = "Esporta i tuoi post a partire dall'anno scelto."; -$a->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."] = "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date."; -$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1\$s\">%2\$s</a> "; -$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1\$s\">%2\$s</a>"; -$a->strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1\$s\">%2\$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)"; -$a->strings["Away"] = "Assente"; -$a->strings["Online"] = "Online"; -$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s"; -$a->strings["No channel."] = "Nessun canale."; -$a->strings["Common connections"] = "Contatti in comune"; -$a->strings["No connections in common."] = "Nessun contatto in comune."; -$a->strings["sent you a private message"] = "ti ha inviato un messaggio privato"; -$a->strings["added your channel"] = "ha aggiunto il tuo canale"; -$a->strings["posted an event"] = "ha creato un evento"; -$a->strings["Documentation Search"] = "Ricerca nella guida"; -$a->strings["Help:"] = "Guida:"; -$a->strings["Not Found"] = "Non disponibile"; -$a->strings["\$Projectname Documentation"] = "Guida di \$Projectname"; +$a->strings["Invalid item."] = "Elemento non valido."; +$a->strings["Channel not found."] = "Canale non trovato."; +$a->strings["Page not found."] = "Pagina non trovata."; +$a->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."; $a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."; $a->strings["Remove This Channel"] = "Elimina questo canale"; $a->strings["WARNING: "] = "ATTENZIONE:"; @@ -1091,38 +1106,186 @@ $a->strings["Please enter your password for verification:"] = "Inserisci la tua $a->strings["Remove this channel and all its clones from the network"] = "Elimina questo canale e tutti i suoi cloni dalla rete"; $a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"; $a->strings["Remove Channel"] = "Elimina questo canale"; -$a->strings["- select -"] = "- scegli -"; -$a->strings["Menu not found."] = "Menù non trovato."; -$a->strings["Unable to create element."] = "Impossibile creare l'elemento."; -$a->strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù."; -$a->strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù."; -$a->strings["Not found."] = "Non trovato."; -$a->strings["Menu Item Permissions"] = "Permessi del menu"; -$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)"; -$a->strings["Link Name"] = "Nome link"; -$a->strings["Link or Submenu Target"] = "Azione del link o del sottomenu"; -$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"; -$a->strings["Use magic-auth if available"] = "Usa l'autenticazione tramite il tuo hub, se disponibile"; -$a->strings["Open link in new window"] = "Apri il link in una nuova finestra"; -$a->strings["Order in list"] = "Ordine dell'elenco"; -$a->strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco"; -$a->strings["Submit and finish"] = "Salva e termina"; -$a->strings["Submit and continue"] = "Salva e continua"; -$a->strings["Menu:"] = "Menu:"; -$a->strings["Link Target"] = "Destinazione link"; -$a->strings["Edit menu"] = "Modifica il menù"; -$a->strings["Edit element"] = "Modifica l'elemento"; -$a->strings["Drop element"] = "Elimina l'elemento"; -$a->strings["New element"] = "Nuovo elemento"; -$a->strings["Edit this menu container"] = "Modifica il contenitore del menù"; -$a->strings["Add menu element"] = "Aggiungi un elemento al menù"; -$a->strings["Delete this menu item"] = "Elimina questo elemento del menù"; -$a->strings["Edit this menu item"] = "Modifica questo elemento del menù"; -$a->strings["Menu item not found."] = "L'elemento del menù non è stato trovato."; -$a->strings["Menu item deleted."] = "L'elemento del menù è stato eliminato."; -$a->strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato."; -$a->strings["Edit Menu Element"] = "Modifica l'elemento del menù"; -$a->strings["Link text"] = "Testo del link"; +$a->strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici"; +$a->strings["Add a Channel"] = "Aggiungi un canale"; +$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti te ne permette il tuo sito."; +$a->strings["Channel Name"] = "Nome del canale"; +$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\""; +$a->strings["Choose a short nickname"] = "Scegli un nome breve"; +$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti."; +$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro hub"; +$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. Hubzilla sceglierà per te i permessi più adatti."; +$a->strings["Channel Type"] = "Tipo di canale"; +$a->strings["Read more about roles"] = "Maggiori informazioni sui ruoli"; +$a->strings["No ratings"] = "Nessuna valutazione"; +$a->strings["Public access denied."] = "Accesso pubblico negato."; +$a->strings["Ratings"] = "Valutazioni"; +$a->strings["Rating: "] = "Valutazione:"; +$a->strings["Website: "] = "Sito web:"; +$a->strings["Description: "] = "Descrizione:"; +$a->strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione"; +$a->strings["Could not connect to database."] = " Impossibile connettersi al database."; +$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."; +$a->strings["Could not create table."] = "Impossibile creare le tabelle."; +$a->strings["Your site database has been installed."] = "Il database del sito è stato installato."; +$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."; +$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'."; +$a->strings["System check"] = "Verifica del sistema"; +$a->strings["Next"] = "Successivo"; +$a->strings["Check again"] = "Verifica di nuovo"; +$a->strings["Database connection"] = "Connessione al database"; +$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database."; +$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."; +$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare."; +$a->strings["Database Server Name"] = "Server del database"; +$a->strings["Default is 127.0.0.1"] = "Il valore predefinito è 127.0.0.1"; +$a->strings["Database Port"] = "Port del database"; +$a->strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard"; +$a->strings["Database Login Name"] = "Utente database"; +$a->strings["Database Login Password"] = "Password database"; +$a->strings["Database Name"] = "Nome database"; +$a->strings["Database Type"] = "Tipo database"; +$a->strings["Site administrator email address"] = "Indirizzo email dell'amministratore del hub"; +$a->strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla."; +$a->strings["Website URL"] = "URL completo del sito"; +$a->strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https)."; +$a->strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo hub"; +$a->strings["Site settings"] = "Impostazioni del hub"; +$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"; +$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."; +$a->strings["PHP executable path"] = "Path del comando PHP"; +$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."; +$a->strings["Command line PHP"] = "PHP da riga di comando"; +$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."; +$a->strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi."; +$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; +$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."; +$a->strings["You can adjust these settings in the servers php.ini."] = "Puoi regolare queste impostazioni sul server in php.ini"; +$a->strings["PHP upload limits"] = "Limiti PHP in upload"; +$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura"; +$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."; +$a->strings["Generate encryption keys"] = "Genera chiavi di cifratura"; +$a->strings["libCurl PHP module"] = "modulo PHP libCurl"; +$a->strings["GD graphics PHP module"] = "modulo PHP GD graphics"; +$a->strings["OpenSSL PHP module"] = "modulo PHP OpenSSL"; +$a->strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres"; +$a->strings["mb_string PHP module"] = "modulo PHP mb_string"; +$a->strings["mcrypt PHP module"] = "modulo PHP mcrypt"; +$a->strings["xml PHP module"] = "modulo xml PHP"; +$a->strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite"; +$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"; +$a->strings["proc_open"] = "proc_open"; +$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"; +$a->strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato."; +$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."; +$a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato."; +$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"; +$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato."; +$a->strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato."; +$a->strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."; +$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."; +$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."; +$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."; +$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."; +$a->strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile"; +$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."; +$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla."; +$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."; +$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."; +$a->strings["%s is writable"] = "%s è scrivibile"; +$a->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"] = "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix"; +$a->strings["store is writable"] = "l'archivio è scrivibile"; +$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."; +$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!"; +$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."; +$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."; +$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."; +$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."; +$a->strings["SSL certificate validation"] = "Validazione del certificato SSL"; +$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"; +$a->strings["Url rewrite is working"] = "Url rewrite funziona correttamente"; +$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."; +$a->strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori."; +$a->strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>"; +$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."; +$a->strings["Bookmark added"] = "Segnalibro aggiunto"; +$a->strings["My Bookmarks"] = "I miei segnalibri"; +$a->strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti"; +$a->strings["\$Projectname"] = "\$Projectname"; +$a->strings["Welcome to %s"] = "%s ti dà il benvenuto"; +$a->strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali"; +$a->strings["Configuration Editor"] = "Editor di configurazione"; +$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."; +$a->strings["Poke/Prod"] = "Poke/Prod"; +$a->strings["poke, prod or do other things to somebody"] = "Manda un poke, un prod o altro"; +$a->strings["Recipient"] = "Destinatario"; +$a->strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario"; +$a->strings["Make this post private"] = "Rendi privato questo post"; +$a->strings["Profile not found."] = "Profilo non trovato."; +$a->strings["Profile deleted."] = "Profilo eliminato."; +$a->strings["Profile-"] = "Profilo-"; +$a->strings["New profile created."] = "Il nuovo profilo è stato creato."; +$a->strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo."; +$a->strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export."; +$a->strings["Profile Name is required."] = "Il nome del profilo è obbligatorio."; +$a->strings["Marital Status"] = "Stato sentimentale"; +$a->strings["Romantic Partner"] = "Partner affettivo"; +$a->strings["Likes"] = "Mi piace"; +$a->strings["Dislikes"] = "Non mi piace"; +$a->strings["Work/Employment"] = "Lavoro/impiego"; +$a->strings["Religion"] = "Religione"; +$a->strings["Political Views"] = "Orientamento politico"; +$a->strings["Sexual Preference"] = "Preferenze sessuali"; +$a->strings["Homepage"] = "Home page"; +$a->strings["Interests"] = "Interessi"; +$a->strings["Address"] = "Indirizzo"; +$a->strings["Profile updated."] = "Profilo aggiornato."; +$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?"; +$a->strings["Edit Profile Details"] = "Modifica i dettagli del profilo"; +$a->strings["View this profile"] = "Guarda questo profilo"; +$a->strings["Change Profile Photo"] = "Cambia la foto del profilo"; +$a->strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni"; +$a->strings["Clone this profile"] = "Clona questo profilo"; +$a->strings["Delete this profile"] = "Elimina questo profilo"; +$a->strings["Import profile from file"] = "Importa il profilo da un file"; +$a->strings["Export profile to file"] = "Esporta il profilo in un file"; +$a->strings["Profile Name:"] = "Nome del profilo:"; +$a->strings["Your Full Name:"] = "Il tuo nome completo:"; +$a->strings["Title/Description:"] = "Titolo/descrizione:"; +$a->strings["Your Gender:"] = "Sesso:"; +$a->strings["Birthday :"] = "Compleanno:"; +$a->strings["Street Address:"] = "Indirizzo (via/piazza):"; +$a->strings["Locality/City:"] = "Località:"; +$a->strings["Postal/Zip Code:"] = "CAP:"; +$a->strings["Country:"] = "Nazione:"; +$a->strings["Region/State:"] = "Regione/stato:"; +$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Stato sentimentale:"; +$a->strings["Who: (if applicable)"] = "Con chi: (se possibile)"; +$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com"; +$a->strings["Since [date]:"] = "dal [data]:"; +$a->strings["Homepage URL:"] = "Indirizzo home page:"; +$a->strings["Religious Views:"] = "Orientamento religioso:"; +$a->strings["Keywords:"] = "Parole chiave, tag:"; +$a->strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione"; +$a->strings["Used in directory listings"] = "Visibile negli elenchi pubblici di canali"; +$a->strings["Tell us about yourself..."] = "Raccontaci di te..."; +$a->strings["Hobbies/Interests"] = "Hobby/interessi"; +$a->strings["Contact information and Social Networks"] = "Contatti personali e i tuoi social network"; +$a->strings["My other channels"] = "I miei altri canali"; +$a->strings["Musical interests"] = "Interessi musicali"; +$a->strings["Books, literature"] = "Libri, letteratura"; +$a->strings["Television"] = "Televisione"; +$a->strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento"; +$a->strings["Love/romance"] = "Amore"; +$a->strings["Work/employment"] = "Lavoro/impiego"; +$a->strings["School/education"] = "Scuola/educazione"; +$a->strings["This is your default profile."] = "Questo è il tuo profilo predefinito."; +$a->strings["Age: "] = "Età:"; +$a->strings["Edit/Manage Profiles"] = "Modifica/gestisci i profili"; +$a->strings["Add profile things"] = "Aggiungi oggetti al profilo"; +$a->strings["Include desirable objects in your profile"] = "Aggiungi oggetti interessanti al tuo profilo"; +$a->strings["Items tagged with: %s"] = "Elementi taggati con: %s"; +$a->strings["Search results for: %s"] = "Risultati ricerca: %s"; $a->strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto."; $a->strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato."; $a->strings["Connection updated."] = "Contatto aggiornato."; @@ -1185,57 +1348,132 @@ $a->strings["Individual Permissions"] = "Permessi individuali"; $a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."; $a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali."; $a->strings["Last update:"] = "Ultimo aggiornamento:"; -$a->strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici"; -$a->strings["Hub not found."] = "Hub non trovato."; -$a->strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali"; -$a->strings["Configuration Editor"] = "Editor di configurazione"; -$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."; -$a->strings["Permission Denied."] = "Permesso negato."; -$a->strings["File not found."] = "File non trovato."; -$a->strings["Edit file permissions"] = "Modifica i permessi del file"; -$a->strings["Set/edit permissions"] = "Modifica i permessi"; -$a->strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle"; -$a->strings["Return to file list"] = "Torna all'elenco dei file"; -$a->strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post"; -$a->strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file"; -$a->strings["Share this file"] = "Condividi questo file"; -$a->strings["Show URL to this file"] = "Mostra l'URL del file"; -$a->strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file"; +$a->strings["network"] = "rete"; +$a->strings["RSS"] = "RSS"; +$a->strings["\$Projectname channel"] = "Canale \$Projectname"; +$a->strings["Invalid message"] = "Messaggio non valido"; +$a->strings["no results"] = "nessun risultato"; +$a->strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s"; +$a->strings["channel sync processed"] = "sincronizzazione del canale effettuata"; +$a->strings["queued"] = "in coda"; +$a->strings["posted"] = "inviato"; +$a->strings["accepted for delivery"] = "accettato per la spedizione"; +$a->strings["updated"] = "aggiornato"; +$a->strings["update ignored"] = "aggiornamento ignorato"; +$a->strings["permission denied"] = "permessi non sufficienti"; +$a->strings["recipient not found"] = "Destinatario non trovato"; +$a->strings["mail recalled"] = "messaggio richiamato dal mittente"; +$a->strings["duplicate mail received"] = "ricevuto messaggio duplicato"; +$a->strings["mail delivered"] = "messaggio recapitato"; +$a->strings["Item not found"] = "Elemento non trovato"; +$a->strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?"; +$a->strings["Page link title"] = "Link del titolo"; +$a->strings["Insert YouTube video"] = "Inserisci video da YouTube"; +$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]"; +$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]"; +$a->strings["Edit Webpage"] = "Modifica la pagina web"; +$a->strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub."; +$a->strings["Post successful."] = "Inviato!"; +$a->strings["sent you a private message"] = "ti ha inviato un messaggio privato"; +$a->strings["added your channel"] = "ha aggiunto il tuo canale"; +$a->strings["posted an event"] = "ha creato un evento"; +$a->strings["Authorize application connection"] = "Autorizza la app"; +$a->strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:"; +$a->strings["Please login to continue."] = "Accedi al sito per continuare."; +$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"; +$a->strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema."; +$a->strings["System Notifications"] = "Notifiche di sistema"; +$a->strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri"; +$a->strings["Save Bookmark"] = "Salva segnalibro"; +$a->strings["URL of bookmark"] = "URL del segnalibro"; +$a->strings["Description"] = "Descrizione"; +$a->strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri"; +$a->strings["Contact not found."] = "Contatto non trovato."; +$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato."; +$a->strings["Suggest Friends"] = "Suggerisci amici"; +$a->strings["Suggest a friend for %s"] = "Suggerisci un amico a %s"; +$a->strings["Failed to create source. No channel selected."] = "Impossibile creare la sorgente. Nessun canale selezionato."; +$a->strings["Source created."] = "Sorgente creata."; +$a->strings["Source updated."] = "Sorgente aggiornata."; +$a->strings["*"] = "*"; +$a->strings["Manage remote sources of content for your channel."] = "Gestisci le sorgenti dei contenuti del tuo canale."; +$a->strings["New Source"] = "Nuova sorgente"; +$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."; +$a->strings["Only import content with these words (one per line)"] = "Importa solo i contenuti che hanno queste parole (una per riga)"; +$a->strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici"; +$a->strings["Source not found."] = "Sorgente non trovata."; +$a->strings["Edit Source"] = "Modifica la sorgente"; +$a->strings["Delete Source"] = "Elimina la sorgente"; +$a->strings["Source removed"] = "Sorgente eliminata"; +$a->strings["Unable to remove source."] = "Impossibile rimuovere la sorgente."; +$a->strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido."; +$a->strings["Discard"] = "Rifiuta"; +$a->strings["Tag removed"] = "Tag rimosso"; +$a->strings["Remove Item Tag"] = "Rimuovi il tag"; +$a->strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: "; +$a->strings["Remove"] = "Rimuovi"; +$a->strings["%d rating"] = array( + 0 => "%d valutazione", + 1 => "%d valutazioni", +); +$a->strings["Gender: "] = "Sesso:"; +$a->strings["Status: "] = "Stato:"; +$a->strings["Homepage: "] = "Homepage:"; +$a->strings["Description:"] = "Descrizione:"; +$a->strings["Public Forum:"] = "Forum pubblico:"; +$a->strings["Keywords: "] = "Parole chiave:"; +$a->strings["Don't suggest"] = "Non fornire suggerimenti"; +$a->strings["Common connections:"] = "Contatti in comune:"; +$a->strings["Global Directory"] = "Elenchi pubblici globali"; +$a->strings["Local Directory"] = "Elenco canali su questo hub"; +$a->strings["Finding:"] = "Ricerca:"; +$a->strings["next page"] = "pagina successiva"; +$a->strings["previous page"] = "pagina precedente"; +$a->strings["Sort options"] = "Opzioni di ordinamento"; +$a->strings["Alphabetic"] = "Alfabetico"; +$a->strings["Reverse Alphabetic"] = "Alfabetico inverso"; +$a->strings["Newest to Oldest"] = "Prima i più recenti"; +$a->strings["Oldest to Newest"] = "Prima i più vecchi"; +$a->strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto)."; +$a->strings["No valid account found."] = "Nessun account valido trovato."; +$a->strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."; +$a->strings["Site Member (%s)"] = "Utente del sito (%s)"; +$a->strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s"; +$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."; +$a->strings["Password Reset"] = "Reimposta la password"; +$a->strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto."; +$a->strings["Your new password is"] = "La tua nuova password è"; +$a->strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi"; +$a->strings["click here to login"] = "clicca qui per accedere"; +$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."; +$a->strings["Your password has changed at %s"] = "La tua password su %s è cambiata"; +$a->strings["Forgot your Password?"] = "Hai dimenticato la password?"; +$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."; +$a->strings["Email Address"] = "Indirizzo email"; +$a->strings["Reset"] = "Reimposta"; $a->strings["This site is not a directory server"] = "Questo non è un directory server"; -$a->strings["Layout Name"] = "Nome layout"; -$a->strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)"; -$a->strings["Comanche page description language help"] = "Guida di Comanche Page Description Language"; -$a->strings["Layout Description"] = "Descrizione del layout"; -$a->strings["Download PDL file"] = "Scarica il file PDL"; -$a->strings["Poke/Prod"] = "Poke/Prod"; -$a->strings["poke, prod or do other things to somebody"] = "Manda un poke, un prod o altro"; -$a->strings["Recipient"] = "Destinatario"; -$a->strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario"; -$a->strings["Make this post private"] = "Rendi privato questo post"; -$a->strings["No such group"] = "Impossibile trovare l'insieme"; -$a->strings["No such channel"] = "Canale sconosciuto"; -$a->strings["forum"] = "forum"; -$a->strings["Search Results For:"] = "Cerca risultati con:"; -$a->strings["Collection is empty"] = "L'insieme di canali è vuoto"; -$a->strings["Collection: "] = "Insieme:"; -$a->strings["Invalid connection."] = "Contatto non valido."; -$a->strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina."; -$a->strings["Room not found"] = "Chat non trovata"; -$a->strings["Leave Room"] = "Lascia la chat"; -$a->strings["Delete This Room"] = "Elimina questa chat"; -$a->strings["I am away right now"] = "Non sono presente"; -$a->strings["I am online"] = "Sono online"; -$a->strings["Bookmark this room"] = "Aggiungi questa chat ai segnalibri"; -$a->strings["New Chatroom"] = "Nuova chat"; -$a->strings["Chatroom Name"] = "Nome della chat"; -$a->strings["Expiration of chats (minutes)"] = "Scadenza dei messaggi della chat (minuti)"; -$a->strings["%1\$s's Chatrooms"] = "Le chat di %1\$s"; -$a->strings["Items tagged with: %s"] = "Elementi taggati con: %s"; -$a->strings["Search results for: %s"] = "Risultati ricerca: %s"; -$a->strings["Website:"] = "Sito web:"; -$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)"; -$a->strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)"; -$a->strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)"; +$a->strings["%s element installed"] = "%s elemento installato"; +$a->strings["%s element installation failed"] = "Elementi con installazione fallita: %s"; +$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s"; +$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s non segue più %3\$s di %2\$s"; +$a->strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali."; +$a->strings["Nothing to import."] = "Non c'è niente da importare."; +$a->strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio hub"; +$a->strings["Imported file is empty."] = "Il file da importare è vuoto."; +$a->strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti."; +$a->strings["No channel. Import failed."] = "Nessun canale. Import fallito."; +$a->strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso."; +$a->strings["Import Channel"] = "Importa un canale"; +$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza."; +$a->strings["File to Upload"] = "File da caricare"; +$a->strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio hub"; +$a->strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"; +$a->strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio hub"; +$a->strings["Your old login password"] = "La password per il vecchio hub"; +$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc."; +$a->strings["Make this hub my primary location"] = "Rendi questo hub il mio indirizzo primario"; +$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)"; +$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."; $a->strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina."; $a->strings["Album not found."] = "Album non trovato."; $a->strings["Delete Album"] = "Elimina album"; @@ -1260,8 +1498,6 @@ $a->strings["Use as profile photo"] = "Usa come foto del profilo"; $a->strings["Private Photo"] = "Foto privata"; $a->strings["Previous"] = "Precendente"; $a->strings["View Full Size"] = "Vedi nelle dimensioni originali"; -$a->strings["Next"] = "Successivo"; -$a->strings["Remove"] = "Rimuovi"; $a->strings["Edit photo"] = "Modifica la foto"; $a->strings["Rotate CW (right)"] = "Ruota (senso orario)"; $a->strings["Rotate CCW (left)"] = "Ruota (senso antiorario)"; @@ -1275,18 +1511,84 @@ $a->strings["In This Photo:"] = "In questa foto:"; $a->strings["Map"] = "Mappa"; $a->strings["View Album"] = "Guarda l'album"; $a->strings["Recent Photos"] = "Foto recenti"; -$a->strings["Item not found"] = "Elemento non trovato"; +$a->strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s"; +$a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."; +$a->strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito."; +$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."; +$a->strings["Image upload failed."] = "Il caricamento dell'immagine è fallito."; +$a->strings["Unable to process image."] = "Impossibile elaborare l'immagine."; +$a->strings["female"] = "femmina"; +$a->strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s"; +$a->strings["male"] = "maschio"; +$a->strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s"; +$a->strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s"; +$a->strings["profile photo"] = "foto del profilo"; +$a->strings["Photo not available."] = "Foto non disponibile."; +$a->strings["Upload File:"] = "Carica un file:"; +$a->strings["Select a profile:"] = "Seleziona un profilo:"; +$a->strings["Upload Profile Photo"] = "Carica la foto del profilo"; +$a->strings["or"] = "o"; +$a->strings["skip this step"] = "salta questo passaggio"; +$a->strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album"; +$a->strings["Crop Image"] = "Ritaglia immagine"; +$a->strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione."; +$a->strings["Done Editing"] = "Modifica terminata"; +$a->strings["Thing updated"] = "L'oggetto è stato aggiornato"; +$a->strings["Object store: failed"] = "Impossibile memorizzare l'oggetto."; +$a->strings["Thing added"] = "L'Oggetto è stato aggiunto"; +$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; +$a->strings["Show Thing"] = "Mostra l'oggetto"; +$a->strings["item not found."] = "non trovato."; +$a->strings["Edit Thing"] = "Modifica l'oggetto"; +$a->strings["Select a profile"] = "Scegli un profilo"; +$a->strings["Post an activity"] = "Pubblica un'attività"; +$a->strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi può vedere il profilo scelto"; +$a->strings["Name of thing e.g. something"] = "Nome dell'oggetto"; +$a->strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto (facoltativo)"; +$a->strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)"; +$a->strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo"; +$a->strings["This directory server requires an access token"] = "Questo directory server necessita di un token di autenticazione"; $a->strings["Delete block?"] = "Vuoi eliminare questo block?"; -$a->strings["Insert YouTube video"] = "Inserisci video da YouTube"; -$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]"; -$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]"; $a->strings["Edit Block"] = "Modifica il block"; -$a->strings["This directory server requires an access token"] = "Questo directory server necessita di un token di autenticazione"; -$a->strings["Item is not editable"] = "L'elemento non è modificabile"; -$a->strings["Delete item?"] = "Eliminare questo elemento?"; -$a->strings["Edit post"] = "Modifica post"; -$a->strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub."; -$a->strings["Post successful."] = "Inviato!"; +$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password."; +$a->strings["Remove This Account"] = "Elimina questo account"; +$a->strings["This account and all its channels will be completely removed from the network. "] = "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete."; +$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati."; +$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete."; +$a->strings["Remove Account"] = "Elimina l'account"; +$a->strings["Import completed"] = "Importazione completata"; +$a->strings["Import Items"] = "Importa i contenuti"; +$a->strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."; +$a->strings["No such group"] = "Impossibile trovare l'insieme"; +$a->strings["No such channel"] = "Canale sconosciuto"; +$a->strings["forum"] = "forum"; +$a->strings["Search Results For:"] = "Cerca risultati con:"; +$a->strings["Collection is empty"] = "L'insieme di canali è vuoto"; +$a->strings["Collection: "] = "Insieme:"; +$a->strings["Invalid connection."] = "Contatto non valido."; +$a->strings["Layout updated."] = "Layout aggiornato."; +$a->strings["Edit System Page Description"] = "Modifica i layout di sistema"; +$a->strings["Layout not found."] = "Layout non trovato."; +$a->strings["Module Name:"] = "Nome del modulo:"; +$a->strings["Layout Help"] = "Guida al layout"; +$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"; +$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."; +$a->strings["Passwords do not match."] = "Le password non corrispondono."; +$a->strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."; +$a->strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub."; +$a->strings["Your registration can not be processed."] = "La tua registrazione non puo' essere processata."; +$a->strings["Registration on this site/hub is by approval only."] = "La registrazione su questo hub è soggetta ad approvazione."; +$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrati su un altro hub affiliato</a>"; +$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."; +$a->strings["Terms of Service"] = "Condizioni d'Uso"; +$a->strings["I accept the %s for this website"] = "Accetto le %s di questo sito"; +$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito"; +$a->strings["Registration"] = "Registrazione"; +$a->strings["Membership on this site is by invitation only."] = "Per registrarsi su questo hub è necessario un invito."; +$a->strings["Please enter your invitation code"] = "Inserisci il codice dell'invito"; +$a->strings["Your email address"] = "Il tuo indirizzo email"; +$a->strings["Choose a password"] = "Scegli una password"; +$a->strings["Please re-enter your password"] = "Ripeti la password per verifica"; $a->strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate."; $a->strings["# Accounts"] = "# account"; $a->strings["# blocked accounts"] = "# account bloccati"; @@ -1312,7 +1614,6 @@ $a->strings["My site is not a public server"] = "Non è un server pubblico"; $a->strings["My site has paid access only"] = "È un servizio a pagamento"; $a->strings["My site has free access only"] = "È un servizio gratuito"; $a->strings["My site offers free accounts with optional paid upgrades"] = "È un servizio gratuito con opzioni aggiuntive a pagamento"; -$a->strings["Registration"] = "Registrazione"; $a->strings["File upload"] = "Caricamento file"; $a->strings["Policies"] = "Politiche"; $a->strings["Site name"] = "Nome del sito"; @@ -1439,7 +1740,6 @@ $a->strings["Uncensor"] = "Rimuovi la censura"; $a->strings["Allow Code"] = "Permetti codice nei contenuti"; $a->strings["Disallow Code"] = "Non permettere codice nei contenuti"; $a->strings["UID"] = "UID"; -$a->strings["Address"] = "Indirizzo"; $a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"; $a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"; $a->strings["Plugin %s disabled."] = "Plugin %s non attivo."; @@ -1469,303 +1769,10 @@ $a->strings["Help text"] = "Testo di aiuto"; $a->strings["Additional info (optional)"] = "Informazioni aggiuntive (facoltative)"; $a->strings["Field definition not found"] = "Impossibile trovare la definizione del campo"; $a->strings["Edit Profile Field"] = "Modifica campo del profilo"; -$a->strings["App installed."] = "App installata"; -$a->strings["Malformed app."] = "L'app contiene errori"; -$a->strings["Embed code"] = "Inserisci il codice"; -$a->strings["Edit App"] = "Modifica app"; -$a->strings["Create App"] = "Crea una app"; -$a->strings["Name of app"] = "Nome app"; -$a->strings["Location (URL) of app"] = "Indirizzo (URL) della app"; -$a->strings["Description"] = "Descrizione"; -$a->strings["Photo icon URL"] = "URL icona"; -$a->strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa"; -$a->strings["Version ID"] = "ID versione"; -$a->strings["Price of app"] = "Prezzo app"; -$a->strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app"; -$a->strings["Unable to update menu."] = "Impossibile aggiornare il menù."; -$a->strings["Unable to create menu."] = "Impossibile creare il menù."; -$a->strings["Menu Name"] = "Nome del menu"; -$a->strings["Unique name (not visible on webpage) - required"] = "Nome unico (non visibile sulla pagina) - obbligatorio"; -$a->strings["Menu Title"] = "Titolo del menu"; -$a->strings["Visible on webpage - leave empty for no title"] = "Visibile sulla pagina - lascia vuoto per non avere un titolo"; -$a->strings["Allow Bookmarks"] = "Permetti i segnalibri"; -$a->strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù"; -$a->strings["Submit and proceed"] = "Salva e procedi"; -$a->strings["Drop"] = "Elimina"; -$a->strings["Bookmarks allowed"] = "Permetti segnalibri"; -$a->strings["Delete this menu"] = "Elimina questo menù"; -$a->strings["Edit menu contents"] = "Modifica i contenuti del menù"; -$a->strings["Edit this menu"] = "Modifica questo menù"; -$a->strings["Menu could not be deleted."] = "Il menù non può essere eliminato."; -$a->strings["Edit Menu"] = "Modifica menù"; -$a->strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù"; -$a->strings["Menu name"] = "Nome del menù"; -$a->strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu"; -$a->strings["Menu title"] = "Titolo del menù"; -$a->strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti"; -$a->strings["Allow bookmarks"] = "Permetti l'invio di segnalibri"; -$a->strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema."; -$a->strings["System Notifications"] = "Notifiche di sistema"; -$a->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."; -$a->strings["Add a Channel"] = "Aggiungi un canale"; -$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti te ne permette il tuo sito."; -$a->strings["Channel Name"] = "Nome del canale"; -$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\""; -$a->strings["Choose a short nickname"] = "Scegli un nome breve"; -$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti."; -$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro hub"; -$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. Hubzilla sceglierà per te i permessi più adatti."; -$a->strings["Channel Type"] = "Tipo di canale"; -$a->strings["Read more about roles"] = "Maggiori informazioni sui ruoli"; -$a->strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido."; -$a->strings["Discard"] = "Rifiuta"; -$a->strings["Layout updated."] = "Layout aggiornato."; -$a->strings["Edit System Page Description"] = "Modifica i layout di sistema"; -$a->strings["Layout not found."] = "Layout non trovato."; -$a->strings["Module Name:"] = "Nome del modulo:"; -$a->strings["Layout Help"] = "Guida al layout"; -$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s"; -$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s non segue più %3\$s di %2\$s"; -$a->strings["No valid account found."] = "Nessun account valido trovato."; -$a->strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."; -$a->strings["Site Member (%s)"] = "Utente del sito (%s)"; -$a->strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s"; -$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."; -$a->strings["Password Reset"] = "Reimposta la password"; -$a->strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto."; -$a->strings["Your new password is"] = "La tua nuova password è"; -$a->strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi"; -$a->strings["click here to login"] = "clicca qui per accedere"; -$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."; -$a->strings["Your password has changed at %s"] = "La tua password su %s è cambiata"; -$a->strings["Forgot your Password?"] = "Hai dimenticato la password?"; -$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."; -$a->strings["Email Address"] = "Indirizzo email"; -$a->strings["Reset"] = "Reimposta"; -$a->strings["\$Projectname"] = "\$Projectname"; -$a->strings["Welcome to %s"] = "%s ti dà il benvenuto"; -$a->strings["\$Projectname channel"] = "Canale \$Projectname"; -$a->strings["Calendar entries imported."] = "Le voci del calendario sono state importate."; -$a->strings["No calendar entries found."] = "Non sono state trovate voci del calendario."; -$a->strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio."; -$a->strings["Unable to generate preview."] = "Impossibile creare un'anteprima."; -$a->strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento."; -$a->strings["Event not found."] = "Evento non trovato."; -$a->strings["l, F j"] = "l j F"; -$a->strings["Edit event"] = "Modifica l'evento"; -$a->strings["Delete event"] = "Elimina l'evento"; -$a->strings["calendar"] = "calendario"; -$a->strings["New Event"] = "Nuovo evento"; -$a->strings["Today"] = "Oggi"; -$a->strings["Event removed"] = "Evento eliminato"; -$a->strings["Failed to remove event"] = "Impossibile eliminare l'evento"; -$a->strings["Event details"] = "Dettagli evento"; -$a->strings["Starting date and Title are required."] = "Titolo e data d'inizio sono obbligatori."; -$a->strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)"; -$a->strings["Event Starts:"] = "Inizio:"; -$a->strings["Finish date/time is not known or not relevant"] = "La data/ora di fine non è rilevante"; -$a->strings["Event Finishes:"] = "Fine:"; -$a->strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge"; -$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono online ma con un certo fuso orario."; -$a->strings["Title:"] = "Titolo:"; -$a->strings["Share this event"] = "Condividi questo evento"; -$a->strings["%s element installed"] = "%s elemento installato"; -$a->strings["%s element installation failed"] = "Elementi con installazione fallita: %s"; -$a->strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s"; -$a->strings["Profile Match"] = "Profili corrispondenti"; -$a->strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."; -$a->strings["is interested in:"] = "interessi personali:"; -$a->strings["No matches"] = "Nessun risultato"; -$a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."; -$a->strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito."; -$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."; -$a->strings["Image upload failed."] = "Il caricamento dell'immagine è fallito."; -$a->strings["Unable to process image."] = "Impossibile elaborare l'immagine."; -$a->strings["female"] = "femmina"; -$a->strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s"; -$a->strings["male"] = "maschio"; -$a->strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s"; -$a->strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s"; -$a->strings["profile photo"] = "foto del profilo"; -$a->strings["Photo not available."] = "Foto non disponibile."; -$a->strings["Upload File:"] = "Carica un file:"; -$a->strings["Select a profile:"] = "Seleziona un profilo:"; -$a->strings["Upload Profile Photo"] = "Carica la foto del profilo"; -$a->strings["or"] = "o"; -$a->strings["skip this step"] = "salta questo passaggio"; -$a->strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album"; -$a->strings["Crop Image"] = "Ritaglia immagine"; -$a->strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione."; -$a->strings["Done Editing"] = "Modifica terminata"; -$a->strings["Channel added."] = "Canale aggiunto."; -$a->strings["Tag removed"] = "Tag rimosso"; -$a->strings["Remove Item Tag"] = "Rimuovi il tag"; -$a->strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: "; -$a->strings["No ratings"] = "Nessuna valutazione"; -$a->strings["Ratings"] = "Valutazioni"; -$a->strings["Rating: "] = "Valutazione:"; -$a->strings["Website: "] = "Sito web:"; -$a->strings["Description: "] = "Descrizione:"; -$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale."; -$a->strings["Empty post discarded."] = "Il post vuoto è stato ignorato."; -$a->strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale."; -$a->strings["Duplicate post suppressed."] = "I post duplicati sono scartati."; -$a->strings["System error. Post not saved."] = "Errore di sistema. Post non salvato."; -$a->strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database."; -$a->strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."; -$a->strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web."; -$a->strings["Page Title"] = "Titolo della pagina"; -$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"; -$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."; -$a->strings["Passwords do not match."] = "Le password non corrispondono."; -$a->strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."; -$a->strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub."; -$a->strings["Your registration can not be processed."] = "La tua registrazione non puo' essere processata."; -$a->strings["Registration on this site/hub is by approval only."] = "La registrazione su questo hub è soggetta ad approvazione."; -$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrati su un altro hub affiliato</a>"; -$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."; -$a->strings["Terms of Service"] = "Condizioni d'Uso"; -$a->strings["I accept the %s for this website"] = "Accetto le %s di questo sito"; -$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito"; -$a->strings["Membership on this site is by invitation only."] = "Per registrarsi su questo hub è necessario un invito."; -$a->strings["Please enter your invitation code"] = "Inserisci il codice dell'invito"; -$a->strings["Your email address"] = "Il tuo indirizzo email"; -$a->strings["Choose a password"] = "Scegli una password"; -$a->strings["Please re-enter your password"] = "Ripeti la password per verifica"; -$a->strings["Block Name"] = "Nome del block"; -$a->strings["Block Title"] = "Titolo del block"; -$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password."; -$a->strings["Remove This Account"] = "Elimina questo account"; -$a->strings["This account and all its channels will be completely removed from the network. "] = "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete."; -$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati."; -$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete."; -$a->strings["Remove Account"] = "Elimina l'account"; -$a->strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account."; -$a->strings["Item not available."] = "Elemento non disponibile."; -$a->strings["Public Sites"] = "Siti pubblici"; -$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."; -$a->strings["Rate this hub"] = "Valuta questo hub"; -$a->strings["Site URL"] = "URL del sito"; -$a->strings["Access Type"] = "Tipo di accesso"; -$a->strings["Registration Policy"] = "Politica di registrazione"; -$a->strings["Location"] = "Posizione geografica"; -$a->strings["Project"] = "Progetto"; -$a->strings["View hub ratings"] = "Vedi le valutazioni del hub"; -$a->strings["Rate"] = "Valuta"; -$a->strings["View ratings"] = "Vedi le valutazioni"; -$a->strings["Failed to create source. No channel selected."] = "Impossibile creare la sorgente. Nessun canale selezionato."; -$a->strings["Source created."] = "Sorgente creata."; -$a->strings["Source updated."] = "Sorgente aggiornata."; -$a->strings["*"] = "*"; -$a->strings["Manage remote sources of content for your channel."] = "Gestisci le sorgenti dei contenuti del tuo canale."; -$a->strings["New Source"] = "Nuova sorgente"; -$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."; -$a->strings["Only import content with these words (one per line)"] = "Importa solo i contenuti che hanno queste parole (una per riga)"; -$a->strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici"; -$a->strings["Source not found."] = "Sorgente non trovata."; -$a->strings["Edit Source"] = "Modifica la sorgente"; -$a->strings["Delete Source"] = "Elimina la sorgente"; -$a->strings["Source removed"] = "Sorgente eliminata"; -$a->strings["Unable to remove source."] = "Impossibile rimuovere la sorgente."; -$a->strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili."; -$a->strings["Visible to:"] = "Visibile a:"; -$a->strings["network"] = "rete"; -$a->strings["RSS"] = "RSS"; -$a->strings["Please login."] = "Effettua l'accesso."; -$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente."; -$a->strings["The error message was:"] = "Messaggio di errore ricevuto:"; -$a->strings["Authentication failed."] = "Autenticazione fallita."; -$a->strings["Remote Authentication"] = "Accedi tramite il tuo hub"; -$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"; -$a->strings["Authenticate"] = "Accedi"; -$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo."; -$a->strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali."; -$a->strings["Nothing to import."] = "Non c'è niente da importare."; -$a->strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio hub"; -$a->strings["Imported file is empty."] = "Il file da importare è vuoto."; -$a->strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti."; -$a->strings["No channel. Import failed."] = "Nessun canale. Import fallito."; -$a->strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso."; -$a->strings["Import Channel"] = "Importa un canale"; -$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza."; -$a->strings["File to Upload"] = "File da caricare"; -$a->strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio hub"; -$a->strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"; -$a->strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio hub"; -$a->strings["Your old login password"] = "La password per il vecchio hub"; -$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc."; -$a->strings["Make this hub my primary location"] = "Rendi questo hub il mio indirizzo primario"; -$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)"; -$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."; -$a->strings["Invalid message"] = "Messaggio non valido"; -$a->strings["no results"] = "nessun risultato"; -$a->strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s"; -$a->strings["channel sync processed"] = "sincronizzazione del canale effettuata"; -$a->strings["queued"] = "in coda"; -$a->strings["posted"] = "inviato"; -$a->strings["accepted for delivery"] = "accettato per la spedizione"; -$a->strings["updated"] = "aggiornato"; -$a->strings["update ignored"] = "aggiornamento ignorato"; -$a->strings["permission denied"] = "permessi non sufficienti"; -$a->strings["recipient not found"] = "Destinatario non trovato"; -$a->strings["mail recalled"] = "messaggio richiamato dal mittente"; -$a->strings["duplicate mail received"] = "ricevuto messaggio duplicato"; -$a->strings["mail delivered"] = "messaggio recapitato"; -$a->strings["Thing updated"] = "L'oggetto è stato aggiornato"; -$a->strings["Object store: failed"] = "Impossibile memorizzare l'oggetto."; -$a->strings["Thing added"] = "L'Oggetto è stato aggiunto"; -$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; -$a->strings["Show Thing"] = "Mostra l'oggetto"; -$a->strings["item not found."] = "non trovato."; -$a->strings["Edit Thing"] = "Modifica l'oggetto"; -$a->strings["Select a profile"] = "Scegli un profilo"; -$a->strings["Post an activity"] = "Pubblica un'attività"; -$a->strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi può vedere il profilo scelto"; -$a->strings["Name of thing e.g. something"] = "Nome dell'oggetto"; -$a->strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto (facoltativo)"; -$a->strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)"; -$a->strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo"; -$a->strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti."; -$a->strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido."; -$a->strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname"; -$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."; -$a->strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita."; -$a->strings["%d message sent."] = array( - 0 => "%d messaggio inviato.", - 1 => "%d messaggi inviati.", -); -$a->strings["You have no more invitations available"] = "Non hai altri inviti disponibili"; -$a->strings["Send invitations"] = "Spedisci inviti"; -$a->strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:"; -$a->strings["Your message:"] = "Il tuo messaggio:"; -$a->strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname."; -$a->strings["You will need to supply this invitation code: "] = "Dovrai fornire questo codice di invito:"; -$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)"; -$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito."; -$a->strings["or visit "] = "oppure visita "; -$a->strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]"; -$a->strings["Unable to lookup recipient."] = "Impossibile associare un destinatario."; -$a->strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto."; -$a->strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto."; -$a->strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."; -$a->strings["Messages"] = "Messaggi"; -$a->strings["Message recalled."] = "Messaggio revocato."; -$a->strings["Conversation removed."] = "Conversazione rimossa."; -$a->strings["Requested channel is not in this network"] = "Il canale cercato non è in questa rete"; -$a->strings["Send Private Message"] = "Invia un messaggio privato"; -$a->strings["To:"] = "A:"; -$a->strings["Subject:"] = "Oggetto:"; -$a->strings["Send"] = "Invia"; -$a->strings["Delete message"] = "Elimina il messaggio"; -$a->strings["Delivery report"] = "Rapporto di trasmissione"; -$a->strings["Recall message"] = "Revoca il messaggio"; -$a->strings["Message has been recalled."] = "Il messaggio è stato revocato."; -$a->strings["Delete Conversation"] = "Elimina la conversazione"; -$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."; -$a->strings["Send Reply"] = "Invia la risposta"; -$a->strings["Your message for %s (%s):"] = "Il tuo messaggio per %s (%s):"; -$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"; -$a->strings["Source of Item"] = "Sorgente"; +$a->strings["Delete layout?"] = "Vuoi eliminare questo layout?"; +$a->strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)"; +$a->strings["Layout Name"] = "Nome layout"; +$a->strings["Edit Layout"] = "Modifica il layout"; $a->strings["Name is required"] = "Il nome è obbligatorio"; $a->strings["Key and Secret are required"] = "Key e Secret sono richiesti"; $a->strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata."; @@ -1860,6 +1867,7 @@ $a->strings["0 or blank prevents expiration"] = "Lascia vuoto oppure 0 per non i $a->strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:"; $a->strings["May reduce spam activity"] = "Serve a ridurre lo spam"; $a->strings["Default Post Permissions"] = "Permessi predefiniti per i post"; +$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)"; $a->strings["Channel permissions category:"] = "Categorie di permessi dei canali:"; $a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"; $a->strings["Useful to reduce spamming"] = "Serve e ridurre lo spam"; @@ -1904,21 +1912,118 @@ $a->strings["Default file upload folder"] = "Cartella predefinita per i file car $a->strings["Personal menu to display in your channel pages"] = "Menu personale da mostrare sulle pagine del tuo canale"; $a->strings["Remove this channel."] = "Elimina questo canale."; $a->strings["Firefox Share \$Projectname provider"] = "Attiva Firefox Share per \$Projectname"; +$a->strings["Start calendar week on monday"] = "La settimana inizia di lunedì"; +$a->strings["Page Title"] = "Titolo della pagina"; +$a->strings["App installed."] = "App installata"; +$a->strings["Malformed app."] = "L'app contiene errori"; +$a->strings["Embed code"] = "Inserisci il codice"; +$a->strings["Edit App"] = "Modifica app"; +$a->strings["Create App"] = "Crea una app"; +$a->strings["Name of app"] = "Nome app"; +$a->strings["Location (URL) of app"] = "Indirizzo (URL) della app"; +$a->strings["Photo icon URL"] = "URL icona"; +$a->strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa"; +$a->strings["Version ID"] = "ID versione"; +$a->strings["Price of app"] = "Prezzo app"; +$a->strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app"; +$a->strings["- select -"] = "- scegli -"; +$a->strings["Comanche page description language help"] = "Guida di Comanche Page Description Language"; +$a->strings["Layout Description"] = "Descrizione del layout"; +$a->strings["Download PDL file"] = "Scarica il file PDL"; +$a->strings["Location not found."] = "Indirizzo non trovato."; +$a->strings["Location lookup failed."] = "La ricerca dell'indirizzo è fallita."; +$a->strings["Please select another location to become primary before removing the primary location."] = "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria."; +$a->strings["Syncing locations"] = "Sincronizzazione tra hub"; +$a->strings["No locations found."] = "Nessun indirizzo trovato."; +$a->strings["Manage Channel Locations"] = "Modifica gli indirizzi del canale"; +$a->strings["Location (address)"] = "Indirizzo"; +$a->strings["Primary Location"] = "Indirizzo primario"; +$a->strings["Drop location"] = "Elimina un indirizzo"; +$a->strings["Sync now"] = "Sincronizza ora"; +$a->strings["Please wait several minutes between consecutive operations."] = "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione."; +$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli."; +$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante."; +$a->strings["Unable to lookup recipient."] = "Impossibile associare un destinatario."; +$a->strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto."; +$a->strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto."; +$a->strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."; +$a->strings["Messages"] = "Messaggi"; +$a->strings["Message recalled."] = "Messaggio revocato."; +$a->strings["Conversation removed."] = "Conversazione rimossa."; +$a->strings["Requested channel is not in this network"] = "Il canale cercato non è in questa rete"; +$a->strings["Send Private Message"] = "Invia un messaggio privato"; +$a->strings["To:"] = "A:"; +$a->strings["Subject:"] = "Oggetto:"; +$a->strings["Your message:"] = "Il tuo messaggio:"; +$a->strings["Send"] = "Invia"; +$a->strings["Delete message"] = "Elimina il messaggio"; +$a->strings["Delivery report"] = "Rapporto di trasmissione"; +$a->strings["Recall message"] = "Revoca il messaggio"; +$a->strings["Message has been recalled."] = "Il messaggio è stato revocato."; +$a->strings["Delete Conversation"] = "Elimina la conversazione"; +$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."; +$a->strings["Send Reply"] = "Invia la risposta"; +$a->strings["Your message for %s (%s):"] = "Il tuo messaggio per %s (%s):"; +$a->strings["Please login."] = "Effettua l'accesso."; $a->strings["Xchan Lookup"] = "Ricerca canale"; $a->strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:"; -$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi."; -$a->strings["Create a new channel"] = "Crea un nuovo canale"; -$a->strings["Current Channel"] = "Canale attuale"; -$a->strings["Switch to one of your channels by selecting it."] = "Seleziona l'altro canale a cui vuoi passare."; -$a->strings["Default Channel"] = "Canale predefinito"; -$a->strings["Make Default"] = "Rendi predefinito"; -$a->strings["%d new messages"] = "%d nuovi messaggi"; -$a->strings["%d new introductions"] = "%d nuove richieste di entrare in contatto"; -$a->strings["Delegated Channels"] = "Canali delegati"; -$a->strings["Authorize application connection"] = "Autorizza la app"; -$a->strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:"; -$a->strings["Please login to continue."] = "Accedi al sito per continuare."; -$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"; +$a->strings["Not found."] = "Non trovato."; +$a->strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina."; +$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo."; +$a->strings["Item not available."] = "Elemento non disponibile."; +$a->strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti."; +$a->strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido."; +$a->strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname"; +$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."; +$a->strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita."; +$a->strings["%d message sent."] = array( + 0 => "%d messaggio inviato.", + 1 => "%d messaggi inviati.", +); +$a->strings["You have no more invitations available"] = "Non hai altri inviti disponibili"; +$a->strings["Send invitations"] = "Spedisci inviti"; +$a->strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:"; +$a->strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname."; +$a->strings["You will need to supply this invitation code: "] = "Dovrai fornire questo codice di invito:"; +$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)"; +$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito."; +$a->strings["or visit "] = "oppure visita "; +$a->strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]"; +$a->strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili."; +$a->strings["Visible to:"] = "Visibile a:"; +$a->strings["Export Channel"] = "Esporta il canale"; +$a->strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato."; +$a->strings["Export Content"] = "Esporta i contenuti"; +$a->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."] = "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento."; +$a->strings["Export your posts from a given year."] = "Esporta i tuoi post a partire dall'anno scelto."; +$a->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."] = "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date."; +$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1\$s\">%2\$s</a> "; +$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1\$s\">%2\$s</a>"; +$a->strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1\$s\">%2\$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)"; +$a->strings["Item is not editable"] = "L'elemento non è modificabile"; +$a->strings["Delete item?"] = "Eliminare questo elemento?"; +$a->strings["Edit post"] = "Modifica post"; +$a->strings["Channel added."] = "Canale aggiunto."; +$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente."; +$a->strings["The error message was:"] = "Messaggio di errore ricevuto:"; +$a->strings["Authentication failed."] = "Autenticazione fallita."; +$a->strings["Remote Authentication"] = "Accedi tramite il tuo hub"; +$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"; +$a->strings["Authenticate"] = "Accedi"; +$a->strings["Room not found"] = "Chat non trovata"; +$a->strings["Leave Room"] = "Lascia la chat"; +$a->strings["Delete This Room"] = "Elimina questa chat"; +$a->strings["I am away right now"] = "Non sono presente"; +$a->strings["I am online"] = "Sono online"; +$a->strings["Bookmark this room"] = "Aggiungi questa chat ai segnalibri"; +$a->strings["New Chatroom"] = "Nuova chat"; +$a->strings["Chatroom Name"] = "Nome della chat"; +$a->strings["Expiration of chats (minutes)"] = "Scadenza dei messaggi della chat (minuti)"; +$a->strings["%1\$s's Chatrooms"] = "Le chat di %1\$s"; +$a->strings["Source of Item"] = "Sorgente"; +$a->strings["Share content from Firefox to \$Projectname"] = "Condividi i contenuti su \$Projectname da Firefox"; +$a->strings["Activate the Firefox \$Projectname provider"] = "Attiva Firefox Share per \$Projectname"; +$a->strings["Hub not found."] = "Hub non trovato."; $a->strings["Blocked"] = "Bloccati"; $a->strings["Ignored"] = "Ignorati"; $a->strings["Hidden"] = "Nascosti"; @@ -1938,138 +2043,44 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]"; $a->strings["Edit connection"] = "Modifica il contatto"; $a->strings["Search your connections"] = "Cerca tra i contatti"; $a->strings["Finding: "] = "Ricerca: "; -$a->strings["Delete layout?"] = "Vuoi eliminare questo layout?"; -$a->strings["Edit Layout"] = "Modifica il layout"; -$a->strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?"; -$a->strings["Page link title"] = "Link del titolo"; -$a->strings["Edit Webpage"] = "Modifica la pagina web"; -$a->strings["Collection created."] = "L'insieme di canali è stato creato."; -$a->strings["Could not create collection."] = "Impossibile creare l'insieme."; -$a->strings["Collection updated."] = "Insieme aggiornato."; -$a->strings["Create a collection of channels."] = "Crea un insieme di canali."; -$a->strings["Collection Name: "] = "Nome dell'insieme:"; -$a->strings["Members are visible to other channels"] = "I membri potranno vedere gli altri canali dell'insieme"; -$a->strings["Collection removed."] = "Insieme rimosso."; -$a->strings["Unable to remove collection."] = "Impossibile rimuovere l'insieme."; -$a->strings["Collection Editor"] = "Modifica l'insieme"; -$a->strings["Members"] = "Membri"; -$a->strings["All Connected Channels"] = "Tutti i canali connessi"; -$a->strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo."; -$a->strings["Continue"] = "Continua"; -$a->strings["Premium Channel Setup"] = "Canale premium - configurazione"; -$a->strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium"; -$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."; -$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"; -$a->strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:"; -$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."; -$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)"; -$a->strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni"; -$a->strings["No connections."] = "Nessun contatto."; -$a->strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]"; -$a->strings["Location not found."] = "Indirizzo non trovato."; -$a->strings["Location lookup failed."] = "La ricerca dell'indirizzo è fallita."; -$a->strings["Please select another location to become primary before removing the primary location."] = "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria."; -$a->strings["Syncing locations"] = "Sincronizzazione tra hub"; -$a->strings["No locations found."] = "Nessun indirizzo trovato."; -$a->strings["Manage Channel Locations"] = "Modifica gli indirizzi del canale"; -$a->strings["Location (address)"] = "Indirizzo"; -$a->strings["Primary Location"] = "Indirizzo primario"; -$a->strings["Drop location"] = "Elimina un indirizzo"; -$a->strings["Sync now"] = "Sincronizza ora"; -$a->strings["Please wait several minutes between consecutive operations."] = "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione."; -$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli."; -$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante."; +$a->strings["Documentation Search"] = "Ricerca nella guida"; +$a->strings["Help:"] = "Guida:"; +$a->strings["Not Found"] = "Non disponibile"; +$a->strings["\$Projectname Documentation"] = "Guida di \$Projectname"; +$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi."; +$a->strings["Create a new channel"] = "Crea un nuovo canale"; +$a->strings["Current Channel"] = "Canale attuale"; +$a->strings["Switch to one of your channels by selecting it."] = "Seleziona l'altro canale a cui vuoi passare."; +$a->strings["Default Channel"] = "Canale predefinito"; +$a->strings["Make Default"] = "Rendi predefinito"; +$a->strings["%d new messages"] = "%d nuovi messaggi"; +$a->strings["%d new introductions"] = "%d nuove richieste di entrare in contatto"; +$a->strings["Delegated Channels"] = "Canali delegati"; +$a->strings["Unable to update menu."] = "Impossibile aggiornare il menù."; +$a->strings["Unable to create menu."] = "Impossibile creare il menù."; +$a->strings["Menu Name"] = "Nome del menu"; +$a->strings["Unique name (not visible on webpage) - required"] = "Nome unico (non visibile sulla pagina) - obbligatorio"; +$a->strings["Menu Title"] = "Titolo del menu"; +$a->strings["Visible on webpage - leave empty for no title"] = "Visibile sulla pagina - lascia vuoto per non avere un titolo"; +$a->strings["Allow Bookmarks"] = "Permetti i segnalibri"; +$a->strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù"; +$a->strings["Submit and proceed"] = "Salva e procedi"; +$a->strings["Drop"] = "Elimina"; +$a->strings["Bookmarks allowed"] = "Permetti segnalibri"; +$a->strings["Delete this menu"] = "Elimina questo menù"; +$a->strings["Edit menu contents"] = "Modifica i contenuti del menù"; +$a->strings["Edit this menu"] = "Modifica questo menù"; +$a->strings["Menu could not be deleted."] = "Il menù non può essere eliminato."; +$a->strings["Menu not found."] = "Menù non trovato."; +$a->strings["Edit Menu"] = "Modifica menù"; +$a->strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù"; +$a->strings["Menu name"] = "Nome del menù"; +$a->strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu"; +$a->strings["Menu title"] = "Titolo del menù"; +$a->strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti"; +$a->strings["Allow bookmarks"] = "Permetti l'invio di segnalibri"; $a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."; -$a->strings["Share content from Firefox to \$Projectname"] = "Condividi i contenuti su \$Projectname da Firefox"; -$a->strings["Activate the Firefox \$Projectname provider"] = "Attiva Firefox Share per \$Projectname"; -$a->strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione"; -$a->strings["Could not connect to database."] = " Impossibile connettersi al database."; -$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."; -$a->strings["Could not create table."] = "Impossibile creare le tabelle."; -$a->strings["Your site database has been installed."] = "Il database del sito è stato installato."; -$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."; -$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'."; -$a->strings["System check"] = "Verifica del sistema"; -$a->strings["Check again"] = "Verifica di nuovo"; -$a->strings["Database connection"] = "Connessione al database"; -$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database."; -$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."; -$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare."; -$a->strings["Database Server Name"] = "Server del database"; -$a->strings["Default is 127.0.0.1"] = "Il valore predefinito è 127.0.0.1"; -$a->strings["Database Port"] = "Port del database"; -$a->strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard"; -$a->strings["Database Login Name"] = "Utente database"; -$a->strings["Database Login Password"] = "Password database"; -$a->strings["Database Name"] = "Nome database"; -$a->strings["Database Type"] = "Tipo database"; -$a->strings["Site administrator email address"] = "Indirizzo email dell'amministratore del hub"; -$a->strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla."; -$a->strings["Website URL"] = "URL completo del sito"; -$a->strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https)."; -$a->strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo hub"; -$a->strings["Site settings"] = "Impostazioni del hub"; -$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"; -$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."; -$a->strings["PHP executable path"] = "Path del comando PHP"; -$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."; -$a->strings["Command line PHP"] = "PHP da riga di comando"; -$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."; -$a->strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi."; -$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; -$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."; -$a->strings["You can adjust these settings in the servers php.ini."] = "Puoi regolare queste impostazioni sul server in php.ini"; -$a->strings["PHP upload limits"] = "Limiti PHP in upload"; -$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura"; -$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."; -$a->strings["Generate encryption keys"] = "Genera chiavi di cifratura"; -$a->strings["libCurl PHP module"] = "modulo PHP libCurl"; -$a->strings["GD graphics PHP module"] = "modulo PHP GD graphics"; -$a->strings["OpenSSL PHP module"] = "modulo PHP OpenSSL"; -$a->strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres"; -$a->strings["mb_string PHP module"] = "modulo PHP mb_string"; -$a->strings["mcrypt PHP module"] = "modulo PHP mcrypt"; -$a->strings["xml PHP module"] = "modulo xml PHP"; -$a->strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite"; -$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"; -$a->strings["proc_open"] = "proc_open"; -$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"; -$a->strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato."; -$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."; -$a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato."; -$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"; -$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato."; -$a->strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato."; -$a->strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."; -$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."; -$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."; -$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."; -$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."; -$a->strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile"; -$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."; -$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla."; -$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."; -$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."; -$a->strings["%s is writable"] = "%s è scrivibile"; -$a->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"] = "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix"; -$a->strings["store is writable"] = "l'archivio è scrivibile"; -$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."; -$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!"; -$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."; -$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."; -$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."; -$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."; -$a->strings["SSL certificate validation"] = "Validazione del certificato SSL"; -$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"; -$a->strings["Url rewrite is working"] = "Url rewrite funziona correttamente"; -$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."; -$a->strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori."; -$a->strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>"; -$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."; -$a->strings["Files: shared with me"] = "File: condivisi con me"; -$a->strings["NEW"] = "NOVITÀ"; -$a->strings["Remove all files"] = "Elimina tutti i file"; -$a->strings["Remove this file"] = "Elimina questo file"; +$a->strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account."; $a->strings["Version %s"] = "Versione %s"; $a->strings["Installed plugins/addons/apps:"] = "App e componenti installati:"; $a->strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato"; @@ -2084,80 +2095,69 @@ $a->strings["\$projectname issues"] = "Problematiche note su \$projectname"; $a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"; $a->strings["Site Administrators"] = "Amministratori del sito"; $a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."; -$a->strings["Profile not found."] = "Profilo non trovato."; -$a->strings["Profile deleted."] = "Profilo eliminato."; -$a->strings["Profile-"] = "Profilo-"; -$a->strings["New profile created."] = "Il nuovo profilo è stato creato."; -$a->strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo."; -$a->strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export."; -$a->strings["Profile Name is required."] = "Il nome del profilo è obbligatorio."; -$a->strings["Marital Status"] = "Stato sentimentale"; -$a->strings["Romantic Partner"] = "Partner affettivo"; -$a->strings["Likes"] = "Mi piace"; -$a->strings["Dislikes"] = "Non mi piace"; -$a->strings["Work/Employment"] = "Lavoro/impiego"; -$a->strings["Religion"] = "Religione"; -$a->strings["Political Views"] = "Orientamento politico"; -$a->strings["Sexual Preference"] = "Preferenze sessuali"; -$a->strings["Homepage"] = "Home page"; -$a->strings["Interests"] = "Interessi"; -$a->strings["Profile updated."] = "Profilo aggiornato."; -$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?"; -$a->strings["Edit Profile Details"] = "Modifica i dettagli del profilo"; -$a->strings["View this profile"] = "Guarda questo profilo"; -$a->strings["Change Profile Photo"] = "Cambia la foto del profilo"; -$a->strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni"; -$a->strings["Clone this profile"] = "Clona questo profilo"; -$a->strings["Delete this profile"] = "Elimina questo profilo"; -$a->strings["Import profile from file"] = "Importa il profilo da un file"; -$a->strings["Export profile to file"] = "Esporta il profilo in un file"; -$a->strings["Profile Name:"] = "Nome del profilo:"; -$a->strings["Your Full Name:"] = "Il tuo nome completo:"; -$a->strings["Title/Description:"] = "Titolo/descrizione:"; -$a->strings["Your Gender:"] = "Sesso:"; -$a->strings["Birthday :"] = "Compleanno:"; -$a->strings["Street Address:"] = "Indirizzo (via/piazza):"; -$a->strings["Locality/City:"] = "Località:"; -$a->strings["Postal/Zip Code:"] = "CAP:"; -$a->strings["Country:"] = "Nazione:"; -$a->strings["Region/State:"] = "Regione/stato:"; -$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Stato sentimentale:"; -$a->strings["Who: (if applicable)"] = "Con chi: (se possibile)"; -$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com"; -$a->strings["Since [date]:"] = "dal [data]:"; -$a->strings["Homepage URL:"] = "Indirizzo home page:"; -$a->strings["Religious Views:"] = "Orientamento religioso:"; -$a->strings["Keywords:"] = "Parole chiave, tag:"; -$a->strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione"; -$a->strings["Used in directory listings"] = "Visibile negli elenchi pubblici di canali"; -$a->strings["Tell us about yourself..."] = "Raccontaci di te..."; -$a->strings["Hobbies/Interests"] = "Hobby/interessi"; -$a->strings["Contact information and Social Networks"] = "Contatti personali e i tuoi social network"; -$a->strings["My other channels"] = "I miei altri canali"; -$a->strings["Musical interests"] = "Interessi musicali"; -$a->strings["Books, literature"] = "Libri, letteratura"; -$a->strings["Television"] = "Televisione"; -$a->strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento"; -$a->strings["Love/romance"] = "Amore"; -$a->strings["Work/employment"] = "Lavoro/impiego"; -$a->strings["School/education"] = "Scuola/educazione"; -$a->strings["This is your default profile."] = "Questo è il tuo profilo predefinito."; -$a->strings["Age: "] = "Età:"; -$a->strings["Edit/Manage Profiles"] = "Modifica/gestisci i profili"; -$a->strings["Add profile things"] = "Aggiungi oggetti al profilo"; -$a->strings["Include desirable objects in your profile"] = "Aggiungi oggetti interessanti al tuo profilo"; +$a->strings["Calendar entries imported."] = "Le voci del calendario sono state importate."; +$a->strings["No calendar entries found."] = "Non sono state trovate voci del calendario."; +$a->strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio."; +$a->strings["Unable to generate preview."] = "Impossibile creare un'anteprima."; +$a->strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento."; +$a->strings["Event not found."] = "Evento non trovato."; +$a->strings["Event Title"] = "Titolo dell'evento"; +$a->strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)"; +$a->strings["Category"] = "Categoria"; +$a->strings["Start date and time"] = "Data e ora di inizio"; +$a->strings["Finish date and time are not known or not relevant"] = "La data e l'ora di inizio non sono necessarie"; +$a->strings["Finish date and time"] = "Data e ora di fine"; +$a->strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge"; +$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono online ma con un certo fuso orario."; +$a->strings["Share this event"] = "Condividi questo evento"; +$a->strings["Advanced Options"] = "Opzioni avanzate"; +$a->strings["l, F j"] = "l j F"; +$a->strings["Edit event"] = "Modifica l'evento"; +$a->strings["Delete event"] = "Elimina l'evento"; +$a->strings["calendar"] = "calendario"; +$a->strings["New Event"] = "Nuovo evento"; +$a->strings["Today"] = "Oggi"; +$a->strings["Event removed"] = "Evento eliminato"; +$a->strings["Failed to remove event"] = "Impossibile eliminare l'evento"; $a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido."; $a->strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo"; $a->strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo."; $a->strings["Visible To"] = "Visibile a"; -$a->strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri"; -$a->strings["Save Bookmark"] = "Salva segnalibro"; -$a->strings["URL of bookmark"] = "URL del segnalibro"; -$a->strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri"; -$a->strings["Import completed"] = "Importazione completata"; -$a->strings["Import Items"] = "Importa i contenuti"; -$a->strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."; +$a->strings["Unable to create element."] = "Impossibile creare l'elemento."; +$a->strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù."; +$a->strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù."; +$a->strings["Menu Item Permissions"] = "Permessi del menu"; +$a->strings["Link Name"] = "Nome link"; +$a->strings["Link or Submenu Target"] = "Azione del link o del sottomenu"; +$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"; +$a->strings["Use magic-auth if available"] = "Usa l'autenticazione tramite il tuo hub, se disponibile"; +$a->strings["Open link in new window"] = "Apri il link in una nuova finestra"; +$a->strings["Order in list"] = "Ordine dell'elenco"; +$a->strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco"; +$a->strings["Submit and finish"] = "Salva e termina"; +$a->strings["Submit and continue"] = "Salva e continua"; +$a->strings["Menu:"] = "Menu:"; +$a->strings["Link Target"] = "Destinazione link"; +$a->strings["Edit menu"] = "Modifica il menù"; +$a->strings["Edit element"] = "Modifica l'elemento"; +$a->strings["Drop element"] = "Elimina l'elemento"; +$a->strings["New element"] = "Nuovo elemento"; +$a->strings["Edit this menu container"] = "Modifica il contenitore del menù"; +$a->strings["Add menu element"] = "Aggiungi un elemento al menù"; +$a->strings["Delete this menu item"] = "Elimina questo elemento del menù"; +$a->strings["Edit this menu item"] = "Modifica questo elemento del menù"; +$a->strings["Menu item not found."] = "L'elemento del menù non è stato trovato."; +$a->strings["Menu item deleted."] = "L'elemento del menù è stato eliminato."; +$a->strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato."; +$a->strings["Edit Menu Element"] = "Modifica l'elemento del menù"; +$a->strings["Link text"] = "Testo del link"; $a->strings["Who likes me?"] = "Chi mi ha dato un \"Mi piace\"?"; +$a->strings["Files: shared with me"] = "File: condivisi con me"; +$a->strings["NEW"] = "NOVITÀ"; +$a->strings["Remove all files"] = "Elimina tutti i file"; +$a->strings["Remove this file"] = "Elimina questo file"; +$a->strings["No connections."] = "Nessun contatto."; +$a->strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]"; $a->strings["Focus (Hubzilla default)"] = "Focus (predefinito)"; $a->strings["Theme settings"] = "Impostazioni del tema"; $a->strings["Select scheme"] = "Scegli uno schema"; diff --git a/view/js/acl.js b/view/js/acl.js index ed8af478a..6d94b4987 100644 --- a/view/js/acl.js +++ b/view/js/acl.js @@ -39,18 +39,18 @@ function ACL(backend_url, preset) { // no longer called only on submit - call to update whenever a change occurs to the acl list. ACL.prototype.on_submit = function() { - aclfileds = $("#acl-fields").html(""); + aclfields = $("#acl-fields").html(""); $(that.allow_gid).each(function(i,v) { - aclfileds.append("<input type='hidden' name='group_allow[]' value='"+v+"'>"); + aclfields.append("<input type='hidden' name='group_allow[]' value='"+v+"'>"); }); $(that.allow_cid).each(function(i,v) { - aclfileds.append("<input type='hidden' name='contact_allow[]' value='"+v+"'>"); + aclfields.append("<input type='hidden' name='contact_allow[]' value='"+v+"'>"); }); $(that.deny_gid).each(function(i,v) { - aclfileds.append("<input type='hidden' name='group_deny[]' value='"+v+"'>"); + aclfields.append("<input type='hidden' name='group_deny[]' value='"+v+"'>"); }); $(that.deny_cid).each(function(i,v) { - aclfileds.append("<input type='hidden' name='contact_deny[]' value='"+v+"'>"); + aclfields.append("<input type='hidden' name='contact_deny[]' value='"+v+"'>"); }); //areYouSure jquery plugin: recheck the form here diff --git a/view/js/main.js b/view/js/main.js index ca7d50b90..d670b704a 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -758,9 +758,9 @@ function pageUpdate() { }); } -function justifyPhotos() { +function justifyPhotos(id) { justifiedGalleryActive = true; - $('#photo-album-contents').justifiedGallery({ + $('#' + id).justifiedGallery({ selector: '> a, > div:not(.spinner, #page-end)', margins: 3, border: 0, @@ -775,9 +775,9 @@ function justifyPhotos() { }).on('jg.complete', function(e){ justifiedGalleryActive = false; }); } -function justifyPhotosAjax() { +function justifyPhotosAjax(id) { justifiedGalleryActive = true; - $('#photo-album-contents').justifiedGallery('norewind').on('jg.complete', function(e){ justifiedGalleryActive = false; }); + $('#' + id).justifiedGallery('norewind').on('jg.complete', function(e){ justifiedGalleryActive = false; }); } function notify_popup_loader(notifyType) { diff --git a/view/js/mod_mitem.js b/view/js/mod_mitem.js deleted file mode 100644 index e883763df..000000000 --- a/view/js/mod_mitem.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * JavaScript used by mod/mitem. - */ -$(document).ready(function() { - $("a#settings-default-perms-menu").colorbox({ - 'inline' : true, - 'transition' : 'elastic' - }); - - $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { - var selstr; - $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { - selstr = $(this).text(); - $('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock'); - $('#jot-public').hide(); - }); - if(selstr === null) { - $('#jot-perms-icon').removeClass('icon-lock').addClass('icon-unlock'); - $('#jot-public').show(); - } - }).trigger('change'); -});
\ No newline at end of file diff --git a/view/nb-no/hmessages.po b/view/nb-no/hmessages.po index c71820ed7..7f8fc02e0 100644 --- a/view/nb-no/hmessages.po +++ b/view/nb-no/hmessages.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Redmatrix\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-26 22:48-0700\n" -"PO-Revision-Date: 2015-09-30 20:54+0000\n" +"POT-Creation-Date: 2015-11-27 00:03-0800\n" +"PO-Revision-Date: 2015-12-02 19:20+0000\n" "Last-Translator: Haakon Meland Eriksen <haakon.eriksen@far.no>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/Friendica/red-matrix/language/nb_NO/)\n" "MIME-Version: 1.0\n" @@ -18,24 +18,114 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../include/Import/import_diaspora.php:17 -msgid "No username found in import file." -msgstr "Ingen brukernavn ble funnet i importfilen." +#: ../../include/Contact.php:101 ../../include/identity.php:953 +#: ../../include/widgets.php:137 ../../include/widgets.php:175 +#: ../../include/conversation.php:953 ../../mod/match.php:64 +#: ../../mod/directory.php:318 ../../mod/suggest.php:52 +msgid "Connect" +msgstr "Koble" + +#: ../../include/Contact.php:118 +msgid "New window" +msgstr "Nytt vindu" + +#: ../../include/Contact.php:119 +msgid "Open the selected location in a different window or browser tab" +msgstr "Åpne det valgte stedet i et annet vindu eller nettleser-fane" + +#: ../../include/Contact.php:237 +#, php-format +msgid "User '%s' deleted" +msgstr "Brukeren '%s' er slettet" + +#: ../../include/chat.php:23 +msgid "Missing room name" +msgstr "Mangler romnavn" + +#: ../../include/chat.php:32 +msgid "Duplicate room name" +msgstr "Duplikat romnavn" + +#: ../../include/chat.php:82 ../../include/chat.php:90 +msgid "Invalid room specifier." +msgstr "Ugyldig rom-spesifisering" + +#: ../../include/chat.php:122 +msgid "Room not found." +msgstr "Rommet ble ikke funnet." + +#: ../../include/chat.php:133 ../../include/items.php:4396 +#: ../../include/attach.php:140 ../../include/attach.php:188 +#: ../../include/attach.php:251 ../../include/attach.php:265 +#: ../../include/attach.php:272 ../../include/attach.php:337 +#: ../../include/attach.php:351 ../../include/attach.php:358 +#: ../../include/attach.php:436 ../../include/attach.php:884 +#: ../../include/attach.php:955 ../../include/attach.php:1107 +#: ../../include/photos.php:29 ../../mod/filestorage.php:18 +#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88 +#: ../../mod/filestorage.php:115 ../../mod/group.php:9 ../../mod/item.php:205 +#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/common.php:35 +#: ../../mod/achievements.php:30 ../../mod/rate.php:111 +#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/id.php:71 +#: ../../mod/like.php:177 ../../mod/page.php:31 ../../mod/page.php:86 +#: ../../mod/mood.php:112 ../../mod/new_channel.php:68 +#: ../../mod/new_channel.php:99 ../../mod/setup.php:227 +#: ../../mod/bookmarks.php:48 ../../mod/poke.php:133 +#: ../../mod/profiles.php:198 ../../mod/profiles.php:584 +#: ../../mod/connedit.php:352 ../../mod/editwebpage.php:64 +#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101 +#: ../../mod/editwebpage.php:125 ../../mod/profile.php:64 +#: ../../mod/profile.php:72 ../../mod/api.php:26 ../../mod/api.php:31 +#: ../../mod/fsuggest.php:78 ../../mod/sources.php:66 +#: ../../mod/notifications.php:66 ../../mod/photos.php:70 +#: ../../mod/profile_photo.php:341 ../../mod/profile_photo.php:354 +#: ../../mod/thing.php:271 ../../mod/thing.php:291 ../../mod/thing.php:328 +#: ../../mod/editblock.php:65 ../../mod/network.php:12 +#: ../../mod/pdledit.php:21 ../../mod/register.php:72 +#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 +#: ../../mod/settings.php:568 ../../mod/webpages.php:69 +#: ../../mod/appman.php:66 ../../mod/layouts.php:69 ../../mod/layouts.php:76 +#: ../../mod/layouts.php:87 ../../mod/locs.php:83 ../../mod/mail.php:118 +#: ../../mod/regmod.php:17 ../../mod/channel.php:100 ../../mod/channel.php:214 +#: ../../mod/channel.php:254 ../../mod/invite.php:13 ../../mod/invite.php:104 +#: ../../mod/editpost.php:13 ../../mod/chat.php:94 ../../mod/chat.php:99 +#: ../../mod/viewsrc.php:14 ../../mod/authtest.php:13 +#: ../../mod/connections.php:29 ../../mod/manage.php:6 ../../mod/menu.php:74 +#: ../../mod/service_limits.php:7 ../../mod/suggest.php:26 +#: ../../mod/events.php:260 ../../mod/message.php:16 ../../mod/block.php:22 +#: ../../mod/block.php:72 ../../mod/mitem.php:111 ../../mod/sharedwithme.php:7 +#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27 +#: ../../index.php:182 ../../index.php:365 +msgid "Permission denied." +msgstr "Tillatelse avslått." + +#: ../../include/chat.php:143 +msgid "Room is full" +msgstr "Rommet er fullt" + +#: ../../include/import.php:23 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes." -#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44 +#: ../../include/import.php:44 ../../include/Import/import_diaspora.php:42 msgid "Unable to create a unique channel address. Import failed." msgstr "Klarte ikke å lage en unik kanaladresse. Import mislyktes." -#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:480 -msgid "Import completed." -msgstr "Import ferdig." +#: ../../include/import.php:70 +msgid "Channel clone failed. Import failed." +msgstr "Kanalkloning mislyktes. Import mislyktes." + +#: ../../include/import.php:80 ../../mod/import.php:139 +msgid "Cloned channel not found. Import failed." +msgstr "Klonet kanal ble ikke funnet. Import mislyktes." #: ../../include/RedDAV/RedBrowser.php:107 -#: ../../include/RedDAV/RedBrowser.php:265 +#: ../../include/RedDAV/RedBrowser.php:239 msgid "parent" msgstr "opp et nivå" -#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2497 +#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2582 msgid "Collection" msgstr "Samling" @@ -59,89 +149,97 @@ msgstr "Tidsplan innboks" msgid "Schedule Outbox" msgstr "Tidsplan utboks" -#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1021 -#: ../../include/apps.php:355 ../../include/apps.php:410 -#: ../../mod/photos.php:720 ../../mod/photos.php:1159 +#: ../../include/RedDAV/RedBrowser.php:164 ../../include/widgets.php:1317 +#: ../../include/conversation.php:1027 ../../include/apps.php:360 +#: ../../include/apps.php:415 ../../mod/photos.php:759 +#: ../../mod/photos.php:1198 msgid "Unknown" msgstr "Ukjent" -#: ../../include/RedDAV/RedBrowser.php:227 -#, php-format -msgid "%1$s used" -msgstr "%1$s brukt" - -#: ../../include/RedDAV/RedBrowser.php:232 -#, php-format -msgid "%1$s used of %2$s (%3$s%)" -msgstr "%1$s brukt av %2$s (%3$s%)" - -#: ../../include/RedDAV/RedBrowser.php:251 ../../include/conversation.php:1611 -#: ../../include/apps.php:135 ../../include/nav.php:93 +#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1629 +#: ../../include/nav.php:93 ../../include/apps.php:135 #: ../../mod/fbrowser.php:114 msgid "Files" msgstr "Filer" -#: ../../include/RedDAV/RedBrowser.php:253 +#: ../../include/RedDAV/RedBrowser.php:227 msgid "Total" msgstr "Totalt" -#: ../../include/RedDAV/RedBrowser.php:255 +#: ../../include/RedDAV/RedBrowser.php:229 msgid "Shared" msgstr "Delt" -#: ../../include/RedDAV/RedBrowser.php:256 -#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/layouts.php:175 -#: ../../mod/menu.php:114 ../../mod/new_channel.php:121 -#: ../../mod/webpages.php:180 ../../mod/blocks.php:152 +#: ../../include/RedDAV/RedBrowser.php:230 +#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152 +#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180 +#: ../../mod/layouts.php:175 ../../mod/menu.php:114 msgid "Create" msgstr "Lag" -#: ../../include/RedDAV/RedBrowser.php:257 -#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:745 -#: ../../mod/photos.php:1278 ../../mod/profile_photo.php:450 +#: ../../include/RedDAV/RedBrowser.php:231 +#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329 +#: ../../mod/photos.php:784 ../../mod/photos.php:1317 +#: ../../mod/profile_photo.php:453 msgid "Upload" msgstr "Last opp" -#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:948 -#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974 +#: ../../mod/settings.php:588 ../../mod/settings.php:614 #: ../../mod/sharedwithme.php:95 msgid "Name" msgstr "Navn" -#: ../../include/RedDAV/RedBrowser.php:262 +#: ../../include/RedDAV/RedBrowser.php:236 msgid "Type" msgstr "Type" -#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97 +#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1248 +#: ../../mod/sharedwithme.php:97 msgid "Size" msgstr "Størrelse" -#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98 +#: ../../include/RedDAV/RedBrowser.php:238 ../../mod/sharedwithme.php:98 msgid "Last Modified" msgstr "Sist endret" -#: ../../include/RedDAV/RedBrowser.php:266 ../../include/menu.php:108 +#: ../../include/RedDAV/RedBrowser.php:240 ../../include/menu.php:108 #: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36 -#: ../../include/apps.php:254 ../../include/ItemObject.php:100 -#: ../../mod/layouts.php:183 ../../mod/editpost.php:113 -#: ../../mod/editblock.php:135 ../../mod/menu.php:108 -#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257 -#: ../../mod/settings.php:645 ../../mod/connections.php:235 +#: ../../include/ItemObject.php:100 ../../include/apps.php:259 +#: ../../mod/blocks.php:153 ../../mod/editwebpage.php:176 +#: ../../mod/thing.php:257 ../../mod/editblock.php:135 +#: ../../mod/editlayout.php:134 ../../mod/settings.php:648 +#: ../../mod/webpages.php:181 ../../mod/layouts.php:183 +#: ../../mod/editpost.php:112 ../../mod/connections.php:235 #: ../../mod/connections.php:248 ../../mod/connections.php:267 -#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176 +#: ../../mod/menu.php:108 msgid "Edit" msgstr "Endre" -#: ../../include/RedDAV/RedBrowser.php:267 ../../include/conversation.php:662 -#: ../../include/apps.php:255 ../../include/ItemObject.php:120 -#: ../../mod/connedit.php:547 ../../mod/editblock.php:181 -#: ../../mod/admin.php:783 ../../mod/admin.php:942 ../../mod/photos.php:1090 -#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258 -#: ../../mod/settings.php:646 ../../mod/editlayout.php:179 -#: ../../mod/editwebpage.php:223 ../../mod/group.php:173 +#: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657 +#: ../../include/ItemObject.php:120 ../../include/apps.php:260 +#: ../../mod/group.php:173 ../../mod/blocks.php:155 ../../mod/connedit.php:551 +#: ../../mod/editwebpage.php:223 ../../mod/photos.php:1129 +#: ../../mod/thing.php:258 ../../mod/editblock.php:181 ../../mod/admin.php:809 +#: ../../mod/admin.php:968 ../../mod/editlayout.php:179 +#: ../../mod/settings.php:649 ../../mod/webpages.php:183 msgid "Delete" msgstr "Slett" +#: ../../include/RedDAV/RedBrowser.php:282 +#, php-format +msgid "You are using %1$s of your available file storage." +msgstr "Du bruker %1$s av din tilgjengelige lagringsplass." + +#: ../../include/RedDAV/RedBrowser.php:287 +#, php-format +msgid "You are using %1$s of %2$s available file storage. (%3$s%)" +msgstr "Du bruker %1$s av %2$s tilgjengelig lagringsplass (%3$s%)" + +#: ../../include/RedDAV/RedBrowser.php:299 +msgid "WARNING:" +msgstr "ADVARSEL:" + #: ../../include/RedDAV/RedBrowser.php:302 msgid "Create new folder" msgstr "Lag ny mappe" @@ -150,292 +248,1319 @@ msgstr "Lag ny mappe" msgid "Upload file" msgstr "Last opp fil" -#: ../../include/permissions.php:26 -msgid "Can view my normal stream and posts" -msgstr "Kan se min normale strøm og innlegg" +#: ../../include/js_strings.php:5 +msgid "Delete this item?" +msgstr "Slett dette elementet?" -#: ../../include/permissions.php:27 -msgid "Can view my default channel profile" -msgstr "Kan se min standard kanalprofil" +#: ../../include/js_strings.php:6 ../../include/ItemObject.php:696 +#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 +msgid "Comment" +msgstr "Kommentar" -#: ../../include/permissions.php:28 -msgid "Can view my connections" -msgstr "Kan se mine forbindelser" +#: ../../include/js_strings.php:7 ../../include/ItemObject.php:413 +msgid "[+] show all" +msgstr "[+] Vis alle" -#: ../../include/permissions.php:29 -msgid "Can view my file storage and photos" -msgstr "Kan se mine filer og bilder" +#: ../../include/js_strings.php:8 +msgid "[-] show less" +msgstr "[-] Vis mindre" -#: ../../include/permissions.php:30 -msgid "Can view my webpages" -msgstr "Kan se mine websider" +#: ../../include/js_strings.php:9 +msgid "[+] expand" +msgstr "[+] Utvid" -#: ../../include/permissions.php:33 -msgid "Can send me their channel stream and posts" -msgstr "Kan sende meg deres kanalstrøm og innlegg" +#: ../../include/js_strings.php:10 +msgid "[-] collapse" +msgstr "[-] Lukk" -#: ../../include/permissions.php:34 -msgid "Can post on my channel page (\"wall\")" -msgstr "Kan lage innlegg på min kanalside (\"vegg\")" +#: ../../include/js_strings.php:11 +msgid "Password too short" +msgstr "Passordet er for kort" -#: ../../include/permissions.php:35 -msgid "Can comment on or like my posts" -msgstr "Kan kommentere på eller like mine innlegg" +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" +msgstr "Passordene er ikke like" -#: ../../include/permissions.php:36 -msgid "Can send me private mail messages" -msgstr "Kan sende meg private meldinger" +#: ../../include/js_strings.php:13 ../../mod/photos.php:41 +msgid "everybody" +msgstr "alle" -#: ../../include/permissions.php:37 -msgid "Can like/dislike stuff" -msgstr "Kan like/ikke like forskjellige greier" +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" +msgstr "Hemmelig passordsetning" -#: ../../include/permissions.php:37 -msgid "Profiles and things other than posts/comments" -msgstr "Profiler og andre ting enn innlegg/kommentarer" +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" +msgstr "Hint om passordsetning" -#: ../../include/permissions.php:39 -msgid "Can forward to all my channel contacts via post @mentions" -msgstr "Kan videresende til alle mine kanalkontakter via @navn i innlegg" +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." +msgstr "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn." -#: ../../include/permissions.php:39 -msgid "Advanced - useful for creating group forum channels" -msgstr "Avansert - nyttig for å lage forumkanaler for grupper" +#: ../../include/js_strings.php:17 +msgid "close all" +msgstr "Lukk alle" -#: ../../include/permissions.php:40 -msgid "Can chat with me (when available)" -msgstr "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)" +#: ../../include/js_strings.php:18 +msgid "Nothing new here" +msgstr "Ikke noe nytt her" -#: ../../include/permissions.php:41 -msgid "Can write to my file storage and photos" -msgstr "Kan skrive til mitt lager for filer og bilder" +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" +msgstr "Vurder denne kanalen (dette er offentlig)" -#: ../../include/permissions.php:42 -msgid "Can edit my webpages" -msgstr "Kan endre mine websider" +#: ../../include/js_strings.php:20 ../../mod/rate.php:157 +#: ../../mod/connedit.php:694 +msgid "Rating" +msgstr "Vurdering" -#: ../../include/permissions.php:44 -msgid "Can source my public posts in derived channels" -msgstr "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler" +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" +msgstr "Beskriv (valgfritt)" -#: ../../include/permissions.php:44 -msgid "Somewhat advanced - very useful in open communities" -msgstr "Litt avansert - svært nyttig i åpne fellesskap" +#: ../../include/js_strings.php:22 ../../include/widgets.php:676 +#: ../../include/ItemObject.php:697 ../../mod/filestorage.php:156 +#: ../../mod/group.php:81 ../../mod/connect.php:93 ../../mod/rate.php:168 +#: ../../mod/mood.php:135 ../../mod/setup.php:331 ../../mod/setup.php:371 +#: ../../mod/pconfig.php:108 ../../mod/poke.php:171 ../../mod/profiles.php:675 +#: ../../mod/connedit.php:715 ../../mod/fsuggest.php:108 +#: ../../mod/sources.php:104 ../../mod/sources.php:138 +#: ../../mod/import.php:527 ../../mod/photos.php:637 ../../mod/photos.php:1008 +#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/thing.php:313 +#: ../../mod/thing.php:359 ../../mod/import_items.php:122 +#: ../../mod/pdledit.php:58 ../../mod/admin.php:435 ../../mod/admin.php:802 +#: ../../mod/admin.php:966 ../../mod/admin.php:1103 ../../mod/admin.php:1297 +#: ../../mod/admin.php:1382 ../../mod/settings.php:586 +#: ../../mod/settings.php:698 ../../mod/settings.php:726 +#: ../../mod/settings.php:749 ../../mod/settings.php:834 +#: ../../mod/settings.php:1023 ../../mod/appman.php:99 ../../mod/locs.php:116 +#: ../../mod/mail.php:371 ../../mod/xchan.php:11 ../../mod/invite.php:142 +#: ../../mod/chat.php:184 ../../mod/chat.php:213 ../../mod/events.php:476 +#: ../../mod/events.php:673 ../../mod/mitem.php:231 +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Submit" +msgstr "Send" -#: ../../include/permissions.php:46 -msgid "Can administer my channel resources" -msgstr "Kan administrere mine kanalressurser" +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" +msgstr "Vennligst skriv inn en lenke URL:" -#: ../../include/permissions.php:46 -msgid "" -"Extremely advanced. Leave this alone unless you know what you are doing" -msgstr "Ekstremt avansert. La dette være med mindre du vet hva du gjør" +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" +msgstr "Endringene er ikke lagret. Er du sikker på at du ønsker å forlate denne siden?" -#: ../../include/permissions.php:867 -msgid "Social Networking" -msgstr "Sosialt nettverk" +#: ../../include/js_strings.php:25 ../../mod/pubsites.php:28 +#: ../../mod/profiles.php:464 ../../mod/events.php:467 +msgid "Location" +msgstr "Plassering" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Mostly Public" -msgstr "Ganske offentlig" +#: ../../include/js_strings.php:27 +msgid "timeago.prefixAgo" +msgstr "timeago.prefixAgo" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Restricted" -msgstr "Begrenset" +#: ../../include/js_strings.php:28 +msgid "timeago.prefixFromNow" +msgstr "timeago.prefixFromNow" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -msgid "Private" -msgstr "Privat" +#: ../../include/js_strings.php:29 +msgid "ago" +msgstr "siden" -#: ../../include/permissions.php:868 -msgid "Community Forum" -msgstr "Forum for fellesskap" +#: ../../include/js_strings.php:30 +msgid "from now" +msgstr "fra nå" -#: ../../include/permissions.php:869 -msgid "Feed Republish" -msgstr "Republisering av strømmet innhold" +#: ../../include/js_strings.php:31 +msgid "less than a minute" +msgstr "mindre enn ett minutt" -#: ../../include/permissions.php:870 -msgid "Special Purpose" -msgstr "Spesiell bruk" +#: ../../include/js_strings.php:32 +msgid "about a minute" +msgstr "omtrent et minutt" -#: ../../include/permissions.php:870 -msgid "Celebrity/Soapbox" -msgstr "Kjendis/Talerstol" +#: ../../include/js_strings.php:33 +#, php-format +msgid "%d minutes" +msgstr "%d minutter" -#: ../../include/permissions.php:870 -msgid "Group Repository" -msgstr "Gruppelager" +#: ../../include/js_strings.php:34 +msgid "about an hour" +msgstr "omtrent en time" -#: ../../include/permissions.php:871 ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 -#: ../../include/profile_selectors.php:61 -#: ../../include/profile_selectors.php:97 -msgid "Other" -msgstr "Annen" +#: ../../include/js_strings.php:35 +#, php-format +msgid "about %d hours" +msgstr "omtrent %d timer" -#: ../../include/permissions.php:871 -msgid "Custom/Expert Mode" -msgstr "Tilpasset/Ekspertmodus" +#: ../../include/js_strings.php:36 +msgid "a day" +msgstr "en dag" -#: ../../include/chat.php:23 -msgid "Missing room name" -msgstr "Mangler romnavn" +#: ../../include/js_strings.php:37 +#, php-format +msgid "%d days" +msgstr "%d dager" -#: ../../include/chat.php:32 -msgid "Duplicate room name" -msgstr "Duplikat romnavn" +#: ../../include/js_strings.php:38 +msgid "about a month" +msgstr "omtrent en måned" -#: ../../include/chat.php:82 ../../include/chat.php:90 -msgid "Invalid room specifier." -msgstr "Ugyldig rom-spesifisering" +#: ../../include/js_strings.php:39 +#, php-format +msgid "%d months" +msgstr "%d måneder" -#: ../../include/chat.php:122 -msgid "Room not found." -msgstr "Rommet ble ikke funnet." +#: ../../include/js_strings.php:40 +msgid "about a year" +msgstr "omtrent et år" -#: ../../include/chat.php:133 ../../include/photos.php:26 -#: ../../include/attach.php:137 ../../include/attach.php:185 -#: ../../include/attach.php:248 ../../include/attach.php:262 -#: ../../include/attach.php:269 ../../include/attach.php:334 -#: ../../include/attach.php:348 ../../include/attach.php:355 -#: ../../include/attach.php:433 ../../include/attach.php:840 -#: ../../include/attach.php:911 ../../include/attach.php:1064 -#: ../../include/items.php:4342 ../../mod/achievements.php:30 -#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13 -#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72 -#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35 -#: ../../mod/mitem.php:111 ../../mod/connedit.php:348 ../../mod/mood.php:112 -#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73 -#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115 -#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87 -#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:91 -#: ../../mod/chat.php:96 ../../mod/message.php:16 ../../mod/channel.php:100 -#: ../../mod/channel.php:215 ../../mod/channel.php:255 -#: ../../mod/editpost.php:13 ../../mod/editblock.php:65 ../../mod/item.php:206 -#: ../../mod/item.php:214 ../../mod/item.php:992 ../../mod/appman.php:66 -#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/menu.php:74 -#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/new_channel.php:68 -#: ../../mod/new_channel.php:99 ../../mod/notifications.php:66 -#: ../../mod/pdledit.php:21 ../../mod/photos.php:70 ../../mod/rate.php:110 -#: ../../mod/events.php:256 ../../mod/profile_photo.php:338 -#: ../../mod/profile_photo.php:351 ../../mod/mail.php:114 -#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69 -#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7 -#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/thing.php:271 -#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13 -#: ../../mod/invite.php:104 ../../mod/viewsrc.php:14 -#: ../../mod/settings.php:565 ../../mod/manage.php:6 ../../mod/api.php:26 -#: ../../mod/api.php:31 ../../mod/connections.php:29 -#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 -#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86 -#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125 -#: ../../mod/group.php:9 ../../mod/viewconnections.php:22 -#: ../../mod/viewconnections.php:27 ../../mod/locs.php:82 -#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7 -#: ../../mod/suggest.php:26 ../../mod/profiles.php:188 -#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361 -msgid "Permission denied." -msgstr "Tillatelse avslått." +#: ../../include/js_strings.php:41 +#, php-format +msgid "%d years" +msgstr "%d år" -#: ../../include/chat.php:143 -msgid "Room is full" -msgstr "Rommet er fullt" +#: ../../include/js_strings.php:42 +msgid " " +msgstr " " -#: ../../include/datetime.php:48 -msgid "Miscellaneous" -msgstr "Forskjellig" +#: ../../include/js_strings.php:43 +msgid "timeago.numbers" +msgstr "timeago.numbers" -#: ../../include/datetime.php:132 -msgid "YYYY-MM-DD or MM-DD" -msgstr "YYYY-MM-DD eller MM-DD" +#: ../../include/js_strings.php:45 ../../include/text.php:1165 +msgid "January" +msgstr "januar" -#: ../../include/datetime.php:235 ../../mod/appman.php:91 -#: ../../mod/appman.php:92 ../../mod/events.php:689 -msgid "Required" -msgstr "Påkrevd" +#: ../../include/js_strings.php:46 ../../include/text.php:1165 +msgid "February" +msgstr "februar" -#: ../../include/datetime.php:262 ../../boot.php:2306 -msgid "never" -msgstr "aldri" +#: ../../include/js_strings.php:47 ../../include/text.php:1165 +msgid "March" +msgstr "mars" -#: ../../include/datetime.php:268 -msgid "less than a second ago" -msgstr "for mindre enn ett sekund siden" +#: ../../include/js_strings.php:48 ../../include/text.php:1165 +msgid "April" +msgstr "april" -#: ../../include/datetime.php:271 -msgid "year" -msgstr "år" +#: ../../include/js_strings.php:49 +msgctxt "long" +msgid "May" +msgstr "mai" -#: ../../include/datetime.php:271 -msgid "years" -msgstr "år" +#: ../../include/js_strings.php:50 ../../include/text.php:1165 +msgid "June" +msgstr "juni" -#: ../../include/datetime.php:272 +#: ../../include/js_strings.php:51 ../../include/text.php:1165 +msgid "July" +msgstr "juli" + +#: ../../include/js_strings.php:52 ../../include/text.php:1165 +msgid "August" +msgstr "august" + +#: ../../include/js_strings.php:53 ../../include/text.php:1165 +msgid "September" +msgstr "september" + +#: ../../include/js_strings.php:54 ../../include/text.php:1165 +msgid "October" +msgstr "oktober" + +#: ../../include/js_strings.php:55 ../../include/text.php:1165 +msgid "November" +msgstr "november" + +#: ../../include/js_strings.php:56 ../../include/text.php:1165 +msgid "December" +msgstr "desember" + +#: ../../include/js_strings.php:57 +msgid "Jan" +msgstr "Jan" + +#: ../../include/js_strings.php:58 +msgid "Feb" +msgstr "Feb" + +#: ../../include/js_strings.php:59 +msgid "Mar" +msgstr "Mar" + +#: ../../include/js_strings.php:60 +msgid "Apr" +msgstr "Apr" + +#: ../../include/js_strings.php:61 +msgctxt "short" +msgid "May" +msgstr "mai" + +#: ../../include/js_strings.php:62 +msgid "Jun" +msgstr "Jun" + +#: ../../include/js_strings.php:63 +msgid "Jul" +msgstr "Jul" + +#: ../../include/js_strings.php:64 +msgid "Aug" +msgstr "Aug" + +#: ../../include/js_strings.php:65 +msgid "Sep" +msgstr "Sep" + +#: ../../include/js_strings.php:66 +msgid "Oct" +msgstr "Okt" + +#: ../../include/js_strings.php:67 +msgid "Nov" +msgstr "Nov" + +#: ../../include/js_strings.php:68 +msgid "Dec" +msgstr "Des" + +#: ../../include/js_strings.php:69 ../../include/text.php:1161 +msgid "Sunday" +msgstr "søndag" + +#: ../../include/js_strings.php:70 ../../include/text.php:1161 +msgid "Monday" +msgstr "mandag" + +#: ../../include/js_strings.php:71 ../../include/text.php:1161 +msgid "Tuesday" +msgstr "tirsdag" + +#: ../../include/js_strings.php:72 ../../include/text.php:1161 +msgid "Wednesday" +msgstr "onsdag" + +#: ../../include/js_strings.php:73 ../../include/text.php:1161 +msgid "Thursday" +msgstr "torsdag" + +#: ../../include/js_strings.php:74 ../../include/text.php:1161 +msgid "Friday" +msgstr "fredag" + +#: ../../include/js_strings.php:75 ../../include/text.php:1161 +msgid "Saturday" +msgstr "lørdag" + +#: ../../include/js_strings.php:76 +msgid "Sun" +msgstr "Søn" + +#: ../../include/js_strings.php:77 +msgid "Mon" +msgstr "Man" + +#: ../../include/js_strings.php:78 +msgid "Tue" +msgstr "Tirs" + +#: ../../include/js_strings.php:79 +msgid "Wed" +msgstr "Ons" + +#: ../../include/js_strings.php:80 +msgid "Thu" +msgstr "Tors" + +#: ../../include/js_strings.php:81 +msgid "Fri" +msgstr "Fre" + +#: ../../include/js_strings.php:82 +msgid "Sat" +msgstr "Lør" + +#: ../../include/js_strings.php:83 +msgctxt "calendar" +msgid "today" +msgstr "idag" + +#: ../../include/js_strings.php:84 +msgctxt "calendar" msgid "month" msgstr "måned" -#: ../../include/datetime.php:272 -msgid "months" -msgstr "måneder" - -#: ../../include/datetime.php:273 +#: ../../include/js_strings.php:85 +msgctxt "calendar" msgid "week" msgstr "uke" -#: ../../include/datetime.php:273 -msgid "weeks" -msgstr "uker" - -#: ../../include/datetime.php:274 +#: ../../include/js_strings.php:86 +msgctxt "calendar" msgid "day" msgstr "dag" -#: ../../include/datetime.php:274 -msgid "days" -msgstr "dager" +#: ../../include/js_strings.php:87 +msgctxt "calendar" +msgid "All day" +msgstr "Hele dagen" -#: ../../include/datetime.php:275 -msgid "hour" -msgstr "time" +#: ../../include/Import/import_diaspora.php:17 +msgid "No username found in import file." +msgstr "Ingen brukernavn ble funnet i importfilen." -#: ../../include/datetime.php:275 -msgid "hours" -msgstr "timer" +#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 +msgid "Import completed." +msgstr "Import ferdig." -#: ../../include/datetime.php:276 -msgid "minute" -msgstr "minutt" +#: ../../include/comanche.php:34 ../../mod/admin.php:351 +msgid "Default" +msgstr "Standard" -#: ../../include/datetime.php:276 -msgid "minutes" -msgstr "minutter" +#: ../../include/items.php:423 ../../mod/group.php:68 ../../mod/like.php:280 +#: ../../mod/dreport.php:6 ../../mod/dreport.php:45 ../../mod/subthread.php:58 +#: ../../mod/import_items.php:114 ../../mod/profperm.php:23 +#: ../../index.php:364 +msgid "Permission denied" +msgstr "Tillatelse avvist" -#: ../../include/datetime.php:277 -msgid "second" -msgstr "sekund" +#: ../../include/items.php:1128 ../../include/items.php:1174 +msgid "(Unknown)" +msgstr "(Ukjent)" -#: ../../include/datetime.php:277 -msgid "seconds" -msgstr "sekunder" +#: ../../include/items.php:1371 +msgid "Visible to anybody on the internet." +msgstr "Synlig for enhver på Internett." + +#: ../../include/items.php:1373 +msgid "Visible to you only." +msgstr "Synlig bare for deg." -#: ../../include/datetime.php:285 +#: ../../include/items.php:1375 +msgid "Visible to anybody in this network." +msgstr "Synlig for enhver i dette nettverket." + +#: ../../include/items.php:1377 +msgid "Visible to anybody authenticated." +msgstr "Synlig for enhver som er autentisert." + +#: ../../include/items.php:1379 #, php-format -msgctxt "e.g. 22 hours ago, 1 minute ago" -msgid "%1$d %2$s ago" -msgstr "%1$d %2$s siden" +msgid "Visible to anybody on %s." +msgstr "Synlig for alle på %s." + +#: ../../include/items.php:1381 +msgid "Visible to all connections." +msgstr "Synlig for alle forbindelser." + +#: ../../include/items.php:1383 +msgid "Visible to approved connections." +msgstr "Synlig for godkjente forbindelser." + +#: ../../include/items.php:1385 +msgid "Visible to specific connections." +msgstr "Synlig for spesifikke forbindelser." + +#: ../../include/items.php:4317 ../../mod/filestorage.php:27 +#: ../../mod/thing.php:86 ../../mod/admin.php:127 ../../mod/admin.php:1005 +#: ../../mod/admin.php:1210 ../../mod/display.php:36 ../../mod/viewsrc.php:20 +msgid "Item not found." +msgstr "Elementet ble ikke funnet." + +#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137 +msgid "Collection not found." +msgstr "Samlingen ble ikke funnet." + +#: ../../include/items.php:4842 +msgid "Collection is empty." +msgstr "Samlingen er tom." -#: ../../include/datetime.php:519 +#: ../../include/items.php:4849 #, php-format -msgid "%1$s's birthday" -msgstr "%1$s sin fødselsdag" +msgid "Collection: %s" +msgstr "Samling: %s" -#: ../../include/datetime.php:520 +#: ../../include/items.php:4859 ../../mod/connedit.php:683 #, php-format -msgid "Happy Birthday %1$s" -msgstr "Gratulerer med dagen, %1$s !" +msgid "Connection: %s" +msgstr "Forbindelse: %s" + +#: ../../include/items.php:4861 +msgid "Connection not found." +msgstr "Forbindelsen ble ikke funnet." + +#: ../../include/message.php:18 +msgid "No recipient provided." +msgstr "Ingen mottaker angitt." + +#: ../../include/message.php:23 +msgid "[no subject]" +msgstr "[ikke noe emne]" + +#: ../../include/message.php:43 +msgid "Unable to determine sender." +msgstr "Kan ikke avgjøre avsender." + +#: ../../include/message.php:218 +msgid "Stored post could not be verified." +msgstr "Lagret innlegg kunne ikke bekreftes." + +#: ../../include/network.php:630 +msgid "view full size" +msgstr "vis full størrelse" + +#: ../../include/network.php:1608 ../../include/enotify.php:57 +msgid "$Projectname Notification" +msgstr "$Projectname varsling" + +#: ../../include/network.php:1609 ../../include/enotify.php:58 +msgid "$projectname" +msgstr "$projectname" + +#: ../../include/network.php:1611 ../../include/enotify.php:60 +msgid "Thank You," +msgstr "Tusen takk," + +#: ../../include/network.php:1613 ../../include/enotify.php:62 +#, php-format +msgid "%s Administrator" +msgstr "%s administrator" + +#: ../../include/network.php:1655 ../../include/account.php:316 +#: ../../include/account.php:343 ../../include/account.php:403 +msgid "Administrator" +msgstr "Administrator" + +#: ../../include/network.php:1669 +msgid "No Subject" +msgstr "Uten emne" + +#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 +#: ../../include/text.php:1392 +msgid "l F d, Y \\@ g:i A" +msgstr "l F d, Y \\@ g:i A" + +#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 +#: ../../include/text.php:1396 +msgid "Starts:" +msgstr "Starter:" + +#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 +#: ../../include/text.php:1400 +msgid "Finishes:" +msgstr "Slutter:" + +#: ../../include/event.php:52 ../../include/identity.php:1004 +#: ../../include/bb2diaspora.php:493 ../../include/text.php:1407 +#: ../../mod/directory.php:304 +msgid "Location:" +msgstr "Plassering:" + +#: ../../include/event.php:768 +msgid "This event has been added to your calendar." +msgstr "Denne hendelsen er lagt til i din kalender." + +#: ../../include/event.php:904 ../../include/conversation.php:123 +#: ../../include/text.php:1919 ../../mod/tagger.php:47 ../../mod/like.php:363 +#: ../../mod/events.php:249 +msgid "event" +msgstr "hendelse" + +#: ../../include/event.php:967 +msgid "Not specified" +msgstr "Ikke spesifisert" + +#: ../../include/event.php:968 +msgid "Needs Action" +msgstr "Trenger handling" + +#: ../../include/event.php:969 +msgid "Completed" +msgstr "Ferdig" + +#: ../../include/event.php:970 +msgid "In Process" +msgstr "Igang" + +#: ../../include/event.php:971 +msgid "Cancelled" +msgstr "Avbrutt" + +#: ../../include/identity.php:32 +msgid "Unable to obtain identity information from database" +msgstr "Klarer ikke å få tak i identitetsinformasjon fra databasen" + +#: ../../include/identity.php:66 +msgid "Empty name" +msgstr "Mangler navn" + +#: ../../include/identity.php:69 +msgid "Name too long" +msgstr "Navnet er for langt" + +#: ../../include/identity.php:181 +msgid "No account identifier" +msgstr "Ingen kontoidentifikator" + +#: ../../include/identity.php:193 +msgid "Nickname is required." +msgstr "Kallenavn er påkrevd." + +#: ../../include/identity.php:207 +msgid "Reserved nickname. Please choose another." +msgstr "Reservert kallenavn. Vennligst velg et annet." + +#: ../../include/identity.php:212 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet." + +#: ../../include/identity.php:288 +msgid "Unable to retrieve created identity" +msgstr "Klarer ikke å hente den lagede identiteten" + +#: ../../include/identity.php:346 +msgid "Default Profile" +msgstr "Standardprofil" + +#: ../../include/identity.php:390 ../../include/identity.php:391 +#: ../../include/identity.php:398 ../../include/widgets.php:430 +#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:573 +#: ../../mod/settings.php:338 ../../mod/settings.php:342 +#: ../../mod/settings.php:343 ../../mod/settings.php:346 +#: ../../mod/settings.php:357 +msgid "Friends" +msgstr "Venner" + +#: ../../include/identity.php:770 +msgid "Requested channel is not available." +msgstr "Forespurt kanal er ikke tilgjengelig." + +#: ../../include/identity.php:816 ../../mod/filestorage.php:54 +#: ../../mod/connect.php:13 ../../mod/achievements.php:11 +#: ../../mod/blocks.php:29 ../../mod/hcard.php:8 ../../mod/editwebpage.php:28 +#: ../../mod/profile.php:16 ../../mod/editblock.php:29 +#: ../../mod/editlayout.php:27 ../../mod/webpages.php:29 +#: ../../mod/layouts.php:29 +msgid "Requested profile is not available." +msgstr "Forespurt profil er ikke tilgjengelig." + +#: ../../include/identity.php:966 ../../mod/profiles.php:782 +msgid "Change profile photo" +msgstr "Endre profilbilde" + +#: ../../include/identity.php:972 +msgid "Profiles" +msgstr "Profiler" + +#: ../../include/identity.php:972 +msgid "Manage/edit profiles" +msgstr "Håndtere/endre profiler" + +#: ../../include/identity.php:973 ../../mod/profiles.php:783 +msgid "Create New Profile" +msgstr "Lag ny profil" + +#: ../../include/identity.php:976 ../../include/nav.php:90 +msgid "Edit Profile" +msgstr "Endre profil" + +#: ../../include/identity.php:988 ../../mod/profiles.php:794 +msgid "Profile Image" +msgstr "Profilbilde" + +#: ../../include/identity.php:991 +msgid "visible to everybody" +msgstr "synlig for alle" + +#: ../../include/identity.php:992 ../../mod/profiles.php:677 +#: ../../mod/profiles.php:798 +msgid "Edit visibility" +msgstr "Endre synlighet" + +#: ../../include/identity.php:1008 ../../include/identity.php:1248 +msgid "Gender:" +msgstr "Kjønn:" + +#: ../../include/identity.php:1009 ../../include/identity.php:1292 +msgid "Status:" +msgstr "Status:" + +#: ../../include/identity.php:1010 ../../include/identity.php:1303 +msgid "Homepage:" +msgstr "Hjemmeside:" + +#: ../../include/identity.php:1011 +msgid "Online Now" +msgstr "Online nå" + +#: ../../include/identity.php:1095 ../../include/identity.php:1173 +#: ../../mod/ping.php:318 +msgid "g A l F d" +msgstr "g A l F d" + +#: ../../include/identity.php:1096 ../../include/identity.php:1174 +msgid "F d" +msgstr "F d" + +#: ../../include/identity.php:1141 ../../include/identity.php:1213 +#: ../../mod/ping.php:341 +msgid "[today]" +msgstr "[idag]" + +#: ../../include/identity.php:1152 +msgid "Birthday Reminders" +msgstr "Fødselsdagspåminnnelser" + +#: ../../include/identity.php:1153 +msgid "Birthdays this week:" +msgstr "Fødselsdager denne uken:" + +#: ../../include/identity.php:1206 +msgid "[No description]" +msgstr "[Ingen beskrivelse]" + +#: ../../include/identity.php:1224 +msgid "Event Reminders" +msgstr "Hendelsespåminnelser" + +#: ../../include/identity.php:1225 +msgid "Events this week:" +msgstr "Hendelser denne uken:" + +#: ../../include/identity.php:1238 ../../include/identity.php:1355 +#: ../../include/apps.php:138 ../../mod/profperm.php:112 +msgid "Profile" +msgstr "Profil" + +#: ../../include/identity.php:1246 ../../mod/settings.php:1029 +msgid "Full Name:" +msgstr "Fullt navn:" + +#: ../../include/identity.php:1253 +msgid "Like this channel" +msgstr "Lik denne kanalen" + +#: ../../include/identity.php:1264 ../../include/taxonomy.php:414 +#: ../../include/conversation.php:1721 ../../include/ItemObject.php:179 +#: ../../mod/photos.php:1086 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "Liker" +msgstr[1] "Liker" + +#: ../../include/identity.php:1277 +msgid "j F, Y" +msgstr "j F, Y" + +#: ../../include/identity.php:1278 +msgid "j F" +msgstr "j F" + +#: ../../include/identity.php:1285 +msgid "Birthday:" +msgstr "Fødselsdag:" + +#: ../../include/identity.php:1289 ../../mod/directory.php:299 +msgid "Age:" +msgstr "Alder:" + +#: ../../include/identity.php:1298 +#, php-format +msgid "for %1$d %2$s" +msgstr "for %1$d %2$s" + +#: ../../include/identity.php:1301 ../../mod/profiles.php:699 +msgid "Sexual Preference:" +msgstr "Seksuell preferanse:" + +#: ../../include/identity.php:1305 ../../mod/profiles.php:701 +#: ../../mod/directory.php:315 +msgid "Hometown:" +msgstr "Hjemby:" + +#: ../../include/identity.php:1307 +msgid "Tags:" +msgstr "Merkelapper:" + +#: ../../include/identity.php:1309 ../../mod/profiles.php:702 +msgid "Political Views:" +msgstr "Politiske synspunkter:" + +#: ../../include/identity.php:1311 +msgid "Religion:" +msgstr "Religion:" + +#: ../../include/identity.php:1313 ../../mod/directory.php:317 +msgid "About:" +msgstr "Om:" + +#: ../../include/identity.php:1315 +msgid "Hobbies/Interests:" +msgstr "Hobbyer/interesser:" + +#: ../../include/identity.php:1317 ../../mod/profiles.php:705 +msgid "Likes:" +msgstr "Liker:" + +#: ../../include/identity.php:1319 ../../mod/profiles.php:706 +msgid "Dislikes:" +msgstr "Misliker:" + +#: ../../include/identity.php:1321 +msgid "Contact information and Social Networks:" +msgstr "Kontaktinformasjon og sosiale nettverk:" + +#: ../../include/identity.php:1323 +msgid "My other channels:" +msgstr "Mine andre kanaler:" + +#: ../../include/identity.php:1325 +msgid "Musical interests:" +msgstr "Musikkinteresse:" + +#: ../../include/identity.php:1327 +msgid "Books, literature:" +msgstr "Bøker, litteratur:" + +#: ../../include/identity.php:1329 +msgid "Television:" +msgstr "TV:" + +#: ../../include/identity.php:1331 +msgid "Film/dance/culture/entertainment:" +msgstr "Film/dans/kultur/underholdning:" + +#: ../../include/identity.php:1333 +msgid "Love/Romance:" +msgstr "Kjærlighet/romantikk:" + +#: ../../include/identity.php:1335 +msgid "Work/employment:" +msgstr "Arbeid/sysselsetting:" + +#: ../../include/identity.php:1337 +msgid "School/education:" +msgstr "Skole/utdannelse:" + +#: ../../include/identity.php:1357 +msgid "Like this thing" +msgstr "Lik denne tingen" + +#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261 +msgid "Tags" +msgstr "Merkelapper" + +#: ../../include/taxonomy.php:282 ../../include/widgets.php:36 +#: ../../include/contact_widgets.php:95 +msgid "Categories" +msgstr "Kategorier" + +#: ../../include/taxonomy.php:305 +msgid "Keywords" +msgstr "Nøkkelord" + +#: ../../include/taxonomy.php:326 +msgid "have" +msgstr "har" + +#: ../../include/taxonomy.php:326 +msgid "has" +msgstr "har" + +#: ../../include/taxonomy.php:327 +msgid "want" +msgstr "ønsker" + +#: ../../include/taxonomy.php:327 +msgid "wants" +msgstr "ønsker" + +#: ../../include/taxonomy.php:328 ../../include/ItemObject.php:254 +msgid "like" +msgstr "liker" + +#: ../../include/taxonomy.php:328 +msgid "likes" +msgstr "liker" + +#: ../../include/taxonomy.php:329 ../../include/ItemObject.php:255 +msgid "dislike" +msgstr "misliker" + +#: ../../include/taxonomy.php:329 +msgid "dislikes" +msgstr "misliker" + +#: ../../include/acl_selectors.php:240 +msgid "Visible to your default audience" +msgstr "Synlig for ditt standard publikum" + +#: ../../include/acl_selectors.php:241 +msgid "Show" +msgstr "Vis" + +#: ../../include/acl_selectors.php:242 +msgid "Don't show" +msgstr "Ikke vis" + +#: ../../include/acl_selectors.php:247 +msgid "Other networks and post services" +msgstr "Andre nettverk og innleggstjenester" + +#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 +#: ../../mod/photos.php:631 ../../mod/photos.php:1001 ../../mod/thing.php:310 +#: ../../mod/thing.php:356 ../../mod/chat.php:211 +msgid "Permissions" +msgstr "Tillatelser" + +#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:384 +#: ../../mod/photos.php:1218 +msgid "Close" +msgstr "Lukk" + +#: ../../include/activities.php:42 +msgid " and " +msgstr "og" + +#: ../../include/activities.php:50 +msgid "public profile" +msgstr "offentlig profil" + +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "%1$s endret %2$s til “%3$s”" + +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "Besøk %1$s sitt %2$s" + +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "%1$s har oppdatert %2$s, endret %3$s." + +#: ../../include/attach.php:246 ../../include/attach.php:332 +msgid "Item was not found." +msgstr "Elementet ble ikke funnet." + +#: ../../include/attach.php:496 +msgid "No source file." +msgstr "Ingen kildefil." + +#: ../../include/attach.php:514 +msgid "Cannot locate file to replace" +msgstr "Kan ikke finne filen som skal byttes ut" + +#: ../../include/attach.php:532 +msgid "Cannot locate file to revise/update" +msgstr "Finner ikke filen som skal revideres/oppdateres" + +#: ../../include/attach.php:667 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "Filens størrelse overgår grensen på %d" + +#: ../../include/attach.php:681 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes." + +#: ../../include/attach.php:837 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt." + +#: ../../include/attach.php:850 +msgid "Stored file could not be verified. Upload failed." +msgstr "Lagret fil kunne ikke bekreftes. Opplasting mislyktes." + +#: ../../include/attach.php:898 ../../include/attach.php:914 +msgid "Path not available." +msgstr "Stien er ikke tilgjengelig." + +#: ../../include/attach.php:960 ../../include/attach.php:1112 +msgid "Empty pathname" +msgstr "Tomt sti-navn" + +#: ../../include/attach.php:986 +msgid "duplicate filename or path" +msgstr "duplikat av filnavn eller sti" + +#: ../../include/attach.php:1008 +msgid "Path not found." +msgstr "Stien ble ikke funnet." + +#: ../../include/attach.php:1066 +msgid "mkdir failed." +msgstr "mkdir mislyktes." + +#: ../../include/attach.php:1070 +msgid "database storage failed." +msgstr "databaselagring mislyktes." + +#: ../../include/attach.php:1118 +msgid "Empty path" +msgstr "Tom sti" + +#: ../../include/bb2diaspora.php:382 +msgid "Attachments:" +msgstr "Vedlegg:" + +#: ../../include/bb2diaspora.php:473 +msgid "$Projectname event notification:" +msgstr "$Projectname hendelsesvarsling:" + +#: ../../include/notify.php:20 +msgid "created a new post" +msgstr "laget et nytt innlegg" + +#: ../../include/notify.php:21 +#, php-format +msgid "commented on %s's post" +msgstr "kommenterte på %s sitt innlegg" + +#: ../../include/widgets.php:92 ../../include/nav.php:157 +#: ../../mod/apps.php:36 +msgid "Apps" +msgstr "Apper" + +#: ../../include/widgets.php:93 +msgid "System" +msgstr "System" + +#: ../../include/widgets.php:95 ../../include/conversation.php:1526 +msgid "Personal" +msgstr "Personlig" + +#: ../../include/widgets.php:96 +msgid "Create Personal App" +msgstr "Lag personlig app" + +#: ../../include/widgets.php:97 +msgid "Edit Personal App" +msgstr "Endre personlig app" + +#: ../../include/widgets.php:139 ../../mod/suggest.php:54 +msgid "Ignore/Hide" +msgstr "Ignorer/Skjul" + +#: ../../include/widgets.php:144 ../../mod/connections.php:125 +msgid "Suggestions" +msgstr "Forslag" + +#: ../../include/widgets.php:145 +msgid "See more..." +msgstr "Se mer..." + +#: ../../include/widgets.php:166 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "Du har %1$.0f av %2$.0f tillate forbindelser." + +#: ../../include/widgets.php:172 +msgid "Add New Connection" +msgstr "Legg til ny forbindelse" + +#: ../../include/widgets.php:173 +msgid "Enter the channel address" +msgstr "Skriv kanal-adressen" + +#: ../../include/widgets.php:174 +msgid "Example: bob@example.com, http://example.com/barbara" +msgstr "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann" + +#: ../../include/widgets.php:190 +msgid "Notes" +msgstr "Merknader" + +#: ../../include/widgets.php:192 ../../include/text.php:868 +#: ../../include/text.php:880 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 +#: ../../mod/admin.php:1442 ../../mod/admin.php:1462 ../../mod/filer.php:49 +msgid "Save" +msgstr "Lagre" + +#: ../../include/widgets.php:266 +msgid "Remove term" +msgstr "Fjern begrep" + +#: ../../include/widgets.php:274 ../../include/features.php:72 +msgid "Saved Searches" +msgstr "Lagrede søk" + +#: ../../include/widgets.php:275 ../../include/group.php:300 +msgid "add" +msgstr "legg til" + +#: ../../include/widgets.php:304 ../../include/features.php:85 +#: ../../include/contact_widgets.php:57 +msgid "Saved Folders" +msgstr "Lagrede mapper" + +#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60 +#: ../../include/contact_widgets.php:98 +msgid "Everything" +msgstr "Alt" + +#: ../../include/widgets.php:349 +msgid "Archives" +msgstr "Arkiv" + +#: ../../include/widgets.php:428 ../../mod/connedit.php:571 +msgid "Me" +msgstr "Meg" + +#: ../../include/widgets.php:429 ../../mod/connedit.php:572 +msgid "Family" +msgstr "Familie" + +#: ../../include/widgets.php:431 ../../mod/connedit.php:574 +msgid "Acquaintances" +msgstr "Bekjente" + +#: ../../include/widgets.php:432 ../../mod/connedit.php:575 +#: ../../mod/connections.php:88 ../../mod/connections.php:103 +msgid "All" +msgstr "Alle" + +#: ../../include/widgets.php:451 +msgid "Refresh" +msgstr "Forny" + +#: ../../include/widgets.php:485 +msgid "Account settings" +msgstr "Kontoinnstillinger" + +#: ../../include/widgets.php:491 +msgid "Channel settings" +msgstr "Kanalinnstillinger" + +#: ../../include/widgets.php:497 +msgid "Additional features" +msgstr "Tilleggsfunksjoner" + +#: ../../include/widgets.php:503 +msgid "Feature/Addon settings" +msgstr "Funksjons-/Tilleggsinnstillinger" + +#: ../../include/widgets.php:509 +msgid "Display settings" +msgstr "Visningsinnstillinger" + +#: ../../include/widgets.php:515 +msgid "Connected apps" +msgstr "Tilkoblede app-er" + +#: ../../include/widgets.php:521 +msgid "Export channel" +msgstr "Eksporter kanal" + +#: ../../include/widgets.php:530 ../../mod/connedit.php:683 +msgid "Connection Default Permissions" +msgstr "Forbindelsens standard tillatelser" + +#: ../../include/widgets.php:538 +msgid "Premium Channel Settings" +msgstr "Premiumkanal-innstillinger" + +#: ../../include/widgets.php:546 ../../include/features.php:59 +#: ../../mod/sources.php:88 +msgid "Channel Sources" +msgstr "Kanalkilder" + +#: ../../include/widgets.php:554 ../../include/nav.php:202 +#: ../../include/apps.php:134 ../../mod/admin.php:1064 +#: ../../mod/admin.php:1264 +msgid "Settings" +msgstr "Innstillinger" + +#: ../../include/widgets.php:568 +msgid "Private Mail Menu" +msgstr "Meny for privat post" + +#: ../../include/widgets.php:570 +msgid "Combined View" +msgstr "Kombinert visning" + +#: ../../include/widgets.php:575 ../../include/nav.php:191 +msgid "Inbox" +msgstr "Innboks" + +#: ../../include/widgets.php:580 ../../include/nav.php:192 +msgid "Outbox" +msgstr "Utboks" + +#: ../../include/widgets.php:585 ../../include/nav.php:193 +msgid "New Message" +msgstr "Ny melding" + +#: ../../include/widgets.php:604 ../../include/widgets.php:616 +msgid "Conversations" +msgstr "Samtaler" + +#: ../../include/widgets.php:608 +msgid "Received Messages" +msgstr "Mottatte meldinger" + +#: ../../include/widgets.php:612 +msgid "Sent Messages" +msgstr "Sendte meldinger" + +#: ../../include/widgets.php:626 +msgid "No messages." +msgstr "Ingen meldinger." + +#: ../../include/widgets.php:644 +msgid "Delete conversation" +msgstr "Slett samtale" + +#: ../../include/widgets.php:670 +msgid "Events Menu" +msgstr "Meny for hendelser" + +#: ../../include/widgets.php:671 +msgid "Day View" +msgstr "Dag" + +#: ../../include/widgets.php:672 +msgid "Week View" +msgstr "Uke" + +#: ../../include/widgets.php:673 +msgid "Month View" +msgstr "Måned" + +#: ../../include/widgets.php:674 ../../mod/events.php:669 +msgid "Export" +msgstr "Eksport" + +#: ../../include/widgets.php:675 ../../mod/events.php:672 +msgid "Import" +msgstr "Importer" + +#: ../../include/widgets.php:749 +msgid "Chat Rooms" +msgstr "Chatrom" + +#: ../../include/widgets.php:769 +msgid "Bookmarked Chatrooms" +msgstr "Bokmerkede chatrom" + +#: ../../include/widgets.php:789 +msgid "Suggested Chatrooms" +msgstr "Foreslåtte chatrom" + +#: ../../include/widgets.php:916 ../../include/widgets.php:974 +msgid "photo/image" +msgstr "foto/bilde" + +#: ../../include/widgets.php:1069 ../../include/widgets.php:1071 +msgid "Rate Me" +msgstr "Vurder meg" + +#: ../../include/widgets.php:1075 +msgid "View Ratings" +msgstr "Vis vurderinger" + +#: ../../include/widgets.php:1086 +msgid "Public Hubs" +msgstr "Offentlige huber" + +#: ../../include/widgets.php:1134 +msgid "Forums" +msgstr "Forum" + +#: ../../include/widgets.php:1161 +msgid "Tasks" +msgstr "Oppgaver" + +#: ../../include/widgets.php:1170 +msgid "Documentation" +msgstr "Dokumentasjon" + +#: ../../include/widgets.php:1172 +msgid "Project/Site Information" +msgstr "Prosjekt-/Nettstedsinformasjon" + +#: ../../include/widgets.php:1173 +msgid "For Members" +msgstr "For medlemmer" + +#: ../../include/widgets.php:1174 +msgid "For Administrators" +msgstr "For administratorer" + +#: ../../include/widgets.php:1175 +msgid "For Developers" +msgstr "For utviklere" + +#: ../../include/widgets.php:1200 ../../mod/admin.php:434 +msgid "Site" +msgstr "Nettsted" + +#: ../../include/widgets.php:1201 +msgid "Accounts" +msgstr "Kontoer" + +#: ../../include/widgets.php:1202 ../../mod/admin.php:965 +msgid "Channels" +msgstr "Kanaler" + +#: ../../include/widgets.php:1203 ../../mod/admin.php:1062 +#: ../../mod/admin.php:1102 +msgid "Plugins" +msgstr "Tilleggsfunksjoner" + +#: ../../include/widgets.php:1204 ../../mod/admin.php:1262 +#: ../../mod/admin.php:1296 +msgid "Themes" +msgstr "Temaer" + +#: ../../include/widgets.php:1205 +msgid "Inspect queue" +msgstr "Inspiser kø" + +#: ../../include/widgets.php:1206 +msgid "Profile Config" +msgstr "Profilinnstillinger" + +#: ../../include/widgets.php:1207 +msgid "DB updates" +msgstr "Databaseoppdateringer" + +#: ../../include/widgets.php:1225 ../../include/widgets.php:1231 +#: ../../mod/admin.php:1381 +msgid "Logs" +msgstr "Logger" + +#: ../../include/widgets.php:1229 ../../include/nav.php:210 +msgid "Admin" +msgstr "Administrator" + +#: ../../include/widgets.php:1230 +msgid "Plugin Features" +msgstr "Tilleggsfunksjoner" + +#: ../../include/widgets.php:1232 +msgid "User registrations waiting for confirmation" +msgstr "Brukerregistreringer som venter på bekreftelse" + +#: ../../include/widgets.php:1311 ../../mod/photos.php:753 +#: ../../mod/photos.php:1286 +msgid "View Photo" +msgstr "Vis foto" + +#: ../../include/widgets.php:1327 ../../mod/photos.php:782 +msgid "Edit Album" +msgstr "Endre album" + +#: ../../include/bookmarks.php:35 +#, php-format +msgid "%1$s's bookmarks" +msgstr "%1$s sine bokmerker" #: ../../include/features.php:38 msgid "General Features" @@ -541,14 +1666,9 @@ msgstr "Store bilder" #: ../../include/features.php:58 msgid "" -"Include large (640px) photo thumbnails in posts. If not enabled, use small " -"(320px) photo thumbnails" -msgstr "Inkluder store (640px) miniatyrbilder i innlegg. Hvis denne ikke er skrudd på, bruk små (320px) miniatyrbilder." - -#: ../../include/features.php:59 ../../include/widgets.php:545 -#: ../../mod/sources.php:88 -msgid "Channel Sources" -msgstr "Kanalkilder" +"Include large (1024px) photo thumbnails in posts. If not enabled, use small " +"(640px) photo thumbnails" +msgstr "Inkluder store (1024px) småbilder i innlegg. Hvis denne ikke er påskrudd, bruk små (640px) småbilder." #: ../../include/features.php:59 msgid "Automatically import channel content from other channels or feeds" @@ -564,626 +1684,498 @@ msgid "" msgstr "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel" #: ../../include/features.php:61 -msgid "Enable voting tools" +msgid "Enable Voting Tools" msgstr "Skru på verktøy for å stemme" #: ../../include/features.php:61 msgid "Provide a class of post which others can vote on" msgstr "Tilby en type innlegg som andre kan stemme på" -#: ../../include/features.php:67 +#: ../../include/features.php:62 +msgid "Delayed Posting" +msgstr "Tidfest publisering" + +#: ../../include/features.php:62 +msgid "Allow posts to be published at a later date" +msgstr "Tillat innlegg å bli publisert på et senere tidspunkt" + +#: ../../include/features.php:63 +msgid "Suppress Duplicate Posts/Comments" +msgstr "Forhindre duplikat av innlegg/kommentarer" + +#: ../../include/features.php:63 +msgid "" +"Prevent posts with identical content to be published with less than two " +"minutes in between submissions." +msgstr "Forhindre innlegg med identisk innhold fra å bli publisert hvis det er mindre enn to minutter mellom innsendingene." + +#: ../../include/features.php:69 msgid "Network and Stream Filtering" msgstr "Nettverk- og strømfiltrering" -#: ../../include/features.php:68 +#: ../../include/features.php:70 msgid "Search by Date" msgstr "Søk etter dato" -#: ../../include/features.php:68 +#: ../../include/features.php:70 msgid "Ability to select posts by date ranges" msgstr "Mulighet for å velge innlegg etter datoområde" -#: ../../include/features.php:69 +#: ../../include/features.php:71 msgid "Collections Filter" msgstr "Filter for samlinger" -#: ../../include/features.php:69 +#: ../../include/features.php:71 msgid "Enable widget to display Network posts only from selected collections" msgstr "Skru på miniprogram for å vise Nettverksinnlegg bare fra valgte samlinger" -#: ../../include/features.php:70 ../../include/widgets.php:273 -msgid "Saved Searches" -msgstr "Lagrede søk" - -#: ../../include/features.php:70 +#: ../../include/features.php:72 msgid "Save search terms for re-use" msgstr "Lagre søkeuttrykk for senere bruk" -#: ../../include/features.php:71 +#: ../../include/features.php:73 msgid "Network Personal Tab" msgstr "Nettverk personlig fane" -#: ../../include/features.php:71 +#: ../../include/features.php:73 msgid "Enable tab to display only Network posts that you've interacted on" msgstr "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i" -#: ../../include/features.php:72 +#: ../../include/features.php:74 msgid "Network New Tab" msgstr "Nettverk Ny fane" -#: ../../include/features.php:72 +#: ../../include/features.php:74 msgid "Enable tab to display all new Network activity" msgstr "Skru på fane for å vise all ny nettverksaktivitet" -#: ../../include/features.php:73 +#: ../../include/features.php:75 msgid "Affinity Tool" msgstr "Nærhetsverktøy" -#: ../../include/features.php:73 +#: ../../include/features.php:75 msgid "Filter stream activity by depth of relationships" msgstr "Filtrer strømaktiviteten etter releasjonsdybde" -#: ../../include/features.php:74 +#: ../../include/features.php:76 msgid "Connection Filtering" msgstr "Filtrer forbindelser" -#: ../../include/features.php:74 +#: ../../include/features.php:76 msgid "Filter incoming posts from connections based on keywords/content" msgstr "Filtrer innkommende innlegg fra forbindelser basert på nøkkelord/innhold" -#: ../../include/features.php:75 +#: ../../include/features.php:77 msgid "Suggest Channels" msgstr "Foreslå kanaler" -#: ../../include/features.php:75 +#: ../../include/features.php:77 msgid "Show channel suggestions" msgstr "Vis kanalforslag" -#: ../../include/features.php:80 +#: ../../include/features.php:82 msgid "Post/Comment Tools" msgstr "Innlegg-/Kommentar-verktøy" -#: ../../include/features.php:81 +#: ../../include/features.php:83 msgid "Tagging" msgstr "Merking" -#: ../../include/features.php:81 +#: ../../include/features.php:83 msgid "Ability to tag existing posts" msgstr "Mulighet til å merke eksisterende meldinger" -#: ../../include/features.php:82 +#: ../../include/features.php:84 msgid "Post Categories" msgstr "Innleggskategorier" -#: ../../include/features.php:82 +#: ../../include/features.php:84 msgid "Add categories to your posts" msgstr "Legg kategorier til dine innlegg" -#: ../../include/features.php:83 ../../include/contact_widgets.php:57 -#: ../../include/widgets.php:303 -msgid "Saved Folders" -msgstr "Lagrede mapper" - -#: ../../include/features.php:83 +#: ../../include/features.php:85 msgid "Ability to file posts under folders" msgstr "Mulighet til å sortere innlegg i mapper" -#: ../../include/features.php:84 +#: ../../include/features.php:86 msgid "Dislike Posts" msgstr "Mislik innlegg" -#: ../../include/features.php:84 +#: ../../include/features.php:86 msgid "Ability to dislike posts/comments" msgstr "Mulighet til å mislike innlegg/kommentarer" -#: ../../include/features.php:85 +#: ../../include/features.php:87 msgid "Star Posts" msgstr "Stjerneinnlegg" -#: ../../include/features.php:85 +#: ../../include/features.php:87 msgid "Ability to mark special posts with a star indicator" msgstr "Mulighet til å merke spesielle innlegg med en stjerne" -#: ../../include/features.php:86 +#: ../../include/features.php:88 msgid "Tag Cloud" msgstr "Merkelappsky" -#: ../../include/features.php:86 +#: ../../include/features.php:88 msgid "Provide a personal tag cloud on your channel page" msgstr "Tilby en personlig merkelappsky på din kanalside" -#: ../../include/comanche.php:34 ../../mod/admin.php:348 -msgid "Default" -msgstr "Standard" - -#: ../../include/js_strings.php:5 -msgid "Delete this item?" -msgstr "Slett dette elementet?" - -#: ../../include/js_strings.php:6 ../../include/ItemObject.php:673 -#: ../../mod/photos.php:1008 ../../mod/photos.php:1126 -msgid "Comment" -msgstr "Kommentar" - -#: ../../include/js_strings.php:7 ../../include/ItemObject.php:390 -msgid "[+] show all" -msgstr "[+] Vis alle" - -#: ../../include/js_strings.php:8 -msgid "[-] show less" -msgstr "[-] Vis mindre" - -#: ../../include/js_strings.php:9 -msgid "[+] expand" -msgstr "[+] Utvid" - -#: ../../include/js_strings.php:10 -msgid "[-] collapse" -msgstr "[-] Lukk" - -#: ../../include/js_strings.php:11 -msgid "Password too short" -msgstr "Passordet er for kort" - -#: ../../include/js_strings.php:12 -msgid "Passwords do not match" -msgstr "Passordene er ikke like" - -#: ../../include/js_strings.php:13 ../../mod/photos.php:41 -msgid "everybody" -msgstr "alle" - -#: ../../include/js_strings.php:14 -msgid "Secret Passphrase" -msgstr "Hemmelig passordsetning" - -#: ../../include/js_strings.php:15 -msgid "Passphrase hint" -msgstr "Hint om passordsetning" - -#: ../../include/js_strings.php:16 -msgid "Notice: Permissions have changed but have not yet been submitted." -msgstr "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn." - -#: ../../include/js_strings.php:17 -msgid "close all" -msgstr "Lukk alle" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 +msgid "Male" +msgstr "Mannlig" -#: ../../include/js_strings.php:18 -msgid "Nothing new here" -msgstr "Ikke noe nytt her" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 +msgid "Female" +msgstr "Kvinnelig" -#: ../../include/js_strings.php:19 -msgid "Rate This Channel (this is public)" -msgstr "Vurder denne kanalen (dette er offentlig)" +#: ../../include/profile_selectors.php:6 +msgid "Currently Male" +msgstr "For tiden mann" -#: ../../include/js_strings.php:20 ../../mod/connedit.php:667 -#: ../../mod/rate.php:156 -msgid "Rating" -msgstr "Vurdering" +#: ../../include/profile_selectors.php:6 +msgid "Currently Female" +msgstr "For tiden kvinne" -#: ../../include/js_strings.php:21 -msgid "Describe (optional)" -msgstr "Beskriv (valgfritt)" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Male" +msgstr "For det meste mann" -#: ../../include/js_strings.php:22 ../../include/ItemObject.php:674 -#: ../../mod/fsuggest.php:108 ../../mod/mitem.php:231 -#: ../../mod/connedit.php:688 ../../mod/mood.php:135 ../../mod/pconfig.php:108 -#: ../../mod/filestorage.php:156 ../../mod/poke.php:171 ../../mod/chat.php:181 -#: ../../mod/chat.php:209 ../../mod/admin.php:411 ../../mod/admin.php:776 -#: ../../mod/admin.php:940 ../../mod/admin.php:1072 ../../mod/admin.php:1266 -#: ../../mod/admin.php:1351 ../../mod/appman.php:99 ../../mod/pdledit.php:58 -#: ../../mod/photos.php:598 ../../mod/photos.php:969 ../../mod/photos.php:1009 -#: ../../mod/photos.php:1127 ../../mod/rate.php:167 ../../mod/events.php:534 -#: ../../mod/events.php:710 ../../mod/mail.php:364 ../../mod/sources.php:104 -#: ../../mod/sources.php:138 ../../mod/import.php:511 ../../mod/thing.php:313 -#: ../../mod/thing.php:359 ../../mod/invite.php:142 ../../mod/settings.php:583 -#: ../../mod/settings.php:695 ../../mod/settings.php:723 -#: ../../mod/settings.php:746 ../../mod/settings.php:831 -#: ../../mod/settings.php:1020 ../../mod/xchan.php:11 ../../mod/group.php:81 -#: ../../mod/connect.php:93 ../../mod/locs.php:108 ../../mod/setup.php:331 -#: ../../mod/setup.php:371 ../../mod/profiles.php:667 -#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99 -msgid "Submit" -msgstr "Send" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Female" +msgstr "For det meste kvinne" -#: ../../include/js_strings.php:23 -msgid "Please enter a link URL" -msgstr "Vennligst skriv inn en lenke URL:" +#: ../../include/profile_selectors.php:6 +msgid "Transgender" +msgstr "Transkjønnet" -#: ../../include/js_strings.php:24 -msgid "Unsaved changes. Are you sure you wish to leave this page?" -msgstr "Endringene er ikke lagret. Er du sikker på at du ønsker å forlate denne siden?" +#: ../../include/profile_selectors.php:6 +msgid "Intersex" +msgstr "interkjønnet" -#: ../../include/js_strings.php:26 -msgid "timeago.prefixAgo" -msgstr "timeago.prefixAgo" +#: ../../include/profile_selectors.php:6 +msgid "Transsexual" +msgstr "Transseksuell" -#: ../../include/js_strings.php:27 -msgid "timeago.prefixFromNow" -msgstr "timeago.prefixFromNow" +#: ../../include/profile_selectors.php:6 +msgid "Hermaphrodite" +msgstr "Hermafroditt" -#: ../../include/js_strings.php:28 -msgid "ago" -msgstr "siden" +#: ../../include/profile_selectors.php:6 +msgid "Neuter" +msgstr "Intetkjønn" -#: ../../include/js_strings.php:29 -msgid "from now" -msgstr "fra nå" +#: ../../include/profile_selectors.php:6 +msgid "Non-specific" +msgstr "Ubestemt" -#: ../../include/js_strings.php:30 -msgid "less than a minute" -msgstr "mindre enn ett minutt" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 +#: ../../include/profile_selectors.php:61 +#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871 +msgid "Other" +msgstr "Annen" -#: ../../include/js_strings.php:31 -msgid "about a minute" -msgstr "omtrent et minutt" +#: ../../include/profile_selectors.php:6 +msgid "Undecided" +msgstr "Ubestemt" -#: ../../include/js_strings.php:32 -#, php-format -msgid "%d minutes" -msgstr "%d minutter" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Males" +msgstr "Menn" -#: ../../include/js_strings.php:33 -msgid "about an hour" -msgstr "omtrent en time" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Females" +msgstr "Kvinner" -#: ../../include/js_strings.php:34 -#, php-format -msgid "about %d hours" -msgstr "omtrent %d timer" +#: ../../include/profile_selectors.php:42 +msgid "Gay" +msgstr "Homo" -#: ../../include/js_strings.php:35 -msgid "a day" -msgstr "en dag" +#: ../../include/profile_selectors.php:42 +msgid "Lesbian" +msgstr "Lesbisk" -#: ../../include/js_strings.php:36 -#, php-format -msgid "%d days" -msgstr "%d dager" +#: ../../include/profile_selectors.php:42 +msgid "No Preference" +msgstr "Ingen preferanse" -#: ../../include/js_strings.php:37 -msgid "about a month" -msgstr "omtrent en måned" +#: ../../include/profile_selectors.php:42 +msgid "Bisexual" +msgstr "Biseksuell" -#: ../../include/js_strings.php:38 -#, php-format -msgid "%d months" -msgstr "%d måneder" +#: ../../include/profile_selectors.php:42 +msgid "Autosexual" +msgstr "Autoseksuell" -#: ../../include/js_strings.php:39 -msgid "about a year" -msgstr "omtrent et år" +#: ../../include/profile_selectors.php:42 +msgid "Abstinent" +msgstr "Avholdende" -#: ../../include/js_strings.php:40 -#, php-format -msgid "%d years" -msgstr "%d år" +#: ../../include/profile_selectors.php:42 +msgid "Virgin" +msgstr "Jomfru" -#: ../../include/js_strings.php:41 -msgid " " -msgstr " " +#: ../../include/profile_selectors.php:42 +msgid "Deviant" +msgstr "Avviker" -#: ../../include/js_strings.php:42 -msgid "timeago.numbers" -msgstr "timeago.numbers" +#: ../../include/profile_selectors.php:42 +msgid "Fetish" +msgstr "Fetisj" -#: ../../include/js_strings.php:44 ../../include/text.php:1144 -msgid "January" -msgstr "januar" +#: ../../include/profile_selectors.php:42 +msgid "Oodles" +msgstr "Masse" -#: ../../include/js_strings.php:45 ../../include/text.php:1144 -msgid "February" -msgstr "februar" +#: ../../include/profile_selectors.php:42 +msgid "Nonsexual" +msgstr "Ikke-seksuell" -#: ../../include/js_strings.php:46 ../../include/text.php:1144 -msgid "March" -msgstr "mars" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Single" +msgstr "Enslig" -#: ../../include/js_strings.php:47 ../../include/text.php:1144 -msgid "April" -msgstr "april" +#: ../../include/profile_selectors.php:80 +msgid "Lonely" +msgstr "Ensom" -#: ../../include/js_strings.php:48 -msgctxt "long" -msgid "May" -msgstr "mai" +#: ../../include/profile_selectors.php:80 +msgid "Available" +msgstr "Tilgjengelig" -#: ../../include/js_strings.php:49 ../../include/text.php:1144 -msgid "June" -msgstr "juni" +#: ../../include/profile_selectors.php:80 +msgid "Unavailable" +msgstr "Ikke tilgjengelig" -#: ../../include/js_strings.php:50 ../../include/text.php:1144 -msgid "July" -msgstr "juli" +#: ../../include/profile_selectors.php:80 +msgid "Has crush" +msgstr "Er forelsket" -#: ../../include/js_strings.php:51 ../../include/text.php:1144 -msgid "August" -msgstr "august" +#: ../../include/profile_selectors.php:80 +msgid "Infatuated" +msgstr "Betatt" -#: ../../include/js_strings.php:52 ../../include/text.php:1144 -msgid "September" -msgstr "september" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Dating" +msgstr "Sammen med" -#: ../../include/js_strings.php:53 ../../include/text.php:1144 -msgid "October" -msgstr "oktober" +#: ../../include/profile_selectors.php:80 +msgid "Unfaithful" +msgstr "Utro" -#: ../../include/js_strings.php:54 ../../include/text.php:1144 -msgid "November" -msgstr "november" +#: ../../include/profile_selectors.php:80 +msgid "Sex Addict" +msgstr "Sexavhengig" -#: ../../include/js_strings.php:55 ../../include/text.php:1144 -msgid "December" -msgstr "desember" +#: ../../include/profile_selectors.php:80 +msgid "Friends/Benefits" +msgstr "Venner med frynsegoder" -#: ../../include/js_strings.php:56 -msgid "Jan" -msgstr "Jan" +#: ../../include/profile_selectors.php:80 +msgid "Casual" +msgstr "Tilfeldig" -#: ../../include/js_strings.php:57 -msgid "Feb" -msgstr "Feb" +#: ../../include/profile_selectors.php:80 +msgid "Engaged" +msgstr "Forlovet" -#: ../../include/js_strings.php:58 -msgid "Mar" -msgstr "Mar" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Married" +msgstr "Gift" -#: ../../include/js_strings.php:59 -msgid "Apr" -msgstr "Apr" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily married" +msgstr "Gift i fantasien" -#: ../../include/js_strings.php:60 -msgctxt "short" -msgid "May" -msgstr "mai" +#: ../../include/profile_selectors.php:80 +msgid "Partners" +msgstr "Partnere" -#: ../../include/js_strings.php:61 -msgid "Jun" -msgstr "Jun" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Cohabiting" +msgstr "Samboer" -#: ../../include/js_strings.php:62 -msgid "Jul" -msgstr "Jul" +#: ../../include/profile_selectors.php:80 +msgid "Common law" +msgstr "Samboer" -#: ../../include/js_strings.php:63 -msgid "Aug" -msgstr "Aug" +#: ../../include/profile_selectors.php:80 +msgid "Happy" +msgstr "Lykkelig" -#: ../../include/js_strings.php:64 -msgid "Sep" -msgstr "Sep" +#: ../../include/profile_selectors.php:80 +msgid "Not looking" +msgstr "Ikke på utkikk" -#: ../../include/js_strings.php:65 -msgid "Oct" -msgstr "Okt" +#: ../../include/profile_selectors.php:80 +msgid "Swinger" +msgstr "Partnerbytte" -#: ../../include/js_strings.php:66 -msgid "Nov" -msgstr "Nov" +#: ../../include/profile_selectors.php:80 +msgid "Betrayed" +msgstr "Bedratt" -#: ../../include/js_strings.php:67 -msgid "Dec" -msgstr "Des" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Separated" +msgstr "Separert" -#: ../../include/js_strings.php:68 ../../include/text.php:1140 -msgid "Sunday" -msgstr "søndag" +#: ../../include/profile_selectors.php:80 +msgid "Unstable" +msgstr "Ustabilt" -#: ../../include/js_strings.php:69 ../../include/text.php:1140 -msgid "Monday" -msgstr "mandag" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Divorced" +msgstr "Skilt" -#: ../../include/js_strings.php:70 ../../include/text.php:1140 -msgid "Tuesday" -msgstr "tirsdag" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily divorced" +msgstr "Skilt i fantasien" -#: ../../include/js_strings.php:71 ../../include/text.php:1140 -msgid "Wednesday" -msgstr "onsdag" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Widowed" +msgstr "Enke" -#: ../../include/js_strings.php:72 ../../include/text.php:1140 -msgid "Thursday" -msgstr "torsdag" +#: ../../include/profile_selectors.php:80 +msgid "Uncertain" +msgstr "Usikkert" -#: ../../include/js_strings.php:73 ../../include/text.php:1140 -msgid "Friday" -msgstr "fredag" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "It's complicated" +msgstr "Det er komplisert" -#: ../../include/js_strings.php:74 ../../include/text.php:1140 -msgid "Saturday" -msgstr "lørdag" +#: ../../include/profile_selectors.php:80 +msgid "Don't care" +msgstr "Bryr meg ikke" -#: ../../include/js_strings.php:75 -msgid "Sun" -msgstr "Søn" +#: ../../include/profile_selectors.php:80 +msgid "Ask me" +msgstr "Spør meg" -#: ../../include/js_strings.php:76 -msgid "Mon" -msgstr "Man" +#: ../../include/datetime.php:48 +msgid "Miscellaneous" +msgstr "Forskjellig" -#: ../../include/js_strings.php:77 -msgid "Tue" -msgstr "Tirs" +#: ../../include/datetime.php:132 +msgid "YYYY-MM-DD or MM-DD" +msgstr "YYYY-MM-DD eller MM-DD" -#: ../../include/js_strings.php:78 -msgid "Wed" -msgstr "Ons" +#: ../../include/datetime.php:236 ../../mod/appman.php:91 +#: ../../mod/appman.php:92 ../../mod/events.php:452 ../../mod/events.php:457 +msgid "Required" +msgstr "Påkrevd" -#: ../../include/js_strings.php:79 -msgid "Thu" -msgstr "Tors" +#: ../../include/datetime.php:263 ../../boot.php:2289 +msgid "never" +msgstr "aldri" -#: ../../include/js_strings.php:80 -msgid "Fri" -msgstr "Fre" +#: ../../include/datetime.php:269 +msgid "less than a second ago" +msgstr "for mindre enn ett sekund siden" -#: ../../include/js_strings.php:81 -msgid "Sat" -msgstr "Lør" +#: ../../include/datetime.php:272 +msgid "year" +msgstr "år" -#: ../../include/js_strings.php:82 -msgctxt "calendar" -msgid "today" -msgstr "idag" +#: ../../include/datetime.php:272 +msgid "years" +msgstr "år" -#: ../../include/js_strings.php:83 -msgctxt "calendar" +#: ../../include/datetime.php:273 msgid "month" msgstr "måned" -#: ../../include/js_strings.php:84 -msgctxt "calendar" +#: ../../include/datetime.php:273 +msgid "months" +msgstr "måneder" + +#: ../../include/datetime.php:274 msgid "week" msgstr "uke" -#: ../../include/js_strings.php:85 -msgctxt "calendar" +#: ../../include/datetime.php:274 +msgid "weeks" +msgstr "uker" + +#: ../../include/datetime.php:275 msgid "day" msgstr "dag" -#: ../../include/js_strings.php:86 -msgctxt "calendar" -msgid "All day" -msgstr "Hele dagen" - -#: ../../include/contact_selectors.php:56 -msgid "Frequently" -msgstr "Ofte" - -#: ../../include/contact_selectors.php:57 -msgid "Hourly" -msgstr "Hver time" - -#: ../../include/contact_selectors.php:58 -msgid "Twice daily" -msgstr "To ganger daglig" - -#: ../../include/contact_selectors.php:59 -msgid "Daily" -msgstr "Daglig" - -#: ../../include/contact_selectors.php:60 -msgid "Weekly" -msgstr "Ukentlig" - -#: ../../include/contact_selectors.php:61 -msgid "Monthly" -msgstr "Månedlig" - -#: ../../include/contact_selectors.php:76 -msgid "Friendica" -msgstr "Friendica" - -#: ../../include/contact_selectors.php:77 -msgid "OStatus" -msgstr "OStatus" - -#: ../../include/contact_selectors.php:78 -msgid "RSS/Atom" -msgstr "RSS/Atom" - -#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 -#: ../../mod/id.php:16 ../../mod/admin.php:779 ../../mod/admin.php:788 -#: ../../boot.php:1499 -msgid "Email" -msgstr "E-post" - -#: ../../include/contact_selectors.php:80 -msgid "Diaspora" -msgstr "Diaspora" - -#: ../../include/contact_selectors.php:81 -msgid "Facebook" -msgstr "Facebook" - -#: ../../include/contact_selectors.php:82 -msgid "Zot!" -msgstr "Zot!" +#: ../../include/datetime.php:275 +msgid "days" +msgstr "dager" -#: ../../include/contact_selectors.php:83 -msgid "LinkedIn" -msgstr "LinkedIn" +#: ../../include/datetime.php:276 +msgid "hour" +msgstr "time" -#: ../../include/contact_selectors.php:84 -msgid "XMPP/IM" -msgstr "XMPP/IM" +#: ../../include/datetime.php:276 +msgid "hours" +msgstr "timer" -#: ../../include/contact_selectors.php:85 -msgid "MySpace" -msgstr "MySpace" +#: ../../include/datetime.php:277 +msgid "minute" +msgstr "minutt" -#: ../../include/activities.php:42 -msgid " and " -msgstr "og" +#: ../../include/datetime.php:277 +msgid "minutes" +msgstr "minutter" -#: ../../include/activities.php:50 -msgid "public profile" -msgstr "offentlig profil" +#: ../../include/datetime.php:278 +msgid "second" +msgstr "sekund" -#: ../../include/activities.php:59 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" -msgstr "%1$s endret %2$s til “%3$s”" +#: ../../include/datetime.php:278 +msgid "seconds" +msgstr "sekunder" -#: ../../include/activities.php:60 +#: ../../include/datetime.php:286 #, php-format -msgid "Visit %1$s's %2$s" -msgstr "Besøk %1$s sitt %2$s" +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" +msgstr "%1$d %2$s siden" -#: ../../include/activities.php:63 +#: ../../include/datetime.php:520 #, php-format -msgid "%1$s has an updated %2$s, changing %3$s." -msgstr "%1$s har oppdatert %2$s, endret %3$s." - -#: ../../include/Contact.php:101 ../../include/conversation.php:947 -#: ../../include/identity.php:941 ../../include/widgets.php:136 -#: ../../include/widgets.php:174 ../../mod/directory.php:316 -#: ../../mod/match.php:64 ../../mod/suggest.php:52 -msgid "Connect" -msgstr "Koble" - -#: ../../include/Contact.php:118 -msgid "New window" -msgstr "Nytt vindu" - -#: ../../include/Contact.php:119 -msgid "Open the selected location in a different window or browser tab" -msgstr "Åpne det valgte stedet i et annet vindu eller nettleser-fane" +msgid "%1$s's birthday" +msgstr "%1$s sin fødselsdag" -#: ../../include/Contact.php:237 +#: ../../include/datetime.php:521 #, php-format -msgid "User '%s' deleted" -msgstr "Brukeren '%s' er slettet" +msgid "Happy Birthday %1$s" +msgstr "Gratulerer med dagen, %1$s !" -#: ../../include/dba/dba_driver.php:141 -#, php-format -msgid "Cannot locate DNS info for database server '%s'" -msgstr "Kan ikke finne DNS-informasjon om databasetjener '%s'" +#: ../../include/api.php:1302 +msgid "Public Timeline" +msgstr "Offentlig tidslinje" -#: ../../include/conversation.php:120 ../../include/text.php:1832 -#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:72 -#: ../../mod/subthread.php:172 +#: ../../include/conversation.php:120 ../../include/text.php:1916 +#: ../../mod/tagger.php:43 ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "photo" msgstr "foto" -#: ../../include/conversation.php:123 ../../include/text.php:1835 -#: ../../include/event.php:896 ../../mod/like.php:363 ../../mod/tagger.php:47 -#: ../../mod/events.php:245 -msgid "event" -msgstr "hendelse" - #: ../../include/conversation.php:126 ../../mod/like.php:113 msgid "channel" msgstr "kanal" -#: ../../include/conversation.php:148 ../../include/text.php:1838 -#: ../../mod/like.php:361 ../../mod/subthread.php:72 -#: ../../mod/subthread.php:172 +#: ../../include/conversation.php:148 ../../include/text.php:1922 +#: ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "status" msgstr "status" -#: ../../include/conversation.php:150 ../../include/text.php:1840 +#: ../../include/conversation.php:150 ../../include/text.php:1924 #: ../../mod/tagger.php:53 msgid "comment" msgstr "kommentar" @@ -1208,7 +2200,7 @@ msgstr "%1$s er nå forbundet med %2$s" msgid "%1$s poked %2$s" msgstr "%1$s prikket %2$s" -#: ../../include/conversation.php:243 ../../include/text.php:933 +#: ../../include/conversation.php:243 ../../include/text.php:954 msgid "poked" msgstr "prikket" @@ -1218,622 +2210,832 @@ msgctxt "mood" msgid "%1$s is %2$s" msgstr "%1$s er %2$s" -#: ../../include/conversation.php:574 ../../mod/photos.php:1024 +#: ../../include/conversation.php:574 ../../mod/photos.php:1063 msgctxt "title" msgid "Likes" msgstr "Liker" -#: ../../include/conversation.php:574 ../../mod/photos.php:1024 +#: ../../include/conversation.php:574 ../../mod/photos.php:1063 msgctxt "title" msgid "Dislikes" msgstr "Liker ikke" -#: ../../include/conversation.php:575 ../../mod/photos.php:1025 +#: ../../include/conversation.php:575 ../../mod/photos.php:1064 msgctxt "title" msgid "Agree" msgstr "Enig" -#: ../../include/conversation.php:575 ../../mod/photos.php:1025 +#: ../../include/conversation.php:575 ../../mod/photos.php:1064 msgctxt "title" msgid "Disagree" msgstr "Uenig" -#: ../../include/conversation.php:575 ../../mod/photos.php:1025 +#: ../../include/conversation.php:575 ../../mod/photos.php:1064 msgctxt "title" msgid "Abstain" msgstr "Avstår" -#: ../../include/conversation.php:576 ../../mod/photos.php:1026 +#: ../../include/conversation.php:576 ../../mod/photos.php:1065 msgctxt "title" msgid "Attending" msgstr "Deltar" -#: ../../include/conversation.php:576 ../../mod/photos.php:1026 +#: ../../include/conversation.php:576 ../../mod/photos.php:1065 msgctxt "title" msgid "Not attending" msgstr "Deltar ikke" -#: ../../include/conversation.php:576 ../../mod/photos.php:1026 +#: ../../include/conversation.php:576 ../../mod/photos.php:1065 msgctxt "title" msgid "Might attend" msgstr "Deltar kanskje" -#: ../../include/conversation.php:661 ../../include/ItemObject.php:126 +#: ../../include/conversation.php:656 ../../include/ItemObject.php:126 msgid "Select" msgstr "Velg" -#: ../../include/conversation.php:669 ../../include/ItemObject.php:89 +#: ../../include/conversation.php:664 ../../include/ItemObject.php:89 msgid "Private Message" msgstr "Privat melding" -#: ../../include/conversation.php:676 ../../include/ItemObject.php:227 +#: ../../include/conversation.php:671 ../../include/ItemObject.php:227 msgid "Message signature validated" msgstr "Innleggets signatur er bekreftet" -#: ../../include/conversation.php:677 ../../include/ItemObject.php:228 +#: ../../include/conversation.php:672 ../../include/ItemObject.php:228 msgid "Message signature incorrect" msgstr "Innleggets signatur er feil" -#: ../../include/conversation.php:694 +#: ../../include/conversation.php:691 #, php-format msgid "View %s's profile @ %s" msgstr "Vis %s sin profile @ %s" -#: ../../include/conversation.php:709 +#: ../../include/conversation.php:710 msgid "Categories:" msgstr "Kategorier:" -#: ../../include/conversation.php:710 +#: ../../include/conversation.php:711 msgid "Filed under:" msgstr "Sortert under:" -#: ../../include/conversation.php:718 ../../include/ItemObject.php:314 +#: ../../include/conversation.php:719 ../../include/ItemObject.php:334 #, php-format msgid "from %s" msgstr "fra %s" -#: ../../include/conversation.php:721 ../../include/ItemObject.php:317 +#: ../../include/conversation.php:722 ../../include/ItemObject.php:337 #, php-format msgid "last edited: %s" msgstr "sist endret: %s" -#: ../../include/conversation.php:722 ../../include/ItemObject.php:318 +#: ../../include/conversation.php:723 ../../include/ItemObject.php:338 #, php-format msgid "Expires: %s" msgstr "Utløper: %s" -#: ../../include/conversation.php:737 +#: ../../include/conversation.php:738 msgid "View in context" msgstr "Vis i sammenheng" -#: ../../include/conversation.php:739 ../../include/conversation.php:1212 -#: ../../include/ItemObject.php:366 ../../mod/editpost.php:130 -#: ../../mod/editblock.php:150 ../../mod/photos.php:990 ../../mod/mail.php:237 -#: ../../mod/mail.php:365 ../../mod/editlayout.php:148 -#: ../../mod/editwebpage.php:190 +#: ../../include/conversation.php:740 ../../include/conversation.php:1227 +#: ../../include/ItemObject.php:389 ../../mod/editwebpage.php:190 +#: ../../mod/photos.php:1029 ../../mod/editblock.php:150 +#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129 msgid "Please wait" msgstr "Vennligst vent" -#: ../../include/conversation.php:848 +#: ../../include/conversation.php:850 msgid "remove" msgstr "fjern" -#: ../../include/conversation.php:852 ../../include/nav.php:241 +#: ../../include/conversation.php:854 ../../include/nav.php:241 msgid "Loading..." msgstr "Laster..." -#: ../../include/conversation.php:853 +#: ../../include/conversation.php:855 msgid "Delete Selected Items" msgstr "Slett valgte elementer" -#: ../../include/conversation.php:941 +#: ../../include/conversation.php:946 msgid "View Source" msgstr "Vis kilde" -#: ../../include/conversation.php:942 +#: ../../include/conversation.php:947 msgid "Follow Thread" msgstr "Følg tråd" -#: ../../include/conversation.php:943 +#: ../../include/conversation.php:948 +msgid "Unfollow Thread" +msgstr "Ikke følg tråd" + +#: ../../include/conversation.php:949 msgid "View Status" msgstr "Vis status" -#: ../../include/conversation.php:944 ../../include/nav.php:86 -#: ../../mod/connedit.php:494 +#: ../../include/conversation.php:950 ../../include/nav.php:86 +#: ../../mod/connedit.php:498 msgid "View Profile" msgstr "Vis profil" -#: ../../include/conversation.php:945 +#: ../../include/conversation.php:951 msgid "View Photos" msgstr "Vis bilder" -#: ../../include/conversation.php:946 +#: ../../include/conversation.php:952 msgid "Activity/Posts" msgstr "Aktivitet/Innlegg" -#: ../../include/conversation.php:948 +#: ../../include/conversation.php:954 msgid "Edit Connection" msgstr "Endre forbindelse" -#: ../../include/conversation.php:949 +#: ../../include/conversation.php:955 msgid "Send PM" msgstr "Send privat melding" -#: ../../include/conversation.php:950 ../../include/apps.php:145 +#: ../../include/conversation.php:956 ../../include/apps.php:145 msgid "Poke" msgstr "Prikk" -#: ../../include/conversation.php:1064 +#: ../../include/conversation.php:1070 #, php-format msgid "%s likes this." msgstr "%s liker dette." -#: ../../include/conversation.php:1064 +#: ../../include/conversation.php:1070 #, php-format msgid "%s doesn't like this." msgstr "%s liker ikke dette." -#: ../../include/conversation.php:1068 +#: ../../include/conversation.php:1074 #, 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> liker dette." msgstr[1] "<span %1$s>%2$d personer</span> liker dette." -#: ../../include/conversation.php:1070 +#: ../../include/conversation.php:1076 #, 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> liker ikke dette." msgstr[1] "<span %1$s>%2$d personer</span> liker ikke dette." -#: ../../include/conversation.php:1076 +#: ../../include/conversation.php:1082 msgid "and" msgstr "og" -#: ../../include/conversation.php:1079 +#: ../../include/conversation.php:1085 #, php-format msgid ", and %d other people" msgid_plural ", and %d other people" msgstr[0] ", og %d annen person" msgstr[1] ", og %d andre personer" -#: ../../include/conversation.php:1080 +#: ../../include/conversation.php:1086 #, php-format msgid "%s like this." msgstr "%s liker dette." -#: ../../include/conversation.php:1080 +#: ../../include/conversation.php:1086 #, php-format msgid "%s don't like this." msgstr "%s liker ikke dette." -#: ../../include/conversation.php:1143 +#: ../../include/conversation.php:1154 msgid "Visible to <strong>everybody</strong>" msgstr "Synlig for <strong>alle</strong>" -#: ../../include/conversation.php:1144 ../../mod/mail.php:170 -#: ../../mod/mail.php:299 +#: ../../include/conversation.php:1155 ../../mod/mail.php:194 +#: ../../mod/mail.php:308 msgid "Please enter a link URL:" msgstr "Vennligst skriv inn en lenke URL:" -#: ../../include/conversation.php:1145 +#: ../../include/conversation.php:1156 msgid "Please enter a video link/URL:" msgstr "Vennligst skriv en videolenke/URL:" -#: ../../include/conversation.php:1146 +#: ../../include/conversation.php:1157 msgid "Please enter an audio link/URL:" msgstr "Vennligst skriv en lydlenke/URL:" -#: ../../include/conversation.php:1147 +#: ../../include/conversation.php:1158 msgid "Tag term:" msgstr "Merkelapp:" -#: ../../include/conversation.php:1148 ../../mod/filer.php:48 +#: ../../include/conversation.php:1159 ../../mod/filer.php:48 msgid "Save to Folder:" msgstr "Lagre til mappe:" -#: ../../include/conversation.php:1149 +#: ../../include/conversation.php:1160 msgid "Where are you right now?" msgstr "Hvor er du akkurat nå?" -#: ../../include/conversation.php:1150 ../../mod/editpost.php:54 -#: ../../mod/mail.php:171 ../../mod/mail.php:300 +#: ../../include/conversation.php:1161 ../../mod/mail.php:195 +#: ../../mod/mail.php:309 ../../mod/editpost.php:56 msgid "Expires YYYY-MM-DD HH:MM" msgstr "Utløper YYYY-MM-DD HH:MM" -#: ../../include/conversation.php:1158 ../../include/page_widgets.php:40 -#: ../../include/ItemObject.php:683 ../../mod/editpost.php:150 -#: ../../mod/editblock.php:171 ../../mod/photos.php:1010 -#: ../../mod/events.php:707 ../../mod/webpages.php:188 -#: ../../mod/editwebpage.php:212 +#: ../../include/conversation.php:1169 ../../include/page_widgets.php:40 +#: ../../include/ItemObject.php:706 ../../mod/editwebpage.php:212 +#: ../../mod/photos.php:1049 ../../mod/editblock.php:171 +#: ../../mod/webpages.php:188 ../../mod/editpost.php:149 +#: ../../mod/events.php:473 msgid "Preview" msgstr "Forhåndsvisning" -#: ../../include/conversation.php:1177 ../../mod/layouts.php:184 -#: ../../mod/photos.php:989 ../../mod/webpages.php:182 -#: ../../mod/blocks.php:154 +#: ../../include/conversation.php:1192 ../../mod/blocks.php:154 +#: ../../mod/photos.php:1028 ../../mod/webpages.php:182 +#: ../../mod/layouts.php:184 msgid "Share" msgstr "Del" -#: ../../include/conversation.php:1179 +#: ../../include/conversation.php:1194 msgid "Page link name" msgstr "Sidens lenkenavn" -#: ../../include/conversation.php:1182 +#: ../../include/conversation.php:1197 msgid "Post as" msgstr "Lag innlegg som" -#: ../../include/conversation.php:1184 ../../include/ItemObject.php:675 -#: ../../mod/editpost.php:114 ../../mod/editblock.php:136 -#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177 +#: ../../include/conversation.php:1199 ../../include/ItemObject.php:698 +#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:136 +#: ../../mod/editlayout.php:135 ../../mod/editpost.php:113 msgid "Bold" msgstr "Uthevet" -#: ../../include/conversation.php:1185 ../../include/ItemObject.php:676 -#: ../../mod/editpost.php:115 ../../mod/editblock.php:137 -#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178 +#: ../../include/conversation.php:1200 ../../include/ItemObject.php:699 +#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:137 +#: ../../mod/editlayout.php:136 ../../mod/editpost.php:114 msgid "Italic" msgstr "Kursiv" -#: ../../include/conversation.php:1186 ../../include/ItemObject.php:677 -#: ../../mod/editpost.php:116 ../../mod/editblock.php:138 -#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179 +#: ../../include/conversation.php:1201 ../../include/ItemObject.php:700 +#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:138 +#: ../../mod/editlayout.php:137 ../../mod/editpost.php:115 msgid "Underline" msgstr "Understreket" -#: ../../include/conversation.php:1187 ../../include/ItemObject.php:678 -#: ../../mod/editpost.php:117 ../../mod/editblock.php:139 -#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180 +#: ../../include/conversation.php:1202 ../../include/ItemObject.php:701 +#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:139 +#: ../../mod/editlayout.php:138 ../../mod/editpost.php:116 msgid "Quote" msgstr "Sitat" -#: ../../include/conversation.php:1188 ../../include/ItemObject.php:679 -#: ../../mod/editpost.php:118 ../../mod/editblock.php:140 -#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181 +#: ../../include/conversation.php:1203 ../../include/ItemObject.php:702 +#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:140 +#: ../../mod/editlayout.php:139 ../../mod/editpost.php:117 msgid "Code" msgstr "Kode" -#: ../../include/conversation.php:1189 ../../mod/editpost.php:119 -#: ../../mod/editblock.php:142 ../../mod/mail.php:234 ../../mod/mail.php:361 -#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:182 +#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:182 +#: ../../mod/editblock.php:142 ../../mod/editlayout.php:140 +#: ../../mod/editpost.php:118 msgid "Upload photo" msgstr "Last opp bilde" -#: ../../include/conversation.php:1190 +#: ../../include/conversation.php:1205 msgid "upload photo" msgstr "last opp bilde" -#: ../../include/conversation.php:1191 ../../mod/editpost.php:120 -#: ../../mod/editblock.php:143 ../../mod/mail.php:235 ../../mod/mail.php:362 -#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183 +#: ../../include/conversation.php:1206 ../../mod/editwebpage.php:183 +#: ../../mod/editblock.php:143 ../../mod/editlayout.php:141 +#: ../../mod/mail.php:240 ../../mod/mail.php:369 ../../mod/editpost.php:119 msgid "Attach file" msgstr "Legg ved fil" -#: ../../include/conversation.php:1192 +#: ../../include/conversation.php:1207 msgid "attach file" msgstr "legg ved fil" -#: ../../include/conversation.php:1193 ../../mod/editpost.php:121 -#: ../../mod/editblock.php:144 ../../mod/mail.php:236 ../../mod/mail.php:363 -#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184 +#: ../../include/conversation.php:1208 ../../mod/editwebpage.php:184 +#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142 +#: ../../mod/mail.php:241 ../../mod/mail.php:370 ../../mod/editpost.php:120 msgid "Insert web link" msgstr "Sett inn web-lenke" -#: ../../include/conversation.php:1194 +#: ../../include/conversation.php:1209 msgid "web link" msgstr "web-lenke" -#: ../../include/conversation.php:1195 +#: ../../include/conversation.php:1210 msgid "Insert video link" msgstr "Sett inn videolenke" -#: ../../include/conversation.php:1196 +#: ../../include/conversation.php:1211 msgid "video link" msgstr "videolenke" -#: ../../include/conversation.php:1197 +#: ../../include/conversation.php:1212 msgid "Insert audio link" msgstr "Sett inn lenke til lyd" -#: ../../include/conversation.php:1198 +#: ../../include/conversation.php:1213 msgid "audio link" msgstr "lenke til lyd" -#: ../../include/conversation.php:1199 ../../mod/editpost.php:125 +#: ../../include/conversation.php:1214 ../../mod/editwebpage.php:188 #: ../../mod/editblock.php:148 ../../mod/editlayout.php:146 -#: ../../mod/editwebpage.php:188 +#: ../../mod/editpost.php:124 msgid "Set your location" msgstr "Angi din plassering" -#: ../../include/conversation.php:1200 +#: ../../include/conversation.php:1215 msgid "set location" msgstr "angi plassering" -#: ../../include/conversation.php:1201 ../../mod/editpost.php:127 +#: ../../include/conversation.php:1216 ../../mod/editpost.php:126 msgid "Toggle voting" msgstr "Skru av eller på stemming" -#: ../../include/conversation.php:1204 ../../mod/editpost.php:126 +#: ../../include/conversation.php:1219 ../../mod/editwebpage.php:189 #: ../../mod/editblock.php:149 ../../mod/editlayout.php:147 -#: ../../mod/editwebpage.php:189 +#: ../../mod/editpost.php:125 msgid "Clear browser location" msgstr "Fjern nettleserplassering" -#: ../../include/conversation.php:1205 +#: ../../include/conversation.php:1220 msgid "clear location" msgstr "fjern plassering" -#: ../../include/conversation.php:1207 ../../mod/editpost.php:142 -#: ../../mod/editblock.php:162 ../../mod/editwebpage.php:205 +#: ../../include/conversation.php:1222 ../../mod/editwebpage.php:205 +#: ../../mod/editblock.php:162 ../../mod/editpost.php:141 msgid "Title (optional)" msgstr "Tittel (valgfri)" -#: ../../include/conversation.php:1211 ../../mod/editpost.php:144 +#: ../../include/conversation.php:1226 ../../mod/editwebpage.php:207 #: ../../mod/editblock.php:165 ../../mod/editlayout.php:163 -#: ../../mod/editwebpage.php:207 +#: ../../mod/editpost.php:143 msgid "Categories (optional, comma-separated list)" msgstr "Kategorier (valgfri, kommaseparert liste)" -#: ../../include/conversation.php:1213 ../../mod/editpost.php:131 +#: ../../include/conversation.php:1228 ../../mod/editwebpage.php:191 #: ../../mod/editblock.php:151 ../../mod/editlayout.php:149 -#: ../../mod/editwebpage.php:191 +#: ../../mod/editpost.php:130 ../../mod/events.php:474 msgid "Permission settings" msgstr "Tillatelser - innstillinger" -#: ../../include/conversation.php:1214 +#: ../../include/conversation.php:1229 msgid "permissions" msgstr "tillatelser" -#: ../../include/conversation.php:1222 ../../mod/editpost.php:139 +#: ../../include/conversation.php:1237 ../../mod/editwebpage.php:200 #: ../../mod/editblock.php:159 ../../mod/editlayout.php:156 -#: ../../mod/editwebpage.php:200 +#: ../../mod/editpost.php:138 msgid "Public post" msgstr "Offentlig innlegg" -#: ../../include/conversation.php:1224 ../../mod/editpost.php:145 +#: ../../include/conversation.php:1239 ../../mod/editwebpage.php:208 #: ../../mod/editblock.php:166 ../../mod/editlayout.php:164 -#: ../../mod/editwebpage.php:208 +#: ../../mod/editpost.php:144 msgid "Example: bob@example.com, mary@example.com" msgstr "Eksempel: ola@eksempel.no, kari@eksempel.no" -#: ../../include/conversation.php:1237 ../../mod/editpost.php:156 -#: ../../mod/editblock.php:176 ../../mod/mail.php:241 ../../mod/mail.php:368 -#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217 +#: ../../include/conversation.php:1252 ../../mod/editwebpage.php:217 +#: ../../mod/editblock.php:176 ../../mod/editlayout.php:173 +#: ../../mod/mail.php:245 ../../mod/mail.php:374 ../../mod/editpost.php:155 msgid "Set expiration date" msgstr "Angi utløpsdato" -#: ../../include/conversation.php:1239 ../../include/ItemObject.php:686 -#: ../../mod/editpost.php:158 ../../mod/mail.php:243 ../../mod/mail.php:370 +#: ../../include/conversation.php:1255 +msgid "Set publish date" +msgstr "Angi publiseringsdato" + +#: ../../include/conversation.php:1257 ../../include/ItemObject.php:709 +#: ../../mod/mail.php:247 ../../mod/mail.php:376 ../../mod/editpost.php:157 msgid "Encrypt text" msgstr "Krypter tekst" -#: ../../include/conversation.php:1241 ../../mod/editpost.php:160 -#: ../../mod/events.php:691 +#: ../../include/conversation.php:1259 ../../mod/editpost.php:159 msgid "OK" msgstr "OK" -#: ../../include/conversation.php:1242 ../../mod/fbrowser.php:82 -#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:161 -#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 -#: ../../mod/settings.php:584 ../../mod/settings.php:610 +#: ../../include/conversation.php:1260 ../../mod/fbrowser.php:82 +#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 +#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/editpost.php:160 msgid "Cancel" msgstr "Avbryt" -#: ../../include/conversation.php:1485 +#: ../../include/conversation.php:1503 msgid "Discover" msgstr "Oppdage" -#: ../../include/conversation.php:1488 +#: ../../include/conversation.php:1506 msgid "Imported public streams" msgstr "Importerte offentlige strømmer" -#: ../../include/conversation.php:1493 +#: ../../include/conversation.php:1511 msgid "Commented Order" msgstr "Kommentert" -#: ../../include/conversation.php:1496 +#: ../../include/conversation.php:1514 msgid "Sort by Comment Date" msgstr "Sorter etter kommentert dato" -#: ../../include/conversation.php:1500 +#: ../../include/conversation.php:1518 msgid "Posted Order" msgstr "Lagt inn" -#: ../../include/conversation.php:1503 +#: ../../include/conversation.php:1521 msgid "Sort by Post Date" msgstr "Sorter etter innleggsdato" -#: ../../include/conversation.php:1508 ../../include/widgets.php:94 -msgid "Personal" -msgstr "Personlig" - -#: ../../include/conversation.php:1511 +#: ../../include/conversation.php:1529 msgid "Posts that mention or involve you" msgstr "Innlegg som nevner eller involverer deg" -#: ../../include/conversation.php:1517 ../../mod/menu.php:112 -#: ../../mod/connections.php:72 ../../mod/connections.php:82 +#: ../../include/conversation.php:1535 ../../mod/connections.php:72 +#: ../../mod/connections.php:82 ../../mod/menu.php:112 msgid "New" msgstr "Nye" -#: ../../include/conversation.php:1520 +#: ../../include/conversation.php:1538 msgid "Activity Stream - by date" msgstr "Aktivitetsstrøm - etter dato" -#: ../../include/conversation.php:1526 +#: ../../include/conversation.php:1544 msgid "Starred" msgstr "Stjerne" -#: ../../include/conversation.php:1529 +#: ../../include/conversation.php:1547 msgid "Favourite Posts" msgstr "Favorittinnlegg" -#: ../../include/conversation.php:1536 +#: ../../include/conversation.php:1554 msgid "Spam" msgstr "Søppel" -#: ../../include/conversation.php:1539 +#: ../../include/conversation.php:1557 msgid "Posts flagged as SPAM" msgstr "Innlegg merket som SØPPEL" -#: ../../include/conversation.php:1583 ../../mod/admin.php:947 +#: ../../include/conversation.php:1601 ../../mod/admin.php:973 msgid "Channel" msgstr "Kanal" -#: ../../include/conversation.php:1586 +#: ../../include/conversation.php:1604 msgid "Status Messages and Posts" msgstr "Statusmeldinger og -innlegg" -#: ../../include/conversation.php:1595 +#: ../../include/conversation.php:1613 msgid "About" msgstr "Om" -#: ../../include/conversation.php:1598 +#: ../../include/conversation.php:1616 msgid "Profile Details" msgstr "Profildetaljer" -#: ../../include/conversation.php:1604 ../../include/apps.php:139 -#: ../../include/nav.php:92 ../../mod/fbrowser.php:25 +#: ../../include/conversation.php:1622 ../../include/nav.php:92 +#: ../../include/apps.php:139 ../../mod/fbrowser.php:25 msgid "Photos" msgstr "Bilder" -#: ../../include/conversation.php:1607 ../../include/photos.php:422 +#: ../../include/conversation.php:1625 ../../include/photos.php:483 msgid "Photo Albums" msgstr "Fotoalbum" -#: ../../include/conversation.php:1614 +#: ../../include/conversation.php:1632 msgid "Files and Storage" msgstr "Filer og lagring" -#: ../../include/conversation.php:1624 ../../include/conversation.php:1627 +#: ../../include/conversation.php:1642 ../../include/conversation.php:1645 msgid "Chatrooms" msgstr "Chatrom" -#: ../../include/conversation.php:1637 ../../include/apps.php:129 -#: ../../include/nav.php:103 +#: ../../include/conversation.php:1655 ../../include/nav.php:103 +#: ../../include/apps.php:129 msgid "Bookmarks" msgstr "Bokmerker" -#: ../../include/conversation.php:1640 +#: ../../include/conversation.php:1658 msgid "Saved Bookmarks" msgstr "Lagrede bokmerker" -#: ../../include/conversation.php:1647 ../../include/apps.php:136 -#: ../../include/nav.php:107 ../../mod/webpages.php:178 +#: ../../include/conversation.php:1665 ../../include/nav.php:107 +#: ../../include/apps.php:136 ../../mod/webpages.php:178 msgid "Webpages" msgstr "Websider" -#: ../../include/conversation.php:1650 +#: ../../include/conversation.php:1668 msgid "Manage Webpages" msgstr "Håndtere websider" -#: ../../include/conversation.php:1679 ../../include/ItemObject.php:175 -#: ../../include/ItemObject.php:187 ../../mod/photos.php:1043 -#: ../../mod/photos.php:1055 +#: ../../include/conversation.php:1697 ../../include/ItemObject.php:175 +#: ../../include/ItemObject.php:187 ../../mod/photos.php:1082 +#: ../../mod/photos.php:1094 msgid "View all" msgstr "Vis alle" -#: ../../include/conversation.php:1703 ../../include/taxonomy.php:403 -#: ../../include/identity.php:1252 ../../include/ItemObject.php:179 -#: ../../mod/photos.php:1047 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "Liker" -msgstr[1] "Liker" - -#: ../../include/conversation.php:1706 ../../include/ItemObject.php:184 -#: ../../mod/photos.php:1052 +#: ../../include/conversation.php:1724 ../../include/ItemObject.php:184 +#: ../../mod/photos.php:1091 msgctxt "noun" msgid "Dislike" msgid_plural "Dislikes" msgstr[0] "Liker ikke" msgstr[1] "Liker ikke" -#: ../../include/conversation.php:1709 +#: ../../include/conversation.php:1727 msgctxt "noun" msgid "Attending" msgid_plural "Attending" msgstr[0] "Deltar" msgstr[1] "Deltar" -#: ../../include/conversation.php:1712 +#: ../../include/conversation.php:1730 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" msgstr[0] "Deltar ikke" msgstr[1] "Deltar ikke" -#: ../../include/conversation.php:1715 +#: ../../include/conversation.php:1733 msgctxt "noun" msgid "Undecided" msgid_plural "Undecided" msgstr[0] "Ikke bestemt" msgstr[1] "Ikke bestemt" -#: ../../include/conversation.php:1718 +#: ../../include/conversation.php:1736 msgctxt "noun" msgid "Agree" msgid_plural "Agrees" msgstr[0] "Enig" msgstr[1] "Enige" -#: ../../include/conversation.php:1721 +#: ../../include/conversation.php:1739 msgctxt "noun" msgid "Disagree" msgid_plural "Disagrees" msgstr[0] "Uenig" msgstr[1] "Uenige" -#: ../../include/conversation.php:1724 +#: ../../include/conversation.php:1742 msgctxt "noun" msgid "Abstain" msgid_plural "Abstains" msgstr[0] "Avstår" msgstr[1] "Avstår" -#: ../../include/api.php:1290 -msgid "Public Timeline" -msgstr "Offentlig tidslinje" +#: ../../include/auth.php:132 +msgid "Logged out." +msgstr "Logget ut." + +#: ../../include/auth.php:273 +msgid "Failed authentication" +msgstr "Mislykket autentisering" + +#: ../../include/auth.php:287 ../../mod/openid.php:189 +msgid "Login failed." +msgstr "Innlogging mislyktes." + +#: ../../include/contact_selectors.php:56 +msgid "Frequently" +msgstr "Ofte" + +#: ../../include/contact_selectors.php:57 +msgid "Hourly" +msgstr "Hver time" + +#: ../../include/contact_selectors.php:58 +msgid "Twice daily" +msgstr "To ganger daglig" + +#: ../../include/contact_selectors.php:59 +msgid "Daily" +msgstr "Daglig" + +#: ../../include/contact_selectors.php:60 +msgid "Weekly" +msgstr "Ukentlig" + +#: ../../include/contact_selectors.php:61 +msgid "Monthly" +msgstr "Månedlig" + +#: ../../include/contact_selectors.php:76 +msgid "Friendica" +msgstr "Friendica" + +#: ../../include/contact_selectors.php:77 +msgid "OStatus" +msgstr "OStatus" + +#: ../../include/contact_selectors.php:78 +msgid "RSS/Atom" +msgstr "RSS/Atom" + +#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 +#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 +#: ../../boot.php:1488 +msgid "Email" +msgstr "E-post" + +#: ../../include/contact_selectors.php:80 +msgid "Diaspora" +msgstr "Diaspora" + +#: ../../include/contact_selectors.php:81 +msgid "Facebook" +msgstr "Facebook" -#: ../../include/photos.php:109 +#: ../../include/contact_selectors.php:82 +msgid "Zot!" +msgstr "Zot!" + +#: ../../include/contact_selectors.php:83 +msgid "LinkedIn" +msgstr "LinkedIn" + +#: ../../include/contact_selectors.php:84 +msgid "XMPP/IM" +msgstr "XMPP/IM" + +#: ../../include/contact_selectors.php:85 +msgid "MySpace" +msgstr "MySpace" + +#: ../../include/zot.php:685 +msgid "Invalid data packet" +msgstr "Ugyldig datapakke" + +#: ../../include/zot.php:701 +msgid "Unable to verify channel signature" +msgstr "Ikke i stand til å sjekke kanalsignaturen" + +#: ../../include/zot.php:2265 #, php-format -msgid "Image exceeds website size limit of %lu bytes" -msgstr "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes" +msgid "Unable to verify site signature for %s" +msgstr "Ikke i stand til å bekrefte signaturen til %s" -#: ../../include/photos.php:116 -msgid "Image file is empty." -msgstr "Bildefilen er tom." +#: ../../include/zot.php:3592 +msgid "invalid target signature" +msgstr "Målets signatur er ugyldig" -#: ../../include/photos.php:143 ../../mod/profile_photo.php:222 -msgid "Unable to process image" -msgstr "Kan ikke behandle bildet" +#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 +#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 +#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 +#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 +#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 +#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 +#: ../../include/bbcode.php:833 +msgid "Image/photo" +msgstr "Bilde/fotografi" -#: ../../include/photos.php:219 -msgid "Photo storage failed." -msgstr "Bildelagring mislyktes." +#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 +msgid "Encrypted content" +msgstr "Kryptert innhold" -#: ../../include/photos.php:426 -msgid "Upload New Photos" -msgstr "Last opp nye bilder" +#: ../../include/bbcode.php:179 +#, php-format +msgid "Install %s element: " +msgstr "Installer %s element:" -#: ../../include/enotify.php:57 ../../include/network.php:1613 -msgid "$Projectname Notification" -msgstr "$Projectname varsling" +#: ../../include/bbcode.php:183 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." +msgstr "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet." -#: ../../include/enotify.php:58 ../../include/network.php:1614 -msgid "$projectname" -msgstr "$projectname" +#: ../../include/bbcode.php:193 ../../mod/impel.php:37 +msgid "webpage" +msgstr "nettside" -#: ../../include/enotify.php:60 ../../include/network.php:1616 -msgid "Thank You," -msgstr "Tusen takk," +#: ../../include/bbcode.php:196 ../../mod/impel.php:47 +msgid "layout" +msgstr "layout" + +#: ../../include/bbcode.php:199 ../../mod/impel.php:42 +msgid "block" +msgstr "byggekloss" + +#: ../../include/bbcode.php:202 ../../mod/impel.php:54 +msgid "menu" +msgstr "meny" -#: ../../include/enotify.php:62 ../../include/network.php:1618 +#: ../../include/bbcode.php:257 #, php-format -msgid "%s Administrator" -msgstr "%s administrator" +msgid "%1$s wrote the following %2$s %3$s" +msgstr "%1$s skrev følgende %2$s %3$s" + +#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 +msgid "post" +msgstr "innlegg" + +#: ../../include/bbcode.php:547 +msgid "Different viewers will see this text differently" +msgstr "Denne teksten vil se forskjellig ut for ulike besøkende" + +#: ../../include/bbcode.php:755 +msgid "$1 spoiler" +msgstr "$1 avsløring" + +#: ../../include/bbcode.php:782 +msgid "$1 wrote:" +msgstr "$1 skrev:" + +#: ../../include/contact_widgets.php:14 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "%d invitasjon tilgjengelig" +msgstr[1] "%d invitasjoner tilgjengelig" + +#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 +msgid "Advanced" +msgstr "Avansert" + +#: ../../include/contact_widgets.php:22 +msgid "Find Channels" +msgstr "Finn kanaler" + +#: ../../include/contact_widgets.php:23 +msgid "Enter name or interest" +msgstr "Skriv navn eller interesse" + +#: ../../include/contact_widgets.php:24 +msgid "Connect/Follow" +msgstr "Forbindelse/Følg" + +#: ../../include/contact_widgets.php:25 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "Eksempler: Ola Nordmann, fisking" + +#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 +#: ../../mod/directory.php:386 ../../mod/connections.php:266 +msgid "Find" +msgstr "Finn" + +#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 +#: ../../mod/suggest.php:60 +msgid "Channel Suggestions" +msgstr "Kanalforslag" + +#: ../../include/contact_widgets.php:29 +msgid "Random Profile" +msgstr "Tilfeldig profil" + +#: ../../include/contact_widgets.php:30 +msgid "Invite Friends" +msgstr "Inviter venner" + +#: ../../include/contact_widgets.php:32 +msgid "Advanced example: name=fred and country=iceland" +msgstr "Avansert eksempel: navn=fred og land=island" + +#: ../../include/contact_widgets.php:128 +#, php-format +msgid "%d connection in common" +msgid_plural "%d connections in common" +msgstr[0] "%d forbindelse felles" +msgstr[1] "%d forbindelser felles" + +#: ../../include/contact_widgets.php:133 +msgid "show more" +msgstr "vis mer" + +#: ../../include/dir_fns.php:139 +msgid "Directory Options" +msgstr "Kataloginnstillinger" + +#: ../../include/dir_fns.php:141 +msgid "Safe Mode" +msgstr "Trygt modus" + +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/connedit.php:635 ../../mod/connedit.php:684 ../../mod/api.php:106 +#: ../../mod/photos.php:626 ../../mod/admin.php:410 ../../mod/settings.php:577 +#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/events.php:462 +#: ../../mod/events.php:463 ../../mod/events.php:472 ../../mod/mitem.php:154 +#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229 +#: ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 +msgid "No" +msgstr "Nei" + +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/api.php:105 ../../mod/photos.php:626 ../../mod/admin.php:412 +#: ../../mod/settings.php:577 ../../mod/menu.php:96 ../../mod/menu.php:153 +#: ../../mod/events.php:462 ../../mod/events.php:463 ../../mod/events.php:472 +#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 +#: ../../mod/mitem.php:229 ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 +msgid "Yes" +msgstr "Ja" + +#: ../../include/dir_fns.php:142 +msgid "Public Forums Only" +msgstr "Bare offentlige forum" + +#: ../../include/dir_fns.php:143 +msgid "This Website Only" +msgstr "Kun dette nettstedet" #: ../../include/enotify.php:96 #, php-format @@ -1842,8 +3044,8 @@ msgstr "%s <!item_type!>" #: ../../include/enotify.php:100 #, php-format -msgid "[Red:Notify] New mail received at %s" -msgstr "[Red:Notify] Ny melding mottatt hos %s" +msgid "[Hubzilla:Notify] New mail received at %s" +msgstr "[Hubzilla:Notify] Ny melding mottatt hos %s" #: ../../include/enotify.php:102 #, php-format @@ -1864,1235 +3066,662 @@ msgstr "en privat melding" msgid "Please visit %s to view and/or reply to your private messages." msgstr "Vennligst besøk %s for å se og/eller svare på dine private meldinger." -#: ../../include/enotify.php:158 +#: ../../include/enotify.php:160 #, php-format msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]" msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]a %4$s[/zrl]" -#: ../../include/enotify.php:166 +#: ../../include/enotify.php:168 #, php-format msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]" msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]%4$s's %5$s[/zrl]" -#: ../../include/enotify.php:175 +#: ../../include/enotify.php:177 #, php-format msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]" msgstr "%1$s, %2$s kommenterte på [zrl=%3$s]din %4$s[/zrl]" -#: ../../include/enotify.php:186 +#: ../../include/enotify.php:188 #, php-format -msgid "[Red:Notify] Comment to conversation #%1$d by %2$s" -msgstr "[Red:Notify] Kommentar til samtale #%1$d av %2$s" +msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s" +msgstr "[Hubzilla:Notify] Kommentar til samtale #%1$d av %2$s" -#: ../../include/enotify.php:187 +#: ../../include/enotify.php:189 #, php-format msgid "%1$s, %2$s commented on an item/conversation you have been following." msgstr "%1$s, %2$s kommenterte på et element eller en samtale du følger" -#: ../../include/enotify.php:190 ../../include/enotify.php:205 -#: ../../include/enotify.php:231 ../../include/enotify.php:249 -#: ../../include/enotify.php:263 +#: ../../include/enotify.php:192 ../../include/enotify.php:207 +#: ../../include/enotify.php:233 ../../include/enotify.php:251 +#: ../../include/enotify.php:265 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "Vennligst besøk %s for å se og/eller svare i samtalen" -#: ../../include/enotify.php:196 +#: ../../include/enotify.php:198 #, php-format -msgid "[Red:Notify] %s posted to your profile wall" -msgstr "[Red:Notify] %s skrev et innlegg på din profilvegg" +msgid "[Hubzilla:Notify] %s posted to your profile wall" +msgstr "[Hubzilla:Notify] %s skrev et innlegg på din profilvegg" -#: ../../include/enotify.php:198 +#: ../../include/enotify.php:200 #, php-format msgid "%1$s, %2$s posted to your profile wall at %3$s" msgstr "%1$s, %2$s skrev et innlegg på din profilvegg på %3$s" -#: ../../include/enotify.php:200 +#: ../../include/enotify.php:202 #, php-format msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]" msgstr "%1$s, %2$s skrev et innlegg på [zrl=%3$s]din vegg[/zrl]" -#: ../../include/enotify.php:224 +#: ../../include/enotify.php:226 #, php-format -msgid "[Red:Notify] %s tagged you" -msgstr "[Red:Notify] %s merket deg" +msgid "[Hubzilla:Notify] %s tagged you" +msgstr "[Hubzilla:Notify] %s merket deg" -#: ../../include/enotify.php:225 +#: ../../include/enotify.php:227 #, php-format msgid "%1$s, %2$s tagged you at %3$s" msgstr "%1$s, %2$s merket deg på %3$s" -#: ../../include/enotify.php:226 +#: ../../include/enotify.php:228 #, php-format msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]." msgstr "%1$s, %2$s [zrl=%3$s]merket deg[/zrl]." -#: ../../include/enotify.php:238 +#: ../../include/enotify.php:240 #, php-format -msgid "[Red:Notify] %1$s poked you" -msgstr "[Red:Notify] %1$s prikket deg" +msgid "[Hubzilla:Notify] %1$s poked you" +msgstr "[Hubzilla:Notify] %1$s prikket deg" -#: ../../include/enotify.php:239 +#: ../../include/enotify.php:241 #, php-format msgid "%1$s, %2$s poked you at %3$s" msgstr "%1$s, %2$s dyttet deg på %3$s" -#: ../../include/enotify.php:240 +#: ../../include/enotify.php:242 #, php-format msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]." msgstr "%1$s, %2$s [zrl=%2$s]dyttet deg[/zrl]." -#: ../../include/enotify.php:256 +#: ../../include/enotify.php:258 #, php-format -msgid "[Red:Notify] %s tagged your post" -msgstr "[Red:Notify] %s merket ditt innlegg" +msgid "[Hubzilla:Notify] %s tagged your post" +msgstr "[Hubzilla:Notify] %s merket ditt innlegg" -#: ../../include/enotify.php:257 +#: ../../include/enotify.php:259 #, php-format msgid "%1$s, %2$s tagged your post at %3$s" msgstr "%1$s, %2$s merket ditt innlegg på %3$s" -#: ../../include/enotify.php:258 +#: ../../include/enotify.php:260 #, php-format msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]" msgstr "%1$s, %2$s merket [zrl=%3$s]ditt innlegg[/zrl]" -#: ../../include/enotify.php:270 -msgid "[Red:Notify] Introduction received" -msgstr "[Red:Notify] Introduksjon mottatt" +#: ../../include/enotify.php:272 +msgid "[Hubzilla:Notify] Introduction received" +msgstr "[Hubzilla:Notify] Introduksjon mottatt" -#: ../../include/enotify.php:271 +#: ../../include/enotify.php:273 #, php-format msgid "%1$s, you've received an new connection request from '%2$s' at %3$s" msgstr "%1$s, du har mottatt en ny forespørsel om forbindelse fra '%2$s' hos %3$s" -#: ../../include/enotify.php:272 +#: ../../include/enotify.php:274 #, php-format msgid "" "%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s." msgstr "%1$s, du mottok [zrl=%2$s]en ny forespørsel om forbindelse[/zrl] fra %3$s." -#: ../../include/enotify.php:276 ../../include/enotify.php:295 +#: ../../include/enotify.php:278 ../../include/enotify.php:297 #, php-format msgid "You may visit their profile at %s" msgstr "Du kan besøke profilen deres på %s" -#: ../../include/enotify.php:278 +#: ../../include/enotify.php:280 #, php-format msgid "Please visit %s to approve or reject the connection request." msgstr "Vennligst besøk %s for å godkjenne eller avslå forespørselen om forbindelse." -#: ../../include/enotify.php:285 -msgid "[Red:Notify] Friend suggestion received" -msgstr "[Red:Notify] Venneforslag mottatt" +#: ../../include/enotify.php:287 +msgid "[Hubzilla:Notify] Friend suggestion received" +msgstr "[Hubzilla:Notify] Venneforslag mottatt" -#: ../../include/enotify.php:286 +#: ../../include/enotify.php:288 #, php-format msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s" msgstr "%1$s, du har mottatt en venneforespørsel fra '%2$s' hos %3$s" -#: ../../include/enotify.php:287 +#: ../../include/enotify.php:289 #, 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 har mottatt [zrl=%2$s]et venneforslaget[/zrl] angående %3$s fra %4$s. " -#: ../../include/enotify.php:293 +#: ../../include/enotify.php:295 msgid "Name:" msgstr "Navn:" -#: ../../include/enotify.php:294 +#: ../../include/enotify.php:296 msgid "Photo:" msgstr "Bilde:" -#: ../../include/enotify.php:297 +#: ../../include/enotify.php:299 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "Vennligst besøk %s for å godkjenne eller avslå dette forslaget." -#: ../../include/enotify.php:508 -msgid "[Red:Notify]" -msgstr "[Red:Notify]" +#: ../../include/enotify.php:514 +msgid "[Hubzilla:Notify]" +msgstr "[Hubzilla:Notify]" -#: ../../include/network.php:635 -msgid "view full size" -msgstr "vis full størrelse" +#: ../../include/follow.php:28 +msgid "Channel is blocked on this site." +msgstr "Kanalen er blokkert på dette nettstedet." -#: ../../include/network.php:1660 ../../include/account.php:314 -#: ../../include/account.php:341 ../../include/account.php:401 -msgid "Administrator" -msgstr "Administrator" +#: ../../include/follow.php:33 +msgid "Channel location missing." +msgstr "Kanalplassering mangler." -#: ../../include/network.php:1674 -msgid "No Subject" -msgstr "Uten emne" +#: ../../include/follow.php:82 +msgid "Response from remote channel was incomplete." +msgstr "Svaret fra den andre kanalen var ikke komplett." -#: ../../include/bookmarks.php:35 +#: ../../include/follow.php:99 +msgid "Channel was deleted and no longer exists." +msgstr "Kanalen er slettet og finnes ikke lenger." + +#: ../../include/follow.php:152 ../../include/follow.php:180 +msgid "Protocol disabled." +msgstr "Protokollen er avskrudd." + +#: ../../include/follow.php:170 +msgid "Channel discovery failed." +msgstr "Kanaloppdagelse mislyktes." + +#: ../../include/follow.php:196 +msgid "local account not found." +msgstr "lokal konto ble ikke funnet." + +#: ../../include/follow.php:220 +msgid "Cannot connect to yourself." +msgstr "Kan ikke lage forbindelse med deg selv." + +#: ../../include/oembed.php:213 +msgid "Embedded content" +msgstr "Innebygget innhold" + +#: ../../include/oembed.php:222 +msgid "Embedding disabled" +msgstr "Innbygging avskrudd" + +#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485 +msgid "Logout" +msgstr "Logg ut" + +#: ../../include/nav.php:82 ../../include/nav.php:114 +msgid "End this session" +msgstr "Avslutt denne økten" + +#: ../../include/nav.php:85 ../../include/nav.php:145 +msgid "Home" +msgstr "Hjem" + +#: ../../include/nav.php:85 +msgid "Your posts and conversations" +msgstr "Dine innlegg og samtaler" + +#: ../../include/nav.php:86 +msgid "Your profile page" +msgstr "Din profilside" + +#: ../../include/nav.php:88 +msgid "Edit Profiles" +msgstr "Endre profiler" + +#: ../../include/nav.php:88 +msgid "Manage/Edit profiles" +msgstr "Håndter/endre profiler" + +#: ../../include/nav.php:90 +msgid "Edit your profile" +msgstr "Endre din profil" + +#: ../../include/nav.php:92 +msgid "Your photos" +msgstr "Dine bilder" + +#: ../../include/nav.php:93 +msgid "Your files" +msgstr "Dine filer" + +#: ../../include/nav.php:97 ../../include/apps.php:146 +msgid "Chat" +msgstr "Chat" + +#: ../../include/nav.php:97 +msgid "Your chatrooms" +msgstr "Dine chatterom" + +#: ../../include/nav.php:103 +msgid "Your bookmarks" +msgstr "Dine bokmerker" + +#: ../../include/nav.php:107 +msgid "Your webpages" +msgstr "Dine websider" + +#: ../../include/nav.php:111 ../../include/apps.php:131 ../../boot.php:1486 +msgid "Login" +msgstr "Logg inn" + +#: ../../include/nav.php:111 +msgid "Sign in" +msgstr "Logg på" + +#: ../../include/nav.php:128 #, php-format -msgid "%1$s's bookmarks" -msgstr "%1$s sine bokmerker" +msgid "%s - click to logout" +msgstr "%s - klikk for å logge ut" + +#: ../../include/nav.php:131 +msgid "Remote authentication" +msgstr "Fjernautentisering" + +#: ../../include/nav.php:131 +msgid "Click to authenticate to your home hub" +msgstr "Klikk for å godkjennes mot din hjemme-hub" + +#: ../../include/nav.php:145 +msgid "Home Page" +msgstr "Hjemmeside" + +#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462 +msgid "Register" +msgstr "Registrer" + +#: ../../include/nav.php:149 +msgid "Create an account" +msgstr "Lag en konto" + +#: ../../include/nav.php:154 ../../include/apps.php:142 +#: ../../mod/layouts.php:176 ../../mod/help.php:202 ../../mod/help.php:207 +msgid "Help" +msgstr "Hjelp" + +#: ../../include/nav.php:154 +msgid "Help and documentation" +msgstr "Hjelp og dokumentasjon" + +#: ../../include/nav.php:157 +msgid "Applications, utilities, links, games" +msgstr "Programmer, verktøy, lenker, spill" + +#: ../../include/nav.php:159 ../../include/text.php:867 +#: ../../include/text.php:879 ../../include/apps.php:147 +#: ../../mod/search.php:40 +msgid "Search" +msgstr "Søk" + +#: ../../include/nav.php:159 +msgid "Search site @name, #tag, ?docs, content" +msgstr "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold" + +#: ../../include/nav.php:162 ../../include/apps.php:141 +msgid "Directory" +msgstr "Katalog" + +#: ../../include/nav.php:162 +msgid "Channel Directory" +msgstr "Kanalkatalog" + +#: ../../include/nav.php:174 ../../include/apps.php:133 +msgid "Grid" +msgstr "Nett" + +#: ../../include/nav.php:174 +msgid "Your grid" +msgstr "Ditt nett" + +#: ../../include/nav.php:175 +msgid "Mark all grid notifications seen" +msgstr "Marker alle nettvarsler som sett" + +#: ../../include/nav.php:177 ../../include/apps.php:137 +msgid "Channel Home" +msgstr "Kanalhjem" + +#: ../../include/nav.php:177 +msgid "Channel home" +msgstr "Kanalhjem" + +#: ../../include/nav.php:178 +msgid "Mark all channel notifications seen" +msgstr "Merk alle kanalvarsler som sett" + +#: ../../include/nav.php:181 ../../mod/connections.php:260 +msgid "Connections" +msgstr "Forbindelser" + +#: ../../include/nav.php:184 +msgid "Notices" +msgstr "Varsel" + +#: ../../include/nav.php:184 +msgid "Notifications" +msgstr "Varsler" + +#: ../../include/nav.php:185 +msgid "See all notifications" +msgstr "Se alle varsler" + +#: ../../include/nav.php:186 ../../mod/notifications.php:99 +msgid "Mark all system notifications seen" +msgstr "Merk alle systemvarsler som sett" + +#: ../../include/nav.php:188 ../../include/apps.php:143 +msgid "Mail" +msgstr "Melding" + +#: ../../include/nav.php:188 +msgid "Private mail" +msgstr "Privat post" + +#: ../../include/nav.php:189 +msgid "See all private messages" +msgstr "Se alle private meldinger" + +#: ../../include/nav.php:190 +msgid "Mark all private messages seen" +msgstr "Merk alle private meldinger som sett" + +#: ../../include/nav.php:196 ../../include/apps.php:140 +msgid "Events" +msgstr "Hendelser" + +#: ../../include/nav.php:196 +msgid "Event Calendar" +msgstr "Kalender" + +#: ../../include/nav.php:197 +msgid "See all events" +msgstr "Se alle hendelser" + +#: ../../include/nav.php:198 +msgid "Mark all events seen" +msgstr "Merk alle hendelser som sett" + +#: ../../include/nav.php:200 ../../include/apps.php:132 +#: ../../mod/manage.php:160 +msgid "Channel Manager" +msgstr "Kanalstyring" + +#: ../../include/nav.php:200 +msgid "Manage Your Channels" +msgstr "Håndter dine kanaler" + +#: ../../include/nav.php:202 +msgid "Account/Channel Settings" +msgstr "Konto-/kanal-innstillinger" + +#: ../../include/nav.php:210 +msgid "Site Setup and Configuration" +msgstr "Nettstedsoppsett og -konfigurasjon" + +#: ../../include/nav.php:246 +msgid "@name, #tag, ?doc, content" +msgstr "@navn, #merkelapp, ?dokumentasjon, innhold" + +#: ../../include/nav.php:247 +msgid "Please wait..." +msgstr "Vennligst vent..." -#: ../../include/text.php:391 +#: ../../include/security.php:381 +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 "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn." + +#: ../../include/text.php:394 msgid "prev" msgstr "forrige" -#: ../../include/text.php:393 +#: ../../include/text.php:396 msgid "first" msgstr "første" -#: ../../include/text.php:422 +#: ../../include/text.php:425 msgid "last" msgstr "siste" -#: ../../include/text.php:425 +#: ../../include/text.php:428 msgid "next" msgstr "neste" -#: ../../include/text.php:435 +#: ../../include/text.php:438 msgid "older" msgstr "eldre" -#: ../../include/text.php:437 +#: ../../include/text.php:440 msgid "newer" msgstr "nyere" -#: ../../include/text.php:775 +#: ../../include/text.php:785 msgid "No connections" msgstr "Ingen forbindelser" -#: ../../include/text.php:787 +#: ../../include/text.php:797 #, php-format msgid "%d Connection" msgid_plural "%d Connections" msgstr[0] "%d forbindelse" msgstr[1] "%d forbindelser" -#: ../../include/text.php:800 ../../mod/viewconnections.php:101 +#: ../../include/text.php:810 ../../mod/viewconnections.php:101 msgid "View Connections" msgstr "Vis forbindelser" -#: ../../include/text.php:857 ../../include/text.php:869 -#: ../../include/apps.php:147 ../../include/nav.php:159 -#: ../../mod/search.php:38 -msgid "Search" -msgstr "Søk" - -#: ../../include/text.php:858 ../../include/text.php:870 -#: ../../include/widgets.php:191 ../../mod/filer.php:49 -#: ../../mod/admin.php:1411 ../../mod/admin.php:1431 ../../mod/rbmark.php:28 -#: ../../mod/rbmark.php:98 -msgid "Save" -msgstr "Lagre" - -#: ../../include/text.php:933 +#: ../../include/text.php:954 msgid "poke" msgstr "prikk" -#: ../../include/text.php:934 +#: ../../include/text.php:955 msgid "ping" msgstr "varsle" -#: ../../include/text.php:934 +#: ../../include/text.php:955 msgid "pinged" msgstr "varslet" -#: ../../include/text.php:935 +#: ../../include/text.php:956 msgid "prod" msgstr "oppildne" -#: ../../include/text.php:935 +#: ../../include/text.php:956 msgid "prodded" msgstr "oppildnet" -#: ../../include/text.php:936 +#: ../../include/text.php:957 msgid "slap" msgstr "daske" -#: ../../include/text.php:936 +#: ../../include/text.php:957 msgid "slapped" msgstr "dasket" -#: ../../include/text.php:937 +#: ../../include/text.php:958 msgid "finger" msgstr "fingre" -#: ../../include/text.php:937 +#: ../../include/text.php:958 msgid "fingered" msgstr "fingret" -#: ../../include/text.php:938 +#: ../../include/text.php:959 msgid "rebuff" msgstr "tilbakevise" -#: ../../include/text.php:938 +#: ../../include/text.php:959 msgid "rebuffed" msgstr "tilbakeviste" -#: ../../include/text.php:948 +#: ../../include/text.php:969 msgid "happy" msgstr "glad" -#: ../../include/text.php:949 +#: ../../include/text.php:970 msgid "sad" msgstr "trist" -#: ../../include/text.php:950 +#: ../../include/text.php:971 msgid "mellow" msgstr "dempet" -#: ../../include/text.php:951 +#: ../../include/text.php:972 msgid "tired" msgstr "trøtt" -#: ../../include/text.php:952 +#: ../../include/text.php:973 msgid "perky" msgstr "oppkvikket" -#: ../../include/text.php:953 +#: ../../include/text.php:974 msgid "angry" msgstr "sint" -#: ../../include/text.php:954 +#: ../../include/text.php:975 msgid "stupified" msgstr "sløvet" -#: ../../include/text.php:955 +#: ../../include/text.php:976 msgid "puzzled" msgstr "forundret" -#: ../../include/text.php:956 +#: ../../include/text.php:977 msgid "interested" msgstr "interessert" -#: ../../include/text.php:957 +#: ../../include/text.php:978 msgid "bitter" msgstr "bitter" -#: ../../include/text.php:958 +#: ../../include/text.php:979 msgid "cheerful" msgstr "munter" -#: ../../include/text.php:959 +#: ../../include/text.php:980 msgid "alive" msgstr "levende" -#: ../../include/text.php:960 +#: ../../include/text.php:981 msgid "annoyed" msgstr "irritert" -#: ../../include/text.php:961 +#: ../../include/text.php:982 msgid "anxious" msgstr "nervøs" -#: ../../include/text.php:962 +#: ../../include/text.php:983 msgid "cranky" msgstr "gretten" -#: ../../include/text.php:963 +#: ../../include/text.php:984 msgid "disturbed" msgstr "foruroliget" -#: ../../include/text.php:964 +#: ../../include/text.php:985 msgid "frustrated" msgstr "frustrert" -#: ../../include/text.php:965 +#: ../../include/text.php:986 msgid "depressed" msgstr "lei seg" -#: ../../include/text.php:966 +#: ../../include/text.php:987 msgid "motivated" msgstr "motivert" -#: ../../include/text.php:967 +#: ../../include/text.php:988 msgid "relaxed" msgstr "avslappet" -#: ../../include/text.php:968 +#: ../../include/text.php:989 msgid "surprised" msgstr "overrasket" -#: ../../include/text.php:1144 +#: ../../include/text.php:1165 msgid "May" msgstr "mai" -#: ../../include/text.php:1247 -msgid "unknown.???" -msgstr "ukjent.???" +#: ../../include/text.php:1242 ../../include/text.php:1246 +msgid "Unknown Attachment" +msgstr "Ukjent vedlegg" #: ../../include/text.php:1248 -msgid "bytes" -msgstr "bytes" +msgid "unknown" +msgstr "ukjent" #: ../../include/text.php:1284 msgid "remove category" msgstr "fjern kategori" -#: ../../include/text.php:1359 +#: ../../include/text.php:1361 msgid "remove from file" msgstr "fjern fra fil" -#: ../../include/text.php:1443 ../../include/text.php:1454 +#: ../../include/text.php:1507 ../../include/text.php:1518 msgid "Click to open/close" msgstr "Klikk for å åpne/lukke" -#: ../../include/text.php:1609 ../../mod/events.php:497 +#: ../../include/text.php:1692 ../../mod/events.php:638 msgid "Link to Source" msgstr "Lenke til kilde" -#: ../../include/text.php:1630 ../../include/text.php:1701 +#: ../../include/text.php:1713 ../../include/text.php:1785 msgid "default" msgstr "standard" -#: ../../include/text.php:1638 +#: ../../include/text.php:1721 msgid "Page layout" msgstr "Sidens layout" -#: ../../include/text.php:1638 +#: ../../include/text.php:1721 msgid "You can create your own with the layouts tool" msgstr "Du kan lage din egen med layout-verktøyet" -#: ../../include/text.php:1679 +#: ../../include/text.php:1763 msgid "Page content type" msgstr "Sidens innholdstype" -#: ../../include/text.php:1713 +#: ../../include/text.php:1797 msgid "Select an alternate language" msgstr "Velg et annet språk" -#: ../../include/text.php:1845 +#: ../../include/text.php:1929 msgid "activity" msgstr "aktivitet" -#: ../../include/text.php:2140 +#: ../../include/text.php:2224 msgid "Design Tools" msgstr "Designverktøy" -#: ../../include/text.php:2143 ../../mod/blocks.php:147 +#: ../../include/text.php:2227 ../../mod/blocks.php:147 msgid "Blocks" msgstr "Byggeklosser" -#: ../../include/text.php:2144 ../../mod/menu.php:103 +#: ../../include/text.php:2228 ../../mod/menu.php:103 msgid "Menus" msgstr "Menyer" -#: ../../include/text.php:2145 ../../mod/layouts.php:174 +#: ../../include/text.php:2229 ../../mod/layouts.php:174 msgid "Layouts" msgstr "Layout" -#: ../../include/text.php:2146 +#: ../../include/text.php:2230 msgid "Pages" msgstr "Sider" -#: ../../include/acl_selectors.php:239 -msgid "Visible to your default audience" -msgstr "Synlig for ditt standard publikum" - -#: ../../include/acl_selectors.php:240 -msgid "Show" -msgstr "Vis" - -#: ../../include/acl_selectors.php:241 -msgid "Don't show" -msgstr "Ikke vis" - -#: ../../include/acl_selectors.php:247 ../../mod/filestorage.php:147 -#: ../../mod/chat.php:207 ../../mod/photos.php:592 ../../mod/photos.php:962 -#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356 -msgid "Permissions" -msgstr "Tillatelser" - -#: ../../include/acl_selectors.php:248 ../../include/ItemObject.php:361 -#: ../../mod/photos.php:1179 -msgid "Close" -msgstr "Lukk" - -#: ../../include/attach.php:243 ../../include/attach.php:329 -msgid "Item was not found." -msgstr "Elementet ble ikke funnet." - -#: ../../include/attach.php:471 -msgid "No source file." -msgstr "Ingen kildefil." - -#: ../../include/attach.php:489 -msgid "Cannot locate file to replace" -msgstr "Kan ikke finne filen som skal byttes ut" - -#: ../../include/attach.php:507 -msgid "Cannot locate file to revise/update" -msgstr "Finner ikke filen som skal revideres/oppdateres" - -#: ../../include/attach.php:632 -#, php-format -msgid "File exceeds size limit of %d" -msgstr "Filens størrelse overgår grensen på %d" - -#: ../../include/attach.php:645 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." -msgstr "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes." - -#: ../../include/attach.php:793 -msgid "File upload failed. Possible system limit or action terminated." -msgstr "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt." - -#: ../../include/attach.php:806 -msgid "Stored file could not be verified. Upload failed." -msgstr "Lagret fil kunne ikke bekreftes. Opplasting mislyktes." - -#: ../../include/attach.php:854 ../../include/attach.php:870 -msgid "Path not available." -msgstr "Stien er ikke tilgjengelig." - -#: ../../include/attach.php:916 ../../include/attach.php:1069 -msgid "Empty pathname" -msgstr "Tomt sti-navn" - -#: ../../include/attach.php:942 -msgid "duplicate filename or path" -msgstr "duplikat av filnavn eller sti" - -#: ../../include/attach.php:965 -msgid "Path not found." -msgstr "Stien ble ikke funnet." - -#: ../../include/attach.php:1023 -msgid "mkdir failed." -msgstr "mkdir mislyktes." - -#: ../../include/attach.php:1027 -msgid "database storage failed." -msgstr "databaselagring mislyktes." - -#: ../../include/attach.php:1075 -msgid "Empty path" -msgstr "Tom sti" - -#: ../../include/import.php:23 -msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." -msgstr "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes." - -#: ../../include/import.php:70 -msgid "Channel clone failed. Import failed." -msgstr "Kanalkloning mislyktes. Import mislyktes." - -#: ../../include/import.php:80 ../../mod/import.php:138 -msgid "Cloned channel not found. Import failed." -msgstr "Klonet kanal ble ikke funnet. Import mislyktes." - -#: ../../include/notify.php:20 -msgid "created a new post" -msgstr "laget et nytt innlegg" - -#: ../../include/notify.php:21 -#, php-format -msgid "commented on %s's post" -msgstr "kommenterte på %s sitt innlegg" - -#: ../../include/page_widgets.php:6 -msgid "New Page" -msgstr "Ny side" - -#: ../../include/page_widgets.php:39 ../../mod/layouts.php:188 -#: ../../mod/webpages.php:187 ../../mod/blocks.php:159 -msgid "View" -msgstr "Vis" - -#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 -msgid "Actions" -msgstr "Handlinger" - -#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 -msgid "Page Link" -msgstr "Sidelenke" - -#: ../../include/page_widgets.php:43 -msgid "Title" -msgstr "Tittel" - -#: ../../include/page_widgets.php:44 ../../mod/layouts.php:181 -#: ../../mod/menu.php:110 ../../mod/webpages.php:192 ../../mod/blocks.php:150 -msgid "Created" -msgstr "Laget" - -#: ../../include/page_widgets.php:45 ../../mod/layouts.php:182 -#: ../../mod/menu.php:111 ../../mod/webpages.php:193 ../../mod/blocks.php:151 -msgid "Edited" -msgstr "Endret" - -#: ../../include/photo/photo_driver.php:705 ../../mod/photos.php:94 -#: ../../mod/photos.php:660 ../../mod/profile_photo.php:146 -#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376 -msgid "Profile Photos" -msgstr "Profilbilder" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 -msgid "Male" -msgstr "Mannlig" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 -msgid "Female" -msgstr "Kvinnelig" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Male" -msgstr "For tiden mann" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Female" -msgstr "For tiden kvinne" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Male" -msgstr "For det meste mann" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Female" -msgstr "For det meste kvinne" - -#: ../../include/profile_selectors.php:6 -msgid "Transgender" -msgstr "Transkjønnet" - -#: ../../include/profile_selectors.php:6 -msgid "Intersex" -msgstr "interkjønnet" - -#: ../../include/profile_selectors.php:6 -msgid "Transsexual" -msgstr "Transseksuell" - -#: ../../include/profile_selectors.php:6 -msgid "Hermaphrodite" -msgstr "Hermafroditt" - -#: ../../include/profile_selectors.php:6 -msgid "Neuter" -msgstr "Intetkjønn" - -#: ../../include/profile_selectors.php:6 -msgid "Non-specific" -msgstr "Ubestemt" - -#: ../../include/profile_selectors.php:6 -msgid "Undecided" -msgstr "Ubestemt" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Males" -msgstr "Menn" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Females" -msgstr "Kvinner" - -#: ../../include/profile_selectors.php:42 -msgid "Gay" -msgstr "Homo" - -#: ../../include/profile_selectors.php:42 -msgid "Lesbian" -msgstr "Lesbisk" - -#: ../../include/profile_selectors.php:42 -msgid "No Preference" -msgstr "Ingen preferanse" - -#: ../../include/profile_selectors.php:42 -msgid "Bisexual" -msgstr "Biseksuell" - -#: ../../include/profile_selectors.php:42 -msgid "Autosexual" -msgstr "Autoseksuell" - -#: ../../include/profile_selectors.php:42 -msgid "Abstinent" -msgstr "Avholdende" - -#: ../../include/profile_selectors.php:42 -msgid "Virgin" -msgstr "Jomfru" - -#: ../../include/profile_selectors.php:42 -msgid "Deviant" -msgstr "Avviker" - -#: ../../include/profile_selectors.php:42 -msgid "Fetish" -msgstr "Fetisj" - -#: ../../include/profile_selectors.php:42 -msgid "Oodles" -msgstr "Masse" - -#: ../../include/profile_selectors.php:42 -msgid "Nonsexual" -msgstr "Ikke-seksuell" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Single" -msgstr "Enslig" - -#: ../../include/profile_selectors.php:80 -msgid "Lonely" -msgstr "Ensom" - -#: ../../include/profile_selectors.php:80 -msgid "Available" -msgstr "Tilgjengelig" - -#: ../../include/profile_selectors.php:80 -msgid "Unavailable" -msgstr "Ikke tilgjengelig" - -#: ../../include/profile_selectors.php:80 -msgid "Has crush" -msgstr "Er forelsket" - -#: ../../include/profile_selectors.php:80 -msgid "Infatuated" -msgstr "Betatt" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Dating" -msgstr "Sammen med" - -#: ../../include/profile_selectors.php:80 -msgid "Unfaithful" -msgstr "Utro" - -#: ../../include/profile_selectors.php:80 -msgid "Sex Addict" -msgstr "Sexavhengig" - -#: ../../include/profile_selectors.php:80 ../../include/identity.php:390 -#: ../../include/identity.php:391 ../../include/identity.php:398 -#: ../../include/widgets.php:429 ../../mod/connedit.php:569 -#: ../../mod/settings.php:337 ../../mod/settings.php:341 -#: ../../mod/settings.php:342 ../../mod/settings.php:345 -#: ../../mod/settings.php:356 -msgid "Friends" -msgstr "Venner" - -#: ../../include/profile_selectors.php:80 -msgid "Friends/Benefits" -msgstr "Venner med frynsegoder" - -#: ../../include/profile_selectors.php:80 -msgid "Casual" -msgstr "Tilfeldig" - -#: ../../include/profile_selectors.php:80 -msgid "Engaged" -msgstr "Forlovet" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Married" -msgstr "Gift" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily married" -msgstr "Gift i fantasien" - -#: ../../include/profile_selectors.php:80 -msgid "Partners" -msgstr "Partnere" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Cohabiting" -msgstr "Samboer" - -#: ../../include/profile_selectors.php:80 -msgid "Common law" -msgstr "Samboer" - -#: ../../include/profile_selectors.php:80 -msgid "Happy" -msgstr "Lykkelig" - -#: ../../include/profile_selectors.php:80 -msgid "Not looking" -msgstr "Ikke på utkikk" - -#: ../../include/profile_selectors.php:80 -msgid "Swinger" -msgstr "Partnerbytte" - -#: ../../include/profile_selectors.php:80 -msgid "Betrayed" -msgstr "Bedratt" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Separated" -msgstr "Separert" - -#: ../../include/profile_selectors.php:80 -msgid "Unstable" -msgstr "Ustabilt" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Divorced" -msgstr "Skilt" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily divorced" -msgstr "Skilt i fantasien" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Widowed" -msgstr "Enke" - -#: ../../include/profile_selectors.php:80 -msgid "Uncertain" -msgstr "Usikkert" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "It's complicated" -msgstr "Det er komplisert" - -#: ../../include/profile_selectors.php:80 -msgid "Don't care" -msgstr "Bryr meg ikke" - -#: ../../include/profile_selectors.php:80 -msgid "Ask me" -msgstr "Spør meg" - -#: ../../include/oembed.php:213 -msgid "Embedded content" -msgstr "Innebygget innhold" - -#: ../../include/oembed.php:222 -msgid "Embedding disabled" -msgstr "Innbygging avskrudd" - -#: ../../include/event.php:22 ../../include/bb2diaspora.php:459 -msgid "l F d, Y \\@ g:i A" -msgstr "l F d, Y \\@ g:i A" - -#: ../../include/event.php:30 ../../include/bb2diaspora.php:465 -msgid "Starts:" -msgstr "Starter:" - -#: ../../include/event.php:40 ../../include/bb2diaspora.php:473 -msgid "Finishes:" -msgstr "Slutter:" - -#: ../../include/event.php:50 ../../include/bb2diaspora.php:481 -#: ../../include/identity.php:992 ../../mod/directory.php:302 -#: ../../mod/events.php:701 -msgid "Location:" -msgstr "Plassering:" - -#: ../../include/event.php:766 -msgid "This event has been added to your calendar." -msgstr "Denne hendelsen er lagt til i din kalender." - -#: ../../include/event.php:953 -msgid "Not specified" -msgstr "Ikke spesifisert" - -#: ../../include/event.php:954 -msgid "Needs Action" -msgstr "Trenger handling" - -#: ../../include/event.php:955 -msgid "Completed" -msgstr "Ferdig" - -#: ../../include/event.php:956 -msgid "In Process" -msgstr "Igang" - -#: ../../include/event.php:957 -msgid "Cancelled" -msgstr "Avbrutt" - -#: ../../include/apps.php:128 -msgid "Site Admin" -msgstr "Nettstedsadministrator" - -#: ../../include/apps.php:130 -msgid "Address Book" -msgstr "Adressebok" - -#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1497 -msgid "Login" -msgstr "Logg inn" - -#: ../../include/apps.php:132 ../../include/nav.php:200 -#: ../../mod/manage.php:160 -msgid "Channel Manager" -msgstr "Kanalstyring" - -#: ../../include/apps.php:133 -msgid "Matrix" -msgstr "Matrix" - -#: ../../include/apps.php:134 ../../include/widgets.php:553 -#: ../../include/nav.php:202 ../../mod/admin.php:1033 ../../mod/admin.php:1233 -msgid "Settings" -msgstr "Innstillinger" - -#: ../../include/apps.php:137 ../../include/nav.php:177 -msgid "Channel Home" -msgstr "Kanalhjem" - -#: ../../include/apps.php:138 ../../include/identity.php:1226 -#: ../../include/identity.php:1343 ../../mod/profperm.php:112 -msgid "Profile" -msgstr "Profil" - -#: ../../include/apps.php:140 ../../include/nav.php:196 -#: ../../mod/events.php:526 -msgid "Events" -msgstr "Hendelser" - -#: ../../include/apps.php:141 ../../include/nav.php:162 -msgid "Directory" -msgstr "Katalog" - -#: ../../include/apps.php:142 ../../include/nav.php:154 ../../mod/help.php:202 -#: ../../mod/help.php:207 ../../mod/layouts.php:176 -msgid "Help" -msgstr "Hjelp" - -#: ../../include/apps.php:143 ../../include/nav.php:188 -msgid "Mail" -msgstr "Melding" - -#: ../../include/apps.php:144 ../../mod/mood.php:131 -msgid "Mood" -msgstr "Stemning" - -#: ../../include/apps.php:146 ../../include/nav.php:97 -msgid "Chat" -msgstr "Chat" - -#: ../../include/apps.php:148 -msgid "Probe" -msgstr "Undersøk" - -#: ../../include/apps.php:149 -msgid "Suggest" -msgstr "Forreslå" - -#: ../../include/apps.php:150 -msgid "Random Channel" -msgstr "Tilfeldig kanal" - -#: ../../include/apps.php:151 -msgid "Invite" -msgstr "Inviter" - -#: ../../include/apps.php:152 -msgid "Features" -msgstr "Funksjoner" - -#: ../../include/apps.php:153 ../../mod/id.php:28 -msgid "Language" -msgstr "Språk" - -#: ../../include/apps.php:154 -msgid "Post" -msgstr "Innlegg" - -#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 -#: ../../mod/id.php:19 -msgid "Profile Photo" -msgstr "Profilbilde" - -#: ../../include/apps.php:247 ../../mod/settings.php:84 -#: ../../mod/settings.php:609 -msgid "Update" -msgstr "Oppdater" - -#: ../../include/apps.php:247 -msgid "Install" -msgstr "Installer" - -#: ../../include/apps.php:252 -msgid "Purchase" -msgstr "Kjøp" - -#: ../../include/auth.php:131 -msgid "Logged out." -msgstr "Logget ut." - -#: ../../include/auth.php:272 -msgid "Failed authentication" -msgstr "Mislykket autentisering" - -#: ../../include/auth.php:286 ../../mod/openid.php:189 -msgid "Login failed." -msgstr "Innlogging mislyktes." - -#: ../../include/bb2diaspora.php:373 -msgid "Attachments:" -msgstr "Vedlegg:" - -#: ../../include/bb2diaspora.php:461 -msgid "$Projectname event notification:" -msgstr "$Projectname hendelsesvarsling:" - -#: ../../include/bbcode.php:123 ../../include/bbcode.php:793 -#: ../../include/bbcode.php:796 ../../include/bbcode.php:801 -#: ../../include/bbcode.php:804 ../../include/bbcode.php:807 -#: ../../include/bbcode.php:810 ../../include/bbcode.php:815 -#: ../../include/bbcode.php:818 ../../include/bbcode.php:823 -#: ../../include/bbcode.php:826 ../../include/bbcode.php:829 -#: ../../include/bbcode.php:832 -msgid "Image/photo" -msgstr "Bilde/fotografi" - -#: ../../include/bbcode.php:162 ../../include/bbcode.php:843 -msgid "Encrypted content" -msgstr "Kryptert innhold" - -#: ../../include/bbcode.php:179 -#, php-format -msgid "Install %s element: " -msgstr "Installer %s element:" - -#: ../../include/bbcode.php:183 -#, php-format -msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." -msgstr "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet." - -#: ../../include/bbcode.php:193 ../../mod/impel.php:37 -msgid "webpage" -msgstr "nettside" - -#: ../../include/bbcode.php:196 ../../mod/impel.php:47 -msgid "layout" -msgstr "layout" - -#: ../../include/bbcode.php:199 ../../mod/impel.php:42 -msgid "block" -msgstr "byggekloss" - -#: ../../include/bbcode.php:202 ../../mod/impel.php:54 -msgid "menu" -msgstr "meny" - -#: ../../include/bbcode.php:257 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" -msgstr "%1$s skrev følgende %2$s %3$s" - -#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 -msgid "post" -msgstr "innlegg" - -#: ../../include/bbcode.php:547 -msgid "Different viewers will see this text differently" -msgstr "Denne teksten vil se forskjellig ut for ulike besøkende" - -#: ../../include/bbcode.php:754 -msgid "$1 spoiler" -msgstr "$1 avsløring" - -#: ../../include/bbcode.php:781 -msgid "$1 wrote:" -msgstr "$1 skrev:" - -#: ../../include/account.php:27 -msgid "Not a valid email address" -msgstr "Ikke en gyldig e-postadresse" - -#: ../../include/account.php:29 -msgid "Your email domain is not among those allowed on this site" -msgstr "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet" - -#: ../../include/account.php:35 -msgid "Your email address is already registered at this site." -msgstr "Din e-postadresse er allerede registrert på dette nettstedet." - -#: ../../include/account.php:67 -msgid "An invitation is required." -msgstr "En invitasjon er påkrevd." - -#: ../../include/account.php:71 -msgid "Invitation could not be verified." -msgstr "Invitasjon kunne ikke bekreftes." - -#: ../../include/account.php:121 -msgid "Please enter the required information." -msgstr "Vennligst skriv inn nødvendig informasjon." - -#: ../../include/account.php:188 -msgid "Failed to store account information." -msgstr "Mislyktes med å lagre kontoinformasjon." - -#: ../../include/account.php:246 -#, php-format -msgid "Registration confirmation for %s" -msgstr "Registreringsbekreftelse for %s" - -#: ../../include/account.php:312 -#, php-format -msgid "Registration request at %s" -msgstr "Registreringsforespørsel hos %s" - -#: ../../include/account.php:336 -msgid "your registration password" -msgstr "ditt registreringspassord" - -#: ../../include/account.php:339 ../../include/account.php:399 -#, php-format -msgid "Registration details for %s" -msgstr "Registreringsdetaljer for %s" - -#: ../../include/account.php:408 -msgid "Account approved." -msgstr "Konto godkjent." - -#: ../../include/account.php:447 -#, php-format -msgid "Registration revoked for %s" -msgstr "Registrering trukket tilbake for %s" - -#: ../../include/account.php:492 -msgid "Account verified. Please login." -msgstr "Konto bekreftet. Vennligst logg inn." - -#: ../../include/account.php:705 ../../include/account.php:707 -msgid "Click here to upgrade." -msgstr "Klikk her for å oppgradere." - -#: ../../include/account.php:713 -msgid "This action exceeds the limits set by your subscription plan." -msgstr "Denne handlingen går utenfor grensene satt i din abonnementsplan." - -#: ../../include/account.php:718 -msgid "This action is not available under your subscription plan." -msgstr "Denne handlingen er ikke tilgjengelig i din abonnementsplan." - -#: ../../include/follow.php:28 -msgid "Channel is blocked on this site." -msgstr "Kanalen er blokkert på dette nettstedet." - -#: ../../include/follow.php:33 -msgid "Channel location missing." -msgstr "Kanalplassering mangler." - -#: ../../include/follow.php:82 -msgid "Response from remote channel was incomplete." -msgstr "Svaret fra den andre kanalen var ikke komplett." - -#: ../../include/follow.php:99 -msgid "Channel was deleted and no longer exists." -msgstr "Kanalen er slettet og finnes ikke lenger." - -#: ../../include/follow.php:154 -msgid "Protocol disabled." -msgstr "Protokollen er avskrudd." - -#: ../../include/follow.php:170 -msgid "Channel discovery failed." -msgstr "Kanaloppdagelse mislyktes." - -#: ../../include/follow.php:186 -msgid "local account not found." -msgstr "lokal konto ble ikke funnet." - -#: ../../include/follow.php:210 -msgid "Cannot connect to yourself." -msgstr "Kan ikke lage forbindelse med deg selv." - -#: ../../include/security.php:345 -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 "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn." - -#: ../../include/contact_widgets.php:14 -#, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "%d invitasjon tilgjengelig" -msgstr[1] "%d invitasjoner tilgjengelig" - -#: ../../include/contact_widgets.php:19 ../../mod/admin.php:415 -msgid "Advanced" -msgstr "Avansert" - -#: ../../include/contact_widgets.php:22 -msgid "Find Channels" -msgstr "Finn kanaler" - -#: ../../include/contact_widgets.php:23 -msgid "Enter name or interest" -msgstr "Skriv navn eller interesse" - -#: ../../include/contact_widgets.php:24 -msgid "Connect/Follow" -msgstr "Forbindelse/Følg" - -#: ../../include/contact_widgets.php:25 -msgid "Examples: Robert Morgenstein, Fishing" -msgstr "Eksempler: Ola Nordmann, fisking" - -#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379 -#: ../../mod/directory.php:384 ../../mod/connections.php:266 -msgid "Find" -msgstr "Finn" - -#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383 -#: ../../mod/suggest.php:60 -msgid "Channel Suggestions" -msgstr "Kanalforslag" - -#: ../../include/contact_widgets.php:29 -msgid "Random Profile" -msgstr "Tilfeldig profil" - -#: ../../include/contact_widgets.php:30 -msgid "Invite Friends" -msgstr "Inviter venner" - -#: ../../include/contact_widgets.php:32 -msgid "Advanced example: name=fred and country=iceland" -msgstr "Avansert eksempel: navn=fred og land=island" - -#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98 -#: ../../include/widgets.php:306 -msgid "Everything" -msgstr "Alt" - -#: ../../include/contact_widgets.php:95 ../../include/taxonomy.php:271 -#: ../../include/widgets.php:35 -msgid "Categories" -msgstr "Kategorier" - -#: ../../include/contact_widgets.php:128 -#, php-format -msgid "%d connection in common" -msgid_plural "%d connections in common" -msgstr[0] "%d forbindelse felles" -msgstr[1] "%d forbindelser felles" - -#: ../../include/contact_widgets.php:133 -msgid "show more" -msgstr "vis mer" - #: ../../include/group.php:26 msgid "" "A deleted group with this name was revived. Existing item permissions " @@ -3104,7 +3733,7 @@ msgstr "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tilla msgid "Add new connections to this collection (privacy group)" msgstr "Legg nye forbindelser til denne samlingen (personverngruppe)" -#: ../../include/group.php:251 ../../mod/admin.php:788 +#: ../../include/group.php:251 ../../mod/admin.php:814 msgid "All Channels" msgstr "Alle kanaler" @@ -3128,343 +3757,62 @@ msgstr "Legg til ny samling" msgid "Channels not in any collection" msgstr "Kanaler som ikke er i noen samling" -#: ../../include/group.php:300 ../../include/widgets.php:274 -msgid "add" -msgstr "legg til" - -#: ../../include/taxonomy.php:229 ../../include/taxonomy.php:250 -msgid "Tags" -msgstr "Merkelapper" - -#: ../../include/taxonomy.php:294 -msgid "Keywords" -msgstr "Nøkkelord" - -#: ../../include/taxonomy.php:315 -msgid "have" -msgstr "har" - -#: ../../include/taxonomy.php:315 -msgid "has" -msgstr "har" - -#: ../../include/taxonomy.php:316 -msgid "want" -msgstr "ønsker" - -#: ../../include/taxonomy.php:316 -msgid "wants" -msgstr "ønsker" - -#: ../../include/taxonomy.php:317 ../../include/ItemObject.php:254 -msgid "like" -msgstr "liker" - -#: ../../include/taxonomy.php:317 -msgid "likes" -msgstr "liker" - -#: ../../include/taxonomy.php:318 ../../include/ItemObject.php:255 -msgid "dislike" -msgstr "misliker" - -#: ../../include/taxonomy.php:318 -msgid "dislikes" -msgstr "misliker" - -#: ../../include/dir_fns.php:126 -msgid "Directory Options" -msgstr "Kataloginnstillinger" - -#: ../../include/dir_fns.php:128 -msgid "Safe Mode" -msgstr "Trygt modus" - -#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129 -#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/connedit.php:631 -#: ../../mod/connedit.php:659 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/admin.php:386 ../../mod/menu.php:96 -#: ../../mod/menu.php:153 ../../mod/photos.php:589 ../../mod/settings.php:574 -#: ../../mod/api.php:106 ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1501 -msgid "No" -msgstr "Nei" - -#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129 -#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/admin.php:388 ../../mod/menu.php:96 -#: ../../mod/menu.php:153 ../../mod/photos.php:589 ../../mod/settings.php:574 -#: ../../mod/api.php:105 ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1501 -msgid "Yes" -msgstr "Ja" - -#: ../../include/dir_fns.php:129 -msgid "Public Forums Only" -msgstr "Bare offentlige forum" - -#: ../../include/dir_fns.php:130 -msgid "This Website Only" -msgstr "Kun dette nettstedet" - -#: ../../include/identity.php:32 -msgid "Unable to obtain identity information from database" -msgstr "Klarer ikke å få tak i identitetsinformasjon fra databasen" - -#: ../../include/identity.php:66 -msgid "Empty name" -msgstr "Mangler navn" - -#: ../../include/identity.php:69 -msgid "Name too long" -msgstr "Navnet er for langt" - -#: ../../include/identity.php:181 -msgid "No account identifier" -msgstr "Ingen kontoidentifikator" - -#: ../../include/identity.php:193 -msgid "Nickname is required." -msgstr "Kallenavn er påkrevd." - -#: ../../include/identity.php:207 -msgid "Reserved nickname. Please choose another." -msgstr "Reservert kallenavn. Vennligst velg et annet." - -#: ../../include/identity.php:212 -msgid "" -"Nickname has unsupported characters or is already being used on this site." -msgstr "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet." - -#: ../../include/identity.php:288 -msgid "Unable to retrieve created identity" -msgstr "Klarer ikke å hente den lagede identiteten" - -#: ../../include/identity.php:346 -msgid "Default Profile" -msgstr "Standardprofil" - -#: ../../include/identity.php:745 -msgid "Requested channel is not available." -msgstr "Forespurt kanal er ikke tilgjengelig." - -#: ../../include/identity.php:791 ../../mod/achievements.php:11 -#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29 -#: ../../mod/editblock.php:29 ../../mod/profile.php:16 -#: ../../mod/webpages.php:29 ../../mod/blocks.php:29 -#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28 -#: ../../mod/connect.php:13 -msgid "Requested profile is not available." -msgstr "Forespurt profil er ikke tilgjengelig." - -#: ../../include/identity.php:954 ../../mod/profiles.php:774 -msgid "Change profile photo" -msgstr "Endre profilbilde" - -#: ../../include/identity.php:960 -msgid "Profiles" -msgstr "Profiler" - -#: ../../include/identity.php:960 -msgid "Manage/edit profiles" -msgstr "Håndtere/endre profiler" - -#: ../../include/identity.php:961 ../../mod/profiles.php:775 -msgid "Create New Profile" -msgstr "Lag ny profil" - -#: ../../include/identity.php:964 ../../include/nav.php:90 -msgid "Edit Profile" -msgstr "Endre profil" - -#: ../../include/identity.php:976 ../../mod/profiles.php:786 -msgid "Profile Image" -msgstr "Profilbilde" - -#: ../../include/identity.php:979 -msgid "visible to everybody" -msgstr "synlig for alle" - -#: ../../include/identity.php:980 ../../mod/profiles.php:669 -#: ../../mod/profiles.php:790 -msgid "Edit visibility" -msgstr "Endre synlighet" - -#: ../../include/identity.php:996 ../../include/identity.php:1236 -msgid "Gender:" -msgstr "Kjønn:" - -#: ../../include/identity.php:997 ../../include/identity.php:1280 -msgid "Status:" -msgstr "Status:" - -#: ../../include/identity.php:998 ../../include/identity.php:1291 -msgid "Homepage:" -msgstr "Hjemmeside:" - -#: ../../include/identity.php:999 -msgid "Online Now" -msgstr "Online nå" - -#: ../../include/identity.php:1083 ../../include/identity.php:1161 -#: ../../mod/ping.php:318 -msgid "g A l F d" -msgstr "g A l F d" - -#: ../../include/identity.php:1084 ../../include/identity.php:1162 -msgid "F d" -msgstr "F d" - -#: ../../include/identity.php:1129 ../../include/identity.php:1201 -#: ../../mod/ping.php:341 -msgid "[today]" -msgstr "[idag]" - -#: ../../include/identity.php:1140 -msgid "Birthday Reminders" -msgstr "Fødselsdagspåminnnelser" - -#: ../../include/identity.php:1141 -msgid "Birthdays this week:" -msgstr "Fødselsdager denne uken:" - -#: ../../include/identity.php:1194 -msgid "[No description]" -msgstr "[Ingen beskrivelse]" - -#: ../../include/identity.php:1212 -msgid "Event Reminders" -msgstr "Hendelsespåminnelser" - -#: ../../include/identity.php:1213 -msgid "Events this week:" -msgstr "Hendelser denne uken:" +#: ../../include/page_widgets.php:6 +msgid "New Page" +msgstr "Ny side" -#: ../../include/identity.php:1234 ../../mod/settings.php:1026 -msgid "Full Name:" -msgstr "Fullt navn:" +#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159 +#: ../../mod/webpages.php:187 ../../mod/layouts.php:188 +msgid "View" +msgstr "Vis" -#: ../../include/identity.php:1241 -msgid "Like this channel" -msgstr "Lik denne kanalen" +#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 +msgid "Actions" +msgstr "Handlinger" -#: ../../include/identity.php:1265 -msgid "j F, Y" -msgstr "j F, Y" +#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 +msgid "Page Link" +msgstr "Sidelenke" -#: ../../include/identity.php:1266 -msgid "j F" -msgstr "j F" +#: ../../include/page_widgets.php:43 +msgid "Title" +msgstr "Tittel" -#: ../../include/identity.php:1273 -msgid "Birthday:" -msgstr "Fødselsdag:" +#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150 +#: ../../mod/webpages.php:192 ../../mod/layouts.php:181 ../../mod/menu.php:110 +msgid "Created" +msgstr "Laget" -#: ../../include/identity.php:1277 ../../mod/directory.php:297 -msgid "Age:" -msgstr "Alder:" +#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151 +#: ../../mod/webpages.php:193 ../../mod/layouts.php:182 ../../mod/menu.php:111 +msgid "Edited" +msgstr "Endret" -#: ../../include/identity.php:1286 +#: ../../include/dba/dba_driver.php:141 #, php-format -msgid "for %1$d %2$s" -msgstr "for %1$d %2$s" - -#: ../../include/identity.php:1289 ../../mod/profiles.php:691 -msgid "Sexual Preference:" -msgstr "Seksuell preferanse:" - -#: ../../include/identity.php:1293 ../../mod/directory.php:313 -#: ../../mod/profiles.php:693 -msgid "Hometown:" -msgstr "Hjemby:" - -#: ../../include/identity.php:1295 -msgid "Tags:" -msgstr "Merkelapper:" - -#: ../../include/identity.php:1297 ../../mod/profiles.php:694 -msgid "Political Views:" -msgstr "Politiske synspunkter:" - -#: ../../include/identity.php:1299 -msgid "Religion:" -msgstr "Religion:" - -#: ../../include/identity.php:1301 ../../mod/directory.php:315 -msgid "About:" -msgstr "Om:" - -#: ../../include/identity.php:1303 -msgid "Hobbies/Interests:" -msgstr "Hobbyer/interesser:" - -#: ../../include/identity.php:1305 ../../mod/profiles.php:697 -msgid "Likes:" -msgstr "Liker:" - -#: ../../include/identity.php:1307 ../../mod/profiles.php:698 -msgid "Dislikes:" -msgstr "Misliker:" - -#: ../../include/identity.php:1309 -msgid "Contact information and Social Networks:" -msgstr "Kontaktinformasjon og sosiale nettverk:" - -#: ../../include/identity.php:1311 -msgid "My other channels:" -msgstr "Mine andre kanaler:" - -#: ../../include/identity.php:1313 -msgid "Musical interests:" -msgstr "Musikkinteresse:" - -#: ../../include/identity.php:1315 -msgid "Books, literature:" -msgstr "Bøker, litteratur:" - -#: ../../include/identity.php:1317 -msgid "Television:" -msgstr "TV:" - -#: ../../include/identity.php:1319 -msgid "Film/dance/culture/entertainment:" -msgstr "Film/dans/kultur/underholdning:" - -#: ../../include/identity.php:1321 -msgid "Love/Romance:" -msgstr "Kjærlighet/romantikk:" - -#: ../../include/identity.php:1323 -msgid "Work/employment:" -msgstr "Arbeid/sysselsetting:" - -#: ../../include/identity.php:1325 -msgid "School/education:" -msgstr "Skole/utdannelse:" +msgid "Cannot locate DNS info for database server '%s'" +msgstr "Kan ikke finne DNS-informasjon om databasetjener '%s'" -#: ../../include/identity.php:1345 -msgid "Like this thing" -msgstr "Lik denne tingen" +#: ../../include/photos.php:112 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" +msgstr "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes" -#: ../../include/message.php:18 -msgid "No recipient provided." -msgstr "Ingen mottaker angitt." +#: ../../include/photos.php:119 +msgid "Image file is empty." +msgstr "Bildefilen er tom." -#: ../../include/message.php:23 -msgid "[no subject]" -msgstr "[ikke noe emne]" +#: ../../include/photos.php:146 ../../mod/profile_photo.php:225 +msgid "Unable to process image" +msgstr "Kan ikke behandle bildet" -#: ../../include/message.php:45 -msgid "Unable to determine sender." -msgstr "Kan ikke avgjøre avsender." +#: ../../include/photos.php:257 +msgid "Photo storage failed." +msgstr "Bildelagring mislyktes." -#: ../../include/message.php:203 -msgid "Stored post could not be verified." -msgstr "Lagret innlegg kunne ikke bekreftes." +#: ../../include/photos.php:487 +msgid "Upload New Photos" +msgstr "Last opp nye bilder" #: ../../include/ItemObject.php:130 msgid "Save to Folder" @@ -3514,11 +3862,11 @@ msgstr "stjernemerket" msgid "Add Tag" msgstr "Legg til merkelapp" -#: ../../include/ItemObject.php:254 ../../mod/photos.php:987 +#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 msgid "I like this (toggle)" msgstr "Jeg liker dette (skru av og på)" -#: ../../include/ItemObject.php:255 ../../mod/photos.php:988 +#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 msgid "I don't like this (toggle)" msgstr "Jeg liker ikke dette (skru av og på)" @@ -3530,760 +3878,628 @@ msgstr "Del dette" msgid "share" msgstr "del" -#: ../../include/ItemObject.php:276 +#: ../../include/ItemObject.php:268 +msgid "Delivery Report" +msgstr "Leveringsrapport" + +#: ../../include/ItemObject.php:286 #, php-format msgid "%d comment" msgid_plural "%d comments" msgstr[0] "%d kommentar" msgstr[1] "%d kommentarer" -#: ../../include/ItemObject.php:295 ../../include/ItemObject.php:296 +#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316 #, php-format msgid "View %s's profile - %s" msgstr "Vis %s sin profil - %s" -#: ../../include/ItemObject.php:299 +#: ../../include/ItemObject.php:319 msgid "to" msgstr "til" -#: ../../include/ItemObject.php:300 +#: ../../include/ItemObject.php:320 msgid "via" msgstr "via" -#: ../../include/ItemObject.php:301 +#: ../../include/ItemObject.php:321 msgid "Wall-to-Wall" msgstr "vegg-til-vegg" -#: ../../include/ItemObject.php:302 +#: ../../include/ItemObject.php:322 msgid "via Wall-To-Wall:" msgstr "via vegg-til-vegg:" -#: ../../include/ItemObject.php:305 -msgid "Delivery Report" -msgstr "Leveringsrapport" - -#: ../../include/ItemObject.php:339 +#: ../../include/ItemObject.php:362 msgid "Save Bookmarks" msgstr "Lagre bokmerker" -#: ../../include/ItemObject.php:340 +#: ../../include/ItemObject.php:363 msgid "Add to Calendar" msgstr "Legg til i kalender" -#: ../../include/ItemObject.php:349 +#: ../../include/ItemObject.php:372 msgid "Mark all seen" msgstr "Merk alle som sett" -#: ../../include/ItemObject.php:355 ../../mod/photos.php:1173 +#: ../../include/ItemObject.php:378 ../../mod/photos.php:1212 msgctxt "noun" msgid "Likes" msgstr "Liker" -#: ../../include/ItemObject.php:356 ../../mod/photos.php:1174 +#: ../../include/ItemObject.php:379 ../../mod/photos.php:1213 msgctxt "noun" msgid "Dislikes" msgstr "Liker ikke" -#: ../../include/ItemObject.php:671 ../../mod/photos.php:1006 -#: ../../mod/photos.php:1124 +#: ../../include/ItemObject.php:694 ../../mod/photos.php:1045 +#: ../../mod/photos.php:1163 msgid "This is you" msgstr "Dette er deg" -#: ../../include/ItemObject.php:680 +#: ../../include/ItemObject.php:703 msgid "Image" msgstr "Bilde" -#: ../../include/ItemObject.php:681 +#: ../../include/ItemObject.php:704 msgid "Insert Link" msgstr "Sett inn lenke" -#: ../../include/ItemObject.php:682 +#: ../../include/ItemObject.php:705 msgid "Video" msgstr "Video" -#: ../../include/items.php:423 ../../mod/like.php:280 ../../mod/dreport.php:6 -#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23 -#: ../../mod/import_items.php:114 ../../index.php:360 -msgid "Permission denied" -msgstr "Tillatelse avvist" - -#: ../../include/items.php:1128 ../../include/items.php:1174 -msgid "(Unknown)" -msgstr "(Ukjent)" - -#: ../../include/items.php:1371 -msgid "Visible to anybody on the internet." -msgstr "Synlig for enhver på Internett." - -#: ../../include/items.php:1373 -msgid "Visible to you only." -msgstr "Synlig bare for deg." - -#: ../../include/items.php:1375 -msgid "Visible to anybody in this network." -msgstr "Synlig for enhver i dette nettverket." - -#: ../../include/items.php:1377 -msgid "Visible to anybody authenticated." -msgstr "Synlig for enhver som er autentisert." - -#: ../../include/items.php:1379 -#, php-format -msgid "Visible to anybody on %s." -msgstr "Synlig for alle på %s." +#: ../../include/account.php:27 +msgid "Not a valid email address" +msgstr "Ikke en gyldig e-postadresse" -#: ../../include/items.php:1381 -msgid "Visible to all connections." -msgstr "Synlig for alle forbindelser." +#: ../../include/account.php:29 +msgid "Your email domain is not among those allowed on this site" +msgstr "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet" -#: ../../include/items.php:1383 -msgid "Visible to approved connections." -msgstr "Synlig for godkjente forbindelser." +#: ../../include/account.php:35 +msgid "Your email address is already registered at this site." +msgstr "Din e-postadresse er allerede registrert på dette nettstedet." -#: ../../include/items.php:1385 -msgid "Visible to specific connections." -msgstr "Synlig for spesifikke forbindelser." +#: ../../include/account.php:67 +msgid "An invitation is required." +msgstr "En invitasjon er påkrevd." -#: ../../include/items.php:4263 ../../mod/display.php:36 -#: ../../mod/filestorage.php:27 ../../mod/admin.php:127 -#: ../../mod/admin.php:979 ../../mod/admin.php:1179 ../../mod/thing.php:86 -#: ../../mod/viewsrc.php:20 -msgid "Item not found." -msgstr "Elementet ble ikke funnet." +#: ../../include/account.php:71 +msgid "Invitation could not be verified." +msgstr "Invitasjon kunne ikke bekreftes." -#: ../../include/items.php:4772 ../../mod/group.php:38 ../../mod/group.php:137 -msgid "Collection not found." -msgstr "Samlingen ble ikke funnet." +#: ../../include/account.php:121 +msgid "Please enter the required information." +msgstr "Vennligst skriv inn nødvendig informasjon." -#: ../../include/items.php:4788 -msgid "Collection is empty." -msgstr "Samlingen er tom." +#: ../../include/account.php:188 +msgid "Failed to store account information." +msgstr "Mislyktes med å lagre kontoinformasjon." -#: ../../include/items.php:4795 +#: ../../include/account.php:248 #, php-format -msgid "Collection: %s" -msgstr "Samling: %s" +msgid "Registration confirmation for %s" +msgstr "Registreringsbekreftelse for %s" -#: ../../include/items.php:4805 ../../mod/connedit.php:658 +#: ../../include/account.php:314 #, php-format -msgid "Connection: %s" -msgstr "Forbindelse: %s" - -#: ../../include/items.php:4807 -msgid "Connection not found." -msgstr "Forbindelsen ble ikke funnet." - -#: ../../include/widgets.php:91 ../../include/nav.php:157 -#: ../../mod/apps.php:36 -msgid "Apps" -msgstr "Apper" - -#: ../../include/widgets.php:92 -msgid "System" -msgstr "System" - -#: ../../include/widgets.php:95 -msgid "Create Personal App" -msgstr "Lag personlig app" - -#: ../../include/widgets.php:96 -msgid "Edit Personal App" -msgstr "Endre personlig app" - -#: ../../include/widgets.php:138 ../../mod/suggest.php:54 -msgid "Ignore/Hide" -msgstr "Ignorer/Skjul" - -#: ../../include/widgets.php:143 ../../mod/connections.php:125 -msgid "Suggestions" -msgstr "Forslag" +msgid "Registration request at %s" +msgstr "Registreringsforespørsel hos %s" -#: ../../include/widgets.php:144 -msgid "See more..." -msgstr "Se mer..." +#: ../../include/account.php:338 +msgid "your registration password" +msgstr "ditt registreringspassord" -#: ../../include/widgets.php:165 +#: ../../include/account.php:341 ../../include/account.php:401 #, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." -msgstr "Du har %1$.0f av %2$.0f tillate forbindelser." - -#: ../../include/widgets.php:171 -msgid "Add New Connection" -msgstr "Legg til ny forbindelse" - -#: ../../include/widgets.php:172 -msgid "Enter the channel address" -msgstr "Skriv kanal-adressen" - -#: ../../include/widgets.php:173 -msgid "Example: bob@example.com, http://example.com/barbara" -msgstr "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann" - -#: ../../include/widgets.php:189 -msgid "Notes" -msgstr "Merknader" - -#: ../../include/widgets.php:265 -msgid "Remove term" -msgstr "Fjern begrep" - -#: ../../include/widgets.php:348 -msgid "Archives" -msgstr "Arkiv" - -#: ../../include/widgets.php:427 ../../mod/connedit.php:567 -msgid "Me" -msgstr "Meg" +msgid "Registration details for %s" +msgstr "Registreringsdetaljer for %s" -#: ../../include/widgets.php:428 ../../mod/connedit.php:568 -msgid "Family" -msgstr "Familie" +#: ../../include/account.php:410 +msgid "Account approved." +msgstr "Konto godkjent." -#: ../../include/widgets.php:430 ../../mod/connedit.php:570 -msgid "Acquaintances" -msgstr "Bekjente" +#: ../../include/account.php:449 +#, php-format +msgid "Registration revoked for %s" +msgstr "Registrering trukket tilbake for %s" -#: ../../include/widgets.php:431 ../../mod/connedit.php:571 -#: ../../mod/connections.php:88 ../../mod/connections.php:103 -msgid "All" -msgstr "Alle" +#: ../../include/account.php:494 +msgid "Account verified. Please login." +msgstr "Konto bekreftet. Vennligst logg inn." -#: ../../include/widgets.php:450 -msgid "Refresh" -msgstr "Forny" +#: ../../include/account.php:707 ../../include/account.php:709 +msgid "Click here to upgrade." +msgstr "Klikk her for å oppgradere." -#: ../../include/widgets.php:484 -msgid "Account settings" -msgstr "Kontoinnstillinger" +#: ../../include/account.php:715 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "Denne handlingen går utenfor grensene satt i din abonnementsplan." -#: ../../include/widgets.php:490 -msgid "Channel settings" -msgstr "Kanalinnstillinger" +#: ../../include/account.php:720 +msgid "This action is not available under your subscription plan." +msgstr "Denne handlingen er ikke tilgjengelig i din abonnementsplan." -#: ../../include/widgets.php:496 -msgid "Additional features" -msgstr "Tilleggsfunksjoner" +#: ../../include/apps.php:128 +msgid "Site Admin" +msgstr "Nettstedsadministrator" -#: ../../include/widgets.php:502 -msgid "Feature/Addon settings" -msgstr "Funksjons-/Tilleggsinnstillinger" +#: ../../include/apps.php:130 +msgid "Address Book" +msgstr "Adressebok" -#: ../../include/widgets.php:508 -msgid "Display settings" -msgstr "Visningsinnstillinger" +#: ../../include/apps.php:144 ../../mod/mood.php:131 +msgid "Mood" +msgstr "Stemning" -#: ../../include/widgets.php:514 -msgid "Connected apps" -msgstr "Tilkoblede app-er" +#: ../../include/apps.php:148 +msgid "Probe" +msgstr "Undersøk" -#: ../../include/widgets.php:520 -msgid "Export channel" -msgstr "Eksporter kanal" +#: ../../include/apps.php:149 +msgid "Suggest" +msgstr "Forreslå" -#: ../../include/widgets.php:529 ../../mod/connedit.php:658 -msgid "Connection Default Permissions" -msgstr "Forbindelsens standard tillatelser" +#: ../../include/apps.php:150 +msgid "Random Channel" +msgstr "Tilfeldig kanal" -#: ../../include/widgets.php:537 -msgid "Premium Channel Settings" -msgstr "Premiumkanal-innstillinger" +#: ../../include/apps.php:151 +msgid "Invite" +msgstr "Inviter" -#: ../../include/widgets.php:567 -msgid "Private Mail Menu" -msgstr "Meny for privat post" +#: ../../include/apps.php:152 +msgid "Features" +msgstr "Funksjoner" -#: ../../include/widgets.php:569 -msgid "Check Mail" -msgstr "Sjekk meldinger" +#: ../../include/apps.php:153 ../../mod/id.php:28 +msgid "Language" +msgstr "Språk" -#: ../../include/widgets.php:575 -msgid "Combined View" -msgstr "Kombinert visning" +#: ../../include/apps.php:154 +msgid "Post" +msgstr "Innlegg" -#: ../../include/widgets.php:580 ../../include/nav.php:191 -msgid "Inbox" -msgstr "Innboks" +#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 +#: ../../mod/id.php:19 +msgid "Profile Photo" +msgstr "Profilbilde" -#: ../../include/widgets.php:585 ../../include/nav.php:192 -msgid "Outbox" -msgstr "Utboks" +#: ../../include/apps.php:252 ../../mod/settings.php:84 +#: ../../mod/settings.php:612 +msgid "Update" +msgstr "Oppdater" -#: ../../include/widgets.php:590 ../../include/nav.php:193 -msgid "New Message" -msgstr "Ny melding" +#: ../../include/apps.php:252 +msgid "Install" +msgstr "Installer" -#: ../../include/widgets.php:609 ../../include/widgets.php:621 -msgid "Conversations" -msgstr "Samtaler" +#: ../../include/apps.php:257 +msgid "Purchase" +msgstr "Kjøp" -#: ../../include/widgets.php:613 -msgid "Received Messages" -msgstr "Mottatte meldinger" +#: ../../include/permissions.php:26 +msgid "Can view my normal stream and posts" +msgstr "Kan se min normale strøm og innlegg" -#: ../../include/widgets.php:617 -msgid "Sent Messages" -msgstr "Sendte meldinger" +#: ../../include/permissions.php:27 +msgid "Can view my default channel profile" +msgstr "Kan se min standard kanalprofil" -#: ../../include/widgets.php:631 -msgid "No messages." -msgstr "Ingen meldinger." +#: ../../include/permissions.php:28 +msgid "Can view my connections" +msgstr "Kan se mine forbindelser" -#: ../../include/widgets.php:648 -msgid "Delete conversation" -msgstr "Slett samtale" +#: ../../include/permissions.php:29 +msgid "Can view my file storage and photos" +msgstr "Kan se mine filer og bilder" -#: ../../include/widgets.php:650 -msgid "D, d M Y - g:i A" -msgstr "D, d M Y - g:i A" +#: ../../include/permissions.php:30 +msgid "Can view my webpages" +msgstr "Kan se mine websider" -#: ../../include/widgets.php:738 -msgid "Chat Rooms" -msgstr "Chatrom" +#: ../../include/permissions.php:33 +msgid "Can send me their channel stream and posts" +msgstr "Kan sende meg deres kanalstrøm og innlegg" -#: ../../include/widgets.php:758 -msgid "Bookmarked Chatrooms" -msgstr "Bokmerkede chatrom" +#: ../../include/permissions.php:34 +msgid "Can post on my channel page (\"wall\")" +msgstr "Kan lage innlegg på min kanalside (\"vegg\")" -#: ../../include/widgets.php:778 -msgid "Suggested Chatrooms" -msgstr "Foreslåtte chatrom" +#: ../../include/permissions.php:35 +msgid "Can comment on or like my posts" +msgstr "Kan kommentere på eller like mine innlegg" -#: ../../include/widgets.php:905 ../../include/widgets.php:963 -msgid "photo/image" -msgstr "foto/bilde" +#: ../../include/permissions.php:36 +msgid "Can send me private mail messages" +msgstr "Kan sende meg private meldinger" -#: ../../include/widgets.php:1058 ../../include/widgets.php:1060 -msgid "Rate Me" -msgstr "Vurder meg" +#: ../../include/permissions.php:37 +msgid "Can like/dislike stuff" +msgstr "Kan like/ikke like forskjellige greier" -#: ../../include/widgets.php:1064 -msgid "View Ratings" -msgstr "Vis vurderinger" +#: ../../include/permissions.php:37 +msgid "Profiles and things other than posts/comments" +msgstr "Profiler og andre ting enn innlegg/kommentarer" -#: ../../include/widgets.php:1075 -msgid "Public Hubs" -msgstr "Offentlige huber" +#: ../../include/permissions.php:39 +msgid "Can forward to all my channel contacts via post @mentions" +msgstr "Kan videresende til alle mine kanalkontakter via @navn i innlegg" -#: ../../include/widgets.php:1123 -msgid "Forums" -msgstr "Forum" +#: ../../include/permissions.php:39 +msgid "Advanced - useful for creating group forum channels" +msgstr "Avansert - nyttig for å lage forumkanaler for grupper" -#: ../../include/widgets.php:1150 -msgid "Tasks" -msgstr "Oppgaver" +#: ../../include/permissions.php:40 +msgid "Can chat with me (when available)" +msgstr "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)" -#: ../../include/widgets.php:1159 -msgid "Documentation" -msgstr "Dokumentasjon" +#: ../../include/permissions.php:41 +msgid "Can write to my file storage and photos" +msgstr "Kan skrive til mitt lager for filer og bilder" -#: ../../include/widgets.php:1161 -msgid "Project/Site Information" -msgstr "Prosjekt-/Nettstedsinformasjon" +#: ../../include/permissions.php:42 +msgid "Can edit my webpages" +msgstr "Kan endre mine websider" -#: ../../include/widgets.php:1162 -msgid "For Members" -msgstr "For medlemmer" +#: ../../include/permissions.php:44 +msgid "Can source my public posts in derived channels" +msgstr "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler" -#: ../../include/widgets.php:1163 -msgid "For Administrators" -msgstr "For administratorer" +#: ../../include/permissions.php:44 +msgid "Somewhat advanced - very useful in open communities" +msgstr "Litt avansert - svært nyttig i åpne fellesskap" -#: ../../include/widgets.php:1164 -msgid "For Developers" -msgstr "For utviklere" +#: ../../include/permissions.php:46 +msgid "Can administer my channel resources" +msgstr "Kan administrere mine kanalressurser" -#: ../../include/widgets.php:1189 ../../mod/admin.php:410 -msgid "Site" -msgstr "Nettsted" +#: ../../include/permissions.php:46 +msgid "" +"Extremely advanced. Leave this alone unless you know what you are doing" +msgstr "Ekstremt avansert. La dette være med mindre du vet hva du gjør" -#: ../../include/widgets.php:1190 -msgid "Accounts" -msgstr "Kontoer" +#: ../../include/permissions.php:867 +msgid "Social Networking" +msgstr "Sosialt nettverk" -#: ../../include/widgets.php:1191 ../../mod/admin.php:939 -msgid "Channels" -msgstr "Kanaler" +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Mostly Public" +msgstr "Ganske offentlig" -#: ../../include/widgets.php:1192 ../../mod/admin.php:1031 -#: ../../mod/admin.php:1071 -msgid "Plugins" -msgstr "Tilleggsfunksjoner" +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Restricted" +msgstr "Begrenset" -#: ../../include/widgets.php:1193 ../../mod/admin.php:1231 -#: ../../mod/admin.php:1265 -msgid "Themes" -msgstr "Temaer" +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +msgid "Private" +msgstr "Privat" -#: ../../include/widgets.php:1194 -msgid "Inspect queue" -msgstr "Inspiser kø" +#: ../../include/permissions.php:868 +msgid "Community Forum" +msgstr "Forum for fellesskap" -#: ../../include/widgets.php:1195 -msgid "Profile Config" -msgstr "Profilinnstillinger" +#: ../../include/permissions.php:869 +msgid "Feed Republish" +msgstr "Republisering av strømmet innhold" -#: ../../include/widgets.php:1196 -msgid "DB updates" -msgstr "Databaseoppdateringer" +#: ../../include/permissions.php:870 +msgid "Special Purpose" +msgstr "Spesiell bruk" -#: ../../include/widgets.php:1214 ../../include/widgets.php:1220 -#: ../../mod/admin.php:1350 -msgid "Logs" -msgstr "Logger" +#: ../../include/permissions.php:870 +msgid "Celebrity/Soapbox" +msgstr "Kjendis/Talerstol" -#: ../../include/widgets.php:1218 ../../include/nav.php:210 -msgid "Admin" -msgstr "Administrator" +#: ../../include/permissions.php:870 +msgid "Group Repository" +msgstr "Gruppelager" -#: ../../include/widgets.php:1219 -msgid "Plugin Features" -msgstr "Tilleggsfunksjoner" +#: ../../include/permissions.php:871 +msgid "Custom/Expert Mode" +msgstr "Tilpasset/Ekspertmodus" -#: ../../include/widgets.php:1221 -msgid "User registrations waiting for confirmation" -msgstr "Brukerregistreringer som venter på bekreftelse" +#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 +#: ../../mod/photos.php:699 ../../mod/profile_photo.php:147 +#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:379 +msgid "Profile Photos" +msgstr "Profilbilder" -#: ../../include/zot.php:677 -msgid "Invalid data packet" -msgstr "Ugyldig datapakke" +#: ../../mod/filestorage.php:82 +msgid "Permission Denied." +msgstr "Tillatelse avvist." -#: ../../include/zot.php:693 -msgid "Unable to verify channel signature" -msgstr "Ikke i stand til å sjekke kanalsignaturen" +#: ../../mod/filestorage.php:98 +msgid "File not found." +msgstr "Filen ble ikke funnet." -#: ../../include/zot.php:2213 -#, php-format -msgid "Unable to verify site signature for %s" -msgstr "Ikke i stand til å bekrefte signaturen til %s" +#: ../../mod/filestorage.php:141 +msgid "Edit file permissions" +msgstr "Endre filtillatelser" -#: ../../include/zot.php:3511 -msgid "invalid target signature" -msgstr "Målets signatur er ugyldig" +#: ../../mod/filestorage.php:150 +msgid "Set/edit permissions" +msgstr "Angi/endre tillatelser" -#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1496 -msgid "Logout" -msgstr "Logg ut" +#: ../../mod/filestorage.php:151 +msgid "Include all files and sub folders" +msgstr "Inkluder alle filer og undermapper" -#: ../../include/nav.php:82 ../../include/nav.php:114 -msgid "End this session" -msgstr "Avslutt denne økten" +#: ../../mod/filestorage.php:152 +msgid "Return to file list" +msgstr "Gå tilbake til filoversikten" -#: ../../include/nav.php:85 ../../include/nav.php:145 -msgid "Home" -msgstr "Hjem" +#: ../../mod/filestorage.php:154 +msgid "Copy/paste this code to attach file to a post" +msgstr "Kopier og lim inn denne koden for å legge til filen i et innlegg" -#: ../../include/nav.php:85 -msgid "Your posts and conversations" -msgstr "Dine innlegg og samtaler" +#: ../../mod/filestorage.php:155 +msgid "Copy/paste this URL to link file from a web page" +msgstr "Kopier og lim inn denne URL-en for å lenke til filen fra en webside" -#: ../../include/nav.php:86 -msgid "Your profile page" -msgstr "Din profilside" +#: ../../mod/filestorage.php:157 +msgid "Share this file" +msgstr "Del denne filen" -#: ../../include/nav.php:88 -msgid "Edit Profiles" -msgstr "Endre profiler" +#: ../../mod/filestorage.php:158 +msgid "Show URL to this file" +msgstr "Vis URLen til denne filen" -#: ../../include/nav.php:88 -msgid "Manage/Edit profiles" -msgstr "Håndter/endre profiler" +#: ../../mod/filestorage.php:159 +msgid "Notify your contacts about this file" +msgstr "Varsle dine kontakter om denne filen" -#: ../../include/nav.php:90 -msgid "Edit your profile" -msgstr "Endre din profil" +#: ../../mod/group.php:20 +msgid "Collection created." +msgstr "Samling opprettet." -#: ../../include/nav.php:92 -msgid "Your photos" -msgstr "Dine bilder" +#: ../../mod/group.php:26 +msgid "Could not create collection." +msgstr "Kunne ikke lage samling." -#: ../../include/nav.php:93 -msgid "Your files" -msgstr "Dine filer" +#: ../../mod/group.php:54 +msgid "Collection updated." +msgstr "Samlingen er oppdatert." -#: ../../include/nav.php:97 -msgid "Your chatrooms" -msgstr "Dine chatterom" +#: ../../mod/group.php:86 +msgid "Create a collection of channels." +msgstr "Lag en samling med kanaler." -#: ../../include/nav.php:103 -msgid "Your bookmarks" -msgstr "Dine bokmerker" +#: ../../mod/group.php:87 ../../mod/group.php:180 +msgid "Collection Name: " +msgstr "Navn på samling:" -#: ../../include/nav.php:107 -msgid "Your webpages" -msgstr "Dine websider" +#: ../../mod/group.php:89 ../../mod/group.php:183 +msgid "Members are visible to other channels" +msgstr "Medlemmer er synlig for andre kanaler" -#: ../../include/nav.php:111 -msgid "Sign in" -msgstr "Logg på" +#: ../../mod/group.php:107 +msgid "Collection removed." +msgstr "Samling fjernet." -#: ../../include/nav.php:128 -#, php-format -msgid "%s - click to logout" -msgstr "%s - klikk for å logge ut" +#: ../../mod/group.php:109 +msgid "Unable to remove collection." +msgstr "Ikke i stand til å fjerne samlingen." -#: ../../include/nav.php:131 -msgid "Remote authentication" -msgstr "Fjernautentisering" +#: ../../mod/group.php:179 +msgid "Collection Editor" +msgstr "Samlingsbehandler" -#: ../../include/nav.php:131 -msgid "Click to authenticate to your home hub" -msgstr "Klikk for å godkjennes mot din hjemme-hub" +#: ../../mod/group.php:193 +msgid "Members" +msgstr "Medlemmer" -#: ../../include/nav.php:145 -msgid "Home Page" -msgstr "Hjemmeside" +#: ../../mod/group.php:195 +msgid "All Connected Channels" +msgstr "Alle tilkoblede kanaler" -#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1473 -msgid "Register" -msgstr "Registrer" +#: ../../mod/group.php:227 +msgid "Click on a channel to add or remove." +msgstr "Klikk på en kanal for å legge til eller fjerne." -#: ../../include/nav.php:149 -msgid "Create an account" -msgstr "Lag en konto" +#: ../../mod/item.php:173 +msgid "Unable to locate original post." +msgstr "Ikke i stand til å finne opprinnelig innlegg." -#: ../../include/nav.php:154 -msgid "Help and documentation" -msgstr "Hjelp og dokumentasjon" +#: ../../mod/item.php:417 +msgid "Empty post discarded." +msgstr "Tomt innlegg forkastet." -#: ../../include/nav.php:157 -msgid "Applications, utilities, links, games" -msgstr "Programmer, verktøy, lenker, spill" +#: ../../mod/item.php:457 +msgid "Executable content type not permitted to this channel." +msgstr "Kjørbar innholdstype er ikke tillat for denne kanalen." -#: ../../include/nav.php:159 -msgid "Search site @name, #tag, ?docs, content" -msgstr "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold" +#: ../../mod/item.php:822 +msgid "Duplicate post suppressed." +msgstr "Duplikat av innlegg forhindret." -#: ../../include/nav.php:162 -msgid "Channel Directory" -msgstr "Kanalkatalog" +#: ../../mod/item.php:953 +msgid "System error. Post not saved." +msgstr "Systemfeil. Innlegg ble ikke lagret." -#: ../../include/nav.php:174 -msgid "Grid" -msgstr "Nett" +#: ../../mod/item.php:1220 +msgid "Unable to obtain post information from database." +msgstr "Ikke i stand til å få tak i informasjon om innlegg fra databasen." -#: ../../include/nav.php:174 -msgid "Your grid" -msgstr "Ditt nett" +#: ../../mod/item.php:1227 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "Du har nådd din grense på %1$.0f startinnlegg." -#: ../../include/nav.php:175 -msgid "Mark all grid notifications seen" -msgstr "Marker alle nettvarsler som sett" +#: ../../mod/item.php:1234 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." +msgstr "Du har nådd din grense på %1$.0f websider." -#: ../../include/nav.php:177 -msgid "Channel home" -msgstr "Kanalhjem" +#: ../../mod/common.php:10 +msgid "No channel." +msgstr "Ingen kanal." -#: ../../include/nav.php:178 -msgid "Mark all channel notifications seen" -msgstr "Merk alle kanalvarsler som sett" +#: ../../mod/common.php:39 +msgid "Common connections" +msgstr "Felles forbindelser" -#: ../../include/nav.php:181 ../../mod/connections.php:260 -msgid "Connections" -msgstr "Forbindelser" +#: ../../mod/common.php:44 +msgid "No connections in common." +msgstr "Ingen forbindelser felles." -#: ../../include/nav.php:184 -msgid "Notices" -msgstr "Varsel" +#: ../../mod/connect.php:56 ../../mod/connect.php:104 +msgid "Continue" +msgstr "Fortsett" -#: ../../include/nav.php:184 -msgid "Notifications" -msgstr "Varsler" +#: ../../mod/connect.php:85 +msgid "Premium Channel Setup" +msgstr "Premiumkanal-oppsett" -#: ../../include/nav.php:185 -msgid "See all notifications" -msgstr "Se alle varsler" +#: ../../mod/connect.php:87 +msgid "Enable premium channel connection restrictions" +msgstr "Slå på restriksjoner for forbindelse med premiumkanal" -#: ../../include/nav.php:186 ../../mod/notifications.php:99 -msgid "Mark all system notifications seen" -msgstr "Merk alle systemvarsler som sett" +#: ../../mod/connect.php:88 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." +msgstr "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre." -#: ../../include/nav.php:188 -msgid "Private mail" -msgstr "Privat post" +#: ../../mod/connect.php:90 ../../mod/connect.php:110 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" +msgstr "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:" -#: ../../include/nav.php:189 -msgid "See all private messages" -msgstr "Se alle private meldinger" +#: ../../mod/connect.php:91 +msgid "" +"Potential connections will then see the following text before proceeding:" +msgstr "Potensielle forbindelser vil da se følgende tekst før de går videre:" -#: ../../include/nav.php:190 -msgid "Mark all private messages seen" -msgstr "Merk alle private meldinger som sett" +#: ../../mod/connect.php:92 ../../mod/connect.php:113 +msgid "" +"By continuing, I certify that I have complied with any instructions provided" +" on this page." +msgstr "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden." -#: ../../include/nav.php:196 -msgid "Event Calendar" -msgstr "Kalender" +#: ../../mod/connect.php:101 +msgid "(No specific instructions have been provided by the channel owner.)" +msgstr "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)" -#: ../../include/nav.php:197 -msgid "See all events" -msgstr "Se alle hendelser" +#: ../../mod/connect.php:109 +msgid "Restricted or Premium Channel" +msgstr "Begrenset kanal eller premiumkanal" -#: ../../include/nav.php:198 -msgid "Mark all events seen" -msgstr "Merk alle hendelser som sett" +#: ../../mod/match.php:22 +msgid "Profile Match" +msgstr "Profiltreff" -#: ../../include/nav.php:200 -msgid "Manage Your Channels" -msgstr "Håndter dine kanaler" +#: ../../mod/match.php:31 +msgid "No keywords to match. Please add keywords to your default profile." +msgstr "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil." -#: ../../include/nav.php:202 -msgid "Account/Channel Settings" -msgstr "Konto-/kanal-innstillinger" +#: ../../mod/match.php:63 +msgid "is interested in:" +msgstr "er interessert i:" -#: ../../include/nav.php:210 -msgid "Site Setup and Configuration" -msgstr "Nettstedsoppsett og -konfigurasjon" +#: ../../mod/match.php:70 +msgid "No matches" +msgstr "Ingen treff" -#: ../../include/nav.php:246 -msgid "@name, #tag, ?doc, content" -msgstr "@navn, #merkelapp, ?dokumentasjon, innhold" +#: ../../mod/openid.php:26 +msgid "OpenID protocol error. No ID returned." +msgstr "OpenID protokollfeil. Ingen ID ble returnert." -#: ../../include/nav.php:247 -msgid "Please wait..." -msgstr "Vennligst vent..." +#: ../../mod/openid.php:72 ../../mod/openid.php:179 ../../mod/post.php:285 +#, php-format +msgid "Welcome %s. Remote authentication successful." +msgstr "Velkommen %s. Ekstern autentisering er vellykket." #: ../../mod/achievements.php:34 msgid "Some blurb about what to do when you're new here" msgstr "En standardtekst om hva du bør gjøre som ny her" -#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 -msgid "Contact not found." -msgstr "Kontakten ble ikke funnet." - -#: ../../mod/fsuggest.php:63 -msgid "Friend suggestion sent." -msgstr "Venneforespørsel sendt." - -#: ../../mod/fsuggest.php:97 -msgid "Suggest Friends" -msgstr "Foreslå venner" - -#: ../../mod/fsuggest.php:99 -#, php-format -msgid "Suggest a friend for %s" -msgstr "Foreslå en venn for %s" - -#: ../../mod/directory.php:59 ../../mod/display.php:13 ../../mod/search.php:13 -#: ../../mod/photos.php:453 ../../mod/ratings.php:82 -#: ../../mod/viewconnections.php:17 -msgid "Public access denied." -msgstr "Offentlig tilgang avvist." - -#: ../../mod/directory.php:234 -#, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "%d vurdering" -msgstr[1] "%d vurderinger" - -#: ../../mod/directory.php:245 -msgid "Gender: " -msgstr "Kjønn:" - -#: ../../mod/directory.php:247 -msgid "Status: " -msgstr "Status:" - -#: ../../mod/directory.php:249 -msgid "Homepage: " -msgstr "Hjemmeside:" - -#: ../../mod/directory.php:308 ../../mod/events.php:699 -msgid "Description:" -msgstr "Beskrivelse:" - -#: ../../mod/directory.php:317 -msgid "Public Forum:" -msgstr "Offentlig forum:" - -#: ../../mod/directory.php:320 -msgid "Keywords: " -msgstr "Nøkkelord:" - -#: ../../mod/directory.php:323 -msgid "Don't suggest" -msgstr "Ikke foreslå" - -#: ../../mod/directory.php:325 -msgid "Common connections:" -msgstr "Felles forbindelser:" - -#: ../../mod/directory.php:374 -msgid "Global Directory" -msgstr "Global katalog" - -#: ../../mod/directory.php:374 -msgid "Local Directory" -msgstr "Lokal katalog" +#: ../../mod/chatsvc.php:111 +msgid "Away" +msgstr "Borte" -#: ../../mod/directory.php:380 -msgid "Finding:" -msgstr "Finner:" +#: ../../mod/chatsvc.php:115 +msgid "Online" +msgstr "Online" -#: ../../mod/directory.php:385 -msgid "next page" -msgstr "Neste side" +#: ../../mod/pubsites.php:18 +msgid "Public Sites" +msgstr "Offentlige nettsteder" -#: ../../mod/directory.php:385 -msgid "previous page" -msgstr "Forrige side" +#: ../../mod/pubsites.php:21 +msgid "" +"The listed sites allow public registration for the $Projectname network. All" +" sites in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some sites may require subscription or" +" provide tiered service plans. The provider links <strong>may</strong> " +"provide additional details." +msgstr "Nettstedene på listen tillater offentlig registrering i $Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger." -#: ../../mod/directory.php:386 -msgid "Sort options" -msgstr "Sorteringsvalg" +#: ../../mod/pubsites.php:27 +msgid "Rate this hub" +msgstr "Vurder denne hubben" -#: ../../mod/directory.php:387 -msgid "Alphabetic" -msgstr "Alfabetisk" +#: ../../mod/pubsites.php:28 +msgid "Site URL" +msgstr "Nettstedets URL" -#: ../../mod/directory.php:388 -msgid "Reverse Alphabetic" -msgstr "Omvendt alfabetisk" +#: ../../mod/pubsites.php:28 +msgid "Access Type" +msgstr "Tilgangstype" -#: ../../mod/directory.php:389 -msgid "Newest to Oldest" -msgstr "Nyest til eldst" +#: ../../mod/pubsites.php:28 +msgid "Registration Policy" +msgstr "Retningslinjer for registrering" -#: ../../mod/directory.php:390 -msgid "Oldest to Newest" -msgstr "Eldst til nyest" +#: ../../mod/pubsites.php:28 +msgid "Project" +msgstr "Prosjekt" -#: ../../mod/directory.php:407 -msgid "No entries (some entries may be hidden)." -msgstr "Ingen oppføringer (noen oppføringer kan være skjult)." +#: ../../mod/pubsites.php:28 +msgid "View hub ratings" +msgstr "Vis vurderinger av hubben" -#: ../../mod/bookmarks.php:40 -msgid "Bookmark added" -msgstr "Bokmerke lagt til" +#: ../../mod/pubsites.php:32 +msgid "Rate" +msgstr "Vurder" -#: ../../mod/bookmarks.php:62 -msgid "My Bookmarks" -msgstr "Mine bokmerker" +#: ../../mod/pubsites.php:33 +msgid "View ratings" +msgstr "Vis vurderinger" -#: ../../mod/bookmarks.php:73 -msgid "My Connections Bookmarks" -msgstr "Mine forbindelsers bokmerker" +#: ../../mod/tagger.php:96 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" +msgstr "%1$s merket %3$s til %2$s med %4$s" -#: ../../mod/openid.php:26 -msgid "OpenID protocol error. No ID returned." -msgstr "OpenID protokollfeil. Ingen ID ble returnert." +#: ../../mod/rate.php:158 +msgid "Website:" +msgstr "Nettsted:" -#: ../../mod/openid.php:72 ../../mod/openid.php:179 ../../mod/post.php:285 +#: ../../mod/rate.php:161 #, php-format -msgid "Welcome %s. Remote authentication successful." -msgstr "Velkommen %s. Ekstern autentisering er vellykket." +msgid "Remote Channel [%s] (not yet known on this site)" +msgstr "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)" -#: ../../mod/block.php:27 ../../mod/page.php:36 -msgid "Invalid item." -msgstr "Ugyldig element." +#: ../../mod/rate.php:162 +msgid "Rating (this information is public)" +msgstr "Vurdering (denne informasjonen er offentlig)" -#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29 -msgid "Channel not found." -msgstr "Kanalen ble ikke funnet." +#: ../../mod/rate.php:163 +msgid "Optionally explain your rating (this information is public)" +msgstr "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)" -#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:214 -#: ../../mod/page.php:89 ../../index.php:237 -msgid "Page not found." -msgstr "Siden ikke funnet." +#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 +msgid "Block Name" +msgstr "Byggeklossens navn" + +#: ../../mod/blocks.php:149 +msgid "Block Title" +msgstr "Byggeklossens tittel" #: ../../mod/id.php:11 msgid "First Name" @@ -4349,7 +4565,7 @@ msgstr "Fødselsdag" msgid "Birthdate" msgstr "Fødselsdato" -#: ../../mod/id.php:33 ../../mod/profiles.php:431 +#: ../../mod/id.php:33 ../../mod/profiles.php:441 msgid "Gender" msgstr "Kjønn" @@ -4421,116 +4637,28 @@ msgstr "Handling ferdig." msgid "Thank you." msgstr "Tusen takk." -#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 -msgid "Export Channel" -msgstr "Eksporter kanal" - -#: ../../mod/uexport.php:53 -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 "Eksporter grunnleggende informasjon om kanalen din til en fil. Denne er en sikkerhetskopi av dine forbindelser, tillatelser, profil og grunnleggende data, som kan brukes til å importere dine data til en ny hub, men den tar ikke med innholdet." - -#: ../../mod/uexport.php:54 -msgid "Export Content" -msgstr "Eksporter innhold" - -#: ../../mod/uexport.php:55 -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 "Eksporter din kanalinformasjon og det nyeste innholdet til en JSON-sikkerhetskopi, som kan gjenopprettes eller importeres til en annen hub. Denne lager en sikkerhetskopi av alle dine forbindelser, tillatelser, profildata og flere måneder av innholdet ditt. Denne filen kan være SVÆRT stor. Vennligst vær tålmodig - det kan ta flere minutter før denne nedlastningen begynner." - -#: ../../mod/uexport.php:56 -msgid "Export your posts from a given year." -msgstr "Eksporter dine innlegg fra et bestemt år" - -#: ../../mod/uexport.php:58 -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 "Du kan også eksportere dine innlegg og samtaler for et bestemt år eller måned. Juster datoen i din nettlesers adresselinje for å velge andre datoer. Hvis eksporten feiler (muligens på grunn av utilstrekkelig minne på din hub), vennligst prøv igjen med et mer begrenset datoområde." +#: ../../mod/page.php:36 ../../mod/block.php:27 +msgid "Invalid item." +msgstr "Ugyldig element." -#: ../../mod/uexport.php:59 -#, php-format -msgid "" -"To select all posts for a given year, such as this year, visit <a " -"href=\"%1$s\">%2$s</a>" -msgstr "For å velge alle innlegg for et gitt år, slik som iår, besøk <a href=\"%1$s\">%2$s</a>" +#: ../../mod/page.php:52 ../../mod/wall_upload.php:29 ../../mod/block.php:39 +msgid "Channel not found." +msgstr "Kanalen ble ikke funnet." -#: ../../mod/uexport.php:60 -#, 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 "For å velge alle innlegg fra en gitt måned, slik som januar i år, besøk <a href=\"%1$s\">%2$s</a>" +#: ../../mod/page.php:89 ../../mod/display.php:110 ../../mod/help.php:214 +#: ../../mod/block.php:75 ../../index.php:241 +msgid "Page not found." +msgstr "Siden ikke funnet." -#: ../../mod/uexport.php:61 -#, php-format +#: ../../mod/page.php:126 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 "Disse innholdsfilene kan importeres eller gjenopprettes ved å besøke <a href=\"%1$s\">%2$s</a> på ethvert nettsted som inneholder din kanal. For best resultat, vennligst importer eller gjenopprett disse etter dato (eldste først)." - -#: ../../mod/chatsvc.php:111 -msgid "Away" -msgstr "Borte" - -#: ../../mod/chatsvc.php:115 -msgid "Online" -msgstr "Online" - -#: ../../mod/tagger.php:96 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" -msgstr "%1$s merket %3$s til %2$s med %4$s" - -#: ../../mod/common.php:10 -msgid "No channel." -msgstr "Ingen kanal." - -#: ../../mod/common.php:39 -msgid "Common connections" -msgstr "Felles forbindelser" - -#: ../../mod/common.php:44 -msgid "No connections in common." -msgstr "Ingen forbindelser felles." - -#: ../../mod/ping.php:260 -msgid "sent you a private message" -msgstr "sendte deg en privat melding" - -#: ../../mod/ping.php:308 -msgid "added your channel" -msgstr "la til din kanal" - -#: ../../mod/ping.php:350 -msgid "posted an event" -msgstr "la ut en hendelse" - -#: ../../mod/help.php:147 -msgid "Documentation Search" -msgstr "Søk i dokumentasjon" - -#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 -msgid "Help:" -msgstr "Hjelp:" - -#: ../../mod/help.php:211 ../../index.php:234 -msgid "Not Found" -msgstr "Ikke funnet" - -#: ../../mod/help.php:235 -msgid "$Projectname Documentation" -msgstr "$Projectname dokumentasjon" +"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." #: ../../mod/removeme.php:29 msgid "" @@ -4568,137 +4696,820 @@ msgid "" "removed from the network" msgstr "Som standard vil bare forekomsten av denne kanalen lokalisert på denne hubben bli fjernet fra nettverket" -#: ../../mod/removeme.php:61 ../../mod/settings.php:1109 +#: ../../mod/removeme.php:61 ../../mod/settings.php:1112 msgid "Remove Channel" msgstr "Fjern kanal" -#: ../../mod/filer.php:48 -msgid "- select -" -msgstr "- velg -" +#: ../../mod/mood.php:132 +msgid "Set your current mood and tell your friends" +msgstr "Angi ditt nåværende humør og fortell dine venner" -#: ../../mod/mitem.php:24 ../../mod/menu.php:140 -msgid "Menu not found." -msgstr "Menyen ble ikke funnet." +#: ../../mod/new_channel.php:109 +msgid "Add a Channel" +msgstr "Legg til en kanal" -#: ../../mod/mitem.php:48 -msgid "Unable to create element." -msgstr "Klarer ikke å lage element." +#: ../../mod/new_channel.php:110 +msgid "" +"A channel is your own collection of related web pages. A channel can be used" +" to hold social network profiles, blogs, conversation groups and forums, " +"celebrity pages, and much more. You may create as many channels as your " +"service provider allows." +msgstr "En kanal er din egen samling av relaterte web-sider. En kanal kan brukes til å samle sosiale nettverksprofiler, blogger, samtalegrupper og forum, kjendissider og mye mer. Du kan lage så mange kanaler som din tjenestetilbyder tillater." -#: ../../mod/mitem.php:72 -msgid "Unable to update menu element." -msgstr "Ikke i stand til å oppdatere menyelement." +#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 +#: ../../mod/sources.php:137 +msgid "Channel Name" +msgstr "Kanalnavn" -#: ../../mod/mitem.php:88 -msgid "Unable to add menu element." -msgstr "Ikke i stand til å legge til menyelement." +#: ../../mod/new_channel.php:113 +msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " +msgstr "Eksempel: \"Ola Nordmann\", \"Lisa og hestene hennes\", \"Fotball\", \"Sykkelgruppa\"" -#: ../../mod/mitem.php:116 ../../mod/menu.php:162 ../../mod/xchan.php:37 -msgid "Not found." -msgstr "Ikke funnet." +#: ../../mod/new_channel.php:114 +msgid "Choose a short nickname" +msgstr "Velg et kort kallenavn" -#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 -msgid "Menu Item Permissions" -msgstr "Menyelement Tillatelser" +#: ../../mod/new_channel.php:115 +msgid "" +"Your nickname will be used to create an easily remembered channel address " +"(like an email address) which you can share with others." +msgstr "Ditt kallenavn brukes til å lage en kanaladresse som er enkel å huske (minner om en e-postadresse) og som du kan dele med andre." -#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1053 -msgid "(click to open/close)" -msgstr "(klikk for å åpne/lukke)" +#: ../../mod/new_channel.php:116 +msgid "Or <a href=\"import\">import an existing channel</a> from another location" +msgstr "Eller <a href=\"import\">importerer en eksisterende kanal</a> fra et annet sted." -#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 -msgid "Link Name" -msgstr "Lenkenavn" +#: ../../mod/new_channel.php:118 +msgid "" +"Please choose a channel type (such as social networking or community forum) " +"and privacy requirements so we can select the best permissions for you" +msgstr "Vennligst velg en kanaltype (for eksempel sosialt nettverk eller forum for felleskap) og krav til personvern slik at vi kan velge de beste tillatelsene for deg." -#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 -msgid "Link or Submenu Target" -msgstr "Lenke- eller undermeny-mål" +#: ../../mod/new_channel.php:119 +msgid "Channel Type" +msgstr "Kanaltype" -#: ../../mod/mitem.php:153 -msgid "Enter URL of the link or select a menu name to create a submenu" -msgstr "Skriv URL-en til lenken eller velg et menynavn for å lage en undermeny" +#: ../../mod/new_channel.php:119 +msgid "Read more about roles" +msgstr "Les mer om roller" -#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 -msgid "Use magic-auth if available" -msgstr "Bruk magic-autent hvis mulig" +#: ../../mod/ratings.php:69 +msgid "No ratings" +msgstr "Ingen vurderinger" -#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 -msgid "Open link in new window" -msgstr "Åpne lenke i nytt vindu" +#: ../../mod/ratings.php:82 ../../mod/search.php:13 ../../mod/directory.php:59 +#: ../../mod/photos.php:490 ../../mod/display.php:13 +#: ../../mod/viewconnections.php:17 +msgid "Public access denied." +msgstr "Offentlig tilgang avvist." -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Order in list" -msgstr "Ordne i liste" +#: ../../mod/ratings.php:99 +msgid "Ratings" +msgstr "Vurderinger" -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Higher numbers will sink to bottom of listing" -msgstr "Høyere tall vil synke mot bunnen av listen" +#: ../../mod/ratings.php:100 +msgid "Rating: " +msgstr "Vurdering:" -#: ../../mod/mitem.php:157 -msgid "Submit and finish" -msgstr "Send inn og avslutt" +#: ../../mod/ratings.php:101 +msgid "Website: " +msgstr "Nettsted:" -#: ../../mod/mitem.php:158 -msgid "Submit and continue" -msgstr "Send inn og fortsett" +#: ../../mod/ratings.php:103 +msgid "Description: " +msgstr "Beskrivelse:" -#: ../../mod/mitem.php:166 -msgid "Menu:" -msgstr "Meny:" +#: ../../mod/setup.php:191 +msgid "$Projectname Server - Setup" +msgstr "$Projectname-tjener - oppsett" -#: ../../mod/mitem.php:169 -msgid "Link Target" -msgstr "Lenkemål" +#: ../../mod/setup.php:195 +msgid "Could not connect to database." +msgstr "Fikk ikke kontakt med databasen." -#: ../../mod/mitem.php:172 -msgid "Edit menu" -msgstr "Endre meny" +#: ../../mod/setup.php:199 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." +msgstr "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS." -#: ../../mod/mitem.php:175 -msgid "Edit element" -msgstr "Endre element" +#: ../../mod/setup.php:206 +msgid "Could not create table." +msgstr "Kunne ikke lage tabellen." -#: ../../mod/mitem.php:176 -msgid "Drop element" -msgstr "Slett element" +#: ../../mod/setup.php:211 +msgid "Your site database has been installed." +msgstr "Databasen til ditt nettsted har blitt installert." -#: ../../mod/mitem.php:177 -msgid "New element" -msgstr "Nytt element" +#: ../../mod/setup.php:215 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." +msgstr "Du må kanskje importere filen \"install/schmea_xxx.sql\" manuelt ved å bruke en databaseklient." -#: ../../mod/mitem.php:178 -msgid "Edit this menu container" -msgstr "Endre denne menybeholderen" +#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 +msgid "Please see the file \"install/INSTALL.txt\"." +msgstr "Vennligst les filen \"install/INSTALL.txt\"." -#: ../../mod/mitem.php:179 -msgid "Add menu element" -msgstr "Legg til menyelement" +#: ../../mod/setup.php:281 +msgid "System check" +msgstr "Systemsjekk" -#: ../../mod/mitem.php:180 -msgid "Delete this menu item" -msgstr "Slett dette menyelementet" +#: ../../mod/setup.php:285 ../../mod/photos.php:914 ../../mod/events.php:668 +#: ../../mod/events.php:675 +msgid "Next" +msgstr "Neste" -#: ../../mod/mitem.php:181 -msgid "Edit this menu item" -msgstr "Endre dette menyelementet" +#: ../../mod/setup.php:286 +msgid "Check again" +msgstr "Sjekk igjen" -#: ../../mod/mitem.php:198 -msgid "Menu item not found." -msgstr "Menyelement ble ikke funnet." +#: ../../mod/setup.php:308 +msgid "Database connection" +msgstr "Databaseforbindelse" -#: ../../mod/mitem.php:211 -msgid "Menu item deleted." -msgstr "Menyelement slettet." +#: ../../mod/setup.php:309 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." +msgstr "For å installere $Projectname må du oppgi hvordan din database kan kontaktes." -#: ../../mod/mitem.php:213 -msgid "Menu item could not be deleted." -msgstr "Menyelement kunne ikke bli slettet." +#: ../../mod/setup.php:310 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." +msgstr "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene." -#: ../../mod/mitem.php:220 -msgid "Edit Menu Element" -msgstr "Endre menyelement" +#: ../../mod/setup.php:311 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." +msgstr "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter." -#: ../../mod/mitem.php:226 -msgid "Link text" -msgstr "Lenketekst" +#: ../../mod/setup.php:315 +msgid "Database Server Name" +msgstr "Navn på databasetjener" + +#: ../../mod/setup.php:315 +msgid "Default is 127.0.0.1" +msgstr "Standard er 127.0.0.1" + +#: ../../mod/setup.php:316 +msgid "Database Port" +msgstr "Databaseport" + +#: ../../mod/setup.php:316 +msgid "Communication port number - use 0 for default" +msgstr "Kommunikasjonsportnummer - bruk 0 for standard" + +#: ../../mod/setup.php:317 +msgid "Database Login Name" +msgstr "Database innloggingsnavn" + +#: ../../mod/setup.php:318 +msgid "Database Login Password" +msgstr "Database innloggingspassord" + +#: ../../mod/setup.php:319 +msgid "Database Name" +msgstr "Databasenavn" + +#: ../../mod/setup.php:320 +msgid "Database Type" +msgstr "Databasetype" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "Site administrator email address" +msgstr "E-postadressen til administrator ved nettstedet" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet." + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Website URL" +msgstr "Nettstedets URL" + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Please use SSL (https) URL if available." +msgstr "Vennligst bruk SSL (https) URL hvis tilgjengelig." + +#: ../../mod/setup.php:325 ../../mod/setup.php:367 +msgid "Please select a default timezone for your website" +msgstr "Vennligst velg en standard tidssone for ditt nettsted" + +#: ../../mod/setup.php:352 +msgid "Site settings" +msgstr "Nettstedets innstillinger" + +#: ../../mod/setup.php:417 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH)." + +#: ../../mod/setup.php:418 +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 "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron." + +#: ../../mod/setup.php:422 +msgid "PHP executable path" +msgstr "PHP-kjørefilens sti" + +#: ../../mod/setup.php:422 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen." + +#: ../../mod/setup.php:427 +msgid "Command line PHP" +msgstr "Kommandolinje PHP" + +#: ../../mod/setup.php:436 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd." + +#: ../../mod/setup.php:437 +msgid "This is required for message delivery to work." +msgstr "Dette er påkrevd for at meldingslevering skal virke." + +#: ../../mod/setup.php:440 +msgid "PHP register_argc_argv" +msgstr "PHP register_argc_argv" + +#: ../../mod/setup.php:458 +#, 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 "Den største totale opplastingsstørrelsen du er tillatt er satt til %s. Filstørrelsen på en enkelt fil er satt til å maksimalt være %s. Du har lov til å laste opp inntil %d filer samtidig." + +#: ../../mod/setup.php:463 +msgid "You can adjust these settings in the servers php.ini." +msgstr "Du kan justere disse innstillingene i tjenerens php.ini." + +#: ../../mod/setup.php:465 +msgid "PHP upload limits" +msgstr "PHP opplastingsgrenser" + +#: ../../mod/setup.php:488 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler" + +#: ../../mod/setup.php:489 +msgid "" +"If running under Windows, please see " +"\"http://www.php.net/manual/en/openssl.installation.php\"." +msgstr "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\"." + +#: ../../mod/setup.php:492 +msgid "Generate encryption keys" +msgstr "Lag krypteringsnøkler" + +#: ../../mod/setup.php:504 +msgid "libCurl PHP module" +msgstr "libCurl PHP-modul" + +#: ../../mod/setup.php:505 +msgid "GD graphics PHP module" +msgstr "GD graphics PHP-modul" + +#: ../../mod/setup.php:506 +msgid "OpenSSL PHP module" +msgstr "OpenSSL PHP-modul" + +#: ../../mod/setup.php:507 +msgid "mysqli or postgres PHP module" +msgstr "MySQLi eller Postgres PHP modul" + +#: ../../mod/setup.php:508 +msgid "mb_string PHP module" +msgstr "mb_string PHP-modul" + +#: ../../mod/setup.php:509 +msgid "mcrypt PHP module" +msgstr "mcrypt PHP-modul" + +#: ../../mod/setup.php:510 +msgid "xml PHP module" +msgstr "XML PHP modul" + +#: ../../mod/setup.php:514 ../../mod/setup.php:516 +msgid "Apache mod_rewrite module" +msgstr "Apache mod_rewrite-modul" + +#: ../../mod/setup.php:514 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert." + +#: ../../mod/setup.php:520 ../../mod/setup.php:523 +msgid "proc_open" +msgstr "proc_open" + +#: ../../mod/setup.php:520 +msgid "" +"Error: proc_open is required but is either not installed or has been " +"disabled in php.ini" +msgstr "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini" + +#: ../../mod/setup.php:528 +msgid "Error: libCURL PHP module required but not installed." +msgstr "Feil: libCURL PHP-modul er påkrevd, men er ikke installert." + +#: ../../mod/setup.php:532 +msgid "" +"Error: GD graphics PHP module with JPEG support required but not installed." +msgstr "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert." + +#: ../../mod/setup.php:536 +msgid "Error: openssl PHP module required but not installed." +msgstr "Feil: openssl PHP-modul er påkrevd, men er ikke installert." + +#: ../../mod/setup.php:540 +msgid "" +"Error: mysqli or postgres PHP module required but neither are installed." +msgstr "Feil: mysqli eller postgres PHP modul er påkrevd, men ingen av dem er installert." + +#: ../../mod/setup.php:544 +msgid "Error: mb_string PHP module required but not installed." +msgstr "Feil: mb_string PHP-modul er påkrevd, men er ikke installert." + +#: ../../mod/setup.php:548 +msgid "Error: mcrypt PHP module required but not installed." +msgstr "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert." + +#: ../../mod/setup.php:552 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "Feil: XML PHP modul er påkrevet for DAV, men den er ikke installert." + +#: ../../mod/setup.php:570 +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 "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til." + +#: ../../mod/setup.php:571 +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 "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan." + +#: ../../mod/setup.php:572 +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 "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red." + +#: ../../mod/setup.php:573 +msgid "" +"You can alternatively skip this procedure and perform a manual installation." +" Please see the file \"install/INSTALL.txt\" for instructions." +msgstr "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner." + +#: ../../mod/setup.php:576 +msgid ".htconfig.php is writable" +msgstr ".htconfig.php kan skrives til" + +#: ../../mod/setup.php:590 +msgid "" +"Red uses the Smarty3 template engine to render its web views. Smarty3 " +"compiles templates to PHP to speed up rendering." +msgstr "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen." + +#: ../../mod/setup.php:591 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the Red top level folder." +msgstr "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe." + +#: ../../mod/setup.php:592 ../../mod/setup.php:613 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has" +" write access to this folder." +msgstr "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen." + +#: ../../mod/setup.php:593 +#, 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 "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder." + +#: ../../mod/setup.php:596 +#, php-format +msgid "%s is writable" +msgstr "%s kan skrives til" + +#: ../../mod/setup.php:612 +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 "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe." + +#: ../../mod/setup.php:616 +msgid "store is writable" +msgstr "lageret kan skrives til" + +#: ../../mod/setup.php:649 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access" +" to this site." +msgstr "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet." + +#: ../../mod/setup.php:650 +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 "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!" + +#: ../../mod/setup.php:651 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub." + +#: ../../mod/setup.php:652 +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 "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer." + +#: ../../mod/setup.php:653 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet." + +#: ../../mod/setup.php:654 +msgid "" +"Providers are available that issue free certificates which are browser-" +"valid." +msgstr "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere." + +#: ../../mod/setup.php:656 +msgid "SSL certificate validation" +msgstr "SSL sertifikat-kontroll" + +#: ../../mod/setup.php:662 +msgid "" +"Url rewrite in .htaccess is not working. Check your server " +"configuration.Test: " +msgstr "URL omskriving (rewrite) i .htaccess virker ikke. Sjekk konfigurasjonen til tjeneren din. Test:" + +#: ../../mod/setup.php:665 +msgid "Url rewrite is working" +msgstr "URL rewrite virker" + +#: ../../mod/setup.php:674 +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 "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener." + +#: ../../mod/setup.php:698 +msgid "Errors encountered creating database tables." +msgstr "Feil oppstod under opprettelsen av databasetabeller." + +#: ../../mod/setup.php:732 +msgid "<h1>What next</h1>" +msgstr "<h1>Hva gjenstår</h1>" + +#: ../../mod/setup.php:733 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the " +"poller." +msgstr "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren." + +#: ../../mod/bookmarks.php:40 +msgid "Bookmark added" +msgstr "Bokmerke lagt til" + +#: ../../mod/bookmarks.php:62 +msgid "My Bookmarks" +msgstr "Mine bokmerker" + +#: ../../mod/bookmarks.php:73 +msgid "My Connections Bookmarks" +msgstr "Mine forbindelsers bokmerker" + +#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:157 +msgid "$Projectname" +msgstr "$Projectname" + +#: ../../mod/home.php:75 +#, php-format +msgid "Welcome to %s" +msgstr "Velkommen til %s" + +#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 +msgid "This setting requires special processing and editing has been blocked." +msgstr "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert." + +#: ../../mod/pconfig.php:49 +msgid "Configuration Editor" +msgstr "Konfigurasjonsbehandler" + +#: ../../mod/pconfig.php:50 +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 "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig." + +#: ../../mod/poke.php:164 +msgid "Poke/Prod" +msgstr "Prikke/oppildne" + +#: ../../mod/poke.php:165 +msgid "poke, prod or do other things to somebody" +msgstr "prikke, oppildne eller gjør andre ting med noen" + +#: ../../mod/poke.php:166 +msgid "Recipient" +msgstr "Mottaker" + +#: ../../mod/poke.php:167 +msgid "Choose what you wish to do to recipient" +msgstr "Velg hva du ønsker å gjøre med mottakeren" + +#: ../../mod/poke.php:170 +msgid "Make this post private" +msgstr "Gjør dette innlegget privat" + +#: ../../mod/profiles.php:19 ../../mod/profiles.php:184 +#: ../../mod/profiles.php:241 ../../mod/profiles.php:608 +msgid "Profile not found." +msgstr "Profilen ble ikke funnet." + +#: ../../mod/profiles.php:39 +msgid "Profile deleted." +msgstr "Profilen er slettet." + +#: ../../mod/profiles.php:63 ../../mod/profiles.php:99 +msgid "Profile-" +msgstr "Profil-" + +#: ../../mod/profiles.php:84 ../../mod/profiles.php:127 +msgid "New profile created." +msgstr "Ny profil opprettet." + +#: ../../mod/profiles.php:105 +msgid "Profile unavailable to clone." +msgstr "Profilen er utilgjengelig for klonen." + +#: ../../mod/profiles.php:146 +msgid "Profile unavailable to export." +msgstr "Profilen er utilgjengelig for eksport." + +#: ../../mod/profiles.php:251 +msgid "Profile Name is required." +msgstr "Profilnavn er påkrevd." + +#: ../../mod/profiles.php:414 +msgid "Marital Status" +msgstr "Sivilstand" + +#: ../../mod/profiles.php:418 +msgid "Romantic Partner" +msgstr "Romantisk partner" + +#: ../../mod/profiles.php:422 +msgid "Likes" +msgstr "Liker" + +#: ../../mod/profiles.php:426 +msgid "Dislikes" +msgstr "Liker ikke" + +#: ../../mod/profiles.php:430 +msgid "Work/Employment" +msgstr "Arbeid/sysselsetting" + +#: ../../mod/profiles.php:433 +msgid "Religion" +msgstr "Religion" + +#: ../../mod/profiles.php:437 +msgid "Political Views" +msgstr "Politiske synspunkter" + +#: ../../mod/profiles.php:445 +msgid "Sexual Preference" +msgstr "Seksuelle preferanser" + +#: ../../mod/profiles.php:449 +msgid "Homepage" +msgstr "Hjemmeside" + +#: ../../mod/profiles.php:453 +msgid "Interests" +msgstr "Interesser" + +#: ../../mod/profiles.php:457 ../../mod/admin.php:974 +msgid "Address" +msgstr "Adresse" + +#: ../../mod/profiles.php:547 +msgid "Profile updated." +msgstr "Profilen er oppdatert." + +#: ../../mod/profiles.php:634 +msgid "Hide your contact/friend list from viewers of this profile?" +msgstr "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?" + +#: ../../mod/profiles.php:674 +msgid "Edit Profile Details" +msgstr "Endre profildetaljer" + +#: ../../mod/profiles.php:676 +msgid "View this profile" +msgstr "Vis denne profilen" + +#: ../../mod/profiles.php:678 +msgid "Change Profile Photo" +msgstr "Endre profilbilde" + +#: ../../mod/profiles.php:679 +msgid "Create a new profile using these settings" +msgstr "Lag en ny profil ved å bruke disse innstillingene" + +#: ../../mod/profiles.php:680 +msgid "Clone this profile" +msgstr "Klon denne profilen" + +#: ../../mod/profiles.php:681 +msgid "Delete this profile" +msgstr "Slett denne profilen" + +#: ../../mod/profiles.php:683 +msgid "Import profile from file" +msgstr "Importer profil fra fil" + +#: ../../mod/profiles.php:684 +msgid "Export profile to file" +msgstr "Eksporter profil til fil" + +#: ../../mod/profiles.php:685 +msgid "Profile Name:" +msgstr "Profilnavn:" + +#: ../../mod/profiles.php:686 +msgid "Your Full Name:" +msgstr "Ditt fulle navn:" + +#: ../../mod/profiles.php:687 +msgid "Title/Description:" +msgstr "Tittel/Beskrivelse:" + +#: ../../mod/profiles.php:688 +msgid "Your Gender:" +msgstr "Ditt kjønn:" + +#: ../../mod/profiles.php:689 +msgid "Birthday :" +msgstr "Fødselsdag:" + +#: ../../mod/profiles.php:690 +msgid "Street Address:" +msgstr "Gateadresse:" + +#: ../../mod/profiles.php:691 +msgid "Locality/City:" +msgstr "Sted/By:" + +#: ../../mod/profiles.php:692 +msgid "Postal/Zip Code:" +msgstr "Postnummer/ZIP-kode:" + +#: ../../mod/profiles.php:693 +msgid "Country:" +msgstr "Land:" + +#: ../../mod/profiles.php:694 +msgid "Region/State:" +msgstr "Region/fylke:" + +#: ../../mod/profiles.php:695 +msgid "<span class=\"heart\">♥</span> Marital Status:" +msgstr "<span class=\"heart\">♥</span> Sivilstand:" + +#: ../../mod/profiles.php:696 +msgid "Who: (if applicable)" +msgstr "Hvem: (hvis det er aktuelt) " + +#: ../../mod/profiles.php:697 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "Eksempler: kari123, Kari Villiamsen, kari@example.com" + +#: ../../mod/profiles.php:698 +msgid "Since [date]:" +msgstr "Siden [dato]:" + +#: ../../mod/profiles.php:700 +msgid "Homepage URL:" +msgstr "Hjemmeside URL:" + +#: ../../mod/profiles.php:703 +msgid "Religious Views:" +msgstr "Religiøse synspunkter:" + +#: ../../mod/profiles.php:704 +msgid "Keywords:" +msgstr "Nøkkelord:" + +#: ../../mod/profiles.php:707 +msgid "Example: fishing photography software" +msgstr "Eksempel: fisking fotografering programvare" + +#: ../../mod/profiles.php:708 +msgid "Used in directory listings" +msgstr "Brukt i katalogoppføringer" + +#: ../../mod/profiles.php:709 +msgid "Tell us about yourself..." +msgstr "Fortell oss om deg selv..." + +#: ../../mod/profiles.php:710 +msgid "Hobbies/Interests" +msgstr "Hobbier/Interesser" + +#: ../../mod/profiles.php:711 +msgid "Contact information and Social Networks" +msgstr "Kontaktinformasjon og sosiale nettverk" + +#: ../../mod/profiles.php:712 +msgid "My other channels" +msgstr "Mine andre kanaler" + +#: ../../mod/profiles.php:713 +msgid "Musical interests" +msgstr "Musikkinteresser" + +#: ../../mod/profiles.php:714 +msgid "Books, literature" +msgstr "Bøker, litteratur" + +#: ../../mod/profiles.php:715 +msgid "Television" +msgstr "TV/fjernsyn" + +#: ../../mod/profiles.php:716 +msgid "Film/dance/culture/entertainment" +msgstr "Film/dans/kultur/underholdning" + +#: ../../mod/profiles.php:717 +msgid "Love/romance" +msgstr "Kjærlighet/romantikk" + +#: ../../mod/profiles.php:718 +msgid "Work/employment" +msgstr "Arbeid/sysselsetting" + +#: ../../mod/profiles.php:719 +msgid "School/education" +msgstr "Skole/utdanning" + +#: ../../mod/profiles.php:725 +msgid "This is your default profile." +msgstr "Dette er din standardprofil." + +#: ../../mod/profiles.php:736 +msgid "Age: " +msgstr "Alder:" + +#: ../../mod/profiles.php:779 +msgid "Edit/Manage Profiles" +msgstr "Endre/håndter profiler" + +#: ../../mod/profiles.php:780 +msgid "Add profile things" +msgstr "Legg til profilting" + +#: ../../mod/profiles.php:781 +msgid "Include desirable objects in your profile" +msgstr "Inkluder ønskverdige objekter i din profil" + +#: ../../mod/search.php:212 +#, php-format +msgid "Items tagged with: %s" +msgstr "Elementer merket med: %s" + +#: ../../mod/search.php:214 +#, php-format +msgid "Search results for: %s" +msgstr "Søkeresultater for: %s" #: ../../mod/connedit.php:75 msgid "Could not access contact record." @@ -4708,240 +5519,249 @@ msgstr "Fikk ikke tilgang til kontaktinformasjonen." msgid "Could not locate selected profile." msgstr "Fant ikke valgt profil." -#: ../../mod/connedit.php:219 +#: ../../mod/connedit.php:223 msgid "Connection updated." msgstr "Forbindelsen er oppdatert." -#: ../../mod/connedit.php:221 +#: ../../mod/connedit.php:225 msgid "Failed to update connection record." msgstr "Mislyktes med å oppdatere forbindelsesinformasjonen." -#: ../../mod/connedit.php:268 +#: ../../mod/connedit.php:272 msgid "is now connected to" msgstr "er nå forbundet til" -#: ../../mod/connedit.php:391 +#: ../../mod/connedit.php:395 msgid "Could not access address book record." msgstr "Fikk ikke tilgang til informasjonen i adresseboken." -#: ../../mod/connedit.php:405 +#: ../../mod/connedit.php:409 msgid "Refresh failed - channel is currently unavailable." msgstr "Oppfrisking mislyktes - kanalen er for øyeblikket utilgjengelig." -#: ../../mod/connedit.php:414 ../../mod/connedit.php:423 -#: ../../mod/connedit.php:432 ../../mod/connedit.php:441 -#: ../../mod/connedit.php:454 +#: ../../mod/connedit.php:418 ../../mod/connedit.php:427 +#: ../../mod/connedit.php:436 ../../mod/connedit.php:445 +#: ../../mod/connedit.php:458 msgid "Unable to set address book parameters." msgstr "Ikke i stand til å angi parametre for adresseboken." -#: ../../mod/connedit.php:478 +#: ../../mod/connedit.php:482 msgid "Connection has been removed." msgstr "Forbindelsen har blitt fjernet." -#: ../../mod/connedit.php:497 +#: ../../mod/connedit.php:501 #, php-format msgid "View %s's profile" msgstr "Vis %s sin profil" -#: ../../mod/connedit.php:501 +#: ../../mod/connedit.php:505 msgid "Refresh Permissions" msgstr "Oppfrisk tillatelser" -#: ../../mod/connedit.php:504 +#: ../../mod/connedit.php:508 msgid "Fetch updated permissions" msgstr "Hent oppdaterte tillatelser" -#: ../../mod/connedit.php:508 +#: ../../mod/connedit.php:512 msgid "Recent Activity" msgstr "Nylig aktivitet" -#: ../../mod/connedit.php:511 +#: ../../mod/connedit.php:515 msgid "View recent posts and comments" msgstr "Vis nylige innlegg og kommentarer" -#: ../../mod/connedit.php:515 ../../mod/admin.php:785 +#: ../../mod/connedit.php:519 ../../mod/admin.php:811 msgid "Unblock" msgstr "Ikke blokker lenger" -#: ../../mod/connedit.php:515 ../../mod/admin.php:784 +#: ../../mod/connedit.php:519 ../../mod/admin.php:810 msgid "Block" msgstr "Blokker" -#: ../../mod/connedit.php:518 +#: ../../mod/connedit.php:522 msgid "Block (or Unblock) all communications with this connection" msgstr "Blokker eller fjern blokkering av all kommunikasjon med denne forbindelsen" -#: ../../mod/connedit.php:519 +#: ../../mod/connedit.php:523 msgid "This connection is blocked!" msgstr "Denne forbindelsen er blokkert!" -#: ../../mod/connedit.php:523 +#: ../../mod/connedit.php:527 msgid "Unignore" msgstr "Ikke ignorer lenger" -#: ../../mod/connedit.php:523 ../../mod/notifications.php:51 +#: ../../mod/connedit.php:527 ../../mod/notifications.php:51 msgid "Ignore" msgstr "Ignorer" -#: ../../mod/connedit.php:526 +#: ../../mod/connedit.php:530 msgid "Ignore (or Unignore) all inbound communications from this connection" msgstr "Ignorer eller fjern ignorering av all inngående kommunikasjon fra denne forbindelsen" -#: ../../mod/connedit.php:527 +#: ../../mod/connedit.php:531 msgid "This connection is ignored!" msgstr "Denne forbindelsen er ignorert!" -#: ../../mod/connedit.php:531 +#: ../../mod/connedit.php:535 msgid "Unarchive" msgstr "Ikke arkiver lenger" -#: ../../mod/connedit.php:531 +#: ../../mod/connedit.php:535 msgid "Archive" msgstr "Arkiver" -#: ../../mod/connedit.php:534 +#: ../../mod/connedit.php:538 msgid "" "Archive (or Unarchive) this connection - mark channel dead but keep content" msgstr "Arkiver eller fjern arkivering av denne forbindelsen - marker kanal som død, men behold innhold" -#: ../../mod/connedit.php:535 +#: ../../mod/connedit.php:539 msgid "This connection is archived!" msgstr "Denne forbindelsen er arkivert!" -#: ../../mod/connedit.php:539 +#: ../../mod/connedit.php:543 msgid "Unhide" msgstr "Ikke skjul lenger" -#: ../../mod/connedit.php:539 +#: ../../mod/connedit.php:543 msgid "Hide" msgstr "Skjul" -#: ../../mod/connedit.php:542 +#: ../../mod/connedit.php:546 msgid "Hide or Unhide this connection from your other connections" msgstr "Skjul eller fjern skjuling av denne forbindelsen fra dine andre forbindelser" -#: ../../mod/connedit.php:543 +#: ../../mod/connedit.php:547 msgid "This connection is hidden!" msgstr "Denne forbindelsen er skjult!" -#: ../../mod/connedit.php:550 +#: ../../mod/connedit.php:554 msgid "Delete this connection" msgstr "Slett denne forbindelsen" -#: ../../mod/connedit.php:631 +#: ../../mod/connedit.php:635 msgid "Approve this connection" msgstr "Godta denne forbindelsen" -#: ../../mod/connedit.php:631 +#: ../../mod/connedit.php:635 msgid "Accept connection to allow communication" msgstr "Godta denne forbindelsen for å tillate kommunikasjon" -#: ../../mod/connedit.php:636 +#: ../../mod/connedit.php:640 msgid "Set Affinity" msgstr "Angi nærhet" -#: ../../mod/connedit.php:639 +#: ../../mod/connedit.php:643 msgid "Set Profile" msgstr "Angi profil" -#: ../../mod/connedit.php:642 +#: ../../mod/connedit.php:646 msgid "Set Affinity & Profile" msgstr "Angi nærhet og profil" -#: ../../mod/connedit.php:659 +#: ../../mod/connedit.php:679 +msgid "none" +msgstr "ingen" + +#: ../../mod/connedit.php:684 msgid "Apply these permissions automatically" msgstr "Bruk disse tillatelsene automatisk" -#: ../../mod/connedit.php:661 -msgid "This connection's address is" -msgstr "Denne forbindelsens adresse er" +#: ../../mod/connedit.php:686 +msgid "This connection's primary address is" +msgstr "Denne forbindelsens primære adresse er" + +#: ../../mod/connedit.php:687 +msgid "Available locations:" +msgstr "Tilgjengelige plasseringer:" -#: ../../mod/connedit.php:664 +#: ../../mod/connedit.php:691 msgid "" "The permissions indicated on this page will be applied to all new " "connections." msgstr "Tillatelsene angitt på denne siden gjøres gjeldende for alle nye forbindelser." -#: ../../mod/connedit.php:666 +#: ../../mod/connedit.php:693 msgid "Slide to adjust your degree of friendship" msgstr "Flytt for å justere din grad av vennskap" -#: ../../mod/connedit.php:668 +#: ../../mod/connedit.php:695 msgid "Slide to adjust your rating" msgstr "Flytt for å justere din vurdering" -#: ../../mod/connedit.php:669 ../../mod/connedit.php:674 +#: ../../mod/connedit.php:696 ../../mod/connedit.php:701 msgid "Optionally explain your rating" msgstr "Velg om du vil forklare vurderingen" -#: ../../mod/connedit.php:671 +#: ../../mod/connedit.php:698 msgid "Custom Filter" msgstr "Tilpasset filter" -#: ../../mod/connedit.php:672 +#: ../../mod/connedit.php:699 msgid "Only import posts with this text" msgstr "Bare importer innlegg med disse ordene" -#: ../../mod/connedit.php:672 ../../mod/connedit.php:673 +#: ../../mod/connedit.php:699 ../../mod/connedit.php:700 msgid "" -"words one per line or #tags or /patterns/, leave blank to import all posts" -msgstr "ett ord per linje eller #merkelapper eller /mønstre/, la feltet stå tomt for å importere alle innlegg" +"words one per line or #tags or /patterns/ or lang=xx, leave blank to import " +"all posts" +msgstr "ord per linje eller #merkelapper eller /mønster/ eller språk lang=xx, la stå blankt for å importere alle innlegg" -#: ../../mod/connedit.php:673 +#: ../../mod/connedit.php:700 msgid "Do not import posts with this text" msgstr "Ikke importer innlegg med denne teksten" -#: ../../mod/connedit.php:675 +#: ../../mod/connedit.php:702 msgid "This information is public!" msgstr "Denne informasjonen er offentlig!" -#: ../../mod/connedit.php:680 +#: ../../mod/connedit.php:707 msgid "Connection Pending Approval" msgstr "Forbindelse venter på godkjenning" -#: ../../mod/connedit.php:681 +#: ../../mod/connedit.php:708 msgid "Connection Request" msgstr "Forespørsel om forbindelse" -#: ../../mod/connedit.php:682 +#: ../../mod/connedit.php:709 #, php-format msgid "" "(%s) would like to connect with you. Please approve this connection to allow" " communication." msgstr "(%s) ønsker forbindelse med deg. Vennligst godkjenn denne forbindelsen for å tillate kommunikasjon." -#: ../../mod/connedit.php:683 ../../mod/admin.php:781 +#: ../../mod/connedit.php:710 ../../mod/admin.php:807 msgid "Approve" msgstr "Godkjenn" -#: ../../mod/connedit.php:684 +#: ../../mod/connedit.php:711 msgid "Approve Later" msgstr "Godkjenn senere" -#: ../../mod/connedit.php:687 +#: ../../mod/connedit.php:714 msgid "inherited" msgstr "arvet" -#: ../../mod/connedit.php:689 +#: ../../mod/connedit.php:716 #, php-format msgid "" "Please choose the profile you would like to display to %s when viewing your " "profile securely." msgstr "Vennligst velg profilen du ønsker å vise %s når profilen din ses på en sikret måte. " -#: ../../mod/connedit.php:691 +#: ../../mod/connedit.php:718 msgid "Their Settings" msgstr "Deres innstillinger" -#: ../../mod/connedit.php:692 +#: ../../mod/connedit.php:719 msgid "My Settings" msgstr "Mine innstillinger" -#: ../../mod/connedit.php:694 +#: ../../mod/connedit.php:721 msgid "Individual Permissions" msgstr "Individuelle tillatelser" -#: ../../mod/connedit.php:695 +#: ../../mod/connedit.php:722 msgid "" "Some permissions may be inherited from your channel's <a " "href=\"settings\"><strong>privacy settings</strong></a>, which have higher " @@ -4949,7 +5769,7 @@ msgid "" " settings here." msgstr "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan <strong>ikke</strong> endre arvede innstillingene her." -#: ../../mod/connedit.php:696 +#: ../../mod/connedit.php:723 msgid "" "Some permissions may be inherited from your channel's <a " "href=\"settings\"><strong>privacy settings</strong></a>, which have higher " @@ -4957,323 +5777,847 @@ msgid "" "they wont have any impact unless the inherited setting changes." msgstr "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan endre disse innstillingene her, men de vil ikke få noen effekt før de arvede innstillingene endres." -#: ../../mod/connedit.php:697 +#: ../../mod/connedit.php:724 msgid "Last update:" msgstr "Siste oppdatering:" -#: ../../mod/mood.php:132 -msgid "Set your current mood and tell your friends" -msgstr "Angi ditt nåværende humør og fortell dine venner" +#: ../../mod/acl.php:222 +msgid "network" +msgstr "nettverk" -#: ../../mod/magic.php:69 -msgid "Hub not found." -msgstr "Hubben ble ikke funnet." +#: ../../mod/acl.php:232 +msgid "RSS" +msgstr "RSS" -#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 -msgid "This setting requires special processing and editing has been blocked." -msgstr "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert." +#: ../../mod/dav.php:121 +msgid "$Projectname channel" +msgstr "$Projectname-kanal" -#: ../../mod/pconfig.php:49 -msgid "Configuration Editor" -msgstr "Konfigurasjonsbehandler" +#: ../../mod/dreport.php:23 +msgid "Invalid message" +msgstr "Ugyldig melding" -#: ../../mod/pconfig.php:50 +#: ../../mod/dreport.php:55 +msgid "no results" +msgstr "ingen resultater" + +#: ../../mod/dreport.php:60 +#, php-format +msgid "Delivery report for %1$s" +msgstr "Leveringsrapport for %1$s" + +#: ../../mod/dreport.php:74 +msgid "channel sync processed" +msgstr "Kanalsynkronisering er behandlet" + +#: ../../mod/dreport.php:78 +msgid "queued" +msgstr "lagt i kø" + +#: ../../mod/dreport.php:82 +msgid "posted" +msgstr "lagt inn" + +#: ../../mod/dreport.php:86 +msgid "accepted for delivery" +msgstr "akseptert for levering" + +#: ../../mod/dreport.php:90 +msgid "updated" +msgstr "oppdatert" + +#: ../../mod/dreport.php:93 +msgid "update ignored" +msgstr "oppdatering ignorert" + +#: ../../mod/dreport.php:96 +msgid "permission denied" +msgstr "tillatelse avvist" + +#: ../../mod/dreport.php:100 +msgid "recipient not found" +msgstr "mottaker ble ikke funnet" + +#: ../../mod/dreport.php:103 +msgid "mail recalled" +msgstr "melding tilbakekalt" + +#: ../../mod/dreport.php:106 +msgid "duplicate mail received" +msgstr "duplikat av melding mottatt" + +#: ../../mod/dreport.php:109 +msgid "mail delivered" +msgstr "melding mottatt" + +#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78 +#: ../../mod/editblock.php:94 ../../mod/editlayout.php:76 +#: ../../mod/editpost.php:20 +msgid "Item not found" +msgstr "Elementet ble ikke funnet." + +#: ../../mod/editwebpage.php:153 +msgid "Delete webpage?" +msgstr "Slett webside?" + +#: ../../mod/editwebpage.php:172 +msgid "Page link title" +msgstr "Sidens lenketittel" + +#: ../../mod/editwebpage.php:185 ../../mod/editblock.php:145 +#: ../../mod/editlayout.php:143 ../../mod/editpost.php:121 +msgid "Insert YouTube video" +msgstr "Sett inn YouTube-video" + +#: ../../mod/editwebpage.php:186 ../../mod/editblock.php:146 +#: ../../mod/editlayout.php:144 ../../mod/editpost.php:122 +msgid "Insert Vorbis [.ogg] video" +msgstr "Sett inn Vorbis [.ogg] video" + +#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:147 +#: ../../mod/editlayout.php:145 ../../mod/editpost.php:123 +msgid "Insert Vorbis [.ogg] audio" +msgstr "Legg i" + +#: ../../mod/editwebpage.php:222 +msgid "Edit Webpage" +msgstr "Endre webside" + +#: ../../mod/oexchange.php:23 +msgid "Unable to find your hub." +msgstr "Ikke i stand til å finne hubben din." + +#: ../../mod/oexchange.php:37 +msgid "Post successful." +msgstr "Innlegg vellykket." + +#: ../../mod/ping.php:260 +msgid "sent you a private message" +msgstr "sendte deg en privat melding" + +#: ../../mod/ping.php:308 +msgid "added your channel" +msgstr "la til din kanal" + +#: ../../mod/ping.php:350 +msgid "posted an event" +msgstr "la ut en hendelse" + +#: ../../mod/api.php:76 ../../mod/api.php:102 +msgid "Authorize application connection" +msgstr "Tillat programforbindelse" + +#: ../../mod/api.php:77 +msgid "Return to your app and insert this Securty Code:" +msgstr "Gå tilbake til din app og legg inn denne sikkerhetskoden:" + +#: ../../mod/api.php:89 +msgid "Please login to continue." +msgstr "Vennligst logg inn for å fortsette." + +#: ../../mod/api.php:104 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 "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig." +"Do you want to authorize this application to access your posts and contacts," +" and/or create new posts for you?" +msgstr "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?" -#: ../../mod/pubsites.php:16 -msgid "Public Sites" -msgstr "Offentlige nettsteder" +#: ../../mod/notify.php:53 ../../mod/notifications.php:94 +msgid "No more system notifications." +msgstr "Ingen flere systemvarsler." + +#: ../../mod/notify.php:57 ../../mod/notifications.php:98 +msgid "System Notifications" +msgstr "Systemvarsler" + +#: ../../mod/rbmark.php:90 +msgid "Select a bookmark folder" +msgstr "Velg en bokmerkemappe" + +#: ../../mod/rbmark.php:95 +msgid "Save Bookmark" +msgstr "Lagre bokmerke" + +#: ../../mod/rbmark.php:96 +msgid "URL of bookmark" +msgstr "URL-en til bokmerket" + +#: ../../mod/rbmark.php:97 ../../mod/appman.php:93 ../../mod/events.php:465 +msgid "Description" +msgstr "Beskrivelse" + +#: ../../mod/rbmark.php:101 +msgid "Or enter new bookmark folder name" +msgstr "Eller skriv nytt navn på bokmerkemappe" + +#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 +msgid "Contact not found." +msgstr "Kontakten ble ikke funnet." + +#: ../../mod/fsuggest.php:63 +msgid "Friend suggestion sent." +msgstr "Venneforespørsel sendt." + +#: ../../mod/fsuggest.php:97 +msgid "Suggest Friends" +msgstr "Foreslå venner" + +#: ../../mod/fsuggest.php:99 +#, php-format +msgid "Suggest a friend for %s" +msgstr "Foreslå en venn for %s" + +#: ../../mod/sources.php:32 +msgid "Failed to create source. No channel selected." +msgstr "Mislyktes med å lage kilde. Ingen kanal er valgt." + +#: ../../mod/sources.php:45 +msgid "Source created." +msgstr "Kilden er laget." + +#: ../../mod/sources.php:57 +msgid "Source updated." +msgstr "Kilden er oppdatert." + +#: ../../mod/sources.php:82 +msgid "*" +msgstr "*" + +#: ../../mod/sources.php:89 +msgid "Manage remote sources of content for your channel." +msgstr "Håndtere eksterne innholdskilder til din kanal." + +#: ../../mod/sources.php:90 ../../mod/sources.php:100 +msgid "New Source" +msgstr "Ny kilde" -#: ../../mod/pubsites.php:19 +#: ../../mod/sources.php:101 ../../mod/sources.php:133 msgid "" -"The listed sites allow public registration for the $Projectname network. All" -" sites in the network are interlinked so membership on any of them conveys " -"membership in the network as a whole. Some sites may require subscription or" -" provide tiered service plans. The provider links <strong>may</strong> " -"provide additional details." -msgstr "Nettstedene på listen tillater offentlig registrering i $Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger." +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." +msgstr "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger." -#: ../../mod/pubsites.php:25 -msgid "Rate this hub" -msgstr "Vurder denne hubben" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Only import content with these words (one per line)" +msgstr "Bare importer innhold med disse ordene (ett ord per linje)" -#: ../../mod/pubsites.php:26 -msgid "Site URL" -msgstr "Nettstedets URL" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Leave blank to import all public content" +msgstr "La stå tomt for å importere alt offentlig innhold" -#: ../../mod/pubsites.php:26 -msgid "Access Type" -msgstr "Tilgangstype" +#: ../../mod/sources.php:123 ../../mod/sources.php:150 +msgid "Source not found." +msgstr "Kilden ble ikke funnet." -#: ../../mod/pubsites.php:26 -msgid "Registration Policy" -msgstr "Retningslinjer for registrering" +#: ../../mod/sources.php:130 +msgid "Edit Source" +msgstr "Endre kilde" -#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454 -msgid "Location" -msgstr "Plassering" +#: ../../mod/sources.php:131 +msgid "Delete Source" +msgstr "Slett kilde" -#: ../../mod/pubsites.php:26 -msgid "View hub ratings" -msgstr "Vis vurderinger av hubben" +#: ../../mod/sources.php:158 +msgid "Source removed" +msgstr "Kilden er fjernet" -#: ../../mod/pubsites.php:30 -msgid "Rate" -msgstr "Vurder" +#: ../../mod/sources.php:160 +msgid "Unable to remove source." +msgstr "Ikke i stand til å fjerne kilde." -#: ../../mod/pubsites.php:31 -msgid "View ratings" -msgstr "Vis vurderinger" +#: ../../mod/notifications.php:26 +msgid "Invalid request identifier." +msgstr "Ugyldig forespørselsidentifikator." -#: ../../mod/filestorage.php:82 -msgid "Permission Denied." -msgstr "Tillatelse avvist." +#: ../../mod/notifications.php:35 +msgid "Discard" +msgstr "Forkast" -#: ../../mod/filestorage.php:98 -msgid "File not found." -msgstr "Filen ble ikke funnet." +#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 +msgid "Tag removed" +msgstr "Merkelapp fjernet" -#: ../../mod/filestorage.php:141 -msgid "Edit file permissions" -msgstr "Endre filtillatelser" +#: ../../mod/tagrm.php:119 +msgid "Remove Item Tag" +msgstr "Fjern merkelapp fra element" -#: ../../mod/filestorage.php:150 -msgid "Set/edit permissions" -msgstr "Angi/endre tillatelser" +#: ../../mod/tagrm.php:121 +msgid "Select a tag to remove: " +msgstr "Velg merkelapp å fjerne:" -#: ../../mod/filestorage.php:151 -msgid "Include all files and sub folders" -msgstr "Inkluder alle filer og undermapper" +#: ../../mod/tagrm.php:133 ../../mod/photos.php:954 +msgid "Remove" +msgstr "Fjern" -#: ../../mod/filestorage.php:152 -msgid "Return to file list" -msgstr "Gå tilbake til filoversikten" +#: ../../mod/directory.php:236 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "%d vurdering" +msgstr[1] "%d vurderinger" -#: ../../mod/filestorage.php:154 -msgid "Copy/paste this code to attach file to a post" -msgstr "Kopier og lim inn denne koden for å legge til filen i et innlegg" +#: ../../mod/directory.php:247 +msgid "Gender: " +msgstr "Kjønn:" -#: ../../mod/filestorage.php:155 -msgid "Copy/paste this URL to link file from a web page" -msgstr "Kopier og lim inn denne URL-en for å lenke til filen fra en webside" +#: ../../mod/directory.php:249 +msgid "Status: " +msgstr "Status:" -#: ../../mod/filestorage.php:157 -msgid "Share this file" -msgstr "Del denne filen" +#: ../../mod/directory.php:251 +msgid "Homepage: " +msgstr "Hjemmeside:" -#: ../../mod/filestorage.php:158 -msgid "Show URL to this file" -msgstr "Vis URLen til denne filen" +#: ../../mod/directory.php:310 +msgid "Description:" +msgstr "Beskrivelse:" -#: ../../mod/filestorage.php:159 -msgid "Notify your contacts about this file" -msgstr "Varsle dine kontakter om denne filen" +#: ../../mod/directory.php:319 +msgid "Public Forum:" +msgstr "Offentlig forum:" -#: ../../mod/layouts.php:121 ../../mod/layouts.php:179 -#: ../../mod/editlayout.php:161 -msgid "Layout Name" -msgstr "Layout-navn" +#: ../../mod/directory.php:322 +msgid "Keywords: " +msgstr "Nøkkelord:" -#: ../../mod/layouts.php:124 ../../mod/editlayout.php:159 -msgid "Layout Description (Optional)" -msgstr "Layoutens beskrivelse (valgfritt)" +#: ../../mod/directory.php:325 +msgid "Don't suggest" +msgstr "Ikke foreslå" -#: ../../mod/layouts.php:176 -msgid "Comanche page description language help" -msgstr "Hjelp med Comanche sidebeskrivelsesspråk" +#: ../../mod/directory.php:327 +msgid "Common connections:" +msgstr "Felles forbindelser:" -#: ../../mod/layouts.php:180 -msgid "Layout Description" -msgstr "Layout-beskrivelse" +#: ../../mod/directory.php:376 +msgid "Global Directory" +msgstr "Global katalog" -#: ../../mod/layouts.php:185 -msgid "Download PDL file" -msgstr "Last ned PDL-fil" +#: ../../mod/directory.php:376 +msgid "Local Directory" +msgstr "Lokal katalog" -#: ../../mod/poke.php:164 -msgid "Poke/Prod" -msgstr "Prikke/oppildne" +#: ../../mod/directory.php:382 +msgid "Finding:" +msgstr "Finner:" -#: ../../mod/poke.php:165 -msgid "poke, prod or do other things to somebody" -msgstr "prikke, oppildne eller gjør andre ting med noen" +#: ../../mod/directory.php:387 +msgid "next page" +msgstr "Neste side" -#: ../../mod/poke.php:166 -msgid "Recipient" -msgstr "Mottaker" +#: ../../mod/directory.php:387 +msgid "previous page" +msgstr "Forrige side" -#: ../../mod/poke.php:167 -msgid "Choose what you wish to do to recipient" -msgstr "Velg hva du ønsker å gjøre med mottakeren" +#: ../../mod/directory.php:388 +msgid "Sort options" +msgstr "Sorteringsvalg" -#: ../../mod/poke.php:170 -msgid "Make this post private" -msgstr "Gjør dette innlegget privat" +#: ../../mod/directory.php:389 +msgid "Alphabetic" +msgstr "Alfabetisk" -#: ../../mod/network.php:91 -msgid "No such group" -msgstr "Gruppen finnes ikke" +#: ../../mod/directory.php:390 +msgid "Reverse Alphabetic" +msgstr "Omvendt alfabetisk" -#: ../../mod/network.php:131 -msgid "No such channel" -msgstr "Ingen slik kanal" +#: ../../mod/directory.php:391 +msgid "Newest to Oldest" +msgstr "Nyest til eldst" -#: ../../mod/network.php:136 -msgid "forum" -msgstr "forum" +#: ../../mod/directory.php:392 +msgid "Oldest to Newest" +msgstr "Eldst til nyest" -#: ../../mod/network.php:148 -msgid "Search Results For:" -msgstr "Søkeresultat for:" +#: ../../mod/directory.php:409 +msgid "No entries (some entries may be hidden)." +msgstr "Ingen oppføringer (noen oppføringer kan være skjult)." -#: ../../mod/network.php:207 -msgid "Collection is empty" -msgstr "Samlingen er tom" +#: ../../mod/lostpass.php:15 +msgid "No valid account found." +msgstr "Ingen gyldig konto funnet." -#: ../../mod/network.php:216 -msgid "Collection: " -msgstr "Samling:" +#: ../../mod/lostpass.php:29 +msgid "Password reset request issued. Check your email." +msgstr "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din." -#: ../../mod/network.php:242 -msgid "Invalid connection." -msgstr "Ugyldig forbindelse." +#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 +#, php-format +msgid "Site Member (%s)" +msgstr "Nettstedsmedlem (%s)" -#: ../../mod/chat.php:19 ../../mod/channel.php:25 -msgid "You must be logged in to see this page." -msgstr "Du må være innloegget for å se denne siden." +#: ../../mod/lostpass.php:40 +#, php-format +msgid "Password reset requested at %s" +msgstr "Forespurt om å tilbakestille passord hos %s" -#: ../../mod/chat.php:171 -msgid "Room not found" -msgstr "Rommet ble ikke funnet" +#: ../../mod/lostpass.php:63 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes." -#: ../../mod/chat.php:182 -msgid "Leave Room" -msgstr "Forlat rom" +#: ../../mod/lostpass.php:86 ../../boot.php:1494 +msgid "Password Reset" +msgstr "Tilbakestill passord" -#: ../../mod/chat.php:183 -msgid "Delete This Room" -msgstr "Slett dette rommet" +#: ../../mod/lostpass.php:87 +msgid "Your password has been reset as requested." +msgstr "Ditt passord har blitt tilbakestilt som forespurt." -#: ../../mod/chat.php:184 -msgid "I am away right now" -msgstr "Jeg er borte akkurat nå" +#: ../../mod/lostpass.php:88 +msgid "Your new password is" +msgstr "Ditt nye passord er" -#: ../../mod/chat.php:185 -msgid "I am online" -msgstr "Jeg er online" +#: ../../mod/lostpass.php:89 +msgid "Save or copy your new password - and then" +msgstr "Lagre eller kopier ditt nye passord, og deretter kan du" -#: ../../mod/chat.php:187 -msgid "Bookmark this room" -msgstr "Bokmerk dette rommet" +#: ../../mod/lostpass.php:90 +msgid "click here to login" +msgstr "klikke her for å logge inn" -#: ../../mod/chat.php:205 ../../mod/chat.php:227 -msgid "New Chatroom" -msgstr "Nytt chatrom" +#: ../../mod/lostpass.php:91 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging." -#: ../../mod/chat.php:206 -msgid "Chatroom Name" -msgstr "Navn på chatrom" +#: ../../mod/lostpass.php:108 +#, php-format +msgid "Your password has changed at %s" +msgstr "Ditt passord er endret hos %s" + +#: ../../mod/lostpass.php:123 +msgid "Forgot your Password?" +msgstr "Glemt passord ditt?" + +#: ../../mod/lostpass.php:124 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner." + +#: ../../mod/lostpass.php:125 +msgid "Email Address" +msgstr "E-postadresse" + +#: ../../mod/lostpass.php:126 +msgid "Reset" +msgstr "Tilbakestill" + +#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 +msgid "This site is not a directory server" +msgstr "Dette nettstedet er ikke en katalogtjener" -#: ../../mod/chat.php:223 +#: ../../mod/impel.php:192 #, php-format -msgid "%1$s's Chatrooms" -msgstr "%1$s sine chatrom" +msgid "%s element installed" +msgstr "%s element installert" -#: ../../mod/search.php:209 +#: ../../mod/impel.php:195 #, php-format -msgid "Items tagged with: %s" -msgstr "Elementer merket med: %s" +msgid "%s element installation failed" +msgstr "Installasjon av %s-element mislyktes" -#: ../../mod/search.php:211 +#: ../../mod/subthread.php:114 #, php-format -msgid "Search results for: %s" -msgstr "Søkeresultater for: %s" +msgid "%1$s is following %2$s's %3$s" +msgstr "%1$s følger %2$s sin %3$s" -#: ../../mod/message.php:34 -msgid "Conversation removed." -msgstr "Samtale fjernet." +#: ../../mod/subthread.php:116 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "%1$s stopped å følge %2$s sin %3$s" -#: ../../mod/channel.php:97 -msgid "Insufficient permissions. Request redirected to profile page." -msgstr "Utilstrekkelig tillatelse. Forespørsel omdirigert til profilsiden." +#: ../../mod/import.php:28 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "Din tjenesteplan tillater bare %d kanaler." -#: ../../mod/editpost.php:20 ../../mod/editblock.php:78 -#: ../../mod/editblock.php:94 ../../mod/editlayout.php:76 -#: ../../mod/editwebpage.php:77 -msgid "Item not found" -msgstr "Elementet ble ikke funnet." +#: ../../mod/import.php:66 ../../mod/import_items.php:38 +msgid "Nothing to import." +msgstr "Ingenting å importere." -#: ../../mod/editpost.php:31 -msgid "Item is not editable" -msgstr "Elementet kan ikke endres" +#: ../../mod/import.php:90 ../../mod/import_items.php:62 +msgid "Unable to download data from old server" +msgstr "Ikke i stand til å laste ned data fra gammel tjener" -#: ../../mod/editpost.php:55 -msgid "Delete item?" -msgstr "Slett element?" +#: ../../mod/import.php:96 ../../mod/import_items.php:68 +msgid "Imported file is empty." +msgstr "Importert fil er tom." -#: ../../mod/editpost.php:122 ../../mod/editblock.php:145 -#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:185 -msgid "Insert YouTube video" -msgstr "Sett inn YouTube-video" +#: ../../mod/import.php:116 ../../mod/import_items.php:82 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "Advarsel: databaseversjoner avviker med %1$d oppdateringer." -#: ../../mod/editpost.php:123 ../../mod/editblock.php:146 -#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:186 -msgid "Insert Vorbis [.ogg] video" -msgstr "Sett inn Vorbis [.ogg] video" +#: ../../mod/import.php:149 +msgid "No channel. Import failed." +msgstr "Ingen kanal. Import mislyktes." -#: ../../mod/editpost.php:124 ../../mod/editblock.php:147 -#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:187 -msgid "Insert Vorbis [.ogg] audio" -msgstr "Legg i" +#: ../../mod/import.php:509 +msgid "You must be logged in to use this feature." +msgstr "Du må være innlogget for å bruke denne funksjonen." -#: ../../mod/editpost.php:165 ../../mod/rpost.php:128 -msgid "Edit post" -msgstr "Endre innlegg" +#: ../../mod/import.php:514 +msgid "Import Channel" +msgstr "Importer kanal" -#: ../../mod/dreport.php:15 -msgid "Invalid message" -msgstr "Ugyldig melding" +#: ../../mod/import.php:515 +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 "Bruk dette skjemaet for å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente inn kanalidentiteten fra den gamle tjeneren/huben via nettverket eller ved å bruke en eksportfil." -#: ../../mod/dreport.php:25 -msgid "no results" -msgstr "ingen resultater" +#: ../../mod/import.php:516 ../../mod/import_items.php:121 +msgid "File to Upload" +msgstr "Fil som skal lastes opp" + +#: ../../mod/import.php:517 +msgid "Or provide the old server/hub details" +msgstr "Eller oppgi detaljene fra den gamle tjeneren/hub-en" + +#: ../../mod/import.php:518 +msgid "Your old identity address (xyz@example.com)" +msgstr "Din gamle identitetsadresse (xyz@example.com)" + +#: ../../mod/import.php:519 +msgid "Your old login email address" +msgstr "Din gamle innloggings e-postadresse" + +#: ../../mod/import.php:520 +msgid "Your old login password" +msgstr "Ditt gamle innloggingspassord" + +#: ../../mod/import.php:521 +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 "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media." + +#: ../../mod/import.php:522 +msgid "Make this hub my primary location" +msgstr "Gjør dette nettstedet til min primære plassering" + +#: ../../mod/import.php:523 +msgid "" +"Import existing posts if possible (experimental - limited by available " +"memory" +msgstr "Importer eksisterende innlegg om mulig (eksperimentelt - begrenset av tilgjengelig minne)" + +#: ../../mod/import.php:524 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." +msgstr "Denne prosessen kan ta flere minutter å fullføre. Vennligst send inn dette skjemaet bare en gang og la siden være åpen inntil den er ferdig." + +#: ../../mod/photos.php:79 +msgid "Page owner information could not be retrieved." +msgstr "Informasjon om sideeier kunne ikke hentes." + +#: ../../mod/photos.php:100 +msgid "Album not found." +msgstr "Albumet ble ikke funnet." + +#: ../../mod/photos.php:127 +msgid "Delete Album" +msgstr "Slett album" + +#: ../../mod/photos.php:171 ../../mod/photos.php:1009 +msgid "Delete Photo" +msgstr "Slett bilde" -#: ../../mod/dreport.php:30 +#: ../../mod/photos.php:501 +msgid "No photos selected" +msgstr "Ingen bilder valgt" + +#: ../../mod/photos.php:550 +msgid "Access to this item is restricted." +msgstr "Tilgang til dette elementet er begrenset." + +#: ../../mod/photos.php:589 #, php-format -msgid "Delivery report for %1$s" -msgstr "Leveringsrapport for %1$s" +msgid "%1$.2f MB of %2$.2f MB photo storage used." +msgstr "%1$.2f MB av %2$.2f MB lagringsplass til bilder er brukt." -#: ../../mod/dreport.php:39 -msgid "channel sync processed" -msgstr "Kanalsynkronisering er behandlet" +#: ../../mod/photos.php:592 +#, php-format +msgid "%1$.2f MB photo storage used." +msgstr "%1$.2f MB lagringsplass til bilder er brukt." -#: ../../mod/dreport.php:43 -msgid "queued" -msgstr "lagt i kø" +#: ../../mod/photos.php:620 +msgid "Upload Photos" +msgstr "Last opp bilder" -#: ../../mod/dreport.php:47 -msgid "posted" -msgstr "lagt inn" +#: ../../mod/photos.php:624 +msgid "Enter an album name" +msgstr "Skriv et albumnavn" -#: ../../mod/dreport.php:51 -msgid "accepted for delivery" -msgstr "akseptert for levering" +#: ../../mod/photos.php:625 +msgid "or select an existing album (doubleclick)" +msgstr "eller velg et eksisterende album (dobbeltklikk)" -#: ../../mod/dreport.php:55 -msgid "updated" -msgstr "oppdatert" +#: ../../mod/photos.php:626 +msgid "Create a status post for this upload" +msgstr "Lag et statusinnlegg for denne opplastingen" -#: ../../mod/dreport.php:58 -msgid "update ignored" -msgstr "oppdatering ignorert" +#: ../../mod/photos.php:627 +msgid "Caption (optional):" +msgstr "Bildetekst (valgfritt):" -#: ../../mod/dreport.php:61 -msgid "permission denied" -msgstr "tillatelse avvist" +#: ../../mod/photos.php:628 +msgid "Description (optional):" +msgstr "Beskrivelse (valgfritt):" + +#: ../../mod/photos.php:655 +msgid "Album name could not be decoded" +msgstr "Albumnavnet kunne ikke dekodes" + +#: ../../mod/photos.php:699 ../../mod/photos.php:1236 +#: ../../mod/photos.php:1253 +msgid "Contact Photos" +msgstr "Kontaktbilder" + +#: ../../mod/photos.php:727 +msgid "Show Newest First" +msgstr "Vis nyeste først" + +#: ../../mod/photos.php:729 +msgid "Show Oldest First" +msgstr "Vis eldste først" + +#: ../../mod/photos.php:827 +msgid "Permission denied. Access to this item may be restricted." +msgstr "Tillatelse avvist. Tilgang til dette elementet kan være begrenset." + +#: ../../mod/photos.php:829 +msgid "Photo not available" +msgstr "Bilde er utilgjengelig" + +#: ../../mod/photos.php:887 +msgid "Use as profile photo" +msgstr "Bruk som profilbilde" + +#: ../../mod/photos.php:894 +msgid "Private Photo" +msgstr "Privat bilde" + +#: ../../mod/photos.php:905 ../../mod/events.php:667 ../../mod/events.php:674 +msgid "Previous" +msgstr "Forrige" + +#: ../../mod/photos.php:909 +msgid "View Full Size" +msgstr "Vis i full størrelse" + +#: ../../mod/photos.php:988 +msgid "Edit photo" +msgstr "Endre bilde" + +#: ../../mod/photos.php:990 +msgid "Rotate CW (right)" +msgstr "Roter med klokka (mot høyre)" + +#: ../../mod/photos.php:991 +msgid "Rotate CCW (left)" +msgstr "Roter mot klokka (venstre)" + +#: ../../mod/photos.php:994 +msgid "Enter a new album name" +msgstr "Skriv et nytt albumnavn" + +#: ../../mod/photos.php:995 +msgid "or select an existing one (doubleclick)" +msgstr "eller velg et eksisterende album (dobbeltklikk)" + +#: ../../mod/photos.php:998 +msgid "Caption" +msgstr "Overskrift" + +#: ../../mod/photos.php:1000 +msgid "Add a Tag" +msgstr "Legg til merkelapp" + +#: ../../mod/photos.php:1004 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" +msgstr "Eksempel: @bob, @Barbara_Jensen, @jim@example.com" + +#: ../../mod/photos.php:1007 +msgid "Flag as adult in album view" +msgstr "Flag som voksent i albumvisning" + +#: ../../mod/photos.php:1199 +msgid "In This Photo:" +msgstr "I dette bildet:" + +#: ../../mod/photos.php:1204 +msgid "Map" +msgstr "Kart" + +#: ../../mod/photos.php:1292 +msgid "View Album" +msgstr "Vis album" + +#: ../../mod/photos.php:1315 +msgid "Recent Photos" +msgstr "Nye bilder" + +#: ../../mod/probe.php:24 ../../mod/probe.php:30 +#, php-format +msgid "Fetching URL returns error: %1$s" +msgstr "Henting av URL gir følgende feil: %1$s" + +#: ../../mod/profile_photo.php:112 +msgid "Image uploaded but image cropping failed." +msgstr "Bildet ble lastet opp, men beskjæring av bildet mislyktes." + +#: ../../mod/profile_photo.php:166 +msgid "Image resize failed." +msgstr "Endring av bildestørrelse mislyktes." + +#: ../../mod/profile_photo.php:212 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart." + +#: ../../mod/profile_photo.php:250 +msgid "Image upload failed." +msgstr "Opplasting av bildet mislyktes." + +#: ../../mod/profile_photo.php:269 +msgid "Unable to process image." +msgstr "Kan ikke behandle bildet." + +#: ../../mod/profile_photo.php:297 +msgid "female" +msgstr "kvinne" + +#: ../../mod/profile_photo.php:298 +#, php-format +msgid "%1$s updated her %2$s" +msgstr "%1$s oppdaterte %2$s sitt" + +#: ../../mod/profile_photo.php:299 +msgid "male" +msgstr "mann" + +#: ../../mod/profile_photo.php:300 +#, php-format +msgid "%1$s updated his %2$s" +msgstr "%1$s oppdaterte %2$s sitt" + +#: ../../mod/profile_photo.php:302 +#, php-format +msgid "%1$s updated their %2$s" +msgstr "%1$s oppdaterte %2$s deres" + +#: ../../mod/profile_photo.php:304 +msgid "profile photo" +msgstr "profilbilde" + +#: ../../mod/profile_photo.php:368 ../../mod/profile_photo.php:409 +msgid "Photo not available." +msgstr "Bildet er ikke tilgjengelig." + +#: ../../mod/profile_photo.php:450 +msgid "Upload File:" +msgstr "Last opp fil:" + +#: ../../mod/profile_photo.php:451 +msgid "Select a profile:" +msgstr "Velg en profil:" + +#: ../../mod/profile_photo.php:452 +msgid "Upload Profile Photo" +msgstr "Last opp profilbilde:" + +#: ../../mod/profile_photo.php:457 ../../mod/settings.php:975 +msgid "or" +msgstr "eller" + +#: ../../mod/profile_photo.php:457 +msgid "skip this step" +msgstr "hopp over dette steget" + +#: ../../mod/profile_photo.php:457 +msgid "select a photo from your photo albums" +msgstr "velg et bilde fra dine fotoalbum" + +#: ../../mod/profile_photo.php:473 +msgid "Crop Image" +msgstr "Beskjær bildet" + +#: ../../mod/profile_photo.php:474 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "Vennligst juster bildebeskjæringen for optimal visning." + +#: ../../mod/profile_photo.php:476 +msgid "Done Editing" +msgstr "Avslutt redigering" + +#: ../../mod/thing.php:111 +msgid "Thing updated" +msgstr "Tingen er oppdatert" + +#: ../../mod/thing.php:163 +msgid "Object store: failed" +msgstr "Objektlagring: mislyktes" + +#: ../../mod/thing.php:167 +msgid "Thing added" +msgstr "Ting lagt til" + +#: ../../mod/thing.php:193 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "OBJ: %1$s %2$s %3$s" + +#: ../../mod/thing.php:256 +msgid "Show Thing" +msgstr "Vis ting" + +#: ../../mod/thing.php:263 +msgid "item not found." +msgstr "element ble ikke funnet." + +#: ../../mod/thing.php:296 +msgid "Edit Thing" +msgstr "Endre ting" + +#: ../../mod/thing.php:298 ../../mod/thing.php:348 +msgid "Select a profile" +msgstr "Velg en profil" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Post an activity" +msgstr "Legg inn en aktivitet" + +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Only sends to viewers of the applicable profile" +msgstr "Sender bare til seere av den aktuelle profilen" + +#: ../../mod/thing.php:304 ../../mod/thing.php:353 +msgid "Name of thing e.g. something" +msgstr "Navn på ting for eksempel noe" + +#: ../../mod/thing.php:306 ../../mod/thing.php:354 +msgid "URL of thing (optional)" +msgstr "URL til ting (valgfritt)" + +#: ../../mod/thing.php:308 ../../mod/thing.php:355 +msgid "URL for photo of thing (optional)" +msgstr "URL til bilde av ting (valgfritt)" + +#: ../../mod/thing.php:346 +msgid "Add Thing to your Profile" +msgstr "Legg til ting i din profil" + +#: ../../mod/dirsearch.php:29 +msgid "This directory server requires an access token" +msgstr "Denne katalogtjeneren krever en tilgangsnøkkel (access token)" #: ../../mod/editblock.php:118 msgid "Delete block?" @@ -5283,52 +6627,177 @@ msgstr "Slett byggeklossen?" msgid "Edit Block" msgstr "Endre byggekloss" -#: ../../mod/home.php:57 ../../mod/home.php:63 ../../mod/siteinfo.php:157 -msgid "$Projectname" -msgstr "$Projectname" +#: ../../mod/removeaccount.php:30 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." +msgstr "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet." -#: ../../mod/home.php:73 -#, php-format -msgid "Welcome to %s" -msgstr "Velkommen til %s" +#: ../../mod/removeaccount.php:57 +msgid "Remove This Account" +msgstr "Slett denne kontoen" -#: ../../mod/item.php:174 -msgid "Unable to locate original post." -msgstr "Ikke i stand til å finne opprinnelig innlegg." +#: ../../mod/removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "Denne kontoen og alle dens kanaler vil bli fullstendig fjernet fra nettverket." -#: ../../mod/item.php:407 -msgid "Empty post discarded." -msgstr "Tomt innlegg forkastet." +#: ../../mod/removeaccount.php:60 +msgid "" +"Remove this account, all its channels and all its channel clones from the " +"network" +msgstr "Slett denne kontoen, alle dens kanaler og alle dens kanalkloner fra dette nettverket" -#: ../../mod/item.php:447 -msgid "Executable content type not permitted to this channel." -msgstr "Kjørbar innholdstype er ikke tillat for denne kanalen." +#: ../../mod/removeaccount.php:60 +msgid "" +"By default only the instances of the channels located on this hub will be " +"removed from the network" +msgstr "Som standard vil bare forekomster av kanalene lokalisert på denne hubben bli slettet fra nettverket" -#: ../../mod/item.php:896 -msgid "System error. Post not saved." -msgstr "Systemfeil. Innlegg ble ikke lagret." +#: ../../mod/removeaccount.php:61 ../../mod/settings.php:700 +msgid "Remove Account" +msgstr "Slett konto" -#: ../../mod/item.php:1163 -msgid "Unable to obtain post information from database." -msgstr "Ikke i stand til å få tak i informasjon om innlegg fra databasen." +#: ../../mod/import_items.php:101 +msgid "Import completed" +msgstr "Import ferdig" + +#: ../../mod/import_items.php:119 +msgid "Import Items" +msgstr "Importer elementer" + +#: ../../mod/import_items.php:120 +msgid "" +"Use this form to import existing posts and content from an export file." +msgstr "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil." + +#: ../../mod/network.php:91 +msgid "No such group" +msgstr "Gruppen finnes ikke" + +#: ../../mod/network.php:131 +msgid "No such channel" +msgstr "Ingen slik kanal" + +#: ../../mod/network.php:136 +msgid "forum" +msgstr "forum" + +#: ../../mod/network.php:148 +msgid "Search Results For:" +msgstr "Søkeresultat for:" + +#: ../../mod/network.php:207 +msgid "Collection is empty" +msgstr "Samlingen er tom" + +#: ../../mod/network.php:216 +msgid "Collection: " +msgstr "Samling:" + +#: ../../mod/network.php:242 +msgid "Invalid connection." +msgstr "Ugyldig forbindelse." + +#: ../../mod/pdledit.php:13 +msgid "Layout updated." +msgstr "Layout er oppdatert." + +#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 +msgid "Edit System Page Description" +msgstr "Endre beskrivelsen av systemsiden" + +#: ../../mod/pdledit.php:48 +msgid "Layout not found." +msgstr "Layouten ble ikke funnet." + +#: ../../mod/pdledit.php:54 +msgid "Module Name:" +msgstr "Modulnavn:" + +#: ../../mod/pdledit.php:55 +msgid "Layout Help" +msgstr "Layout-hjelp" + +#: ../../mod/register.php:44 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen." + +#: ../../mod/register.php:50 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes." + +#: ../../mod/register.php:84 +msgid "Passwords do not match." +msgstr "Passordene er ikke like." + +#: ../../mod/register.php:117 +msgid "" +"Registration successful. Please check your email for validation " +"instructions." +msgstr "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen." + +#: ../../mod/register.php:123 +msgid "Your registration is pending approval by the site owner." +msgstr "Din registrering venter på godkjenning av nettstedets eier." + +#: ../../mod/register.php:126 +msgid "Your registration can not be processed." +msgstr "Din registrering kan ikke behandles." + +#: ../../mod/register.php:163 +msgid "Registration on this site/hub is by approval only." +msgstr "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning." + +#: ../../mod/register.php:164 +msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" +msgstr "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>" + +#: ../../mod/register.php:174 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen." -#: ../../mod/item.php:1170 +#: ../../mod/register.php:185 +msgid "Terms of Service" +msgstr "Tjenesteavtale" + +#: ../../mod/register.php:191 #, php-format -msgid "You have reached your limit of %1$.0f top level posts." -msgstr "Du har nådd din grense på %1$.0f startinnlegg." +msgid "I accept the %s for this website" +msgstr "Jeg godtar %s for dette nettstedet" -#: ../../mod/item.php:1177 +#: ../../mod/register.php:193 #, php-format -msgid "You have reached your limit of %1$.0f webpages." -msgstr "Du har nådd din grense på %1$.0f websider." +msgid "I am over 13 years of age and accept the %s for this website" +msgstr "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet." -#: ../../mod/oexchange.php:23 -msgid "Unable to find your hub." -msgstr "Ikke i stand til å finne hubben din." +#: ../../mod/register.php:207 ../../mod/admin.php:436 +msgid "Registration" +msgstr "Registrering" -#: ../../mod/oexchange.php:37 -msgid "Post successful." -msgstr "Innlegg vellykket." +#: ../../mod/register.php:212 +msgid "Membership on this site is by invitation only." +msgstr "Medlemskap ved dette nettstedet skjer kun via invitasjon." + +#: ../../mod/register.php:213 +msgid "Please enter your invitation code" +msgstr "Vennligst skriv din invitasjonskode" + +#: ../../mod/register.php:216 +msgid "Your email address" +msgstr "Din e-postadresse" + +#: ../../mod/register.php:217 +msgid "Choose a password" +msgstr "Velg et passord" + +#: ../../mod/register.php:218 +msgid "Please re-enter your password" +msgstr "Vennligst skriv ditt passord en gang til" #: ../../mod/admin.php:52 msgid "Theme settings updated." @@ -5366,10 +6835,10 @@ msgstr "# kloner" msgid "Message queues" msgstr "Meldingskøer" -#: ../../mod/admin.php:198 ../../mod/admin.php:409 ../../mod/admin.php:506 -#: ../../mod/admin.php:774 ../../mod/admin.php:938 ../../mod/admin.php:1030 -#: ../../mod/admin.php:1070 ../../mod/admin.php:1230 ../../mod/admin.php:1264 -#: ../../mod/admin.php:1349 +#: ../../mod/admin.php:198 ../../mod/admin.php:433 ../../mod/admin.php:532 +#: ../../mod/admin.php:800 ../../mod/admin.php:964 ../../mod/admin.php:1061 +#: ../../mod/admin.php:1101 ../../mod/admin.php:1261 ../../mod/admin.php:1295 +#: ../../mod/admin.php:1380 msgid "Administration" msgstr "Administrasjon" @@ -5381,7 +6850,7 @@ msgstr "Sammendrag" msgid "Registered accounts" msgstr "Registrerte kontoer" -#: ../../mod/admin.php:203 ../../mod/admin.php:510 +#: ../../mod/admin.php:203 ../../mod/admin.php:536 msgid "Pending registrations" msgstr "Ventende registreringer" @@ -5389,7 +6858,7 @@ msgstr "Ventende registreringer" msgid "Registered channels" msgstr "Registrerte kanaler" -#: ../../mod/admin.php:205 ../../mod/admin.php:511 +#: ../../mod/admin.php:205 ../../mod/admin.php:537 msgid "Active plugins" msgstr "Aktive tilleggsfunksjoner" @@ -5397,2017 +6866,693 @@ msgstr "Aktive tilleggsfunksjoner" msgid "Version" msgstr "Versjon" -#: ../../mod/admin.php:321 +#: ../../mod/admin.php:324 msgid "Site settings updated." msgstr "Nettstedsinnstillinger er oppdatert." -#: ../../mod/admin.php:358 ../../mod/settings.php:790 +#: ../../mod/admin.php:361 ../../mod/settings.php:793 msgid "mobile" msgstr "mobil" -#: ../../mod/admin.php:360 +#: ../../mod/admin.php:363 msgid "experimental" msgstr "eksperimentell" -#: ../../mod/admin.php:362 +#: ../../mod/admin.php:365 msgid "unsupported" msgstr "ikke støttet" -#: ../../mod/admin.php:387 +#: ../../mod/admin.php:411 msgid "Yes - with approval" msgstr "Ja - med godkjenning" -#: ../../mod/admin.php:393 +#: ../../mod/admin.php:417 msgid "My site is not a public server" msgstr "Mitt nettsted er ikke en offentlig tjeneste" -#: ../../mod/admin.php:394 +#: ../../mod/admin.php:418 msgid "My site has paid access only" msgstr "Mitt nettsted gir kun tilgang mot betaling" -#: ../../mod/admin.php:395 +#: ../../mod/admin.php:419 msgid "My site has free access only" msgstr "Mitt nettsted har kun gratis tilgang" -#: ../../mod/admin.php:396 +#: ../../mod/admin.php:420 msgid "My site offers free accounts with optional paid upgrades" msgstr "Mitt nettsted tilbyr gratis konto med valgfri oppgradering til betalt tjeneste" -#: ../../mod/admin.php:412 ../../mod/register.php:207 -msgid "Registration" -msgstr "Registrering" - -#: ../../mod/admin.php:413 +#: ../../mod/admin.php:437 msgid "File upload" msgstr "Last opp fil" -#: ../../mod/admin.php:414 +#: ../../mod/admin.php:438 msgid "Policies" msgstr "Retningslinjer" -#: ../../mod/admin.php:419 +#: ../../mod/admin.php:443 msgid "Site name" msgstr "Nettstedets navn" -#: ../../mod/admin.php:420 +#: ../../mod/admin.php:444 msgid "Banner/Logo" msgstr "Banner/Logo" -#: ../../mod/admin.php:421 +#: ../../mod/admin.php:445 msgid "Administrator Information" msgstr "Administratorinformasjon" -#: ../../mod/admin.php:421 +#: ../../mod/admin.php:445 msgid "" "Contact information for site administrators. Displayed on siteinfo page. " "BBCode can be used here" msgstr "Kontaktinformasjon til nettstedsadministratorer. Vises på siteinfo-siden. BBCode kan brukes her" -#: ../../mod/admin.php:422 +#: ../../mod/admin.php:446 msgid "System language" msgstr "Systemspråk" -#: ../../mod/admin.php:423 +#: ../../mod/admin.php:447 msgid "System theme" msgstr "Systemtema" -#: ../../mod/admin.php:423 +#: ../../mod/admin.php:447 msgid "" "Default system theme - may be over-ridden by user profiles - <a href='#' " "id='cnftheme'>change theme settings</a>" msgstr "Standard systemtema - kan overstyres av brukerprofiler - <a href='#' id='cnftheme'>endre temainnstillinger</a>" -#: ../../mod/admin.php:424 +#: ../../mod/admin.php:448 msgid "Mobile system theme" msgstr "Mobilt systemtema" -#: ../../mod/admin.php:424 +#: ../../mod/admin.php:448 msgid "Theme for mobile devices" msgstr "Tema for mobile enheter" -#: ../../mod/admin.php:426 +#: ../../mod/admin.php:450 msgid "Allow Feeds as Connections" msgstr "Tillat strømmer som forbindelser" -#: ../../mod/admin.php:426 +#: ../../mod/admin.php:450 msgid "(Heavy system resource usage)" msgstr "(Tung bruk av systemressurser)" -#: ../../mod/admin.php:427 +#: ../../mod/admin.php:451 msgid "Maximum image size" msgstr "Største bildestørrelse" -#: ../../mod/admin.php:427 +#: ../../mod/admin.php:451 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "Største størrelse i bytes for opplastede bilder. Standard er 0, som betyr ubegrenset." -#: ../../mod/admin.php:428 +#: ../../mod/admin.php:452 msgid "Does this site allow new member registration?" msgstr "Tillater dette nettstedet registrering av nye medlemmer?" -#: ../../mod/admin.php:429 +#: ../../mod/admin.php:453 msgid "Which best describes the types of account offered by this hub?" msgstr "Hvilket alternativ beskriver best hva slags kontotype som tilbys av dette nettstedet/denne hubben?" -#: ../../mod/admin.php:430 +#: ../../mod/admin.php:454 msgid "Register text" msgstr "Registreringstekst" -#: ../../mod/admin.php:430 +#: ../../mod/admin.php:454 msgid "Will be displayed prominently on the registration page." msgstr "Vil bli vist på en fremtredende måte på registreringssiden." -#: ../../mod/admin.php:431 +#: ../../mod/admin.php:455 msgid "Site homepage to show visitors (default: login box)" msgstr "Nettstedets hjemmeside som vises til besøkende (standard: innloggingsboks)" -#: ../../mod/admin.php:431 +#: ../../mod/admin.php:455 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 "eksempel: 'public' for å vise offentlig strøm av innlegg, 'page/sys/home/ for å vise en system-webside called 'home\" eller 'include:home.html' for å inkludere en fil." -#: ../../mod/admin.php:432 +#: ../../mod/admin.php:456 msgid "Preserve site homepage URL" msgstr "Bevar URL-en til nettstedets hjemmeside" -#: ../../mod/admin.php:432 +#: ../../mod/admin.php:456 msgid "" "Present the site homepage in a frame at the original location instead of " "redirecting" msgstr "Presenter hjemmesiden til nettstedet i en ramme fra den opprinnelige plasseringen i stedet for å omdirigere" -#: ../../mod/admin.php:433 +#: ../../mod/admin.php:457 msgid "Accounts abandoned after x days" msgstr "Kontoer forlatt etter x dager" -#: ../../mod/admin.php:433 +#: ../../mod/admin.php:457 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "Vil ikke kaste bort systemressurser på å spørre eksterne nettsteder etter forlatte kontoer. Skriv 0 for å ikke sette noen tidsgrense." -#: ../../mod/admin.php:434 +#: ../../mod/admin.php:458 msgid "Allowed friend domains" msgstr "Tillatte vennedomener" -#: ../../mod/admin.php:434 +#: ../../mod/admin.php:458 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "Kommaseparert liste over domener som har lov til å etablere vennskap med dette nettstedet. Jokertegn er akseptert. Tøm for å tillate alle domener." -#: ../../mod/admin.php:435 +#: ../../mod/admin.php:459 msgid "Allowed email domains" msgstr "Tillate e-postdomener" -#: ../../mod/admin.php:435 +#: ../../mod/admin.php:459 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 "Kommaseparert liste med domener som er tillatt i e-postadresser ved registrering på dette nettstedet. Jokertegn er akseptert. Tomt betyr at alle domener er tillatt" -#: ../../mod/admin.php:436 +#: ../../mod/admin.php:460 msgid "Not allowed email domains" msgstr "Ikke tillatte e-postdomener" -#: ../../mod/admin.php:436 +#: ../../mod/admin.php:460 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 "Kommaseparert liste med domener som ikke er tillatt i e-postadresser ved registrering på dette nettstedet. Jokertegn er akseptert. Tomt betyr at alle domener er tillatt, med mindre tillate domener er blitt definert." -#: ../../mod/admin.php:437 +#: ../../mod/admin.php:461 msgid "Block public" msgstr "Blokker offentlig tilgang" -#: ../../mod/admin.php:437 +#: ../../mod/admin.php:461 msgid "" "Check to block public access to all otherwise public personal pages on this " "site unless you are currently logged in." msgstr "Kryss av for å blokkere tilgang til alle personlige sider som ellers ville vært offentlig tilgjengelige på dette nettstedet med mindre du er logget inn." -#: ../../mod/admin.php:438 +#: ../../mod/admin.php:462 msgid "Verify Email Addresses" msgstr "Bekreft e-postadresser" -#: ../../mod/admin.php:438 +#: ../../mod/admin.php:462 msgid "" "Check to verify email addresses used in account registration (recommended)." msgstr "Sett hake for å sjekke e-postadresser brukt ved kontoregistrering (anbefales)." -#: ../../mod/admin.php:439 +#: ../../mod/admin.php:463 msgid "Force publish" msgstr "Tving publisering" -#: ../../mod/admin.php:439 +#: ../../mod/admin.php:463 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "Kryss av for å tvinge alle profiler på dette nettstedet til å bli oppført i nettstedet sin katalog." -#: ../../mod/admin.php:440 +#: ../../mod/admin.php:464 msgid "Disable discovery tab" msgstr "Skru av oppdagelsesfanen" -#: ../../mod/admin.php:440 +#: ../../mod/admin.php:464 msgid "" "Remove the tab in the network view with public content pulled from sources " "chosen for this site." msgstr "Fjern fanen fra nettverksvisningen med offentlig innhold trukket inn fra kilder valg for dette nettstedet." -#: ../../mod/admin.php:441 +#: ../../mod/admin.php:465 msgid "login on Homepage" msgstr "Logg inn på hjemmesiden" -#: ../../mod/admin.php:441 +#: ../../mod/admin.php:465 msgid "" "Present a login box to visitors on the home page if no other content has " "been configured." msgstr "Presenter en innloggingsboks til besøkende på hjemmesiden hvis ikke noe annet innhold har blitt konfigurert." -#: ../../mod/admin.php:443 +#: ../../mod/admin.php:467 +msgid "Directory Server URL" +msgstr "Katalogtjener URL" + +#: ../../mod/admin.php:467 +msgid "Default directory server" +msgstr "Standard katalogtjener" + +#: ../../mod/admin.php:469 msgid "Proxy user" msgstr "Brukernavn mellomtjener" -#: ../../mod/admin.php:444 +#: ../../mod/admin.php:470 msgid "Proxy URL" msgstr "Mellomtjener URL" -#: ../../mod/admin.php:445 +#: ../../mod/admin.php:471 msgid "Network timeout" msgstr "Nettverk tidsavbrudd" -#: ../../mod/admin.php:445 +#: ../../mod/admin.php:471 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "Verdien i sekunder. Skriv 0 for ubegrenset (ikke anbefalt)." -#: ../../mod/admin.php:446 +#: ../../mod/admin.php:472 msgid "Delivery interval" msgstr "Leveringsinterval" -#: ../../mod/admin.php:446 +#: ../../mod/admin.php:472 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 "Forsink leveringsprosessene i bakgrunnen med dette antall sekunder for å redusere systembelastningen. Anbefaling: 4-5 for delte tjenere, 2-3 for virtuelle tjenere, 0-1 for større dedikerte tjenere." -#: ../../mod/admin.php:447 +#: ../../mod/admin.php:473 msgid "Deliveries per process" msgstr "Leveranser per prosess" -#: ../../mod/admin.php:447 +#: ../../mod/admin.php:473 msgid "" "Number of deliveries to attempt in a single operating system process. Adjust" " if necessary to tune system performance. Recommend: 1-5." msgstr "Antall leveranser som forsøkes i en enkelt operativsystemprosess. Juster om nødvendig for å fininnstille systemets yteevne. Anbefaling: 1-5." -#: ../../mod/admin.php:448 +#: ../../mod/admin.php:474 msgid "Poll interval" msgstr "Spørreintervall" -#: ../../mod/admin.php:448 +#: ../../mod/admin.php:474 msgid "" "Delay background polling processes by this many seconds to reduce system " "load. If 0, use delivery interval." msgstr "Forsink spørreprosessene i bakgrunnen med dette antall sekunder for å redusere systembelastningen. Hvis 0, bruk dette leveringsintervallet." -#: ../../mod/admin.php:449 +#: ../../mod/admin.php:475 msgid "Maximum Load Average" msgstr "Største belastningsgjennomsnitt" -#: ../../mod/admin.php:449 +#: ../../mod/admin.php:475 msgid "" "Maximum system load before delivery and poll processes are deferred - " "default 50." msgstr "Største systembelastning før leverings- og spørreprosesser blir utsatt - standard 50." -#: ../../mod/admin.php:450 +#: ../../mod/admin.php:476 msgid "Expiration period in days for imported (matrix/network) content" msgstr "Antall dager før importert innhold (matrix/nettverk) utgår" -#: ../../mod/admin.php:450 +#: ../../mod/admin.php:476 msgid "0 for no expiration of imported content" msgstr "0 dersom importert innhold ikke skal utgå" -#: ../../mod/admin.php:498 +#: ../../mod/admin.php:524 msgid "No server found" msgstr "Ingen tjener funnet" -#: ../../mod/admin.php:505 ../../mod/admin.php:788 +#: ../../mod/admin.php:531 ../../mod/admin.php:814 msgid "ID" msgstr "ID" -#: ../../mod/admin.php:505 +#: ../../mod/admin.php:531 msgid "for channel" msgstr "for kanalen" -#: ../../mod/admin.php:505 +#: ../../mod/admin.php:531 msgid "on server" msgstr "på tjener" -#: ../../mod/admin.php:505 +#: ../../mod/admin.php:531 msgid "Status" msgstr "Status" -#: ../../mod/admin.php:507 +#: ../../mod/admin.php:533 msgid "Server" msgstr "Tjener" -#: ../../mod/admin.php:524 +#: ../../mod/admin.php:550 msgid "Update has been marked successful" msgstr "Oppdateringen har blitt merket som en suksess" -#: ../../mod/admin.php:534 +#: ../../mod/admin.php:560 #, php-format msgid "Executing %s failed. Check system logs." msgstr "Utføring av %s feilet. Sjekk systemlogger." -#: ../../mod/admin.php:537 +#: ../../mod/admin.php:563 #, php-format msgid "Update %s was successfully applied." msgstr "Oppdatering %s ble gjennomført med suksess." -#: ../../mod/admin.php:541 +#: ../../mod/admin.php:567 #, php-format msgid "Update %s did not return a status. Unknown if it succeeded." msgstr "Oppdatering %s returnerte ingen status. Det er ukjent om den ble vellykket." -#: ../../mod/admin.php:544 +#: ../../mod/admin.php:570 #, php-format msgid "Update function %s could not be found." msgstr "Oppdatering av funksjon %s kunne ikke finnes." -#: ../../mod/admin.php:560 +#: ../../mod/admin.php:586 msgid "No failed updates." msgstr "Ingen mislykkede oppdateringer." -#: ../../mod/admin.php:564 +#: ../../mod/admin.php:590 msgid "Failed Updates" msgstr "Mislykkede oppdateringer" -#: ../../mod/admin.php:566 +#: ../../mod/admin.php:592 msgid "Mark success (if update was manually applied)" msgstr "Marker suksess (hvis oppdateringen ble gjennomført manuelt)" -#: ../../mod/admin.php:567 +#: ../../mod/admin.php:593 msgid "Attempt to execute this update step automatically" msgstr "Prøv å gjennomføre dette oppdateringstrinnet automatisk" -#: ../../mod/admin.php:599 +#: ../../mod/admin.php:625 msgid "Queue Statistics" msgstr "Køstatistikk" -#: ../../mod/admin.php:600 +#: ../../mod/admin.php:626 msgid "Total Entries" msgstr "Totalt antall oppføringer" -#: ../../mod/admin.php:601 +#: ../../mod/admin.php:627 msgid "Priority" msgstr "Prioritet" -#: ../../mod/admin.php:602 +#: ../../mod/admin.php:628 msgid "Destination URL" msgstr "Mål-URL" -#: ../../mod/admin.php:603 +#: ../../mod/admin.php:629 msgid "Mark hub permanently offline" msgstr "Merk hub som permanent offline" -#: ../../mod/admin.php:604 +#: ../../mod/admin.php:630 msgid "Empty queue for this hub" msgstr "Tøm køen for denne hubben" -#: ../../mod/admin.php:605 +#: ../../mod/admin.php:631 msgid "Last known contact" msgstr "Siste kjente kontakt" -#: ../../mod/admin.php:641 +#: ../../mod/admin.php:667 #, php-format msgid "%s account blocked/unblocked" msgid_plural "%s account blocked/unblocked" msgstr[0] "%s konto blokkert/ikke blokkert lenger" msgstr[1] "%s kontoer blokkert/ikke blokkert lenger" -#: ../../mod/admin.php:649 +#: ../../mod/admin.php:675 #, php-format msgid "%s account deleted" msgid_plural "%s accounts deleted" msgstr[0] "%s konto slettet" msgstr[1] "%s kontoer slettet" -#: ../../mod/admin.php:685 +#: ../../mod/admin.php:711 msgid "Account not found" msgstr "Kontoen ble ikke funnet" -#: ../../mod/admin.php:697 +#: ../../mod/admin.php:723 #, php-format msgid "Account '%s' deleted" msgstr "Kontoen '%s' slettet" -#: ../../mod/admin.php:705 +#: ../../mod/admin.php:731 #, php-format msgid "Account '%s' blocked" msgstr "Kontoen '%s' blokkert" -#: ../../mod/admin.php:713 +#: ../../mod/admin.php:739 #, php-format msgid "Account '%s' unblocked" msgstr "Kontoen '%s' er ikke blokkert lenger" -#: ../../mod/admin.php:775 ../../mod/admin.php:787 +#: ../../mod/admin.php:801 ../../mod/admin.php:813 msgid "Users" msgstr "Brukere" -#: ../../mod/admin.php:777 ../../mod/admin.php:941 +#: ../../mod/admin.php:803 ../../mod/admin.php:967 msgid "select all" msgstr "velg alle" -#: ../../mod/admin.php:778 +#: ../../mod/admin.php:804 msgid "User registrations waiting for confirm" msgstr "Brukerregistreringer som venter på bekreftelse" -#: ../../mod/admin.php:779 +#: ../../mod/admin.php:805 msgid "Request date" msgstr "Dato for forespørsel" -#: ../../mod/admin.php:780 +#: ../../mod/admin.php:806 msgid "No registrations." msgstr "Ingen registreringer." -#: ../../mod/admin.php:782 +#: ../../mod/admin.php:808 msgid "Deny" msgstr "Avslå" -#: ../../mod/admin.php:788 +#: ../../mod/admin.php:814 msgid "Register date" msgstr "Registreringsdato" -#: ../../mod/admin.php:788 +#: ../../mod/admin.php:814 msgid "Last login" msgstr "Siste innlogging" -#: ../../mod/admin.php:788 +#: ../../mod/admin.php:814 msgid "Expires" msgstr "Utløper" -#: ../../mod/admin.php:788 +#: ../../mod/admin.php:814 msgid "Service Class" msgstr "Tjenesteklasse" -#: ../../mod/admin.php:790 +#: ../../mod/admin.php:816 msgid "" "Selected accounts will be deleted!\\n\\nEverything these accounts had posted" " on this site will be permanently deleted!\\n\\nAre you sure?" msgstr "Valgte kontoer vil bli slettet!\\n\\nAlt disse kontoene har lagt inn på dette nettstedet vil bli slettet permanent!\\n\\nEr du sikker på at du vil slette disse valgte kontoene?" -#: ../../mod/admin.php:791 +#: ../../mod/admin.php:817 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 "Kontoen {0} vl bli slettet!\\n\\nAlt denne kontoen har lagt inn på dette nettstedet vil bli slettet permanent!\\n\\nEr du sikker på at du vil slette denne kontoen?" -#: ../../mod/admin.php:827 +#: ../../mod/admin.php:853 #, php-format msgid "%s channel censored/uncensored" msgid_plural "%s channels censored/uncensored" msgstr[0] "%s kanal er sensurert/ikke sensurert lenger" msgstr[1] "%s kanaler er sensurert/ikke sensurert lenger" -#: ../../mod/admin.php:836 +#: ../../mod/admin.php:862 #, php-format msgid "%s channel code allowed/disallowed" msgid_plural "%s channels code allowed/disallowed" msgstr[0] "%s kanal med kode tillatt/ikke tillatt" msgstr[1] "%s kanaler med kode tillatt/ikke tillatt" -#: ../../mod/admin.php:843 +#: ../../mod/admin.php:869 #, php-format msgid "%s channel deleted" msgid_plural "%s channels deleted" msgstr[0] "%s kanal slettet" msgstr[1] "%s kanaler slettet" -#: ../../mod/admin.php:863 +#: ../../mod/admin.php:889 msgid "Channel not found" msgstr "Kanalen ble ikke funnet" -#: ../../mod/admin.php:874 +#: ../../mod/admin.php:900 #, php-format msgid "Channel '%s' deleted" msgstr "Kanalen '%s' er slettet" -#: ../../mod/admin.php:886 +#: ../../mod/admin.php:912 #, php-format msgid "Channel '%s' censored" msgstr "Kanalen '%s' er sensurert" -#: ../../mod/admin.php:886 +#: ../../mod/admin.php:912 #, php-format msgid "Channel '%s' uncensored" msgstr "Kanalen '%s' er ikke sensurert lenger" -#: ../../mod/admin.php:897 +#: ../../mod/admin.php:923 #, php-format msgid "Channel '%s' code allowed" msgstr "Kanal '%s' kode tillatt" -#: ../../mod/admin.php:897 +#: ../../mod/admin.php:923 #, php-format msgid "Channel '%s' code disallowed" msgstr "Kanal '%s' kode ikke tillatt" -#: ../../mod/admin.php:943 +#: ../../mod/admin.php:969 msgid "Censor" msgstr "Sensurer" -#: ../../mod/admin.php:944 +#: ../../mod/admin.php:970 msgid "Uncensor" msgstr "Ikke sensurer lenger" -#: ../../mod/admin.php:945 +#: ../../mod/admin.php:971 msgid "Allow Code" msgstr "Tillat kode" -#: ../../mod/admin.php:946 +#: ../../mod/admin.php:972 msgid "Disallow Code" msgstr "Ikke tillat kode" -#: ../../mod/admin.php:948 +#: ../../mod/admin.php:974 msgid "UID" msgstr "UID" -#: ../../mod/admin.php:948 ../../mod/profiles.php:447 -msgid "Address" -msgstr "Adresse" - -#: ../../mod/admin.php:950 +#: ../../mod/admin.php:976 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 "Valgte kanaler vil bli slettet!\\n\\nAlt innhold som er lagt inn i disse kanalene på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette disse kanalene med alt innhold?" -#: ../../mod/admin.php:951 +#: ../../mod/admin.php:977 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 "Kanalen {0} vil bli slettet!\\n\\nAlt innhold som er lagt inn i denne kanalen på dettet nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette denne kanalen med alt innhold?" -#: ../../mod/admin.php:991 +#: ../../mod/admin.php:1017 #, php-format msgid "Plugin %s disabled." msgstr "Tilleggsfunksjonen %s er avskrudd." -#: ../../mod/admin.php:995 +#: ../../mod/admin.php:1021 #, php-format msgid "Plugin %s enabled." msgstr "Tilleggsfunksjonen %s er påskrudd." -#: ../../mod/admin.php:1005 ../../mod/admin.php:1203 +#: ../../mod/admin.php:1031 ../../mod/admin.php:1234 msgid "Disable" msgstr "Skru av" -#: ../../mod/admin.php:1008 ../../mod/admin.php:1205 +#: ../../mod/admin.php:1034 ../../mod/admin.php:1236 msgid "Enable" msgstr "Skru på" -#: ../../mod/admin.php:1032 ../../mod/admin.php:1232 +#: ../../mod/admin.php:1063 ../../mod/admin.php:1263 msgid "Toggle" msgstr "Skru av og på" -#: ../../mod/admin.php:1040 ../../mod/admin.php:1242 +#: ../../mod/admin.php:1071 ../../mod/admin.php:1273 msgid "Author: " msgstr "Forfatter:" -#: ../../mod/admin.php:1041 ../../mod/admin.php:1243 +#: ../../mod/admin.php:1072 ../../mod/admin.php:1274 msgid "Maintainer: " msgstr "Vedlikeholder:" -#: ../../mod/admin.php:1168 +#: ../../mod/admin.php:1199 msgid "No themes found." msgstr "Ingen temaer er funnet." -#: ../../mod/admin.php:1224 +#: ../../mod/admin.php:1255 msgid "Screenshot" msgstr "Skjermbilde" -#: ../../mod/admin.php:1270 +#: ../../mod/admin.php:1301 msgid "[Experimental]" msgstr "[Eksperimentelt]" -#: ../../mod/admin.php:1271 +#: ../../mod/admin.php:1302 msgid "[Unsupported]" msgstr "[Ingen støtte]" -#: ../../mod/admin.php:1295 +#: ../../mod/admin.php:1326 msgid "Log settings updated." msgstr "Logginnstillinger er oppdatert." -#: ../../mod/admin.php:1352 +#: ../../mod/admin.php:1383 msgid "Clear" msgstr "Tøm" -#: ../../mod/admin.php:1358 +#: ../../mod/admin.php:1389 msgid "Debugging" msgstr "Feilsøking" -#: ../../mod/admin.php:1359 +#: ../../mod/admin.php:1390 msgid "Log file" msgstr "Loggfil" -#: ../../mod/admin.php:1359 +#: ../../mod/admin.php:1390 msgid "" "Must be writable by web server. Relative to your Red top-level directory." msgstr "Må kunne skrives til av webtjenesten. Relativ til din Red sin toppnivåkatalog." -#: ../../mod/admin.php:1360 +#: ../../mod/admin.php:1391 msgid "Log level" msgstr "Loggnivå" -#: ../../mod/admin.php:1406 +#: ../../mod/admin.php:1437 msgid "New Profile Field" msgstr "Nytt profilfelt" -#: ../../mod/admin.php:1407 ../../mod/admin.php:1427 +#: ../../mod/admin.php:1438 ../../mod/admin.php:1458 msgid "Field nickname" msgstr "Feltets kallenavn" -#: ../../mod/admin.php:1407 ../../mod/admin.php:1427 +#: ../../mod/admin.php:1438 ../../mod/admin.php:1458 msgid "System name of field" msgstr "Systemnavnet til feltet" -#: ../../mod/admin.php:1408 ../../mod/admin.php:1428 +#: ../../mod/admin.php:1439 ../../mod/admin.php:1459 msgid "Input type" msgstr "Inndata-type" -#: ../../mod/admin.php:1409 ../../mod/admin.php:1429 +#: ../../mod/admin.php:1440 ../../mod/admin.php:1460 msgid "Field Name" msgstr "Feltnavn" -#: ../../mod/admin.php:1409 ../../mod/admin.php:1429 +#: ../../mod/admin.php:1440 ../../mod/admin.php:1460 msgid "Label on profile pages" msgstr "Merkelapp på profilsider" -#: ../../mod/admin.php:1410 ../../mod/admin.php:1430 +#: ../../mod/admin.php:1441 ../../mod/admin.php:1461 msgid "Help text" msgstr "Hjelpetekst" -#: ../../mod/admin.php:1410 ../../mod/admin.php:1430 +#: ../../mod/admin.php:1441 ../../mod/admin.php:1461 msgid "Additional info (optional)" msgstr "Tilleggsinformasjon (valgfritt)" -#: ../../mod/admin.php:1420 +#: ../../mod/admin.php:1451 msgid "Field definition not found" msgstr "Feltdefinisjonen ble ikke funnet" -#: ../../mod/admin.php:1426 +#: ../../mod/admin.php:1457 msgid "Edit Profile Field" msgstr "Endre profilfelt" -#: ../../mod/appman.php:28 ../../mod/appman.php:44 -msgid "App installed." -msgstr "App installert." - -#: ../../mod/appman.php:37 -msgid "Malformed app." -msgstr "Feil oppsett for app-en." - -#: ../../mod/appman.php:80 -msgid "Embed code" -msgstr "Innbyggingskode" - -#: ../../mod/appman.php:86 -msgid "Edit App" -msgstr "Endre app" - -#: ../../mod/appman.php:86 -msgid "Create App" -msgstr "Lag app" - -#: ../../mod/appman.php:91 -msgid "Name of app" -msgstr "Navn på app" - -#: ../../mod/appman.php:92 -msgid "Location (URL) of app" -msgstr "Plassering (URL) til app" - -#: ../../mod/appman.php:93 ../../mod/rbmark.php:95 -msgid "Description" -msgstr "Beskrivelse" - -#: ../../mod/appman.php:94 -msgid "Photo icon URL" -msgstr "Bildeikon URL" - -#: ../../mod/appman.php:94 -msgid "80 x 80 pixels - optional" -msgstr "80 x80 pixler - valgfritt" - -#: ../../mod/appman.php:95 -msgid "Version ID" -msgstr "Versjons-ID" - -#: ../../mod/appman.php:96 -msgid "Price of app" -msgstr "Pris på app" - -#: ../../mod/appman.php:97 -msgid "Location (URL) to purchase app" -msgstr "Plassering (URL) for å kjøpe app" - -#: ../../mod/menu.php:45 -msgid "Unable to update menu." -msgstr "Ikke i stand til å oppdatere meny." - -#: ../../mod/menu.php:56 -msgid "Unable to create menu." -msgstr "Ikke i stand til å lage meny." - -#: ../../mod/menu.php:94 ../../mod/menu.php:106 -msgid "Menu Name" -msgstr "Menynavn" - -#: ../../mod/menu.php:94 -msgid "Unique name (not visible on webpage) - required" -msgstr "Unikt navn (ikke synlig på websiden) - påkrevet" - -#: ../../mod/menu.php:95 ../../mod/menu.php:107 -msgid "Menu Title" -msgstr "Menytittel" - -#: ../../mod/menu.php:95 -msgid "Visible on webpage - leave empty for no title" -msgstr "Synlig på websiden - la stå tomt for ingen tittel" - -#: ../../mod/menu.php:96 -msgid "Allow Bookmarks" -msgstr "Tillat bokmerker" - -#: ../../mod/menu.php:96 ../../mod/menu.php:153 -msgid "Menu may be used to store saved bookmarks" -msgstr "Menyen kan brukes til å lagre lagrede bokmerker" - -#: ../../mod/menu.php:97 ../../mod/menu.php:155 -msgid "Submit and proceed" -msgstr "Send inn og fortsett" - -#: ../../mod/menu.php:109 -msgid "Drop" -msgstr "Slett" - -#: ../../mod/menu.php:113 -msgid "Bookmarks allowed" -msgstr "Bokmerker tillatt" - -#: ../../mod/menu.php:115 -msgid "Delete this menu" -msgstr "Slett denne menyen" - -#: ../../mod/menu.php:116 ../../mod/menu.php:150 -msgid "Edit menu contents" -msgstr "Endre menyinnholdet" - -#: ../../mod/menu.php:117 -msgid "Edit this menu" -msgstr "Endre denne menyen" - -#: ../../mod/menu.php:132 -msgid "Menu could not be deleted." -msgstr "Menyen kunne ikke bli slettet." - -#: ../../mod/menu.php:145 -msgid "Edit Menu" -msgstr "Endre meny" - -#: ../../mod/menu.php:149 -msgid "Add or remove entries to this menu" -msgstr "Legg til eller fjern punkter i denne menyen" - -#: ../../mod/menu.php:151 -msgid "Menu name" -msgstr "Menynavn" - -#: ../../mod/menu.php:151 -msgid "Must be unique, only seen by you" -msgstr "Må være unik, ses bare av deg" - -#: ../../mod/menu.php:152 -msgid "Menu title" -msgstr "Menytittel" - -#: ../../mod/menu.php:152 -msgid "Menu title as seen by others" -msgstr "Menytittelen andre ser" - -#: ../../mod/menu.php:153 -msgid "Allow bookmarks" -msgstr "Tillat bokmerker" - -#: ../../mod/notify.php:53 ../../mod/notifications.php:94 -msgid "No more system notifications." -msgstr "Ingen flere systemvarsler." - -#: ../../mod/notify.php:57 ../../mod/notifications.php:98 -msgid "System Notifications" -msgstr "Systemvarsler" - -#: ../../mod/page.php:126 -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." - -#: ../../mod/new_channel.php:109 -msgid "Add a Channel" -msgstr "Legg til en kanal" - -#: ../../mod/new_channel.php:110 -msgid "" -"A channel is your own collection of related web pages. A channel can be used" -" to hold social network profiles, blogs, conversation groups and forums, " -"celebrity pages, and much more. You may create as many channels as your " -"service provider allows." -msgstr "En kanal er din egen samling av relaterte web-sider. En kanal kan brukes til å samle sosiale nettverksprofiler, blogger, samtalegrupper og forum, kjendissider og mye mer. Du kan lage så mange kanaler som din tjenestetilbyder tillater." - -#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 -#: ../../mod/sources.php:137 -msgid "Channel Name" -msgstr "Kanalnavn" - -#: ../../mod/new_channel.php:113 -msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " -msgstr "Eksempel: \"Ola Nordmann\", \"Lisa og hestene hennes\", \"Fotball\", \"Sykkelgruppa\"" - -#: ../../mod/new_channel.php:114 -msgid "Choose a short nickname" -msgstr "Velg et kort kallenavn" - -#: ../../mod/new_channel.php:115 -msgid "" -"Your nickname will be used to create an easily remembered channel address " -"(like an email address) which you can share with others." -msgstr "Ditt kallenavn brukes til å lage en kanaladresse som er enkel å huske (minner om en e-postadresse) og som du kan dele med andre." - -#: ../../mod/new_channel.php:116 -msgid "Or <a href=\"import\">import an existing channel</a> from another location" -msgstr "Eller <a href=\"import\">importerer en eksisterende kanal</a> fra et annet sted." - -#: ../../mod/new_channel.php:118 -msgid "" -"Please choose a channel type (such as social networking or community forum) " -"and privacy requirements so we can select the best permissions for you" -msgstr "Vennligst velg en kanaltype (for eksempel sosialt nettverk eller forum for felleskap) og krav til personvern slik at vi kan velge de beste tillatelsene for deg." - -#: ../../mod/new_channel.php:119 -msgid "Channel Type" -msgstr "Kanaltype" - -#: ../../mod/new_channel.php:119 -msgid "Read more about roles" -msgstr "Les mer om roller" - -#: ../../mod/notifications.php:26 -msgid "Invalid request identifier." -msgstr "Ugyldig forespørselsidentifikator." - -#: ../../mod/notifications.php:35 -msgid "Discard" -msgstr "Forkast" - -#: ../../mod/pdledit.php:13 -msgid "Layout updated." -msgstr "Layout er oppdatert." - -#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 -msgid "Edit System Page Description" -msgstr "Endre beskrivelsen av systemsiden" - -#: ../../mod/pdledit.php:48 -msgid "Layout not found." -msgstr "Layouten ble ikke funnet." - -#: ../../mod/pdledit.php:54 -msgid "Module Name:" -msgstr "Modulnavn:" - -#: ../../mod/pdledit.php:55 -msgid "Layout Help" -msgstr "Layout-hjelp" - -#: ../../mod/subthread.php:102 -#, php-format -msgid "%1$s is following %2$s's %3$s" -msgstr "%1$s følger %2$s sin %3$s" - -#: ../../mod/lostpass.php:15 -msgid "No valid account found." -msgstr "Ingen gyldig konto funnet." - -#: ../../mod/lostpass.php:29 -msgid "Password reset request issued. Check your email." -msgstr "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din." - -#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 -#, php-format -msgid "Site Member (%s)" -msgstr "Nettstedsmedlem (%s)" - -#: ../../mod/lostpass.php:40 -#, php-format -msgid "Password reset requested at %s" -msgstr "Forespurt om å tilbakestille passord hos %s" - -#: ../../mod/lostpass.php:63 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." -msgstr "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes." - -#: ../../mod/lostpass.php:86 ../../boot.php:1505 -msgid "Password Reset" -msgstr "Tilbakestill passord" - -#: ../../mod/lostpass.php:87 -msgid "Your password has been reset as requested." -msgstr "Ditt passord har blitt tilbakestilt som forespurt." - -#: ../../mod/lostpass.php:88 -msgid "Your new password is" -msgstr "Ditt nye passord er" - -#: ../../mod/lostpass.php:89 -msgid "Save or copy your new password - and then" -msgstr "Lagre eller kopier ditt nye passord, og deretter kan du" - -#: ../../mod/lostpass.php:90 -msgid "click here to login" -msgstr "klikke her for å logge inn" - -#: ../../mod/lostpass.php:91 -msgid "" -"Your password may be changed from the <em>Settings</em> page after " -"successful login." -msgstr "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging." - -#: ../../mod/lostpass.php:108 -#, php-format -msgid "Your password has changed at %s" -msgstr "Ditt passord er endret hos %s" - -#: ../../mod/lostpass.php:123 -msgid "Forgot your Password?" -msgstr "Glemt passord ditt?" - -#: ../../mod/lostpass.php:124 -msgid "" -"Enter your email address and submit to have your password reset. Then check " -"your email for further instructions." -msgstr "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner." - -#: ../../mod/lostpass.php:125 -msgid "Email Address" -msgstr "E-postadresse" - -#: ../../mod/lostpass.php:126 -msgid "Reset" -msgstr "Tilbakestill" - -#: ../../mod/photos.php:79 -msgid "Page owner information could not be retrieved." -msgstr "Informasjon om sideeier kunne ikke hentes." - -#: ../../mod/photos.php:100 -msgid "Album not found." -msgstr "Albumet ble ikke funnet." - -#: ../../mod/photos.php:127 -msgid "Delete Album" -msgstr "Slett album" - -#: ../../mod/photos.php:170 ../../mod/photos.php:970 -msgid "Delete Photo" -msgstr "Slett bilde" - -#: ../../mod/photos.php:464 -msgid "No photos selected" -msgstr "Ingen bilder valgt" - -#: ../../mod/photos.php:513 -msgid "Access to this item is restricted." -msgstr "Tilgang til dette elementet er begrenset." - -#: ../../mod/photos.php:552 -#, php-format -msgid "%1$.2f MB of %2$.2f MB photo storage used." -msgstr "%1$.2f MB av %2$.2f MB lagringsplass til bilder er brukt." - -#: ../../mod/photos.php:555 -#, php-format -msgid "%1$.2f MB photo storage used." -msgstr "%1$.2f MB lagringsplass til bilder er brukt." - -#: ../../mod/photos.php:583 -msgid "Upload Photos" -msgstr "Last opp bilder" - -#: ../../mod/photos.php:587 -msgid "Enter an album name" -msgstr "Skriv et albumnavn" - -#: ../../mod/photos.php:588 -msgid "or select an existing album (doubleclick)" -msgstr "eller velg et eksisterende album (dobbeltklikk)" - -#: ../../mod/photos.php:589 -msgid "Create a status post for this upload" -msgstr "Lag et statusinnlegg for denne opplastingen" - -#: ../../mod/photos.php:616 -msgid "Album name could not be decoded" -msgstr "Albumnavnet kunne ikke dekodes" - -#: ../../mod/photos.php:660 ../../mod/photos.php:1197 -#: ../../mod/photos.php:1214 -msgid "Contact Photos" -msgstr "Kontaktbilder" - -#: ../../mod/photos.php:688 -msgid "Show Newest First" -msgstr "Vis nyeste først" - -#: ../../mod/photos.php:690 -msgid "Show Oldest First" -msgstr "Vis eldste først" - -#: ../../mod/photos.php:714 ../../mod/photos.php:1247 -msgid "View Photo" -msgstr "Vis foto" - -#: ../../mod/photos.php:743 -msgid "Edit Album" -msgstr "Endre album" - -#: ../../mod/photos.php:788 -msgid "Permission denied. Access to this item may be restricted." -msgstr "Tillatelse avvist. Tilgang til dette elementet kan være begrenset." - -#: ../../mod/photos.php:790 -msgid "Photo not available" -msgstr "Bilde er utilgjengelig" - -#: ../../mod/photos.php:848 -msgid "Use as profile photo" -msgstr "Bruk som profilbilde" - -#: ../../mod/photos.php:855 -msgid "Private Photo" -msgstr "Privat bilde" - -#: ../../mod/photos.php:866 ../../mod/events.php:528 -msgid "Previous" -msgstr "Forrige" - -#: ../../mod/photos.php:870 -msgid "View Full Size" -msgstr "Vis i full størrelse" - -#: ../../mod/photos.php:875 ../../mod/events.php:529 ../../mod/setup.php:285 -msgid "Next" -msgstr "Neste" - -#: ../../mod/photos.php:915 ../../mod/tagrm.php:133 -msgid "Remove" -msgstr "Fjern" - -#: ../../mod/photos.php:949 -msgid "Edit photo" -msgstr "Endre bilde" - -#: ../../mod/photos.php:951 -msgid "Rotate CW (right)" -msgstr "Roter med klokka (mot høyre)" - -#: ../../mod/photos.php:952 -msgid "Rotate CCW (left)" -msgstr "Roter mot klokka (venstre)" - -#: ../../mod/photos.php:955 -msgid "Enter a new album name" -msgstr "Skriv et nytt albumnavn" - -#: ../../mod/photos.php:956 -msgid "or select an existing one (doubleclick)" -msgstr "eller velg et eksisterende album (dobbeltklikk)" - -#: ../../mod/photos.php:959 -msgid "Caption" -msgstr "Overskrift" - -#: ../../mod/photos.php:961 -msgid "Add a Tag" -msgstr "Legg til merkelapp" - -#: ../../mod/photos.php:965 -msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" -msgstr "Eksempel: @bob, @Barbara_Jensen, @jim@example.com" - -#: ../../mod/photos.php:968 -msgid "Flag as adult in album view" -msgstr "Flag som voksent i albumvisning" - -#: ../../mod/photos.php:1160 -msgid "In This Photo:" -msgstr "I dette bildet:" - -#: ../../mod/photos.php:1165 -msgid "Map" -msgstr "Kart" - -#: ../../mod/photos.php:1253 -msgid "View Album" -msgstr "Vis album" - -#: ../../mod/photos.php:1276 -msgid "Recent Photos" -msgstr "Nye bilder" - -#: ../../mod/dav.php:121 -msgid "$Projectname channel" -msgstr "$Projectname-kanal" - -#: ../../mod/rate.php:157 -msgid "Website:" -msgstr "Nettsted:" - -#: ../../mod/rate.php:160 -#, php-format -msgid "Remote Channel [%s] (not yet known on this site)" -msgstr "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)" - -#: ../../mod/rate.php:161 -msgid "Rating (this information is public)" -msgstr "Vurdering (denne informasjonen er offentlig)" - -#: ../../mod/rate.php:162 -msgid "Optionally explain your rating (this information is public)" -msgstr "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)" - -#: ../../mod/events.php:21 -msgid "Calendar entries imported." -msgstr "Kalenderhendelsene er importert." - -#: ../../mod/events.php:23 -msgid "No calendar entries found." -msgstr "Ingen kalenderhendelser funnet." - -#: ../../mod/events.php:96 -msgid "Event can not end before it has started." -msgstr "Hendelsen kan ikke slutte før den starter." - -#: ../../mod/events.php:98 ../../mod/events.php:107 ../../mod/events.php:127 -msgid "Unable to generate preview." -msgstr "Klarer ikke å lage forhåndsvisning." - -#: ../../mod/events.php:105 -msgid "Event title and start time are required." -msgstr "Hendelsestittel og starttidspunkt er påkrevd." - -#: ../../mod/events.php:125 ../../mod/events.php:250 -msgid "Event not found." -msgstr "Hendelsen ble ikke funnet." - -#: ../../mod/events.php:448 -msgid "l, F j" -msgstr "l, F j" - -#: ../../mod/events.php:470 -msgid "Edit event" -msgstr "Endre hendelse" - -#: ../../mod/events.php:472 -msgid "Delete event" -msgstr "Slett hendelse" - -#: ../../mod/events.php:506 -msgid "calendar" -msgstr "kalender" - -#: ../../mod/events.php:527 -msgid "Create New Event" -msgstr "Lag ny hendelse" - -#: ../../mod/events.php:530 -msgid "Export" -msgstr "Eksport" - -#: ../../mod/events.php:533 -msgid "Import" -msgstr "Importer" - -#: ../../mod/events.php:564 -msgid "Event removed" -msgstr "Hendelse slettet" - -#: ../../mod/events.php:567 -msgid "Failed to remove event" -msgstr "Mislyktes med å slette hendelse" - -#: ../../mod/events.php:681 -msgid "Event details" -msgstr "Hendelsesdetaljer" - -#: ../../mod/events.php:682 -msgid "Starting date and Title are required." -msgstr "Startdato og Tittel er påkrevd." - -#: ../../mod/events.php:684 -msgid "Categories (comma-separated list)" -msgstr "Kategorier (kommaseparert liste)" - -#: ../../mod/events.php:686 -msgid "Event Starts:" -msgstr "Hendelsen starter:" - -#: ../../mod/events.php:693 -msgid "Finish date/time is not known or not relevant" -msgstr "Sluttdato/-tidspunkt er ikke kjent eller ikke relevant" - -#: ../../mod/events.php:695 -msgid "Event Finishes:" -msgstr "Hendelsen slutter:" - -#: ../../mod/events.php:697 ../../mod/events.php:698 -msgid "Adjust for viewer timezone" -msgstr "Juster i forhold til tilskuerens tidssone" - -#: ../../mod/events.php:697 -msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." -msgstr "Viktig for hendelser som skjer på et bestemt sted. Ikke praktisk for globale ferier eller fridager." - -#: ../../mod/events.php:703 -msgid "Title:" -msgstr "Tittel:" - -#: ../../mod/events.php:705 -msgid "Share this event" -msgstr "Del denne hendelsen" - -#: ../../mod/impel.php:192 -#, php-format -msgid "%s element installed" -msgstr "%s element installert" - -#: ../../mod/impel.php:195 -#, php-format -msgid "%s element installation failed" -msgstr "Installasjon av %s-element mislyktes" - -#: ../../mod/probe.php:24 ../../mod/probe.php:30 -#, php-format -msgid "Fetching URL returns error: %1$s" -msgstr "Henting av URL gir følgende feil: %1$s" - -#: ../../mod/match.php:22 -msgid "Profile Match" -msgstr "Profiltreff" - -#: ../../mod/match.php:31 -msgid "No keywords to match. Please add keywords to your default profile." -msgstr "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil." - -#: ../../mod/match.php:63 -msgid "is interested in:" -msgstr "er interessert i:" - -#: ../../mod/match.php:70 -msgid "No matches" -msgstr "Ingen treff" - -#: ../../mod/profile_photo.php:111 -msgid "Image uploaded but image cropping failed." -msgstr "Bildet ble lastet opp, men beskjæring av bildet mislyktes." - -#: ../../mod/profile_photo.php:165 -msgid "Image resize failed." -msgstr "Endring av bildestørrelse mislyktes." - -#: ../../mod/profile_photo.php:209 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart." - -#: ../../mod/profile_photo.php:247 -msgid "Image upload failed." -msgstr "Opplasting av bildet mislyktes." - -#: ../../mod/profile_photo.php:266 -msgid "Unable to process image." -msgstr "Kan ikke behandle bildet." - -#: ../../mod/profile_photo.php:294 -msgid "female" -msgstr "kvinne" - -#: ../../mod/profile_photo.php:295 -#, php-format -msgid "%1$s updated her %2$s" -msgstr "%1$s oppdaterte %2$s sitt" - -#: ../../mod/profile_photo.php:296 -msgid "male" -msgstr "mann" - -#: ../../mod/profile_photo.php:297 -#, php-format -msgid "%1$s updated his %2$s" -msgstr "%1$s oppdaterte %2$s sitt" - -#: ../../mod/profile_photo.php:299 -#, php-format -msgid "%1$s updated their %2$s" -msgstr "%1$s oppdaterte %2$s deres" - -#: ../../mod/profile_photo.php:301 -msgid "profile photo" -msgstr "profilbilde" - -#: ../../mod/profile_photo.php:365 ../../mod/profile_photo.php:406 -msgid "Photo not available." -msgstr "Bildet er ikke tilgjengelig." - -#: ../../mod/profile_photo.php:447 -msgid "Upload File:" -msgstr "Last opp fil:" - -#: ../../mod/profile_photo.php:448 -msgid "Select a profile:" -msgstr "Velg en profil:" - -#: ../../mod/profile_photo.php:449 -msgid "Upload Profile Photo" -msgstr "Last opp profilbilde:" - -#: ../../mod/profile_photo.php:454 ../../mod/settings.php:972 -msgid "or" -msgstr "eller" - -#: ../../mod/profile_photo.php:454 -msgid "skip this step" -msgstr "hopp over dette steget" - -#: ../../mod/profile_photo.php:454 -msgid "select a photo from your photo albums" -msgstr "velg et bilde fra dine fotoalbum" - -#: ../../mod/profile_photo.php:470 -msgid "Crop Image" -msgstr "Beskjær bildet" - -#: ../../mod/profile_photo.php:471 -msgid "Please adjust the image cropping for optimum viewing." -msgstr "Vennligst juster bildebeskjæringen for optimal visning." - -#: ../../mod/profile_photo.php:473 -msgid "Done Editing" -msgstr "Avslutt redigering" - -#: ../../mod/follow.php:25 -msgid "Channel added." -msgstr "Kanal lagt til." - -#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 -msgid "Tag removed" -msgstr "Merkelapp fjernet" - -#: ../../mod/tagrm.php:119 -msgid "Remove Item Tag" -msgstr "Fjern merkelapp fra element" - -#: ../../mod/tagrm.php:121 -msgid "Select a tag to remove: " -msgstr "Velg merkelapp å fjerne:" - -#: ../../mod/ratings.php:69 -msgid "No ratings" -msgstr "Ingen vurderinger" - -#: ../../mod/ratings.php:99 -msgid "Ratings" -msgstr "Vurderinger" - -#: ../../mod/ratings.php:100 -msgid "Rating: " -msgstr "Vurdering:" - -#: ../../mod/ratings.php:101 -msgid "Website: " -msgstr "Nettsted:" - -#: ../../mod/ratings.php:103 -msgid "Description: " -msgstr "Beskrivelse:" - -#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 -msgid "This site is not a directory server" -msgstr "Dette nettstedet er ikke en katalogtjener" - -#: ../../mod/mail.php:33 -msgid "Unable to lookup recipient." -msgstr "Ikke i stand til å slå opp mottaker." - -#: ../../mod/mail.php:41 -msgid "Unable to communicate with requested channel." -msgstr "Ikke i stand til å kommunisere med forespurt kanal." - -#: ../../mod/mail.php:48 -msgid "Cannot verify requested channel." -msgstr "Kan ikke bekrefte forespurt kanal." - -#: ../../mod/mail.php:74 -msgid "Selected channel has private message restrictions. Send failed." -msgstr "Valgt kanal har restriksjoner for private meldinger. Sending feilet." - -#: ../../mod/mail.php:128 -msgid "Messages" -msgstr "Meldinger" - -#: ../../mod/mail.php:138 -msgid "Message deleted." -msgstr "Melding slettet." - -#: ../../mod/mail.php:154 -msgid "Message recalled." -msgstr "Innlegg tilbakekalt." - -#: ../../mod/mail.php:221 -msgid "Send Private Message" -msgstr "Send privat melding" - -#: ../../mod/mail.php:222 ../../mod/mail.php:352 -msgid "To:" -msgstr "Til:" - -#: ../../mod/mail.php:227 ../../mod/mail.php:341 ../../mod/mail.php:354 -msgid "Subject:" -msgstr "Emne:" - -#: ../../mod/mail.php:231 ../../mod/mail.php:357 ../../mod/invite.php:131 -msgid "Your message:" -msgstr "Din melding:" - -#: ../../mod/mail.php:238 -msgid "Send" -msgstr "Send" - -#: ../../mod/mail.php:322 -msgid "Delete message" -msgstr "Slett melding" - -#: ../../mod/mail.php:323 -msgid "Recall message" -msgstr "Tilbakekall innlegg" - -#: ../../mod/mail.php:325 -msgid "Message has been recalled." -msgstr "Innlegget har blitt tilbakekalt." - -#: ../../mod/mail.php:345 -msgid "Delete Conversation" -msgstr "Slett samtale" - -#: ../../mod/mail.php:347 -msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." -msgstr "Ingen sikret kommunikasjon tilgjengelig. Du kan <strong>muligens</strong> greie å svare via senderens profilside." - -#: ../../mod/mail.php:351 -msgid "Send Reply" -msgstr "Send svar" - -#: ../../mod/webpages.php:191 -msgid "Page Title" -msgstr "Sidetittel" - -#: ../../mod/register.php:44 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." -msgstr "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen." - -#: ../../mod/register.php:50 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." -msgstr "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes." - -#: ../../mod/register.php:84 -msgid "Passwords do not match." -msgstr "Passordene er ikke like." - -#: ../../mod/register.php:117 -msgid "" -"Registration successful. Please check your email for validation " -"instructions." -msgstr "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen." - -#: ../../mod/register.php:123 -msgid "Your registration is pending approval by the site owner." -msgstr "Din registrering venter på godkjenning av nettstedets eier." - -#: ../../mod/register.php:126 -msgid "Your registration can not be processed." -msgstr "Din registrering kan ikke behandles." - -#: ../../mod/register.php:163 -msgid "Registration on this site/hub is by approval only." -msgstr "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning." - -#: ../../mod/register.php:164 -msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" -msgstr "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>" - -#: ../../mod/register.php:174 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen." - -#: ../../mod/register.php:185 -msgid "Terms of Service" -msgstr "Tjenesteavtale" - -#: ../../mod/register.php:191 -#, php-format -msgid "I accept the %s for this website" -msgstr "Jeg godtar %s for dette nettstedet" - -#: ../../mod/register.php:193 -#, php-format -msgid "I am over 13 years of age and accept the %s for this website" -msgstr "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet." - -#: ../../mod/register.php:212 -msgid "Membership on this site is by invitation only." -msgstr "Medlemskap ved dette nettstedet skjer kun via invitasjon." - -#: ../../mod/register.php:213 -msgid "Please enter your invitation code" -msgstr "Vennligst skriv din invitasjonskode" - -#: ../../mod/register.php:216 -msgid "Your email address" -msgstr "Din e-postadresse" - -#: ../../mod/register.php:217 -msgid "Choose a password" -msgstr "Velg et passord" - -#: ../../mod/register.php:218 -msgid "Please re-enter your password" -msgstr "Vennligst skriv ditt passord en gang til" - -#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 -msgid "Block Name" -msgstr "Byggeklossens navn" - -#: ../../mod/blocks.php:149 -msgid "Block Title" -msgstr "Byggeklossens tittel" - -#: ../../mod/removeaccount.php:30 -msgid "" -"Account removals are not allowed within 48 hours of changing the account " -"password." -msgstr "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet." - -#: ../../mod/removeaccount.php:57 -msgid "Remove This Account" -msgstr "Slett denne kontoen" - -#: ../../mod/removeaccount.php:58 -msgid "" -"This account and all its channels will be completely removed from the " -"network. " -msgstr "Denne kontoen og alle dens kanaler vil bli fullstendig fjernet fra nettverket." - -#: ../../mod/removeaccount.php:60 -msgid "" -"Remove this account, all its channels and all its channel clones from the " -"network" -msgstr "Slett denne kontoen, alle dens kanaler og alle dens kanalkloner fra dette nettverket" - -#: ../../mod/removeaccount.php:60 -msgid "" -"By default only the instances of the channels located on this hub will be " -"removed from the network" -msgstr "Som standard vil bare forekomster av kanalene lokalisert på denne hubben bli slettet fra nettverket" - -#: ../../mod/removeaccount.php:61 ../../mod/settings.php:697 -msgid "Remove Account" -msgstr "Slett konto" - -#: ../../mod/service_limits.php:19 -msgid "No service class restrictions found." -msgstr "Ingen restriksjoner er funnet i tjenesteklasse." - -#: ../../mod/attach.php:9 -msgid "Item not available." -msgstr "Elementet er ikke tilgjengelig." - -#: ../../mod/sources.php:32 -msgid "Failed to create source. No channel selected." -msgstr "Mislyktes med å lage kilde. Ingen kanal er valgt." - -#: ../../mod/sources.php:45 -msgid "Source created." -msgstr "Kilden er laget." - -#: ../../mod/sources.php:57 -msgid "Source updated." -msgstr "Kilden er oppdatert." - -#: ../../mod/sources.php:82 -msgid "*" -msgstr "*" - -#: ../../mod/sources.php:89 -msgid "Manage remote sources of content for your channel." -msgstr "Håndtere eksterne innholdskilder til din kanal." - -#: ../../mod/sources.php:90 ../../mod/sources.php:100 -msgid "New Source" -msgstr "Ny kilde" - -#: ../../mod/sources.php:101 ../../mod/sources.php:133 -msgid "" -"Import all or selected content from the following channel into this channel " -"and distribute it according to your channel settings." -msgstr "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger." - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Only import content with these words (one per line)" -msgstr "Bare importer innhold med disse ordene (ett ord per linje)" - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Leave blank to import all public content" -msgstr "La stå tomt for å importere alt offentlig innhold" - -#: ../../mod/sources.php:123 ../../mod/sources.php:150 -msgid "Source not found." -msgstr "Kilden ble ikke funnet." - -#: ../../mod/sources.php:130 -msgid "Edit Source" -msgstr "Endre kilde" - -#: ../../mod/sources.php:131 -msgid "Delete Source" -msgstr "Slett kilde" - -#: ../../mod/sources.php:158 -msgid "Source removed" -msgstr "Kilden er fjernet" - -#: ../../mod/sources.php:160 -msgid "Unable to remove source." -msgstr "Ikke i stand til å fjerne kilde." - -#: ../../mod/lockview.php:37 -msgid "Remote privacy information not available." -msgstr "Ekstern personverninformasjon er ikke tilgjengelig." - -#: ../../mod/lockview.php:58 -msgid "Visible to:" -msgstr "Synlig for:" - -#: ../../mod/acl.php:222 -msgid "network" -msgstr "nettverk" - -#: ../../mod/acl.php:232 -msgid "RSS" -msgstr "RSS" - -#: ../../mod/regmod.php:11 -msgid "Please login." -msgstr "Vennligst logg inn." - -#: ../../mod/rmagic.php:40 -msgid "" -"We encountered a problem while logging in with the OpenID you provided. " -"Please check the correct spelling of the ID." -msgstr "Vi støtte på et problem under innloggingen med din OpenID. Vennligst sjekk at ID-en er stavet riktig." - -#: ../../mod/rmagic.php:40 -msgid "The error message was:" -msgstr "Feilmeldingen var:" - -#: ../../mod/rmagic.php:44 -msgid "Authentication failed." -msgstr "Autentisering mislyktes." - -#: ../../mod/rmagic.php:84 -msgid "Remote Authentication" -msgstr "Fjernautentisering" - -#: ../../mod/rmagic.php:85 -msgid "Enter your channel address (e.g. channel@example.com)" -msgstr "Skriv din kanaladresse (for eksempel channel@exampel.com)" - -#: ../../mod/rmagic.php:86 -msgid "Authenticate" -msgstr "Autentiser" - -#: ../../mod/dirsearch.php:29 -msgid "This directory server requires an access token" -msgstr "Denne katalogtjeneren krever en tilgangsnøkkel (access token)" - -#: ../../mod/siteinfo.php:111 -#, php-format -msgid "Version %s" -msgstr "Versjon %s" - -#: ../../mod/siteinfo.php:132 -msgid "Installed plugins/addons/apps:" -msgstr "Installerte tilleggsfunksjoner/tillegg/apper:" - -#: ../../mod/siteinfo.php:145 -msgid "No installed plugins/addons/apps" -msgstr "Ingen installerte tilleggsfunksjoner/tillegg/apper" - -#: ../../mod/siteinfo.php:158 -msgid "" -"This is a hub of $Projectname - a global cooperative network of " -"decentralized privacy enhanced websites." -msgstr "Dette er en $Projectname-hub - et globalt samhandlende nettverk av desentraliserte nettsteder med innbygget personvern." - -#: ../../mod/siteinfo.php:160 -msgid "Tag: " -msgstr "Merkelapp:" - -#: ../../mod/siteinfo.php:162 -msgid "Last background fetch: " -msgstr "Siste innhenting i bakgrunnen:" - -#: ../../mod/siteinfo.php:164 -msgid "Current load average: " -msgstr "Gjeldende belastningsgjennomsnitt:" - -#: ../../mod/siteinfo.php:167 -msgid "Running at web location" -msgstr "Kjører på webplasseringen" - -#: ../../mod/siteinfo.php:168 -msgid "" -"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more" -" about $Projectname." -msgstr "Vennligst besøk <a href=\"https://redmatrix.me\">redmatrix.me</a> for å lære mer om $Projectname." - -#: ../../mod/siteinfo.php:169 -msgid "Bug reports and issues: please visit" -msgstr "Feilmeldinger og feilretting: vennligst besøk" - -#: ../../mod/siteinfo.php:171 -msgid "$projectname issues" -msgstr "$projectname problemer" - -#: ../../mod/siteinfo.php:172 -msgid "" -"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot " -"com" -msgstr "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com" - -#: ../../mod/siteinfo.php:174 -msgid "Site Administrators" -msgstr "Nettstedsadministratorer" - -#: ../../mod/import.php:27 -#, php-format -msgid "Your service plan only allows %d channels." -msgstr "Din tjenesteplan tillater bare %d kanaler." - -#: ../../mod/import.php:65 ../../mod/import_items.php:38 -msgid "Nothing to import." -msgstr "Ingenting å importere." - -#: ../../mod/import.php:89 ../../mod/import_items.php:62 -msgid "Unable to download data from old server" -msgstr "Ikke i stand til å laste ned data fra gammel tjener" - -#: ../../mod/import.php:95 ../../mod/import_items.php:68 -msgid "Imported file is empty." -msgstr "Importert fil er tom." - -#: ../../mod/import.php:115 ../../mod/import_items.php:82 -#, php-format -msgid "Warning: Database versions differ by %1$d updates." -msgstr "Advarsel: databaseversjoner avviker med %1$d oppdateringer." - -#: ../../mod/import.php:148 -msgid "No channel. Import failed." -msgstr "Ingen kanal. Import mislyktes." - -#: ../../mod/import.php:493 -msgid "You must be logged in to use this feature." -msgstr "Du må være innlogget for å bruke denne funksjonen." - -#: ../../mod/import.php:498 -msgid "Import Channel" -msgstr "Importer kanal" - -#: ../../mod/import.php:499 -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 "Bruk dette skjemaet for å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente inn kanalidentiteten fra den gamle tjeneren/huben via nettverket eller ved å bruke en eksportfil." - -#: ../../mod/import.php:500 ../../mod/import_items.php:121 -msgid "File to Upload" -msgstr "Fil som skal lastes opp" - -#: ../../mod/import.php:501 -msgid "Or provide the old server/hub details" -msgstr "Eller oppgi detaljene fra den gamle tjeneren/hub-en" - -#: ../../mod/import.php:502 -msgid "Your old identity address (xyz@example.com)" -msgstr "Din gamle identitetsadresse (xyz@example.com)" - -#: ../../mod/import.php:503 -msgid "Your old login email address" -msgstr "Din gamle innloggings e-postadresse" - -#: ../../mod/import.php:504 -msgid "Your old login password" -msgstr "Ditt gamle innloggingspassord" - -#: ../../mod/import.php:505 -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 "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media." - -#: ../../mod/import.php:506 -msgid "Make this hub my primary location" -msgstr "Gjør dette nettstedet til min primære plassering" - -#: ../../mod/import.php:507 -msgid "" -"Import existing posts if possible (experimental - limited by available " -"memory" -msgstr "Importer eksisterende innlegg om mulig (eksperimentelt - begrenset av tilgjengelig minne)" - -#: ../../mod/import.php:508 -msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." -msgstr "Denne prosessen kan ta flere minutter å fullføre. Vennligst send inn dette skjemaet bare en gang og la siden være åpen inntil den er ferdig." - -#: ../../mod/thing.php:111 -msgid "Thing updated" -msgstr "Tingen er oppdatert" - -#: ../../mod/thing.php:163 -msgid "Object store: failed" -msgstr "Objektlagring: mislyktes" - -#: ../../mod/thing.php:167 -msgid "Thing added" -msgstr "Ting lagt til" - -#: ../../mod/thing.php:193 -#, php-format -msgid "OBJ: %1$s %2$s %3$s" -msgstr "OBJ: %1$s %2$s %3$s" - -#: ../../mod/thing.php:256 -msgid "Show Thing" -msgstr "Vis ting" - -#: ../../mod/thing.php:263 -msgid "item not found." -msgstr "element ble ikke funnet." - -#: ../../mod/thing.php:296 -msgid "Edit Thing" -msgstr "Endre ting" - -#: ../../mod/thing.php:298 ../../mod/thing.php:348 -msgid "Select a profile" -msgstr "Velg en profil" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Post an activity" -msgstr "Legg inn en aktivitet" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Only sends to viewers of the applicable profile" -msgstr "Sender bare til seere av den aktuelle profilen" - -#: ../../mod/thing.php:304 ../../mod/thing.php:353 -msgid "Name of thing e.g. something" -msgstr "Navn på ting for eksempel noe" - -#: ../../mod/thing.php:306 ../../mod/thing.php:354 -msgid "URL of thing (optional)" -msgstr "URL til ting (valgfritt)" - -#: ../../mod/thing.php:308 ../../mod/thing.php:355 -msgid "URL for photo of thing (optional)" -msgstr "URL til bilde av ting (valgfritt)" - -#: ../../mod/thing.php:346 -msgid "Add Thing to your Profile" -msgstr "Legg til ting i din profil" - -#: ../../mod/invite.php:25 -msgid "Total invitation limit exceeded." -msgstr "Grensen for totalt antall invitasjoner er overskredet." - -#: ../../mod/invite.php:49 -#, php-format -msgid "%s : Not a valid email address." -msgstr "%s : ikke en gyldig e-postadresse." - -#: ../../mod/invite.php:76 -msgid "Please join us on $Projectname" -msgstr "Bli med oss på $Projectname" - -#: ../../mod/invite.php:87 -msgid "Invitation limit exceeded. Please contact your site administrator." -msgstr "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted." - -#: ../../mod/invite.php:92 -#, php-format -msgid "%s : Message delivery failed." -msgstr "%s : meldingslevering feilet." - -#: ../../mod/invite.php:96 -#, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "%d melding sendt." -msgstr[1] "%d meldinger sendt." - -#: ../../mod/invite.php:115 -msgid "You have no more invitations available" -msgstr "Du har ikke flere invitasjoner tilgjengelig" - -#: ../../mod/invite.php:129 -msgid "Send invitations" -msgstr "Send invitasjoner" - -#: ../../mod/invite.php:130 -msgid "Enter email addresses, one per line:" -msgstr "Skriv e-postadresser, en per linje:" - -#: ../../mod/invite.php:132 -msgid "Please join my community on $Projectname." -msgstr "Du er velkommen til å bli med i mitt fellesskap på $Projectname." - -#: ../../mod/invite.php:134 -msgid "You will need to supply this invitation code: " -msgstr "Du må oppgi denne invitasjonskoden:" - -#: ../../mod/invite.php:135 -msgid "" -"1. Register at any $Projectname location (they are all inter-connected)" -msgstr "1. Registrer ved enhver $Projectname-lokasjon (de er alle forbundet med hverandre)" - -#: ../../mod/invite.php:137 -msgid "2. Enter my $Projectname network address into the site searchbar." -msgstr "2. Skriv inn min $Projectname-adresse i nettstedets søkefelt." - -#: ../../mod/invite.php:138 -msgid "or visit " -msgstr "eller besøk" +#: ../../mod/editlayout.php:112 +msgid "Delete layout?" +msgstr "Slett layout?" -#: ../../mod/invite.php:140 -msgid "3. Click [Connect]" -msgstr "3. Klikk [Forbindelse]" +#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124 +msgid "Layout Description (Optional)" +msgstr "Layoutens beskrivelse (valgfritt)" -#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25 -#: ../../mod/update_home.php:21 ../../mod/update_network.php:23 -#: ../../mod/update_search.php:46 ../../mod/update_public.php:21 -msgid "[Embedded content - reload page to view]" -msgstr "[Innebygget innhold - last siden på nytt for å se]" +#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121 +#: ../../mod/layouts.php:179 +msgid "Layout Name" +msgstr "Layout-navn" -#: ../../mod/viewsrc.php:40 -msgid "Source of Item" -msgstr "Kilde til element" +#: ../../mod/editlayout.php:178 +msgid "Edit Layout" +msgstr "Endre layout" #: ../../mod/settings.php:76 msgid "Name is required" @@ -7417,1581 +7562,1595 @@ msgstr "Navn er påkrevd" msgid "Key and Secret are required" msgstr "Nøkkel og hemmelighet er påkrevd" -#: ../../mod/settings.php:231 +#: ../../mod/settings.php:232 msgid "Passwords do not match. Password unchanged." msgstr "Passordene stemmer ikke overens. Passord uforandret." -#: ../../mod/settings.php:235 +#: ../../mod/settings.php:236 msgid "Empty passwords are not allowed. Password unchanged." msgstr "Tomme passord er ikke tillatt. Passord uforandret." -#: ../../mod/settings.php:249 +#: ../../mod/settings.php:250 msgid "Password changed." msgstr "Passord endret." -#: ../../mod/settings.php:251 +#: ../../mod/settings.php:252 msgid "Password update failed. Please try again." msgstr "Passord oppdatering mislyktes. Vennligst prøv igjen." -#: ../../mod/settings.php:265 +#: ../../mod/settings.php:266 msgid "Not valid email." msgstr "Ikke gyldig e-post." -#: ../../mod/settings.php:268 +#: ../../mod/settings.php:269 msgid "Protected email address. Cannot change to that email." msgstr "Beskyttet e-postadresse. Kan ikke endre til den e-postadressen." -#: ../../mod/settings.php:277 +#: ../../mod/settings.php:278 msgid "System failure storing new email. Please try again." msgstr "Systemfeil ved lagring av ny e-post. Vennligst prøv igjen." -#: ../../mod/settings.php:518 +#: ../../mod/settings.php:521 msgid "Settings updated." msgstr "Innstillinger oppdatert." -#: ../../mod/settings.php:582 ../../mod/settings.php:608 -#: ../../mod/settings.php:644 +#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../mod/settings.php:647 msgid "Add application" msgstr "Legg til program" -#: ../../mod/settings.php:585 +#: ../../mod/settings.php:588 msgid "Name of application" msgstr "Navn på program" -#: ../../mod/settings.php:586 ../../mod/settings.php:612 +#: ../../mod/settings.php:589 ../../mod/settings.php:615 msgid "Consumer Key" msgstr "Consumer Key" -#: ../../mod/settings.php:586 ../../mod/settings.php:587 +#: ../../mod/settings.php:589 ../../mod/settings.php:590 msgid "Automatically generated - change if desired. Max length 20" msgstr "Automatisk laget - kan endres om du vil. Største lengde 20" -#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/settings.php:590 ../../mod/settings.php:616 msgid "Consumer Secret" msgstr "Consumer Secret" -#: ../../mod/settings.php:588 ../../mod/settings.php:614 +#: ../../mod/settings.php:591 ../../mod/settings.php:617 msgid "Redirect" msgstr "Omdirigering" -#: ../../mod/settings.php:588 +#: ../../mod/settings.php:591 msgid "" "Redirect URI - leave blank unless your application specifically requires " "this" msgstr "Omdirigerings-URI - la stå tomt hvis ikke ditt program spesifikt krever dette" -#: ../../mod/settings.php:589 ../../mod/settings.php:615 +#: ../../mod/settings.php:592 ../../mod/settings.php:618 msgid "Icon url" msgstr "Ikon-URL" -#: ../../mod/settings.php:589 +#: ../../mod/settings.php:592 msgid "Optional" msgstr "Valgfritt" -#: ../../mod/settings.php:600 +#: ../../mod/settings.php:603 msgid "You can't edit this application." msgstr "Du kan ikke endre dette programmet." -#: ../../mod/settings.php:643 +#: ../../mod/settings.php:646 msgid "Connected Apps" msgstr "Tilkoblede app-er" -#: ../../mod/settings.php:647 +#: ../../mod/settings.php:650 msgid "Client key starts with" msgstr "Klientnøkkel starter med" -#: ../../mod/settings.php:648 +#: ../../mod/settings.php:651 msgid "No name" msgstr "Ikke noe navn" -#: ../../mod/settings.php:649 +#: ../../mod/settings.php:652 msgid "Remove authorization" msgstr "Fjern tillatelse" -#: ../../mod/settings.php:662 +#: ../../mod/settings.php:665 msgid "No feature settings configured" msgstr "Ingen funksjonsinnstillinger er konfigurert" -#: ../../mod/settings.php:669 +#: ../../mod/settings.php:672 msgid "Feature/Addon Settings" msgstr "Funksjons-/Tilleggsinnstillinger" -#: ../../mod/settings.php:692 +#: ../../mod/settings.php:695 msgid "Account Settings" msgstr "Kontoinnstillinger" -#: ../../mod/settings.php:693 +#: ../../mod/settings.php:696 msgid "Enter New Password:" msgstr "Skriv nytt passord:" -#: ../../mod/settings.php:694 +#: ../../mod/settings.php:697 msgid "Confirm New Password:" msgstr "Bekreft nytt passord:" -#: ../../mod/settings.php:694 +#: ../../mod/settings.php:697 msgid "Leave password fields blank unless changing" msgstr "La passordfeltene stå blanke om det ikke skal endres" -#: ../../mod/settings.php:696 ../../mod/settings.php:1027 +#: ../../mod/settings.php:699 ../../mod/settings.php:1030 msgid "Email Address:" msgstr "E-postadresse:" -#: ../../mod/settings.php:698 +#: ../../mod/settings.php:701 msgid "Remove this account including all its channels" msgstr "Slett denne kontoen inkludert alle dens kanaler" -#: ../../mod/settings.php:714 +#: ../../mod/settings.php:717 msgid "Off" msgstr "Av" -#: ../../mod/settings.php:714 +#: ../../mod/settings.php:717 msgid "On" msgstr "På" -#: ../../mod/settings.php:721 +#: ../../mod/settings.php:724 msgid "Additional Features" msgstr "Ekstra funksjoner" -#: ../../mod/settings.php:745 +#: ../../mod/settings.php:748 msgid "Connector Settings" msgstr "Koblingsinnstillinger" -#: ../../mod/settings.php:784 +#: ../../mod/settings.php:787 msgid "No special theme for mobile devices" msgstr "Ikke noe spesielt tema for mobile enheter" -#: ../../mod/settings.php:787 +#: ../../mod/settings.php:790 #, php-format msgid "%s - (Experimental)" msgstr "%s - (Eksperimentelt)" -#: ../../mod/settings.php:826 +#: ../../mod/settings.php:829 msgid "Display Settings" msgstr "Visningsinnstillinger" -#: ../../mod/settings.php:827 +#: ../../mod/settings.php:830 msgid "Theme Settings" msgstr "Temainnstillinger" -#: ../../mod/settings.php:828 +#: ../../mod/settings.php:831 msgid "Custom Theme Settings" msgstr "Tilpassede temainnstillinger" -#: ../../mod/settings.php:829 +#: ../../mod/settings.php:832 msgid "Content Settings" msgstr "Innholdsinnstillinger" -#: ../../mod/settings.php:835 +#: ../../mod/settings.php:838 msgid "Display Theme:" msgstr "Visningstema:" -#: ../../mod/settings.php:836 +#: ../../mod/settings.php:839 msgid "Mobile Theme:" msgstr "Mobiltema:" -#: ../../mod/settings.php:837 +#: ../../mod/settings.php:840 msgid "Enable user zoom on mobile devices" msgstr "Skru på brukerstyrt zoom på mobile enheter" -#: ../../mod/settings.php:838 +#: ../../mod/settings.php:841 msgid "Update browser every xx seconds" msgstr "Oppdater nettleser hvert xx sekunder" -#: ../../mod/settings.php:838 +#: ../../mod/settings.php:841 msgid "Minimum of 10 seconds, no maximum" msgstr "Minimum 10 sekunder, ikke noe maksimum" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:842 msgid "Maximum number of conversations to load at any time:" msgstr "Maksimalt antall samtaler å laste samtidig:" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:842 msgid "Maximum of 100 items" msgstr "Maksimum 100 elementer" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:843 msgid "Show emoticons (smilies) as images" msgstr "Vis emoticons (smilefjes) som bilder" -#: ../../mod/settings.php:841 +#: ../../mod/settings.php:844 msgid "Link post titles to source" msgstr "Lenk innleggets tittel til kilden" -#: ../../mod/settings.php:842 +#: ../../mod/settings.php:845 msgid "System Page Layout Editor - (advanced)" msgstr "Systemsidens layoutbehandler - (avansert)" -#: ../../mod/settings.php:845 +#: ../../mod/settings.php:848 msgid "Use blog/list mode on channel page" msgstr "Bruk blogg-/listemodus på kanalsiden" -#: ../../mod/settings.php:845 ../../mod/settings.php:846 +#: ../../mod/settings.php:848 ../../mod/settings.php:849 msgid "(comments displayed separately)" msgstr "(kommentarer vist separat)" -#: ../../mod/settings.php:846 +#: ../../mod/settings.php:849 msgid "Use blog/list mode on matrix page" msgstr "Bruk blogg-/listemodus på matrix-siden" -#: ../../mod/settings.php:847 +#: ../../mod/settings.php:850 msgid "Channel page max height of content (in pixels)" msgstr "Kanalsidens makshøyde for innhold (i pixler)" -#: ../../mod/settings.php:847 ../../mod/settings.php:848 +#: ../../mod/settings.php:850 ../../mod/settings.php:851 msgid "click to expand content exceeding this height" msgstr "klikk for å utvide innhold som overstiger denne høyden" -#: ../../mod/settings.php:848 +#: ../../mod/settings.php:851 msgid "Matrix page max height of content (in pixels)" msgstr "Matrix-sidens makshøyde for innholde (i pixler)" -#: ../../mod/settings.php:882 +#: ../../mod/settings.php:885 msgid "Nobody except yourself" msgstr "Ingen unntatt deg selv" -#: ../../mod/settings.php:883 +#: ../../mod/settings.php:886 msgid "Only those you specifically allow" msgstr "Bare de du spesifikt tillater" -#: ../../mod/settings.php:884 +#: ../../mod/settings.php:887 msgid "Approved connections" msgstr "Godkjente forbindelser" -#: ../../mod/settings.php:885 +#: ../../mod/settings.php:888 msgid "Any connections" msgstr "Enhver forbindelse" -#: ../../mod/settings.php:886 +#: ../../mod/settings.php:889 msgid "Anybody on this website" msgstr "Enhver ved dette nettstedet" -#: ../../mod/settings.php:887 +#: ../../mod/settings.php:890 msgid "Anybody in this network" msgstr "Enhver i dette nettverket" -#: ../../mod/settings.php:888 +#: ../../mod/settings.php:891 msgid "Anybody authenticated" msgstr "Enhver som er autentisert" -#: ../../mod/settings.php:889 +#: ../../mod/settings.php:892 msgid "Anybody on the internet" msgstr "Enhver på Internett" -#: ../../mod/settings.php:963 +#: ../../mod/settings.php:966 msgid "Publish your default profile in the network directory" msgstr "Publiser din standardprofil i nettverkskatalogen" -#: ../../mod/settings.php:968 +#: ../../mod/settings.php:971 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "Tillat oss å foreslå deg som en mulig venn til nye medlemmer?" -#: ../../mod/settings.php:977 +#: ../../mod/settings.php:980 msgid "Your channel address is" msgstr "Din kanaladresse er" -#: ../../mod/settings.php:1018 +#: ../../mod/settings.php:1021 msgid "Channel Settings" msgstr "Kanalinnstillinger" -#: ../../mod/settings.php:1025 +#: ../../mod/settings.php:1028 msgid "Basic Settings" msgstr "Grunninnstillinger" -#: ../../mod/settings.php:1028 +#: ../../mod/settings.php:1031 msgid "Your Timezone:" msgstr "Din tidssone:" -#: ../../mod/settings.php:1029 +#: ../../mod/settings.php:1032 msgid "Default Post Location:" msgstr "Standard plassering ved innlegg:" -#: ../../mod/settings.php:1029 +#: ../../mod/settings.php:1032 msgid "Geographical location to display on your posts" msgstr "Geografisk plassering som vises på dine innlegg" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1033 msgid "Use Browser Location:" msgstr "Bruk nettleseren sin plassering:" -#: ../../mod/settings.php:1032 +#: ../../mod/settings.php:1035 msgid "Adult Content" msgstr "Voksent innhold" -#: ../../mod/settings.php:1032 +#: ../../mod/settings.php:1035 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "Denne kanalen vil ofte eller jevnlig publisere voksent innhold. (Vennligst merk alt voksent materiale og/eller nakenhet med #NSFW)" -#: ../../mod/settings.php:1034 +#: ../../mod/settings.php:1037 msgid "Security and Privacy Settings" msgstr "Sikkerhets- og personverninnstillinger" -#: ../../mod/settings.php:1036 +#: ../../mod/settings.php:1039 msgid "Your permissions are already configured. Click to view/adjust" msgstr "Dine tillatelser er allerede satt. Klikk for å se/justere." -#: ../../mod/settings.php:1038 +#: ../../mod/settings.php:1041 msgid "Hide my online presence" msgstr "Skjul min tilstedeværelse online" -#: ../../mod/settings.php:1038 +#: ../../mod/settings.php:1041 msgid "Prevents displaying in your profile that you are online" msgstr "Forhindrer visning på din profil av at du er online " -#: ../../mod/settings.php:1040 +#: ../../mod/settings.php:1043 msgid "Simple Privacy Settings:" msgstr "Enkle personverninnstillinger:" -#: ../../mod/settings.php:1041 +#: ../../mod/settings.php:1044 msgid "" "Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "Svært offentlig - <em>ekstremt åpent (bør brukes med varsomhet)</em>" -#: ../../mod/settings.php:1042 +#: ../../mod/settings.php:1045 msgid "" "Typical - <em>default public, privacy when desired (similar to social " "network permissions but with improved privacy)</em>" msgstr "Typisk - <em>standard er offentlig, personvern når ønsket (likner på tillatelser i sosiale nettverk, men med forbedret personvern)</em>" -#: ../../mod/settings.php:1043 +#: ../../mod/settings.php:1046 msgid "Private - <em>default private, never open or public</em>" msgstr "Privat - <em>standard er privat, aldri åpen eller offentlig</em>" -#: ../../mod/settings.php:1044 +#: ../../mod/settings.php:1047 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "Blokkert - <em>standard blokkert til/fra alle</em>" -#: ../../mod/settings.php:1046 +#: ../../mod/settings.php:1049 msgid "Allow others to tag your posts" msgstr "Tillat andre å merke dine innlegg" -#: ../../mod/settings.php:1046 +#: ../../mod/settings.php:1049 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "Ofte brukt av fellesskapet for å merke upassende innhold i etterkant" -#: ../../mod/settings.php:1048 +#: ../../mod/settings.php:1051 msgid "Advanced Privacy Settings" msgstr "Avanserte personverninnstillinger" -#: ../../mod/settings.php:1050 +#: ../../mod/settings.php:1053 msgid "Expire other channel content after this many days" msgstr "Annet kanal innhold utløper etter så mange dager" -#: ../../mod/settings.php:1050 +#: ../../mod/settings.php:1053 msgid "0 or blank prevents expiration" msgstr "0 eller blankt forhindrer utløp" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1054 msgid "Maximum Friend Requests/Day:" msgstr "Maksimalt antall venneforespørsler per dag:" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1054 msgid "May reduce spam activity" msgstr "Kan redusere søppelpostaktivitet" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1055 msgid "Default Post Permissions" msgstr "Standard innleggstillatelser" -#: ../../mod/settings.php:1057 +#: ../../mod/settings.php:1056 ../../mod/mitem.php:150 ../../mod/mitem.php:223 +msgid "(click to open/close)" +msgstr "(klikk for å åpne/lukke)" + +#: ../../mod/settings.php:1060 msgid "Channel permissions category:" msgstr "Kategori med kanaltillatelser:" -#: ../../mod/settings.php:1063 +#: ../../mod/settings.php:1066 msgid "Maximum private messages per day from unknown people:" msgstr "Maksimalt antall private meldinger per dag fra ukjente personer:" -#: ../../mod/settings.php:1063 +#: ../../mod/settings.php:1066 msgid "Useful to reduce spamming" msgstr "Nyttig for å redusere søppelpost" -#: ../../mod/settings.php:1066 +#: ../../mod/settings.php:1069 msgid "Notification Settings" msgstr "Varslingsinnstillinger" -#: ../../mod/settings.php:1067 +#: ../../mod/settings.php:1070 msgid "By default post a status message when:" msgstr "Legg inn en statusmelding når du:" -#: ../../mod/settings.php:1068 +#: ../../mod/settings.php:1071 msgid "accepting a friend request" msgstr "aksepterer en venneforespørsel" -#: ../../mod/settings.php:1069 +#: ../../mod/settings.php:1072 msgid "joining a forum/community" msgstr "blir med i et forum/miljø" -#: ../../mod/settings.php:1070 +#: ../../mod/settings.php:1073 msgid "making an <em>interesting</em> profile change" msgstr "gjør en <em>interessant</em> profilendring" -#: ../../mod/settings.php:1071 +#: ../../mod/settings.php:1074 msgid "Send a notification email when:" msgstr "Send en varsel-e-post når:" -#: ../../mod/settings.php:1072 +#: ../../mod/settings.php:1075 msgid "You receive a connection request" msgstr "Du har mottatt en forespørsel om forbindelse" -#: ../../mod/settings.php:1073 +#: ../../mod/settings.php:1076 msgid "Your connections are confirmed" msgstr "Dine forbindelser er bekreftet" -#: ../../mod/settings.php:1074 +#: ../../mod/settings.php:1077 msgid "Someone writes on your profile wall" msgstr "Noen skriver på din profilvegg" -#: ../../mod/settings.php:1075 +#: ../../mod/settings.php:1078 msgid "Someone writes a followup comment" msgstr "Noen skriver en oppfølgende kommentar" -#: ../../mod/settings.php:1076 +#: ../../mod/settings.php:1079 msgid "You receive a private message" msgstr "Du mottar en privat melding" -#: ../../mod/settings.php:1077 +#: ../../mod/settings.php:1080 msgid "You receive a friend suggestion" msgstr "Du mottok et venneforslag" -#: ../../mod/settings.php:1078 +#: ../../mod/settings.php:1081 msgid "You are tagged in a post" msgstr "Du merkes i et innlegg" -#: ../../mod/settings.php:1079 +#: ../../mod/settings.php:1082 msgid "You are poked/prodded/etc. in a post" msgstr "Du ble prikket/oppildnet/og så vider i et innlegg" -#: ../../mod/settings.php:1082 +#: ../../mod/settings.php:1085 msgid "Show visual notifications including:" msgstr "Vis visuelle varslinger om:" -#: ../../mod/settings.php:1084 +#: ../../mod/settings.php:1087 msgid "Unseen matrix activity" msgstr "Usett matrixaktivitet" -#: ../../mod/settings.php:1085 +#: ../../mod/settings.php:1088 msgid "Unseen channel activity" msgstr "Usett kanalaktivitet" -#: ../../mod/settings.php:1086 +#: ../../mod/settings.php:1089 msgid "Unseen private messages" msgstr "Usette private meldinger" -#: ../../mod/settings.php:1086 ../../mod/settings.php:1091 -#: ../../mod/settings.php:1092 ../../mod/settings.php:1093 +#: ../../mod/settings.php:1089 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1095 ../../mod/settings.php:1096 msgid "Recommended" msgstr "Anbefalt" -#: ../../mod/settings.php:1087 +#: ../../mod/settings.php:1090 msgid "Upcoming events" msgstr "Kommende hendelser" -#: ../../mod/settings.php:1088 +#: ../../mod/settings.php:1091 msgid "Events today" msgstr "Hendelser idag" -#: ../../mod/settings.php:1089 +#: ../../mod/settings.php:1092 msgid "Upcoming birthdays" msgstr "Kommende fødselsdager" -#: ../../mod/settings.php:1089 +#: ../../mod/settings.php:1092 msgid "Not available in all themes" msgstr "Ikke tilgjengelig i alle temaer" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1093 msgid "System (personal) notifications" msgstr "System (personlige) varslinger" -#: ../../mod/settings.php:1091 +#: ../../mod/settings.php:1094 msgid "System info messages" msgstr "System infomeldinger" -#: ../../mod/settings.php:1092 +#: ../../mod/settings.php:1095 msgid "System critical alerts" msgstr "System kritiske varsel" -#: ../../mod/settings.php:1093 +#: ../../mod/settings.php:1096 msgid "New connections" msgstr "Nye forbindelser" -#: ../../mod/settings.php:1094 +#: ../../mod/settings.php:1097 msgid "System Registrations" msgstr "Systemregistreringer" -#: ../../mod/settings.php:1095 +#: ../../mod/settings.php:1098 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "Vis også nye vegginnlegg, private meldinger og forbindelser under Varsler" -#: ../../mod/settings.php:1097 +#: ../../mod/settings.php:1100 msgid "Notify me of events this many days in advance" msgstr "Varsle meg om hendelser dette antall dager på forhånd" -#: ../../mod/settings.php:1097 +#: ../../mod/settings.php:1100 msgid "Must be greater than 0" msgstr "Må være større enn 0" -#: ../../mod/settings.php:1099 +#: ../../mod/settings.php:1102 msgid "Advanced Account/Page Type Settings" msgstr "Avanserte innstillinger for konto/sidetype" -#: ../../mod/settings.php:1100 +#: ../../mod/settings.php:1103 msgid "Change the behaviour of this account for special situations" msgstr "Endre oppførselen til denne kontoen i spesielle situasjoner" -#: ../../mod/settings.php:1103 +#: ../../mod/settings.php:1106 msgid "" "Please enable expert mode (in <a href=\"settings/features\">Settings > " "Additional features</a>) to adjust!" msgstr "Vennligst skru på ekspertmodus (under <a href=\"settings/features\">Innstillinger > Ekstra funksjoner</a>) for å justere!" -#: ../../mod/settings.php:1104 +#: ../../mod/settings.php:1107 msgid "Miscellaneous Settings" msgstr "Diverse innstillinger" -#: ../../mod/settings.php:1105 +#: ../../mod/settings.php:1108 msgid "Default photo upload folder" msgstr "Standard mappe for opplasting av bilder" -#: ../../mod/settings.php:1106 +#: ../../mod/settings.php:1108 ../../mod/settings.php:1109 +msgid "%Y - current year, %m - current month" +msgstr "%Y - nåværende år, %m - nåværende måned" + +#: ../../mod/settings.php:1109 msgid "Default file upload folder" msgstr "Standard mappe for opplasting av filer" -#: ../../mod/settings.php:1108 +#: ../../mod/settings.php:1111 msgid "Personal menu to display in your channel pages" msgstr "Personlig meny som kan vises på dine kanalsider" -#: ../../mod/settings.php:1110 +#: ../../mod/settings.php:1113 msgid "Remove this channel." msgstr "Fjern denne kanalen." -#: ../../mod/xchan.php:6 -msgid "Xchan Lookup" -msgstr "Xchan oppslag" +#: ../../mod/settings.php:1114 +msgid "Firefox Share $Projectname provider" +msgstr "$Projectname Firefox Share tilbyder" -#: ../../mod/xchan.php:9 -msgid "Lookup xchan beginning with (or webbie): " -msgstr "Slå opp xchan som begynner med (eller webbie):" +#: ../../mod/settings.php:1115 +msgid "Start calendar week on monday" +msgstr "Start uken med mandag i kalenderen" -#: ../../mod/manage.php:130 -#, php-format -msgid "You have created %1$.0f of %2$.0f allowed channels." -msgstr "Du har laget %1$.0f av %2$.0f tillatte kanaler." +#: ../../mod/webpages.php:191 +msgid "Page Title" +msgstr "Sidetittel" -#: ../../mod/manage.php:138 -msgid "Create a new channel" -msgstr "Lag en ny kanal" +#: ../../mod/appman.php:28 ../../mod/appman.php:44 +msgid "App installed." +msgstr "App installert." -#: ../../mod/manage.php:161 -msgid "Current Channel" -msgstr "Gjeldende kanal" +#: ../../mod/appman.php:37 +msgid "Malformed app." +msgstr "Feil oppsett for app-en." -#: ../../mod/manage.php:163 -msgid "Switch to one of your channels by selecting it." -msgstr "Bytt til en av dine kanaler ved å velge den." +#: ../../mod/appman.php:80 +msgid "Embed code" +msgstr "Innbyggingskode" -#: ../../mod/manage.php:164 -msgid "Default Channel" -msgstr "Standardkanal" +#: ../../mod/appman.php:86 +msgid "Edit App" +msgstr "Endre app" -#: ../../mod/manage.php:165 -msgid "Make Default" -msgstr "Gjør til standard" +#: ../../mod/appman.php:86 +msgid "Create App" +msgstr "Lag app" -#: ../../mod/manage.php:168 -#, php-format -msgid "%d new messages" -msgstr "%d nye meldinger" +#: ../../mod/appman.php:91 +msgid "Name of app" +msgstr "Navn på app" -#: ../../mod/manage.php:169 -#, php-format -msgid "%d new introductions" -msgstr "%d nye introduksjoner" +#: ../../mod/appman.php:92 +msgid "Location (URL) of app" +msgstr "Plassering (URL) til app" -#: ../../mod/manage.php:171 -msgid "Delegated Channels" -msgstr "Delegerte kanaler" +#: ../../mod/appman.php:94 +msgid "Photo icon URL" +msgstr "Bildeikon URL" -#: ../../mod/api.php:76 ../../mod/api.php:102 -msgid "Authorize application connection" -msgstr "Tillat programforbindelse" +#: ../../mod/appman.php:94 +msgid "80 x 80 pixels - optional" +msgstr "80 x80 pixler - valgfritt" -#: ../../mod/api.php:77 -msgid "Return to your app and insert this Securty Code:" -msgstr "Gå tilbake til din app og legg inn denne sikkerhetskoden:" +#: ../../mod/appman.php:95 +msgid "Version ID" +msgstr "Versjons-ID" -#: ../../mod/api.php:89 -msgid "Please login to continue." -msgstr "Vennligst logg inn for å fortsette." +#: ../../mod/appman.php:96 +msgid "Price of app" +msgstr "Pris på app" -#: ../../mod/api.php:104 -msgid "" -"Do you want to authorize this application to access your posts and contacts," -" and/or create new posts for you?" -msgstr "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?" +#: ../../mod/appman.php:97 +msgid "Location (URL) to purchase app" +msgstr "Plassering (URL) for å kjøpe app" -#: ../../mod/connections.php:52 ../../mod/connections.php:150 -msgid "Blocked" -msgstr "Blokkert" +#: ../../mod/filer.php:48 +msgid "- select -" +msgstr "- velg -" -#: ../../mod/connections.php:57 ../../mod/connections.php:157 -msgid "Ignored" -msgstr "Ignorert" +#: ../../mod/layouts.php:176 +msgid "Comanche page description language help" +msgstr "Hjelp med Comanche sidebeskrivelsesspråk" -#: ../../mod/connections.php:62 ../../mod/connections.php:171 -msgid "Hidden" -msgstr "Skjult" +#: ../../mod/layouts.php:180 +msgid "Layout Description" +msgstr "Layout-beskrivelse" -#: ../../mod/connections.php:67 ../../mod/connections.php:164 -msgid "Archived" -msgstr "Arkivert" +#: ../../mod/layouts.php:185 +msgid "Download PDL file" +msgstr "Last ned PDL-fil" -#: ../../mod/connections.php:128 -msgid "Suggest new connections" -msgstr "Foreslå nye forbindelser" +#: ../../mod/locs.php:21 ../../mod/locs.php:50 +msgid "Location not found." +msgstr "Plassering er ikke funnet." -#: ../../mod/connections.php:131 -msgid "New Connections" -msgstr "Nye forbindelser" +#: ../../mod/locs.php:58 +msgid "Location lookup failed." +msgstr "Oppslag på plassering mislyktes." -#: ../../mod/connections.php:134 -msgid "Show pending (new) connections" -msgstr "Vis ventende (nye) forbindelser" +#: ../../mod/locs.php:62 +msgid "" +"Please select another location to become primary before removing the primary" +" location." +msgstr "Vennligst velg en annen plassering som primær før du sletter gjeldende primære plassering." -#: ../../mod/connections.php:137 ../../mod/profperm.php:139 -msgid "All Connections" -msgstr "Alle forbindelser" +#: ../../mod/locs.php:91 +msgid "Syncing locations" +msgstr "Synkroniserer plasseringer" -#: ../../mod/connections.php:140 -msgid "Show all connections" -msgstr "Vis alle forbindelser" +#: ../../mod/locs.php:101 +msgid "No locations found." +msgstr "Ingen plasseringer ble funnet." -#: ../../mod/connections.php:143 -msgid "Unblocked" -msgstr "Ikke blokkert lenger" +#: ../../mod/locs.php:112 +msgid "Manage Channel Locations" +msgstr "Håndter kanalplasseringer" -#: ../../mod/connections.php:146 -msgid "Only show unblocked connections" -msgstr "Vis bare forbindelser som ikke er blokkert" +#: ../../mod/locs.php:113 +msgid "Location (address)" +msgstr "Plassering (adresse)" -#: ../../mod/connections.php:153 -msgid "Only show blocked connections" -msgstr "Vis bare forbindelser som er blokkert" +#: ../../mod/locs.php:114 +msgid "Primary Location" +msgstr "Hovedplassering" -#: ../../mod/connections.php:160 -msgid "Only show ignored connections" -msgstr "Vis bare ignorerte forbindelser" +#: ../../mod/locs.php:115 +msgid "Drop location" +msgstr "Slett plassering" -#: ../../mod/connections.php:167 -msgid "Only show archived connections" -msgstr "Vis bare arkiverte forbindelser" +#: ../../mod/locs.php:117 +msgid "Sync now" +msgstr "Synkroniser nå" -#: ../../mod/connections.php:174 -msgid "Only show hidden connections" -msgstr "Vis bare skjulte forbindelser" +#: ../../mod/locs.php:118 +msgid "Please wait several minutes between consecutive operations." +msgstr "Vennligst vent flere minutter mellom hver etterfølgende operasjon." -#: ../../mod/connections.php:225 -#, php-format -msgid "%1$s [%2$s]" -msgstr "%1$s [%2$s]" +#: ../../mod/locs.php:119 +msgid "" +"When possible, drop a location by logging into that website/hub and removing" +" your channel." +msgstr "Når mulig, fjern en plassering ved å logge inn på det nettstedet eller den hub-en og fjern din kanal." -#: ../../mod/connections.php:226 -msgid "Edit connection" -msgstr "Endre forbindelse" +#: ../../mod/locs.php:120 +msgid "Use this form to drop the location if the hub is no longer operating." +msgstr "Bruk dette skjemaet for å fjerne plasseringen hvis huben ikke er i drift lenger." -#: ../../mod/connections.php:264 -msgid "Search your connections" -msgstr "Søk blant dine forbindelser" +#: ../../mod/mail.php:33 +msgid "Unable to lookup recipient." +msgstr "Ikke i stand til å slå opp mottaker." -#: ../../mod/connections.php:265 -msgid "Finding: " -msgstr "Fant:" +#: ../../mod/mail.php:41 +msgid "Unable to communicate with requested channel." +msgstr "Ikke i stand til å kommunisere med forespurt kanal." -#: ../../mod/editlayout.php:112 -msgid "Delete layout?" -msgstr "Slett layout?" +#: ../../mod/mail.php:48 +msgid "Cannot verify requested channel." +msgstr "Kan ikke bekrefte forespurt kanal." -#: ../../mod/editlayout.php:178 -msgid "Edit Layout" -msgstr "Endre layout" +#: ../../mod/mail.php:74 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "Valgt kanal har restriksjoner for private meldinger. Sending feilet." -#: ../../mod/editwebpage.php:153 -msgid "Delete webpage?" -msgstr "Slett webside?" +#: ../../mod/mail.php:132 +msgid "Messages" +msgstr "Meldinger" -#: ../../mod/editwebpage.php:172 -msgid "Page link title" -msgstr "Sidens lenketittel" +#: ../../mod/mail.php:167 +msgid "Message recalled." +msgstr "Innlegg tilbakekalt." -#: ../../mod/editwebpage.php:222 -msgid "Edit Webpage" -msgstr "Endre webside" +#: ../../mod/mail.php:180 +msgid "Conversation removed." +msgstr "Samtale fjernet." -#: ../../mod/group.php:20 -msgid "Collection created." -msgstr "Samling opprettet." +#: ../../mod/mail.php:223 +msgid "Requested channel is not in this network" +msgstr "Forespurt kanal er ikke tilgjengelig i dette nettverket." -#: ../../mod/group.php:26 -msgid "Could not create collection." -msgstr "Kunne ikke lage samling." +#: ../../mod/mail.php:231 +msgid "Send Private Message" +msgstr "Send privat melding" -#: ../../mod/group.php:54 -msgid "Collection updated." -msgstr "Samlingen er oppdatert." +#: ../../mod/mail.php:232 ../../mod/mail.php:361 +msgid "To:" +msgstr "Til:" -#: ../../mod/group.php:86 -msgid "Create a collection of channels." -msgstr "Lag en samling med kanaler." +#: ../../mod/mail.php:235 ../../mod/mail.php:363 +msgid "Subject:" +msgstr "Emne:" -#: ../../mod/group.php:87 ../../mod/group.php:180 -msgid "Collection Name: " -msgstr "Navn på samling:" +#: ../../mod/mail.php:238 ../../mod/invite.php:131 +msgid "Your message:" +msgstr "Din melding:" -#: ../../mod/group.php:89 ../../mod/group.php:183 -msgid "Members are visible to other channels" -msgstr "Medlemmer er synlig for andre kanaler" +#: ../../mod/mail.php:242 +msgid "Send" +msgstr "Send" -#: ../../mod/group.php:107 -msgid "Collection removed." -msgstr "Samling fjernet." +#: ../../mod/mail.php:333 +msgid "Delete message" +msgstr "Slett melding" -#: ../../mod/group.php:109 -msgid "Unable to remove collection." -msgstr "Ikke i stand til å fjerne samlingen." +#: ../../mod/mail.php:334 +msgid "Delivery report" +msgstr "Leveringsrapport" -#: ../../mod/group.php:179 -msgid "Collection Editor" -msgstr "Samlingsbehandler" +#: ../../mod/mail.php:335 +msgid "Recall message" +msgstr "Tilbakekall innlegg" -#: ../../mod/group.php:193 -msgid "Members" -msgstr "Medlemmer" +#: ../../mod/mail.php:337 +msgid "Message has been recalled." +msgstr "Innlegget har blitt tilbakekalt." -#: ../../mod/group.php:195 -msgid "All Connected Channels" -msgstr "Alle tilkoblede kanaler" +#: ../../mod/mail.php:354 +msgid "Delete Conversation" +msgstr "Slett samtale" -#: ../../mod/group.php:227 -msgid "Click on a channel to add or remove." -msgstr "Klikk på en kanal for å legge til eller fjerne." +#: ../../mod/mail.php:356 +msgid "" +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." +msgstr "Ingen sikret kommunikasjon tilgjengelig. Du kan <strong>muligens</strong> greie å svare via senderens profilside." -#: ../../mod/connect.php:56 ../../mod/connect.php:104 -msgid "Continue" -msgstr "Fortsett" +#: ../../mod/mail.php:360 +msgid "Send Reply" +msgstr "Send svar" -#: ../../mod/connect.php:85 -msgid "Premium Channel Setup" -msgstr "Premiumkanal-oppsett" +#: ../../mod/mail.php:365 +#, php-format +msgid "Your message for %s (%s):" +msgstr "Din melding til %s (%s):" -#: ../../mod/connect.php:87 -msgid "Enable premium channel connection restrictions" -msgstr "Slå på restriksjoner for forbindelse med premiumkanal" +#: ../../mod/regmod.php:11 +msgid "Please login." +msgstr "Vennligst logg inn." -#: ../../mod/connect.php:88 -msgid "" -"Please enter your restrictions or conditions, such as paypal receipt, usage " -"guidelines, etc." -msgstr "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre." +#: ../../mod/xchan.php:6 +msgid "Xchan Lookup" +msgstr "Xchan oppslag" -#: ../../mod/connect.php:90 ../../mod/connect.php:110 -msgid "" -"This channel may require additional steps or acknowledgement of the " -"following conditions prior to connecting:" -msgstr "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:" +#: ../../mod/xchan.php:9 +msgid "Lookup xchan beginning with (or webbie): " +msgstr "Slå opp xchan som begynner med (eller webbie):" -#: ../../mod/connect.php:91 -msgid "" -"Potential connections will then see the following text before proceeding:" -msgstr "Potensielle forbindelser vil da se følgende tekst før de går videre:" +#: ../../mod/xchan.php:37 ../../mod/menu.php:162 ../../mod/mitem.php:116 +msgid "Not found." +msgstr "Ikke funnet." -#: ../../mod/connect.php:92 ../../mod/connect.php:113 -msgid "" -"By continuing, I certify that I have complied with any instructions provided" -" on this page." -msgstr "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden." +#: ../../mod/channel.php:25 ../../mod/chat.php:19 +msgid "You must be logged in to see this page." +msgstr "Du må være innloegget for å se denne siden." -#: ../../mod/connect.php:101 -msgid "(No specific instructions have been provided by the channel owner.)" -msgstr "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)" +#: ../../mod/channel.php:97 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "Utilstrekkelig tillatelse. Forespørsel omdirigert til profilsiden." -#: ../../mod/connect.php:109 -msgid "Restricted or Premium Channel" -msgstr "Begrenset kanal eller premiumkanal" +#: ../../mod/attach.php:9 +msgid "Item not available." +msgstr "Elementet er ikke tilgjengelig." -#: ../../mod/viewconnections.php:59 -msgid "No connections." -msgstr "Ingen forbindelser." +#: ../../mod/invite.php:25 +msgid "Total invitation limit exceeded." +msgstr "Grensen for totalt antall invitasjoner er overskredet." -#: ../../mod/viewconnections.php:72 +#: ../../mod/invite.php:49 #, php-format -msgid "Visit %s's profile [%s]" -msgstr "Besøk %s sin profil [%s]" +msgid "%s : Not a valid email address." +msgstr "%s : ikke en gyldig e-postadresse." -#: ../../mod/locs.php:21 ../../mod/locs.php:49 -msgid "Location not found." -msgstr "Plassering er ikke funnet." +#: ../../mod/invite.php:76 +msgid "Please join us on $Projectname" +msgstr "Bli med oss på $Projectname" -#: ../../mod/locs.php:57 -msgid "Location lookup failed." -msgstr "Oppslag på plassering mislyktes." +#: ../../mod/invite.php:87 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted." -#: ../../mod/locs.php:61 -msgid "" -"Please select another location to become primary before removing the primary" -" location." -msgstr "Vennligst velg en annen plassering som primær før du sletter gjeldende primære plassering." +#: ../../mod/invite.php:92 +#, php-format +msgid "%s : Message delivery failed." +msgstr "%s : meldingslevering feilet." -#: ../../mod/locs.php:93 -msgid "No locations found." -msgstr "Ingen plasseringer ble funnet." +#: ../../mod/invite.php:96 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "%d melding sendt." +msgstr[1] "%d meldinger sendt." -#: ../../mod/locs.php:104 -msgid "Manage Channel Locations" -msgstr "Håndter kanalplasseringer" +#: ../../mod/invite.php:115 +msgid "You have no more invitations available" +msgstr "Du har ikke flere invitasjoner tilgjengelig" -#: ../../mod/locs.php:105 -msgid "Location (address)" -msgstr "Plassering (adresse)" +#: ../../mod/invite.php:129 +msgid "Send invitations" +msgstr "Send invitasjoner" -#: ../../mod/locs.php:106 -msgid "Primary Location" -msgstr "Hovedplassering" +#: ../../mod/invite.php:130 +msgid "Enter email addresses, one per line:" +msgstr "Skriv e-postadresser, en per linje:" -#: ../../mod/locs.php:107 -msgid "Drop location" -msgstr "Slett plassering" +#: ../../mod/invite.php:132 +msgid "Please join my community on $Projectname." +msgstr "Du er velkommen til å bli med i mitt fellesskap på $Projectname." -#: ../../mod/post.php:234 +#: ../../mod/invite.php:134 +msgid "You will need to supply this invitation code: " +msgstr "Du må oppgi denne invitasjonskoden:" + +#: ../../mod/invite.php:135 msgid "" -"Remote authentication blocked. You are logged into this site locally. Please" -" logout and retry." -msgstr "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt." +"1. Register at any $Projectname location (they are all inter-connected)" +msgstr "1. Registrer ved enhver $Projectname-lokasjon (de er alle forbundet med hverandre)" -#: ../../mod/setup.php:191 -msgid "$Projectname Server - Setup" -msgstr "$Projectname-tjener - oppsett" +#: ../../mod/invite.php:137 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "2. Skriv inn min $Projectname-adresse i nettstedets søkefelt." -#: ../../mod/setup.php:195 -msgid "Could not connect to database." -msgstr "Fikk ikke kontakt med databasen." +#: ../../mod/invite.php:138 +msgid "or visit " +msgstr "eller besøk" -#: ../../mod/setup.php:199 -msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." -msgstr "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS." +#: ../../mod/invite.php:140 +msgid "3. Click [Connect]" +msgstr "3. Klikk [Forbindelse]" -#: ../../mod/setup.php:206 -msgid "Could not create table." -msgstr "Kunne ikke lage tabellen." +#: ../../mod/lockview.php:37 +msgid "Remote privacy information not available." +msgstr "Ekstern personverninformasjon er ikke tilgjengelig." -#: ../../mod/setup.php:211 -msgid "Your site database has been installed." -msgstr "Databasen til ditt nettsted har blitt installert." +#: ../../mod/lockview.php:58 +msgid "Visible to:" +msgstr "Synlig for:" -#: ../../mod/setup.php:215 -msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." -msgstr "Du må kanskje importere filen \"install/schmea_xxx.sql\" manuelt ved å bruke en databaseklient." +#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 +msgid "Export Channel" +msgstr "Eksporter kanal" -#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 -msgid "Please see the file \"install/INSTALL.txt\"." -msgstr "Vennligst les filen \"install/INSTALL.txt\"." +#: ../../mod/uexport.php:53 +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 "Eksporter grunnleggende informasjon om kanalen din til en fil. Denne er en sikkerhetskopi av dine forbindelser, tillatelser, profil og grunnleggende data, som kan brukes til å importere dine data til en ny hub, men den tar ikke med innholdet." -#: ../../mod/setup.php:281 -msgid "System check" -msgstr "Systemsjekk" +#: ../../mod/uexport.php:54 +msgid "Export Content" +msgstr "Eksporter innhold" -#: ../../mod/setup.php:286 -msgid "Check again" -msgstr "Sjekk igjen" +#: ../../mod/uexport.php:55 +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 "Eksporter din kanalinformasjon og det nyeste innholdet til en JSON-sikkerhetskopi, som kan gjenopprettes eller importeres til en annen hub. Denne lager en sikkerhetskopi av alle dine forbindelser, tillatelser, profildata og flere måneder av innholdet ditt. Denne filen kan være SVÆRT stor. Vennligst vær tålmodig - det kan ta flere minutter før denne nedlastningen begynner." -#: ../../mod/setup.php:308 -msgid "Database connection" -msgstr "Databaseforbindelse" +#: ../../mod/uexport.php:56 +msgid "Export your posts from a given year." +msgstr "Eksporter dine innlegg fra et bestemt år" -#: ../../mod/setup.php:309 +#: ../../mod/uexport.php:58 msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." -msgstr "For å installere $Projectname må du oppgi hvordan din database kan kontaktes." +"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 "Du kan også eksportere dine innlegg og samtaler for et bestemt år eller måned. Juster datoen i din nettlesers adresselinje for å velge andre datoer. Hvis eksporten feiler (muligens på grunn av utilstrekkelig minne på din hub), vennligst prøv igjen med et mer begrenset datoområde." -#: ../../mod/setup.php:310 +#: ../../mod/uexport.php:59 +#, php-format msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." -msgstr "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene." +"To select all posts for a given year, such as this year, visit <a " +"href=\"%1$s\">%2$s</a>" +msgstr "For å velge alle innlegg for et gitt år, slik som iår, besøk <a href=\"%1$s\">%2$s</a>" -#: ../../mod/setup.php:311 +#: ../../mod/uexport.php:60 +#, php-format msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." -msgstr "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter." +"To select all posts for a given month, such as January of this year, visit " +"<a href=\"%1$s\">%2$s</a>" +msgstr "For å velge alle innlegg fra en gitt måned, slik som januar i år, besøk <a href=\"%1$s\">%2$s</a>" -#: ../../mod/setup.php:315 -msgid "Database Server Name" -msgstr "Navn på databasetjener" +#: ../../mod/uexport.php:61 +#, 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 "Disse innholdsfilene kan importeres eller gjenopprettes ved å besøke <a href=\"%1$s\">%2$s</a> på ethvert nettsted som inneholder din kanal. For best resultat, vennligst importer eller gjenopprett disse etter dato (eldste først)." -#: ../../mod/setup.php:315 -msgid "Default is localhost" -msgstr "Standard er localhost" +#: ../../mod/editpost.php:31 +msgid "Item is not editable" +msgstr "Elementet kan ikke endres" -#: ../../mod/setup.php:316 -msgid "Database Port" -msgstr "Databaseport" +#: ../../mod/editpost.php:57 +msgid "Delete item?" +msgstr "Slett element?" -#: ../../mod/setup.php:316 -msgid "Communication port number - use 0 for default" -msgstr "Kommunikasjonsportnummer - bruk 0 for standard" +#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 +msgid "Edit post" +msgstr "Endre innlegg" -#: ../../mod/setup.php:317 -msgid "Database Login Name" -msgstr "Database innloggingsnavn" +#: ../../mod/follow.php:25 +msgid "Channel added." +msgstr "Kanal lagt til." -#: ../../mod/setup.php:318 -msgid "Database Login Password" -msgstr "Database innloggingspassord" +#: ../../mod/rmagic.php:40 +msgid "" +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." +msgstr "Vi støtte på et problem under innloggingen med din OpenID. Vennligst sjekk at ID-en er stavet riktig." -#: ../../mod/setup.php:319 -msgid "Database Name" -msgstr "Databasenavn" +#: ../../mod/rmagic.php:40 +msgid "The error message was:" +msgstr "Feilmeldingen var:" -#: ../../mod/setup.php:320 -msgid "Database Type" -msgstr "Databasetype" +#: ../../mod/rmagic.php:44 +msgid "Authentication failed." +msgstr "Autentisering mislyktes." -#: ../../mod/setup.php:322 ../../mod/setup.php:363 -msgid "Site administrator email address" -msgstr "E-postadressen til administrator ved nettstedet" +#: ../../mod/rmagic.php:84 +msgid "Remote Authentication" +msgstr "Fjernautentisering" -#: ../../mod/setup.php:322 ../../mod/setup.php:363 -msgid "" -"Your account email address must match this in order to use the web admin " -"panel." -msgstr "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet." +#: ../../mod/rmagic.php:85 +msgid "Enter your channel address (e.g. channel@example.com)" +msgstr "Skriv din kanaladresse (for eksempel channel@exampel.com)" -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Website URL" -msgstr "Nettstedets URL" +#: ../../mod/rmagic.php:86 +msgid "Authenticate" +msgstr "Autentiser" -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Please use SSL (https) URL if available." -msgstr "Vennligst bruk SSL (https) URL hvis tilgjengelig." +#: ../../mod/chat.php:174 +msgid "Room not found" +msgstr "Rommet ble ikke funnet" -#: ../../mod/setup.php:325 ../../mod/setup.php:367 -msgid "Please select a default timezone for your website" -msgstr "Vennligst velg en standard tidssone for ditt nettsted" +#: ../../mod/chat.php:185 +msgid "Leave Room" +msgstr "Forlat rom" -#: ../../mod/setup.php:352 -msgid "Site settings" -msgstr "Nettstedets innstillinger" +#: ../../mod/chat.php:186 +msgid "Delete This Room" +msgstr "Slett dette rommet" -#: ../../mod/setup.php:417 -msgid "Could not find a command line version of PHP in the web server PATH." -msgstr "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH)." +#: ../../mod/chat.php:187 +msgid "I am away right now" +msgstr "Jeg er borte akkurat nå" -#: ../../mod/setup.php:418 -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 "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron." +#: ../../mod/chat.php:188 +msgid "I am online" +msgstr "Jeg er online" -#: ../../mod/setup.php:422 -msgid "PHP executable path" -msgstr "PHP-kjørefilens sti" +#: ../../mod/chat.php:190 +msgid "Bookmark this room" +msgstr "Bokmerk dette rommet" -#: ../../mod/setup.php:422 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." -msgstr "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen." +#: ../../mod/chat.php:208 ../../mod/chat.php:231 +msgid "New Chatroom" +msgstr "Nytt chatrom" -#: ../../mod/setup.php:427 -msgid "Command line PHP" -msgstr "Kommandolinje PHP" +#: ../../mod/chat.php:209 +msgid "Chatroom Name" +msgstr "Navn på chatrom" -#: ../../mod/setup.php:436 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." -msgstr "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd." +#: ../../mod/chat.php:210 +msgid "Expiration of chats (minutes)" +msgstr "Chat utgår (antall minutter)" -#: ../../mod/setup.php:437 -msgid "This is required for message delivery to work." -msgstr "Dette er påkrevd for at meldingslevering skal virke." +#: ../../mod/chat.php:227 +#, php-format +msgid "%1$s's Chatrooms" +msgstr "%1$s sine chatrom" -#: ../../mod/setup.php:440 -msgid "PHP register_argc_argv" -msgstr "PHP register_argc_argv" +#: ../../mod/viewsrc.php:40 +msgid "Source of Item" +msgstr "Kilde til element" -#: ../../mod/setup.php:458 -#, 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 "Den største totale opplastingsstørrelsen du er tillatt er satt til %s. Filstørrelsen på en enkelt fil er satt til å maksimalt være %s. Du har lov til å laste opp inntil %d filer samtidig." +#: ../../mod/ffsapi.php:8 +msgid "Share content from Firefox to $Projectname" +msgstr "Del innhold fra Firefox til $Projectname" -#: ../../mod/setup.php:463 -msgid "You can adjust these settings in the servers php.ini." -msgstr "Du kan justere disse innstillingene i tjenerens php.ini." +#: ../../mod/ffsapi.php:11 +msgid "Activate the Firefox $Projectname provider" +msgstr "Skru på Firefox $Projectname tilbyderen" -#: ../../mod/setup.php:465 -msgid "PHP upload limits" -msgstr "PHP opplastingsgrenser" +#: ../../mod/magic.php:69 +msgid "Hub not found." +msgstr "Hubben ble ikke funnet." -#: ../../mod/setup.php:488 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" -msgstr "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler" +#: ../../mod/connections.php:52 ../../mod/connections.php:150 +msgid "Blocked" +msgstr "Blokkert" -#: ../../mod/setup.php:489 -msgid "" -"If running under Windows, please see " -"\"http://www.php.net/manual/en/openssl.installation.php\"." -msgstr "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\"." +#: ../../mod/connections.php:57 ../../mod/connections.php:157 +msgid "Ignored" +msgstr "Ignorert" -#: ../../mod/setup.php:492 -msgid "Generate encryption keys" -msgstr "Lag krypteringsnøkler" +#: ../../mod/connections.php:62 ../../mod/connections.php:171 +msgid "Hidden" +msgstr "Skjult" -#: ../../mod/setup.php:504 -msgid "libCurl PHP module" -msgstr "libCurl PHP-modul" +#: ../../mod/connections.php:67 ../../mod/connections.php:164 +msgid "Archived" +msgstr "Arkivert" -#: ../../mod/setup.php:505 -msgid "GD graphics PHP module" -msgstr "GD graphics PHP-modul" +#: ../../mod/connections.php:128 +msgid "Suggest new connections" +msgstr "Foreslå nye forbindelser" -#: ../../mod/setup.php:506 -msgid "OpenSSL PHP module" -msgstr "OpenSSL PHP-modul" +#: ../../mod/connections.php:131 +msgid "New Connections" +msgstr "Nye forbindelser" -#: ../../mod/setup.php:507 -msgid "mysqli or postgres PHP module" -msgstr "MySQLi eller Postgres PHP modul" +#: ../../mod/connections.php:134 +msgid "Show pending (new) connections" +msgstr "Vis ventende (nye) forbindelser" -#: ../../mod/setup.php:508 -msgid "mb_string PHP module" -msgstr "mb_string PHP-modul" +#: ../../mod/connections.php:137 ../../mod/profperm.php:139 +msgid "All Connections" +msgstr "Alle forbindelser" -#: ../../mod/setup.php:509 -msgid "mcrypt PHP module" -msgstr "mcrypt PHP-modul" +#: ../../mod/connections.php:140 +msgid "Show all connections" +msgstr "Vis alle forbindelser" -#: ../../mod/setup.php:510 -msgid "xml PHP module" -msgstr "XML PHP modul" +#: ../../mod/connections.php:143 +msgid "Unblocked" +msgstr "Ikke blokkert lenger" -#: ../../mod/setup.php:514 ../../mod/setup.php:516 -msgid "Apache mod_rewrite module" -msgstr "Apache mod_rewrite-modul" +#: ../../mod/connections.php:146 +msgid "Only show unblocked connections" +msgstr "Vis bare forbindelser som ikke er blokkert" -#: ../../mod/setup.php:514 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." -msgstr "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert." +#: ../../mod/connections.php:153 +msgid "Only show blocked connections" +msgstr "Vis bare forbindelser som er blokkert" -#: ../../mod/setup.php:520 ../../mod/setup.php:523 -msgid "proc_open" -msgstr "proc_open" +#: ../../mod/connections.php:160 +msgid "Only show ignored connections" +msgstr "Vis bare ignorerte forbindelser" -#: ../../mod/setup.php:520 -msgid "" -"Error: proc_open is required but is either not installed or has been " -"disabled in php.ini" -msgstr "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini" +#: ../../mod/connections.php:167 +msgid "Only show archived connections" +msgstr "Vis bare arkiverte forbindelser" -#: ../../mod/setup.php:528 -msgid "Error: libCURL PHP module required but not installed." -msgstr "Feil: libCURL PHP-modul er påkrevd, men er ikke installert." +#: ../../mod/connections.php:174 +msgid "Only show hidden connections" +msgstr "Vis bare skjulte forbindelser" -#: ../../mod/setup.php:532 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." -msgstr "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert." +#: ../../mod/connections.php:225 +#, php-format +msgid "%1$s [%2$s]" +msgstr "%1$s [%2$s]" -#: ../../mod/setup.php:536 -msgid "Error: openssl PHP module required but not installed." -msgstr "Feil: openssl PHP-modul er påkrevd, men er ikke installert." +#: ../../mod/connections.php:226 +msgid "Edit connection" +msgstr "Endre forbindelse" -#: ../../mod/setup.php:540 -msgid "" -"Error: mysqli or postgres PHP module required but neither are installed." -msgstr "Feil: mysqli eller postgres PHP modul er påkrevd, men ingen av dem er installert." +#: ../../mod/connections.php:264 +msgid "Search your connections" +msgstr "Søk blant dine forbindelser" -#: ../../mod/setup.php:544 -msgid "Error: mb_string PHP module required but not installed." -msgstr "Feil: mb_string PHP-modul er påkrevd, men er ikke installert." +#: ../../mod/connections.php:265 +msgid "Finding: " +msgstr "Fant:" -#: ../../mod/setup.php:548 -msgid "Error: mcrypt PHP module required but not installed." -msgstr "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert." +#: ../../mod/help.php:147 +msgid "Documentation Search" +msgstr "Søk i dokumentasjon" -#: ../../mod/setup.php:552 -msgid "Error: xml PHP module required for DAV but not installed." -msgstr "Feil: XML PHP modul er påkrevet for DAV, men den er ikke installert." +#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 +msgid "Help:" +msgstr "Hjelp:" -#: ../../mod/setup.php:570 -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 "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til." +#: ../../mod/help.php:211 ../../index.php:238 +msgid "Not Found" +msgstr "Ikke funnet" -#: ../../mod/setup.php:571 -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 "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan." +#: ../../mod/help.php:235 +msgid "$Projectname Documentation" +msgstr "$Projectname dokumentasjon" -#: ../../mod/setup.php:572 -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 "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red." +#: ../../mod/manage.php:130 +#, php-format +msgid "You have created %1$.0f of %2$.0f allowed channels." +msgstr "Du har laget %1$.0f av %2$.0f tillatte kanaler." -#: ../../mod/setup.php:573 -msgid "" -"You can alternatively skip this procedure and perform a manual installation." -" Please see the file \"install/INSTALL.txt\" for instructions." -msgstr "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner." +#: ../../mod/manage.php:138 +msgid "Create a new channel" +msgstr "Lag en ny kanal" -#: ../../mod/setup.php:576 -msgid ".htconfig.php is writable" -msgstr ".htconfig.php kan skrives til" +#: ../../mod/manage.php:161 +msgid "Current Channel" +msgstr "Gjeldende kanal" -#: ../../mod/setup.php:590 -msgid "" -"Red uses the Smarty3 template engine to render its web views. Smarty3 " -"compiles templates to PHP to speed up rendering." -msgstr "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen." +#: ../../mod/manage.php:163 +msgid "Switch to one of your channels by selecting it." +msgstr "Bytt til en av dine kanaler ved å velge den." -#: ../../mod/setup.php:591 -#, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the Red top level folder." -msgstr "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe." +#: ../../mod/manage.php:164 +msgid "Default Channel" +msgstr "Standardkanal" -#: ../../mod/setup.php:592 ../../mod/setup.php:613 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has" -" write access to this folder." -msgstr "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen." +#: ../../mod/manage.php:165 +msgid "Make Default" +msgstr "Gjør til standard" -#: ../../mod/setup.php:593 +#: ../../mod/manage.php:168 #, 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 "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder." +msgid "%d new messages" +msgstr "%d nye meldinger" -#: ../../mod/setup.php:596 +#: ../../mod/manage.php:169 #, php-format -msgid "%s is writable" -msgstr "%s kan skrives til" +msgid "%d new introductions" +msgstr "%d nye introduksjoner" -#: ../../mod/setup.php:612 -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 "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe." +#: ../../mod/manage.php:171 +msgid "Delegated Channels" +msgstr "Delegerte kanaler" -#: ../../mod/setup.php:616 -msgid "store is writable" -msgstr "lageret kan skrives til" +#: ../../mod/menu.php:45 +msgid "Unable to update menu." +msgstr "Ikke i stand til å oppdatere meny." -#: ../../mod/setup.php:649 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access" -" to this site." -msgstr "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet." +#: ../../mod/menu.php:56 +msgid "Unable to create menu." +msgstr "Ikke i stand til å lage meny." -#: ../../mod/setup.php:650 -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 "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!" +#: ../../mod/menu.php:94 ../../mod/menu.php:106 +msgid "Menu Name" +msgstr "Menynavn" -#: ../../mod/setup.php:651 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." -msgstr "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub." +#: ../../mod/menu.php:94 +msgid "Unique name (not visible on webpage) - required" +msgstr "Unikt navn (ikke synlig på websiden) - påkrevet" -#: ../../mod/setup.php:652 -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 "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer." +#: ../../mod/menu.php:95 ../../mod/menu.php:107 +msgid "Menu Title" +msgstr "Menytittel" -#: ../../mod/setup.php:653 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." -msgstr "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet." +#: ../../mod/menu.php:95 +msgid "Visible on webpage - leave empty for no title" +msgstr "Synlig på websiden - la stå tomt for ingen tittel" -#: ../../mod/setup.php:654 -msgid "" -"Providers are available that issue free certificates which are browser-" -"valid." -msgstr "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere." +#: ../../mod/menu.php:96 +msgid "Allow Bookmarks" +msgstr "Tillat bokmerker" -#: ../../mod/setup.php:656 -msgid "SSL certificate validation" -msgstr "SSL sertifikat-kontroll" +#: ../../mod/menu.php:96 ../../mod/menu.php:153 +msgid "Menu may be used to store saved bookmarks" +msgstr "Menyen kan brukes til å lagre lagrede bokmerker" -#: ../../mod/setup.php:662 -msgid "" -"Url rewrite in .htaccess is not working. Check your server " -"configuration.Test: " -msgstr "URL omskriving (rewrite) i .htaccess virker ikke. Sjekk konfigurasjonen til tjeneren din. Test:" +#: ../../mod/menu.php:97 ../../mod/menu.php:155 +msgid "Submit and proceed" +msgstr "Send inn og fortsett" -#: ../../mod/setup.php:665 -msgid "Url rewrite is working" -msgstr "URL rewrite virker" +#: ../../mod/menu.php:109 +msgid "Drop" +msgstr "Slett" -#: ../../mod/setup.php:674 -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 "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener." +#: ../../mod/menu.php:113 +msgid "Bookmarks allowed" +msgstr "Bokmerker tillatt" -#: ../../mod/setup.php:698 -msgid "Errors encountered creating database tables." -msgstr "Feil oppstod under opprettelsen av databasetabeller." +#: ../../mod/menu.php:115 +msgid "Delete this menu" +msgstr "Slett denne menyen" -#: ../../mod/setup.php:732 -msgid "<h1>What next</h1>" -msgstr "<h1>Hva gjenstår</h1>" +#: ../../mod/menu.php:116 ../../mod/menu.php:150 +msgid "Edit menu contents" +msgstr "Endre menyinnholdet" -#: ../../mod/setup.php:733 +#: ../../mod/menu.php:117 +msgid "Edit this menu" +msgstr "Endre denne menyen" + +#: ../../mod/menu.php:132 +msgid "Menu could not be deleted." +msgstr "Menyen kunne ikke bli slettet." + +#: ../../mod/menu.php:140 ../../mod/mitem.php:24 +msgid "Menu not found." +msgstr "Menyen ble ikke funnet." + +#: ../../mod/menu.php:145 +msgid "Edit Menu" +msgstr "Endre meny" + +#: ../../mod/menu.php:149 +msgid "Add or remove entries to this menu" +msgstr "Legg til eller fjern punkter i denne menyen" + +#: ../../mod/menu.php:151 +msgid "Menu name" +msgstr "Menynavn" + +#: ../../mod/menu.php:151 +msgid "Must be unique, only seen by you" +msgstr "Må være unik, ses bare av deg" + +#: ../../mod/menu.php:152 +msgid "Menu title" +msgstr "Menytittel" + +#: ../../mod/menu.php:152 +msgid "Menu title as seen by others" +msgstr "Menytittelen andre ser" + +#: ../../mod/menu.php:153 +msgid "Allow bookmarks" +msgstr "Tillat bokmerker" + +#: ../../mod/post.php:234 msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the " -"poller." -msgstr "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren." +"Remote authentication blocked. You are logged into this site locally. Please" +" logout and retry." +msgstr "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt." -#: ../../mod/sharedwithme.php:94 -msgid "Files: shared with me" -msgstr "Filer: delt med meg" +#: ../../mod/service_limits.php:19 +msgid "No service class restrictions found." +msgstr "Ingen restriksjoner er funnet i tjenesteklasse." -#: ../../mod/sharedwithme.php:96 -msgid "NEW" -msgstr "NY" +#: ../../mod/siteinfo.php:111 +#, php-format +msgid "Version %s" +msgstr "Versjon %s" -#: ../../mod/sharedwithme.php:99 -msgid "Remove all files" -msgstr "Fjern alle filer" +#: ../../mod/siteinfo.php:132 +msgid "Installed plugins/addons/apps:" +msgstr "Installerte tilleggsfunksjoner/tillegg/apper:" -#: ../../mod/sharedwithme.php:100 -msgid "Remove this file" -msgstr "Fjern denne filen" +#: ../../mod/siteinfo.php:145 +msgid "No installed plugins/addons/apps" +msgstr "Ingen installerte tilleggsfunksjoner/tillegg/apper" -#: ../../mod/suggest.php:35 +#: ../../mod/siteinfo.php:158 msgid "" -"No suggestions available. If this is a new site, please try again in 24 " -"hours." -msgstr "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer." +"This is a hub of $Projectname - a global cooperative network of " +"decentralized privacy enhanced websites." +msgstr "Dette er en $Projectname-hub - et globalt samhandlende nettverk av desentraliserte nettsteder med innbygget personvern." -#: ../../mod/profiles.php:18 ../../mod/profiles.php:174 -#: ../../mod/profiles.php:231 ../../mod/profiles.php:600 -msgid "Profile not found." -msgstr "Profilen ble ikke funnet." +#: ../../mod/siteinfo.php:160 +msgid "Tag: " +msgstr "Merkelapp:" -#: ../../mod/profiles.php:38 -msgid "Profile deleted." -msgstr "Profilen er slettet." +#: ../../mod/siteinfo.php:162 +msgid "Last background fetch: " +msgstr "Siste innhenting i bakgrunnen:" -#: ../../mod/profiles.php:56 ../../mod/profiles.php:92 -msgid "Profile-" -msgstr "Profil-" +#: ../../mod/siteinfo.php:164 +msgid "Current load average: " +msgstr "Gjeldende belastningsgjennomsnitt:" -#: ../../mod/profiles.php:77 ../../mod/profiles.php:120 -msgid "New profile created." -msgstr "Ny profil opprettet." +#: ../../mod/siteinfo.php:167 +msgid "Running at web location" +msgstr "Kjører på webplasseringen" -#: ../../mod/profiles.php:98 -msgid "Profile unavailable to clone." -msgstr "Profilen er utilgjengelig for klonen." +#: ../../mod/siteinfo.php:168 +msgid "" +"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more " +"about $Projectname." +msgstr "Vennligst besøk <a href=\"http://hubzilla.org\">hubzilla.org</a> for å lære mer om $Projectname." -#: ../../mod/profiles.php:136 -msgid "Profile unavailable to export." -msgstr "Profilen er utilgjengelig for eksport." +#: ../../mod/siteinfo.php:169 +msgid "Bug reports and issues: please visit" +msgstr "Feilmeldinger og feilretting: vennligst besøk" -#: ../../mod/profiles.php:241 -msgid "Profile Name is required." -msgstr "Profilnavn er påkrevd." +#: ../../mod/siteinfo.php:171 +msgid "$projectname issues" +msgstr "$projectname problemer" -#: ../../mod/profiles.php:404 -msgid "Marital Status" -msgstr "Sivilstand" +#: ../../mod/siteinfo.php:172 +msgid "" +"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot " +"com" +msgstr "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com" -#: ../../mod/profiles.php:408 -msgid "Romantic Partner" -msgstr "Romantisk partner" +#: ../../mod/siteinfo.php:174 +msgid "Site Administrators" +msgstr "Nettstedsadministratorer" -#: ../../mod/profiles.php:412 -msgid "Likes" -msgstr "Liker" +#: ../../mod/suggest.php:35 +msgid "" +"No suggestions available. If this is a new site, please try again in 24 " +"hours." +msgstr "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer." -#: ../../mod/profiles.php:416 -msgid "Dislikes" -msgstr "Liker ikke" +#: ../../mod/events.php:21 +msgid "Calendar entries imported." +msgstr "Kalenderhendelsene er importert." -#: ../../mod/profiles.php:420 -msgid "Work/Employment" -msgstr "Arbeid/sysselsetting" +#: ../../mod/events.php:23 +msgid "No calendar entries found." +msgstr "Ingen kalenderhendelser funnet." -#: ../../mod/profiles.php:423 -msgid "Religion" -msgstr "Religion" +#: ../../mod/events.php:100 +msgid "Event can not end before it has started." +msgstr "Hendelsen kan ikke slutte før den starter." -#: ../../mod/profiles.php:427 -msgid "Political Views" -msgstr "Politiske synspunkter" +#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131 +msgid "Unable to generate preview." +msgstr "Klarer ikke å lage forhåndsvisning." -#: ../../mod/profiles.php:435 -msgid "Sexual Preference" -msgstr "Seksuelle preferanser" +#: ../../mod/events.php:109 +msgid "Event title and start time are required." +msgstr "Hendelsestittel og starttidspunkt er påkrevd." -#: ../../mod/profiles.php:439 -msgid "Homepage" -msgstr "Hjemmeside" +#: ../../mod/events.php:129 ../../mod/events.php:254 +msgid "Event not found." +msgstr "Hendelsen ble ikke funnet." -#: ../../mod/profiles.php:443 -msgid "Interests" -msgstr "Interesser" +#: ../../mod/events.php:452 +msgid "Event Title" +msgstr "Hendelsestittel" -#: ../../mod/profiles.php:537 -msgid "Profile updated." -msgstr "Profilen er oppdatert." +#: ../../mod/events.php:454 +msgid "Categories (comma-separated list)" +msgstr "Kategorier (kommaseparert liste)" -#: ../../mod/profiles.php:626 -msgid "Hide your contact/friend list from viewers of this profile?" -msgstr "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?" +#: ../../mod/events.php:455 +msgid "Category" +msgstr "Kategori" -#: ../../mod/profiles.php:666 -msgid "Edit Profile Details" -msgstr "Endre profildetaljer" +#: ../../mod/events.php:458 +msgid "Start date and time" +msgstr "Startdato og tidspunkt" -#: ../../mod/profiles.php:668 -msgid "View this profile" -msgstr "Vis denne profilen" +#: ../../mod/events.php:459 ../../mod/events.php:462 +msgid "Finish date and time are not known or not relevant" +msgstr "Sluttdato og tidspunkt er ikke kjent eller ikke relevant" -#: ../../mod/profiles.php:670 -msgid "Change Profile Photo" -msgstr "Endre profilbilde" +#: ../../mod/events.php:461 +msgid "Finish date and time" +msgstr "Sluttdato og tidspunkt" -#: ../../mod/profiles.php:671 -msgid "Create a new profile using these settings" -msgstr "Lag en ny profil ved å bruke disse innstillingene" +#: ../../mod/events.php:463 ../../mod/events.php:464 +msgid "Adjust for viewer timezone" +msgstr "Juster i forhold til tilskuerens tidssone" -#: ../../mod/profiles.php:672 -msgid "Clone this profile" -msgstr "Klon denne profilen" +#: ../../mod/events.php:463 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "Viktig for hendelser som skjer på et bestemt sted. Ikke praktisk for globale ferier eller fridager." -#: ../../mod/profiles.php:673 -msgid "Delete this profile" -msgstr "Slett denne profilen" +#: ../../mod/events.php:470 ../../mod/events.php:472 +msgid "Share this event" +msgstr "Del denne hendelsen" -#: ../../mod/profiles.php:675 -msgid "Import profile from file" -msgstr "Importer profil fra fil" +#: ../../mod/events.php:477 +msgid "Advanced Options" +msgstr "Avanserte alternativer" -#: ../../mod/profiles.php:676 -msgid "Export profile to file" -msgstr "Eksporter profil til fil" +#: ../../mod/events.php:589 +msgid "l, F j" +msgstr "l, F j" -#: ../../mod/profiles.php:677 -msgid "Profile Name:" -msgstr "Profilnavn:" +#: ../../mod/events.php:611 +msgid "Edit event" +msgstr "Endre hendelse" -#: ../../mod/profiles.php:678 -msgid "Your Full Name:" -msgstr "Ditt fulle navn:" +#: ../../mod/events.php:613 +msgid "Delete event" +msgstr "Slett hendelse" -#: ../../mod/profiles.php:679 -msgid "Title/Description:" -msgstr "Tittel/Beskrivelse:" +#: ../../mod/events.php:647 +msgid "calendar" +msgstr "kalender" -#: ../../mod/profiles.php:680 -msgid "Your Gender:" -msgstr "Ditt kjønn:" +#: ../../mod/events.php:666 +msgid "New Event" +msgstr "Ny hendelse" -#: ../../mod/profiles.php:681 -msgid "Birthday :" -msgstr "Fødselsdag:" +#: ../../mod/events.php:676 +msgid "Today" +msgstr "Idag" -#: ../../mod/profiles.php:682 -msgid "Street Address:" -msgstr "Gateadresse:" +#: ../../mod/events.php:707 +msgid "Event removed" +msgstr "Hendelse slettet" -#: ../../mod/profiles.php:683 -msgid "Locality/City:" -msgstr "Sted/By:" +#: ../../mod/events.php:710 +msgid "Failed to remove event" +msgstr "Mislyktes med å slette hendelse" -#: ../../mod/profiles.php:684 -msgid "Postal/Zip Code:" -msgstr "Postnummer/ZIP-kode:" +#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 +msgid "Invalid profile identifier." +msgstr "Ugyldig profil-identifikator." -#: ../../mod/profiles.php:685 -msgid "Country:" -msgstr "Land:" +#: ../../mod/profperm.php:110 +msgid "Profile Visibility Editor" +msgstr "Endre profilsynlighet" -#: ../../mod/profiles.php:686 -msgid "Region/State:" -msgstr "Region/fylke:" +#: ../../mod/profperm.php:114 +msgid "Click on a contact to add or remove." +msgstr "Klikk på en kontakt for å legge til eller fjerne." -#: ../../mod/profiles.php:687 -msgid "<span class=\"heart\">♥</span> Marital Status:" -msgstr "<span class=\"heart\">♥</span> Sivilstand:" +#: ../../mod/profperm.php:123 +msgid "Visible To" +msgstr "Synlig for" -#: ../../mod/profiles.php:688 -msgid "Who: (if applicable)" -msgstr "Hvem: (hvis det er aktuelt) " +#: ../../mod/mitem.php:48 +msgid "Unable to create element." +msgstr "Klarer ikke å lage element." -#: ../../mod/profiles.php:689 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" -msgstr "Eksempler: kari123, Kari Villiamsen, kari@example.com" +#: ../../mod/mitem.php:72 +msgid "Unable to update menu element." +msgstr "Ikke i stand til å oppdatere menyelement." -#: ../../mod/profiles.php:690 -msgid "Since [date]:" -msgstr "Siden [dato]:" +#: ../../mod/mitem.php:88 +msgid "Unable to add menu element." +msgstr "Ikke i stand til å legge til menyelement." -#: ../../mod/profiles.php:692 -msgid "Homepage URL:" -msgstr "Hjemmeside URL:" +#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 +msgid "Menu Item Permissions" +msgstr "Menyelement Tillatelser" -#: ../../mod/profiles.php:695 -msgid "Religious Views:" -msgstr "Religiøse synspunkter:" +#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 +msgid "Link Name" +msgstr "Lenkenavn" -#: ../../mod/profiles.php:696 -msgid "Keywords:" -msgstr "Nøkkelord:" +#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 +msgid "Link or Submenu Target" +msgstr "Lenke- eller undermeny-mål" -#: ../../mod/profiles.php:699 -msgid "Example: fishing photography software" -msgstr "Eksempel: fisking fotografering programvare" +#: ../../mod/mitem.php:153 +msgid "Enter URL of the link or select a menu name to create a submenu" +msgstr "Skriv URL-en til lenken eller velg et menynavn for å lage en undermeny" -#: ../../mod/profiles.php:700 -msgid "Used in directory listings" -msgstr "Brukt i katalogoppføringer" +#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 +msgid "Use magic-auth if available" +msgstr "Bruk magic-autent hvis mulig" -#: ../../mod/profiles.php:701 -msgid "Tell us about yourself..." -msgstr "Fortell oss om deg selv..." +#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 +msgid "Open link in new window" +msgstr "Åpne lenke i nytt vindu" -#: ../../mod/profiles.php:702 -msgid "Hobbies/Interests" -msgstr "Hobbier/Interesser" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Order in list" +msgstr "Ordne i liste" -#: ../../mod/profiles.php:703 -msgid "Contact information and Social Networks" -msgstr "Kontaktinformasjon og sosiale nettverk" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Higher numbers will sink to bottom of listing" +msgstr "Høyere tall vil synke mot bunnen av listen" -#: ../../mod/profiles.php:704 -msgid "My other channels" -msgstr "Mine andre kanaler" +#: ../../mod/mitem.php:157 +msgid "Submit and finish" +msgstr "Send inn og avslutt" -#: ../../mod/profiles.php:705 -msgid "Musical interests" -msgstr "Musikkinteresser" +#: ../../mod/mitem.php:158 +msgid "Submit and continue" +msgstr "Send inn og fortsett" -#: ../../mod/profiles.php:706 -msgid "Books, literature" -msgstr "Bøker, litteratur" +#: ../../mod/mitem.php:166 +msgid "Menu:" +msgstr "Meny:" -#: ../../mod/profiles.php:707 -msgid "Television" -msgstr "TV/fjernsyn" +#: ../../mod/mitem.php:169 +msgid "Link Target" +msgstr "Lenkemål" -#: ../../mod/profiles.php:708 -msgid "Film/dance/culture/entertainment" -msgstr "Film/dans/kultur/underholdning" +#: ../../mod/mitem.php:172 +msgid "Edit menu" +msgstr "Endre meny" -#: ../../mod/profiles.php:709 -msgid "Love/romance" -msgstr "Kjærlighet/romantikk" +#: ../../mod/mitem.php:175 +msgid "Edit element" +msgstr "Endre element" -#: ../../mod/profiles.php:710 -msgid "Work/employment" -msgstr "Arbeid/sysselsetting" +#: ../../mod/mitem.php:176 +msgid "Drop element" +msgstr "Slett element" -#: ../../mod/profiles.php:711 -msgid "School/education" -msgstr "Skole/utdanning" +#: ../../mod/mitem.php:177 +msgid "New element" +msgstr "Nytt element" -#: ../../mod/profiles.php:717 -msgid "This is your default profile." -msgstr "Dette er din standardprofil." +#: ../../mod/mitem.php:178 +msgid "Edit this menu container" +msgstr "Endre denne menybeholderen" -#: ../../mod/profiles.php:728 -msgid "Age: " -msgstr "Alder:" +#: ../../mod/mitem.php:179 +msgid "Add menu element" +msgstr "Legg til menyelement" -#: ../../mod/profiles.php:771 -msgid "Edit/Manage Profiles" -msgstr "Endre/håndter profiler" +#: ../../mod/mitem.php:180 +msgid "Delete this menu item" +msgstr "Slett dette menyelementet" -#: ../../mod/profiles.php:772 -msgid "Add profile things" -msgstr "Legg til profilting" +#: ../../mod/mitem.php:181 +msgid "Edit this menu item" +msgstr "Endre dette menyelementet" -#: ../../mod/profiles.php:773 -msgid "Include desirable objects in your profile" -msgstr "Inkluder ønskverdige objekter i din profil" +#: ../../mod/mitem.php:198 +msgid "Menu item not found." +msgstr "Menyelement ble ikke funnet." -#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 -msgid "Invalid profile identifier." -msgstr "Ugyldig profil-identifikator." +#: ../../mod/mitem.php:211 +msgid "Menu item deleted." +msgstr "Menyelement slettet." -#: ../../mod/profperm.php:110 -msgid "Profile Visibility Editor" -msgstr "Endre profilsynlighet" +#: ../../mod/mitem.php:213 +msgid "Menu item could not be deleted." +msgstr "Menyelement kunne ikke bli slettet." -#: ../../mod/profperm.php:114 -msgid "Click on a contact to add or remove." -msgstr "Klikk på en kontakt for å legge til eller fjerne." +#: ../../mod/mitem.php:220 +msgid "Edit Menu Element" +msgstr "Endre menyelement" -#: ../../mod/profperm.php:123 -msgid "Visible To" -msgstr "Synlig for" +#: ../../mod/mitem.php:226 +msgid "Link text" +msgstr "Lenketekst" -#: ../../mod/rbmark.php:88 -msgid "Select a bookmark folder" -msgstr "Velg en bokmerkemappe" +#: ../../mod/wholikesme.php:13 +msgid "Who likes me?" +msgstr "Hvem liker meg?" -#: ../../mod/rbmark.php:93 -msgid "Save Bookmark" -msgstr "Lagre bokmerke" +#: ../../mod/sharedwithme.php:94 +msgid "Files: shared with me" +msgstr "Filer: delt med meg" -#: ../../mod/rbmark.php:94 -msgid "URL of bookmark" -msgstr "URL-en til bokmerket" +#: ../../mod/sharedwithme.php:96 +msgid "NEW" +msgstr "NY" -#: ../../mod/rbmark.php:99 -msgid "Or enter new bookmark folder name" -msgstr "Eller skriv nytt navn på bokmerkemappe" +#: ../../mod/sharedwithme.php:99 +msgid "Remove all files" +msgstr "Fjern alle filer" -#: ../../mod/import_items.php:101 -msgid "Import completed" -msgstr "Import ferdig" +#: ../../mod/sharedwithme.php:100 +msgid "Remove this file" +msgstr "Fjern denne filen" -#: ../../mod/import_items.php:119 -msgid "Import Items" -msgstr "Importer elementer" +#: ../../mod/viewconnections.php:59 +msgid "No connections." +msgstr "Ingen forbindelser." -#: ../../mod/import_items.php:120 -msgid "" -"Use this form to import existing posts and content from an export file." -msgstr "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil." +#: ../../mod/viewconnections.php:72 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "Besøk %s sin profil [%s]" #: ../../view/theme/redbasic/php/config.php:82 msgid "Focus (Hubzilla default)" @@ -9129,51 +9288,51 @@ msgstr "Angi størrelsen for samtalens forfatterbilde" msgid "Set size of followup author photos" msgstr "Angi størrelsen på forfatterbilder ved oppfølging" -#: ../../boot.php:1302 +#: ../../boot.php:1291 #, php-format msgid "Update %s failed. See error logs." msgstr "Oppdatering %s mislyktes. Se feilloggen." -#: ../../boot.php:1305 +#: ../../boot.php:1294 #, php-format msgid "Update Error at %s" msgstr "Oppdateringsfeil ved %s" -#: ../../boot.php:1472 +#: ../../boot.php:1461 msgid "" "Create an account to access services and applications within the Hubzilla" msgstr "Lag en konto for å få tilgang til tjenester og programmer i Hubzilla" -#: ../../boot.php:1500 +#: ../../boot.php:1489 msgid "Password" msgstr "Passord" -#: ../../boot.php:1501 +#: ../../boot.php:1490 msgid "Remember me" msgstr "Husk meg" -#: ../../boot.php:1504 +#: ../../boot.php:1493 msgid "Forgot your password?" msgstr "Glemt passordet ditt?" -#: ../../boot.php:2130 +#: ../../boot.php:2113 msgid "toggle mobile" msgstr "Skru på mobil" -#: ../../boot.php:2265 +#: ../../boot.php:2248 msgid "Website SSL certificate is not valid. Please correct." msgstr "Nettstedets SSL-sertifikat er ikke gyldig. Vennligst fiks dette." -#: ../../boot.php:2268 +#: ../../boot.php:2251 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "[hubzilla] SSL-feil ved nettsted hos %s" -#: ../../boot.php:2305 +#: ../../boot.php:2288 msgid "Cron/Scheduled tasks not running." msgstr "Cron/planlagte oppgaver kjører ikke." -#: ../../boot.php:2309 +#: ../../boot.php:2292 #, php-format msgid "[hubzilla] Cron tasks not running on %s" msgstr "[hubzilla] Cron-oppgaver kjører ikke på %s" diff --git a/view/nb-no/hstrings.php b/view/nb-no/hstrings.php index ab6767cb7..5aa368cb0 100644 --- a/view/nb-no/hstrings.php +++ b/view/nb-no/hstrings.php @@ -5,9 +5,20 @@ function string_plural_select_nb_no($n){ return ($n != 1);; }} ; -$a->strings["No username found in import file."] = "Ingen brukernavn ble funnet i importfilen."; +$a->strings["Connect"] = "Koble"; +$a->strings["New window"] = "Nytt vindu"; +$a->strings["Open the selected location in a different window or browser tab"] = "Åpne det valgte stedet i et annet vindu eller nettleser-fane"; +$a->strings["User '%s' deleted"] = "Brukeren '%s' er slettet"; +$a->strings["Missing room name"] = "Mangler romnavn"; +$a->strings["Duplicate room name"] = "Duplikat romnavn"; +$a->strings["Invalid room specifier."] = "Ugyldig rom-spesifisering"; +$a->strings["Room not found."] = "Rommet ble ikke funnet."; +$a->strings["Permission denied."] = "Tillatelse avslått."; +$a->strings["Room is full"] = "Rommet er fullt"; +$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes."; $a->strings["Unable to create a unique channel address. Import failed."] = "Klarte ikke å lage en unik kanaladresse. Import mislyktes."; -$a->strings["Import completed."] = "Import ferdig."; +$a->strings["Channel clone failed. Import failed."] = "Kanalkloning mislyktes. Import mislyktes."; +$a->strings["Cloned channel not found. Import failed."] = "Klonet kanal ble ikke funnet. Import mislyktes."; $a->strings["parent"] = "opp et nivå"; $a->strings["Collection"] = "Samling"; $a->strings["Principal"] = "Viktigste"; @@ -16,8 +27,6 @@ $a->strings["Calendar"] = "Kalender"; $a->strings["Schedule Inbox"] = "Tidsplan innboks"; $a->strings["Schedule Outbox"] = "Tidsplan utboks"; $a->strings["Unknown"] = "Ukjent"; -$a->strings["%1\$s used"] = "%1\$s brukt"; -$a->strings["%1\$s used of %2\$s (%3\$s%)"] = "%1\$s brukt av %2\$s (%3\$s%)"; $a->strings["Files"] = "Filer"; $a->strings["Total"] = "Totalt"; $a->strings["Shared"] = "Delt"; @@ -29,130 +38,11 @@ $a->strings["Size"] = "Størrelse"; $a->strings["Last Modified"] = "Sist endret"; $a->strings["Edit"] = "Endre"; $a->strings["Delete"] = "Slett"; +$a->strings["You are using %1\$s of your available file storage."] = "Du bruker %1\$s av din tilgjengelige lagringsplass."; +$a->strings["You are using %1\$s of %2\$s available file storage. (%3\$s%)"] = "Du bruker %1\$s av %2\$s tilgjengelig lagringsplass (%3\$s%)"; +$a->strings["WARNING:"] = "ADVARSEL:"; $a->strings["Create new folder"] = "Lag ny mappe"; $a->strings["Upload file"] = "Last opp fil"; -$a->strings["Can view my normal stream and posts"] = "Kan se min normale strøm og innlegg"; -$a->strings["Can view my default channel profile"] = "Kan se min standard kanalprofil"; -$a->strings["Can view my connections"] = "Kan se mine forbindelser"; -$a->strings["Can view my file storage and photos"] = "Kan se mine filer og bilder"; -$a->strings["Can view my webpages"] = "Kan se mine websider"; -$a->strings["Can send me their channel stream and posts"] = "Kan sende meg deres kanalstrøm og innlegg"; -$a->strings["Can post on my channel page (\"wall\")"] = "Kan lage innlegg på min kanalside (\"vegg\")"; -$a->strings["Can comment on or like my posts"] = "Kan kommentere på eller like mine innlegg"; -$a->strings["Can send me private mail messages"] = "Kan sende meg private meldinger"; -$a->strings["Can like/dislike stuff"] = "Kan like/ikke like forskjellige greier"; -$a->strings["Profiles and things other than posts/comments"] = "Profiler og andre ting enn innlegg/kommentarer"; -$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan videresende til alle mine kanalkontakter via @navn i innlegg"; -$a->strings["Advanced - useful for creating group forum channels"] = "Avansert - nyttig for å lage forumkanaler for grupper"; -$a->strings["Can chat with me (when available)"] = "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)"; -$a->strings["Can write to my file storage and photos"] = "Kan skrive til mitt lager for filer og bilder"; -$a->strings["Can edit my webpages"] = "Kan endre mine websider"; -$a->strings["Can source my public posts in derived channels"] = "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler"; -$a->strings["Somewhat advanced - very useful in open communities"] = "Litt avansert - svært nyttig i åpne fellesskap"; -$a->strings["Can administer my channel resources"] = "Kan administrere mine kanalressurser"; -$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Ekstremt avansert. La dette være med mindre du vet hva du gjør"; -$a->strings["Social Networking"] = "Sosialt nettverk"; -$a->strings["Mostly Public"] = "Ganske offentlig"; -$a->strings["Restricted"] = "Begrenset"; -$a->strings["Private"] = "Privat"; -$a->strings["Community Forum"] = "Forum for fellesskap"; -$a->strings["Feed Republish"] = "Republisering av strømmet innhold"; -$a->strings["Special Purpose"] = "Spesiell bruk"; -$a->strings["Celebrity/Soapbox"] = "Kjendis/Talerstol"; -$a->strings["Group Repository"] = "Gruppelager"; -$a->strings["Other"] = "Annen"; -$a->strings["Custom/Expert Mode"] = "Tilpasset/Ekspertmodus"; -$a->strings["Missing room name"] = "Mangler romnavn"; -$a->strings["Duplicate room name"] = "Duplikat romnavn"; -$a->strings["Invalid room specifier."] = "Ugyldig rom-spesifisering"; -$a->strings["Room not found."] = "Rommet ble ikke funnet."; -$a->strings["Permission denied."] = "Tillatelse avslått."; -$a->strings["Room is full"] = "Rommet er fullt"; -$a->strings["Miscellaneous"] = "Forskjellig"; -$a->strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD eller MM-DD"; -$a->strings["Required"] = "Påkrevd"; -$a->strings["never"] = "aldri"; -$a->strings["less than a second ago"] = "for mindre enn ett sekund siden"; -$a->strings["year"] = "år"; -$a->strings["years"] = "år"; -$a->strings["month"] = "måned"; -$a->strings["months"] = "måneder"; -$a->strings["week"] = "uke"; -$a->strings["weeks"] = "uker"; -$a->strings["day"] = "dag"; -$a->strings["days"] = "dager"; -$a->strings["hour"] = "time"; -$a->strings["hours"] = "timer"; -$a->strings["minute"] = "minutt"; -$a->strings["minutes"] = "minutter"; -$a->strings["second"] = "sekund"; -$a->strings["seconds"] = "sekunder"; -$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s siden"; -$a->strings["%1\$s's birthday"] = "%1\$s sin fødselsdag"; -$a->strings["Happy Birthday %1\$s"] = "Gratulerer med dagen, %1\$s !"; -$a->strings["General Features"] = "Generelle funksjoner"; -$a->strings["Content Expiration"] = "Innholdet utløper"; -$a->strings["Remove posts/comments and/or private messages at a future time"] = "Fjern innlegg/kommentarer og/eller private meldinger på et angitt tidspunkt i fremtiden"; -$a->strings["Multiple Profiles"] = "Flere profiler"; -$a->strings["Ability to create multiple profiles"] = "Mulig å lage flere profiler"; -$a->strings["Advanced Profiles"] = "Avanserte profiler"; -$a->strings["Additional profile sections and selections"] = "Ytterlige seksjoner og utvalg til profilen"; -$a->strings["Profile Import/Export"] = "Profil-import/-eksport"; -$a->strings["Save and load profile details across sites/channels"] = "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler"; -$a->strings["Web Pages"] = "Web-sider"; -$a->strings["Provide managed web pages on your channel"] = "Tilby kontrollerte web-sider på din kanal"; -$a->strings["Private Notes"] = "Private merknader"; -$a->strings["Enables a tool to store notes and reminders"] = "Skrur på et verktøy for lagre merknader og påminnelser"; -$a->strings["Navigation Channel Select"] = "Navigasjon kanalvalg"; -$a->strings["Change channels directly from within the navigation dropdown menu"] = "Endre kanaler direkte fra navigasjonsmenyen"; -$a->strings["Photo Location"] = "Bildeplassering"; -$a->strings["If location data is available on uploaded photos, link this to a map."] = "Hvis plasseringsdata er tilgjengelige i opplastede bilder, plasser dette på et kart."; -$a->strings["Expert Mode"] = "Ekspertmodus"; -$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Skru på Ekspertmodus for å tilby avanserte konfigurasjonsvalg"; -$a->strings["Premium Channel"] = "Premiumkanal"; -$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal"; -$a->strings["Post Composition Features"] = "Funksjoner for å lage innlegg"; -$a->strings["Use Markdown"] = "Bruk Markdown"; -$a->strings["Allow use of \"Markdown\" to format posts"] = "Tillat bruk av \"Markdown\" til formatering av innlegg"; -$a->strings["Large Photos"] = "Store bilder"; -$a->strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Inkluder store (640px) miniatyrbilder i innlegg. Hvis denne ikke er skrudd på, bruk små (320px) miniatyrbilder."; -$a->strings["Channel Sources"] = "Kanalkilder"; -$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisk import av kanalinnhold fra andre kanaler eller strømmer"; -$a->strings["Even More Encryption"] = "Enda mer kryptering"; -$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel"; -$a->strings["Enable voting tools"] = "Skru på verktøy for å stemme"; -$a->strings["Provide a class of post which others can vote on"] = "Tilby en type innlegg som andre kan stemme på"; -$a->strings["Network and Stream Filtering"] = "Nettverk- og strømfiltrering"; -$a->strings["Search by Date"] = "Søk etter dato"; -$a->strings["Ability to select posts by date ranges"] = "Mulighet for å velge innlegg etter datoområde"; -$a->strings["Collections Filter"] = "Filter for samlinger"; -$a->strings["Enable widget to display Network posts only from selected collections"] = "Skru på miniprogram for å vise Nettverksinnlegg bare fra valgte samlinger"; -$a->strings["Saved Searches"] = "Lagrede søk"; -$a->strings["Save search terms for re-use"] = "Lagre søkeuttrykk for senere bruk"; -$a->strings["Network Personal Tab"] = "Nettverk personlig fane"; -$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i"; -$a->strings["Network New Tab"] = "Nettverk Ny fane"; -$a->strings["Enable tab to display all new Network activity"] = "Skru på fane for å vise all ny nettverksaktivitet"; -$a->strings["Affinity Tool"] = "Nærhetsverktøy"; -$a->strings["Filter stream activity by depth of relationships"] = "Filtrer strømaktiviteten etter releasjonsdybde"; -$a->strings["Connection Filtering"] = "Filtrer forbindelser"; -$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer innkommende innlegg fra forbindelser basert på nøkkelord/innhold"; -$a->strings["Suggest Channels"] = "Foreslå kanaler"; -$a->strings["Show channel suggestions"] = "Vis kanalforslag"; -$a->strings["Post/Comment Tools"] = "Innlegg-/Kommentar-verktøy"; -$a->strings["Tagging"] = "Merking"; -$a->strings["Ability to tag existing posts"] = "Mulighet til å merke eksisterende meldinger"; -$a->strings["Post Categories"] = "Innleggskategorier"; -$a->strings["Add categories to your posts"] = "Legg kategorier til dine innlegg"; -$a->strings["Saved Folders"] = "Lagrede mapper"; -$a->strings["Ability to file posts under folders"] = "Mulighet til å sortere innlegg i mapper"; -$a->strings["Dislike Posts"] = "Mislik innlegg"; -$a->strings["Ability to dislike posts/comments"] = "Mulighet til å mislike innlegg/kommentarer"; -$a->strings["Star Posts"] = "Stjerneinnlegg"; -$a->strings["Ability to mark special posts with a star indicator"] = "Mulighet til å merke spesielle innlegg med en stjerne"; -$a->strings["Tag Cloud"] = "Merkelappsky"; -$a->strings["Provide a personal tag cloud on your channel page"] = "Tilby en personlig merkelappsky på din kanalside"; -$a->strings["Default"] = "Standard"; $a->strings["Delete this item?"] = "Slett dette elementet?"; $a->strings["Comment"] = "Kommentar"; $a->strings["[+] show all"] = "[+] Vis alle"; @@ -173,6 +63,7 @@ $a->strings["Describe (optional)"] = "Beskriv (valgfritt)"; $a->strings["Submit"] = "Send"; $a->strings["Please enter a link URL"] = "Vennligst skriv inn en lenke URL:"; $a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Endringene er ikke lagret. Er du sikker på at du ønsker å forlate denne siden?"; +$a->strings["Location"] = "Plassering"; $a->strings["timeago.prefixAgo"] = "timeago.prefixAgo"; $a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow"; $a->strings["ago"] = "siden"; @@ -233,34 +124,376 @@ $a->strings["__ctx:calendar__ month"] = "måned"; $a->strings["__ctx:calendar__ week"] = "uke"; $a->strings["__ctx:calendar__ day"] = "dag"; $a->strings["__ctx:calendar__ All day"] = "Hele dagen"; -$a->strings["Frequently"] = "Ofte"; -$a->strings["Hourly"] = "Hver time"; -$a->strings["Twice daily"] = "To ganger daglig"; -$a->strings["Daily"] = "Daglig"; -$a->strings["Weekly"] = "Ukentlig"; -$a->strings["Monthly"] = "Månedlig"; -$a->strings["Friendica"] = "Friendica"; -$a->strings["OStatus"] = "OStatus"; -$a->strings["RSS/Atom"] = "RSS/Atom"; -$a->strings["Email"] = "E-post"; -$a->strings["Diaspora"] = "Diaspora"; -$a->strings["Facebook"] = "Facebook"; -$a->strings["Zot!"] = "Zot!"; -$a->strings["LinkedIn"] = "LinkedIn"; -$a->strings["XMPP/IM"] = "XMPP/IM"; -$a->strings["MySpace"] = "MySpace"; +$a->strings["No username found in import file."] = "Ingen brukernavn ble funnet i importfilen."; +$a->strings["Import completed."] = "Import ferdig."; +$a->strings["Default"] = "Standard"; +$a->strings["Permission denied"] = "Tillatelse avvist"; +$a->strings["(Unknown)"] = "(Ukjent)"; +$a->strings["Visible to anybody on the internet."] = "Synlig for enhver på Internett."; +$a->strings["Visible to you only."] = "Synlig bare for deg."; +$a->strings["Visible to anybody in this network."] = "Synlig for enhver i dette nettverket."; +$a->strings["Visible to anybody authenticated."] = "Synlig for enhver som er autentisert."; +$a->strings["Visible to anybody on %s."] = "Synlig for alle på %s."; +$a->strings["Visible to all connections."] = "Synlig for alle forbindelser."; +$a->strings["Visible to approved connections."] = "Synlig for godkjente forbindelser."; +$a->strings["Visible to specific connections."] = "Synlig for spesifikke forbindelser."; +$a->strings["Item not found."] = "Elementet ble ikke funnet."; +$a->strings["Collection not found."] = "Samlingen ble ikke funnet."; +$a->strings["Collection is empty."] = "Samlingen er tom."; +$a->strings["Collection: %s"] = "Samling: %s"; +$a->strings["Connection: %s"] = "Forbindelse: %s"; +$a->strings["Connection not found."] = "Forbindelsen ble ikke funnet."; +$a->strings["No recipient provided."] = "Ingen mottaker angitt."; +$a->strings["[no subject]"] = "[ikke noe emne]"; +$a->strings["Unable to determine sender."] = "Kan ikke avgjøre avsender."; +$a->strings["Stored post could not be verified."] = "Lagret innlegg kunne ikke bekreftes."; +$a->strings["view full size"] = "vis full størrelse"; +$a->strings["\$Projectname Notification"] = "\$Projectname varsling"; +$a->strings["\$projectname"] = "\$projectname"; +$a->strings["Thank You,"] = "Tusen takk,"; +$a->strings["%s Administrator"] = "%s administrator"; +$a->strings["Administrator"] = "Administrator"; +$a->strings["No Subject"] = "Uten emne"; +$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A"; +$a->strings["Starts:"] = "Starter:"; +$a->strings["Finishes:"] = "Slutter:"; +$a->strings["Location:"] = "Plassering:"; +$a->strings["This event has been added to your calendar."] = "Denne hendelsen er lagt til i din kalender."; +$a->strings["event"] = "hendelse"; +$a->strings["Not specified"] = "Ikke spesifisert"; +$a->strings["Needs Action"] = "Trenger handling"; +$a->strings["Completed"] = "Ferdig"; +$a->strings["In Process"] = "Igang"; +$a->strings["Cancelled"] = "Avbrutt"; +$a->strings["Unable to obtain identity information from database"] = "Klarer ikke å få tak i identitetsinformasjon fra databasen"; +$a->strings["Empty name"] = "Mangler navn"; +$a->strings["Name too long"] = "Navnet er for langt"; +$a->strings["No account identifier"] = "Ingen kontoidentifikator"; +$a->strings["Nickname is required."] = "Kallenavn er påkrevd."; +$a->strings["Reserved nickname. Please choose another."] = "Reservert kallenavn. Vennligst velg et annet."; +$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet."; +$a->strings["Unable to retrieve created identity"] = "Klarer ikke å hente den lagede identiteten"; +$a->strings["Default Profile"] = "Standardprofil"; +$a->strings["Friends"] = "Venner"; +$a->strings["Requested channel is not available."] = "Forespurt kanal er ikke tilgjengelig."; +$a->strings["Requested profile is not available."] = "Forespurt profil er ikke tilgjengelig."; +$a->strings["Change profile photo"] = "Endre profilbilde"; +$a->strings["Profiles"] = "Profiler"; +$a->strings["Manage/edit profiles"] = "Håndtere/endre profiler"; +$a->strings["Create New Profile"] = "Lag ny profil"; +$a->strings["Edit Profile"] = "Endre profil"; +$a->strings["Profile Image"] = "Profilbilde"; +$a->strings["visible to everybody"] = "synlig for alle"; +$a->strings["Edit visibility"] = "Endre synlighet"; +$a->strings["Gender:"] = "Kjønn:"; +$a->strings["Status:"] = "Status:"; +$a->strings["Homepage:"] = "Hjemmeside:"; +$a->strings["Online Now"] = "Online nå"; +$a->strings["g A l F d"] = "g A l F d"; +$a->strings["F d"] = "F d"; +$a->strings["[today]"] = "[idag]"; +$a->strings["Birthday Reminders"] = "Fødselsdagspåminnnelser"; +$a->strings["Birthdays this week:"] = "Fødselsdager denne uken:"; +$a->strings["[No description]"] = "[Ingen beskrivelse]"; +$a->strings["Event Reminders"] = "Hendelsespåminnelser"; +$a->strings["Events this week:"] = "Hendelser denne uken:"; +$a->strings["Profile"] = "Profil"; +$a->strings["Full Name:"] = "Fullt navn:"; +$a->strings["Like this channel"] = "Lik denne kanalen"; +$a->strings["__ctx:noun__ Like"] = array( + 0 => "Liker", + 1 => "Liker", +); +$a->strings["j F, Y"] = "j F, Y"; +$a->strings["j F"] = "j F"; +$a->strings["Birthday:"] = "Fødselsdag:"; +$a->strings["Age:"] = "Alder:"; +$a->strings["for %1\$d %2\$s"] = "for %1\$d %2\$s"; +$a->strings["Sexual Preference:"] = "Seksuell preferanse:"; +$a->strings["Hometown:"] = "Hjemby:"; +$a->strings["Tags:"] = "Merkelapper:"; +$a->strings["Political Views:"] = "Politiske synspunkter:"; +$a->strings["Religion:"] = "Religion:"; +$a->strings["About:"] = "Om:"; +$a->strings["Hobbies/Interests:"] = "Hobbyer/interesser:"; +$a->strings["Likes:"] = "Liker:"; +$a->strings["Dislikes:"] = "Misliker:"; +$a->strings["Contact information and Social Networks:"] = "Kontaktinformasjon og sosiale nettverk:"; +$a->strings["My other channels:"] = "Mine andre kanaler:"; +$a->strings["Musical interests:"] = "Musikkinteresse:"; +$a->strings["Books, literature:"] = "Bøker, litteratur:"; +$a->strings["Television:"] = "TV:"; +$a->strings["Film/dance/culture/entertainment:"] = "Film/dans/kultur/underholdning:"; +$a->strings["Love/Romance:"] = "Kjærlighet/romantikk:"; +$a->strings["Work/employment:"] = "Arbeid/sysselsetting:"; +$a->strings["School/education:"] = "Skole/utdannelse:"; +$a->strings["Like this thing"] = "Lik denne tingen"; +$a->strings["Tags"] = "Merkelapper"; +$a->strings["Categories"] = "Kategorier"; +$a->strings["Keywords"] = "Nøkkelord"; +$a->strings["have"] = "har"; +$a->strings["has"] = "har"; +$a->strings["want"] = "ønsker"; +$a->strings["wants"] = "ønsker"; +$a->strings["like"] = "liker"; +$a->strings["likes"] = "liker"; +$a->strings["dislike"] = "misliker"; +$a->strings["dislikes"] = "misliker"; +$a->strings["Visible to your default audience"] = "Synlig for ditt standard publikum"; +$a->strings["Show"] = "Vis"; +$a->strings["Don't show"] = "Ikke vis"; +$a->strings["Other networks and post services"] = "Andre nettverk og innleggstjenester"; +$a->strings["Permissions"] = "Tillatelser"; +$a->strings["Close"] = "Lukk"; $a->strings[" and "] = "og"; $a->strings["public profile"] = "offentlig profil"; $a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s endret %2\$s til “%3\$s”"; $a->strings["Visit %1\$s's %2\$s"] = "Besøk %1\$s sitt %2\$s"; $a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s har oppdatert %2\$s, endret %3\$s."; -$a->strings["Connect"] = "Koble"; -$a->strings["New window"] = "Nytt vindu"; -$a->strings["Open the selected location in a different window or browser tab"] = "Åpne det valgte stedet i et annet vindu eller nettleser-fane"; -$a->strings["User '%s' deleted"] = "Brukeren '%s' er slettet"; -$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan ikke finne DNS-informasjon om databasetjener '%s'"; +$a->strings["Item was not found."] = "Elementet ble ikke funnet."; +$a->strings["No source file."] = "Ingen kildefil."; +$a->strings["Cannot locate file to replace"] = "Kan ikke finne filen som skal byttes ut"; +$a->strings["Cannot locate file to revise/update"] = "Finner ikke filen som skal revideres/oppdateres"; +$a->strings["File exceeds size limit of %d"] = "Filens størrelse overgår grensen på %d"; +$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes."; +$a->strings["File upload failed. Possible system limit or action terminated."] = "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt."; +$a->strings["Stored file could not be verified. Upload failed."] = "Lagret fil kunne ikke bekreftes. Opplasting mislyktes."; +$a->strings["Path not available."] = "Stien er ikke tilgjengelig."; +$a->strings["Empty pathname"] = "Tomt sti-navn"; +$a->strings["duplicate filename or path"] = "duplikat av filnavn eller sti"; +$a->strings["Path not found."] = "Stien ble ikke funnet."; +$a->strings["mkdir failed."] = "mkdir mislyktes."; +$a->strings["database storage failed."] = "databaselagring mislyktes."; +$a->strings["Empty path"] = "Tom sti"; +$a->strings["Attachments:"] = "Vedlegg:"; +$a->strings["\$Projectname event notification:"] = "\$Projectname hendelsesvarsling:"; +$a->strings["created a new post"] = "laget et nytt innlegg"; +$a->strings["commented on %s's post"] = "kommenterte på %s sitt innlegg"; +$a->strings["Apps"] = "Apper"; +$a->strings["System"] = "System"; +$a->strings["Personal"] = "Personlig"; +$a->strings["Create Personal App"] = "Lag personlig app"; +$a->strings["Edit Personal App"] = "Endre personlig app"; +$a->strings["Ignore/Hide"] = "Ignorer/Skjul"; +$a->strings["Suggestions"] = "Forslag"; +$a->strings["See more..."] = "Se mer..."; +$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillate forbindelser."; +$a->strings["Add New Connection"] = "Legg til ny forbindelse"; +$a->strings["Enter the channel address"] = "Skriv kanal-adressen"; +$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann"; +$a->strings["Notes"] = "Merknader"; +$a->strings["Save"] = "Lagre"; +$a->strings["Remove term"] = "Fjern begrep"; +$a->strings["Saved Searches"] = "Lagrede søk"; +$a->strings["add"] = "legg til"; +$a->strings["Saved Folders"] = "Lagrede mapper"; +$a->strings["Everything"] = "Alt"; +$a->strings["Archives"] = "Arkiv"; +$a->strings["Me"] = "Meg"; +$a->strings["Family"] = "Familie"; +$a->strings["Acquaintances"] = "Bekjente"; +$a->strings["All"] = "Alle"; +$a->strings["Refresh"] = "Forny"; +$a->strings["Account settings"] = "Kontoinnstillinger"; +$a->strings["Channel settings"] = "Kanalinnstillinger"; +$a->strings["Additional features"] = "Tilleggsfunksjoner"; +$a->strings["Feature/Addon settings"] = "Funksjons-/Tilleggsinnstillinger"; +$a->strings["Display settings"] = "Visningsinnstillinger"; +$a->strings["Connected apps"] = "Tilkoblede app-er"; +$a->strings["Export channel"] = "Eksporter kanal"; +$a->strings["Connection Default Permissions"] = "Forbindelsens standard tillatelser"; +$a->strings["Premium Channel Settings"] = "Premiumkanal-innstillinger"; +$a->strings["Channel Sources"] = "Kanalkilder"; +$a->strings["Settings"] = "Innstillinger"; +$a->strings["Private Mail Menu"] = "Meny for privat post"; +$a->strings["Combined View"] = "Kombinert visning"; +$a->strings["Inbox"] = "Innboks"; +$a->strings["Outbox"] = "Utboks"; +$a->strings["New Message"] = "Ny melding"; +$a->strings["Conversations"] = "Samtaler"; +$a->strings["Received Messages"] = "Mottatte meldinger"; +$a->strings["Sent Messages"] = "Sendte meldinger"; +$a->strings["No messages."] = "Ingen meldinger."; +$a->strings["Delete conversation"] = "Slett samtale"; +$a->strings["Events Menu"] = "Meny for hendelser"; +$a->strings["Day View"] = "Dag"; +$a->strings["Week View"] = "Uke"; +$a->strings["Month View"] = "Måned"; +$a->strings["Export"] = "Eksport"; +$a->strings["Import"] = "Importer"; +$a->strings["Chat Rooms"] = "Chatrom"; +$a->strings["Bookmarked Chatrooms"] = "Bokmerkede chatrom"; +$a->strings["Suggested Chatrooms"] = "Foreslåtte chatrom"; +$a->strings["photo/image"] = "foto/bilde"; +$a->strings["Rate Me"] = "Vurder meg"; +$a->strings["View Ratings"] = "Vis vurderinger"; +$a->strings["Public Hubs"] = "Offentlige huber"; +$a->strings["Forums"] = "Forum"; +$a->strings["Tasks"] = "Oppgaver"; +$a->strings["Documentation"] = "Dokumentasjon"; +$a->strings["Project/Site Information"] = "Prosjekt-/Nettstedsinformasjon"; +$a->strings["For Members"] = "For medlemmer"; +$a->strings["For Administrators"] = "For administratorer"; +$a->strings["For Developers"] = "For utviklere"; +$a->strings["Site"] = "Nettsted"; +$a->strings["Accounts"] = "Kontoer"; +$a->strings["Channels"] = "Kanaler"; +$a->strings["Plugins"] = "Tilleggsfunksjoner"; +$a->strings["Themes"] = "Temaer"; +$a->strings["Inspect queue"] = "Inspiser kø"; +$a->strings["Profile Config"] = "Profilinnstillinger"; +$a->strings["DB updates"] = "Databaseoppdateringer"; +$a->strings["Logs"] = "Logger"; +$a->strings["Admin"] = "Administrator"; +$a->strings["Plugin Features"] = "Tilleggsfunksjoner"; +$a->strings["User registrations waiting for confirmation"] = "Brukerregistreringer som venter på bekreftelse"; +$a->strings["View Photo"] = "Vis foto"; +$a->strings["Edit Album"] = "Endre album"; +$a->strings["%1\$s's bookmarks"] = "%1\$s sine bokmerker"; +$a->strings["General Features"] = "Generelle funksjoner"; +$a->strings["Content Expiration"] = "Innholdet utløper"; +$a->strings["Remove posts/comments and/or private messages at a future time"] = "Fjern innlegg/kommentarer og/eller private meldinger på et angitt tidspunkt i fremtiden"; +$a->strings["Multiple Profiles"] = "Flere profiler"; +$a->strings["Ability to create multiple profiles"] = "Mulig å lage flere profiler"; +$a->strings["Advanced Profiles"] = "Avanserte profiler"; +$a->strings["Additional profile sections and selections"] = "Ytterlige seksjoner og utvalg til profilen"; +$a->strings["Profile Import/Export"] = "Profil-import/-eksport"; +$a->strings["Save and load profile details across sites/channels"] = "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler"; +$a->strings["Web Pages"] = "Web-sider"; +$a->strings["Provide managed web pages on your channel"] = "Tilby kontrollerte web-sider på din kanal"; +$a->strings["Private Notes"] = "Private merknader"; +$a->strings["Enables a tool to store notes and reminders"] = "Skrur på et verktøy for lagre merknader og påminnelser"; +$a->strings["Navigation Channel Select"] = "Navigasjon kanalvalg"; +$a->strings["Change channels directly from within the navigation dropdown menu"] = "Endre kanaler direkte fra navigasjonsmenyen"; +$a->strings["Photo Location"] = "Bildeplassering"; +$a->strings["If location data is available on uploaded photos, link this to a map."] = "Hvis plasseringsdata er tilgjengelige i opplastede bilder, plasser dette på et kart."; +$a->strings["Expert Mode"] = "Ekspertmodus"; +$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Skru på Ekspertmodus for å tilby avanserte konfigurasjonsvalg"; +$a->strings["Premium Channel"] = "Premiumkanal"; +$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal"; +$a->strings["Post Composition Features"] = "Funksjoner for å lage innlegg"; +$a->strings["Use Markdown"] = "Bruk Markdown"; +$a->strings["Allow use of \"Markdown\" to format posts"] = "Tillat bruk av \"Markdown\" til formatering av innlegg"; +$a->strings["Large Photos"] = "Store bilder"; +$a->strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inkluder store (1024px) småbilder i innlegg. Hvis denne ikke er påskrudd, bruk små (640px) småbilder."; +$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisk import av kanalinnhold fra andre kanaler eller strømmer"; +$a->strings["Even More Encryption"] = "Enda mer kryptering"; +$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel"; +$a->strings["Enable Voting Tools"] = "Skru på verktøy for å stemme"; +$a->strings["Provide a class of post which others can vote on"] = "Tilby en type innlegg som andre kan stemme på"; +$a->strings["Delayed Posting"] = "Tidfest publisering"; +$a->strings["Allow posts to be published at a later date"] = "Tillat innlegg å bli publisert på et senere tidspunkt"; +$a->strings["Suppress Duplicate Posts/Comments"] = "Forhindre duplikat av innlegg/kommentarer"; +$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Forhindre innlegg med identisk innhold fra å bli publisert hvis det er mindre enn to minutter mellom innsendingene."; +$a->strings["Network and Stream Filtering"] = "Nettverk- og strømfiltrering"; +$a->strings["Search by Date"] = "Søk etter dato"; +$a->strings["Ability to select posts by date ranges"] = "Mulighet for å velge innlegg etter datoområde"; +$a->strings["Collections Filter"] = "Filter for samlinger"; +$a->strings["Enable widget to display Network posts only from selected collections"] = "Skru på miniprogram for å vise Nettverksinnlegg bare fra valgte samlinger"; +$a->strings["Save search terms for re-use"] = "Lagre søkeuttrykk for senere bruk"; +$a->strings["Network Personal Tab"] = "Nettverk personlig fane"; +$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i"; +$a->strings["Network New Tab"] = "Nettverk Ny fane"; +$a->strings["Enable tab to display all new Network activity"] = "Skru på fane for å vise all ny nettverksaktivitet"; +$a->strings["Affinity Tool"] = "Nærhetsverktøy"; +$a->strings["Filter stream activity by depth of relationships"] = "Filtrer strømaktiviteten etter releasjonsdybde"; +$a->strings["Connection Filtering"] = "Filtrer forbindelser"; +$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer innkommende innlegg fra forbindelser basert på nøkkelord/innhold"; +$a->strings["Suggest Channels"] = "Foreslå kanaler"; +$a->strings["Show channel suggestions"] = "Vis kanalforslag"; +$a->strings["Post/Comment Tools"] = "Innlegg-/Kommentar-verktøy"; +$a->strings["Tagging"] = "Merking"; +$a->strings["Ability to tag existing posts"] = "Mulighet til å merke eksisterende meldinger"; +$a->strings["Post Categories"] = "Innleggskategorier"; +$a->strings["Add categories to your posts"] = "Legg kategorier til dine innlegg"; +$a->strings["Ability to file posts under folders"] = "Mulighet til å sortere innlegg i mapper"; +$a->strings["Dislike Posts"] = "Mislik innlegg"; +$a->strings["Ability to dislike posts/comments"] = "Mulighet til å mislike innlegg/kommentarer"; +$a->strings["Star Posts"] = "Stjerneinnlegg"; +$a->strings["Ability to mark special posts with a star indicator"] = "Mulighet til å merke spesielle innlegg med en stjerne"; +$a->strings["Tag Cloud"] = "Merkelappsky"; +$a->strings["Provide a personal tag cloud on your channel page"] = "Tilby en personlig merkelappsky på din kanalside"; +$a->strings["Male"] = "Mannlig"; +$a->strings["Female"] = "Kvinnelig"; +$a->strings["Currently Male"] = "For tiden mann"; +$a->strings["Currently Female"] = "For tiden kvinne"; +$a->strings["Mostly Male"] = "For det meste mann"; +$a->strings["Mostly Female"] = "For det meste kvinne"; +$a->strings["Transgender"] = "Transkjønnet"; +$a->strings["Intersex"] = "interkjønnet"; +$a->strings["Transsexual"] = "Transseksuell"; +$a->strings["Hermaphrodite"] = "Hermafroditt"; +$a->strings["Neuter"] = "Intetkjønn"; +$a->strings["Non-specific"] = "Ubestemt"; +$a->strings["Other"] = "Annen"; +$a->strings["Undecided"] = "Ubestemt"; +$a->strings["Males"] = "Menn"; +$a->strings["Females"] = "Kvinner"; +$a->strings["Gay"] = "Homo"; +$a->strings["Lesbian"] = "Lesbisk"; +$a->strings["No Preference"] = "Ingen preferanse"; +$a->strings["Bisexual"] = "Biseksuell"; +$a->strings["Autosexual"] = "Autoseksuell"; +$a->strings["Abstinent"] = "Avholdende"; +$a->strings["Virgin"] = "Jomfru"; +$a->strings["Deviant"] = "Avviker"; +$a->strings["Fetish"] = "Fetisj"; +$a->strings["Oodles"] = "Masse"; +$a->strings["Nonsexual"] = "Ikke-seksuell"; +$a->strings["Single"] = "Enslig"; +$a->strings["Lonely"] = "Ensom"; +$a->strings["Available"] = "Tilgjengelig"; +$a->strings["Unavailable"] = "Ikke tilgjengelig"; +$a->strings["Has crush"] = "Er forelsket"; +$a->strings["Infatuated"] = "Betatt"; +$a->strings["Dating"] = "Sammen med"; +$a->strings["Unfaithful"] = "Utro"; +$a->strings["Sex Addict"] = "Sexavhengig"; +$a->strings["Friends/Benefits"] = "Venner med frynsegoder"; +$a->strings["Casual"] = "Tilfeldig"; +$a->strings["Engaged"] = "Forlovet"; +$a->strings["Married"] = "Gift"; +$a->strings["Imaginarily married"] = "Gift i fantasien"; +$a->strings["Partners"] = "Partnere"; +$a->strings["Cohabiting"] = "Samboer"; +$a->strings["Common law"] = "Samboer"; +$a->strings["Happy"] = "Lykkelig"; +$a->strings["Not looking"] = "Ikke på utkikk"; +$a->strings["Swinger"] = "Partnerbytte"; +$a->strings["Betrayed"] = "Bedratt"; +$a->strings["Separated"] = "Separert"; +$a->strings["Unstable"] = "Ustabilt"; +$a->strings["Divorced"] = "Skilt"; +$a->strings["Imaginarily divorced"] = "Skilt i fantasien"; +$a->strings["Widowed"] = "Enke"; +$a->strings["Uncertain"] = "Usikkert"; +$a->strings["It's complicated"] = "Det er komplisert"; +$a->strings["Don't care"] = "Bryr meg ikke"; +$a->strings["Ask me"] = "Spør meg"; +$a->strings["Miscellaneous"] = "Forskjellig"; +$a->strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD eller MM-DD"; +$a->strings["Required"] = "Påkrevd"; +$a->strings["never"] = "aldri"; +$a->strings["less than a second ago"] = "for mindre enn ett sekund siden"; +$a->strings["year"] = "år"; +$a->strings["years"] = "år"; +$a->strings["month"] = "måned"; +$a->strings["months"] = "måneder"; +$a->strings["week"] = "uke"; +$a->strings["weeks"] = "uker"; +$a->strings["day"] = "dag"; +$a->strings["days"] = "dager"; +$a->strings["hour"] = "time"; +$a->strings["hours"] = "timer"; +$a->strings["minute"] = "minutt"; +$a->strings["minutes"] = "minutter"; +$a->strings["second"] = "sekund"; +$a->strings["seconds"] = "sekunder"; +$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s siden"; +$a->strings["%1\$s's birthday"] = "%1\$s sin fødselsdag"; +$a->strings["Happy Birthday %1\$s"] = "Gratulerer med dagen, %1\$s !"; +$a->strings["Public Timeline"] = "Offentlig tidslinje"; $a->strings["photo"] = "foto"; -$a->strings["event"] = "hendelse"; $a->strings["channel"] = "kanal"; $a->strings["status"] = "status"; $a->strings["comment"] = "kommentar"; @@ -295,6 +528,7 @@ $a->strings["Loading..."] = "Laster..."; $a->strings["Delete Selected Items"] = "Slett valgte elementer"; $a->strings["View Source"] = "Vis kilde"; $a->strings["Follow Thread"] = "Følg tråd"; +$a->strings["Unfollow Thread"] = "Ikke følg tråd"; $a->strings["View Status"] = "Vis status"; $a->strings["View Profile"] = "Vis profil"; $a->strings["View Photos"] = "Vis bilder"; @@ -358,6 +592,7 @@ $a->strings["permissions"] = "tillatelser"; $a->strings["Public post"] = "Offentlig innlegg"; $a->strings["Example: bob@example.com, mary@example.com"] = "Eksempel: ola@eksempel.no, kari@eksempel.no"; $a->strings["Set expiration date"] = "Angi utløpsdato"; +$a->strings["Set publish date"] = "Angi publiseringsdato"; $a->strings["Encrypt text"] = "Krypter tekst"; $a->strings["OK"] = "OK"; $a->strings["Cancel"] = "Avbryt"; @@ -367,7 +602,6 @@ $a->strings["Commented Order"] = "Kommentert"; $a->strings["Sort by Comment Date"] = "Sorter etter kommentert dato"; $a->strings["Posted Order"] = "Lagt inn"; $a->strings["Sort by Post Date"] = "Sorter etter innleggsdato"; -$a->strings["Personal"] = "Personlig"; $a->strings["Posts that mention or involve you"] = "Innlegg som nevner eller involverer deg"; $a->strings["New"] = "Nye"; $a->strings["Activity Stream - by date"] = "Aktivitetsstrøm - etter dato"; @@ -388,10 +622,6 @@ $a->strings["Saved Bookmarks"] = "Lagrede bokmerker"; $a->strings["Webpages"] = "Websider"; $a->strings["Manage Webpages"] = "Håndtere websider"; $a->strings["View all"] = "Vis alle"; -$a->strings["__ctx:noun__ Like"] = array( - 0 => "Liker", - 1 => "Liker", -); $a->strings["__ctx:noun__ Dislike"] = array( 0 => "Liker ikke", 1 => "Liker ikke", @@ -420,18 +650,69 @@ $a->strings["__ctx:noun__ Abstain"] = array( 0 => "Avstår", 1 => "Avstår", ); -$a->strings["Public Timeline"] = "Offentlig tidslinje"; -$a->strings["Image exceeds website size limit of %lu bytes"] = "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes"; -$a->strings["Image file is empty."] = "Bildefilen er tom."; -$a->strings["Unable to process image"] = "Kan ikke behandle bildet"; -$a->strings["Photo storage failed."] = "Bildelagring mislyktes."; -$a->strings["Upload New Photos"] = "Last opp nye bilder"; -$a->strings["\$Projectname Notification"] = "\$Projectname varsling"; -$a->strings["\$projectname"] = "\$projectname"; -$a->strings["Thank You,"] = "Tusen takk,"; -$a->strings["%s Administrator"] = "%s administrator"; +$a->strings["Logged out."] = "Logget ut."; +$a->strings["Failed authentication"] = "Mislykket autentisering"; +$a->strings["Login failed."] = "Innlogging mislyktes."; +$a->strings["Frequently"] = "Ofte"; +$a->strings["Hourly"] = "Hver time"; +$a->strings["Twice daily"] = "To ganger daglig"; +$a->strings["Daily"] = "Daglig"; +$a->strings["Weekly"] = "Ukentlig"; +$a->strings["Monthly"] = "Månedlig"; +$a->strings["Friendica"] = "Friendica"; +$a->strings["OStatus"] = "OStatus"; +$a->strings["RSS/Atom"] = "RSS/Atom"; +$a->strings["Email"] = "E-post"; +$a->strings["Diaspora"] = "Diaspora"; +$a->strings["Facebook"] = "Facebook"; +$a->strings["Zot!"] = "Zot!"; +$a->strings["LinkedIn"] = "LinkedIn"; +$a->strings["XMPP/IM"] = "XMPP/IM"; +$a->strings["MySpace"] = "MySpace"; +$a->strings["Invalid data packet"] = "Ugyldig datapakke"; +$a->strings["Unable to verify channel signature"] = "Ikke i stand til å sjekke kanalsignaturen"; +$a->strings["Unable to verify site signature for %s"] = "Ikke i stand til å bekrefte signaturen til %s"; +$a->strings["invalid target signature"] = "Målets signatur er ugyldig"; +$a->strings["Image/photo"] = "Bilde/fotografi"; +$a->strings["Encrypted content"] = "Kryptert innhold"; +$a->strings["Install %s element: "] = "Installer %s element:"; +$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet."; +$a->strings["webpage"] = "nettside"; +$a->strings["layout"] = "layout"; +$a->strings["block"] = "byggekloss"; +$a->strings["menu"] = "meny"; +$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev følgende %2\$s %3\$s"; +$a->strings["post"] = "innlegg"; +$a->strings["Different viewers will see this text differently"] = "Denne teksten vil se forskjellig ut for ulike besøkende"; +$a->strings["$1 spoiler"] = "$1 avsløring"; +$a->strings["$1 wrote:"] = "$1 skrev:"; +$a->strings["%d invitation available"] = array( + 0 => "%d invitasjon tilgjengelig", + 1 => "%d invitasjoner tilgjengelig", +); +$a->strings["Advanced"] = "Avansert"; +$a->strings["Find Channels"] = "Finn kanaler"; +$a->strings["Enter name or interest"] = "Skriv navn eller interesse"; +$a->strings["Connect/Follow"] = "Forbindelse/Følg"; +$a->strings["Examples: Robert Morgenstein, Fishing"] = "Eksempler: Ola Nordmann, fisking"; +$a->strings["Find"] = "Finn"; +$a->strings["Channel Suggestions"] = "Kanalforslag"; +$a->strings["Random Profile"] = "Tilfeldig profil"; +$a->strings["Invite Friends"] = "Inviter venner"; +$a->strings["Advanced example: name=fred and country=iceland"] = "Avansert eksempel: navn=fred og land=island"; +$a->strings["%d connection in common"] = array( + 0 => "%d forbindelse felles", + 1 => "%d forbindelser felles", +); +$a->strings["show more"] = "vis mer"; +$a->strings["Directory Options"] = "Kataloginnstillinger"; +$a->strings["Safe Mode"] = "Trygt modus"; +$a->strings["No"] = "Nei"; +$a->strings["Yes"] = "Ja"; +$a->strings["Public Forums Only"] = "Bare offentlige forum"; +$a->strings["This Website Only"] = "Kun dette nettstedet"; $a->strings["%s <!item_type!>"] = "%s <!item_type!>"; -$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Notify] Ny melding mottatt hos %s"; +$a->strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notify] Ny melding mottatt hos %s"; $a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s sendte deg en ny privat melding på %3\$s."; $a->strings["%1\$s sent you %2\$s."] = "%1\$s sendte deg %2\$s."; $a->strings["a private message"] = "en privat melding"; @@ -439,37 +720,98 @@ $a->strings["Please visit %s to view and/or reply to your private messages."] = $a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]a %4\$s[/zrl]"; $a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]%4\$s's %5\$s[/zrl]"; $a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterte på [zrl=%3\$s]din %4\$s[/zrl]"; -$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notify] Kommentar til samtale #%1\$d av %2\$s"; +$a->strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notify] Kommentar til samtale #%1\$d av %2\$s"; $a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s kommenterte på et element eller en samtale du følger"; $a->strings["Please visit %s to view and/or reply to the conversation."] = "Vennligst besøk %s for å se og/eller svare i samtalen"; -$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Notify] %s skrev et innlegg på din profilvegg"; +$a->strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notify] %s skrev et innlegg på din profilvegg"; $a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s skrev et innlegg på din profilvegg på %3\$s"; $a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s skrev et innlegg på [zrl=%3\$s]din vegg[/zrl]"; -$a->strings["[Red:Notify] %s tagged you"] = "[Red:Notify] %s merket deg"; +$a->strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notify] %s merket deg"; $a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s merket deg på %3\$s"; $a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]merket deg[/zrl]."; -$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Notify] %1\$s prikket deg"; +$a->strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notify] %1\$s prikket deg"; $a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s dyttet deg på %3\$s"; $a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]dyttet deg[/zrl]."; -$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Notify] %s merket ditt innlegg"; +$a->strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notify] %s merket ditt innlegg"; $a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s merket ditt innlegg på %3\$s"; $a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s merket [zrl=%3\$s]ditt innlegg[/zrl]"; -$a->strings["[Red:Notify] Introduction received"] = "[Red:Notify] Introduksjon mottatt"; +$a->strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notify] Introduksjon mottatt"; $a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, du har mottatt en ny forespørsel om forbindelse fra '%2\$s' hos %3\$s"; $a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, du mottok [zrl=%2\$s]en ny forespørsel om forbindelse[/zrl] fra %3\$s."; $a->strings["You may visit their profile at %s"] = "Du kan besøke profilen deres på %s"; $a->strings["Please visit %s to approve or reject the connection request."] = "Vennligst besøk %s for å godkjenne eller avslå forespørselen om forbindelse."; -$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Notify] Venneforslag mottatt"; +$a->strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notify] Venneforslag mottatt"; $a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, du har mottatt en venneforespørsel fra '%2\$s' hos %3\$s"; $a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, du har mottatt [zrl=%2\$s]et venneforslaget[/zrl] angående %3\$s fra %4\$s. "; $a->strings["Name:"] = "Navn:"; $a->strings["Photo:"] = "Bilde:"; $a->strings["Please visit %s to approve or reject the suggestion."] = "Vennligst besøk %s for å godkjenne eller avslå dette forslaget."; -$a->strings["[Red:Notify]"] = "[Red:Notify]"; -$a->strings["view full size"] = "vis full størrelse"; -$a->strings["Administrator"] = "Administrator"; -$a->strings["No Subject"] = "Uten emne"; -$a->strings["%1\$s's bookmarks"] = "%1\$s sine bokmerker"; +$a->strings["[Hubzilla:Notify]"] = "[Hubzilla:Notify]"; +$a->strings["Channel is blocked on this site."] = "Kanalen er blokkert på dette nettstedet."; +$a->strings["Channel location missing."] = "Kanalplassering mangler."; +$a->strings["Response from remote channel was incomplete."] = "Svaret fra den andre kanalen var ikke komplett."; +$a->strings["Channel was deleted and no longer exists."] = "Kanalen er slettet og finnes ikke lenger."; +$a->strings["Protocol disabled."] = "Protokollen er avskrudd."; +$a->strings["Channel discovery failed."] = "Kanaloppdagelse mislyktes."; +$a->strings["local account not found."] = "lokal konto ble ikke funnet."; +$a->strings["Cannot connect to yourself."] = "Kan ikke lage forbindelse med deg selv."; +$a->strings["Embedded content"] = "Innebygget innhold"; +$a->strings["Embedding disabled"] = "Innbygging avskrudd"; +$a->strings["Logout"] = "Logg ut"; +$a->strings["End this session"] = "Avslutt denne økten"; +$a->strings["Home"] = "Hjem"; +$a->strings["Your posts and conversations"] = "Dine innlegg og samtaler"; +$a->strings["Your profile page"] = "Din profilside"; +$a->strings["Edit Profiles"] = "Endre profiler"; +$a->strings["Manage/Edit profiles"] = "Håndter/endre profiler"; +$a->strings["Edit your profile"] = "Endre din profil"; +$a->strings["Your photos"] = "Dine bilder"; +$a->strings["Your files"] = "Dine filer"; +$a->strings["Chat"] = "Chat"; +$a->strings["Your chatrooms"] = "Dine chatterom"; +$a->strings["Your bookmarks"] = "Dine bokmerker"; +$a->strings["Your webpages"] = "Dine websider"; +$a->strings["Login"] = "Logg inn"; +$a->strings["Sign in"] = "Logg på"; +$a->strings["%s - click to logout"] = "%s - klikk for å logge ut"; +$a->strings["Remote authentication"] = "Fjernautentisering"; +$a->strings["Click to authenticate to your home hub"] = "Klikk for å godkjennes mot din hjemme-hub"; +$a->strings["Home Page"] = "Hjemmeside"; +$a->strings["Register"] = "Registrer"; +$a->strings["Create an account"] = "Lag en konto"; +$a->strings["Help"] = "Hjelp"; +$a->strings["Help and documentation"] = "Hjelp og dokumentasjon"; +$a->strings["Applications, utilities, links, games"] = "Programmer, verktøy, lenker, spill"; +$a->strings["Search"] = "Søk"; +$a->strings["Search site @name, #tag, ?docs, content"] = "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold"; +$a->strings["Directory"] = "Katalog"; +$a->strings["Channel Directory"] = "Kanalkatalog"; +$a->strings["Grid"] = "Nett"; +$a->strings["Your grid"] = "Ditt nett"; +$a->strings["Mark all grid notifications seen"] = "Marker alle nettvarsler som sett"; +$a->strings["Channel Home"] = "Kanalhjem"; +$a->strings["Channel home"] = "Kanalhjem"; +$a->strings["Mark all channel notifications seen"] = "Merk alle kanalvarsler som sett"; +$a->strings["Connections"] = "Forbindelser"; +$a->strings["Notices"] = "Varsel"; +$a->strings["Notifications"] = "Varsler"; +$a->strings["See all notifications"] = "Se alle varsler"; +$a->strings["Mark all system notifications seen"] = "Merk alle systemvarsler som sett"; +$a->strings["Mail"] = "Melding"; +$a->strings["Private mail"] = "Privat post"; +$a->strings["See all private messages"] = "Se alle private meldinger"; +$a->strings["Mark all private messages seen"] = "Merk alle private meldinger som sett"; +$a->strings["Events"] = "Hendelser"; +$a->strings["Event Calendar"] = "Kalender"; +$a->strings["See all events"] = "Se alle hendelser"; +$a->strings["Mark all events seen"] = "Merk alle hendelser som sett"; +$a->strings["Channel Manager"] = "Kanalstyring"; +$a->strings["Manage Your Channels"] = "Håndter dine kanaler"; +$a->strings["Account/Channel Settings"] = "Konto-/kanal-innstillinger"; +$a->strings["Site Setup and Configuration"] = "Nettstedsoppsett og -konfigurasjon"; +$a->strings["@name, #tag, ?doc, content"] = "@navn, #merkelapp, ?dokumentasjon, innhold"; +$a->strings["Please wait..."] = "Vennligst vent..."; +$a->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."] = "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn."; $a->strings["prev"] = "forrige"; $a->strings["first"] = "første"; $a->strings["last"] = "siste"; @@ -482,8 +824,6 @@ $a->strings["%d Connection"] = array( 1 => "%d forbindelser", ); $a->strings["View Connections"] = "Vis forbindelser"; -$a->strings["Search"] = "Søk"; -$a->strings["Save"] = "Lagre"; $a->strings["poke"] = "prikk"; $a->strings["ping"] = "varsle"; $a->strings["pinged"] = "varslet"; @@ -517,8 +857,8 @@ $a->strings["motivated"] = "motivert"; $a->strings["relaxed"] = "avslappet"; $a->strings["surprised"] = "overrasket"; $a->strings["May"] = "mai"; -$a->strings["unknown.???"] = "ukjent.???"; -$a->strings["bytes"] = "bytes"; +$a->strings["Unknown Attachment"] = "Ukjent vedlegg"; +$a->strings["unknown"] = "ukjent"; $a->strings["remove category"] = "fjern kategori"; $a->strings["remove from file"] = "fjern fra fil"; $a->strings["Click to open/close"] = "Klikk for å åpne/lukke"; @@ -534,198 +874,6 @@ $a->strings["Blocks"] = "Byggeklosser"; $a->strings["Menus"] = "Menyer"; $a->strings["Layouts"] = "Layout"; $a->strings["Pages"] = "Sider"; -$a->strings["Visible to your default audience"] = "Synlig for ditt standard publikum"; -$a->strings["Show"] = "Vis"; -$a->strings["Don't show"] = "Ikke vis"; -$a->strings["Permissions"] = "Tillatelser"; -$a->strings["Close"] = "Lukk"; -$a->strings["Item was not found."] = "Elementet ble ikke funnet."; -$a->strings["No source file."] = "Ingen kildefil."; -$a->strings["Cannot locate file to replace"] = "Kan ikke finne filen som skal byttes ut"; -$a->strings["Cannot locate file to revise/update"] = "Finner ikke filen som skal revideres/oppdateres"; -$a->strings["File exceeds size limit of %d"] = "Filens størrelse overgår grensen på %d"; -$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes."; -$a->strings["File upload failed. Possible system limit or action terminated."] = "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt."; -$a->strings["Stored file could not be verified. Upload failed."] = "Lagret fil kunne ikke bekreftes. Opplasting mislyktes."; -$a->strings["Path not available."] = "Stien er ikke tilgjengelig."; -$a->strings["Empty pathname"] = "Tomt sti-navn"; -$a->strings["duplicate filename or path"] = "duplikat av filnavn eller sti"; -$a->strings["Path not found."] = "Stien ble ikke funnet."; -$a->strings["mkdir failed."] = "mkdir mislyktes."; -$a->strings["database storage failed."] = "databaselagring mislyktes."; -$a->strings["Empty path"] = "Tom sti"; -$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes."; -$a->strings["Channel clone failed. Import failed."] = "Kanalkloning mislyktes. Import mislyktes."; -$a->strings["Cloned channel not found. Import failed."] = "Klonet kanal ble ikke funnet. Import mislyktes."; -$a->strings["created a new post"] = "laget et nytt innlegg"; -$a->strings["commented on %s's post"] = "kommenterte på %s sitt innlegg"; -$a->strings["New Page"] = "Ny side"; -$a->strings["View"] = "Vis"; -$a->strings["Actions"] = "Handlinger"; -$a->strings["Page Link"] = "Sidelenke"; -$a->strings["Title"] = "Tittel"; -$a->strings["Created"] = "Laget"; -$a->strings["Edited"] = "Endret"; -$a->strings["Profile Photos"] = "Profilbilder"; -$a->strings["Male"] = "Mannlig"; -$a->strings["Female"] = "Kvinnelig"; -$a->strings["Currently Male"] = "For tiden mann"; -$a->strings["Currently Female"] = "For tiden kvinne"; -$a->strings["Mostly Male"] = "For det meste mann"; -$a->strings["Mostly Female"] = "For det meste kvinne"; -$a->strings["Transgender"] = "Transkjønnet"; -$a->strings["Intersex"] = "interkjønnet"; -$a->strings["Transsexual"] = "Transseksuell"; -$a->strings["Hermaphrodite"] = "Hermafroditt"; -$a->strings["Neuter"] = "Intetkjønn"; -$a->strings["Non-specific"] = "Ubestemt"; -$a->strings["Undecided"] = "Ubestemt"; -$a->strings["Males"] = "Menn"; -$a->strings["Females"] = "Kvinner"; -$a->strings["Gay"] = "Homo"; -$a->strings["Lesbian"] = "Lesbisk"; -$a->strings["No Preference"] = "Ingen preferanse"; -$a->strings["Bisexual"] = "Biseksuell"; -$a->strings["Autosexual"] = "Autoseksuell"; -$a->strings["Abstinent"] = "Avholdende"; -$a->strings["Virgin"] = "Jomfru"; -$a->strings["Deviant"] = "Avviker"; -$a->strings["Fetish"] = "Fetisj"; -$a->strings["Oodles"] = "Masse"; -$a->strings["Nonsexual"] = "Ikke-seksuell"; -$a->strings["Single"] = "Enslig"; -$a->strings["Lonely"] = "Ensom"; -$a->strings["Available"] = "Tilgjengelig"; -$a->strings["Unavailable"] = "Ikke tilgjengelig"; -$a->strings["Has crush"] = "Er forelsket"; -$a->strings["Infatuated"] = "Betatt"; -$a->strings["Dating"] = "Sammen med"; -$a->strings["Unfaithful"] = "Utro"; -$a->strings["Sex Addict"] = "Sexavhengig"; -$a->strings["Friends"] = "Venner"; -$a->strings["Friends/Benefits"] = "Venner med frynsegoder"; -$a->strings["Casual"] = "Tilfeldig"; -$a->strings["Engaged"] = "Forlovet"; -$a->strings["Married"] = "Gift"; -$a->strings["Imaginarily married"] = "Gift i fantasien"; -$a->strings["Partners"] = "Partnere"; -$a->strings["Cohabiting"] = "Samboer"; -$a->strings["Common law"] = "Samboer"; -$a->strings["Happy"] = "Lykkelig"; -$a->strings["Not looking"] = "Ikke på utkikk"; -$a->strings["Swinger"] = "Partnerbytte"; -$a->strings["Betrayed"] = "Bedratt"; -$a->strings["Separated"] = "Separert"; -$a->strings["Unstable"] = "Ustabilt"; -$a->strings["Divorced"] = "Skilt"; -$a->strings["Imaginarily divorced"] = "Skilt i fantasien"; -$a->strings["Widowed"] = "Enke"; -$a->strings["Uncertain"] = "Usikkert"; -$a->strings["It's complicated"] = "Det er komplisert"; -$a->strings["Don't care"] = "Bryr meg ikke"; -$a->strings["Ask me"] = "Spør meg"; -$a->strings["Embedded content"] = "Innebygget innhold"; -$a->strings["Embedding disabled"] = "Innbygging avskrudd"; -$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A"; -$a->strings["Starts:"] = "Starter:"; -$a->strings["Finishes:"] = "Slutter:"; -$a->strings["Location:"] = "Plassering:"; -$a->strings["This event has been added to your calendar."] = "Denne hendelsen er lagt til i din kalender."; -$a->strings["Not specified"] = "Ikke spesifisert"; -$a->strings["Needs Action"] = "Trenger handling"; -$a->strings["Completed"] = "Ferdig"; -$a->strings["In Process"] = "Igang"; -$a->strings["Cancelled"] = "Avbrutt"; -$a->strings["Site Admin"] = "Nettstedsadministrator"; -$a->strings["Address Book"] = "Adressebok"; -$a->strings["Login"] = "Logg inn"; -$a->strings["Channel Manager"] = "Kanalstyring"; -$a->strings["Matrix"] = "Matrix"; -$a->strings["Settings"] = "Innstillinger"; -$a->strings["Channel Home"] = "Kanalhjem"; -$a->strings["Profile"] = "Profil"; -$a->strings["Events"] = "Hendelser"; -$a->strings["Directory"] = "Katalog"; -$a->strings["Help"] = "Hjelp"; -$a->strings["Mail"] = "Melding"; -$a->strings["Mood"] = "Stemning"; -$a->strings["Chat"] = "Chat"; -$a->strings["Probe"] = "Undersøk"; -$a->strings["Suggest"] = "Forreslå"; -$a->strings["Random Channel"] = "Tilfeldig kanal"; -$a->strings["Invite"] = "Inviter"; -$a->strings["Features"] = "Funksjoner"; -$a->strings["Language"] = "Språk"; -$a->strings["Post"] = "Innlegg"; -$a->strings["Profile Photo"] = "Profilbilde"; -$a->strings["Update"] = "Oppdater"; -$a->strings["Install"] = "Installer"; -$a->strings["Purchase"] = "Kjøp"; -$a->strings["Logged out."] = "Logget ut."; -$a->strings["Failed authentication"] = "Mislykket autentisering"; -$a->strings["Login failed."] = "Innlogging mislyktes."; -$a->strings["Attachments:"] = "Vedlegg:"; -$a->strings["\$Projectname event notification:"] = "\$Projectname hendelsesvarsling:"; -$a->strings["Image/photo"] = "Bilde/fotografi"; -$a->strings["Encrypted content"] = "Kryptert innhold"; -$a->strings["Install %s element: "] = "Installer %s element:"; -$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dette innlegget inneholder det installerbare elementet %s, men du mangler tillatelse til å installere det på dette nettstedet."; -$a->strings["webpage"] = "nettside"; -$a->strings["layout"] = "layout"; -$a->strings["block"] = "byggekloss"; -$a->strings["menu"] = "meny"; -$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev følgende %2\$s %3\$s"; -$a->strings["post"] = "innlegg"; -$a->strings["Different viewers will see this text differently"] = "Denne teksten vil se forskjellig ut for ulike besøkende"; -$a->strings["$1 spoiler"] = "$1 avsløring"; -$a->strings["$1 wrote:"] = "$1 skrev:"; -$a->strings["Not a valid email address"] = "Ikke en gyldig e-postadresse"; -$a->strings["Your email domain is not among those allowed on this site"] = "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet"; -$a->strings["Your email address is already registered at this site."] = "Din e-postadresse er allerede registrert på dette nettstedet."; -$a->strings["An invitation is required."] = "En invitasjon er påkrevd."; -$a->strings["Invitation could not be verified."] = "Invitasjon kunne ikke bekreftes."; -$a->strings["Please enter the required information."] = "Vennligst skriv inn nødvendig informasjon."; -$a->strings["Failed to store account information."] = "Mislyktes med å lagre kontoinformasjon."; -$a->strings["Registration confirmation for %s"] = "Registreringsbekreftelse for %s"; -$a->strings["Registration request at %s"] = "Registreringsforespørsel hos %s"; -$a->strings["your registration password"] = "ditt registreringspassord"; -$a->strings["Registration details for %s"] = "Registreringsdetaljer for %s"; -$a->strings["Account approved."] = "Konto godkjent."; -$a->strings["Registration revoked for %s"] = "Registrering trukket tilbake for %s"; -$a->strings["Account verified. Please login."] = "Konto bekreftet. Vennligst logg inn."; -$a->strings["Click here to upgrade."] = "Klikk her for å oppgradere."; -$a->strings["This action exceeds the limits set by your subscription plan."] = "Denne handlingen går utenfor grensene satt i din abonnementsplan."; -$a->strings["This action is not available under your subscription plan."] = "Denne handlingen er ikke tilgjengelig i din abonnementsplan."; -$a->strings["Channel is blocked on this site."] = "Kanalen er blokkert på dette nettstedet."; -$a->strings["Channel location missing."] = "Kanalplassering mangler."; -$a->strings["Response from remote channel was incomplete."] = "Svaret fra den andre kanalen var ikke komplett."; -$a->strings["Channel was deleted and no longer exists."] = "Kanalen er slettet og finnes ikke lenger."; -$a->strings["Protocol disabled."] = "Protokollen er avskrudd."; -$a->strings["Channel discovery failed."] = "Kanaloppdagelse mislyktes."; -$a->strings["local account not found."] = "lokal konto ble ikke funnet."; -$a->strings["Cannot connect to yourself."] = "Kan ikke lage forbindelse med deg selv."; -$a->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."] = "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn."; -$a->strings["%d invitation available"] = array( - 0 => "%d invitasjon tilgjengelig", - 1 => "%d invitasjoner tilgjengelig", -); -$a->strings["Advanced"] = "Avansert"; -$a->strings["Find Channels"] = "Finn kanaler"; -$a->strings["Enter name or interest"] = "Skriv navn eller interesse"; -$a->strings["Connect/Follow"] = "Forbindelse/Følg"; -$a->strings["Examples: Robert Morgenstein, Fishing"] = "Eksempler: Ola Nordmann, fisking"; -$a->strings["Find"] = "Finn"; -$a->strings["Channel Suggestions"] = "Kanalforslag"; -$a->strings["Random Profile"] = "Tilfeldig profil"; -$a->strings["Invite Friends"] = "Inviter venner"; -$a->strings["Advanced example: name=fred and country=iceland"] = "Avansert eksempel: navn=fred og land=island"; -$a->strings["Everything"] = "Alt"; -$a->strings["Categories"] = "Kategorier"; -$a->strings["%d connection in common"] = array( - 0 => "%d forbindelse felles", - 1 => "%d forbindelser felles", -); -$a->strings["show more"] = "vis mer"; $a->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."] = "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn."; $a->strings["Add new connections to this collection (privacy group)"] = "Legg nye forbindelser til denne samlingen (personverngruppe)"; $a->strings["All Channels"] = "Alle kanaler"; @@ -734,84 +882,19 @@ $a->strings["Collections"] = "Samlinger"; $a->strings["Edit collection"] = "Endre samling"; $a->strings["Add new collection"] = "Legg til ny samling"; $a->strings["Channels not in any collection"] = "Kanaler som ikke er i noen samling"; -$a->strings["add"] = "legg til"; -$a->strings["Tags"] = "Merkelapper"; -$a->strings["Keywords"] = "Nøkkelord"; -$a->strings["have"] = "har"; -$a->strings["has"] = "har"; -$a->strings["want"] = "ønsker"; -$a->strings["wants"] = "ønsker"; -$a->strings["like"] = "liker"; -$a->strings["likes"] = "liker"; -$a->strings["dislike"] = "misliker"; -$a->strings["dislikes"] = "misliker"; -$a->strings["Directory Options"] = "Kataloginnstillinger"; -$a->strings["Safe Mode"] = "Trygt modus"; -$a->strings["No"] = "Nei"; -$a->strings["Yes"] = "Ja"; -$a->strings["Public Forums Only"] = "Bare offentlige forum"; -$a->strings["This Website Only"] = "Kun dette nettstedet"; -$a->strings["Unable to obtain identity information from database"] = "Klarer ikke å få tak i identitetsinformasjon fra databasen"; -$a->strings["Empty name"] = "Mangler navn"; -$a->strings["Name too long"] = "Navnet er for langt"; -$a->strings["No account identifier"] = "Ingen kontoidentifikator"; -$a->strings["Nickname is required."] = "Kallenavn er påkrevd."; -$a->strings["Reserved nickname. Please choose another."] = "Reservert kallenavn. Vennligst velg et annet."; -$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet."; -$a->strings["Unable to retrieve created identity"] = "Klarer ikke å hente den lagede identiteten"; -$a->strings["Default Profile"] = "Standardprofil"; -$a->strings["Requested channel is not available."] = "Forespurt kanal er ikke tilgjengelig."; -$a->strings["Requested profile is not available."] = "Forespurt profil er ikke tilgjengelig."; -$a->strings["Change profile photo"] = "Endre profilbilde"; -$a->strings["Profiles"] = "Profiler"; -$a->strings["Manage/edit profiles"] = "Håndtere/endre profiler"; -$a->strings["Create New Profile"] = "Lag ny profil"; -$a->strings["Edit Profile"] = "Endre profil"; -$a->strings["Profile Image"] = "Profilbilde"; -$a->strings["visible to everybody"] = "synlig for alle"; -$a->strings["Edit visibility"] = "Endre synlighet"; -$a->strings["Gender:"] = "Kjønn:"; -$a->strings["Status:"] = "Status:"; -$a->strings["Homepage:"] = "Hjemmeside:"; -$a->strings["Online Now"] = "Online nå"; -$a->strings["g A l F d"] = "g A l F d"; -$a->strings["F d"] = "F d"; -$a->strings["[today]"] = "[idag]"; -$a->strings["Birthday Reminders"] = "Fødselsdagspåminnnelser"; -$a->strings["Birthdays this week:"] = "Fødselsdager denne uken:"; -$a->strings["[No description]"] = "[Ingen beskrivelse]"; -$a->strings["Event Reminders"] = "Hendelsespåminnelser"; -$a->strings["Events this week:"] = "Hendelser denne uken:"; -$a->strings["Full Name:"] = "Fullt navn:"; -$a->strings["Like this channel"] = "Lik denne kanalen"; -$a->strings["j F, Y"] = "j F, Y"; -$a->strings["j F"] = "j F"; -$a->strings["Birthday:"] = "Fødselsdag:"; -$a->strings["Age:"] = "Alder:"; -$a->strings["for %1\$d %2\$s"] = "for %1\$d %2\$s"; -$a->strings["Sexual Preference:"] = "Seksuell preferanse:"; -$a->strings["Hometown:"] = "Hjemby:"; -$a->strings["Tags:"] = "Merkelapper:"; -$a->strings["Political Views:"] = "Politiske synspunkter:"; -$a->strings["Religion:"] = "Religion:"; -$a->strings["About:"] = "Om:"; -$a->strings["Hobbies/Interests:"] = "Hobbyer/interesser:"; -$a->strings["Likes:"] = "Liker:"; -$a->strings["Dislikes:"] = "Misliker:"; -$a->strings["Contact information and Social Networks:"] = "Kontaktinformasjon og sosiale nettverk:"; -$a->strings["My other channels:"] = "Mine andre kanaler:"; -$a->strings["Musical interests:"] = "Musikkinteresse:"; -$a->strings["Books, literature:"] = "Bøker, litteratur:"; -$a->strings["Television:"] = "TV:"; -$a->strings["Film/dance/culture/entertainment:"] = "Film/dans/kultur/underholdning:"; -$a->strings["Love/Romance:"] = "Kjærlighet/romantikk:"; -$a->strings["Work/employment:"] = "Arbeid/sysselsetting:"; -$a->strings["School/education:"] = "Skole/utdannelse:"; -$a->strings["Like this thing"] = "Lik denne tingen"; -$a->strings["No recipient provided."] = "Ingen mottaker angitt."; -$a->strings["[no subject]"] = "[ikke noe emne]"; -$a->strings["Unable to determine sender."] = "Kan ikke avgjøre avsender."; -$a->strings["Stored post could not be verified."] = "Lagret innlegg kunne ikke bekreftes."; +$a->strings["New Page"] = "Ny side"; +$a->strings["View"] = "Vis"; +$a->strings["Actions"] = "Handlinger"; +$a->strings["Page Link"] = "Sidelenke"; +$a->strings["Title"] = "Tittel"; +$a->strings["Created"] = "Laget"; +$a->strings["Edited"] = "Endret"; +$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan ikke finne DNS-informasjon om databasetjener '%s'"; +$a->strings["Image exceeds website size limit of %lu bytes"] = "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes"; +$a->strings["Image file is empty."] = "Bildefilen er tom."; +$a->strings["Unable to process image"] = "Kan ikke behandle bildet"; +$a->strings["Photo storage failed."] = "Bildelagring mislyktes."; +$a->strings["Upload New Photos"] = "Last opp nye bilder"; $a->strings["Save to Folder"] = "Lagre i mappe"; $a->strings["I will attend"] = "Jeg vil delta"; $a->strings["I will not attend"] = "Jeg deltar ikke"; @@ -828,6 +911,7 @@ $a->strings["I like this (toggle)"] = "Jeg liker dette (skru av og på)"; $a->strings["I don't like this (toggle)"] = "Jeg liker ikke dette (skru av og på)"; $a->strings["Share This"] = "Del dette"; $a->strings["share"] = "del"; +$a->strings["Delivery Report"] = "Leveringsrapport"; $a->strings["%d comment"] = array( 0 => "%d kommentar", 1 => "%d kommentarer", @@ -837,7 +921,6 @@ $a->strings["to"] = "til"; $a->strings["via"] = "via"; $a->strings["Wall-to-Wall"] = "vegg-til-vegg"; $a->strings["via Wall-To-Wall:"] = "via vegg-til-vegg:"; -$a->strings["Delivery Report"] = "Leveringsrapport"; $a->strings["Save Bookmarks"] = "Lagre bokmerker"; $a->strings["Add to Calendar"] = "Legg til i kalender"; $a->strings["Mark all seen"] = "Merk alle som sett"; @@ -847,174 +930,137 @@ $a->strings["This is you"] = "Dette er deg"; $a->strings["Image"] = "Bilde"; $a->strings["Insert Link"] = "Sett inn lenke"; $a->strings["Video"] = "Video"; -$a->strings["Permission denied"] = "Tillatelse avvist"; -$a->strings["(Unknown)"] = "(Ukjent)"; -$a->strings["Visible to anybody on the internet."] = "Synlig for enhver på Internett."; -$a->strings["Visible to you only."] = "Synlig bare for deg."; -$a->strings["Visible to anybody in this network."] = "Synlig for enhver i dette nettverket."; -$a->strings["Visible to anybody authenticated."] = "Synlig for enhver som er autentisert."; -$a->strings["Visible to anybody on %s."] = "Synlig for alle på %s."; -$a->strings["Visible to all connections."] = "Synlig for alle forbindelser."; -$a->strings["Visible to approved connections."] = "Synlig for godkjente forbindelser."; -$a->strings["Visible to specific connections."] = "Synlig for spesifikke forbindelser."; -$a->strings["Item not found."] = "Elementet ble ikke funnet."; -$a->strings["Collection not found."] = "Samlingen ble ikke funnet."; -$a->strings["Collection is empty."] = "Samlingen er tom."; -$a->strings["Collection: %s"] = "Samling: %s"; -$a->strings["Connection: %s"] = "Forbindelse: %s"; -$a->strings["Connection not found."] = "Forbindelsen ble ikke funnet."; -$a->strings["Apps"] = "Apper"; -$a->strings["System"] = "System"; -$a->strings["Create Personal App"] = "Lag personlig app"; -$a->strings["Edit Personal App"] = "Endre personlig app"; -$a->strings["Ignore/Hide"] = "Ignorer/Skjul"; -$a->strings["Suggestions"] = "Forslag"; -$a->strings["See more..."] = "Se mer..."; -$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillate forbindelser."; -$a->strings["Add New Connection"] = "Legg til ny forbindelse"; -$a->strings["Enter the channel address"] = "Skriv kanal-adressen"; -$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann"; -$a->strings["Notes"] = "Merknader"; -$a->strings["Remove term"] = "Fjern begrep"; -$a->strings["Archives"] = "Arkiv"; -$a->strings["Me"] = "Meg"; -$a->strings["Family"] = "Familie"; -$a->strings["Acquaintances"] = "Bekjente"; -$a->strings["All"] = "Alle"; -$a->strings["Refresh"] = "Forny"; -$a->strings["Account settings"] = "Kontoinnstillinger"; -$a->strings["Channel settings"] = "Kanalinnstillinger"; -$a->strings["Additional features"] = "Tilleggsfunksjoner"; -$a->strings["Feature/Addon settings"] = "Funksjons-/Tilleggsinnstillinger"; -$a->strings["Display settings"] = "Visningsinnstillinger"; -$a->strings["Connected apps"] = "Tilkoblede app-er"; -$a->strings["Export channel"] = "Eksporter kanal"; -$a->strings["Connection Default Permissions"] = "Forbindelsens standard tillatelser"; -$a->strings["Premium Channel Settings"] = "Premiumkanal-innstillinger"; -$a->strings["Private Mail Menu"] = "Meny for privat post"; -$a->strings["Check Mail"] = "Sjekk meldinger"; -$a->strings["Combined View"] = "Kombinert visning"; -$a->strings["Inbox"] = "Innboks"; -$a->strings["Outbox"] = "Utboks"; -$a->strings["New Message"] = "Ny melding"; -$a->strings["Conversations"] = "Samtaler"; -$a->strings["Received Messages"] = "Mottatte meldinger"; -$a->strings["Sent Messages"] = "Sendte meldinger"; -$a->strings["No messages."] = "Ingen meldinger."; -$a->strings["Delete conversation"] = "Slett samtale"; -$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A"; -$a->strings["Chat Rooms"] = "Chatrom"; -$a->strings["Bookmarked Chatrooms"] = "Bokmerkede chatrom"; -$a->strings["Suggested Chatrooms"] = "Foreslåtte chatrom"; -$a->strings["photo/image"] = "foto/bilde"; -$a->strings["Rate Me"] = "Vurder meg"; -$a->strings["View Ratings"] = "Vis vurderinger"; -$a->strings["Public Hubs"] = "Offentlige huber"; -$a->strings["Forums"] = "Forum"; -$a->strings["Tasks"] = "Oppgaver"; -$a->strings["Documentation"] = "Dokumentasjon"; -$a->strings["Project/Site Information"] = "Prosjekt-/Nettstedsinformasjon"; -$a->strings["For Members"] = "For medlemmer"; -$a->strings["For Administrators"] = "For administratorer"; -$a->strings["For Developers"] = "For utviklere"; -$a->strings["Site"] = "Nettsted"; -$a->strings["Accounts"] = "Kontoer"; -$a->strings["Channels"] = "Kanaler"; -$a->strings["Plugins"] = "Tilleggsfunksjoner"; -$a->strings["Themes"] = "Temaer"; -$a->strings["Inspect queue"] = "Inspiser kø"; -$a->strings["Profile Config"] = "Profilinnstillinger"; -$a->strings["DB updates"] = "Databaseoppdateringer"; -$a->strings["Logs"] = "Logger"; -$a->strings["Admin"] = "Administrator"; -$a->strings["Plugin Features"] = "Tilleggsfunksjoner"; -$a->strings["User registrations waiting for confirmation"] = "Brukerregistreringer som venter på bekreftelse"; -$a->strings["Invalid data packet"] = "Ugyldig datapakke"; -$a->strings["Unable to verify channel signature"] = "Ikke i stand til å sjekke kanalsignaturen"; -$a->strings["Unable to verify site signature for %s"] = "Ikke i stand til å bekrefte signaturen til %s"; -$a->strings["invalid target signature"] = "Målets signatur er ugyldig"; -$a->strings["Logout"] = "Logg ut"; -$a->strings["End this session"] = "Avslutt denne økten"; -$a->strings["Home"] = "Hjem"; -$a->strings["Your posts and conversations"] = "Dine innlegg og samtaler"; -$a->strings["Your profile page"] = "Din profilside"; -$a->strings["Edit Profiles"] = "Endre profiler"; -$a->strings["Manage/Edit profiles"] = "Håndter/endre profiler"; -$a->strings["Edit your profile"] = "Endre din profil"; -$a->strings["Your photos"] = "Dine bilder"; -$a->strings["Your files"] = "Dine filer"; -$a->strings["Your chatrooms"] = "Dine chatterom"; -$a->strings["Your bookmarks"] = "Dine bokmerker"; -$a->strings["Your webpages"] = "Dine websider"; -$a->strings["Sign in"] = "Logg på"; -$a->strings["%s - click to logout"] = "%s - klikk for å logge ut"; -$a->strings["Remote authentication"] = "Fjernautentisering"; -$a->strings["Click to authenticate to your home hub"] = "Klikk for å godkjennes mot din hjemme-hub"; -$a->strings["Home Page"] = "Hjemmeside"; -$a->strings["Register"] = "Registrer"; -$a->strings["Create an account"] = "Lag en konto"; -$a->strings["Help and documentation"] = "Hjelp og dokumentasjon"; -$a->strings["Applications, utilities, links, games"] = "Programmer, verktøy, lenker, spill"; -$a->strings["Search site @name, #tag, ?docs, content"] = "Søk nettstedet for @navn, #merkelapp, ?dokumentasjon, innhold"; -$a->strings["Channel Directory"] = "Kanalkatalog"; -$a->strings["Grid"] = "Nett"; -$a->strings["Your grid"] = "Ditt nett"; -$a->strings["Mark all grid notifications seen"] = "Marker alle nettvarsler som sett"; -$a->strings["Channel home"] = "Kanalhjem"; -$a->strings["Mark all channel notifications seen"] = "Merk alle kanalvarsler som sett"; -$a->strings["Connections"] = "Forbindelser"; -$a->strings["Notices"] = "Varsel"; -$a->strings["Notifications"] = "Varsler"; -$a->strings["See all notifications"] = "Se alle varsler"; -$a->strings["Mark all system notifications seen"] = "Merk alle systemvarsler som sett"; -$a->strings["Private mail"] = "Privat post"; -$a->strings["See all private messages"] = "Se alle private meldinger"; -$a->strings["Mark all private messages seen"] = "Merk alle private meldinger som sett"; -$a->strings["Event Calendar"] = "Kalender"; -$a->strings["See all events"] = "Se alle hendelser"; -$a->strings["Mark all events seen"] = "Merk alle hendelser som sett"; -$a->strings["Manage Your Channels"] = "Håndter dine kanaler"; -$a->strings["Account/Channel Settings"] = "Konto-/kanal-innstillinger"; -$a->strings["Site Setup and Configuration"] = "Nettstedsoppsett og -konfigurasjon"; -$a->strings["@name, #tag, ?doc, content"] = "@navn, #merkelapp, ?dokumentasjon, innhold"; -$a->strings["Please wait..."] = "Vennligst vent..."; -$a->strings["Some blurb about what to do when you're new here"] = "En standardtekst om hva du bør gjøre som ny her"; -$a->strings["Contact not found."] = "Kontakten ble ikke funnet."; -$a->strings["Friend suggestion sent."] = "Venneforespørsel sendt."; -$a->strings["Suggest Friends"] = "Foreslå venner"; -$a->strings["Suggest a friend for %s"] = "Foreslå en venn for %s"; -$a->strings["Public access denied."] = "Offentlig tilgang avvist."; -$a->strings["%d rating"] = array( - 0 => "%d vurdering", - 1 => "%d vurderinger", -); -$a->strings["Gender: "] = "Kjønn:"; -$a->strings["Status: "] = "Status:"; -$a->strings["Homepage: "] = "Hjemmeside:"; -$a->strings["Description:"] = "Beskrivelse:"; -$a->strings["Public Forum:"] = "Offentlig forum:"; -$a->strings["Keywords: "] = "Nøkkelord:"; -$a->strings["Don't suggest"] = "Ikke foreslå"; -$a->strings["Common connections:"] = "Felles forbindelser:"; -$a->strings["Global Directory"] = "Global katalog"; -$a->strings["Local Directory"] = "Lokal katalog"; -$a->strings["Finding:"] = "Finner:"; -$a->strings["next page"] = "Neste side"; -$a->strings["previous page"] = "Forrige side"; -$a->strings["Sort options"] = "Sorteringsvalg"; -$a->strings["Alphabetic"] = "Alfabetisk"; -$a->strings["Reverse Alphabetic"] = "Omvendt alfabetisk"; -$a->strings["Newest to Oldest"] = "Nyest til eldst"; -$a->strings["Oldest to Newest"] = "Eldst til nyest"; -$a->strings["No entries (some entries may be hidden)."] = "Ingen oppføringer (noen oppføringer kan være skjult)."; -$a->strings["Bookmark added"] = "Bokmerke lagt til"; -$a->strings["My Bookmarks"] = "Mine bokmerker"; -$a->strings["My Connections Bookmarks"] = "Mine forbindelsers bokmerker"; +$a->strings["Not a valid email address"] = "Ikke en gyldig e-postadresse"; +$a->strings["Your email domain is not among those allowed on this site"] = "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet"; +$a->strings["Your email address is already registered at this site."] = "Din e-postadresse er allerede registrert på dette nettstedet."; +$a->strings["An invitation is required."] = "En invitasjon er påkrevd."; +$a->strings["Invitation could not be verified."] = "Invitasjon kunne ikke bekreftes."; +$a->strings["Please enter the required information."] = "Vennligst skriv inn nødvendig informasjon."; +$a->strings["Failed to store account information."] = "Mislyktes med å lagre kontoinformasjon."; +$a->strings["Registration confirmation for %s"] = "Registreringsbekreftelse for %s"; +$a->strings["Registration request at %s"] = "Registreringsforespørsel hos %s"; +$a->strings["your registration password"] = "ditt registreringspassord"; +$a->strings["Registration details for %s"] = "Registreringsdetaljer for %s"; +$a->strings["Account approved."] = "Konto godkjent."; +$a->strings["Registration revoked for %s"] = "Registrering trukket tilbake for %s"; +$a->strings["Account verified. Please login."] = "Konto bekreftet. Vennligst logg inn."; +$a->strings["Click here to upgrade."] = "Klikk her for å oppgradere."; +$a->strings["This action exceeds the limits set by your subscription plan."] = "Denne handlingen går utenfor grensene satt i din abonnementsplan."; +$a->strings["This action is not available under your subscription plan."] = "Denne handlingen er ikke tilgjengelig i din abonnementsplan."; +$a->strings["Site Admin"] = "Nettstedsadministrator"; +$a->strings["Address Book"] = "Adressebok"; +$a->strings["Mood"] = "Stemning"; +$a->strings["Probe"] = "Undersøk"; +$a->strings["Suggest"] = "Forreslå"; +$a->strings["Random Channel"] = "Tilfeldig kanal"; +$a->strings["Invite"] = "Inviter"; +$a->strings["Features"] = "Funksjoner"; +$a->strings["Language"] = "Språk"; +$a->strings["Post"] = "Innlegg"; +$a->strings["Profile Photo"] = "Profilbilde"; +$a->strings["Update"] = "Oppdater"; +$a->strings["Install"] = "Installer"; +$a->strings["Purchase"] = "Kjøp"; +$a->strings["Can view my normal stream and posts"] = "Kan se min normale strøm og innlegg"; +$a->strings["Can view my default channel profile"] = "Kan se min standard kanalprofil"; +$a->strings["Can view my connections"] = "Kan se mine forbindelser"; +$a->strings["Can view my file storage and photos"] = "Kan se mine filer og bilder"; +$a->strings["Can view my webpages"] = "Kan se mine websider"; +$a->strings["Can send me their channel stream and posts"] = "Kan sende meg deres kanalstrøm og innlegg"; +$a->strings["Can post on my channel page (\"wall\")"] = "Kan lage innlegg på min kanalside (\"vegg\")"; +$a->strings["Can comment on or like my posts"] = "Kan kommentere på eller like mine innlegg"; +$a->strings["Can send me private mail messages"] = "Kan sende meg private meldinger"; +$a->strings["Can like/dislike stuff"] = "Kan like/ikke like forskjellige greier"; +$a->strings["Profiles and things other than posts/comments"] = "Profiler og andre ting enn innlegg/kommentarer"; +$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan videresende til alle mine kanalkontakter via @navn i innlegg"; +$a->strings["Advanced - useful for creating group forum channels"] = "Avansert - nyttig for å lage forumkanaler for grupper"; +$a->strings["Can chat with me (when available)"] = "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)"; +$a->strings["Can write to my file storage and photos"] = "Kan skrive til mitt lager for filer og bilder"; +$a->strings["Can edit my webpages"] = "Kan endre mine websider"; +$a->strings["Can source my public posts in derived channels"] = "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler"; +$a->strings["Somewhat advanced - very useful in open communities"] = "Litt avansert - svært nyttig i åpne fellesskap"; +$a->strings["Can administer my channel resources"] = "Kan administrere mine kanalressurser"; +$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Ekstremt avansert. La dette være med mindre du vet hva du gjør"; +$a->strings["Social Networking"] = "Sosialt nettverk"; +$a->strings["Mostly Public"] = "Ganske offentlig"; +$a->strings["Restricted"] = "Begrenset"; +$a->strings["Private"] = "Privat"; +$a->strings["Community Forum"] = "Forum for fellesskap"; +$a->strings["Feed Republish"] = "Republisering av strømmet innhold"; +$a->strings["Special Purpose"] = "Spesiell bruk"; +$a->strings["Celebrity/Soapbox"] = "Kjendis/Talerstol"; +$a->strings["Group Repository"] = "Gruppelager"; +$a->strings["Custom/Expert Mode"] = "Tilpasset/Ekspertmodus"; +$a->strings["Profile Photos"] = "Profilbilder"; +$a->strings["Permission Denied."] = "Tillatelse avvist."; +$a->strings["File not found."] = "Filen ble ikke funnet."; +$a->strings["Edit file permissions"] = "Endre filtillatelser"; +$a->strings["Set/edit permissions"] = "Angi/endre tillatelser"; +$a->strings["Include all files and sub folders"] = "Inkluder alle filer og undermapper"; +$a->strings["Return to file list"] = "Gå tilbake til filoversikten"; +$a->strings["Copy/paste this code to attach file to a post"] = "Kopier og lim inn denne koden for å legge til filen i et innlegg"; +$a->strings["Copy/paste this URL to link file from a web page"] = "Kopier og lim inn denne URL-en for å lenke til filen fra en webside"; +$a->strings["Share this file"] = "Del denne filen"; +$a->strings["Show URL to this file"] = "Vis URLen til denne filen"; +$a->strings["Notify your contacts about this file"] = "Varsle dine kontakter om denne filen"; +$a->strings["Collection created."] = "Samling opprettet."; +$a->strings["Could not create collection."] = "Kunne ikke lage samling."; +$a->strings["Collection updated."] = "Samlingen er oppdatert."; +$a->strings["Create a collection of channels."] = "Lag en samling med kanaler."; +$a->strings["Collection Name: "] = "Navn på samling:"; +$a->strings["Members are visible to other channels"] = "Medlemmer er synlig for andre kanaler"; +$a->strings["Collection removed."] = "Samling fjernet."; +$a->strings["Unable to remove collection."] = "Ikke i stand til å fjerne samlingen."; +$a->strings["Collection Editor"] = "Samlingsbehandler"; +$a->strings["Members"] = "Medlemmer"; +$a->strings["All Connected Channels"] = "Alle tilkoblede kanaler"; +$a->strings["Click on a channel to add or remove."] = "Klikk på en kanal for å legge til eller fjerne."; +$a->strings["Unable to locate original post."] = "Ikke i stand til å finne opprinnelig innlegg."; +$a->strings["Empty post discarded."] = "Tomt innlegg forkastet."; +$a->strings["Executable content type not permitted to this channel."] = "Kjørbar innholdstype er ikke tillat for denne kanalen."; +$a->strings["Duplicate post suppressed."] = "Duplikat av innlegg forhindret."; +$a->strings["System error. Post not saved."] = "Systemfeil. Innlegg ble ikke lagret."; +$a->strings["Unable to obtain post information from database."] = "Ikke i stand til å få tak i informasjon om innlegg fra databasen."; +$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du har nådd din grense på %1$.0f startinnlegg."; +$a->strings["You have reached your limit of %1$.0f webpages."] = "Du har nådd din grense på %1$.0f websider."; +$a->strings["No channel."] = "Ingen kanal."; +$a->strings["Common connections"] = "Felles forbindelser"; +$a->strings["No connections in common."] = "Ingen forbindelser felles."; +$a->strings["Continue"] = "Fortsett"; +$a->strings["Premium Channel Setup"] = "Premiumkanal-oppsett"; +$a->strings["Enable premium channel connection restrictions"] = "Slå på restriksjoner for forbindelse med premiumkanal"; +$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre."; +$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:"; +$a->strings["Potential connections will then see the following text before proceeding:"] = "Potensielle forbindelser vil da se følgende tekst før de går videre:"; +$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden."; +$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)"; +$a->strings["Restricted or Premium Channel"] = "Begrenset kanal eller premiumkanal"; +$a->strings["Profile Match"] = "Profiltreff"; +$a->strings["No keywords to match. Please add keywords to your default profile."] = "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil."; +$a->strings["is interested in:"] = "er interessert i:"; +$a->strings["No matches"] = "Ingen treff"; $a->strings["OpenID protocol error. No ID returned."] = "OpenID protokollfeil. Ingen ID ble returnert."; $a->strings["Welcome %s. Remote authentication successful."] = "Velkommen %s. Ekstern autentisering er vellykket."; -$a->strings["Invalid item."] = "Ugyldig element."; -$a->strings["Channel not found."] = "Kanalen ble ikke funnet."; -$a->strings["Page not found."] = "Siden ikke funnet."; +$a->strings["Some blurb about what to do when you're new here"] = "En standardtekst om hva du bør gjøre som ny her"; +$a->strings["Away"] = "Borte"; +$a->strings["Online"] = "Online"; +$a->strings["Public Sites"] = "Offentlige nettsteder"; +$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Nettstedene på listen tillater offentlig registrering i \$Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger."; +$a->strings["Rate this hub"] = "Vurder denne hubben"; +$a->strings["Site URL"] = "Nettstedets URL"; +$a->strings["Access Type"] = "Tilgangstype"; +$a->strings["Registration Policy"] = "Retningslinjer for registrering"; +$a->strings["Project"] = "Prosjekt"; +$a->strings["View hub ratings"] = "Vis vurderinger av hubben"; +$a->strings["Rate"] = "Vurder"; +$a->strings["View ratings"] = "Vis vurderinger"; +$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s merket %3\$s til %2\$s med %4\$s"; +$a->strings["Website:"] = "Nettsted:"; +$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)"; +$a->strings["Rating (this information is public)"] = "Vurdering (denne informasjonen er offentlig)"; +$a->strings["Optionally explain your rating (this information is public)"] = "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)"; +$a->strings["Block Name"] = "Byggeklossens navn"; +$a->strings["Block Title"] = "Byggeklossens tittel"; $a->strings["First Name"] = "Fornavn"; $a->strings["Last Name"] = "Etternavn"; $a->strings["Nickname"] = "Kallenavn"; @@ -1047,28 +1093,10 @@ $a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s deltar ikke på %2\ $a->strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s deltar kanskje på %2\$ss %3\$s"; $a->strings["Action completed."] = "Handling ferdig."; $a->strings["Thank you."] = "Tusen takk."; -$a->strings["Export Channel"] = "Eksporter kanal"; -$a->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."] = "Eksporter grunnleggende informasjon om kanalen din til en fil. Denne er en sikkerhetskopi av dine forbindelser, tillatelser, profil og grunnleggende data, som kan brukes til å importere dine data til en ny hub, men den tar ikke med innholdet."; -$a->strings["Export Content"] = "Eksporter innhold"; -$a->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."] = "Eksporter din kanalinformasjon og det nyeste innholdet til en JSON-sikkerhetskopi, som kan gjenopprettes eller importeres til en annen hub. Denne lager en sikkerhetskopi av alle dine forbindelser, tillatelser, profildata og flere måneder av innholdet ditt. Denne filen kan være SVÆRT stor. Vennligst vær tålmodig - det kan ta flere minutter før denne nedlastningen begynner."; -$a->strings["Export your posts from a given year."] = "Eksporter dine innlegg fra et bestemt år"; -$a->strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Du kan også eksportere dine innlegg og samtaler for et bestemt år eller måned. Juster datoen i din nettlesers adresselinje for å velge andre datoer. Hvis eksporten feiler (muligens på grunn av utilstrekkelig minne på din hub), vennligst prøv igjen med et mer begrenset datoområde."; -$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "For å velge alle innlegg for et gitt år, slik som iår, besøk <a href=\"%1\$s\">%2\$s</a>"; -$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "For å velge alle innlegg fra en gitt måned, slik som januar i år, besøk <a href=\"%1\$s\">%2\$s</a>"; -$a->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)."] = "Disse innholdsfilene kan importeres eller gjenopprettes ved å besøke <a href=\"%1\$s\">%2\$s</a> på ethvert nettsted som inneholder din kanal. For best resultat, vennligst importer eller gjenopprett disse etter dato (eldste først)."; -$a->strings["Away"] = "Borte"; -$a->strings["Online"] = "Online"; -$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s merket %3\$s til %2\$s med %4\$s"; -$a->strings["No channel."] = "Ingen kanal."; -$a->strings["Common connections"] = "Felles forbindelser"; -$a->strings["No connections in common."] = "Ingen forbindelser felles."; -$a->strings["sent you a private message"] = "sendte deg en privat melding"; -$a->strings["added your channel"] = "la til din kanal"; -$a->strings["posted an event"] = "la ut en hendelse"; -$a->strings["Documentation Search"] = "Søk i dokumentasjon"; -$a->strings["Help:"] = "Hjelp:"; -$a->strings["Not Found"] = "Ikke funnet"; -$a->strings["\$Projectname Documentation"] = "\$Projectname dokumentasjon"; +$a->strings["Invalid item."] = "Ugyldig element."; +$a->strings["Channel not found."] = "Kanalen ble ikke funnet."; +$a->strings["Page not found."] = "Siden ikke funnet."; +$a->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."; $a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Fjerning av kanaler er ikke tillatt innen 48 timer etter endring av kontopassordet."; $a->strings["Remove This Channel"] = "Fjern denne kanalen"; $a->strings["WARNING: "] = "ADVARSEL:"; @@ -1078,38 +1106,186 @@ $a->strings["Please enter your password for verification:"] = "Vennligst skriv d $a->strings["Remove this channel and all its clones from the network"] = "Fjern denne kanalen og alle dens kloner fra nettverket"; $a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Som standard vil bare forekomsten av denne kanalen lokalisert på denne hubben bli fjernet fra nettverket"; $a->strings["Remove Channel"] = "Fjern kanal"; -$a->strings["- select -"] = "- velg -"; -$a->strings["Menu not found."] = "Menyen ble ikke funnet."; -$a->strings["Unable to create element."] = "Klarer ikke å lage element."; -$a->strings["Unable to update menu element."] = "Ikke i stand til å oppdatere menyelement."; -$a->strings["Unable to add menu element."] = "Ikke i stand til å legge til menyelement."; -$a->strings["Not found."] = "Ikke funnet."; -$a->strings["Menu Item Permissions"] = "Menyelement Tillatelser"; -$a->strings["(click to open/close)"] = "(klikk for å åpne/lukke)"; -$a->strings["Link Name"] = "Lenkenavn"; -$a->strings["Link or Submenu Target"] = "Lenke- eller undermeny-mål"; -$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Skriv URL-en til lenken eller velg et menynavn for å lage en undermeny"; -$a->strings["Use magic-auth if available"] = "Bruk magic-autent hvis mulig"; -$a->strings["Open link in new window"] = "Åpne lenke i nytt vindu"; -$a->strings["Order in list"] = "Ordne i liste"; -$a->strings["Higher numbers will sink to bottom of listing"] = "Høyere tall vil synke mot bunnen av listen"; -$a->strings["Submit and finish"] = "Send inn og avslutt"; -$a->strings["Submit and continue"] = "Send inn og fortsett"; -$a->strings["Menu:"] = "Meny:"; -$a->strings["Link Target"] = "Lenkemål"; -$a->strings["Edit menu"] = "Endre meny"; -$a->strings["Edit element"] = "Endre element"; -$a->strings["Drop element"] = "Slett element"; -$a->strings["New element"] = "Nytt element"; -$a->strings["Edit this menu container"] = "Endre denne menybeholderen"; -$a->strings["Add menu element"] = "Legg til menyelement"; -$a->strings["Delete this menu item"] = "Slett dette menyelementet"; -$a->strings["Edit this menu item"] = "Endre dette menyelementet"; -$a->strings["Menu item not found."] = "Menyelement ble ikke funnet."; -$a->strings["Menu item deleted."] = "Menyelement slettet."; -$a->strings["Menu item could not be deleted."] = "Menyelement kunne ikke bli slettet."; -$a->strings["Edit Menu Element"] = "Endre menyelement"; -$a->strings["Link text"] = "Lenketekst"; +$a->strings["Set your current mood and tell your friends"] = "Angi ditt nåværende humør og fortell dine venner"; +$a->strings["Add a Channel"] = "Legg til en kanal"; +$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "En kanal er din egen samling av relaterte web-sider. En kanal kan brukes til å samle sosiale nettverksprofiler, blogger, samtalegrupper og forum, kjendissider og mye mer. Du kan lage så mange kanaler som din tjenestetilbyder tillater."; +$a->strings["Channel Name"] = "Kanalnavn"; +$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Eksempel: \"Ola Nordmann\", \"Lisa og hestene hennes\", \"Fotball\", \"Sykkelgruppa\""; +$a->strings["Choose a short nickname"] = "Velg et kort kallenavn"; +$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Ditt kallenavn brukes til å lage en kanaladresse som er enkel å huske (minner om en e-postadresse) og som du kan dele med andre."; +$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Eller <a href=\"import\">importerer en eksisterende kanal</a> fra et annet sted."; +$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Vennligst velg en kanaltype (for eksempel sosialt nettverk eller forum for felleskap) og krav til personvern slik at vi kan velge de beste tillatelsene for deg."; +$a->strings["Channel Type"] = "Kanaltype"; +$a->strings["Read more about roles"] = "Les mer om roller"; +$a->strings["No ratings"] = "Ingen vurderinger"; +$a->strings["Public access denied."] = "Offentlig tilgang avvist."; +$a->strings["Ratings"] = "Vurderinger"; +$a->strings["Rating: "] = "Vurdering:"; +$a->strings["Website: "] = "Nettsted:"; +$a->strings["Description: "] = "Beskrivelse:"; +$a->strings["\$Projectname Server - Setup"] = "\$Projectname-tjener - oppsett"; +$a->strings["Could not connect to database."] = "Fikk ikke kontakt med databasen."; +$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS."; +$a->strings["Could not create table."] = "Kunne ikke lage tabellen."; +$a->strings["Your site database has been installed."] = "Databasen til ditt nettsted har blitt installert."; +$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Du må kanskje importere filen \"install/schmea_xxx.sql\" manuelt ved å bruke en databaseklient."; +$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Vennligst les filen \"install/INSTALL.txt\"."; +$a->strings["System check"] = "Systemsjekk"; +$a->strings["Next"] = "Neste"; +$a->strings["Check again"] = "Sjekk igjen"; +$a->strings["Database connection"] = "Databaseforbindelse"; +$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "For å installere \$Projectname må du oppgi hvordan din database kan kontaktes."; +$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene."; +$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter."; +$a->strings["Database Server Name"] = "Navn på databasetjener"; +$a->strings["Default is 127.0.0.1"] = "Standard er 127.0.0.1"; +$a->strings["Database Port"] = "Databaseport"; +$a->strings["Communication port number - use 0 for default"] = "Kommunikasjonsportnummer - bruk 0 for standard"; +$a->strings["Database Login Name"] = "Database innloggingsnavn"; +$a->strings["Database Login Password"] = "Database innloggingspassord"; +$a->strings["Database Name"] = "Databasenavn"; +$a->strings["Database Type"] = "Databasetype"; +$a->strings["Site administrator email address"] = "E-postadressen til administrator ved nettstedet"; +$a->strings["Your account email address must match this in order to use the web admin panel."] = "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet."; +$a->strings["Website URL"] = "Nettstedets URL"; +$a->strings["Please use SSL (https) URL if available."] = "Vennligst bruk SSL (https) URL hvis tilgjengelig."; +$a->strings["Please select a default timezone for your website"] = "Vennligst velg en standard tidssone for ditt nettsted"; +$a->strings["Site settings"] = "Nettstedets innstillinger"; +$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH)."; +$a->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."] = "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron."; +$a->strings["PHP executable path"] = "PHP-kjørefilens sti"; +$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen."; +$a->strings["Command line PHP"] = "Kommandolinje PHP"; +$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd."; +$a->strings["This is required for message delivery to work."] = "Dette er påkrevd for at meldingslevering skal virke."; +$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; +$a->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."] = "Den største totale opplastingsstørrelsen du er tillatt er satt til %s. Filstørrelsen på en enkelt fil er satt til å maksimalt være %s. Du har lov til å laste opp inntil %d filer samtidig."; +$a->strings["You can adjust these settings in the servers php.ini."] = "Du kan justere disse innstillingene i tjenerens php.ini."; +$a->strings["PHP upload limits"] = "PHP opplastingsgrenser"; +$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler"; +$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\"."; +$a->strings["Generate encryption keys"] = "Lag krypteringsnøkler"; +$a->strings["libCurl PHP module"] = "libCurl PHP-modul"; +$a->strings["GD graphics PHP module"] = "GD graphics PHP-modul"; +$a->strings["OpenSSL PHP module"] = "OpenSSL PHP-modul"; +$a->strings["mysqli or postgres PHP module"] = "MySQLi eller Postgres PHP modul"; +$a->strings["mb_string PHP module"] = "mb_string PHP-modul"; +$a->strings["mcrypt PHP module"] = "mcrypt PHP-modul"; +$a->strings["xml PHP module"] = "XML PHP modul"; +$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite-modul"; +$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert."; +$a->strings["proc_open"] = "proc_open"; +$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini"; +$a->strings["Error: libCURL PHP module required but not installed."] = "Feil: libCURL PHP-modul er påkrevd, men er ikke installert."; +$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert."; +$a->strings["Error: openssl PHP module required but not installed."] = "Feil: openssl PHP-modul er påkrevd, men er ikke installert."; +$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Feil: mysqli eller postgres PHP modul er påkrevd, men ingen av dem er installert."; +$a->strings["Error: mb_string PHP module required but not installed."] = "Feil: mb_string PHP-modul er påkrevd, men er ikke installert."; +$a->strings["Error: mcrypt PHP module required but not installed."] = "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert."; +$a->strings["Error: xml PHP module required for DAV but not installed."] = "Feil: XML PHP modul er påkrevet for DAV, men den er ikke installert."; +$a->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."] = "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til."; +$a->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."] = "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan."; +$a->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."] = "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red."; +$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner."; +$a->strings[".htconfig.php is writable"] = ".htconfig.php kan skrives til"; +$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen."; +$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe."; +$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen."; +$a->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."] = "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder."; +$a->strings["%s is writable"] = "%s kan skrives til"; +$a->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"] = "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe."; +$a->strings["store is writable"] = "lageret kan skrives til"; +$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet."; +$a->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!"] = "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!"; +$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub."; +$a->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."] = "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer."; +$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet."; +$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere."; +$a->strings["SSL certificate validation"] = "SSL sertifikat-kontroll"; +$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "URL omskriving (rewrite) i .htaccess virker ikke. Sjekk konfigurasjonen til tjeneren din. Test:"; +$a->strings["Url rewrite is working"] = "URL rewrite virker"; +$a->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."] = "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener."; +$a->strings["Errors encountered creating database tables."] = "Feil oppstod under opprettelsen av databasetabeller."; +$a->strings["<h1>What next</h1>"] = "<h1>Hva gjenstår</h1>"; +$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren."; +$a->strings["Bookmark added"] = "Bokmerke lagt til"; +$a->strings["My Bookmarks"] = "Mine bokmerker"; +$a->strings["My Connections Bookmarks"] = "Mine forbindelsers bokmerker"; +$a->strings["\$Projectname"] = "\$Projectname"; +$a->strings["Welcome to %s"] = "Velkommen til %s"; +$a->strings["This setting requires special processing and editing has been blocked."] = "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert."; +$a->strings["Configuration Editor"] = "Konfigurasjonsbehandler"; +$a->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."] = "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig."; +$a->strings["Poke/Prod"] = "Prikke/oppildne"; +$a->strings["poke, prod or do other things to somebody"] = "prikke, oppildne eller gjør andre ting med noen"; +$a->strings["Recipient"] = "Mottaker"; +$a->strings["Choose what you wish to do to recipient"] = "Velg hva du ønsker å gjøre med mottakeren"; +$a->strings["Make this post private"] = "Gjør dette innlegget privat"; +$a->strings["Profile not found."] = "Profilen ble ikke funnet."; +$a->strings["Profile deleted."] = "Profilen er slettet."; +$a->strings["Profile-"] = "Profil-"; +$a->strings["New profile created."] = "Ny profil opprettet."; +$a->strings["Profile unavailable to clone."] = "Profilen er utilgjengelig for klonen."; +$a->strings["Profile unavailable to export."] = "Profilen er utilgjengelig for eksport."; +$a->strings["Profile Name is required."] = "Profilnavn er påkrevd."; +$a->strings["Marital Status"] = "Sivilstand"; +$a->strings["Romantic Partner"] = "Romantisk partner"; +$a->strings["Likes"] = "Liker"; +$a->strings["Dislikes"] = "Liker ikke"; +$a->strings["Work/Employment"] = "Arbeid/sysselsetting"; +$a->strings["Religion"] = "Religion"; +$a->strings["Political Views"] = "Politiske synspunkter"; +$a->strings["Sexual Preference"] = "Seksuelle preferanser"; +$a->strings["Homepage"] = "Hjemmeside"; +$a->strings["Interests"] = "Interesser"; +$a->strings["Address"] = "Adresse"; +$a->strings["Profile updated."] = "Profilen er oppdatert."; +$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?"; +$a->strings["Edit Profile Details"] = "Endre profildetaljer"; +$a->strings["View this profile"] = "Vis denne profilen"; +$a->strings["Change Profile Photo"] = "Endre profilbilde"; +$a->strings["Create a new profile using these settings"] = "Lag en ny profil ved å bruke disse innstillingene"; +$a->strings["Clone this profile"] = "Klon denne profilen"; +$a->strings["Delete this profile"] = "Slett denne profilen"; +$a->strings["Import profile from file"] = "Importer profil fra fil"; +$a->strings["Export profile to file"] = "Eksporter profil til fil"; +$a->strings["Profile Name:"] = "Profilnavn:"; +$a->strings["Your Full Name:"] = "Ditt fulle navn:"; +$a->strings["Title/Description:"] = "Tittel/Beskrivelse:"; +$a->strings["Your Gender:"] = "Ditt kjønn:"; +$a->strings["Birthday :"] = "Fødselsdag:"; +$a->strings["Street Address:"] = "Gateadresse:"; +$a->strings["Locality/City:"] = "Sted/By:"; +$a->strings["Postal/Zip Code:"] = "Postnummer/ZIP-kode:"; +$a->strings["Country:"] = "Land:"; +$a->strings["Region/State:"] = "Region/fylke:"; +$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Sivilstand:"; +$a->strings["Who: (if applicable)"] = "Hvem: (hvis det er aktuelt) "; +$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Eksempler: kari123, Kari Villiamsen, kari@example.com"; +$a->strings["Since [date]:"] = "Siden [dato]:"; +$a->strings["Homepage URL:"] = "Hjemmeside URL:"; +$a->strings["Religious Views:"] = "Religiøse synspunkter:"; +$a->strings["Keywords:"] = "Nøkkelord:"; +$a->strings["Example: fishing photography software"] = "Eksempel: fisking fotografering programvare"; +$a->strings["Used in directory listings"] = "Brukt i katalogoppføringer"; +$a->strings["Tell us about yourself..."] = "Fortell oss om deg selv..."; +$a->strings["Hobbies/Interests"] = "Hobbier/Interesser"; +$a->strings["Contact information and Social Networks"] = "Kontaktinformasjon og sosiale nettverk"; +$a->strings["My other channels"] = "Mine andre kanaler"; +$a->strings["Musical interests"] = "Musikkinteresser"; +$a->strings["Books, literature"] = "Bøker, litteratur"; +$a->strings["Television"] = "TV/fjernsyn"; +$a->strings["Film/dance/culture/entertainment"] = "Film/dans/kultur/underholdning"; +$a->strings["Love/romance"] = "Kjærlighet/romantikk"; +$a->strings["Work/employment"] = "Arbeid/sysselsetting"; +$a->strings["School/education"] = "Skole/utdanning"; +$a->strings["This is your default profile."] = "Dette er din standardprofil."; +$a->strings["Age: "] = "Alder:"; +$a->strings["Edit/Manage Profiles"] = "Endre/håndter profiler"; +$a->strings["Add profile things"] = "Legg til profilting"; +$a->strings["Include desirable objects in your profile"] = "Inkluder ønskverdige objekter i din profil"; +$a->strings["Items tagged with: %s"] = "Elementer merket med: %s"; +$a->strings["Search results for: %s"] = "Søkeresultater for: %s"; $a->strings["Could not access contact record."] = "Fikk ikke tilgang til kontaktinformasjonen."; $a->strings["Could not locate selected profile."] = "Fant ikke valgt profil."; $a->strings["Connection updated."] = "Forbindelsen er oppdatert."; @@ -1146,15 +1322,17 @@ $a->strings["Accept connection to allow communication"] = "Godta denne forbindel $a->strings["Set Affinity"] = "Angi nærhet"; $a->strings["Set Profile"] = "Angi profil"; $a->strings["Set Affinity & Profile"] = "Angi nærhet og profil"; +$a->strings["none"] = "ingen"; $a->strings["Apply these permissions automatically"] = "Bruk disse tillatelsene automatisk"; -$a->strings["This connection's address is"] = "Denne forbindelsens adresse er"; +$a->strings["This connection's primary address is"] = "Denne forbindelsens primære adresse er"; +$a->strings["Available locations:"] = "Tilgjengelige plasseringer:"; $a->strings["The permissions indicated on this page will be applied to all new connections."] = "Tillatelsene angitt på denne siden gjøres gjeldende for alle nye forbindelser."; $a->strings["Slide to adjust your degree of friendship"] = "Flytt for å justere din grad av vennskap"; $a->strings["Slide to adjust your rating"] = "Flytt for å justere din vurdering"; $a->strings["Optionally explain your rating"] = "Velg om du vil forklare vurderingen"; $a->strings["Custom Filter"] = "Tilpasset filter"; $a->strings["Only import posts with this text"] = "Bare importer innlegg med disse ordene"; -$a->strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "ett ord per linje eller #merkelapper eller /mønstre/, la feltet stå tomt for å importere alle innlegg"; +$a->strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "ord per linje eller #merkelapper eller /mønster/ eller språk lang=xx, la stå blankt for å importere alle innlegg"; $a->strings["Do not import posts with this text"] = "Ikke importer innlegg med denne teksten"; $a->strings["This information is public!"] = "Denne informasjonen er offentlig!"; $a->strings["Connection Pending Approval"] = "Forbindelse venter på godkjenning"; @@ -1170,70 +1348,9 @@ $a->strings["Individual Permissions"] = "Individuelle tillatelser"; $a->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."] = "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan <strong>ikke</strong> endre arvede innstillingene her."; $a->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."] = "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\"><strong>personverninnstillinger</strong></a>, som har høyere prioritet enn individuelle innstillinger. Du kan endre disse innstillingene her, men de vil ikke få noen effekt før de arvede innstillingene endres."; $a->strings["Last update:"] = "Siste oppdatering:"; -$a->strings["Set your current mood and tell your friends"] = "Angi ditt nåværende humør og fortell dine venner"; -$a->strings["Hub not found."] = "Hubben ble ikke funnet."; -$a->strings["This setting requires special processing and editing has been blocked."] = "Denne innstillingen krever spesiell behandling og redigering har blitt blokkert."; -$a->strings["Configuration Editor"] = "Konfigurasjonsbehandler"; -$a->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."] = "Advarsel: kanalen din kan slutte å virke ved endring av enkelte innstillinger. Vennligst forlat denne siden med mindre du er komfortabel med dette og vet hvordan du bruker denne funksjonen riktig."; -$a->strings["Public Sites"] = "Offentlige nettsteder"; -$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Nettstedene på listen tillater offentlig registrering i \$Projectname-nettverket. Alle nettsteder i nettverket er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger."; -$a->strings["Rate this hub"] = "Vurder denne hubben"; -$a->strings["Site URL"] = "Nettstedets URL"; -$a->strings["Access Type"] = "Tilgangstype"; -$a->strings["Registration Policy"] = "Retningslinjer for registrering"; -$a->strings["Location"] = "Plassering"; -$a->strings["View hub ratings"] = "Vis vurderinger av hubben"; -$a->strings["Rate"] = "Vurder"; -$a->strings["View ratings"] = "Vis vurderinger"; -$a->strings["Permission Denied."] = "Tillatelse avvist."; -$a->strings["File not found."] = "Filen ble ikke funnet."; -$a->strings["Edit file permissions"] = "Endre filtillatelser"; -$a->strings["Set/edit permissions"] = "Angi/endre tillatelser"; -$a->strings["Include all files and sub folders"] = "Inkluder alle filer og undermapper"; -$a->strings["Return to file list"] = "Gå tilbake til filoversikten"; -$a->strings["Copy/paste this code to attach file to a post"] = "Kopier og lim inn denne koden for å legge til filen i et innlegg"; -$a->strings["Copy/paste this URL to link file from a web page"] = "Kopier og lim inn denne URL-en for å lenke til filen fra en webside"; -$a->strings["Share this file"] = "Del denne filen"; -$a->strings["Show URL to this file"] = "Vis URLen til denne filen"; -$a->strings["Notify your contacts about this file"] = "Varsle dine kontakter om denne filen"; -$a->strings["Layout Name"] = "Layout-navn"; -$a->strings["Layout Description (Optional)"] = "Layoutens beskrivelse (valgfritt)"; -$a->strings["Comanche page description language help"] = "Hjelp med Comanche sidebeskrivelsesspråk"; -$a->strings["Layout Description"] = "Layout-beskrivelse"; -$a->strings["Download PDL file"] = "Last ned PDL-fil"; -$a->strings["Poke/Prod"] = "Prikke/oppildne"; -$a->strings["poke, prod or do other things to somebody"] = "prikke, oppildne eller gjør andre ting med noen"; -$a->strings["Recipient"] = "Mottaker"; -$a->strings["Choose what you wish to do to recipient"] = "Velg hva du ønsker å gjøre med mottakeren"; -$a->strings["Make this post private"] = "Gjør dette innlegget privat"; -$a->strings["No such group"] = "Gruppen finnes ikke"; -$a->strings["No such channel"] = "Ingen slik kanal"; -$a->strings["forum"] = "forum"; -$a->strings["Search Results For:"] = "Søkeresultat for:"; -$a->strings["Collection is empty"] = "Samlingen er tom"; -$a->strings["Collection: "] = "Samling:"; -$a->strings["Invalid connection."] = "Ugyldig forbindelse."; -$a->strings["You must be logged in to see this page."] = "Du må være innloegget for å se denne siden."; -$a->strings["Room not found"] = "Rommet ble ikke funnet"; -$a->strings["Leave Room"] = "Forlat rom"; -$a->strings["Delete This Room"] = "Slett dette rommet"; -$a->strings["I am away right now"] = "Jeg er borte akkurat nå"; -$a->strings["I am online"] = "Jeg er online"; -$a->strings["Bookmark this room"] = "Bokmerk dette rommet"; -$a->strings["New Chatroom"] = "Nytt chatrom"; -$a->strings["Chatroom Name"] = "Navn på chatrom"; -$a->strings["%1\$s's Chatrooms"] = "%1\$s sine chatrom"; -$a->strings["Items tagged with: %s"] = "Elementer merket med: %s"; -$a->strings["Search results for: %s"] = "Søkeresultater for: %s"; -$a->strings["Conversation removed."] = "Samtale fjernet."; -$a->strings["Insufficient permissions. Request redirected to profile page."] = "Utilstrekkelig tillatelse. Forespørsel omdirigert til profilsiden."; -$a->strings["Item not found"] = "Elementet ble ikke funnet."; -$a->strings["Item is not editable"] = "Elementet kan ikke endres"; -$a->strings["Delete item?"] = "Slett element?"; -$a->strings["Insert YouTube video"] = "Sett inn YouTube-video"; -$a->strings["Insert Vorbis [.ogg] video"] = "Sett inn Vorbis [.ogg] video"; -$a->strings["Insert Vorbis [.ogg] audio"] = "Legg i"; -$a->strings["Edit post"] = "Endre innlegg"; +$a->strings["network"] = "nettverk"; +$a->strings["RSS"] = "RSS"; +$a->strings["\$Projectname channel"] = "\$Projectname-kanal"; $a->strings["Invalid message"] = "Ugyldig melding"; $a->strings["no results"] = "ingen resultater"; $a->strings["Delivery report for %1\$s"] = "Leveringsrapport for %1\$s"; @@ -1244,19 +1361,234 @@ $a->strings["accepted for delivery"] = "akseptert for levering"; $a->strings["updated"] = "oppdatert"; $a->strings["update ignored"] = "oppdatering ignorert"; $a->strings["permission denied"] = "tillatelse avvist"; -$a->strings["Delete block?"] = "Slett byggeklossen?"; -$a->strings["Edit Block"] = "Endre byggekloss"; -$a->strings["\$Projectname"] = "\$Projectname"; -$a->strings["Welcome to %s"] = "Velkommen til %s"; -$a->strings["Unable to locate original post."] = "Ikke i stand til å finne opprinnelig innlegg."; -$a->strings["Empty post discarded."] = "Tomt innlegg forkastet."; -$a->strings["Executable content type not permitted to this channel."] = "Kjørbar innholdstype er ikke tillat for denne kanalen."; -$a->strings["System error. Post not saved."] = "Systemfeil. Innlegg ble ikke lagret."; -$a->strings["Unable to obtain post information from database."] = "Ikke i stand til å få tak i informasjon om innlegg fra databasen."; -$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du har nådd din grense på %1$.0f startinnlegg."; -$a->strings["You have reached your limit of %1$.0f webpages."] = "Du har nådd din grense på %1$.0f websider."; +$a->strings["recipient not found"] = "mottaker ble ikke funnet"; +$a->strings["mail recalled"] = "melding tilbakekalt"; +$a->strings["duplicate mail received"] = "duplikat av melding mottatt"; +$a->strings["mail delivered"] = "melding mottatt"; +$a->strings["Item not found"] = "Elementet ble ikke funnet."; +$a->strings["Delete webpage?"] = "Slett webside?"; +$a->strings["Page link title"] = "Sidens lenketittel"; +$a->strings["Insert YouTube video"] = "Sett inn YouTube-video"; +$a->strings["Insert Vorbis [.ogg] video"] = "Sett inn Vorbis [.ogg] video"; +$a->strings["Insert Vorbis [.ogg] audio"] = "Legg i"; +$a->strings["Edit Webpage"] = "Endre webside"; $a->strings["Unable to find your hub."] = "Ikke i stand til å finne hubben din."; $a->strings["Post successful."] = "Innlegg vellykket."; +$a->strings["sent you a private message"] = "sendte deg en privat melding"; +$a->strings["added your channel"] = "la til din kanal"; +$a->strings["posted an event"] = "la ut en hendelse"; +$a->strings["Authorize application connection"] = "Tillat programforbindelse"; +$a->strings["Return to your app and insert this Securty Code:"] = "Gå tilbake til din app og legg inn denne sikkerhetskoden:"; +$a->strings["Please login to continue."] = "Vennligst logg inn for å fortsette."; +$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?"; +$a->strings["No more system notifications."] = "Ingen flere systemvarsler."; +$a->strings["System Notifications"] = "Systemvarsler"; +$a->strings["Select a bookmark folder"] = "Velg en bokmerkemappe"; +$a->strings["Save Bookmark"] = "Lagre bokmerke"; +$a->strings["URL of bookmark"] = "URL-en til bokmerket"; +$a->strings["Description"] = "Beskrivelse"; +$a->strings["Or enter new bookmark folder name"] = "Eller skriv nytt navn på bokmerkemappe"; +$a->strings["Contact not found."] = "Kontakten ble ikke funnet."; +$a->strings["Friend suggestion sent."] = "Venneforespørsel sendt."; +$a->strings["Suggest Friends"] = "Foreslå venner"; +$a->strings["Suggest a friend for %s"] = "Foreslå en venn for %s"; +$a->strings["Failed to create source. No channel selected."] = "Mislyktes med å lage kilde. Ingen kanal er valgt."; +$a->strings["Source created."] = "Kilden er laget."; +$a->strings["Source updated."] = "Kilden er oppdatert."; +$a->strings["*"] = "*"; +$a->strings["Manage remote sources of content for your channel."] = "Håndtere eksterne innholdskilder til din kanal."; +$a->strings["New Source"] = "Ny kilde"; +$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger."; +$a->strings["Only import content with these words (one per line)"] = "Bare importer innhold med disse ordene (ett ord per linje)"; +$a->strings["Leave blank to import all public content"] = "La stå tomt for å importere alt offentlig innhold"; +$a->strings["Source not found."] = "Kilden ble ikke funnet."; +$a->strings["Edit Source"] = "Endre kilde"; +$a->strings["Delete Source"] = "Slett kilde"; +$a->strings["Source removed"] = "Kilden er fjernet"; +$a->strings["Unable to remove source."] = "Ikke i stand til å fjerne kilde."; +$a->strings["Invalid request identifier."] = "Ugyldig forespørselsidentifikator."; +$a->strings["Discard"] = "Forkast"; +$a->strings["Tag removed"] = "Merkelapp fjernet"; +$a->strings["Remove Item Tag"] = "Fjern merkelapp fra element"; +$a->strings["Select a tag to remove: "] = "Velg merkelapp å fjerne:"; +$a->strings["Remove"] = "Fjern"; +$a->strings["%d rating"] = array( + 0 => "%d vurdering", + 1 => "%d vurderinger", +); +$a->strings["Gender: "] = "Kjønn:"; +$a->strings["Status: "] = "Status:"; +$a->strings["Homepage: "] = "Hjemmeside:"; +$a->strings["Description:"] = "Beskrivelse:"; +$a->strings["Public Forum:"] = "Offentlig forum:"; +$a->strings["Keywords: "] = "Nøkkelord:"; +$a->strings["Don't suggest"] = "Ikke foreslå"; +$a->strings["Common connections:"] = "Felles forbindelser:"; +$a->strings["Global Directory"] = "Global katalog"; +$a->strings["Local Directory"] = "Lokal katalog"; +$a->strings["Finding:"] = "Finner:"; +$a->strings["next page"] = "Neste side"; +$a->strings["previous page"] = "Forrige side"; +$a->strings["Sort options"] = "Sorteringsvalg"; +$a->strings["Alphabetic"] = "Alfabetisk"; +$a->strings["Reverse Alphabetic"] = "Omvendt alfabetisk"; +$a->strings["Newest to Oldest"] = "Nyest til eldst"; +$a->strings["Oldest to Newest"] = "Eldst til nyest"; +$a->strings["No entries (some entries may be hidden)."] = "Ingen oppføringer (noen oppføringer kan være skjult)."; +$a->strings["No valid account found."] = "Ingen gyldig konto funnet."; +$a->strings["Password reset request issued. Check your email."] = "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din."; +$a->strings["Site Member (%s)"] = "Nettstedsmedlem (%s)"; +$a->strings["Password reset requested at %s"] = "Forespurt om å tilbakestille passord hos %s"; +$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes."; +$a->strings["Password Reset"] = "Tilbakestill passord"; +$a->strings["Your password has been reset as requested."] = "Ditt passord har blitt tilbakestilt som forespurt."; +$a->strings["Your new password is"] = "Ditt nye passord er"; +$a->strings["Save or copy your new password - and then"] = "Lagre eller kopier ditt nye passord, og deretter kan du"; +$a->strings["click here to login"] = "klikke her for å logge inn"; +$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging."; +$a->strings["Your password has changed at %s"] = "Ditt passord er endret hos %s"; +$a->strings["Forgot your Password?"] = "Glemt passord ditt?"; +$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner."; +$a->strings["Email Address"] = "E-postadresse"; +$a->strings["Reset"] = "Tilbakestill"; +$a->strings["This site is not a directory server"] = "Dette nettstedet er ikke en katalogtjener"; +$a->strings["%s element installed"] = "%s element installert"; +$a->strings["%s element installation failed"] = "Installasjon av %s-element mislyktes"; +$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s følger %2\$s sin %3\$s"; +$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s stopped å følge %2\$s sin %3\$s"; +$a->strings["Your service plan only allows %d channels."] = "Din tjenesteplan tillater bare %d kanaler."; +$a->strings["Nothing to import."] = "Ingenting å importere."; +$a->strings["Unable to download data from old server"] = "Ikke i stand til å laste ned data fra gammel tjener"; +$a->strings["Imported file is empty."] = "Importert fil er tom."; +$a->strings["Warning: Database versions differ by %1\$d updates."] = "Advarsel: databaseversjoner avviker med %1\$d oppdateringer."; +$a->strings["No channel. Import failed."] = "Ingen kanal. Import mislyktes."; +$a->strings["You must be logged in to use this feature."] = "Du må være innlogget for å bruke denne funksjonen."; +$a->strings["Import Channel"] = "Importer kanal"; +$a->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."] = "Bruk dette skjemaet for å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente inn kanalidentiteten fra den gamle tjeneren/huben via nettverket eller ved å bruke en eksportfil."; +$a->strings["File to Upload"] = "Fil som skal lastes opp"; +$a->strings["Or provide the old server/hub details"] = "Eller oppgi detaljene fra den gamle tjeneren/hub-en"; +$a->strings["Your old identity address (xyz@example.com)"] = "Din gamle identitetsadresse (xyz@example.com)"; +$a->strings["Your old login email address"] = "Din gamle innloggings e-postadresse"; +$a->strings["Your old login password"] = "Ditt gamle innloggingspassord"; +$a->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."] = "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media."; +$a->strings["Make this hub my primary location"] = "Gjør dette nettstedet til min primære plassering"; +$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importer eksisterende innlegg om mulig (eksperimentelt - begrenset av tilgjengelig minne)"; +$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Denne prosessen kan ta flere minutter å fullføre. Vennligst send inn dette skjemaet bare en gang og la siden være åpen inntil den er ferdig."; +$a->strings["Page owner information could not be retrieved."] = "Informasjon om sideeier kunne ikke hentes."; +$a->strings["Album not found."] = "Albumet ble ikke funnet."; +$a->strings["Delete Album"] = "Slett album"; +$a->strings["Delete Photo"] = "Slett bilde"; +$a->strings["No photos selected"] = "Ingen bilder valgt"; +$a->strings["Access to this item is restricted."] = "Tilgang til dette elementet er begrenset."; +$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB av %2$.2f MB lagringsplass til bilder er brukt."; +$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB lagringsplass til bilder er brukt."; +$a->strings["Upload Photos"] = "Last opp bilder"; +$a->strings["Enter an album name"] = "Skriv et albumnavn"; +$a->strings["or select an existing album (doubleclick)"] = "eller velg et eksisterende album (dobbeltklikk)"; +$a->strings["Create a status post for this upload"] = "Lag et statusinnlegg for denne opplastingen"; +$a->strings["Caption (optional):"] = "Bildetekst (valgfritt):"; +$a->strings["Description (optional):"] = "Beskrivelse (valgfritt):"; +$a->strings["Album name could not be decoded"] = "Albumnavnet kunne ikke dekodes"; +$a->strings["Contact Photos"] = "Kontaktbilder"; +$a->strings["Show Newest First"] = "Vis nyeste først"; +$a->strings["Show Oldest First"] = "Vis eldste først"; +$a->strings["Permission denied. Access to this item may be restricted."] = "Tillatelse avvist. Tilgang til dette elementet kan være begrenset."; +$a->strings["Photo not available"] = "Bilde er utilgjengelig"; +$a->strings["Use as profile photo"] = "Bruk som profilbilde"; +$a->strings["Private Photo"] = "Privat bilde"; +$a->strings["Previous"] = "Forrige"; +$a->strings["View Full Size"] = "Vis i full størrelse"; +$a->strings["Edit photo"] = "Endre bilde"; +$a->strings["Rotate CW (right)"] = "Roter med klokka (mot høyre)"; +$a->strings["Rotate CCW (left)"] = "Roter mot klokka (venstre)"; +$a->strings["Enter a new album name"] = "Skriv et nytt albumnavn"; +$a->strings["or select an existing one (doubleclick)"] = "eller velg et eksisterende album (dobbeltklikk)"; +$a->strings["Caption"] = "Overskrift"; +$a->strings["Add a Tag"] = "Legg til merkelapp"; +$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Eksempel: @bob, @Barbara_Jensen, @jim@example.com"; +$a->strings["Flag as adult in album view"] = "Flag som voksent i albumvisning"; +$a->strings["In This Photo:"] = "I dette bildet:"; +$a->strings["Map"] = "Kart"; +$a->strings["View Album"] = "Vis album"; +$a->strings["Recent Photos"] = "Nye bilder"; +$a->strings["Fetching URL returns error: %1\$s"] = "Henting av URL gir følgende feil: %1\$s"; +$a->strings["Image uploaded but image cropping failed."] = "Bildet ble lastet opp, men beskjæring av bildet mislyktes."; +$a->strings["Image resize failed."] = "Endring av bildestørrelse mislyktes."; +$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart."; +$a->strings["Image upload failed."] = "Opplasting av bildet mislyktes."; +$a->strings["Unable to process image."] = "Kan ikke behandle bildet."; +$a->strings["female"] = "kvinne"; +$a->strings["%1\$s updated her %2\$s"] = "%1\$s oppdaterte %2\$s sitt"; +$a->strings["male"] = "mann"; +$a->strings["%1\$s updated his %2\$s"] = "%1\$s oppdaterte %2\$s sitt"; +$a->strings["%1\$s updated their %2\$s"] = "%1\$s oppdaterte %2\$s deres"; +$a->strings["profile photo"] = "profilbilde"; +$a->strings["Photo not available."] = "Bildet er ikke tilgjengelig."; +$a->strings["Upload File:"] = "Last opp fil:"; +$a->strings["Select a profile:"] = "Velg en profil:"; +$a->strings["Upload Profile Photo"] = "Last opp profilbilde:"; +$a->strings["or"] = "eller"; +$a->strings["skip this step"] = "hopp over dette steget"; +$a->strings["select a photo from your photo albums"] = "velg et bilde fra dine fotoalbum"; +$a->strings["Crop Image"] = "Beskjær bildet"; +$a->strings["Please adjust the image cropping for optimum viewing."] = "Vennligst juster bildebeskjæringen for optimal visning."; +$a->strings["Done Editing"] = "Avslutt redigering"; +$a->strings["Thing updated"] = "Tingen er oppdatert"; +$a->strings["Object store: failed"] = "Objektlagring: mislyktes"; +$a->strings["Thing added"] = "Ting lagt til"; +$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; +$a->strings["Show Thing"] = "Vis ting"; +$a->strings["item not found."] = "element ble ikke funnet."; +$a->strings["Edit Thing"] = "Endre ting"; +$a->strings["Select a profile"] = "Velg en profil"; +$a->strings["Post an activity"] = "Legg inn en aktivitet"; +$a->strings["Only sends to viewers of the applicable profile"] = "Sender bare til seere av den aktuelle profilen"; +$a->strings["Name of thing e.g. something"] = "Navn på ting for eksempel noe"; +$a->strings["URL of thing (optional)"] = "URL til ting (valgfritt)"; +$a->strings["URL for photo of thing (optional)"] = "URL til bilde av ting (valgfritt)"; +$a->strings["Add Thing to your Profile"] = "Legg til ting i din profil"; +$a->strings["This directory server requires an access token"] = "Denne katalogtjeneren krever en tilgangsnøkkel (access token)"; +$a->strings["Delete block?"] = "Slett byggeklossen?"; +$a->strings["Edit Block"] = "Endre byggekloss"; +$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet."; +$a->strings["Remove This Account"] = "Slett denne kontoen"; +$a->strings["This account and all its channels will be completely removed from the network. "] = "Denne kontoen og alle dens kanaler vil bli fullstendig fjernet fra nettverket."; +$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Slett denne kontoen, alle dens kanaler og alle dens kanalkloner fra dette nettverket"; +$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Som standard vil bare forekomster av kanalene lokalisert på denne hubben bli slettet fra nettverket"; +$a->strings["Remove Account"] = "Slett konto"; +$a->strings["Import completed"] = "Import ferdig"; +$a->strings["Import Items"] = "Importer elementer"; +$a->strings["Use this form to import existing posts and content from an export file."] = "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil."; +$a->strings["No such group"] = "Gruppen finnes ikke"; +$a->strings["No such channel"] = "Ingen slik kanal"; +$a->strings["forum"] = "forum"; +$a->strings["Search Results For:"] = "Søkeresultat for:"; +$a->strings["Collection is empty"] = "Samlingen er tom"; +$a->strings["Collection: "] = "Samling:"; +$a->strings["Invalid connection."] = "Ugyldig forbindelse."; +$a->strings["Layout updated."] = "Layout er oppdatert."; +$a->strings["Edit System Page Description"] = "Endre beskrivelsen av systemsiden"; +$a->strings["Layout not found."] = "Layouten ble ikke funnet."; +$a->strings["Module Name:"] = "Modulnavn:"; +$a->strings["Layout Help"] = "Layout-hjelp"; +$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen."; +$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes."; +$a->strings["Passwords do not match."] = "Passordene er ikke like."; +$a->strings["Registration successful. Please check your email for validation instructions."] = "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen."; +$a->strings["Your registration is pending approval by the site owner."] = "Din registrering venter på godkjenning av nettstedets eier."; +$a->strings["Your registration can not be processed."] = "Din registrering kan ikke behandles."; +$a->strings["Registration on this site/hub is by approval only."] = "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning."; +$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>"; +$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen."; +$a->strings["Terms of Service"] = "Tjenesteavtale"; +$a->strings["I accept the %s for this website"] = "Jeg godtar %s for dette nettstedet"; +$a->strings["I am over 13 years of age and accept the %s for this website"] = "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet."; +$a->strings["Registration"] = "Registrering"; +$a->strings["Membership on this site is by invitation only."] = "Medlemskap ved dette nettstedet skjer kun via invitasjon."; +$a->strings["Please enter your invitation code"] = "Vennligst skriv din invitasjonskode"; +$a->strings["Your email address"] = "Din e-postadresse"; +$a->strings["Choose a password"] = "Velg et passord"; +$a->strings["Please re-enter your password"] = "Vennligst skriv ditt passord en gang til"; $a->strings["Theme settings updated."] = "Temainnstillinger er oppdatert."; $a->strings["# Accounts"] = "# Kontoer"; $a->strings["# blocked accounts"] = "# blokkerte kontoer"; @@ -1282,7 +1614,6 @@ $a->strings["My site is not a public server"] = "Mitt nettsted er ikke en offent $a->strings["My site has paid access only"] = "Mitt nettsted gir kun tilgang mot betaling"; $a->strings["My site has free access only"] = "Mitt nettsted har kun gratis tilgang"; $a->strings["My site offers free accounts with optional paid upgrades"] = "Mitt nettsted tilbyr gratis konto med valgfri oppgradering til betalt tjeneste"; -$a->strings["Registration"] = "Registrering"; $a->strings["File upload"] = "Last opp fil"; $a->strings["Policies"] = "Retningslinjer"; $a->strings["Site name"] = "Nettstedets navn"; @@ -1324,6 +1655,8 @@ $a->strings["Disable discovery tab"] = "Skru av oppdagelsesfanen"; $a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Fjern fanen fra nettverksvisningen med offentlig innhold trukket inn fra kilder valg for dette nettstedet."; $a->strings["login on Homepage"] = "Logg inn på hjemmesiden"; $a->strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenter en innloggingsboks til besøkende på hjemmesiden hvis ikke noe annet innhold har blitt konfigurert."; +$a->strings["Directory Server URL"] = "Katalogtjener URL"; +$a->strings["Default directory server"] = "Standard katalogtjener"; $a->strings["Proxy user"] = "Brukernavn mellomtjener"; $a->strings["Proxy URL"] = "Mellomtjener URL"; $a->strings["Network timeout"] = "Nettverk tidsavbrudd"; @@ -1407,7 +1740,6 @@ $a->strings["Uncensor"] = "Ikke sensurer lenger"; $a->strings["Allow Code"] = "Tillat kode"; $a->strings["Disallow Code"] = "Ikke tillat kode"; $a->strings["UID"] = "UID"; -$a->strings["Address"] = "Adresse"; $a->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?"] = "Valgte kanaler vil bli slettet!\\n\\nAlt innhold som er lagt inn i disse kanalene på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette disse kanalene med alt innhold?"; $a->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?"] = "Kanalen {0} vil bli slettet!\\n\\nAlt innhold som er lagt inn i denne kanalen på dettet nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette denne kanalen med alt innhold?"; $a->strings["Plugin %s disabled."] = "Tilleggsfunksjonen %s er avskrudd."; @@ -1437,322 +1769,10 @@ $a->strings["Help text"] = "Hjelpetekst"; $a->strings["Additional info (optional)"] = "Tilleggsinformasjon (valgfritt)"; $a->strings["Field definition not found"] = "Feltdefinisjonen ble ikke funnet"; $a->strings["Edit Profile Field"] = "Endre profilfelt"; -$a->strings["App installed."] = "App installert."; -$a->strings["Malformed app."] = "Feil oppsett for app-en."; -$a->strings["Embed code"] = "Innbyggingskode"; -$a->strings["Edit App"] = "Endre app"; -$a->strings["Create App"] = "Lag app"; -$a->strings["Name of app"] = "Navn på app"; -$a->strings["Location (URL) of app"] = "Plassering (URL) til app"; -$a->strings["Description"] = "Beskrivelse"; -$a->strings["Photo icon URL"] = "Bildeikon URL"; -$a->strings["80 x 80 pixels - optional"] = "80 x80 pixler - valgfritt"; -$a->strings["Version ID"] = "Versjons-ID"; -$a->strings["Price of app"] = "Pris på app"; -$a->strings["Location (URL) to purchase app"] = "Plassering (URL) for å kjøpe app"; -$a->strings["Unable to update menu."] = "Ikke i stand til å oppdatere meny."; -$a->strings["Unable to create menu."] = "Ikke i stand til å lage meny."; -$a->strings["Menu Name"] = "Menynavn"; -$a->strings["Unique name (not visible on webpage) - required"] = "Unikt navn (ikke synlig på websiden) - påkrevet"; -$a->strings["Menu Title"] = "Menytittel"; -$a->strings["Visible on webpage - leave empty for no title"] = "Synlig på websiden - la stå tomt for ingen tittel"; -$a->strings["Allow Bookmarks"] = "Tillat bokmerker"; -$a->strings["Menu may be used to store saved bookmarks"] = "Menyen kan brukes til å lagre lagrede bokmerker"; -$a->strings["Submit and proceed"] = "Send inn og fortsett"; -$a->strings["Drop"] = "Slett"; -$a->strings["Bookmarks allowed"] = "Bokmerker tillatt"; -$a->strings["Delete this menu"] = "Slett denne menyen"; -$a->strings["Edit menu contents"] = "Endre menyinnholdet"; -$a->strings["Edit this menu"] = "Endre denne menyen"; -$a->strings["Menu could not be deleted."] = "Menyen kunne ikke bli slettet."; -$a->strings["Edit Menu"] = "Endre meny"; -$a->strings["Add or remove entries to this menu"] = "Legg til eller fjern punkter i denne menyen"; -$a->strings["Menu name"] = "Menynavn"; -$a->strings["Must be unique, only seen by you"] = "Må være unik, ses bare av deg"; -$a->strings["Menu title"] = "Menytittel"; -$a->strings["Menu title as seen by others"] = "Menytittelen andre ser"; -$a->strings["Allow bookmarks"] = "Tillat bokmerker"; -$a->strings["No more system notifications."] = "Ingen flere systemvarsler."; -$a->strings["System Notifications"] = "Systemvarsler"; -$a->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."; -$a->strings["Add a Channel"] = "Legg til en kanal"; -$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "En kanal er din egen samling av relaterte web-sider. En kanal kan brukes til å samle sosiale nettverksprofiler, blogger, samtalegrupper og forum, kjendissider og mye mer. Du kan lage så mange kanaler som din tjenestetilbyder tillater."; -$a->strings["Channel Name"] = "Kanalnavn"; -$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Eksempel: \"Ola Nordmann\", \"Lisa og hestene hennes\", \"Fotball\", \"Sykkelgruppa\""; -$a->strings["Choose a short nickname"] = "Velg et kort kallenavn"; -$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Ditt kallenavn brukes til å lage en kanaladresse som er enkel å huske (minner om en e-postadresse) og som du kan dele med andre."; -$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Eller <a href=\"import\">importerer en eksisterende kanal</a> fra et annet sted."; -$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Vennligst velg en kanaltype (for eksempel sosialt nettverk eller forum for felleskap) og krav til personvern slik at vi kan velge de beste tillatelsene for deg."; -$a->strings["Channel Type"] = "Kanaltype"; -$a->strings["Read more about roles"] = "Les mer om roller"; -$a->strings["Invalid request identifier."] = "Ugyldig forespørselsidentifikator."; -$a->strings["Discard"] = "Forkast"; -$a->strings["Layout updated."] = "Layout er oppdatert."; -$a->strings["Edit System Page Description"] = "Endre beskrivelsen av systemsiden"; -$a->strings["Layout not found."] = "Layouten ble ikke funnet."; -$a->strings["Module Name:"] = "Modulnavn:"; -$a->strings["Layout Help"] = "Layout-hjelp"; -$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s følger %2\$s sin %3\$s"; -$a->strings["No valid account found."] = "Ingen gyldig konto funnet."; -$a->strings["Password reset request issued. Check your email."] = "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din."; -$a->strings["Site Member (%s)"] = "Nettstedsmedlem (%s)"; -$a->strings["Password reset requested at %s"] = "Forespurt om å tilbakestille passord hos %s"; -$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes."; -$a->strings["Password Reset"] = "Tilbakestill passord"; -$a->strings["Your password has been reset as requested."] = "Ditt passord har blitt tilbakestilt som forespurt."; -$a->strings["Your new password is"] = "Ditt nye passord er"; -$a->strings["Save or copy your new password - and then"] = "Lagre eller kopier ditt nye passord, og deretter kan du"; -$a->strings["click here to login"] = "klikke her for å logge inn"; -$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging."; -$a->strings["Your password has changed at %s"] = "Ditt passord er endret hos %s"; -$a->strings["Forgot your Password?"] = "Glemt passord ditt?"; -$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner."; -$a->strings["Email Address"] = "E-postadresse"; -$a->strings["Reset"] = "Tilbakestill"; -$a->strings["Page owner information could not be retrieved."] = "Informasjon om sideeier kunne ikke hentes."; -$a->strings["Album not found."] = "Albumet ble ikke funnet."; -$a->strings["Delete Album"] = "Slett album"; -$a->strings["Delete Photo"] = "Slett bilde"; -$a->strings["No photos selected"] = "Ingen bilder valgt"; -$a->strings["Access to this item is restricted."] = "Tilgang til dette elementet er begrenset."; -$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB av %2$.2f MB lagringsplass til bilder er brukt."; -$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB lagringsplass til bilder er brukt."; -$a->strings["Upload Photos"] = "Last opp bilder"; -$a->strings["Enter an album name"] = "Skriv et albumnavn"; -$a->strings["or select an existing album (doubleclick)"] = "eller velg et eksisterende album (dobbeltklikk)"; -$a->strings["Create a status post for this upload"] = "Lag et statusinnlegg for denne opplastingen"; -$a->strings["Album name could not be decoded"] = "Albumnavnet kunne ikke dekodes"; -$a->strings["Contact Photos"] = "Kontaktbilder"; -$a->strings["Show Newest First"] = "Vis nyeste først"; -$a->strings["Show Oldest First"] = "Vis eldste først"; -$a->strings["View Photo"] = "Vis foto"; -$a->strings["Edit Album"] = "Endre album"; -$a->strings["Permission denied. Access to this item may be restricted."] = "Tillatelse avvist. Tilgang til dette elementet kan være begrenset."; -$a->strings["Photo not available"] = "Bilde er utilgjengelig"; -$a->strings["Use as profile photo"] = "Bruk som profilbilde"; -$a->strings["Private Photo"] = "Privat bilde"; -$a->strings["Previous"] = "Forrige"; -$a->strings["View Full Size"] = "Vis i full størrelse"; -$a->strings["Next"] = "Neste"; -$a->strings["Remove"] = "Fjern"; -$a->strings["Edit photo"] = "Endre bilde"; -$a->strings["Rotate CW (right)"] = "Roter med klokka (mot høyre)"; -$a->strings["Rotate CCW (left)"] = "Roter mot klokka (venstre)"; -$a->strings["Enter a new album name"] = "Skriv et nytt albumnavn"; -$a->strings["or select an existing one (doubleclick)"] = "eller velg et eksisterende album (dobbeltklikk)"; -$a->strings["Caption"] = "Overskrift"; -$a->strings["Add a Tag"] = "Legg til merkelapp"; -$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Eksempel: @bob, @Barbara_Jensen, @jim@example.com"; -$a->strings["Flag as adult in album view"] = "Flag som voksent i albumvisning"; -$a->strings["In This Photo:"] = "I dette bildet:"; -$a->strings["Map"] = "Kart"; -$a->strings["View Album"] = "Vis album"; -$a->strings["Recent Photos"] = "Nye bilder"; -$a->strings["\$Projectname channel"] = "\$Projectname-kanal"; -$a->strings["Website:"] = "Nettsted:"; -$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Fjerntliggende kanal [%s] (foreløpig ikke kjent på dette nettstedet)"; -$a->strings["Rating (this information is public)"] = "Vurdering (denne informasjonen er offentlig)"; -$a->strings["Optionally explain your rating (this information is public)"] = "Velg om du vil forklare din vurdering (denne informasjonen er offentlig)"; -$a->strings["Calendar entries imported."] = "Kalenderhendelsene er importert."; -$a->strings["No calendar entries found."] = "Ingen kalenderhendelser funnet."; -$a->strings["Event can not end before it has started."] = "Hendelsen kan ikke slutte før den starter."; -$a->strings["Unable to generate preview."] = "Klarer ikke å lage forhåndsvisning."; -$a->strings["Event title and start time are required."] = "Hendelsestittel og starttidspunkt er påkrevd."; -$a->strings["Event not found."] = "Hendelsen ble ikke funnet."; -$a->strings["l, F j"] = "l, F j"; -$a->strings["Edit event"] = "Endre hendelse"; -$a->strings["Delete event"] = "Slett hendelse"; -$a->strings["calendar"] = "kalender"; -$a->strings["Create New Event"] = "Lag ny hendelse"; -$a->strings["Export"] = "Eksport"; -$a->strings["Import"] = "Importer"; -$a->strings["Event removed"] = "Hendelse slettet"; -$a->strings["Failed to remove event"] = "Mislyktes med å slette hendelse"; -$a->strings["Event details"] = "Hendelsesdetaljer"; -$a->strings["Starting date and Title are required."] = "Startdato og Tittel er påkrevd."; -$a->strings["Categories (comma-separated list)"] = "Kategorier (kommaseparert liste)"; -$a->strings["Event Starts:"] = "Hendelsen starter:"; -$a->strings["Finish date/time is not known or not relevant"] = "Sluttdato/-tidspunkt er ikke kjent eller ikke relevant"; -$a->strings["Event Finishes:"] = "Hendelsen slutter:"; -$a->strings["Adjust for viewer timezone"] = "Juster i forhold til tilskuerens tidssone"; -$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Viktig for hendelser som skjer på et bestemt sted. Ikke praktisk for globale ferier eller fridager."; -$a->strings["Title:"] = "Tittel:"; -$a->strings["Share this event"] = "Del denne hendelsen"; -$a->strings["%s element installed"] = "%s element installert"; -$a->strings["%s element installation failed"] = "Installasjon av %s-element mislyktes"; -$a->strings["Fetching URL returns error: %1\$s"] = "Henting av URL gir følgende feil: %1\$s"; -$a->strings["Profile Match"] = "Profiltreff"; -$a->strings["No keywords to match. Please add keywords to your default profile."] = "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil."; -$a->strings["is interested in:"] = "er interessert i:"; -$a->strings["No matches"] = "Ingen treff"; -$a->strings["Image uploaded but image cropping failed."] = "Bildet ble lastet opp, men beskjæring av bildet mislyktes."; -$a->strings["Image resize failed."] = "Endring av bildestørrelse mislyktes."; -$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart."; -$a->strings["Image upload failed."] = "Opplasting av bildet mislyktes."; -$a->strings["Unable to process image."] = "Kan ikke behandle bildet."; -$a->strings["female"] = "kvinne"; -$a->strings["%1\$s updated her %2\$s"] = "%1\$s oppdaterte %2\$s sitt"; -$a->strings["male"] = "mann"; -$a->strings["%1\$s updated his %2\$s"] = "%1\$s oppdaterte %2\$s sitt"; -$a->strings["%1\$s updated their %2\$s"] = "%1\$s oppdaterte %2\$s deres"; -$a->strings["profile photo"] = "profilbilde"; -$a->strings["Photo not available."] = "Bildet er ikke tilgjengelig."; -$a->strings["Upload File:"] = "Last opp fil:"; -$a->strings["Select a profile:"] = "Velg en profil:"; -$a->strings["Upload Profile Photo"] = "Last opp profilbilde:"; -$a->strings["or"] = "eller"; -$a->strings["skip this step"] = "hopp over dette steget"; -$a->strings["select a photo from your photo albums"] = "velg et bilde fra dine fotoalbum"; -$a->strings["Crop Image"] = "Beskjær bildet"; -$a->strings["Please adjust the image cropping for optimum viewing."] = "Vennligst juster bildebeskjæringen for optimal visning."; -$a->strings["Done Editing"] = "Avslutt redigering"; -$a->strings["Channel added."] = "Kanal lagt til."; -$a->strings["Tag removed"] = "Merkelapp fjernet"; -$a->strings["Remove Item Tag"] = "Fjern merkelapp fra element"; -$a->strings["Select a tag to remove: "] = "Velg merkelapp å fjerne:"; -$a->strings["No ratings"] = "Ingen vurderinger"; -$a->strings["Ratings"] = "Vurderinger"; -$a->strings["Rating: "] = "Vurdering:"; -$a->strings["Website: "] = "Nettsted:"; -$a->strings["Description: "] = "Beskrivelse:"; -$a->strings["This site is not a directory server"] = "Dette nettstedet er ikke en katalogtjener"; -$a->strings["Unable to lookup recipient."] = "Ikke i stand til å slå opp mottaker."; -$a->strings["Unable to communicate with requested channel."] = "Ikke i stand til å kommunisere med forespurt kanal."; -$a->strings["Cannot verify requested channel."] = "Kan ikke bekrefte forespurt kanal."; -$a->strings["Selected channel has private message restrictions. Send failed."] = "Valgt kanal har restriksjoner for private meldinger. Sending feilet."; -$a->strings["Messages"] = "Meldinger"; -$a->strings["Message deleted."] = "Melding slettet."; -$a->strings["Message recalled."] = "Innlegg tilbakekalt."; -$a->strings["Send Private Message"] = "Send privat melding"; -$a->strings["To:"] = "Til:"; -$a->strings["Subject:"] = "Emne:"; -$a->strings["Your message:"] = "Din melding:"; -$a->strings["Send"] = "Send"; -$a->strings["Delete message"] = "Slett melding"; -$a->strings["Recall message"] = "Tilbakekall innlegg"; -$a->strings["Message has been recalled."] = "Innlegget har blitt tilbakekalt."; -$a->strings["Delete Conversation"] = "Slett samtale"; -$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Ingen sikret kommunikasjon tilgjengelig. Du kan <strong>muligens</strong> greie å svare via senderens profilside."; -$a->strings["Send Reply"] = "Send svar"; -$a->strings["Page Title"] = "Sidetittel"; -$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen."; -$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes."; -$a->strings["Passwords do not match."] = "Passordene er ikke like."; -$a->strings["Registration successful. Please check your email for validation instructions."] = "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen."; -$a->strings["Your registration is pending approval by the site owner."] = "Din registrering venter på godkjenning av nettstedets eier."; -$a->strings["Your registration can not be processed."] = "Din registrering kan ikke behandles."; -$a->strings["Registration on this site/hub is by approval only."] = "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning."; -$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>"; -$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen."; -$a->strings["Terms of Service"] = "Tjenesteavtale"; -$a->strings["I accept the %s for this website"] = "Jeg godtar %s for dette nettstedet"; -$a->strings["I am over 13 years of age and accept the %s for this website"] = "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet."; -$a->strings["Membership on this site is by invitation only."] = "Medlemskap ved dette nettstedet skjer kun via invitasjon."; -$a->strings["Please enter your invitation code"] = "Vennligst skriv din invitasjonskode"; -$a->strings["Your email address"] = "Din e-postadresse"; -$a->strings["Choose a password"] = "Velg et passord"; -$a->strings["Please re-enter your password"] = "Vennligst skriv ditt passord en gang til"; -$a->strings["Block Name"] = "Byggeklossens navn"; -$a->strings["Block Title"] = "Byggeklossens tittel"; -$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet."; -$a->strings["Remove This Account"] = "Slett denne kontoen"; -$a->strings["This account and all its channels will be completely removed from the network. "] = "Denne kontoen og alle dens kanaler vil bli fullstendig fjernet fra nettverket."; -$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Slett denne kontoen, alle dens kanaler og alle dens kanalkloner fra dette nettverket"; -$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Som standard vil bare forekomster av kanalene lokalisert på denne hubben bli slettet fra nettverket"; -$a->strings["Remove Account"] = "Slett konto"; -$a->strings["No service class restrictions found."] = "Ingen restriksjoner er funnet i tjenesteklasse."; -$a->strings["Item not available."] = "Elementet er ikke tilgjengelig."; -$a->strings["Failed to create source. No channel selected."] = "Mislyktes med å lage kilde. Ingen kanal er valgt."; -$a->strings["Source created."] = "Kilden er laget."; -$a->strings["Source updated."] = "Kilden er oppdatert."; -$a->strings["*"] = "*"; -$a->strings["Manage remote sources of content for your channel."] = "Håndtere eksterne innholdskilder til din kanal."; -$a->strings["New Source"] = "Ny kilde"; -$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger."; -$a->strings["Only import content with these words (one per line)"] = "Bare importer innhold med disse ordene (ett ord per linje)"; -$a->strings["Leave blank to import all public content"] = "La stå tomt for å importere alt offentlig innhold"; -$a->strings["Source not found."] = "Kilden ble ikke funnet."; -$a->strings["Edit Source"] = "Endre kilde"; -$a->strings["Delete Source"] = "Slett kilde"; -$a->strings["Source removed"] = "Kilden er fjernet"; -$a->strings["Unable to remove source."] = "Ikke i stand til å fjerne kilde."; -$a->strings["Remote privacy information not available."] = "Ekstern personverninformasjon er ikke tilgjengelig."; -$a->strings["Visible to:"] = "Synlig for:"; -$a->strings["network"] = "nettverk"; -$a->strings["RSS"] = "RSS"; -$a->strings["Please login."] = "Vennligst logg inn."; -$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Vi støtte på et problem under innloggingen med din OpenID. Vennligst sjekk at ID-en er stavet riktig."; -$a->strings["The error message was:"] = "Feilmeldingen var:"; -$a->strings["Authentication failed."] = "Autentisering mislyktes."; -$a->strings["Remote Authentication"] = "Fjernautentisering"; -$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Skriv din kanaladresse (for eksempel channel@exampel.com)"; -$a->strings["Authenticate"] = "Autentiser"; -$a->strings["This directory server requires an access token"] = "Denne katalogtjeneren krever en tilgangsnøkkel (access token)"; -$a->strings["Version %s"] = "Versjon %s"; -$a->strings["Installed plugins/addons/apps:"] = "Installerte tilleggsfunksjoner/tillegg/apper:"; -$a->strings["No installed plugins/addons/apps"] = "Ingen installerte tilleggsfunksjoner/tillegg/apper"; -$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dette er en \$Projectname-hub - et globalt samhandlende nettverk av desentraliserte nettsteder med innbygget personvern."; -$a->strings["Tag: "] = "Merkelapp:"; -$a->strings["Last background fetch: "] = "Siste innhenting i bakgrunnen:"; -$a->strings["Current load average: "] = "Gjeldende belastningsgjennomsnitt:"; -$a->strings["Running at web location"] = "Kjører på webplasseringen"; -$a->strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "Vennligst besøk <a href=\"https://redmatrix.me\">redmatrix.me</a> for å lære mer om \$Projectname."; -$a->strings["Bug reports and issues: please visit"] = "Feilmeldinger og feilretting: vennligst besøk"; -$a->strings["\$projectname issues"] = "\$projectname problemer"; -$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com"; -$a->strings["Site Administrators"] = "Nettstedsadministratorer"; -$a->strings["Your service plan only allows %d channels."] = "Din tjenesteplan tillater bare %d kanaler."; -$a->strings["Nothing to import."] = "Ingenting å importere."; -$a->strings["Unable to download data from old server"] = "Ikke i stand til å laste ned data fra gammel tjener"; -$a->strings["Imported file is empty."] = "Importert fil er tom."; -$a->strings["Warning: Database versions differ by %1\$d updates."] = "Advarsel: databaseversjoner avviker med %1\$d oppdateringer."; -$a->strings["No channel. Import failed."] = "Ingen kanal. Import mislyktes."; -$a->strings["You must be logged in to use this feature."] = "Du må være innlogget for å bruke denne funksjonen."; -$a->strings["Import Channel"] = "Importer kanal"; -$a->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."] = "Bruk dette skjemaet for å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente inn kanalidentiteten fra den gamle tjeneren/huben via nettverket eller ved å bruke en eksportfil."; -$a->strings["File to Upload"] = "Fil som skal lastes opp"; -$a->strings["Or provide the old server/hub details"] = "Eller oppgi detaljene fra den gamle tjeneren/hub-en"; -$a->strings["Your old identity address (xyz@example.com)"] = "Din gamle identitetsadresse (xyz@example.com)"; -$a->strings["Your old login email address"] = "Din gamle innloggings e-postadresse"; -$a->strings["Your old login password"] = "Ditt gamle innloggingspassord"; -$a->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."] = "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media."; -$a->strings["Make this hub my primary location"] = "Gjør dette nettstedet til min primære plassering"; -$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importer eksisterende innlegg om mulig (eksperimentelt - begrenset av tilgjengelig minne)"; -$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Denne prosessen kan ta flere minutter å fullføre. Vennligst send inn dette skjemaet bare en gang og la siden være åpen inntil den er ferdig."; -$a->strings["Thing updated"] = "Tingen er oppdatert"; -$a->strings["Object store: failed"] = "Objektlagring: mislyktes"; -$a->strings["Thing added"] = "Ting lagt til"; -$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; -$a->strings["Show Thing"] = "Vis ting"; -$a->strings["item not found."] = "element ble ikke funnet."; -$a->strings["Edit Thing"] = "Endre ting"; -$a->strings["Select a profile"] = "Velg en profil"; -$a->strings["Post an activity"] = "Legg inn en aktivitet"; -$a->strings["Only sends to viewers of the applicable profile"] = "Sender bare til seere av den aktuelle profilen"; -$a->strings["Name of thing e.g. something"] = "Navn på ting for eksempel noe"; -$a->strings["URL of thing (optional)"] = "URL til ting (valgfritt)"; -$a->strings["URL for photo of thing (optional)"] = "URL til bilde av ting (valgfritt)"; -$a->strings["Add Thing to your Profile"] = "Legg til ting i din profil"; -$a->strings["Total invitation limit exceeded."] = "Grensen for totalt antall invitasjoner er overskredet."; -$a->strings["%s : Not a valid email address."] = "%s : ikke en gyldig e-postadresse."; -$a->strings["Please join us on \$Projectname"] = "Bli med oss på \$Projectname"; -$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted."; -$a->strings["%s : Message delivery failed."] = "%s : meldingslevering feilet."; -$a->strings["%d message sent."] = array( - 0 => "%d melding sendt.", - 1 => "%d meldinger sendt.", -); -$a->strings["You have no more invitations available"] = "Du har ikke flere invitasjoner tilgjengelig"; -$a->strings["Send invitations"] = "Send invitasjoner"; -$a->strings["Enter email addresses, one per line:"] = "Skriv e-postadresser, en per linje:"; -$a->strings["Please join my community on \$Projectname."] = "Du er velkommen til å bli med i mitt fellesskap på \$Projectname."; -$a->strings["You will need to supply this invitation code: "] = "Du må oppgi denne invitasjonskoden:"; -$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrer ved enhver \$Projectname-lokasjon (de er alle forbundet med hverandre)"; -$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Skriv inn min \$Projectname-adresse i nettstedets søkefelt."; -$a->strings["or visit "] = "eller besøk"; -$a->strings["3. Click [Connect]"] = "3. Klikk [Forbindelse]"; -$a->strings["[Embedded content - reload page to view]"] = "[Innebygget innhold - last siden på nytt for å se]"; -$a->strings["Source of Item"] = "Kilde til element"; +$a->strings["Delete layout?"] = "Slett layout?"; +$a->strings["Layout Description (Optional)"] = "Layoutens beskrivelse (valgfritt)"; +$a->strings["Layout Name"] = "Layout-navn"; +$a->strings["Edit Layout"] = "Endre layout"; $a->strings["Name is required"] = "Navn er påkrevd"; $a->strings["Key and Secret are required"] = "Nøkkel og hemmelighet er påkrevd"; $a->strings["Passwords do not match. Password unchanged."] = "Passordene stemmer ikke overens. Passord uforandret."; @@ -1847,6 +1867,7 @@ $a->strings["0 or blank prevents expiration"] = "0 eller blankt forhindrer utlø $a->strings["Maximum Friend Requests/Day:"] = "Maksimalt antall venneforespørsler per dag:"; $a->strings["May reduce spam activity"] = "Kan redusere søppelpostaktivitet"; $a->strings["Default Post Permissions"] = "Standard innleggstillatelser"; +$a->strings["(click to open/close)"] = "(klikk for å åpne/lukke)"; $a->strings["Channel permissions category:"] = "Kategori med kanaltillatelser:"; $a->strings["Maximum private messages per day from unknown people:"] = "Maksimalt antall private meldinger per dag fra ukjente personer:"; $a->strings["Useful to reduce spamming"] = "Nyttig for å redusere søppelpost"; @@ -1886,24 +1907,123 @@ $a->strings["Change the behaviour of this account for special situations"] = "En $a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Vennligst skru på ekspertmodus (under <a href=\"settings/features\">Innstillinger > Ekstra funksjoner</a>) for å justere!"; $a->strings["Miscellaneous Settings"] = "Diverse innstillinger"; $a->strings["Default photo upload folder"] = "Standard mappe for opplasting av bilder"; +$a->strings["%Y - current year, %m - current month"] = "%Y - nåværende år, %m - nåværende måned"; $a->strings["Default file upload folder"] = "Standard mappe for opplasting av filer"; $a->strings["Personal menu to display in your channel pages"] = "Personlig meny som kan vises på dine kanalsider"; $a->strings["Remove this channel."] = "Fjern denne kanalen."; +$a->strings["Firefox Share \$Projectname provider"] = "\$Projectname Firefox Share tilbyder"; +$a->strings["Start calendar week on monday"] = "Start uken med mandag i kalenderen"; +$a->strings["Page Title"] = "Sidetittel"; +$a->strings["App installed."] = "App installert."; +$a->strings["Malformed app."] = "Feil oppsett for app-en."; +$a->strings["Embed code"] = "Innbyggingskode"; +$a->strings["Edit App"] = "Endre app"; +$a->strings["Create App"] = "Lag app"; +$a->strings["Name of app"] = "Navn på app"; +$a->strings["Location (URL) of app"] = "Plassering (URL) til app"; +$a->strings["Photo icon URL"] = "Bildeikon URL"; +$a->strings["80 x 80 pixels - optional"] = "80 x80 pixler - valgfritt"; +$a->strings["Version ID"] = "Versjons-ID"; +$a->strings["Price of app"] = "Pris på app"; +$a->strings["Location (URL) to purchase app"] = "Plassering (URL) for å kjøpe app"; +$a->strings["- select -"] = "- velg -"; +$a->strings["Comanche page description language help"] = "Hjelp med Comanche sidebeskrivelsesspråk"; +$a->strings["Layout Description"] = "Layout-beskrivelse"; +$a->strings["Download PDL file"] = "Last ned PDL-fil"; +$a->strings["Location not found."] = "Plassering er ikke funnet."; +$a->strings["Location lookup failed."] = "Oppslag på plassering mislyktes."; +$a->strings["Please select another location to become primary before removing the primary location."] = "Vennligst velg en annen plassering som primær før du sletter gjeldende primære plassering."; +$a->strings["Syncing locations"] = "Synkroniserer plasseringer"; +$a->strings["No locations found."] = "Ingen plasseringer ble funnet."; +$a->strings["Manage Channel Locations"] = "Håndter kanalplasseringer"; +$a->strings["Location (address)"] = "Plassering (adresse)"; +$a->strings["Primary Location"] = "Hovedplassering"; +$a->strings["Drop location"] = "Slett plassering"; +$a->strings["Sync now"] = "Synkroniser nå"; +$a->strings["Please wait several minutes between consecutive operations."] = "Vennligst vent flere minutter mellom hver etterfølgende operasjon."; +$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Når mulig, fjern en plassering ved å logge inn på det nettstedet eller den hub-en og fjern din kanal."; +$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Bruk dette skjemaet for å fjerne plasseringen hvis huben ikke er i drift lenger."; +$a->strings["Unable to lookup recipient."] = "Ikke i stand til å slå opp mottaker."; +$a->strings["Unable to communicate with requested channel."] = "Ikke i stand til å kommunisere med forespurt kanal."; +$a->strings["Cannot verify requested channel."] = "Kan ikke bekrefte forespurt kanal."; +$a->strings["Selected channel has private message restrictions. Send failed."] = "Valgt kanal har restriksjoner for private meldinger. Sending feilet."; +$a->strings["Messages"] = "Meldinger"; +$a->strings["Message recalled."] = "Innlegg tilbakekalt."; +$a->strings["Conversation removed."] = "Samtale fjernet."; +$a->strings["Requested channel is not in this network"] = "Forespurt kanal er ikke tilgjengelig i dette nettverket."; +$a->strings["Send Private Message"] = "Send privat melding"; +$a->strings["To:"] = "Til:"; +$a->strings["Subject:"] = "Emne:"; +$a->strings["Your message:"] = "Din melding:"; +$a->strings["Send"] = "Send"; +$a->strings["Delete message"] = "Slett melding"; +$a->strings["Delivery report"] = "Leveringsrapport"; +$a->strings["Recall message"] = "Tilbakekall innlegg"; +$a->strings["Message has been recalled."] = "Innlegget har blitt tilbakekalt."; +$a->strings["Delete Conversation"] = "Slett samtale"; +$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Ingen sikret kommunikasjon tilgjengelig. Du kan <strong>muligens</strong> greie å svare via senderens profilside."; +$a->strings["Send Reply"] = "Send svar"; +$a->strings["Your message for %s (%s):"] = "Din melding til %s (%s):"; +$a->strings["Please login."] = "Vennligst logg inn."; $a->strings["Xchan Lookup"] = "Xchan oppslag"; $a->strings["Lookup xchan beginning with (or webbie): "] = "Slå opp xchan som begynner med (eller webbie):"; -$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du har laget %1$.0f av %2$.0f tillatte kanaler."; -$a->strings["Create a new channel"] = "Lag en ny kanal"; -$a->strings["Current Channel"] = "Gjeldende kanal"; -$a->strings["Switch to one of your channels by selecting it."] = "Bytt til en av dine kanaler ved å velge den."; -$a->strings["Default Channel"] = "Standardkanal"; -$a->strings["Make Default"] = "Gjør til standard"; -$a->strings["%d new messages"] = "%d nye meldinger"; -$a->strings["%d new introductions"] = "%d nye introduksjoner"; -$a->strings["Delegated Channels"] = "Delegerte kanaler"; -$a->strings["Authorize application connection"] = "Tillat programforbindelse"; -$a->strings["Return to your app and insert this Securty Code:"] = "Gå tilbake til din app og legg inn denne sikkerhetskoden:"; -$a->strings["Please login to continue."] = "Vennligst logg inn for å fortsette."; -$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?"; +$a->strings["Not found."] = "Ikke funnet."; +$a->strings["You must be logged in to see this page."] = "Du må være innloegget for å se denne siden."; +$a->strings["Insufficient permissions. Request redirected to profile page."] = "Utilstrekkelig tillatelse. Forespørsel omdirigert til profilsiden."; +$a->strings["Item not available."] = "Elementet er ikke tilgjengelig."; +$a->strings["Total invitation limit exceeded."] = "Grensen for totalt antall invitasjoner er overskredet."; +$a->strings["%s : Not a valid email address."] = "%s : ikke en gyldig e-postadresse."; +$a->strings["Please join us on \$Projectname"] = "Bli med oss på \$Projectname"; +$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Invitasjonsgrensen er overskredet. Vennligst kontakt administratoren ved ditt nettsted."; +$a->strings["%s : Message delivery failed."] = "%s : meldingslevering feilet."; +$a->strings["%d message sent."] = array( + 0 => "%d melding sendt.", + 1 => "%d meldinger sendt.", +); +$a->strings["You have no more invitations available"] = "Du har ikke flere invitasjoner tilgjengelig"; +$a->strings["Send invitations"] = "Send invitasjoner"; +$a->strings["Enter email addresses, one per line:"] = "Skriv e-postadresser, en per linje:"; +$a->strings["Please join my community on \$Projectname."] = "Du er velkommen til å bli med i mitt fellesskap på \$Projectname."; +$a->strings["You will need to supply this invitation code: "] = "Du må oppgi denne invitasjonskoden:"; +$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrer ved enhver \$Projectname-lokasjon (de er alle forbundet med hverandre)"; +$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Skriv inn min \$Projectname-adresse i nettstedets søkefelt."; +$a->strings["or visit "] = "eller besøk"; +$a->strings["3. Click [Connect]"] = "3. Klikk [Forbindelse]"; +$a->strings["Remote privacy information not available."] = "Ekstern personverninformasjon er ikke tilgjengelig."; +$a->strings["Visible to:"] = "Synlig for:"; +$a->strings["Export Channel"] = "Eksporter kanal"; +$a->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."] = "Eksporter grunnleggende informasjon om kanalen din til en fil. Denne er en sikkerhetskopi av dine forbindelser, tillatelser, profil og grunnleggende data, som kan brukes til å importere dine data til en ny hub, men den tar ikke med innholdet."; +$a->strings["Export Content"] = "Eksporter innhold"; +$a->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."] = "Eksporter din kanalinformasjon og det nyeste innholdet til en JSON-sikkerhetskopi, som kan gjenopprettes eller importeres til en annen hub. Denne lager en sikkerhetskopi av alle dine forbindelser, tillatelser, profildata og flere måneder av innholdet ditt. Denne filen kan være SVÆRT stor. Vennligst vær tålmodig - det kan ta flere minutter før denne nedlastningen begynner."; +$a->strings["Export your posts from a given year."] = "Eksporter dine innlegg fra et bestemt år"; +$a->strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Du kan også eksportere dine innlegg og samtaler for et bestemt år eller måned. Juster datoen i din nettlesers adresselinje for å velge andre datoer. Hvis eksporten feiler (muligens på grunn av utilstrekkelig minne på din hub), vennligst prøv igjen med et mer begrenset datoområde."; +$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "For å velge alle innlegg for et gitt år, slik som iår, besøk <a href=\"%1\$s\">%2\$s</a>"; +$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "For å velge alle innlegg fra en gitt måned, slik som januar i år, besøk <a href=\"%1\$s\">%2\$s</a>"; +$a->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)."] = "Disse innholdsfilene kan importeres eller gjenopprettes ved å besøke <a href=\"%1\$s\">%2\$s</a> på ethvert nettsted som inneholder din kanal. For best resultat, vennligst importer eller gjenopprett disse etter dato (eldste først)."; +$a->strings["Item is not editable"] = "Elementet kan ikke endres"; +$a->strings["Delete item?"] = "Slett element?"; +$a->strings["Edit post"] = "Endre innlegg"; +$a->strings["Channel added."] = "Kanal lagt til."; +$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Vi støtte på et problem under innloggingen med din OpenID. Vennligst sjekk at ID-en er stavet riktig."; +$a->strings["The error message was:"] = "Feilmeldingen var:"; +$a->strings["Authentication failed."] = "Autentisering mislyktes."; +$a->strings["Remote Authentication"] = "Fjernautentisering"; +$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Skriv din kanaladresse (for eksempel channel@exampel.com)"; +$a->strings["Authenticate"] = "Autentiser"; +$a->strings["Room not found"] = "Rommet ble ikke funnet"; +$a->strings["Leave Room"] = "Forlat rom"; +$a->strings["Delete This Room"] = "Slett dette rommet"; +$a->strings["I am away right now"] = "Jeg er borte akkurat nå"; +$a->strings["I am online"] = "Jeg er online"; +$a->strings["Bookmark this room"] = "Bokmerk dette rommet"; +$a->strings["New Chatroom"] = "Nytt chatrom"; +$a->strings["Chatroom Name"] = "Navn på chatrom"; +$a->strings["Expiration of chats (minutes)"] = "Chat utgår (antall minutter)"; +$a->strings["%1\$s's Chatrooms"] = "%1\$s sine chatrom"; +$a->strings["Source of Item"] = "Kilde til element"; +$a->strings["Share content from Firefox to \$Projectname"] = "Del innhold fra Firefox til \$Projectname"; +$a->strings["Activate the Firefox \$Projectname provider"] = "Skru på Firefox \$Projectname tilbyderen"; +$a->strings["Hub not found."] = "Hubben ble ikke funnet."; $a->strings["Blocked"] = "Blokkert"; $a->strings["Ignored"] = "Ignorert"; $a->strings["Hidden"] = "Skjult"; @@ -1923,205 +2043,121 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]"; $a->strings["Edit connection"] = "Endre forbindelse"; $a->strings["Search your connections"] = "Søk blant dine forbindelser"; $a->strings["Finding: "] = "Fant:"; -$a->strings["Delete layout?"] = "Slett layout?"; -$a->strings["Edit Layout"] = "Endre layout"; -$a->strings["Delete webpage?"] = "Slett webside?"; -$a->strings["Page link title"] = "Sidens lenketittel"; -$a->strings["Edit Webpage"] = "Endre webside"; -$a->strings["Collection created."] = "Samling opprettet."; -$a->strings["Could not create collection."] = "Kunne ikke lage samling."; -$a->strings["Collection updated."] = "Samlingen er oppdatert."; -$a->strings["Create a collection of channels."] = "Lag en samling med kanaler."; -$a->strings["Collection Name: "] = "Navn på samling:"; -$a->strings["Members are visible to other channels"] = "Medlemmer er synlig for andre kanaler"; -$a->strings["Collection removed."] = "Samling fjernet."; -$a->strings["Unable to remove collection."] = "Ikke i stand til å fjerne samlingen."; -$a->strings["Collection Editor"] = "Samlingsbehandler"; -$a->strings["Members"] = "Medlemmer"; -$a->strings["All Connected Channels"] = "Alle tilkoblede kanaler"; -$a->strings["Click on a channel to add or remove."] = "Klikk på en kanal for å legge til eller fjerne."; -$a->strings["Continue"] = "Fortsett"; -$a->strings["Premium Channel Setup"] = "Premiumkanal-oppsett"; -$a->strings["Enable premium channel connection restrictions"] = "Slå på restriksjoner for forbindelse med premiumkanal"; -$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre."; -$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:"; -$a->strings["Potential connections will then see the following text before proceeding:"] = "Potensielle forbindelser vil da se følgende tekst før de går videre:"; -$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden."; -$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)"; -$a->strings["Restricted or Premium Channel"] = "Begrenset kanal eller premiumkanal"; -$a->strings["No connections."] = "Ingen forbindelser."; -$a->strings["Visit %s's profile [%s]"] = "Besøk %s sin profil [%s]"; -$a->strings["Location not found."] = "Plassering er ikke funnet."; -$a->strings["Location lookup failed."] = "Oppslag på plassering mislyktes."; -$a->strings["Please select another location to become primary before removing the primary location."] = "Vennligst velg en annen plassering som primær før du sletter gjeldende primære plassering."; -$a->strings["No locations found."] = "Ingen plasseringer ble funnet."; -$a->strings["Manage Channel Locations"] = "Håndter kanalplasseringer"; -$a->strings["Location (address)"] = "Plassering (adresse)"; -$a->strings["Primary Location"] = "Hovedplassering"; -$a->strings["Drop location"] = "Slett plassering"; +$a->strings["Documentation Search"] = "Søk i dokumentasjon"; +$a->strings["Help:"] = "Hjelp:"; +$a->strings["Not Found"] = "Ikke funnet"; +$a->strings["\$Projectname Documentation"] = "\$Projectname dokumentasjon"; +$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du har laget %1$.0f av %2$.0f tillatte kanaler."; +$a->strings["Create a new channel"] = "Lag en ny kanal"; +$a->strings["Current Channel"] = "Gjeldende kanal"; +$a->strings["Switch to one of your channels by selecting it."] = "Bytt til en av dine kanaler ved å velge den."; +$a->strings["Default Channel"] = "Standardkanal"; +$a->strings["Make Default"] = "Gjør til standard"; +$a->strings["%d new messages"] = "%d nye meldinger"; +$a->strings["%d new introductions"] = "%d nye introduksjoner"; +$a->strings["Delegated Channels"] = "Delegerte kanaler"; +$a->strings["Unable to update menu."] = "Ikke i stand til å oppdatere meny."; +$a->strings["Unable to create menu."] = "Ikke i stand til å lage meny."; +$a->strings["Menu Name"] = "Menynavn"; +$a->strings["Unique name (not visible on webpage) - required"] = "Unikt navn (ikke synlig på websiden) - påkrevet"; +$a->strings["Menu Title"] = "Menytittel"; +$a->strings["Visible on webpage - leave empty for no title"] = "Synlig på websiden - la stå tomt for ingen tittel"; +$a->strings["Allow Bookmarks"] = "Tillat bokmerker"; +$a->strings["Menu may be used to store saved bookmarks"] = "Menyen kan brukes til å lagre lagrede bokmerker"; +$a->strings["Submit and proceed"] = "Send inn og fortsett"; +$a->strings["Drop"] = "Slett"; +$a->strings["Bookmarks allowed"] = "Bokmerker tillatt"; +$a->strings["Delete this menu"] = "Slett denne menyen"; +$a->strings["Edit menu contents"] = "Endre menyinnholdet"; +$a->strings["Edit this menu"] = "Endre denne menyen"; +$a->strings["Menu could not be deleted."] = "Menyen kunne ikke bli slettet."; +$a->strings["Menu not found."] = "Menyen ble ikke funnet."; +$a->strings["Edit Menu"] = "Endre meny"; +$a->strings["Add or remove entries to this menu"] = "Legg til eller fjern punkter i denne menyen"; +$a->strings["Menu name"] = "Menynavn"; +$a->strings["Must be unique, only seen by you"] = "Må være unik, ses bare av deg"; +$a->strings["Menu title"] = "Menytittel"; +$a->strings["Menu title as seen by others"] = "Menytittelen andre ser"; +$a->strings["Allow bookmarks"] = "Tillat bokmerker"; $a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt."; -$a->strings["\$Projectname Server - Setup"] = "\$Projectname-tjener - oppsett"; -$a->strings["Could not connect to database."] = "Fikk ikke kontakt med databasen."; -$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS."; -$a->strings["Could not create table."] = "Kunne ikke lage tabellen."; -$a->strings["Your site database has been installed."] = "Databasen til ditt nettsted har blitt installert."; -$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Du må kanskje importere filen \"install/schmea_xxx.sql\" manuelt ved å bruke en databaseklient."; -$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Vennligst les filen \"install/INSTALL.txt\"."; -$a->strings["System check"] = "Systemsjekk"; -$a->strings["Check again"] = "Sjekk igjen"; -$a->strings["Database connection"] = "Databaseforbindelse"; -$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "For å installere \$Projectname må du oppgi hvordan din database kan kontaktes."; -$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene."; -$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter."; -$a->strings["Database Server Name"] = "Navn på databasetjener"; -$a->strings["Default is localhost"] = "Standard er localhost"; -$a->strings["Database Port"] = "Databaseport"; -$a->strings["Communication port number - use 0 for default"] = "Kommunikasjonsportnummer - bruk 0 for standard"; -$a->strings["Database Login Name"] = "Database innloggingsnavn"; -$a->strings["Database Login Password"] = "Database innloggingspassord"; -$a->strings["Database Name"] = "Databasenavn"; -$a->strings["Database Type"] = "Databasetype"; -$a->strings["Site administrator email address"] = "E-postadressen til administrator ved nettstedet"; -$a->strings["Your account email address must match this in order to use the web admin panel."] = "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet."; -$a->strings["Website URL"] = "Nettstedets URL"; -$a->strings["Please use SSL (https) URL if available."] = "Vennligst bruk SSL (https) URL hvis tilgjengelig."; -$a->strings["Please select a default timezone for your website"] = "Vennligst velg en standard tidssone for ditt nettsted"; -$a->strings["Site settings"] = "Nettstedets innstillinger"; -$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH)."; -$a->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."] = "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron."; -$a->strings["PHP executable path"] = "PHP-kjørefilens sti"; -$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen."; -$a->strings["Command line PHP"] = "Kommandolinje PHP"; -$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd."; -$a->strings["This is required for message delivery to work."] = "Dette er påkrevd for at meldingslevering skal virke."; -$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; -$a->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."] = "Den største totale opplastingsstørrelsen du er tillatt er satt til %s. Filstørrelsen på en enkelt fil er satt til å maksimalt være %s. Du har lov til å laste opp inntil %d filer samtidig."; -$a->strings["You can adjust these settings in the servers php.ini."] = "Du kan justere disse innstillingene i tjenerens php.ini."; -$a->strings["PHP upload limits"] = "PHP opplastingsgrenser"; -$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler"; -$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\"."; -$a->strings["Generate encryption keys"] = "Lag krypteringsnøkler"; -$a->strings["libCurl PHP module"] = "libCurl PHP-modul"; -$a->strings["GD graphics PHP module"] = "GD graphics PHP-modul"; -$a->strings["OpenSSL PHP module"] = "OpenSSL PHP-modul"; -$a->strings["mysqli or postgres PHP module"] = "MySQLi eller Postgres PHP modul"; -$a->strings["mb_string PHP module"] = "mb_string PHP-modul"; -$a->strings["mcrypt PHP module"] = "mcrypt PHP-modul"; -$a->strings["xml PHP module"] = "XML PHP modul"; -$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite-modul"; -$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert."; -$a->strings["proc_open"] = "proc_open"; -$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini"; -$a->strings["Error: libCURL PHP module required but not installed."] = "Feil: libCURL PHP-modul er påkrevd, men er ikke installert."; -$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert."; -$a->strings["Error: openssl PHP module required but not installed."] = "Feil: openssl PHP-modul er påkrevd, men er ikke installert."; -$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Feil: mysqli eller postgres PHP modul er påkrevd, men ingen av dem er installert."; -$a->strings["Error: mb_string PHP module required but not installed."] = "Feil: mb_string PHP-modul er påkrevd, men er ikke installert."; -$a->strings["Error: mcrypt PHP module required but not installed."] = "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert."; -$a->strings["Error: xml PHP module required for DAV but not installed."] = "Feil: XML PHP modul er påkrevet for DAV, men den er ikke installert."; -$a->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."] = "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til."; -$a->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."] = "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan."; -$a->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."] = "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red."; -$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner."; -$a->strings[".htconfig.php is writable"] = ".htconfig.php kan skrives til"; -$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen."; -$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe."; -$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen."; -$a->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."] = "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder."; -$a->strings["%s is writable"] = "%s kan skrives til"; -$a->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"] = "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe."; -$a->strings["store is writable"] = "lageret kan skrives til"; -$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet."; -$a->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!"] = "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!"; -$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub."; -$a->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."] = "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer."; -$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet."; -$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere."; -$a->strings["SSL certificate validation"] = "SSL sertifikat-kontroll"; -$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "URL omskriving (rewrite) i .htaccess virker ikke. Sjekk konfigurasjonen til tjeneren din. Test:"; -$a->strings["Url rewrite is working"] = "URL rewrite virker"; -$a->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."] = "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener."; -$a->strings["Errors encountered creating database tables."] = "Feil oppstod under opprettelsen av databasetabeller."; -$a->strings["<h1>What next</h1>"] = "<h1>Hva gjenstår</h1>"; -$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren."; -$a->strings["Files: shared with me"] = "Filer: delt med meg"; -$a->strings["NEW"] = "NY"; -$a->strings["Remove all files"] = "Fjern alle filer"; -$a->strings["Remove this file"] = "Fjern denne filen"; +$a->strings["No service class restrictions found."] = "Ingen restriksjoner er funnet i tjenesteklasse."; +$a->strings["Version %s"] = "Versjon %s"; +$a->strings["Installed plugins/addons/apps:"] = "Installerte tilleggsfunksjoner/tillegg/apper:"; +$a->strings["No installed plugins/addons/apps"] = "Ingen installerte tilleggsfunksjoner/tillegg/apper"; +$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dette er en \$Projectname-hub - et globalt samhandlende nettverk av desentraliserte nettsteder med innbygget personvern."; +$a->strings["Tag: "] = "Merkelapp:"; +$a->strings["Last background fetch: "] = "Siste innhenting i bakgrunnen:"; +$a->strings["Current load average: "] = "Gjeldende belastningsgjennomsnitt:"; +$a->strings["Running at web location"] = "Kjører på webplasseringen"; +$a->strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Vennligst besøk <a href=\"http://hubzilla.org\">hubzilla.org</a> for å lære mer om \$Projectname."; +$a->strings["Bug reports and issues: please visit"] = "Feilmeldinger og feilretting: vennligst besøk"; +$a->strings["\$projectname issues"] = "\$projectname problemer"; +$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com"; +$a->strings["Site Administrators"] = "Nettstedsadministratorer"; $a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer."; -$a->strings["Profile not found."] = "Profilen ble ikke funnet."; -$a->strings["Profile deleted."] = "Profilen er slettet."; -$a->strings["Profile-"] = "Profil-"; -$a->strings["New profile created."] = "Ny profil opprettet."; -$a->strings["Profile unavailable to clone."] = "Profilen er utilgjengelig for klonen."; -$a->strings["Profile unavailable to export."] = "Profilen er utilgjengelig for eksport."; -$a->strings["Profile Name is required."] = "Profilnavn er påkrevd."; -$a->strings["Marital Status"] = "Sivilstand"; -$a->strings["Romantic Partner"] = "Romantisk partner"; -$a->strings["Likes"] = "Liker"; -$a->strings["Dislikes"] = "Liker ikke"; -$a->strings["Work/Employment"] = "Arbeid/sysselsetting"; -$a->strings["Religion"] = "Religion"; -$a->strings["Political Views"] = "Politiske synspunkter"; -$a->strings["Sexual Preference"] = "Seksuelle preferanser"; -$a->strings["Homepage"] = "Hjemmeside"; -$a->strings["Interests"] = "Interesser"; -$a->strings["Profile updated."] = "Profilen er oppdatert."; -$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?"; -$a->strings["Edit Profile Details"] = "Endre profildetaljer"; -$a->strings["View this profile"] = "Vis denne profilen"; -$a->strings["Change Profile Photo"] = "Endre profilbilde"; -$a->strings["Create a new profile using these settings"] = "Lag en ny profil ved å bruke disse innstillingene"; -$a->strings["Clone this profile"] = "Klon denne profilen"; -$a->strings["Delete this profile"] = "Slett denne profilen"; -$a->strings["Import profile from file"] = "Importer profil fra fil"; -$a->strings["Export profile to file"] = "Eksporter profil til fil"; -$a->strings["Profile Name:"] = "Profilnavn:"; -$a->strings["Your Full Name:"] = "Ditt fulle navn:"; -$a->strings["Title/Description:"] = "Tittel/Beskrivelse:"; -$a->strings["Your Gender:"] = "Ditt kjønn:"; -$a->strings["Birthday :"] = "Fødselsdag:"; -$a->strings["Street Address:"] = "Gateadresse:"; -$a->strings["Locality/City:"] = "Sted/By:"; -$a->strings["Postal/Zip Code:"] = "Postnummer/ZIP-kode:"; -$a->strings["Country:"] = "Land:"; -$a->strings["Region/State:"] = "Region/fylke:"; -$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Sivilstand:"; -$a->strings["Who: (if applicable)"] = "Hvem: (hvis det er aktuelt) "; -$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Eksempler: kari123, Kari Villiamsen, kari@example.com"; -$a->strings["Since [date]:"] = "Siden [dato]:"; -$a->strings["Homepage URL:"] = "Hjemmeside URL:"; -$a->strings["Religious Views:"] = "Religiøse synspunkter:"; -$a->strings["Keywords:"] = "Nøkkelord:"; -$a->strings["Example: fishing photography software"] = "Eksempel: fisking fotografering programvare"; -$a->strings["Used in directory listings"] = "Brukt i katalogoppføringer"; -$a->strings["Tell us about yourself..."] = "Fortell oss om deg selv..."; -$a->strings["Hobbies/Interests"] = "Hobbier/Interesser"; -$a->strings["Contact information and Social Networks"] = "Kontaktinformasjon og sosiale nettverk"; -$a->strings["My other channels"] = "Mine andre kanaler"; -$a->strings["Musical interests"] = "Musikkinteresser"; -$a->strings["Books, literature"] = "Bøker, litteratur"; -$a->strings["Television"] = "TV/fjernsyn"; -$a->strings["Film/dance/culture/entertainment"] = "Film/dans/kultur/underholdning"; -$a->strings["Love/romance"] = "Kjærlighet/romantikk"; -$a->strings["Work/employment"] = "Arbeid/sysselsetting"; -$a->strings["School/education"] = "Skole/utdanning"; -$a->strings["This is your default profile."] = "Dette er din standardprofil."; -$a->strings["Age: "] = "Alder:"; -$a->strings["Edit/Manage Profiles"] = "Endre/håndter profiler"; -$a->strings["Add profile things"] = "Legg til profilting"; -$a->strings["Include desirable objects in your profile"] = "Inkluder ønskverdige objekter i din profil"; +$a->strings["Calendar entries imported."] = "Kalenderhendelsene er importert."; +$a->strings["No calendar entries found."] = "Ingen kalenderhendelser funnet."; +$a->strings["Event can not end before it has started."] = "Hendelsen kan ikke slutte før den starter."; +$a->strings["Unable to generate preview."] = "Klarer ikke å lage forhåndsvisning."; +$a->strings["Event title and start time are required."] = "Hendelsestittel og starttidspunkt er påkrevd."; +$a->strings["Event not found."] = "Hendelsen ble ikke funnet."; +$a->strings["Event Title"] = "Hendelsestittel"; +$a->strings["Categories (comma-separated list)"] = "Kategorier (kommaseparert liste)"; +$a->strings["Category"] = "Kategori"; +$a->strings["Start date and time"] = "Startdato og tidspunkt"; +$a->strings["Finish date and time are not known or not relevant"] = "Sluttdato og tidspunkt er ikke kjent eller ikke relevant"; +$a->strings["Finish date and time"] = "Sluttdato og tidspunkt"; +$a->strings["Adjust for viewer timezone"] = "Juster i forhold til tilskuerens tidssone"; +$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Viktig for hendelser som skjer på et bestemt sted. Ikke praktisk for globale ferier eller fridager."; +$a->strings["Share this event"] = "Del denne hendelsen"; +$a->strings["Advanced Options"] = "Avanserte alternativer"; +$a->strings["l, F j"] = "l, F j"; +$a->strings["Edit event"] = "Endre hendelse"; +$a->strings["Delete event"] = "Slett hendelse"; +$a->strings["calendar"] = "kalender"; +$a->strings["New Event"] = "Ny hendelse"; +$a->strings["Today"] = "Idag"; +$a->strings["Event removed"] = "Hendelse slettet"; +$a->strings["Failed to remove event"] = "Mislyktes med å slette hendelse"; $a->strings["Invalid profile identifier."] = "Ugyldig profil-identifikator."; $a->strings["Profile Visibility Editor"] = "Endre profilsynlighet"; $a->strings["Click on a contact to add or remove."] = "Klikk på en kontakt for å legge til eller fjerne."; $a->strings["Visible To"] = "Synlig for"; -$a->strings["Select a bookmark folder"] = "Velg en bokmerkemappe"; -$a->strings["Save Bookmark"] = "Lagre bokmerke"; -$a->strings["URL of bookmark"] = "URL-en til bokmerket"; -$a->strings["Or enter new bookmark folder name"] = "Eller skriv nytt navn på bokmerkemappe"; -$a->strings["Import completed"] = "Import ferdig"; -$a->strings["Import Items"] = "Importer elementer"; -$a->strings["Use this form to import existing posts and content from an export file."] = "Bruk dette skjemaet for å importere eksisterende innlegg og innhold fra en eksportfil."; +$a->strings["Unable to create element."] = "Klarer ikke å lage element."; +$a->strings["Unable to update menu element."] = "Ikke i stand til å oppdatere menyelement."; +$a->strings["Unable to add menu element."] = "Ikke i stand til å legge til menyelement."; +$a->strings["Menu Item Permissions"] = "Menyelement Tillatelser"; +$a->strings["Link Name"] = "Lenkenavn"; +$a->strings["Link or Submenu Target"] = "Lenke- eller undermeny-mål"; +$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Skriv URL-en til lenken eller velg et menynavn for å lage en undermeny"; +$a->strings["Use magic-auth if available"] = "Bruk magic-autent hvis mulig"; +$a->strings["Open link in new window"] = "Åpne lenke i nytt vindu"; +$a->strings["Order in list"] = "Ordne i liste"; +$a->strings["Higher numbers will sink to bottom of listing"] = "Høyere tall vil synke mot bunnen av listen"; +$a->strings["Submit and finish"] = "Send inn og avslutt"; +$a->strings["Submit and continue"] = "Send inn og fortsett"; +$a->strings["Menu:"] = "Meny:"; +$a->strings["Link Target"] = "Lenkemål"; +$a->strings["Edit menu"] = "Endre meny"; +$a->strings["Edit element"] = "Endre element"; +$a->strings["Drop element"] = "Slett element"; +$a->strings["New element"] = "Nytt element"; +$a->strings["Edit this menu container"] = "Endre denne menybeholderen"; +$a->strings["Add menu element"] = "Legg til menyelement"; +$a->strings["Delete this menu item"] = "Slett dette menyelementet"; +$a->strings["Edit this menu item"] = "Endre dette menyelementet"; +$a->strings["Menu item not found."] = "Menyelement ble ikke funnet."; +$a->strings["Menu item deleted."] = "Menyelement slettet."; +$a->strings["Menu item could not be deleted."] = "Menyelement kunne ikke bli slettet."; +$a->strings["Edit Menu Element"] = "Endre menyelement"; +$a->strings["Link text"] = "Lenketekst"; +$a->strings["Who likes me?"] = "Hvem liker meg?"; +$a->strings["Files: shared with me"] = "Filer: delt med meg"; +$a->strings["NEW"] = "NY"; +$a->strings["Remove all files"] = "Fjern alle filer"; +$a->strings["Remove this file"] = "Fjern denne filen"; +$a->strings["No connections."] = "Ingen forbindelser."; +$a->strings["Visit %s's profile [%s]"] = "Besøk %s sin profil [%s]"; $a->strings["Focus (Hubzilla default)"] = "Focus (Hubzilla standardtema)"; $a->strings["Theme settings"] = "Temainnstillinger"; $a->strings["Select scheme"] = "Velg skjema"; diff --git a/view/nl/hmessages.po b/view/nl/hmessages.po index a3f8a4a27..c26eddc02 100644 --- a/view/nl/hmessages.po +++ b/view/nl/hmessages.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Redmatrix\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-20 00:03-0800\n" -"PO-Revision-Date: 2015-11-20 13:52+0000\n" +"POT-Creation-Date: 2015-12-04 00:03-0800\n" +"PO-Revision-Date: 2015-12-07 13:18+0000\n" "Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n" "Language-Team: Dutch (http://www.transifex.com/Friendica/red-matrix/language/nl/)\n" "MIME-Version: 1.0\n" @@ -18,24 +18,114 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../include/Import/import_diaspora.php:17 -msgid "No username found in import file." -msgstr "Geen gebruikersnaam in het importbestand gevonden." +#: ../../include/Contact.php:101 ../../include/identity.php:953 +#: ../../include/widgets.php:137 ../../include/widgets.php:175 +#: ../../include/conversation.php:953 ../../mod/match.php:64 +#: ../../mod/directory.php:318 ../../mod/suggest.php:52 +msgid "Connect" +msgstr "Verbinden" + +#: ../../include/Contact.php:118 +msgid "New window" +msgstr "Nieuw venster" + +#: ../../include/Contact.php:119 +msgid "Open the selected location in a different window or browser tab" +msgstr "Open de geselecteerde locatie in een ander venster of tab" + +#: ../../include/Contact.php:237 +#, php-format +msgid "User '%s' deleted" +msgstr "Account '%s' verwijderd" -#: ../../include/Import/import_diaspora.php:42 ../../include/import.php:44 +#: ../../include/chat.php:23 +msgid "Missing room name" +msgstr "Naam chatkanaal ontbreekt" + +#: ../../include/chat.php:32 +msgid "Duplicate room name" +msgstr "Naam chatkanaal bestaat al" + +#: ../../include/chat.php:82 ../../include/chat.php:90 +msgid "Invalid room specifier." +msgstr "Ongeldige omschrijving chatkanaal" + +#: ../../include/chat.php:122 +msgid "Room not found." +msgstr "Chatkanaal niet gevonden" + +#: ../../include/chat.php:133 ../../include/items.php:4398 +#: ../../include/attach.php:140 ../../include/attach.php:188 +#: ../../include/attach.php:251 ../../include/attach.php:265 +#: ../../include/attach.php:272 ../../include/attach.php:337 +#: ../../include/attach.php:351 ../../include/attach.php:358 +#: ../../include/attach.php:436 ../../include/attach.php:884 +#: ../../include/attach.php:955 ../../include/attach.php:1107 +#: ../../include/photos.php:29 ../../mod/filestorage.php:18 +#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88 +#: ../../mod/filestorage.php:115 ../../mod/group.php:9 ../../mod/item.php:205 +#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/common.php:35 +#: ../../mod/achievements.php:30 ../../mod/rate.php:111 +#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/id.php:71 +#: ../../mod/like.php:177 ../../mod/page.php:31 ../../mod/page.php:86 +#: ../../mod/mood.php:112 ../../mod/new_channel.php:68 +#: ../../mod/new_channel.php:99 ../../mod/setup.php:227 +#: ../../mod/bookmarks.php:48 ../../mod/poke.php:133 +#: ../../mod/profiles.php:198 ../../mod/profiles.php:584 +#: ../../mod/connedit.php:352 ../../mod/editwebpage.php:64 +#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101 +#: ../../mod/editwebpage.php:125 ../../mod/profile.php:64 +#: ../../mod/profile.php:72 ../../mod/api.php:26 ../../mod/api.php:31 +#: ../../mod/fsuggest.php:78 ../../mod/sources.php:66 +#: ../../mod/notifications.php:66 ../../mod/photos.php:70 +#: ../../mod/profile_photo.php:341 ../../mod/profile_photo.php:354 +#: ../../mod/thing.php:271 ../../mod/thing.php:291 ../../mod/thing.php:328 +#: ../../mod/editblock.php:65 ../../mod/network.php:12 +#: ../../mod/pdledit.php:21 ../../mod/register.php:72 +#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 +#: ../../mod/settings.php:568 ../../mod/webpages.php:69 +#: ../../mod/appman.php:66 ../../mod/layouts.php:69 ../../mod/layouts.php:76 +#: ../../mod/layouts.php:87 ../../mod/locs.php:83 ../../mod/invite.php:13 +#: ../../mod/invite.php:104 ../../mod/regmod.php:17 ../../mod/channel.php:100 +#: ../../mod/channel.php:214 ../../mod/channel.php:254 +#: ../../mod/editpost.php:13 ../../mod/chat.php:94 ../../mod/chat.php:99 +#: ../../mod/viewsrc.php:14 ../../mod/authtest.php:13 +#: ../../mod/connections.php:29 ../../mod/manage.php:6 ../../mod/menu.php:74 +#: ../../mod/mail.php:118 ../../mod/service_limits.php:7 +#: ../../mod/suggest.php:26 ../../mod/events.php:260 ../../mod/message.php:16 +#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/mitem.php:111 +#: ../../mod/sharedwithme.php:7 ../../mod/viewconnections.php:22 +#: ../../mod/viewconnections.php:27 ../../index.php:182 ../../index.php:365 +msgid "Permission denied." +msgstr "Toegang geweigerd" + +#: ../../include/chat.php:143 +msgid "Room is full" +msgstr "Chatkanaal is vol" + +#: ../../include/import.php:23 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt." + +#: ../../include/import.php:44 ../../include/Import/import_diaspora.php:42 msgid "Unable to create a unique channel address. Import failed." msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt." -#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 -msgid "Import completed." -msgstr "Import voltooid." +#: ../../include/import.php:70 +msgid "Channel clone failed. Import failed." +msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt." + +#: ../../include/import.php:80 ../../mod/import.php:139 +msgid "Cloned channel not found. Import failed." +msgstr "Gekloond kanaal niet gevonden. Importeren mislukt." #: ../../include/RedDAV/RedBrowser.php:107 #: ../../include/RedDAV/RedBrowser.php:239 msgid "parent" msgstr "omhoog" -#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2546 +#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2582 msgid "Collection" msgstr "map" @@ -59,15 +149,15 @@ msgstr "Planning-postvak IN" msgid "Schedule Outbox" msgstr "Planning-postvak UIT" -#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1026 -#: ../../include/apps.php:360 ../../include/apps.php:415 -#: ../../include/widgets.php:1317 ../../mod/photos.php:759 +#: ../../include/RedDAV/RedBrowser.php:164 ../../include/widgets.php:1331 +#: ../../include/conversation.php:1027 ../../include/apps.php:360 +#: ../../include/apps.php:415 ../../mod/photos.php:759 #: ../../mod/photos.php:1198 msgid "Unknown" msgstr "Onbekend" -#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1628 -#: ../../include/apps.php:135 ../../include/nav.php:93 +#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1629 +#: ../../include/nav.php:93 ../../include/apps.php:135 #: ../../mod/fbrowser.php:114 msgid "Files" msgstr "Bestanden" @@ -81,21 +171,21 @@ msgid "Shared" msgstr "Gedeeld" #: ../../include/RedDAV/RedBrowser.php:230 -#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/layouts.php:175 -#: ../../mod/menu.php:114 ../../mod/new_channel.php:121 -#: ../../mod/webpages.php:180 ../../mod/blocks.php:152 +#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/blocks.php:152 +#: ../../mod/new_channel.php:121 ../../mod/webpages.php:180 +#: ../../mod/layouts.php:175 ../../mod/menu.php:114 msgid "Create" msgstr "Aanmaken" #: ../../include/RedDAV/RedBrowser.php:231 -#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329 +#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1343 #: ../../mod/photos.php:784 ../../mod/photos.php:1317 -#: ../../mod/profile_photo.php:450 +#: ../../mod/profile_photo.php:453 msgid "Upload" msgstr "Uploaden" #: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974 -#: ../../mod/settings.php:586 ../../mod/settings.php:612 +#: ../../mod/settings.php:588 ../../mod/settings.php:614 #: ../../mod/sharedwithme.php:95 msgid "Name" msgstr "Naam" @@ -104,7 +194,7 @@ msgstr "Naam" msgid "Type" msgstr "Type" -#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1247 +#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1248 #: ../../mod/sharedwithme.php:97 msgid "Size" msgstr "Grootte" @@ -115,23 +205,24 @@ msgstr "Laatst gewijzigd" #: ../../include/RedDAV/RedBrowser.php:240 ../../include/menu.php:108 #: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36 -#: ../../include/apps.php:259 ../../include/ItemObject.php:100 -#: ../../mod/layouts.php:183 ../../mod/editblock.php:135 -#: ../../mod/editpost.php:112 ../../mod/menu.php:108 -#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257 -#: ../../mod/settings.php:646 ../../mod/connections.php:235 +#: ../../include/ItemObject.php:100 ../../include/apps.php:259 +#: ../../mod/blocks.php:153 ../../mod/editwebpage.php:176 +#: ../../mod/thing.php:257 ../../mod/editblock.php:135 +#: ../../mod/editlayout.php:134 ../../mod/settings.php:648 +#: ../../mod/webpages.php:181 ../../mod/layouts.php:183 +#: ../../mod/editpost.php:112 ../../mod/connections.php:235 #: ../../mod/connections.php:248 ../../mod/connections.php:267 -#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176 +#: ../../mod/menu.php:108 msgid "Edit" msgstr "Bewerken" #: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657 -#: ../../include/apps.php:260 ../../include/ItemObject.php:120 -#: ../../mod/connedit.php:551 ../../mod/photos.php:1129 -#: ../../mod/editblock.php:181 ../../mod/admin.php:809 ../../mod/admin.php:968 -#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258 -#: ../../mod/settings.php:647 ../../mod/editlayout.php:179 -#: ../../mod/editwebpage.php:223 ../../mod/group.php:173 +#: ../../include/ItemObject.php:120 ../../include/apps.php:260 +#: ../../mod/group.php:173 ../../mod/blocks.php:155 ../../mod/connedit.php:551 +#: ../../mod/editwebpage.php:223 ../../mod/photos.php:1129 +#: ../../mod/thing.php:258 ../../mod/editblock.php:181 ../../mod/admin.php:809 +#: ../../mod/admin.php:968 ../../mod/editlayout.php:179 +#: ../../mod/settings.php:649 ../../mod/webpages.php:183 msgid "Delete" msgstr "Verwijderen" @@ -157,292 +248,1316 @@ msgstr "Nieuwe map aanmaken" msgid "Upload file" msgstr "Bestand uploaden" -#: ../../include/permissions.php:26 -msgid "Can view my normal stream and posts" -msgstr "Kan mijn normale kanaalstream en berichten bekijken" +#: ../../include/js_strings.php:5 +msgid "Delete this item?" +msgstr "Dit item verwijderen?" -#: ../../include/permissions.php:27 -msgid "Can view my default channel profile" -msgstr "Kan mijn standaard kanaalprofiel bekijken" +#: ../../include/js_strings.php:6 ../../include/ItemObject.php:696 +#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 +msgid "Comment" +msgstr "Reactie" -#: ../../include/permissions.php:28 -msgid "Can view my connections" -msgstr "Kan een lijst met mijn connecties bekijken" +#: ../../include/js_strings.php:7 ../../include/ItemObject.php:413 +msgid "[+] show all" +msgstr "[+] alle" -#: ../../include/permissions.php:29 -msgid "Can view my file storage and photos" -msgstr "Kan mijn foto's en andere bestanden bekijken" +#: ../../include/js_strings.php:8 +msgid "[-] show less" +msgstr "[-] minder reacties weergeven" -#: ../../include/permissions.php:30 -msgid "Can view my webpages" -msgstr "Kan mijn pagina's bekijken" +#: ../../include/js_strings.php:9 +msgid "[+] expand" +msgstr "[+] uitklappen" -#: ../../include/permissions.php:33 -msgid "Can send me their channel stream and posts" -msgstr "Kan mij de inhoud van hun kanaal en berichten sturen" +#: ../../include/js_strings.php:10 +msgid "[-] collapse" +msgstr "[-] inklappen" -#: ../../include/permissions.php:34 -msgid "Can post on my channel page (\"wall\")" -msgstr "Kan een bericht in mijn kanaal plaatsen" +#: ../../include/js_strings.php:11 +msgid "Password too short" +msgstr "Wachtwoord te kort" -#: ../../include/permissions.php:35 -msgid "Can comment on or like my posts" -msgstr "Kan op mijn berichten reageren of deze (niet) leuk vinden" +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" +msgstr "Wachtwoorden komen niet overeen" -#: ../../include/permissions.php:36 -msgid "Can send me private mail messages" -msgstr "Kan mij privéberichten sturen" +#: ../../include/js_strings.php:13 ../../mod/photos.php:41 +msgid "everybody" +msgstr "iedereen" -#: ../../include/permissions.php:37 -msgid "Can like/dislike stuff" -msgstr "Kan dingen leuk of niet leuk vinden" +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" +msgstr "Geheim wachtwoord" -#: ../../include/permissions.php:37 -msgid "Profiles and things other than posts/comments" -msgstr "Profielen en dingen, buiten berichten en reacties" +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" +msgstr "Wachtwoordhint" -#: ../../include/permissions.php:39 -msgid "Can forward to all my channel contacts via post @mentions" -msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+" +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." +msgstr "Mededeling: de permissies zijn veranderd, maar zijn nog niet opgeslagen." -#: ../../include/permissions.php:39 -msgid "Advanced - useful for creating group forum channels" -msgstr "Geavanceerd - nuttig voor groepforums" +#: ../../include/js_strings.php:17 +msgid "close all" +msgstr "Alles sluiten" -#: ../../include/permissions.php:40 -msgid "Can chat with me (when available)" -msgstr "Kan met mij chatten (wanneer beschikbaar)" +#: ../../include/js_strings.php:18 +msgid "Nothing new here" +msgstr "Niets nieuw hier" -#: ../../include/permissions.php:41 -msgid "Can write to my file storage and photos" -msgstr "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen" +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" +msgstr "Beoordeel dit kanaal (dit is openbaar)" -#: ../../include/permissions.php:42 -msgid "Can edit my webpages" -msgstr "Kan mijn pagina's bewerken" +#: ../../include/js_strings.php:20 ../../mod/rate.php:157 +#: ../../mod/connedit.php:694 +msgid "Rating" +msgstr "Beoordeling" -#: ../../include/permissions.php:44 -msgid "Can source my public posts in derived channels" -msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken" +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" +msgstr "Omschrijving (optioneel)" -#: ../../include/permissions.php:44 -msgid "Somewhat advanced - very useful in open communities" -msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)" +#: ../../include/js_strings.php:22 ../../include/widgets.php:676 +#: ../../include/widgets.php:688 ../../include/ItemObject.php:697 +#: ../../mod/filestorage.php:156 ../../mod/group.php:81 +#: ../../mod/connect.php:93 ../../mod/rate.php:168 ../../mod/mood.php:135 +#: ../../mod/setup.php:331 ../../mod/setup.php:371 ../../mod/pconfig.php:108 +#: ../../mod/poke.php:171 ../../mod/profiles.php:675 +#: ../../mod/connedit.php:715 ../../mod/fsuggest.php:108 +#: ../../mod/sources.php:104 ../../mod/sources.php:138 +#: ../../mod/import.php:527 ../../mod/photos.php:637 ../../mod/photos.php:1008 +#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/thing.php:313 +#: ../../mod/thing.php:359 ../../mod/import_items.php:122 +#: ../../mod/pdledit.php:58 ../../mod/admin.php:435 ../../mod/admin.php:802 +#: ../../mod/admin.php:966 ../../mod/admin.php:1103 ../../mod/admin.php:1297 +#: ../../mod/admin.php:1382 ../../mod/settings.php:586 +#: ../../mod/settings.php:698 ../../mod/settings.php:726 +#: ../../mod/settings.php:749 ../../mod/settings.php:834 +#: ../../mod/settings.php:1023 ../../mod/appman.php:99 ../../mod/locs.php:116 +#: ../../mod/invite.php:142 ../../mod/xchan.php:11 ../../mod/chat.php:184 +#: ../../mod/chat.php:213 ../../mod/mail.php:372 ../../mod/events.php:461 +#: ../../mod/events.php:658 ../../mod/mitem.php:231 +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Submit" +msgstr "Opslaan" -#: ../../include/permissions.php:46 -msgid "Can administer my channel resources" -msgstr "Kan mijn kanaal beheren" +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" +msgstr "Vul een internetadres/URL in:" -#: ../../include/permissions.php:46 -msgid "" -"Extremely advanced. Leave this alone unless you know what you are doing" -msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet." +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" +msgstr "Niet opgeslagen wijzigingen. Ben je er zeker van dat je deze pagina wil verlaten?" -#: ../../include/permissions.php:867 -msgid "Social Networking" -msgstr "Sociaal netwerk" +#: ../../include/js_strings.php:25 ../../mod/pubsites.php:28 +#: ../../mod/profiles.php:464 ../../mod/events.php:452 +msgid "Location" +msgstr "Locatie" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Mostly Public" -msgstr "Vrijwel alles openbaar" +#: ../../include/js_strings.php:27 +msgid "timeago.prefixAgo" +msgstr "timeago.prefixAgo" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -#: ../../include/permissions.php:869 -msgid "Restricted" -msgstr "Beperkt zichtbaar" +#: ../../include/js_strings.php:28 +msgid "timeago.prefixFromNow" +msgstr "timeago.prefixFromNow" -#: ../../include/permissions.php:867 ../../include/permissions.php:868 -msgid "Private" -msgstr "Verborgen kanaal" +#: ../../include/js_strings.php:29 +msgid "ago" +msgstr "geleden" -#: ../../include/permissions.php:868 -msgid "Community Forum" -msgstr "Groepsforum" +#: ../../include/js_strings.php:30 +msgid "from now" +msgstr "vanaf nu" -#: ../../include/permissions.php:869 -msgid "Feed Republish" -msgstr "Feed herpubliceren" +#: ../../include/js_strings.php:31 +msgid "less than a minute" +msgstr "minder dan een minuut" -#: ../../include/permissions.php:870 -msgid "Special Purpose" -msgstr "Speciaal doel" +#: ../../include/js_strings.php:32 +msgid "about a minute" +msgstr "ongeveer een minuut" -#: ../../include/permissions.php:870 -msgid "Celebrity/Soapbox" -msgstr "Beroemdheid/alleen volgen" +#: ../../include/js_strings.php:33 +#, php-format +msgid "%d minutes" +msgstr "%d minuten" -#: ../../include/permissions.php:870 -msgid "Group Repository" -msgstr "Groepsopslag" +#: ../../include/js_strings.php:34 +msgid "about an hour" +msgstr "ongeveer een uur" -#: ../../include/permissions.php:871 ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 -#: ../../include/profile_selectors.php:61 -#: ../../include/profile_selectors.php:97 -msgid "Other" -msgstr "Anders" +#: ../../include/js_strings.php:35 +#, php-format +msgid "about %d hours" +msgstr "ongeveer %d uren" -#: ../../include/permissions.php:871 -msgid "Custom/Expert Mode" -msgstr "Expertmodus/handmatig aanpassen" +#: ../../include/js_strings.php:36 +msgid "a day" +msgstr "een dag" -#: ../../include/chat.php:23 -msgid "Missing room name" -msgstr "Naam chatkanaal ontbreekt" +#: ../../include/js_strings.php:37 +#, php-format +msgid "%d days" +msgstr "%d dagen" -#: ../../include/chat.php:32 -msgid "Duplicate room name" -msgstr "Naam chatkanaal bestaat al" +#: ../../include/js_strings.php:38 +msgid "about a month" +msgstr "ongeveer een maand" -#: ../../include/chat.php:82 ../../include/chat.php:90 -msgid "Invalid room specifier." -msgstr "Ongeldige omschrijving chatkanaal" +#: ../../include/js_strings.php:39 +#, php-format +msgid "%d months" +msgstr "%d maanden" -#: ../../include/chat.php:122 -msgid "Room not found." -msgstr "Chatkanaal niet gevonden" +#: ../../include/js_strings.php:40 +msgid "about a year" +msgstr "ongeveer een jaar" -#: ../../include/chat.php:133 ../../include/items.php:4396 -#: ../../include/photos.php:29 ../../include/attach.php:140 -#: ../../include/attach.php:188 ../../include/attach.php:251 -#: ../../include/attach.php:265 ../../include/attach.php:272 -#: ../../include/attach.php:337 ../../include/attach.php:351 -#: ../../include/attach.php:358 ../../include/attach.php:436 -#: ../../include/attach.php:884 ../../include/attach.php:955 -#: ../../include/attach.php:1107 ../../mod/achievements.php:30 -#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13 -#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72 -#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35 -#: ../../mod/mitem.php:111 ../../mod/connedit.php:352 ../../mod/mood.php:112 -#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73 -#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115 -#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87 -#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:94 -#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/photos.php:70 -#: ../../mod/editblock.php:65 ../../mod/editpost.php:13 -#: ../../mod/appman.php:66 ../../mod/profile.php:64 ../../mod/profile.php:72 -#: ../../mod/menu.php:74 ../../mod/page.php:31 ../../mod/page.php:86 -#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99 -#: ../../mod/notifications.php:66 ../../mod/pdledit.php:21 -#: ../../mod/events.php:256 ../../mod/profile_photo.php:338 -#: ../../mod/profile_photo.php:351 ../../mod/item.php:205 -#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/message.php:16 -#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69 -#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7 -#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/channel.php:100 -#: ../../mod/channel.php:214 ../../mod/channel.php:254 ../../mod/thing.php:271 -#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13 -#: ../../mod/invite.php:104 ../../mod/mail.php:118 ../../mod/viewsrc.php:14 -#: ../../mod/settings.php:566 ../../mod/manage.php:6 ../../mod/api.php:26 -#: ../../mod/api.php:31 ../../mod/connections.php:29 -#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87 -#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86 -#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125 -#: ../../mod/group.php:9 ../../mod/viewconnections.php:22 -#: ../../mod/viewconnections.php:27 ../../mod/locs.php:83 -#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7 -#: ../../mod/suggest.php:26 ../../mod/profiles.php:188 -#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361 -msgid "Permission denied." -msgstr "Toegang geweigerd" +#: ../../include/js_strings.php:41 +#, php-format +msgid "%d years" +msgstr "%d jaren" -#: ../../include/chat.php:143 -msgid "Room is full" -msgstr "Chatkanaal is vol" +#: ../../include/js_strings.php:42 +msgid " " +msgstr " " -#: ../../include/datetime.php:48 -msgid "Miscellaneous" -msgstr "Diversen" +#: ../../include/js_strings.php:43 +msgid "timeago.numbers" +msgstr "timeago.numbers" -#: ../../include/datetime.php:132 -msgid "YYYY-MM-DD or MM-DD" -msgstr "JJJJ-MM-DD of MM-DD" +#: ../../include/js_strings.php:45 ../../include/text.php:1165 +msgid "January" +msgstr "januari" -#: ../../include/datetime.php:235 ../../mod/appman.php:91 -#: ../../mod/appman.php:92 ../../mod/events.php:689 -msgid "Required" -msgstr "Vereist" +#: ../../include/js_strings.php:46 ../../include/text.php:1165 +msgid "February" +msgstr "februari" -#: ../../include/datetime.php:262 ../../boot.php:2289 -msgid "never" -msgstr "nooit" +#: ../../include/js_strings.php:47 ../../include/text.php:1165 +msgid "March" +msgstr "maart" -#: ../../include/datetime.php:268 -msgid "less than a second ago" -msgstr "minder dan een seconde geleden" +#: ../../include/js_strings.php:48 ../../include/text.php:1165 +msgid "April" +msgstr "april" -#: ../../include/datetime.php:271 -msgid "year" -msgstr "jaar" +#: ../../include/js_strings.php:49 +msgctxt "long" +msgid "May" +msgstr "mei" -#: ../../include/datetime.php:271 -msgid "years" -msgstr "jaren" +#: ../../include/js_strings.php:50 ../../include/text.php:1165 +msgid "June" +msgstr "juni" -#: ../../include/datetime.php:272 +#: ../../include/js_strings.php:51 ../../include/text.php:1165 +msgid "July" +msgstr "juli" + +#: ../../include/js_strings.php:52 ../../include/text.php:1165 +msgid "August" +msgstr "augustus" + +#: ../../include/js_strings.php:53 ../../include/text.php:1165 +msgid "September" +msgstr "september" + +#: ../../include/js_strings.php:54 ../../include/text.php:1165 +msgid "October" +msgstr "oktober" + +#: ../../include/js_strings.php:55 ../../include/text.php:1165 +msgid "November" +msgstr "november" + +#: ../../include/js_strings.php:56 ../../include/text.php:1165 +msgid "December" +msgstr "december" + +#: ../../include/js_strings.php:57 +msgid "Jan" +msgstr "jan" + +#: ../../include/js_strings.php:58 +msgid "Feb" +msgstr "feb" + +#: ../../include/js_strings.php:59 +msgid "Mar" +msgstr "mrt" + +#: ../../include/js_strings.php:60 +msgid "Apr" +msgstr "apr" + +#: ../../include/js_strings.php:61 +msgctxt "short" +msgid "May" +msgstr "mei" + +#: ../../include/js_strings.php:62 +msgid "Jun" +msgstr "jun" + +#: ../../include/js_strings.php:63 +msgid "Jul" +msgstr "jul" + +#: ../../include/js_strings.php:64 +msgid "Aug" +msgstr "aug" + +#: ../../include/js_strings.php:65 +msgid "Sep" +msgstr "sep" + +#: ../../include/js_strings.php:66 +msgid "Oct" +msgstr "okt" + +#: ../../include/js_strings.php:67 +msgid "Nov" +msgstr "nov" + +#: ../../include/js_strings.php:68 +msgid "Dec" +msgstr "dec" + +#: ../../include/js_strings.php:69 ../../include/text.php:1161 +msgid "Sunday" +msgstr "zondag" + +#: ../../include/js_strings.php:70 ../../include/text.php:1161 +msgid "Monday" +msgstr "maandag" + +#: ../../include/js_strings.php:71 ../../include/text.php:1161 +msgid "Tuesday" +msgstr "dinsdag" + +#: ../../include/js_strings.php:72 ../../include/text.php:1161 +msgid "Wednesday" +msgstr "woensdag" + +#: ../../include/js_strings.php:73 ../../include/text.php:1161 +msgid "Thursday" +msgstr "donderdag" + +#: ../../include/js_strings.php:74 ../../include/text.php:1161 +msgid "Friday" +msgstr "vrijdag" + +#: ../../include/js_strings.php:75 ../../include/text.php:1161 +msgid "Saturday" +msgstr "zaterdag" + +#: ../../include/js_strings.php:76 +msgid "Sun" +msgstr "zo" + +#: ../../include/js_strings.php:77 +msgid "Mon" +msgstr "ma" + +#: ../../include/js_strings.php:78 +msgid "Tue" +msgstr "di" + +#: ../../include/js_strings.php:79 +msgid "Wed" +msgstr "wo" + +#: ../../include/js_strings.php:80 +msgid "Thu" +msgstr "do" + +#: ../../include/js_strings.php:81 +msgid "Fri" +msgstr "vr" + +#: ../../include/js_strings.php:82 +msgid "Sat" +msgstr "za" + +#: ../../include/js_strings.php:83 +msgctxt "calendar" +msgid "today" +msgstr "vandaag" + +#: ../../include/js_strings.php:84 +msgctxt "calendar" msgid "month" msgstr "maand" -#: ../../include/datetime.php:272 -msgid "months" -msgstr "maanden" - -#: ../../include/datetime.php:273 +#: ../../include/js_strings.php:85 +msgctxt "calendar" msgid "week" msgstr "week" -#: ../../include/datetime.php:273 -msgid "weeks" -msgstr "weken" - -#: ../../include/datetime.php:274 +#: ../../include/js_strings.php:86 +msgctxt "calendar" msgid "day" msgstr "dag" -#: ../../include/datetime.php:274 -msgid "days" -msgstr "dagen" +#: ../../include/js_strings.php:87 +msgctxt "calendar" +msgid "All day" +msgstr "hele dag" -#: ../../include/datetime.php:275 -msgid "hour" -msgstr "uur" +#: ../../include/Import/import_diaspora.php:17 +msgid "No username found in import file." +msgstr "Geen gebruikersnaam in het importbestand gevonden." -#: ../../include/datetime.php:275 -msgid "hours" -msgstr "uren" +#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487 +msgid "Import completed." +msgstr "Import voltooid." -#: ../../include/datetime.php:276 -msgid "minute" -msgstr "minuut" +#: ../../include/comanche.php:34 ../../mod/admin.php:351 +msgid "Default" +msgstr "Standaard" -#: ../../include/datetime.php:276 -msgid "minutes" -msgstr "minuten" +#: ../../include/items.php:423 ../../mod/group.php:68 ../../mod/like.php:280 +#: ../../mod/dreport.php:6 ../../mod/dreport.php:45 ../../mod/subthread.php:58 +#: ../../mod/import_items.php:114 ../../mod/profperm.php:23 +#: ../../index.php:364 +msgid "Permission denied" +msgstr "Toegang geweigerd" -#: ../../include/datetime.php:277 -msgid "second" -msgstr "seconde" +#: ../../include/items.php:1130 ../../include/items.php:1176 +msgid "(Unknown)" +msgstr "(Onbekend)" -#: ../../include/datetime.php:277 -msgid "seconds" -msgstr "seconden" +#: ../../include/items.php:1373 +msgid "Visible to anybody on the internet." +msgstr "Voor iedereen op het internet zichtbaar." + +#: ../../include/items.php:1375 +msgid "Visible to you only." +msgstr "Alleen voor jou zichtbaar." + +#: ../../include/items.php:1377 +msgid "Visible to anybody in this network." +msgstr "Voor iedereen in dit netwerk zichtbaar." -#: ../../include/datetime.php:285 +#: ../../include/items.php:1379 +msgid "Visible to anybody authenticated." +msgstr "Voor iedereen die geauthenticeerd is zichtbaar." + +#: ../../include/items.php:1381 #, php-format -msgctxt "e.g. 22 hours ago, 1 minute ago" -msgid "%1$d %2$s ago" -msgstr "%1$d %2$s geleden" +msgid "Visible to anybody on %s." +msgstr "Voor iedereen op %s zichtbaar." + +#: ../../include/items.php:1383 +msgid "Visible to all connections." +msgstr "Voor alle connecties zichtbaar." -#: ../../include/datetime.php:519 +#: ../../include/items.php:1385 +msgid "Visible to approved connections." +msgstr "Voor alle goedgekeurde connecties zichtbaar." + +#: ../../include/items.php:1387 +msgid "Visible to specific connections." +msgstr "Voor specifieke connecties zichtbaar." + +#: ../../include/items.php:4319 ../../mod/filestorage.php:27 +#: ../../mod/thing.php:86 ../../mod/admin.php:127 ../../mod/admin.php:1005 +#: ../../mod/admin.php:1210 ../../mod/display.php:36 ../../mod/viewsrc.php:20 +msgid "Item not found." +msgstr "Item niet gevonden." + +#: ../../include/items.php:4831 ../../mod/group.php:38 ../../mod/group.php:137 +msgid "Collection not found." +msgstr "Collectie niet gevonden." + +#: ../../include/items.php:4847 +msgid "Collection is empty." +msgstr "Collectie is leeg" + +#: ../../include/items.php:4854 #, php-format -msgid "%1$s's birthday" -msgstr "Verjaardag van %1$s" +msgid "Collection: %s" +msgstr "Collectie: %s" -#: ../../include/datetime.php:520 +#: ../../include/items.php:4864 ../../mod/connedit.php:683 #, php-format -msgid "Happy Birthday %1$s" -msgstr "Gefeliciteerd met je verjaardag %1$s" +msgid "Connection: %s" +msgstr "Connectie: %s" + +#: ../../include/items.php:4866 +msgid "Connection not found." +msgstr "Connectie niet gevonden." + +#: ../../include/network.php:630 +msgid "view full size" +msgstr "volledige grootte tonen" + +#: ../../include/network.php:1608 ../../include/enotify.php:57 +msgid "$Projectname Notification" +msgstr "$Projectname-notificatie" + +#: ../../include/network.php:1609 ../../include/enotify.php:58 +msgid "$projectname" +msgstr "$projectname" + +#: ../../include/network.php:1611 ../../include/enotify.php:60 +msgid "Thank You," +msgstr "Bedankt," + +#: ../../include/network.php:1613 ../../include/enotify.php:62 +#, php-format +msgid "%s Administrator" +msgstr "Beheerder %s" + +#: ../../include/network.php:1655 ../../include/account.php:316 +#: ../../include/account.php:343 ../../include/account.php:403 +msgid "Administrator" +msgstr "Beheerder" + +#: ../../include/network.php:1669 +msgid "No Subject" +msgstr "Geen onderwerp" + +#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 +#: ../../include/text.php:1392 +msgid "l F d, Y \\@ g:i A" +msgstr "l d F Y \\@ G:i" + +#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 +#: ../../include/text.php:1396 +msgid "Starts:" +msgstr "Start:" + +#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 +#: ../../include/text.php:1400 +msgid "Finishes:" +msgstr "Einde:" + +#: ../../include/event.php:52 ../../include/identity.php:1004 +#: ../../include/bb2diaspora.php:493 ../../include/text.php:1407 +#: ../../mod/directory.php:304 +msgid "Location:" +msgstr "Plaats:" + +#: ../../include/event.php:768 +msgid "This event has been added to your calendar." +msgstr "Dit evenement is aan jouw agenda toegevoegd." + +#: ../../include/event.php:904 ../../include/conversation.php:123 +#: ../../include/text.php:1919 ../../mod/tagger.php:47 ../../mod/like.php:363 +#: ../../mod/events.php:249 +msgid "event" +msgstr "gebeurtenis" + +#: ../../include/event.php:967 +msgid "Not specified" +msgstr "Niet aangegeven" + +#: ../../include/event.php:968 +msgid "Needs Action" +msgstr "Actie vereist" + +#: ../../include/event.php:969 +msgid "Completed" +msgstr "Voltooid" + +#: ../../include/event.php:970 +msgid "In Process" +msgstr "In behandeling" + +#: ../../include/event.php:971 +msgid "Cancelled" +msgstr "Geannuleerd" + +#: ../../include/identity.php:32 +msgid "Unable to obtain identity information from database" +msgstr "Niet in staat om identiteitsinformatie uit de database te verkrijgen" + +#: ../../include/identity.php:66 +msgid "Empty name" +msgstr "Ontbrekende naam" + +#: ../../include/identity.php:69 +msgid "Name too long" +msgstr "Naam te lang" + +#: ../../include/identity.php:181 +msgid "No account identifier" +msgstr "Geen account-identificator" + +#: ../../include/identity.php:193 +msgid "Nickname is required." +msgstr "Bijnaam is verplicht" + +#: ../../include/identity.php:207 +msgid "Reserved nickname. Please choose another." +msgstr "Deze naam is gereserveerd. Kies een andere." + +#: ../../include/identity.php:212 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik." + +#: ../../include/identity.php:288 +msgid "Unable to retrieve created identity" +msgstr "Niet in staat om aangemaakte identiteit te vinden" + +#: ../../include/identity.php:346 +msgid "Default Profile" +msgstr "Standaardprofiel" + +#: ../../include/identity.php:390 ../../include/identity.php:391 +#: ../../include/identity.php:398 ../../include/widgets.php:430 +#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:573 +#: ../../mod/settings.php:338 ../../mod/settings.php:342 +#: ../../mod/settings.php:343 ../../mod/settings.php:346 +#: ../../mod/settings.php:357 +msgid "Friends" +msgstr "Vrienden" + +#: ../../include/identity.php:770 +msgid "Requested channel is not available." +msgstr "Opgevraagd kanaal is niet beschikbaar." + +#: ../../include/identity.php:816 ../../mod/filestorage.php:54 +#: ../../mod/connect.php:13 ../../mod/achievements.php:11 +#: ../../mod/blocks.php:29 ../../mod/hcard.php:8 ../../mod/editwebpage.php:28 +#: ../../mod/profile.php:16 ../../mod/editblock.php:29 +#: ../../mod/editlayout.php:27 ../../mod/webpages.php:29 +#: ../../mod/layouts.php:29 +msgid "Requested profile is not available." +msgstr "Opgevraagd profiel is niet beschikbaar" + +#: ../../include/identity.php:966 ../../mod/profiles.php:782 +msgid "Change profile photo" +msgstr "Profielfoto veranderen" + +#: ../../include/identity.php:972 +msgid "Profiles" +msgstr "Profielen" + +#: ../../include/identity.php:972 +msgid "Manage/edit profiles" +msgstr "Profielen beheren/bewerken" + +#: ../../include/identity.php:973 ../../mod/profiles.php:783 +msgid "Create New Profile" +msgstr "Nieuw profiel aanmaken" + +#: ../../include/identity.php:976 ../../include/nav.php:90 +msgid "Edit Profile" +msgstr "Profiel bewerken" + +#: ../../include/identity.php:988 ../../mod/profiles.php:794 +msgid "Profile Image" +msgstr "Profielfoto" + +#: ../../include/identity.php:991 +msgid "visible to everybody" +msgstr "Voor iedereen zichtbaar" + +#: ../../include/identity.php:992 ../../mod/profiles.php:677 +#: ../../mod/profiles.php:798 +msgid "Edit visibility" +msgstr "Zichtbaarheid bewerken" + +#: ../../include/identity.php:1008 ../../include/identity.php:1248 +msgid "Gender:" +msgstr "Geslacht:" + +#: ../../include/identity.php:1009 ../../include/identity.php:1292 +msgid "Status:" +msgstr "Status:" + +#: ../../include/identity.php:1010 ../../include/identity.php:1303 +msgid "Homepage:" +msgstr "Homepagina:" + +#: ../../include/identity.php:1011 +msgid "Online Now" +msgstr "Nu online" + +#: ../../include/identity.php:1095 ../../include/identity.php:1173 +#: ../../mod/ping.php:318 +msgid "g A l F d" +msgstr "G:i, l d F" + +#: ../../include/identity.php:1096 ../../include/identity.php:1174 +msgid "F d" +msgstr "d F" + +#: ../../include/identity.php:1141 ../../include/identity.php:1213 +#: ../../mod/ping.php:341 +msgid "[today]" +msgstr "[vandaag]" + +#: ../../include/identity.php:1152 +msgid "Birthday Reminders" +msgstr "Verjaardagsherinneringen" + +#: ../../include/identity.php:1153 +msgid "Birthdays this week:" +msgstr "Verjaardagen deze week:" + +#: ../../include/identity.php:1206 +msgid "[No description]" +msgstr "[Geen omschrijving]" + +#: ../../include/identity.php:1224 +msgid "Event Reminders" +msgstr "Herinneringen" + +#: ../../include/identity.php:1225 +msgid "Events this week:" +msgstr "Gebeurtenissen deze week:" + +#: ../../include/identity.php:1238 ../../include/identity.php:1355 +#: ../../include/apps.php:138 ../../mod/profperm.php:112 +msgid "Profile" +msgstr "Profiel" + +#: ../../include/identity.php:1246 ../../mod/settings.php:1029 +msgid "Full Name:" +msgstr "Volledige naam:" + +#: ../../include/identity.php:1253 +msgid "Like this channel" +msgstr "Vind dit kanaal leuk" + +#: ../../include/identity.php:1264 ../../include/taxonomy.php:414 +#: ../../include/conversation.php:1721 ../../include/ItemObject.php:179 +#: ../../mod/photos.php:1086 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "vindt dit leuk" +msgstr[1] "vinden dit leuk" + +#: ../../include/identity.php:1277 +msgid "j F, Y" +msgstr "F j Y" + +#: ../../include/identity.php:1278 +msgid "j F" +msgstr "F j" + +#: ../../include/identity.php:1285 +msgid "Birthday:" +msgstr "Geboortedatum:" + +#: ../../include/identity.php:1289 ../../mod/directory.php:299 +msgid "Age:" +msgstr "Leeftijd:" + +#: ../../include/identity.php:1298 +#, php-format +msgid "for %1$d %2$s" +msgstr "voor %1$d %2$s" + +#: ../../include/identity.php:1301 ../../mod/profiles.php:699 +msgid "Sexual Preference:" +msgstr "Seksuele voorkeur:" + +#: ../../include/identity.php:1305 ../../mod/profiles.php:701 +#: ../../mod/directory.php:315 +msgid "Hometown:" +msgstr "Oorspronkelijk uit:" + +#: ../../include/identity.php:1307 +msgid "Tags:" +msgstr "Tags:" + +#: ../../include/identity.php:1309 ../../mod/profiles.php:702 +msgid "Political Views:" +msgstr "Politieke overtuigingen:" + +#: ../../include/identity.php:1311 +msgid "Religion:" +msgstr "Religie:" + +#: ../../include/identity.php:1313 ../../mod/directory.php:317 +msgid "About:" +msgstr "Over:" + +#: ../../include/identity.php:1315 +msgid "Hobbies/Interests:" +msgstr "Hobby's/interesses:" + +#: ../../include/identity.php:1317 ../../mod/profiles.php:705 +msgid "Likes:" +msgstr "Houdt van:" + +#: ../../include/identity.php:1319 ../../mod/profiles.php:706 +msgid "Dislikes:" +msgstr "Houdt niet van:" + +#: ../../include/identity.php:1321 +msgid "Contact information and Social Networks:" +msgstr "Contactinformatie en sociale netwerken:" + +#: ../../include/identity.php:1323 +msgid "My other channels:" +msgstr "Mijn andere kanalen" + +#: ../../include/identity.php:1325 +msgid "Musical interests:" +msgstr "Muzikale interesses:" + +#: ../../include/identity.php:1327 +msgid "Books, literature:" +msgstr "Boeken, literatuur:" + +#: ../../include/identity.php:1329 +msgid "Television:" +msgstr "Televisie:" + +#: ../../include/identity.php:1331 +msgid "Film/dance/culture/entertainment:" +msgstr "Films/dansen/cultuur/vermaak:" + +#: ../../include/identity.php:1333 +msgid "Love/Romance:" +msgstr "Liefde/romantiek:" + +#: ../../include/identity.php:1335 +msgid "Work/employment:" +msgstr "Werk/beroep:" + +#: ../../include/identity.php:1337 +msgid "School/education:" +msgstr "School/opleiding:" + +#: ../../include/identity.php:1357 +msgid "Like this thing" +msgstr "Vind dit ding leuk" + +#: ../../include/taxonomy.php:240 ../../include/taxonomy.php:261 +msgid "Tags" +msgstr "Tags" + +#: ../../include/taxonomy.php:282 ../../include/widgets.php:36 +#: ../../include/contact_widgets.php:95 +msgid "Categories" +msgstr "Categorieën" + +#: ../../include/taxonomy.php:305 +msgid "Keywords" +msgstr "Trefwoorden" + +#: ../../include/taxonomy.php:326 +msgid "have" +msgstr "heb" + +#: ../../include/taxonomy.php:326 +msgid "has" +msgstr "heeft" + +#: ../../include/taxonomy.php:327 +msgid "want" +msgstr "wil" + +#: ../../include/taxonomy.php:327 +msgid "wants" +msgstr "wil" + +#: ../../include/taxonomy.php:328 ../../include/ItemObject.php:254 +msgid "like" +msgstr "vind dit leuk" + +#: ../../include/taxonomy.php:328 +msgid "likes" +msgstr "vindt dit leuk" + +#: ../../include/taxonomy.php:329 ../../include/ItemObject.php:255 +msgid "dislike" +msgstr "vind dit niet leuk" + +#: ../../include/taxonomy.php:329 +msgid "dislikes" +msgstr "vindt dit niet leuk" + +#: ../../include/acl_selectors.php:240 +msgid "Visible to your default audience" +msgstr "Voor iedereen zichtbaar, mits niet anders ingesteld" + +#: ../../include/acl_selectors.php:241 +msgid "Show" +msgstr "Tonen" + +#: ../../include/acl_selectors.php:242 +msgid "Don't show" +msgstr "Niet tonen" + +#: ../../include/acl_selectors.php:247 +msgid "Other networks and post services" +msgstr "Andere netwerken en diensten" + +#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 +#: ../../mod/photos.php:631 ../../mod/photos.php:1001 ../../mod/thing.php:310 +#: ../../mod/thing.php:356 ../../mod/chat.php:211 +msgid "Permissions" +msgstr "Permissies" + +#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:384 +#: ../../mod/photos.php:1218 +msgid "Close" +msgstr "Sluiten" + +#: ../../include/activities.php:42 +msgid " and " +msgstr " en " + +#: ../../include/activities.php:50 +msgid "public profile" +msgstr "openbaar profiel" + +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "%1$s veranderde %2$s naar “%3$s”" + +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "Bezoek het %2$s van %1$s" + +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd." + +#: ../../include/attach.php:246 ../../include/attach.php:332 +msgid "Item was not found." +msgstr "Item niet gevonden" + +#: ../../include/attach.php:496 +msgid "No source file." +msgstr "Geen bronbestand." + +#: ../../include/attach.php:514 +msgid "Cannot locate file to replace" +msgstr "Kan het te vervangen bestand niet vinden" + +#: ../../include/attach.php:532 +msgid "Cannot locate file to revise/update" +msgstr "Kan het bestand wat aangepast moet worden niet vinden" + +#: ../../include/attach.php:667 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "Bestand is groter dan de toegelaten %d" + +#: ../../include/attach.php:681 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt." + +#: ../../include/attach.php:837 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken." + +#: ../../include/attach.php:850 +msgid "Stored file could not be verified. Upload failed." +msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt." + +#: ../../include/attach.php:898 ../../include/attach.php:914 +msgid "Path not available." +msgstr "Pad niet beschikbaar." + +#: ../../include/attach.php:960 ../../include/attach.php:1112 +msgid "Empty pathname" +msgstr "Padnaam leeg" + +#: ../../include/attach.php:986 +msgid "duplicate filename or path" +msgstr "dubbele bestandsnaam of pad" + +#: ../../include/attach.php:1008 +msgid "Path not found." +msgstr "Pad niet gevonden" + +#: ../../include/attach.php:1066 +msgid "mkdir failed." +msgstr "directory aanmaken (mkdir) mislukt." + +#: ../../include/attach.php:1070 +msgid "database storage failed." +msgstr "opslag in database mislukt." + +#: ../../include/attach.php:1118 +msgid "Empty path" +msgstr "Ontbrekend bestandspad" + +#: ../../include/bb2diaspora.php:382 +msgid "Attachments:" +msgstr "Bijlagen:" + +#: ../../include/bb2diaspora.php:473 +msgid "$Projectname event notification:" +msgstr "Notificatie $Projectname-gebeurtenis:" + +#: ../../include/notify.php:20 +msgid "created a new post" +msgstr "maakte een nieuw bericht aan" + +#: ../../include/notify.php:21 +#, php-format +msgid "commented on %s's post" +msgstr "gaf een reactie op een bericht van %s" + +#: ../../include/widgets.php:92 ../../include/nav.php:157 +#: ../../mod/apps.php:36 +msgid "Apps" +msgstr "Apps" + +#: ../../include/widgets.php:93 +msgid "System" +msgstr "Systeem" + +#: ../../include/widgets.php:95 ../../include/conversation.php:1526 +msgid "Personal" +msgstr "Persoonlijk" + +#: ../../include/widgets.php:96 +msgid "Create Personal App" +msgstr "Persoonlijke app maken" + +#: ../../include/widgets.php:97 +msgid "Edit Personal App" +msgstr "Persoonlijke app bewerken" + +#: ../../include/widgets.php:139 ../../mod/suggest.php:54 +msgid "Ignore/Hide" +msgstr "Negeren/Verbergen" + +#: ../../include/widgets.php:144 ../../mod/connections.php:125 +msgid "Suggestions" +msgstr "Voorgestelde kanalen" + +#: ../../include/widgets.php:145 +msgid "See more..." +msgstr "Meer..." + +#: ../../include/widgets.php:166 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties." + +#: ../../include/widgets.php:172 +msgid "Add New Connection" +msgstr "Nieuwe connectie toevoegen" + +#: ../../include/widgets.php:173 +msgid "Enter the channel address" +msgstr "Vul het adres van het nieuwe kanaal in" + +#: ../../include/widgets.php:174 +msgid "Example: bob@example.com, http://example.com/barbara" +msgstr "Voorbeeld: bob@example.com, http://example.com/barbara" + +#: ../../include/widgets.php:190 +msgid "Notes" +msgstr "Aantekeningen" + +#: ../../include/widgets.php:192 ../../include/text.php:868 +#: ../../include/text.php:880 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 +#: ../../mod/admin.php:1442 ../../mod/admin.php:1462 ../../mod/filer.php:49 +msgid "Save" +msgstr "Opslaan" + +#: ../../include/widgets.php:266 +msgid "Remove term" +msgstr "Verwijder zoekterm" + +#: ../../include/widgets.php:274 ../../include/features.php:72 +msgid "Saved Searches" +msgstr "Opgeslagen zoekopdrachten" + +#: ../../include/widgets.php:275 ../../include/group.php:300 +msgid "add" +msgstr "toevoegen" + +#: ../../include/widgets.php:304 ../../include/features.php:85 +#: ../../include/contact_widgets.php:57 +msgid "Saved Folders" +msgstr "Bewaarde mappen" + +#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60 +#: ../../include/contact_widgets.php:98 +msgid "Everything" +msgstr "Alles" + +#: ../../include/widgets.php:349 +msgid "Archives" +msgstr "Archieven" + +#: ../../include/widgets.php:428 ../../mod/connedit.php:571 +msgid "Me" +msgstr "Ik" + +#: ../../include/widgets.php:429 ../../mod/connedit.php:572 +msgid "Family" +msgstr "Familie" + +#: ../../include/widgets.php:431 ../../mod/connedit.php:574 +msgid "Acquaintances" +msgstr "Kennissen" + +#: ../../include/widgets.php:432 ../../mod/connedit.php:575 +#: ../../mod/connections.php:88 ../../mod/connections.php:103 +msgid "All" +msgstr "Alles" + +#: ../../include/widgets.php:451 +msgid "Refresh" +msgstr "Vernieuwen" + +#: ../../include/widgets.php:485 +msgid "Account settings" +msgstr "Account" + +#: ../../include/widgets.php:491 +msgid "Channel settings" +msgstr "Kanaal" + +#: ../../include/widgets.php:497 +msgid "Additional features" +msgstr "Extra functies" + +#: ../../include/widgets.php:503 +msgid "Feature/Addon settings" +msgstr "Extra functie- en plugin-instellingen" + +#: ../../include/widgets.php:509 +msgid "Display settings" +msgstr "Weergave" + +#: ../../include/widgets.php:515 +msgid "Connected apps" +msgstr "Verbonden applicaties" + +#: ../../include/widgets.php:521 +msgid "Export channel" +msgstr "Kanaal exporteren" + +#: ../../include/widgets.php:530 ../../mod/connedit.php:683 +msgid "Connection Default Permissions" +msgstr "Standaard permissies voor connecties" + +#: ../../include/widgets.php:538 +msgid "Premium Channel Settings" +msgstr "Instellingen premiumkanaal" + +#: ../../include/widgets.php:546 ../../include/features.php:59 +#: ../../mod/sources.php:88 +msgid "Channel Sources" +msgstr "Kanaalbronnen" + +#: ../../include/widgets.php:554 ../../include/nav.php:202 +#: ../../include/apps.php:134 ../../mod/admin.php:1064 +#: ../../mod/admin.php:1264 +msgid "Settings" +msgstr "Instellingen" + +#: ../../include/widgets.php:568 +msgid "Private Mail Menu" +msgstr "Privéberichten" + +#: ../../include/widgets.php:570 +msgid "Combined View" +msgstr "Gecombineerd postvak" + +#: ../../include/widgets.php:575 ../../include/nav.php:191 +msgid "Inbox" +msgstr "Postvak IN" + +#: ../../include/widgets.php:580 ../../include/nav.php:192 +msgid "Outbox" +msgstr "Postvak UIT" + +#: ../../include/widgets.php:585 ../../include/nav.php:193 +msgid "New Message" +msgstr "Nieuw bericht" + +#: ../../include/widgets.php:604 ../../include/widgets.php:616 +msgid "Conversations" +msgstr "Conversaties" + +#: ../../include/widgets.php:608 +msgid "Received Messages" +msgstr "Ontvangen berichten" + +#: ../../include/widgets.php:612 +msgid "Sent Messages" +msgstr "Verzonden berichten" + +#: ../../include/widgets.php:626 +msgid "No messages." +msgstr "Geen berichten" + +#: ../../include/widgets.php:644 +msgid "Delete conversation" +msgstr "Verwijder conversatie" + +#: ../../include/widgets.php:670 +msgid "Events Menu" +msgstr "Agenda-menu" + +#: ../../include/widgets.php:671 +msgid "Day View" +msgstr "Dag tonen" + +#: ../../include/widgets.php:672 +msgid "Week View" +msgstr "Week tonen" + +#: ../../include/widgets.php:673 +msgid "Month View" +msgstr "Maand tonen" + +#: ../../include/widgets.php:674 ../../mod/events.php:654 +msgid "Export" +msgstr "Exporteren" + +#: ../../include/widgets.php:675 ../../mod/events.php:657 +msgid "Import" +msgstr "Importeren" + +#: ../../include/widgets.php:685 +msgid "Events Tools" +msgstr "Agenda-hulpmiddelen" + +#: ../../include/widgets.php:686 +msgid "Export Calendar" +msgstr "Exporteren" + +#: ../../include/widgets.php:687 +msgid "Import Calendar" +msgstr "Importeren" + +#: ../../include/widgets.php:761 +msgid "Chat Rooms" +msgstr "Chatkanalen" + +#: ../../include/widgets.php:781 +msgid "Bookmarked Chatrooms" +msgstr "Bladwijzers van chatkanalen" + +#: ../../include/widgets.php:801 +msgid "Suggested Chatrooms" +msgstr "Voorgestelde chatkanalen" + +#: ../../include/widgets.php:928 ../../include/widgets.php:986 +msgid "photo/image" +msgstr "foto/afbeelding" + +#: ../../include/widgets.php:1081 ../../include/widgets.php:1083 +msgid "Rate Me" +msgstr "Beoordeel mij" + +#: ../../include/widgets.php:1087 +msgid "View Ratings" +msgstr "Bekijk beoordelingen" + +#: ../../include/widgets.php:1098 +msgid "Public Hubs" +msgstr "Openbare hubs" + +#: ../../include/widgets.php:1146 +msgid "Forums" +msgstr "Forums" + +#: ../../include/widgets.php:1175 +msgid "Tasks" +msgstr "Taken" + +#: ../../include/widgets.php:1184 +msgid "Documentation" +msgstr "Documentatie" + +#: ../../include/widgets.php:1186 +msgid "Project/Site Information" +msgstr "Project- en hub-informatie" + +#: ../../include/widgets.php:1187 +msgid "For Members" +msgstr "Voor leden" + +#: ../../include/widgets.php:1188 +msgid "For Administrators" +msgstr "Voor beheerders" + +#: ../../include/widgets.php:1189 +msgid "For Developers" +msgstr "Voor ontwikkelaars" + +#: ../../include/widgets.php:1214 ../../mod/admin.php:434 +msgid "Site" +msgstr "Hub-instellingen" + +#: ../../include/widgets.php:1215 +msgid "Accounts" +msgstr "Accounts" + +#: ../../include/widgets.php:1216 ../../mod/admin.php:965 +msgid "Channels" +msgstr "Kanalen" + +#: ../../include/widgets.php:1217 ../../mod/admin.php:1062 +#: ../../mod/admin.php:1102 +msgid "Plugins" +msgstr "Plug-ins" + +#: ../../include/widgets.php:1218 ../../mod/admin.php:1262 +#: ../../mod/admin.php:1296 +msgid "Themes" +msgstr "Thema's" + +#: ../../include/widgets.php:1219 +msgid "Inspect queue" +msgstr "Inspecteer berichtenwachtrij" + +#: ../../include/widgets.php:1220 +msgid "Profile Config" +msgstr "Profielconfiguratie" + +#: ../../include/widgets.php:1221 +msgid "DB updates" +msgstr "Database-updates" + +#: ../../include/widgets.php:1239 ../../include/widgets.php:1245 +#: ../../mod/admin.php:1381 +msgid "Logs" +msgstr "Logboeken" + +#: ../../include/widgets.php:1243 ../../include/nav.php:210 +msgid "Admin" +msgstr "Beheer" + +#: ../../include/widgets.php:1244 +msgid "Plugin Features" +msgstr "Plug-in-opties" + +#: ../../include/widgets.php:1246 +msgid "User registrations waiting for confirmation" +msgstr "Accounts die op goedkeuring wachten" + +#: ../../include/widgets.php:1325 ../../mod/photos.php:753 +#: ../../mod/photos.php:1286 +msgid "View Photo" +msgstr "Foto weergeven" + +#: ../../include/widgets.php:1341 ../../mod/photos.php:782 +msgid "Edit Album" +msgstr "Album bewerken" + +#: ../../include/bookmarks.php:35 +#, php-format +msgid "%1$s's bookmarks" +msgstr "Bladwijzers van %1$s" #: ../../include/features.php:38 msgid "General Features" @@ -552,11 +1667,6 @@ msgid "" "(640px) photo thumbnails" msgstr "Gebruik grotere foto's (1024px) in berichten. Wanneer dit is uitgeschakeld worden er kleinere foto's (640px) gebruikt." -#: ../../include/features.php:59 ../../include/widgets.php:546 -#: ../../mod/sources.php:88 -msgid "Channel Sources" -msgstr "Kanaalbronnen" - #: ../../include/features.php:59 msgid "Automatically import channel content from other channels or feeds" msgstr "Automatisch inhoud uit andere kanalen of feeds importeren." @@ -616,10 +1726,6 @@ msgstr "Filter op collecties" msgid "Enable widget to display Network posts only from selected collections" msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties" -#: ../../include/features.php:72 ../../include/widgets.php:274 -msgid "Saved Searches" -msgstr "Opgeslagen zoekopdrachten" - #: ../../include/features.php:72 msgid "Save search terms for re-use" msgstr "Sla zoekopdrachten op voor hergebruik" @@ -684,11 +1790,6 @@ msgstr "Categorieën berichten" msgid "Add categories to your posts" msgstr "Voeg categorieën toe aan je berichten" -#: ../../include/features.php:85 ../../include/contact_widgets.php:57 -#: ../../include/widgets.php:304 -msgid "Saved Folders" -msgstr "Bewaarde mappen" - #: ../../include/features.php:85 msgid "Ability to file posts under folders" msgstr "Mogelijkheid om berichten in mappen op te slaan" @@ -717,570 +1818,361 @@ msgstr "Tagwolk" msgid "Provide a personal tag cloud on your channel page" msgstr "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina" -#: ../../include/comanche.php:34 ../../mod/admin.php:351 -msgid "Default" -msgstr "Standaard" - -#: ../../include/js_strings.php:5 -msgid "Delete this item?" -msgstr "Dit item verwijderen?" - -#: ../../include/js_strings.php:6 ../../include/ItemObject.php:682 -#: ../../mod/photos.php:1047 ../../mod/photos.php:1165 -msgid "Comment" -msgstr "Reactie" - -#: ../../include/js_strings.php:7 ../../include/ItemObject.php:399 -msgid "[+] show all" -msgstr "[+] alle" - -#: ../../include/js_strings.php:8 -msgid "[-] show less" -msgstr "[-] minder reacties weergeven" - -#: ../../include/js_strings.php:9 -msgid "[+] expand" -msgstr "[+] uitklappen" - -#: ../../include/js_strings.php:10 -msgid "[-] collapse" -msgstr "[-] inklappen" - -#: ../../include/js_strings.php:11 -msgid "Password too short" -msgstr "Wachtwoord te kort" - -#: ../../include/js_strings.php:12 -msgid "Passwords do not match" -msgstr "Wachtwoorden komen niet overeen" - -#: ../../include/js_strings.php:13 ../../mod/photos.php:41 -msgid "everybody" -msgstr "iedereen" - -#: ../../include/js_strings.php:14 -msgid "Secret Passphrase" -msgstr "Geheim wachtwoord" - -#: ../../include/js_strings.php:15 -msgid "Passphrase hint" -msgstr "Wachtwoordhint" - -#: ../../include/js_strings.php:16 -msgid "Notice: Permissions have changed but have not yet been submitted." -msgstr "Mededeling: de permissies zijn veranderd, maar zijn nog niet opgeslagen." - -#: ../../include/js_strings.php:17 -msgid "close all" -msgstr "Alles sluiten" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 +msgid "Male" +msgstr "Man" -#: ../../include/js_strings.php:18 -msgid "Nothing new here" -msgstr "Niets nieuw hier" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 +msgid "Female" +msgstr "Vrouw" -#: ../../include/js_strings.php:19 -msgid "Rate This Channel (this is public)" -msgstr "Beoordeel dit kanaal (dit is openbaar)" +#: ../../include/profile_selectors.php:6 +msgid "Currently Male" +msgstr "Momenteel man" -#: ../../include/js_strings.php:20 ../../mod/connedit.php:694 -#: ../../mod/rate.php:157 -msgid "Rating" -msgstr "Beoordeling" +#: ../../include/profile_selectors.php:6 +msgid "Currently Female" +msgstr "Momenteel vrouw" -#: ../../include/js_strings.php:21 -msgid "Describe (optional)" -msgstr "Omschrijving (optioneel)" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Male" +msgstr "Voornamelijk man" -#: ../../include/js_strings.php:22 ../../include/ItemObject.php:683 -#: ../../include/widgets.php:676 ../../mod/fsuggest.php:108 -#: ../../mod/mitem.php:231 ../../mod/connedit.php:715 ../../mod/mood.php:135 -#: ../../mod/pconfig.php:108 ../../mod/filestorage.php:156 -#: ../../mod/poke.php:171 ../../mod/chat.php:184 ../../mod/chat.php:213 -#: ../../mod/rate.php:168 ../../mod/photos.php:637 ../../mod/photos.php:1008 -#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:435 -#: ../../mod/admin.php:802 ../../mod/admin.php:966 ../../mod/admin.php:1103 -#: ../../mod/admin.php:1297 ../../mod/admin.php:1382 ../../mod/appman.php:99 -#: ../../mod/pdledit.php:58 ../../mod/events.php:531 ../../mod/events.php:710 -#: ../../mod/sources.php:104 ../../mod/sources.php:138 -#: ../../mod/import.php:527 ../../mod/thing.php:313 ../../mod/thing.php:359 -#: ../../mod/invite.php:142 ../../mod/mail.php:371 ../../mod/settings.php:584 -#: ../../mod/settings.php:696 ../../mod/settings.php:724 -#: ../../mod/settings.php:747 ../../mod/settings.php:832 -#: ../../mod/settings.php:1021 ../../mod/xchan.php:11 ../../mod/group.php:81 -#: ../../mod/connect.php:93 ../../mod/locs.php:116 ../../mod/setup.php:331 -#: ../../mod/setup.php:371 ../../mod/profiles.php:667 -#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99 -msgid "Submit" -msgstr "Opslaan" +#: ../../include/profile_selectors.php:6 +msgid "Mostly Female" +msgstr "Voornamelijk vrouw" -#: ../../include/js_strings.php:23 -msgid "Please enter a link URL" -msgstr "Vul een internetadres/URL in:" +#: ../../include/profile_selectors.php:6 +msgid "Transgender" +msgstr "Transgender" -#: ../../include/js_strings.php:24 -msgid "Unsaved changes. Are you sure you wish to leave this page?" -msgstr "Niet opgeslagen wijzigingen. Ben je er zeker van dat je deze pagina wil verlaten?" +#: ../../include/profile_selectors.php:6 +msgid "Intersex" +msgstr "Interseksueel" -#: ../../include/js_strings.php:26 -msgid "timeago.prefixAgo" -msgstr "timeago.prefixAgo" +#: ../../include/profile_selectors.php:6 +msgid "Transsexual" +msgstr "Transseksueel" -#: ../../include/js_strings.php:27 -msgid "timeago.prefixFromNow" -msgstr "timeago.prefixFromNow" +#: ../../include/profile_selectors.php:6 +msgid "Hermaphrodite" +msgstr "Hermafrodiet" -#: ../../include/js_strings.php:28 -msgid "ago" -msgstr "geleden" +#: ../../include/profile_selectors.php:6 +msgid "Neuter" +msgstr "Genderneutraal" -#: ../../include/js_strings.php:29 -msgid "from now" -msgstr "vanaf nu" +#: ../../include/profile_selectors.php:6 +msgid "Non-specific" +msgstr "Niet gespecificeerd" -#: ../../include/js_strings.php:30 -msgid "less than a minute" -msgstr "minder dan een minuut" +#: ../../include/profile_selectors.php:6 +#: ../../include/profile_selectors.php:23 +#: ../../include/profile_selectors.php:61 +#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871 +msgid "Other" +msgstr "Anders" -#: ../../include/js_strings.php:31 -msgid "about a minute" -msgstr "ongeveer een minuut" +#: ../../include/profile_selectors.php:6 +msgid "Undecided" +msgstr "Nog niet beslist" -#: ../../include/js_strings.php:32 -#, php-format -msgid "%d minutes" -msgstr "%d minuten" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Males" +msgstr "Mannen" -#: ../../include/js_strings.php:33 -msgid "about an hour" -msgstr "ongeveer een uur" +#: ../../include/profile_selectors.php:42 +#: ../../include/profile_selectors.php:61 +msgid "Females" +msgstr "Vrouwen" -#: ../../include/js_strings.php:34 -#, php-format -msgid "about %d hours" -msgstr "ongeveer %d uren" +#: ../../include/profile_selectors.php:42 +msgid "Gay" +msgstr "Homoseksueel" -#: ../../include/js_strings.php:35 -msgid "a day" -msgstr "een dag" +#: ../../include/profile_selectors.php:42 +msgid "Lesbian" +msgstr "Lesbisch" -#: ../../include/js_strings.php:36 -#, php-format -msgid "%d days" -msgstr "%d dagen" +#: ../../include/profile_selectors.php:42 +msgid "No Preference" +msgstr "Geen voorkeur" -#: ../../include/js_strings.php:37 -msgid "about a month" -msgstr "ongeveer een maand" +#: ../../include/profile_selectors.php:42 +msgid "Bisexual" +msgstr "Biseksueel" -#: ../../include/js_strings.php:38 -#, php-format -msgid "%d months" -msgstr "%d maanden" +#: ../../include/profile_selectors.php:42 +msgid "Autosexual" +msgstr "Autoseksueel" -#: ../../include/js_strings.php:39 -msgid "about a year" -msgstr "ongeveer een jaar" +#: ../../include/profile_selectors.php:42 +msgid "Abstinent" +msgstr "Seksuele onthouding" -#: ../../include/js_strings.php:40 -#, php-format -msgid "%d years" -msgstr "%d jaren" +#: ../../include/profile_selectors.php:42 +msgid "Virgin" +msgstr "Maagd" -#: ../../include/js_strings.php:41 -msgid " " -msgstr " " +#: ../../include/profile_selectors.php:42 +msgid "Deviant" +msgstr "Afwijkend" -#: ../../include/js_strings.php:42 -msgid "timeago.numbers" -msgstr "timeago.numbers" +#: ../../include/profile_selectors.php:42 +msgid "Fetish" +msgstr "Fetisj" -#: ../../include/js_strings.php:44 ../../include/text.php:1164 -msgid "January" -msgstr "januari" +#: ../../include/profile_selectors.php:42 +msgid "Oodles" +msgstr "Veel" -#: ../../include/js_strings.php:45 ../../include/text.php:1164 -msgid "February" -msgstr "februari" +#: ../../include/profile_selectors.php:42 +msgid "Nonsexual" +msgstr "Aseksueel" -#: ../../include/js_strings.php:46 ../../include/text.php:1164 -msgid "March" -msgstr "maart" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Single" +msgstr "Alleen" -#: ../../include/js_strings.php:47 ../../include/text.php:1164 -msgid "April" -msgstr "april" +#: ../../include/profile_selectors.php:80 +msgid "Lonely" +msgstr "Eenzaam" -#: ../../include/js_strings.php:48 -msgctxt "long" -msgid "May" -msgstr "mei" +#: ../../include/profile_selectors.php:80 +msgid "Available" +msgstr "Beschikbaar" -#: ../../include/js_strings.php:49 ../../include/text.php:1164 -msgid "June" -msgstr "juni" +#: ../../include/profile_selectors.php:80 +msgid "Unavailable" +msgstr "Niet beschikbaar" -#: ../../include/js_strings.php:50 ../../include/text.php:1164 -msgid "July" -msgstr "juli" +#: ../../include/profile_selectors.php:80 +msgid "Has crush" +msgstr "Heeft een oogje op iemand" -#: ../../include/js_strings.php:51 ../../include/text.php:1164 -msgid "August" -msgstr "augustus" +#: ../../include/profile_selectors.php:80 +msgid "Infatuated" +msgstr "Smoorverliefd" -#: ../../include/js_strings.php:52 ../../include/text.php:1164 -msgid "September" -msgstr "september" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Dating" +msgstr "Aan het daten" -#: ../../include/js_strings.php:53 ../../include/text.php:1164 -msgid "October" -msgstr "oktober" +#: ../../include/profile_selectors.php:80 +msgid "Unfaithful" +msgstr "Ontrouw" -#: ../../include/js_strings.php:54 ../../include/text.php:1164 -msgid "November" -msgstr "november" +#: ../../include/profile_selectors.php:80 +msgid "Sex Addict" +msgstr "Seksverslaafd" -#: ../../include/js_strings.php:55 ../../include/text.php:1164 -msgid "December" -msgstr "december" +#: ../../include/profile_selectors.php:80 +msgid "Friends/Benefits" +msgstr "Vriendschap plus" -#: ../../include/js_strings.php:56 -msgid "Jan" -msgstr "jan" +#: ../../include/profile_selectors.php:80 +msgid "Casual" +msgstr "Ongebonden/vluchtig" -#: ../../include/js_strings.php:57 -msgid "Feb" -msgstr "feb" +#: ../../include/profile_selectors.php:80 +msgid "Engaged" +msgstr "Verloofd" -#: ../../include/js_strings.php:58 -msgid "Mar" -msgstr "mrt" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Married" +msgstr "Getrouwd" -#: ../../include/js_strings.php:59 -msgid "Apr" -msgstr "apr" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily married" +msgstr "Denkbeeldig getrouwd" -#: ../../include/js_strings.php:60 -msgctxt "short" -msgid "May" -msgstr "mei" +#: ../../include/profile_selectors.php:80 +msgid "Partners" +msgstr "Partners" -#: ../../include/js_strings.php:61 -msgid "Jun" -msgstr "jun" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Cohabiting" +msgstr "Samenwonend" -#: ../../include/js_strings.php:62 -msgid "Jul" -msgstr "jul" +#: ../../include/profile_selectors.php:80 +msgid "Common law" +msgstr "Common-law-huwelijk" -#: ../../include/js_strings.php:63 -msgid "Aug" -msgstr "aug" +#: ../../include/profile_selectors.php:80 +msgid "Happy" +msgstr "Gelukkig" -#: ../../include/js_strings.php:64 -msgid "Sep" -msgstr "sep" +#: ../../include/profile_selectors.php:80 +msgid "Not looking" +msgstr "Niet op zoek" -#: ../../include/js_strings.php:65 -msgid "Oct" -msgstr "okt" +#: ../../include/profile_selectors.php:80 +msgid "Swinger" +msgstr "Swinger" -#: ../../include/js_strings.php:66 -msgid "Nov" -msgstr "nov" +#: ../../include/profile_selectors.php:80 +msgid "Betrayed" +msgstr "Verraden" -#: ../../include/js_strings.php:67 -msgid "Dec" -msgstr "dec" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Separated" +msgstr "Uit elkaar" -#: ../../include/js_strings.php:68 ../../include/text.php:1160 -msgid "Sunday" -msgstr "zondag" +#: ../../include/profile_selectors.php:80 +msgid "Unstable" +msgstr "Onstabiel" -#: ../../include/js_strings.php:69 ../../include/text.php:1160 -msgid "Monday" -msgstr "maandag" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Divorced" +msgstr "Gescheiden" -#: ../../include/js_strings.php:70 ../../include/text.php:1160 -msgid "Tuesday" -msgstr "dinsdag" +#: ../../include/profile_selectors.php:80 +msgid "Imaginarily divorced" +msgstr "Denkbeeldig gescheiden" -#: ../../include/js_strings.php:71 ../../include/text.php:1160 -msgid "Wednesday" -msgstr "woensdag" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "Widowed" +msgstr "Weduwnaar/weduwe" -#: ../../include/js_strings.php:72 ../../include/text.php:1160 -msgid "Thursday" -msgstr "donderdag" +#: ../../include/profile_selectors.php:80 +msgid "Uncertain" +msgstr "Onzeker" -#: ../../include/js_strings.php:73 ../../include/text.php:1160 -msgid "Friday" -msgstr "vrijdag" +#: ../../include/profile_selectors.php:80 +#: ../../include/profile_selectors.php:97 +msgid "It's complicated" +msgstr "Het is ingewikkeld" -#: ../../include/js_strings.php:74 ../../include/text.php:1160 -msgid "Saturday" -msgstr "zaterdag" +#: ../../include/profile_selectors.php:80 +msgid "Don't care" +msgstr "Maakt mij niks uit" -#: ../../include/js_strings.php:75 -msgid "Sun" -msgstr "zo" +#: ../../include/profile_selectors.php:80 +msgid "Ask me" +msgstr "Vraag het me" -#: ../../include/js_strings.php:76 -msgid "Mon" -msgstr "ma" +#: ../../include/datetime.php:48 +msgid "Miscellaneous" +msgstr "Diversen" -#: ../../include/js_strings.php:77 -msgid "Tue" -msgstr "di" +#: ../../include/datetime.php:132 +msgid "YYYY-MM-DD or MM-DD" +msgstr "JJJJ-MM-DD of MM-DD" -#: ../../include/js_strings.php:78 -msgid "Wed" -msgstr "wo" +#: ../../include/datetime.php:236 ../../mod/appman.php:91 +#: ../../mod/appman.php:92 ../../mod/events.php:437 ../../mod/events.php:442 +msgid "Required" +msgstr "Vereist" -#: ../../include/js_strings.php:79 -msgid "Thu" -msgstr "do" +#: ../../include/datetime.php:263 ../../boot.php:2284 +msgid "never" +msgstr "nooit" -#: ../../include/js_strings.php:80 -msgid "Fri" -msgstr "vr" +#: ../../include/datetime.php:269 +msgid "less than a second ago" +msgstr "minder dan een seconde geleden" -#: ../../include/js_strings.php:81 -msgid "Sat" -msgstr "za" +#: ../../include/datetime.php:272 +msgid "year" +msgstr "jaar" -#: ../../include/js_strings.php:82 -msgctxt "calendar" -msgid "today" -msgstr "vandaag" +#: ../../include/datetime.php:272 +msgid "years" +msgstr "jaren" -#: ../../include/js_strings.php:83 -msgctxt "calendar" +#: ../../include/datetime.php:273 msgid "month" msgstr "maand" -#: ../../include/js_strings.php:84 -msgctxt "calendar" +#: ../../include/datetime.php:273 +msgid "months" +msgstr "maanden" + +#: ../../include/datetime.php:274 msgid "week" msgstr "week" -#: ../../include/js_strings.php:85 -msgctxt "calendar" +#: ../../include/datetime.php:274 +msgid "weeks" +msgstr "weken" + +#: ../../include/datetime.php:275 msgid "day" msgstr "dag" -#: ../../include/js_strings.php:86 -msgctxt "calendar" -msgid "All day" -msgstr "hele dag" - -#: ../../include/contact_selectors.php:56 -msgid "Frequently" -msgstr "Regelmatig" - -#: ../../include/contact_selectors.php:57 -msgid "Hourly" -msgstr "Elk uur" - -#: ../../include/contact_selectors.php:58 -msgid "Twice daily" -msgstr "Twee keer per dag" - -#: ../../include/contact_selectors.php:59 -msgid "Daily" -msgstr "Dagelijks" - -#: ../../include/contact_selectors.php:60 -msgid "Weekly" -msgstr "Wekelijks" - -#: ../../include/contact_selectors.php:61 -msgid "Monthly" -msgstr "Maandelijks" - -#: ../../include/contact_selectors.php:76 -msgid "Friendica" -msgstr "Friendica" - -#: ../../include/contact_selectors.php:77 -msgid "OStatus" -msgstr "OStatus" - -#: ../../include/contact_selectors.php:78 -msgid "RSS/Atom" -msgstr "RSS/Atom" - -#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 -#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 -#: ../../boot.php:1488 -msgid "Email" -msgstr "E-mail" - -#: ../../include/contact_selectors.php:80 -msgid "Diaspora" -msgstr "Diaspora" - -#: ../../include/contact_selectors.php:81 -msgid "Facebook" -msgstr "Facebook" - -#: ../../include/contact_selectors.php:82 -msgid "Zot!" -msgstr "Zot!" - -#: ../../include/contact_selectors.php:83 -msgid "LinkedIn" -msgstr "LinkedIn" - -#: ../../include/contact_selectors.php:84 -msgid "XMPP/IM" -msgstr "XMPP/IM" - -#: ../../include/contact_selectors.php:85 -msgid "MySpace" -msgstr "MySpace" - -#: ../../include/activities.php:42 -msgid " and " -msgstr " en " - -#: ../../include/activities.php:50 -msgid "public profile" -msgstr "openbaar profiel" - -#: ../../include/activities.php:59 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" -msgstr "%1$s veranderde %2$s naar “%3$s”" - -#: ../../include/activities.php:60 -#, php-format -msgid "Visit %1$s's %2$s" -msgstr "Bezoek het %2$s van %1$s" - -#: ../../include/activities.php:63 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." -msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd." - -#: ../../include/Contact.php:101 ../../include/conversation.php:952 -#: ../../include/widgets.php:137 ../../include/widgets.php:175 -#: ../../include/identity.php:952 ../../mod/directory.php:318 -#: ../../mod/match.php:64 ../../mod/suggest.php:52 -msgid "Connect" -msgstr "Verbinden" - -#: ../../include/Contact.php:118 -msgid "New window" -msgstr "Nieuw venster" - -#: ../../include/Contact.php:119 -msgid "Open the selected location in a different window or browser tab" -msgstr "Open de geselecteerde locatie in een ander venster of tab" - -#: ../../include/Contact.php:237 -#, php-format -msgid "User '%s' deleted" -msgstr "Account '%s' verwijderd" - -#: ../../include/dba/dba_driver.php:141 -#, php-format -msgid "Cannot locate DNS info for database server '%s'" -msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden" +#: ../../include/datetime.php:275 +msgid "days" +msgstr "dagen" -#: ../../include/items.php:423 ../../mod/like.php:280 -#: ../../mod/subthread.php:58 ../../mod/dreport.php:6 ../../mod/dreport.php:45 -#: ../../mod/group.php:68 ../../mod/profperm.php:23 -#: ../../mod/import_items.php:114 ../../index.php:360 -msgid "Permission denied" -msgstr "Toegang geweigerd" +#: ../../include/datetime.php:276 +msgid "hour" +msgstr "uur" -#: ../../include/items.php:1128 ../../include/items.php:1174 -msgid "(Unknown)" -msgstr "(Onbekend)" +#: ../../include/datetime.php:276 +msgid "hours" +msgstr "uren" -#: ../../include/items.php:1371 -msgid "Visible to anybody on the internet." -msgstr "Voor iedereen op het internet zichtbaar." +#: ../../include/datetime.php:277 +msgid "minute" +msgstr "minuut" -#: ../../include/items.php:1373 -msgid "Visible to you only." -msgstr "Alleen voor jou zichtbaar." +#: ../../include/datetime.php:277 +msgid "minutes" +msgstr "minuten" -#: ../../include/items.php:1375 -msgid "Visible to anybody in this network." -msgstr "Voor iedereen in dit netwerk zichtbaar." +#: ../../include/datetime.php:278 +msgid "second" +msgstr "seconde" -#: ../../include/items.php:1377 -msgid "Visible to anybody authenticated." -msgstr "Voor iedereen die geauthenticeerd is zichtbaar." +#: ../../include/datetime.php:278 +msgid "seconds" +msgstr "seconden" -#: ../../include/items.php:1379 +#: ../../include/datetime.php:286 #, php-format -msgid "Visible to anybody on %s." -msgstr "Voor iedereen op %s zichtbaar." - -#: ../../include/items.php:1381 -msgid "Visible to all connections." -msgstr "Voor alle connecties zichtbaar." - -#: ../../include/items.php:1383 -msgid "Visible to approved connections." -msgstr "Voor alle goedgekeurde connecties zichtbaar." - -#: ../../include/items.php:1385 -msgid "Visible to specific connections." -msgstr "Voor specifieke connecties zichtbaar." - -#: ../../include/items.php:4317 ../../mod/display.php:36 -#: ../../mod/filestorage.php:27 ../../mod/admin.php:127 -#: ../../mod/admin.php:1005 ../../mod/admin.php:1210 ../../mod/thing.php:86 -#: ../../mod/viewsrc.php:20 -msgid "Item not found." -msgstr "Item niet gevonden." - -#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137 -msgid "Collection not found." -msgstr "Collectie niet gevonden." - -#: ../../include/items.php:4842 -msgid "Collection is empty." -msgstr "Collectie is leeg" +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" +msgstr "%1$d %2$s geleden" -#: ../../include/items.php:4849 +#: ../../include/datetime.php:520 #, php-format -msgid "Collection: %s" -msgstr "Collectie: %s" +msgid "%1$s's birthday" +msgstr "Verjaardag van %1$s" -#: ../../include/items.php:4859 ../../mod/connedit.php:683 +#: ../../include/datetime.php:521 #, php-format -msgid "Connection: %s" -msgstr "Connectie: %s" +msgid "Happy Birthday %1$s" +msgstr "Gefeliciteerd met je verjaardag %1$s" -#: ../../include/items.php:4861 -msgid "Connection not found." -msgstr "Connectie niet gevonden." +#: ../../include/api.php:1301 +msgid "Public Timeline" +msgstr "Openbare tijdlijn" -#: ../../include/conversation.php:120 ../../include/text.php:1880 -#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:83 +#: ../../include/conversation.php:120 ../../include/text.php:1916 +#: ../../mod/tagger.php:43 ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "photo" msgstr "foto" -#: ../../include/conversation.php:123 ../../include/event.php:896 -#: ../../include/text.php:1883 ../../mod/like.php:363 ../../mod/tagger.php:47 -#: ../../mod/events.php:245 -msgid "event" -msgstr "gebeurtenis" - #: ../../include/conversation.php:126 ../../mod/like.php:113 msgid "channel" msgstr "kanaal" -#: ../../include/conversation.php:148 ../../include/text.php:1886 +#: ../../include/conversation.php:148 ../../include/text.php:1922 #: ../../mod/like.php:361 ../../mod/subthread.php:83 msgid "status" msgstr "bericht" -#: ../../include/conversation.php:150 ../../include/text.php:1888 +#: ../../include/conversation.php:150 ../../include/text.php:1924 #: ../../mod/tagger.php:53 msgid "comment" msgstr "reactie" @@ -1305,7 +2197,7 @@ msgstr "%1$s is nu met %2$s verbonden" msgid "%1$s poked %2$s" msgstr "%1$s heeft %2$s aangestoten" -#: ../../include/conversation.php:243 ../../include/text.php:953 +#: ../../include/conversation.php:243 ../../include/text.php:954 msgid "poked" msgstr "aangestoten" @@ -1376,478 +2268,464 @@ msgstr "Berichtkenmerk onjuist" msgid "View %s's profile @ %s" msgstr "Bekijk het profiel van %s @ %s" -#: ../../include/conversation.php:709 +#: ../../include/conversation.php:710 msgid "Categories:" msgstr "Categorieën:" -#: ../../include/conversation.php:710 +#: ../../include/conversation.php:711 msgid "Filed under:" msgstr "Bewaard onder:" -#: ../../include/conversation.php:718 ../../include/ItemObject.php:321 +#: ../../include/conversation.php:719 ../../include/ItemObject.php:334 #, php-format msgid "from %s" msgstr "van %s" -#: ../../include/conversation.php:721 ../../include/ItemObject.php:324 +#: ../../include/conversation.php:722 ../../include/ItemObject.php:337 #, php-format msgid "last edited: %s" msgstr "laatst bewerkt: %s" -#: ../../include/conversation.php:722 ../../include/ItemObject.php:325 +#: ../../include/conversation.php:723 ../../include/ItemObject.php:338 #, php-format msgid "Expires: %s" msgstr "Verloopt: %s" -#: ../../include/conversation.php:737 +#: ../../include/conversation.php:738 msgid "View in context" msgstr "In context bekijken" -#: ../../include/conversation.php:739 ../../include/conversation.php:1226 -#: ../../include/ItemObject.php:375 ../../mod/photos.php:1029 -#: ../../mod/editblock.php:150 ../../mod/editpost.php:129 -#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190 +#: ../../include/conversation.php:740 ../../include/conversation.php:1227 +#: ../../include/ItemObject.php:389 ../../mod/editwebpage.php:190 +#: ../../mod/photos.php:1029 ../../mod/editblock.php:150 +#: ../../mod/editlayout.php:148 ../../mod/editpost.php:129 msgid "Please wait" msgstr "Even wachten" -#: ../../include/conversation.php:849 +#: ../../include/conversation.php:850 msgid "remove" msgstr "verwijderen" -#: ../../include/conversation.php:853 ../../include/nav.php:241 +#: ../../include/conversation.php:854 ../../include/nav.php:241 msgid "Loading..." msgstr "Aan het laden..." -#: ../../include/conversation.php:854 +#: ../../include/conversation.php:855 msgid "Delete Selected Items" msgstr "Verwijder de geselecteerde items" -#: ../../include/conversation.php:945 +#: ../../include/conversation.php:946 msgid "View Source" msgstr "Bron weergeven" -#: ../../include/conversation.php:946 +#: ../../include/conversation.php:947 msgid "Follow Thread" msgstr "Conversatie volgen" -#: ../../include/conversation.php:947 +#: ../../include/conversation.php:948 msgid "Unfollow Thread" msgstr "Conversatie niet meer volgen" -#: ../../include/conversation.php:948 +#: ../../include/conversation.php:949 msgid "View Status" msgstr "Status weergeven" -#: ../../include/conversation.php:949 ../../include/nav.php:86 +#: ../../include/conversation.php:950 ../../include/nav.php:86 #: ../../mod/connedit.php:498 msgid "View Profile" msgstr "Profiel weergeven" -#: ../../include/conversation.php:950 +#: ../../include/conversation.php:951 msgid "View Photos" msgstr "Foto's weergeven" -#: ../../include/conversation.php:951 +#: ../../include/conversation.php:952 msgid "Activity/Posts" msgstr "Kanaal-activiteit" -#: ../../include/conversation.php:953 +#: ../../include/conversation.php:954 msgid "Edit Connection" msgstr "Connectie bewerken" -#: ../../include/conversation.php:954 +#: ../../include/conversation.php:955 msgid "Send PM" msgstr "Privébericht verzenden" -#: ../../include/conversation.php:955 ../../include/apps.php:145 +#: ../../include/conversation.php:956 ../../include/apps.php:145 msgid "Poke" msgstr "Aanstoten" -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s likes this." msgstr "%s vindt dit leuk." -#: ../../include/conversation.php:1069 +#: ../../include/conversation.php:1070 #, php-format msgid "%s doesn't like this." msgstr "%s vindt dit niet leuk." -#: ../../include/conversation.php:1073 +#: ../../include/conversation.php:1074 #, php-format msgid "<span %1$s>%2$d people</span> like this." msgid_plural "<span %1$s>%2$d people</span> like this." msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit leuk." msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk." -#: ../../include/conversation.php:1075 +#: ../../include/conversation.php:1076 #, php-format msgid "<span %1$s>%2$d people</span> don't like this." msgid_plural "<span %1$s>%2$d people</span> don't like this." msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit niet leuk." msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk." -#: ../../include/conversation.php:1081 +#: ../../include/conversation.php:1082 msgid "and" msgstr "en" -#: ../../include/conversation.php:1084 +#: ../../include/conversation.php:1085 #, php-format msgid ", and %d other people" msgid_plural ", and %d other people" msgstr[0] ", en %d ander persoon" msgstr[1] ", en %d andere personen" -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s like this." msgstr "%s vinden dit leuk." -#: ../../include/conversation.php:1085 +#: ../../include/conversation.php:1086 #, php-format msgid "%s don't like this." msgstr "%s vinden dit niet leuk." -#: ../../include/conversation.php:1153 +#: ../../include/conversation.php:1154 msgid "Visible to <strong>everybody</strong>" msgstr "Voor <strong>iedereen</strong> zichtbaar" -#: ../../include/conversation.php:1154 ../../mod/mail.php:194 +#: ../../include/conversation.php:1155 ../../mod/mail.php:194 #: ../../mod/mail.php:308 msgid "Please enter a link URL:" msgstr "Vul een internetadres/URL in:" -#: ../../include/conversation.php:1155 +#: ../../include/conversation.php:1156 msgid "Please enter a video link/URL:" msgstr "Vul een videolink/URL in:" -#: ../../include/conversation.php:1156 +#: ../../include/conversation.php:1157 msgid "Please enter an audio link/URL:" msgstr "Vul een audiolink/URL in:" -#: ../../include/conversation.php:1157 +#: ../../include/conversation.php:1158 msgid "Tag term:" msgstr "Tag:" -#: ../../include/conversation.php:1158 ../../mod/filer.php:48 +#: ../../include/conversation.php:1159 ../../mod/filer.php:48 msgid "Save to Folder:" msgstr "Bewaar in map: " -#: ../../include/conversation.php:1159 +#: ../../include/conversation.php:1160 msgid "Where are you right now?" msgstr "Waar bevind je je op dit moment?" -#: ../../include/conversation.php:1160 ../../mod/editpost.php:56 +#: ../../include/conversation.php:1161 ../../mod/editpost.php:56 #: ../../mod/mail.php:195 ../../mod/mail.php:309 msgid "Expires YYYY-MM-DD HH:MM" msgstr "Verloopt op DD-MM-YYYY om HH:MM" -#: ../../include/conversation.php:1168 ../../include/page_widgets.php:40 -#: ../../include/ItemObject.php:692 ../../mod/photos.php:1049 -#: ../../mod/editblock.php:171 ../../mod/editpost.php:149 -#: ../../mod/events.php:707 ../../mod/webpages.php:188 -#: ../../mod/editwebpage.php:212 +#: ../../include/conversation.php:1169 ../../include/page_widgets.php:40 +#: ../../include/ItemObject.php:706 ../../mod/editwebpage.php:212 +#: ../../mod/photos.php:1049 ../../mod/editblock.php:171 +#: ../../mod/webpages.php:188 ../../mod/editpost.php:149 +#: ../../mod/events.php:458 msgid "Preview" msgstr "Voorvertoning" -#: ../../include/conversation.php:1191 ../../mod/layouts.php:184 +#: ../../include/conversation.php:1192 ../../mod/blocks.php:154 #: ../../mod/photos.php:1028 ../../mod/webpages.php:182 -#: ../../mod/blocks.php:154 +#: ../../mod/layouts.php:184 msgid "Share" msgstr "Delen" -#: ../../include/conversation.php:1193 +#: ../../include/conversation.php:1194 msgid "Page link name" msgstr "Linknaam pagina" -#: ../../include/conversation.php:1196 +#: ../../include/conversation.php:1197 msgid "Post as" msgstr "Bericht plaatsen als" -#: ../../include/conversation.php:1198 ../../include/ItemObject.php:684 -#: ../../mod/editblock.php:136 ../../mod/editpost.php:113 -#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177 +#: ../../include/conversation.php:1199 ../../include/ItemObject.php:698 +#: ../../mod/editwebpage.php:177 ../../mod/editblock.php:136 +#: ../../mod/editlayout.php:135 ../../mod/editpost.php:113 msgid "Bold" msgstr "Vet" -#: ../../include/conversation.php:1199 ../../include/ItemObject.php:685 -#: ../../mod/editblock.php:137 ../../mod/editpost.php:114 -#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178 +#: ../../include/conversation.php:1200 ../../include/ItemObject.php:699 +#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:137 +#: ../../mod/editlayout.php:136 ../../mod/editpost.php:114 msgid "Italic" msgstr "Cursief" -#: ../../include/conversation.php:1200 ../../include/ItemObject.php:686 -#: ../../mod/editblock.php:138 ../../mod/editpost.php:115 -#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179 +#: ../../include/conversation.php:1201 ../../include/ItemObject.php:700 +#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:138 +#: ../../mod/editlayout.php:137 ../../mod/editpost.php:115 msgid "Underline" msgstr "Onderstrepen" -#: ../../include/conversation.php:1201 ../../include/ItemObject.php:687 -#: ../../mod/editblock.php:139 ../../mod/editpost.php:116 -#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180 +#: ../../include/conversation.php:1202 ../../include/ItemObject.php:701 +#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:139 +#: ../../mod/editlayout.php:138 ../../mod/editpost.php:116 msgid "Quote" msgstr "Citeren" -#: ../../include/conversation.php:1202 ../../include/ItemObject.php:688 -#: ../../mod/editblock.php:140 ../../mod/editpost.php:117 -#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181 +#: ../../include/conversation.php:1203 ../../include/ItemObject.php:702 +#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:140 +#: ../../mod/editlayout.php:139 ../../mod/editpost.php:117 msgid "Code" msgstr "Broncode" -#: ../../include/conversation.php:1203 ../../mod/editblock.php:142 -#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140 -#: ../../mod/editwebpage.php:182 +#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:182 +#: ../../mod/editblock.php:142 ../../mod/editlayout.php:140 +#: ../../mod/editpost.php:118 msgid "Upload photo" msgstr "Foto uploaden" -#: ../../include/conversation.php:1204 +#: ../../include/conversation.php:1205 msgid "upload photo" msgstr "foto uploaden" -#: ../../include/conversation.php:1205 ../../mod/editblock.php:143 -#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:369 -#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183 +#: ../../include/conversation.php:1206 ../../mod/editwebpage.php:183 +#: ../../mod/editblock.php:143 ../../mod/editlayout.php:141 +#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:370 msgid "Attach file" msgstr "Bestand toevoegen" -#: ../../include/conversation.php:1206 +#: ../../include/conversation.php:1207 msgid "attach file" msgstr "bestand toevoegen" -#: ../../include/conversation.php:1207 ../../mod/editblock.php:144 -#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:370 -#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184 +#: ../../include/conversation.php:1208 ../../mod/editwebpage.php:184 +#: ../../mod/editblock.php:144 ../../mod/editlayout.php:142 +#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:371 msgid "Insert web link" msgstr "Weblink invoegen" -#: ../../include/conversation.php:1208 +#: ../../include/conversation.php:1209 msgid "web link" msgstr "Weblink" -#: ../../include/conversation.php:1209 +#: ../../include/conversation.php:1210 msgid "Insert video link" msgstr "Videolink invoegen" -#: ../../include/conversation.php:1210 +#: ../../include/conversation.php:1211 msgid "video link" msgstr "videolink" -#: ../../include/conversation.php:1211 +#: ../../include/conversation.php:1212 msgid "Insert audio link" msgstr "Audiolink invoegen" -#: ../../include/conversation.php:1212 +#: ../../include/conversation.php:1213 msgid "audio link" msgstr "audiolink" -#: ../../include/conversation.php:1213 ../../mod/editblock.php:148 -#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146 -#: ../../mod/editwebpage.php:188 +#: ../../include/conversation.php:1214 ../../mod/editwebpage.php:188 +#: ../../mod/editblock.php:148 ../../mod/editlayout.php:146 +#: ../../mod/editpost.php:124 msgid "Set your location" msgstr "Locatie instellen" -#: ../../include/conversation.php:1214 +#: ../../include/conversation.php:1215 msgid "set location" msgstr "locatie instellen" -#: ../../include/conversation.php:1215 ../../mod/editpost.php:126 +#: ../../include/conversation.php:1216 ../../mod/editpost.php:126 msgid "Toggle voting" msgstr "Peiling in- of uitschakelen" -#: ../../include/conversation.php:1218 ../../mod/editblock.php:149 -#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147 -#: ../../mod/editwebpage.php:189 +#: ../../include/conversation.php:1219 ../../mod/editwebpage.php:189 +#: ../../mod/editblock.php:149 ../../mod/editlayout.php:147 +#: ../../mod/editpost.php:125 msgid "Clear browser location" msgstr "Locatie van webbrowser wissen" -#: ../../include/conversation.php:1219 +#: ../../include/conversation.php:1220 msgid "clear location" msgstr "locatie wissen" -#: ../../include/conversation.php:1221 ../../mod/editblock.php:162 -#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205 +#: ../../include/conversation.php:1222 ../../mod/editwebpage.php:205 +#: ../../mod/editblock.php:162 ../../mod/editpost.php:141 msgid "Title (optional)" msgstr "Titel (optioneel)" -#: ../../include/conversation.php:1225 ../../mod/editblock.php:165 -#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163 -#: ../../mod/editwebpage.php:207 +#: ../../include/conversation.php:1226 ../../mod/editwebpage.php:207 +#: ../../mod/editblock.php:165 ../../mod/editlayout.php:163 +#: ../../mod/editpost.php:143 msgid "Categories (optional, comma-separated list)" msgstr "Categorieën (optioneel, door komma's gescheiden lijst)" -#: ../../include/conversation.php:1227 ../../mod/editblock.php:151 -#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149 -#: ../../mod/editwebpage.php:191 +#: ../../include/conversation.php:1228 ../../mod/editwebpage.php:191 +#: ../../mod/editblock.php:151 ../../mod/editlayout.php:149 +#: ../../mod/editpost.php:130 ../../mod/events.php:459 msgid "Permission settings" msgstr "Permissies" -#: ../../include/conversation.php:1228 +#: ../../include/conversation.php:1229 msgid "permissions" msgstr "permissies" -#: ../../include/conversation.php:1236 ../../mod/editblock.php:159 -#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156 -#: ../../mod/editwebpage.php:200 +#: ../../include/conversation.php:1237 ../../mod/editwebpage.php:200 +#: ../../mod/editblock.php:159 ../../mod/editlayout.php:156 +#: ../../mod/editpost.php:138 msgid "Public post" msgstr "Openbaar bericht" -#: ../../include/conversation.php:1238 ../../mod/editblock.php:166 -#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164 -#: ../../mod/editwebpage.php:208 +#: ../../include/conversation.php:1239 ../../mod/editwebpage.php:208 +#: ../../mod/editblock.php:166 ../../mod/editlayout.php:164 +#: ../../mod/editpost.php:144 msgid "Example: bob@example.com, mary@example.com" msgstr "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be" -#: ../../include/conversation.php:1251 ../../mod/editblock.php:176 -#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:374 -#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217 +#: ../../include/conversation.php:1252 ../../mod/editwebpage.php:217 +#: ../../mod/editblock.php:176 ../../mod/editlayout.php:173 +#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:375 msgid "Set expiration date" msgstr "Verloopdatum instellen" -#: ../../include/conversation.php:1254 +#: ../../include/conversation.php:1255 msgid "Set publish date" msgstr "Publicatiedatum instellen" -#: ../../include/conversation.php:1256 ../../include/ItemObject.php:695 -#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:376 +#: ../../include/conversation.php:1257 ../../include/ItemObject.php:709 +#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:377 msgid "Encrypt text" msgstr "Tekst versleutelen" -#: ../../include/conversation.php:1258 ../../mod/editpost.php:159 -#: ../../mod/events.php:691 +#: ../../include/conversation.php:1259 ../../mod/editpost.php:159 msgid "OK" msgstr "OK" -#: ../../include/conversation.php:1259 ../../mod/fbrowser.php:82 -#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160 -#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 -#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../include/conversation.php:1260 ../../mod/fbrowser.php:82 +#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 +#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/editpost.php:160 msgid "Cancel" msgstr "Annuleren" -#: ../../include/conversation.php:1502 +#: ../../include/conversation.php:1503 msgid "Discover" msgstr "Ontdekken" -#: ../../include/conversation.php:1505 +#: ../../include/conversation.php:1506 msgid "Imported public streams" msgstr "Openbare streams importeren" -#: ../../include/conversation.php:1510 +#: ../../include/conversation.php:1511 msgid "Commented Order" msgstr "Nieuwe reacties bovenaan" -#: ../../include/conversation.php:1513 +#: ../../include/conversation.php:1514 msgid "Sort by Comment Date" msgstr "Berichten met nieuwe reacties bovenaan" -#: ../../include/conversation.php:1517 +#: ../../include/conversation.php:1518 msgid "Posted Order" msgstr "Nieuwe berichten bovenaan" -#: ../../include/conversation.php:1520 +#: ../../include/conversation.php:1521 msgid "Sort by Post Date" msgstr "Nieuwe berichten bovenaan" -#: ../../include/conversation.php:1525 ../../include/widgets.php:95 -msgid "Personal" -msgstr "Persoonlijk" - -#: ../../include/conversation.php:1528 +#: ../../include/conversation.php:1529 msgid "Posts that mention or involve you" msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent" -#: ../../include/conversation.php:1534 ../../mod/menu.php:112 -#: ../../mod/connections.php:72 ../../mod/connections.php:82 +#: ../../include/conversation.php:1535 ../../mod/connections.php:72 +#: ../../mod/connections.php:82 ../../mod/menu.php:112 msgid "New" msgstr "Nieuw" -#: ../../include/conversation.php:1537 +#: ../../include/conversation.php:1538 msgid "Activity Stream - by date" msgstr "Activiteitenstroom - volgens datum" -#: ../../include/conversation.php:1543 +#: ../../include/conversation.php:1544 msgid "Starred" msgstr "Met ster" -#: ../../include/conversation.php:1546 +#: ../../include/conversation.php:1547 msgid "Favourite Posts" msgstr "Favoriete berichten" -#: ../../include/conversation.php:1553 +#: ../../include/conversation.php:1554 msgid "Spam" msgstr "Spam" -#: ../../include/conversation.php:1556 +#: ../../include/conversation.php:1557 msgid "Posts flagged as SPAM" msgstr "Berichten gemarkeerd als SPAM" -#: ../../include/conversation.php:1600 ../../mod/admin.php:973 +#: ../../include/conversation.php:1601 ../../mod/admin.php:973 msgid "Channel" msgstr "Kanaal" -#: ../../include/conversation.php:1603 +#: ../../include/conversation.php:1604 msgid "Status Messages and Posts" msgstr "Berichten in dit kanaal" -#: ../../include/conversation.php:1612 +#: ../../include/conversation.php:1613 msgid "About" msgstr "Over" -#: ../../include/conversation.php:1615 +#: ../../include/conversation.php:1616 msgid "Profile Details" msgstr "Profiel" -#: ../../include/conversation.php:1621 ../../include/apps.php:139 -#: ../../include/nav.php:92 ../../mod/fbrowser.php:25 +#: ../../include/conversation.php:1622 ../../include/nav.php:92 +#: ../../include/apps.php:139 ../../mod/fbrowser.php:25 msgid "Photos" msgstr "Foto's" -#: ../../include/conversation.php:1624 ../../include/photos.php:483 +#: ../../include/conversation.php:1625 ../../include/photos.php:483 msgid "Photo Albums" msgstr "Fotoalbums" -#: ../../include/conversation.php:1631 +#: ../../include/conversation.php:1632 msgid "Files and Storage" msgstr "Bestanden en opslagruimte" -#: ../../include/conversation.php:1641 ../../include/conversation.php:1644 +#: ../../include/conversation.php:1642 ../../include/conversation.php:1645 msgid "Chatrooms" msgstr "Chatkanalen" -#: ../../include/conversation.php:1654 ../../include/apps.php:129 -#: ../../include/nav.php:103 +#: ../../include/conversation.php:1655 ../../include/nav.php:103 +#: ../../include/apps.php:129 msgid "Bookmarks" msgstr "Bladwijzers" -#: ../../include/conversation.php:1657 +#: ../../include/conversation.php:1658 msgid "Saved Bookmarks" msgstr "Opgeslagen bladwijzers" -#: ../../include/conversation.php:1664 ../../include/apps.php:136 -#: ../../include/nav.php:107 ../../mod/webpages.php:178 +#: ../../include/conversation.php:1665 ../../include/nav.php:107 +#: ../../include/apps.php:136 ../../mod/webpages.php:178 msgid "Webpages" msgstr "Webpagina's" -#: ../../include/conversation.php:1667 +#: ../../include/conversation.php:1668 msgid "Manage Webpages" msgstr "Webpagina's beheren" -#: ../../include/conversation.php:1696 ../../include/ItemObject.php:175 +#: ../../include/conversation.php:1697 ../../include/ItemObject.php:175 #: ../../include/ItemObject.php:187 ../../mod/photos.php:1082 #: ../../mod/photos.php:1094 msgid "View all" msgstr "Toon alles" -#: ../../include/conversation.php:1720 ../../include/ItemObject.php:179 -#: ../../include/identity.php:1263 ../../include/taxonomy.php:412 -#: ../../mod/photos.php:1086 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "vindt dit leuk" -msgstr[1] "vinden dit leuk" - -#: ../../include/conversation.php:1723 ../../include/ItemObject.php:184 +#: ../../include/conversation.php:1724 ../../include/ItemObject.php:184 #: ../../mod/photos.php:1091 msgctxt "noun" msgid "Dislike" @@ -1855,601 +2733,248 @@ msgid_plural "Dislikes" msgstr[0] "vindt dit niet leuk" msgstr[1] "vinden dit niet leuk" -#: ../../include/conversation.php:1726 +#: ../../include/conversation.php:1727 msgctxt "noun" msgid "Attending" msgid_plural "Attending" msgstr[0] "aanwezig" msgstr[1] "aanwezig" -#: ../../include/conversation.php:1729 +#: ../../include/conversation.php:1730 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" msgstr[0] "niet aanwezig" msgstr[1] "niet aanwezig" -#: ../../include/conversation.php:1732 +#: ../../include/conversation.php:1733 msgctxt "noun" msgid "Undecided" msgid_plural "Undecided" msgstr[0] "nog niet beslist" msgstr[1] "nog niet beslist" -#: ../../include/conversation.php:1735 +#: ../../include/conversation.php:1736 msgctxt "noun" msgid "Agree" msgid_plural "Agrees" msgstr[0] "eens" msgstr[1] "eens" -#: ../../include/conversation.php:1738 +#: ../../include/conversation.php:1739 msgctxt "noun" msgid "Disagree" msgid_plural "Disagrees" msgstr[0] "oneens" msgstr[1] "oneens" -#: ../../include/conversation.php:1741 +#: ../../include/conversation.php:1742 msgctxt "noun" msgid "Abstain" msgid_plural "Abstains" msgstr[0] "onthouding" msgstr[1] "onthoudingen" -#: ../../include/network.php:613 -msgid "view full size" -msgstr "volledige grootte tonen" - -#: ../../include/network.php:1591 ../../include/enotify.php:57 -msgid "$Projectname Notification" -msgstr "$Projectname-notificatie" - -#: ../../include/network.php:1592 ../../include/enotify.php:58 -msgid "$projectname" -msgstr "$projectname" - -#: ../../include/network.php:1594 ../../include/enotify.php:60 -msgid "Thank You," -msgstr "Bedankt," - -#: ../../include/network.php:1596 ../../include/enotify.php:62 -#, php-format -msgid "%s Administrator" -msgstr "Beheerder %s" - -#: ../../include/network.php:1638 ../../include/account.php:316 -#: ../../include/account.php:343 ../../include/account.php:403 -msgid "Administrator" -msgstr "Beheerder" - -#: ../../include/network.php:1652 -msgid "No Subject" -msgstr "Geen onderwerp" - -#: ../../include/bookmarks.php:35 -#, php-format -msgid "%1$s's bookmarks" -msgstr "Bladwijzers van %1$s" - -#: ../../include/acl_selectors.php:240 -msgid "Visible to your default audience" -msgstr "Voor iedereen zichtbaar, mits niet anders ingesteld" - -#: ../../include/acl_selectors.php:241 -msgid "Show" -msgstr "Tonen" - -#: ../../include/acl_selectors.php:242 -msgid "Don't show" -msgstr "Niet tonen" - -#: ../../include/acl_selectors.php:247 -msgid "Other networks and post services" -msgstr "Andere netwerken en diensten" - -#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147 -#: ../../mod/chat.php:211 ../../mod/photos.php:631 ../../mod/photos.php:1001 -#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356 -msgid "Permissions" -msgstr "Permissies" - -#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:370 -#: ../../mod/photos.php:1218 -msgid "Close" -msgstr "Sluiten" - -#: ../../include/photos.php:112 -#, php-format -msgid "Image exceeds website size limit of %lu bytes" -msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes" - -#: ../../include/photos.php:119 -msgid "Image file is empty." -msgstr "Afbeeldingsbestand is leeg" - -#: ../../include/photos.php:146 ../../mod/profile_photo.php:222 -msgid "Unable to process image" -msgstr "Afbeelding kan niet verwerkt worden" - -#: ../../include/photos.php:257 -msgid "Photo storage failed." -msgstr "Foto kan niet worden opgeslagen" - -#: ../../include/photos.php:487 -msgid "Upload New Photos" -msgstr "Nieuwe foto's uploaden" - -#: ../../include/notify.php:20 -msgid "created a new post" -msgstr "maakte een nieuw bericht aan" - -#: ../../include/notify.php:21 -#, php-format -msgid "commented on %s's post" -msgstr "gaf een reactie op een bericht van %s" - -#: ../../include/page_widgets.php:6 -msgid "New Page" -msgstr "Nieuwe pagina" - -#: ../../include/page_widgets.php:39 ../../mod/layouts.php:188 -#: ../../mod/webpages.php:187 ../../mod/blocks.php:159 -msgid "View" -msgstr "Weergeven" - -#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 -msgid "Actions" -msgstr "Acties" - -#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 -msgid "Page Link" -msgstr "Paginalink" - -#: ../../include/page_widgets.php:43 -msgid "Title" -msgstr "Titel" - -#: ../../include/page_widgets.php:44 ../../mod/layouts.php:181 -#: ../../mod/menu.php:110 ../../mod/webpages.php:192 ../../mod/blocks.php:150 -msgid "Created" -msgstr "Aangemaakt" - -#: ../../include/page_widgets.php:45 ../../mod/layouts.php:182 -#: ../../mod/menu.php:111 ../../mod/webpages.php:193 ../../mod/blocks.php:151 -msgid "Edited" -msgstr "Bewerkt" - -#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 -#: ../../mod/photos.php:699 ../../mod/profile_photo.php:146 -#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376 -msgid "Profile Photos" -msgstr "Profielfoto's" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:103 -msgid "Male" -msgstr "Man" - -#: ../../include/profile_selectors.php:6 -#: ../../include/profile_selectors.php:23 ../../mod/id.php:105 -msgid "Female" -msgstr "Vrouw" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Male" -msgstr "Momenteel man" - -#: ../../include/profile_selectors.php:6 -msgid "Currently Female" -msgstr "Momenteel vrouw" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Male" -msgstr "Voornamelijk man" - -#: ../../include/profile_selectors.php:6 -msgid "Mostly Female" -msgstr "Voornamelijk vrouw" - -#: ../../include/profile_selectors.php:6 -msgid "Transgender" -msgstr "Transgender" - -#: ../../include/profile_selectors.php:6 -msgid "Intersex" -msgstr "Interseksueel" - -#: ../../include/profile_selectors.php:6 -msgid "Transsexual" -msgstr "Transseksueel" - -#: ../../include/profile_selectors.php:6 -msgid "Hermaphrodite" -msgstr "Hermafrodiet" - -#: ../../include/profile_selectors.php:6 -msgid "Neuter" -msgstr "Genderneutraal" - -#: ../../include/profile_selectors.php:6 -msgid "Non-specific" -msgstr "Niet gespecificeerd" - -#: ../../include/profile_selectors.php:6 -msgid "Undecided" -msgstr "Nog niet beslist" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Males" -msgstr "Mannen" - -#: ../../include/profile_selectors.php:42 -#: ../../include/profile_selectors.php:61 -msgid "Females" -msgstr "Vrouwen" - -#: ../../include/profile_selectors.php:42 -msgid "Gay" -msgstr "Homoseksueel" - -#: ../../include/profile_selectors.php:42 -msgid "Lesbian" -msgstr "Lesbisch" - -#: ../../include/profile_selectors.php:42 -msgid "No Preference" -msgstr "Geen voorkeur" - -#: ../../include/profile_selectors.php:42 -msgid "Bisexual" -msgstr "Biseksueel" - -#: ../../include/profile_selectors.php:42 -msgid "Autosexual" -msgstr "Autoseksueel" - -#: ../../include/profile_selectors.php:42 -msgid "Abstinent" -msgstr "Seksuele onthouding" - -#: ../../include/profile_selectors.php:42 -msgid "Virgin" -msgstr "Maagd" - -#: ../../include/profile_selectors.php:42 -msgid "Deviant" -msgstr "Afwijkend" - -#: ../../include/profile_selectors.php:42 -msgid "Fetish" -msgstr "Fetisj" - -#: ../../include/profile_selectors.php:42 -msgid "Oodles" -msgstr "Veel" - -#: ../../include/profile_selectors.php:42 -msgid "Nonsexual" -msgstr "Aseksueel" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Single" -msgstr "Alleen" - -#: ../../include/profile_selectors.php:80 -msgid "Lonely" -msgstr "Eenzaam" - -#: ../../include/profile_selectors.php:80 -msgid "Available" -msgstr "Beschikbaar" - -#: ../../include/profile_selectors.php:80 -msgid "Unavailable" -msgstr "Niet beschikbaar" - -#: ../../include/profile_selectors.php:80 -msgid "Has crush" -msgstr "Heeft een oogje op iemand" - -#: ../../include/profile_selectors.php:80 -msgid "Infatuated" -msgstr "Smoorverliefd" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Dating" -msgstr "Aan het daten" - -#: ../../include/profile_selectors.php:80 -msgid "Unfaithful" -msgstr "Ontrouw" - -#: ../../include/profile_selectors.php:80 -msgid "Sex Addict" -msgstr "Seksverslaafd" - -#: ../../include/profile_selectors.php:80 ../../include/widgets.php:430 -#: ../../include/identity.php:390 ../../include/identity.php:391 -#: ../../include/identity.php:398 ../../mod/connedit.php:573 -#: ../../mod/settings.php:338 ../../mod/settings.php:342 -#: ../../mod/settings.php:343 ../../mod/settings.php:346 -#: ../../mod/settings.php:357 -msgid "Friends" -msgstr "Vrienden" - -#: ../../include/profile_selectors.php:80 -msgid "Friends/Benefits" -msgstr "Vriendschap plus" - -#: ../../include/profile_selectors.php:80 -msgid "Casual" -msgstr "Ongebonden/vluchtig" - -#: ../../include/profile_selectors.php:80 -msgid "Engaged" -msgstr "Verloofd" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Married" -msgstr "Getrouwd" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily married" -msgstr "Denkbeeldig getrouwd" - -#: ../../include/profile_selectors.php:80 -msgid "Partners" -msgstr "Partners" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Cohabiting" -msgstr "Samenwonend" - -#: ../../include/profile_selectors.php:80 -msgid "Common law" -msgstr "Common-law-huwelijk" - -#: ../../include/profile_selectors.php:80 -msgid "Happy" -msgstr "Gelukkig" - -#: ../../include/profile_selectors.php:80 -msgid "Not looking" -msgstr "Niet op zoek" - -#: ../../include/profile_selectors.php:80 -msgid "Swinger" -msgstr "Swinger" - -#: ../../include/profile_selectors.php:80 -msgid "Betrayed" -msgstr "Verraden" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Separated" -msgstr "Uit elkaar" - -#: ../../include/profile_selectors.php:80 -msgid "Unstable" -msgstr "Onstabiel" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Divorced" -msgstr "Gescheiden" - -#: ../../include/profile_selectors.php:80 -msgid "Imaginarily divorced" -msgstr "Denkbeeldig gescheiden" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "Widowed" -msgstr "Weduwnaar/weduwe" - -#: ../../include/profile_selectors.php:80 -msgid "Uncertain" -msgstr "Onzeker" - -#: ../../include/profile_selectors.php:80 -#: ../../include/profile_selectors.php:97 -msgid "It's complicated" -msgstr "Het is ingewikkeld" +#: ../../include/auth.php:132 +msgid "Logged out." +msgstr "Uitgelogd." -#: ../../include/profile_selectors.php:80 -msgid "Don't care" -msgstr "Maakt mij niks uit" +#: ../../include/auth.php:273 +msgid "Failed authentication" +msgstr "Mislukte authenticatie" -#: ../../include/profile_selectors.php:80 -msgid "Ask me" -msgstr "Vraag het me" +#: ../../include/auth.php:287 ../../mod/openid.php:189 +msgid "Login failed." +msgstr "Inloggen mislukt." -#: ../../include/oembed.php:213 -msgid "Embedded content" -msgstr "Ingesloten inhoud" +#: ../../include/contact_selectors.php:56 +msgid "Frequently" +msgstr "Regelmatig" -#: ../../include/oembed.php:222 -msgid "Embedding disabled" -msgstr "Insluiten uitgeschakeld" +#: ../../include/contact_selectors.php:57 +msgid "Hourly" +msgstr "Elk uur" -#: ../../include/event.php:22 ../../include/bb2diaspora.php:471 -msgid "l F d, Y \\@ g:i A" -msgstr "l d F Y \\@ G:i" +#: ../../include/contact_selectors.php:58 +msgid "Twice daily" +msgstr "Twee keer per dag" -#: ../../include/event.php:30 ../../include/bb2diaspora.php:477 -msgid "Starts:" -msgstr "Start:" +#: ../../include/contact_selectors.php:59 +msgid "Daily" +msgstr "Dagelijks" -#: ../../include/event.php:40 ../../include/bb2diaspora.php:485 -msgid "Finishes:" -msgstr "Einde:" +#: ../../include/contact_selectors.php:60 +msgid "Weekly" +msgstr "Wekelijks" -#: ../../include/event.php:50 ../../include/identity.php:1003 -#: ../../include/bb2diaspora.php:493 ../../mod/directory.php:304 -#: ../../mod/events.php:701 -msgid "Location:" -msgstr "Plaats:" +#: ../../include/contact_selectors.php:61 +msgid "Monthly" +msgstr "Maandelijks" -#: ../../include/event.php:766 -msgid "This event has been added to your calendar." -msgstr "Dit evenement is aan jouw agenda toegevoegd." +#: ../../include/contact_selectors.php:76 +msgid "Friendica" +msgstr "Friendica" -#: ../../include/event.php:953 -msgid "Not specified" -msgstr "Niet aangegeven" +#: ../../include/contact_selectors.php:77 +msgid "OStatus" +msgstr "OStatus" -#: ../../include/event.php:954 -msgid "Needs Action" -msgstr "Actie vereist" +#: ../../include/contact_selectors.php:78 +msgid "RSS/Atom" +msgstr "RSS/Atom" -#: ../../include/event.php:955 -msgid "Completed" -msgstr "Voltooid" +#: ../../include/contact_selectors.php:79 ../../mod/id.php:15 +#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814 +#: ../../boot.php:1483 +msgid "Email" +msgstr "E-mail" -#: ../../include/event.php:956 -msgid "In Process" -msgstr "In behandeling" +#: ../../include/contact_selectors.php:80 +msgid "Diaspora" +msgstr "Diaspora" -#: ../../include/event.php:957 -msgid "Cancelled" -msgstr "Geannuleerd" +#: ../../include/contact_selectors.php:81 +msgid "Facebook" +msgstr "Facebook" -#: ../../include/apps.php:128 -msgid "Site Admin" -msgstr "Hubbeheerder" +#: ../../include/contact_selectors.php:82 +msgid "Zot!" +msgstr "Zot!" -#: ../../include/apps.php:130 -msgid "Address Book" -msgstr "Connecties" +#: ../../include/contact_selectors.php:83 +msgid "LinkedIn" +msgstr "LinkedIn" -#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1486 -msgid "Login" -msgstr "Inloggen" +#: ../../include/contact_selectors.php:84 +msgid "XMPP/IM" +msgstr "XMPP/IM" -#: ../../include/apps.php:132 ../../include/nav.php:200 -#: ../../mod/manage.php:160 -msgid "Channel Manager" -msgstr "Kanaalbeheer" +#: ../../include/contact_selectors.php:85 +msgid "MySpace" +msgstr "MySpace" -#: ../../include/apps.php:133 ../../include/nav.php:174 -msgid "Grid" -msgstr "Grid" +#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 +#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 +#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 +#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 +#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 +#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 +#: ../../include/bbcode.php:833 +msgid "Image/photo" +msgstr "Afbeelding/foto" -#: ../../include/apps.php:134 ../../include/widgets.php:554 -#: ../../include/nav.php:202 ../../mod/admin.php:1064 ../../mod/admin.php:1264 -msgid "Settings" -msgstr "Instellingen" +#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 +msgid "Encrypted content" +msgstr "Versleutelde inhoud" -#: ../../include/apps.php:137 ../../include/nav.php:177 -msgid "Channel Home" -msgstr "Tijdlijn kanaal" +#: ../../include/bbcode.php:179 +#, php-format +msgid "Install %s element: " +msgstr "Installeer %s-element: " -#: ../../include/apps.php:138 ../../include/identity.php:1237 -#: ../../include/identity.php:1354 ../../mod/profperm.php:112 -msgid "Profile" -msgstr "Profiel" +#: ../../include/bbcode.php:183 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." +msgstr "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren." -#: ../../include/apps.php:140 ../../include/nav.php:196 -#: ../../mod/events.php:523 -msgid "Events" -msgstr "Agenda" +#: ../../include/bbcode.php:193 ../../mod/impel.php:37 +msgid "webpage" +msgstr "Webpagina" -#: ../../include/apps.php:141 ../../include/nav.php:162 -msgid "Directory" -msgstr "Kanalengids" +#: ../../include/bbcode.php:196 ../../mod/impel.php:47 +msgid "layout" +msgstr "lay-out" -#: ../../include/apps.php:142 ../../include/nav.php:154 ../../mod/help.php:202 -#: ../../mod/help.php:207 ../../mod/layouts.php:176 -msgid "Help" -msgstr "Hulp" +#: ../../include/bbcode.php:199 ../../mod/impel.php:42 +msgid "block" +msgstr "blok" -#: ../../include/apps.php:143 ../../include/nav.php:188 -msgid "Mail" -msgstr "Privéberichten" +#: ../../include/bbcode.php:202 ../../mod/impel.php:54 +msgid "menu" +msgstr "menu" -#: ../../include/apps.php:144 ../../mod/mood.php:131 -msgid "Mood" -msgstr "Stemming" +#: ../../include/bbcode.php:257 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" +msgstr "%1$s schreef het volgende %2$s %3$s" -#: ../../include/apps.php:146 ../../include/nav.php:97 -msgid "Chat" -msgstr "Chatten" +#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 +msgid "post" +msgstr "bericht" -#: ../../include/apps.php:147 ../../include/text.php:866 -#: ../../include/text.php:878 ../../include/nav.php:159 -#: ../../mod/search.php:40 -msgid "Search" -msgstr "Zoeken" +#: ../../include/bbcode.php:547 +msgid "Different viewers will see this text differently" +msgstr "Deze tekst wordt per persoon anders weergeven." -#: ../../include/apps.php:148 -msgid "Probe" -msgstr "Onderzoeken" +#: ../../include/bbcode.php:755 +msgid "$1 spoiler" +msgstr "$1 spoiler" -#: ../../include/apps.php:149 -msgid "Suggest" -msgstr "Voorstellen" +#: ../../include/bbcode.php:782 +msgid "$1 wrote:" +msgstr "$1 schreef:" -#: ../../include/apps.php:150 -msgid "Random Channel" -msgstr "Willekeurig kanaal" +#: ../../include/contact_widgets.php:14 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "%d uitnodiging beschikbaar" +msgstr[1] "%d uitnodigingen beschikbaar" -#: ../../include/apps.php:151 -msgid "Invite" -msgstr "Uitnodigen " +#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 +msgid "Advanced" +msgstr "Geavanceerd" -#: ../../include/apps.php:152 -msgid "Features" -msgstr "Extra functies" +#: ../../include/contact_widgets.php:22 +msgid "Find Channels" +msgstr "Kanalen vinden" -#: ../../include/apps.php:153 ../../mod/id.php:28 -msgid "Language" -msgstr "Taal" +#: ../../include/contact_widgets.php:23 +msgid "Enter name or interest" +msgstr "Vul naam of interesse in" -#: ../../include/apps.php:154 -msgid "Post" -msgstr "Bericht" +#: ../../include/contact_widgets.php:24 +msgid "Connect/Follow" +msgstr "Verbinden/volgen" -#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 -#: ../../mod/id.php:19 -msgid "Profile Photo" -msgstr "Profielfoto" +#: ../../include/contact_widgets.php:25 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "Voorbeeld: Robert Morgenstein, vissen" -#: ../../include/apps.php:252 ../../mod/settings.php:84 -#: ../../mod/settings.php:610 -msgid "Update" -msgstr "Bijwerken" +#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 +#: ../../mod/directory.php:386 ../../mod/connections.php:266 +msgid "Find" +msgstr "Vinden" -#: ../../include/apps.php:252 -msgid "Install" -msgstr "Installeren" +#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 +#: ../../mod/suggest.php:60 +msgid "Channel Suggestions" +msgstr "Voorgestelde kanalen" -#: ../../include/apps.php:257 -msgid "Purchase" -msgstr "Aanschaffen" +#: ../../include/contact_widgets.php:29 +msgid "Random Profile" +msgstr "Willekeurig profiel" -#: ../../include/api.php:1302 -msgid "Public Timeline" -msgstr "Openbare tijdlijn" +#: ../../include/contact_widgets.php:30 +msgid "Invite Friends" +msgstr "Vrienden uitnodigen" -#: ../../include/import.php:23 -msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." -msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt." +#: ../../include/contact_widgets.php:32 +msgid "Advanced example: name=fred and country=iceland" +msgstr "Geavanceerd voorbeeld (Engels): name=jan en country=nederland" -#: ../../include/import.php:70 -msgid "Channel clone failed. Import failed." -msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt." +#: ../../include/contact_widgets.php:128 +#, php-format +msgid "%d connection in common" +msgid_plural "%d connections in common" +msgstr[0] "%d gemeenschappelijke connectie" +msgstr[1] "%d gemeenschappelijke connecties" -#: ../../include/import.php:80 ../../mod/import.php:139 -msgid "Cloned channel not found. Import failed." -msgstr "Gekloond kanaal niet gevonden. Importeren mislukt." +#: ../../include/contact_widgets.php:133 +msgid "show more" +msgstr "meer connecties weergeven" #: ../../include/enotify.php:96 #, php-format @@ -2630,313 +3155,6 @@ msgstr "Bezoek %s om het voorstel te accepteren of af te wijzen." msgid "[Hubzilla:Notify]" msgstr "[Hubzilla:Notificatie]" -#: ../../include/ItemObject.php:130 -msgid "Save to Folder" -msgstr "In map opslaan" - -#: ../../include/ItemObject.php:151 -msgid "I will attend" -msgstr "Aanwezig" - -#: ../../include/ItemObject.php:151 -msgid "I will not attend" -msgstr "Niet aanwezig" - -#: ../../include/ItemObject.php:151 -msgid "I might attend" -msgstr "Mogelijk aanwezig" - -#: ../../include/ItemObject.php:161 -msgid "I agree" -msgstr "Eens" - -#: ../../include/ItemObject.php:161 -msgid "I disagree" -msgstr "Oneens" - -#: ../../include/ItemObject.php:161 -msgid "I abstain" -msgstr "Onthouding" - -#: ../../include/ItemObject.php:212 -msgid "Add Star" -msgstr "Ster toevoegen" - -#: ../../include/ItemObject.php:213 -msgid "Remove Star" -msgstr "Ster verwijderen" - -#: ../../include/ItemObject.php:214 -msgid "Toggle Star Status" -msgstr "Ster toevoegen of verwijderen" - -#: ../../include/ItemObject.php:218 -msgid "starred" -msgstr "met ster" - -#: ../../include/ItemObject.php:236 -msgid "Add Tag" -msgstr "Tag toevoegen" - -#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 -msgid "I like this (toggle)" -msgstr "Vind ik leuk" - -#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:326 -msgid "like" -msgstr "vind dit leuk" - -#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 -msgid "I don't like this (toggle)" -msgstr "Vind ik niet leuk" - -#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:327 -msgid "dislike" -msgstr "vind dit niet leuk" - -#: ../../include/ItemObject.php:259 -msgid "Share This" -msgstr "Delen" - -#: ../../include/ItemObject.php:259 -msgid "share" -msgstr "delen" - -#: ../../include/ItemObject.php:277 -#, php-format -msgid "%d comment" -msgid_plural "%d comments" -msgstr[0] "%d reactie" -msgstr[1] "%d reacties weergeven" - -#: ../../include/ItemObject.php:302 ../../include/ItemObject.php:303 -#, php-format -msgid "View %s's profile - %s" -msgstr "Profiel van %s bekijken - %s" - -#: ../../include/ItemObject.php:306 -msgid "to" -msgstr "aan" - -#: ../../include/ItemObject.php:307 -msgid "via" -msgstr "via" - -#: ../../include/ItemObject.php:308 -msgid "Wall-to-Wall" -msgstr "Kanaal-naar-kanaal" - -#: ../../include/ItemObject.php:309 -msgid "via Wall-To-Wall:" -msgstr "via kanaal-naar-kanaal" - -#: ../../include/ItemObject.php:312 -msgid "Delivery Report" -msgstr "Afleveringsrapport" - -#: ../../include/ItemObject.php:348 -msgid "Save Bookmarks" -msgstr "Bladwijzers opslaan" - -#: ../../include/ItemObject.php:349 -msgid "Add to Calendar" -msgstr "Aan agenda toevoegen" - -#: ../../include/ItemObject.php:358 -msgid "Mark all seen" -msgstr "Markeer alles als bekeken" - -#: ../../include/ItemObject.php:364 ../../mod/photos.php:1212 -msgctxt "noun" -msgid "Likes" -msgstr "vinden dit leuk" - -#: ../../include/ItemObject.php:365 ../../mod/photos.php:1213 -msgctxt "noun" -msgid "Dislikes" -msgstr "vinden dit niet leuk" - -#: ../../include/ItemObject.php:680 ../../mod/photos.php:1045 -#: ../../mod/photos.php:1163 -msgid "This is you" -msgstr "Dit ben jij" - -#: ../../include/ItemObject.php:689 -msgid "Image" -msgstr "Afbeelding" - -#: ../../include/ItemObject.php:690 -msgid "Insert Link" -msgstr "Link invoegen" - -#: ../../include/ItemObject.php:691 -msgid "Video" -msgstr "Video" - -#: ../../include/zot.php:685 -msgid "Invalid data packet" -msgstr "Datapakket ongeldig" - -#: ../../include/zot.php:701 -msgid "Unable to verify channel signature" -msgstr "Kanaalkenmerk kon niet worden geverifieerd. " - -#: ../../include/zot.php:2265 -#, php-format -msgid "Unable to verify site signature for %s" -msgstr "Hubkenmerk voor %s kon niet worden geverifieerd" - -#: ../../include/zot.php:3592 -msgid "invalid target signature" -msgstr "ongeldig doelkenmerk" - -#: ../../include/auth.php:132 -msgid "Logged out." -msgstr "Uitgelogd." - -#: ../../include/auth.php:273 -msgid "Failed authentication" -msgstr "Mislukte authenticatie" - -#: ../../include/auth.php:287 ../../mod/openid.php:189 -msgid "Login failed." -msgstr "Inloggen mislukt." - -#: ../../include/bbcode.php:123 ../../include/bbcode.php:794 -#: ../../include/bbcode.php:797 ../../include/bbcode.php:802 -#: ../../include/bbcode.php:805 ../../include/bbcode.php:808 -#: ../../include/bbcode.php:811 ../../include/bbcode.php:816 -#: ../../include/bbcode.php:819 ../../include/bbcode.php:824 -#: ../../include/bbcode.php:827 ../../include/bbcode.php:830 -#: ../../include/bbcode.php:833 -msgid "Image/photo" -msgstr "Afbeelding/foto" - -#: ../../include/bbcode.php:162 ../../include/bbcode.php:844 -msgid "Encrypted content" -msgstr "Versleutelde inhoud" - -#: ../../include/bbcode.php:179 -#, php-format -msgid "Install %s element: " -msgstr "Installeer %s-element: " - -#: ../../include/bbcode.php:183 -#, php-format -msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." -msgstr "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren." - -#: ../../include/bbcode.php:193 ../../mod/impel.php:37 -msgid "webpage" -msgstr "Webpagina" - -#: ../../include/bbcode.php:196 ../../mod/impel.php:47 -msgid "layout" -msgstr "lay-out" - -#: ../../include/bbcode.php:199 ../../mod/impel.php:42 -msgid "block" -msgstr "blok" - -#: ../../include/bbcode.php:202 ../../mod/impel.php:54 -msgid "menu" -msgstr "menu" - -#: ../../include/bbcode.php:257 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" -msgstr "%1$s schreef het volgende %2$s %3$s" - -#: ../../include/bbcode.php:259 ../../mod/tagger.php:51 -msgid "post" -msgstr "bericht" - -#: ../../include/bbcode.php:547 -msgid "Different viewers will see this text differently" -msgstr "Deze tekst wordt per persoon anders weergeven." - -#: ../../include/bbcode.php:755 -msgid "$1 spoiler" -msgstr "$1 spoiler" - -#: ../../include/bbcode.php:782 -msgid "$1 wrote:" -msgstr "$1 schreef:" - -#: ../../include/account.php:27 -msgid "Not a valid email address" -msgstr "Geen geldig e-mailadres" - -#: ../../include/account.php:29 -msgid "Your email domain is not among those allowed on this site" -msgstr "Jouw e-maildomein is op deze hub niet toegestaan" - -#: ../../include/account.php:35 -msgid "Your email address is already registered at this site." -msgstr "Jouw e-mailadres is al op deze hub geregistreerd." - -#: ../../include/account.php:67 -msgid "An invitation is required." -msgstr "Een uitnodiging is vereist" - -#: ../../include/account.php:71 -msgid "Invitation could not be verified." -msgstr "Uitnodiging kon niet geverifieerd worden" - -#: ../../include/account.php:121 -msgid "Please enter the required information." -msgstr "Vul de vereiste informatie in." - -#: ../../include/account.php:188 -msgid "Failed to store account information." -msgstr "Account-informatie kon niet opgeslagen worden." - -#: ../../include/account.php:248 -#, php-format -msgid "Registration confirmation for %s" -msgstr "Registratiebevestiging voor %s" - -#: ../../include/account.php:314 -#, php-format -msgid "Registration request at %s" -msgstr "Registratiebevestiging voor %s" - -#: ../../include/account.php:338 -msgid "your registration password" -msgstr "jouw registratiewachtwoord" - -#: ../../include/account.php:341 ../../include/account.php:401 -#, php-format -msgid "Registration details for %s" -msgstr "Registratiegegevens voor %s" - -#: ../../include/account.php:410 -msgid "Account approved." -msgstr "Account goedgekeurd" - -#: ../../include/account.php:449 -#, php-format -msgid "Registration revoked for %s" -msgstr "Registratie ingetrokken voor %s" - -#: ../../include/account.php:494 -msgid "Account verified. Please login." -msgstr "Account is geverifieerd. Je kan inloggen." - -#: ../../include/account.php:707 ../../include/account.php:709 -msgid "Click here to upgrade." -msgstr "Klik hier om te upgraden." - -#: ../../include/account.php:715 -msgid "This action exceeds the limits set by your subscription plan." -msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden." - -#: ../../include/account.php:720 -msgid "This action is not available under your subscription plan." -msgstr "Deze handeling is niet mogelijk met jouw abonnement." - #: ../../include/follow.php:28 msgid "Channel is blocked on this site." msgstr "Kanaal is op deze hub geblokkeerd." @@ -2969,1357 +3187,1236 @@ msgstr "lokale account niet gevonden." msgid "Cannot connect to yourself." msgstr "Kan niet met jezelf verbinden" -#: ../../include/security.php:381 -msgid "" -"The form security token was not correct. This probably happened because the " -"form has been opened for too long (>3 hours) before submitting it." -msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. " - -#: ../../include/contact_widgets.php:14 -#, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "%d uitnodiging beschikbaar" -msgstr[1] "%d uitnodigingen beschikbaar" - -#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439 -msgid "Advanced" -msgstr "Geavanceerd" - -#: ../../include/contact_widgets.php:22 -msgid "Find Channels" -msgstr "Kanalen vinden" - -#: ../../include/contact_widgets.php:23 -msgid "Enter name or interest" -msgstr "Vul naam of interesse in" - -#: ../../include/contact_widgets.php:24 -msgid "Connect/Follow" -msgstr "Verbinden/volgen" - -#: ../../include/contact_widgets.php:25 -msgid "Examples: Robert Morgenstein, Fishing" -msgstr "Voorbeeld: Robert Morgenstein, vissen" - -#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381 -#: ../../mod/directory.php:386 ../../mod/connections.php:266 -msgid "Find" -msgstr "Vinden" - -#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385 -#: ../../mod/suggest.php:60 -msgid "Channel Suggestions" -msgstr "Voorgestelde kanalen" - -#: ../../include/contact_widgets.php:29 -msgid "Random Profile" -msgstr "Willekeurig profiel" - -#: ../../include/contact_widgets.php:30 -msgid "Invite Friends" -msgstr "Vrienden uitnodigen" - -#: ../../include/contact_widgets.php:32 -msgid "Advanced example: name=fred and country=iceland" -msgstr "Geavanceerd voorbeeld (Engels): name=jan en country=nederland" - -#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98 -#: ../../include/widgets.php:307 -msgid "Everything" -msgstr "Alles" - -#: ../../include/contact_widgets.php:95 ../../include/widgets.php:36 -#: ../../include/taxonomy.php:280 -msgid "Categories" -msgstr "Categorieën" - -#: ../../include/contact_widgets.php:128 -#, php-format -msgid "%d connection in common" -msgid_plural "%d connections in common" -msgstr[0] "%d gemeenschappelijke connectie" -msgstr[1] "%d gemeenschappelijke connecties" - -#: ../../include/contact_widgets.php:133 -msgid "show more" -msgstr "meer connecties weergeven" - -#: ../../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 "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken." - -#: ../../include/group.php:232 -msgid "Add new connections to this collection (privacy group)" -msgstr "Voeg nieuwe connecties aan deze collectie toe (privacy-groep)" - -#: ../../include/group.php:251 ../../mod/admin.php:814 -msgid "All Channels" -msgstr "Alle kanalen" - -#: ../../include/group.php:273 -msgid "edit" -msgstr "bewerken" - -#: ../../include/group.php:295 -msgid "Collections" -msgstr "Collecties" - -#: ../../include/group.php:296 -msgid "Edit collection" -msgstr "Collectie bewerken" - -#: ../../include/group.php:297 -msgid "Add new collection" -msgstr "Nieuwe collectie toevoegen" - -#: ../../include/group.php:298 -msgid "Channels not in any collection" -msgstr "Kanalen die zich in geen enkele collectie bevinden" - -#: ../../include/group.php:300 ../../include/widgets.php:275 -msgid "add" -msgstr "toevoegen" - -#: ../../include/widgets.php:92 ../../include/nav.php:157 -#: ../../mod/apps.php:36 -msgid "Apps" -msgstr "Apps" - -#: ../../include/widgets.php:93 -msgid "System" -msgstr "Systeem" - -#: ../../include/widgets.php:96 -msgid "Create Personal App" -msgstr "Persoonlijke app maken" - -#: ../../include/widgets.php:97 -msgid "Edit Personal App" -msgstr "Persoonlijke app bewerken" - -#: ../../include/widgets.php:139 ../../mod/suggest.php:54 -msgid "Ignore/Hide" -msgstr "Negeren/Verbergen" - -#: ../../include/widgets.php:144 ../../mod/connections.php:125 -msgid "Suggestions" -msgstr "Voorgestelde kanalen" - -#: ../../include/widgets.php:145 -msgid "See more..." -msgstr "Meer..." - -#: ../../include/widgets.php:166 -#, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." -msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties." - -#: ../../include/widgets.php:172 -msgid "Add New Connection" -msgstr "Nieuwe connectie toevoegen" - -#: ../../include/widgets.php:173 -msgid "Enter the channel address" -msgstr "Vul het adres van het nieuwe kanaal in" - -#: ../../include/widgets.php:174 -msgid "Example: bob@example.com, http://example.com/barbara" -msgstr "Voorbeeld: bob@example.com, http://example.com/barbara" - -#: ../../include/widgets.php:190 -msgid "Notes" -msgstr "Aantekeningen" - -#: ../../include/widgets.php:192 ../../include/text.php:867 -#: ../../include/text.php:879 ../../mod/filer.php:49 ../../mod/admin.php:1442 -#: ../../mod/admin.php:1462 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100 -msgid "Save" -msgstr "Opslaan" - -#: ../../include/widgets.php:266 -msgid "Remove term" -msgstr "Verwijder zoekterm" - -#: ../../include/widgets.php:349 -msgid "Archives" -msgstr "Archieven" - -#: ../../include/widgets.php:428 ../../mod/connedit.php:571 -msgid "Me" -msgstr "Ik" - -#: ../../include/widgets.php:429 ../../mod/connedit.php:572 -msgid "Family" -msgstr "Familie" - -#: ../../include/widgets.php:431 ../../mod/connedit.php:574 -msgid "Acquaintances" -msgstr "Kennissen" - -#: ../../include/widgets.php:432 ../../mod/connedit.php:575 -#: ../../mod/connections.php:88 ../../mod/connections.php:103 -msgid "All" -msgstr "Alles" - -#: ../../include/widgets.php:451 -msgid "Refresh" -msgstr "Vernieuwen" - -#: ../../include/widgets.php:485 -msgid "Account settings" -msgstr "Account" - -#: ../../include/widgets.php:491 -msgid "Channel settings" -msgstr "Kanaal" - -#: ../../include/widgets.php:497 -msgid "Additional features" -msgstr "Extra functies" - -#: ../../include/widgets.php:503 -msgid "Feature/Addon settings" -msgstr "Extra functie- en plugin-instellingen" - -#: ../../include/widgets.php:509 -msgid "Display settings" -msgstr "Weergave" - -#: ../../include/widgets.php:515 -msgid "Connected apps" -msgstr "Verbonden applicaties" - -#: ../../include/widgets.php:521 -msgid "Export channel" -msgstr "Kanaal exporteren" - -#: ../../include/widgets.php:530 ../../mod/connedit.php:683 -msgid "Connection Default Permissions" -msgstr "Standaard permissies voor connecties" - -#: ../../include/widgets.php:538 -msgid "Premium Channel Settings" -msgstr "Instellingen premiumkanaal" - -#: ../../include/widgets.php:568 -msgid "Private Mail Menu" -msgstr "Privéberichten" - -#: ../../include/widgets.php:570 -msgid "Combined View" -msgstr "Gecombineerd postvak" - -#: ../../include/widgets.php:575 ../../include/nav.php:191 -msgid "Inbox" -msgstr "Postvak IN" - -#: ../../include/widgets.php:580 ../../include/nav.php:192 -msgid "Outbox" -msgstr "Postvak UIT" - -#: ../../include/widgets.php:585 ../../include/nav.php:193 -msgid "New Message" -msgstr "Nieuw bericht" - -#: ../../include/widgets.php:604 ../../include/widgets.php:616 -msgid "Conversations" -msgstr "Conversaties" - -#: ../../include/widgets.php:608 -msgid "Received Messages" -msgstr "Ontvangen berichten" - -#: ../../include/widgets.php:612 -msgid "Sent Messages" -msgstr "Verzonden berichten" - -#: ../../include/widgets.php:626 -msgid "No messages." -msgstr "Geen berichten" - -#: ../../include/widgets.php:644 -msgid "Delete conversation" -msgstr "Verwijder conversatie" - -#: ../../include/widgets.php:670 -msgid "Events Menu" -msgstr "Agenda-menu" - -#: ../../include/widgets.php:671 -msgid "Day View" -msgstr "Dag tonen" - -#: ../../include/widgets.php:672 -msgid "Week View" -msgstr "Week tonen" - -#: ../../include/widgets.php:673 -msgid "Month View" -msgstr "Maand tonen" - -#: ../../include/widgets.php:674 ../../mod/events.php:527 -msgid "Export" -msgstr "Exporteren" - -#: ../../include/widgets.php:675 ../../mod/events.php:530 -msgid "Import" -msgstr "Importeren" - -#: ../../include/widgets.php:749 -msgid "Chat Rooms" -msgstr "Chatkanalen" - -#: ../../include/widgets.php:769 -msgid "Bookmarked Chatrooms" -msgstr "Bladwijzers van chatkanalen" - -#: ../../include/widgets.php:789 -msgid "Suggested Chatrooms" -msgstr "Voorgestelde chatkanalen" - -#: ../../include/widgets.php:916 ../../include/widgets.php:974 -msgid "photo/image" -msgstr "foto/afbeelding" - -#: ../../include/widgets.php:1069 ../../include/widgets.php:1071 -msgid "Rate Me" -msgstr "Beoordeel mij" - -#: ../../include/widgets.php:1075 -msgid "View Ratings" -msgstr "Bekijk beoordelingen" - -#: ../../include/widgets.php:1086 -msgid "Public Hubs" -msgstr "Openbare hubs" - -#: ../../include/widgets.php:1134 -msgid "Forums" -msgstr "Forums" - -#: ../../include/widgets.php:1161 -msgid "Tasks" -msgstr "Taken" - -#: ../../include/widgets.php:1170 -msgid "Documentation" -msgstr "Documentatie" - -#: ../../include/widgets.php:1172 -msgid "Project/Site Information" -msgstr "Project- en hub-informatie" - -#: ../../include/widgets.php:1173 -msgid "For Members" -msgstr "Voor leden" - -#: ../../include/widgets.php:1174 -msgid "For Administrators" -msgstr "Voor beheerders" - -#: ../../include/widgets.php:1175 -msgid "For Developers" -msgstr "Voor ontwikkelaars" - -#: ../../include/widgets.php:1200 ../../mod/admin.php:434 -msgid "Site" -msgstr "Hub-instellingen" - -#: ../../include/widgets.php:1201 -msgid "Accounts" -msgstr "Accounts" - -#: ../../include/widgets.php:1202 ../../mod/admin.php:965 -msgid "Channels" -msgstr "Kanalen" - -#: ../../include/widgets.php:1203 ../../mod/admin.php:1062 -#: ../../mod/admin.php:1102 -msgid "Plugins" -msgstr "Plug-ins" - -#: ../../include/widgets.php:1204 ../../mod/admin.php:1262 -#: ../../mod/admin.php:1296 -msgid "Themes" -msgstr "Thema's" - -#: ../../include/widgets.php:1205 -msgid "Inspect queue" -msgstr "Inspecteer berichtenwachtrij" - -#: ../../include/widgets.php:1206 -msgid "Profile Config" -msgstr "Profielconfiguratie" - -#: ../../include/widgets.php:1207 -msgid "DB updates" -msgstr "Database-updates" - -#: ../../include/widgets.php:1225 ../../include/widgets.php:1231 -#: ../../mod/admin.php:1381 -msgid "Logs" -msgstr "Logboeken" - -#: ../../include/widgets.php:1229 ../../include/nav.php:210 -msgid "Admin" -msgstr "Beheer" - -#: ../../include/widgets.php:1230 -msgid "Plugin Features" -msgstr "Plug-in-opties" - -#: ../../include/widgets.php:1232 -msgid "User registrations waiting for confirmation" -msgstr "Accounts die op goedkeuring wachten" - -#: ../../include/widgets.php:1311 ../../mod/photos.php:753 -#: ../../mod/photos.php:1286 -msgid "View Photo" -msgstr "Foto weergeven" +#: ../../include/oembed.php:213 +msgid "Embedded content" +msgstr "Ingesloten inhoud" -#: ../../include/widgets.php:1327 ../../mod/photos.php:782 -msgid "Edit Album" -msgstr "Album bewerken" +#: ../../include/oembed.php:222 +msgid "Embedding disabled" +msgstr "Insluiten uitgeschakeld" -#: ../../include/message.php:18 +#: ../../include/message.php:19 msgid "No recipient provided." msgstr "Geen ontvanger opgegeven." -#: ../../include/message.php:23 +#: ../../include/message.php:24 msgid "[no subject]" msgstr "[geen onderwerp]" -#: ../../include/message.php:43 +#: ../../include/message.php:44 msgid "Unable to determine sender." msgstr "Afzender kan niet bepaald worden." -#: ../../include/message.php:218 +#: ../../include/message.php:219 msgid "Stored post could not be verified." msgstr "Opgeslagen bericht kon niet worden geverifieerd." -#: ../../include/identity.php:32 -msgid "Unable to obtain identity information from database" -msgstr "Niet in staat om identiteitsinformatie uit de database te verkrijgen" - -#: ../../include/identity.php:66 -msgid "Empty name" -msgstr "Ontbrekende naam" - -#: ../../include/identity.php:69 -msgid "Name too long" -msgstr "Naam te lang" - -#: ../../include/identity.php:181 -msgid "No account identifier" -msgstr "Geen account-identificator" - -#: ../../include/identity.php:193 -msgid "Nickname is required." -msgstr "Bijnaam is verplicht" - -#: ../../include/identity.php:207 -msgid "Reserved nickname. Please choose another." -msgstr "Deze naam is gereserveerd. Kies een andere." - -#: ../../include/identity.php:212 -msgid "" -"Nickname has unsupported characters or is already being used on this site." -msgstr "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik." - -#: ../../include/identity.php:288 -msgid "Unable to retrieve created identity" -msgstr "Niet in staat om aangemaakte identiteit te vinden" - -#: ../../include/identity.php:346 -msgid "Default Profile" -msgstr "Standaardprofiel" - -#: ../../include/identity.php:769 -msgid "Requested channel is not available." -msgstr "Opgevraagd kanaal is niet beschikbaar." - -#: ../../include/identity.php:815 ../../mod/achievements.php:11 -#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29 -#: ../../mod/editblock.php:29 ../../mod/profile.php:16 -#: ../../mod/webpages.php:29 ../../mod/blocks.php:29 -#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28 -#: ../../mod/connect.php:13 -msgid "Requested profile is not available." -msgstr "Opgevraagd profiel is niet beschikbaar" - -#: ../../include/identity.php:965 ../../mod/profiles.php:774 -msgid "Change profile photo" -msgstr "Profielfoto veranderen" - -#: ../../include/identity.php:971 -msgid "Profiles" -msgstr "Profielen" - -#: ../../include/identity.php:971 -msgid "Manage/edit profiles" -msgstr "Profielen beheren/bewerken" - -#: ../../include/identity.php:972 ../../mod/profiles.php:775 -msgid "Create New Profile" -msgstr "Nieuw profiel aanmaken" - -#: ../../include/identity.php:975 ../../include/nav.php:90 -msgid "Edit Profile" -msgstr "Profiel bewerken" - -#: ../../include/identity.php:987 ../../mod/profiles.php:786 -msgid "Profile Image" -msgstr "Profielfoto" - -#: ../../include/identity.php:990 -msgid "visible to everybody" -msgstr "Voor iedereen zichtbaar" - -#: ../../include/identity.php:991 ../../mod/profiles.php:669 -#: ../../mod/profiles.php:790 -msgid "Edit visibility" -msgstr "Zichtbaarheid bewerken" - -#: ../../include/identity.php:1007 ../../include/identity.php:1247 -msgid "Gender:" -msgstr "Geslacht:" - -#: ../../include/identity.php:1008 ../../include/identity.php:1291 -msgid "Status:" -msgstr "Status:" - -#: ../../include/identity.php:1009 ../../include/identity.php:1302 -msgid "Homepage:" -msgstr "Homepagina:" +#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1480 +msgid "Logout" +msgstr "Uitloggen" -#: ../../include/identity.php:1010 -msgid "Online Now" -msgstr "Nu online" +#: ../../include/nav.php:82 ../../include/nav.php:114 +msgid "End this session" +msgstr "Beëindig deze sessie" -#: ../../include/identity.php:1094 ../../include/identity.php:1172 -#: ../../mod/ping.php:318 -msgid "g A l F d" -msgstr "G:i, l d F" +#: ../../include/nav.php:85 ../../include/nav.php:145 +msgid "Home" +msgstr "Home" -#: ../../include/identity.php:1095 ../../include/identity.php:1173 -msgid "F d" -msgstr "d F" +#: ../../include/nav.php:85 +msgid "Your posts and conversations" +msgstr "Jouw berichten en conversaties" -#: ../../include/identity.php:1140 ../../include/identity.php:1212 -#: ../../mod/ping.php:341 -msgid "[today]" -msgstr "[vandaag]" +#: ../../include/nav.php:86 +msgid "Your profile page" +msgstr "Jouw profielpagina" -#: ../../include/identity.php:1151 -msgid "Birthday Reminders" -msgstr "Verjaardagsherinneringen" +#: ../../include/nav.php:88 +msgid "Edit Profiles" +msgstr "Bewerk profielen" -#: ../../include/identity.php:1152 -msgid "Birthdays this week:" -msgstr "Verjaardagen deze week:" +#: ../../include/nav.php:88 +msgid "Manage/Edit profiles" +msgstr "Beheer/wijzig profielen" -#: ../../include/identity.php:1205 -msgid "[No description]" -msgstr "[Geen omschrijving]" +#: ../../include/nav.php:90 +msgid "Edit your profile" +msgstr "Jouw profiel bewerken" -#: ../../include/identity.php:1223 -msgid "Event Reminders" -msgstr "Herinneringen" +#: ../../include/nav.php:92 +msgid "Your photos" +msgstr "Jouw foto's" -#: ../../include/identity.php:1224 -msgid "Events this week:" -msgstr "Gebeurtenissen deze week:" +#: ../../include/nav.php:93 +msgid "Your files" +msgstr "Jouw bestanden" -#: ../../include/identity.php:1245 ../../mod/settings.php:1027 -msgid "Full Name:" -msgstr "Volledige naam:" +#: ../../include/nav.php:97 ../../include/apps.php:146 +msgid "Chat" +msgstr "Chatten" -#: ../../include/identity.php:1252 -msgid "Like this channel" -msgstr "Vind dit kanaal leuk" +#: ../../include/nav.php:97 +msgid "Your chatrooms" +msgstr "Jouw chatkanalen" -#: ../../include/identity.php:1276 -msgid "j F, Y" -msgstr "F j Y" +#: ../../include/nav.php:103 +msgid "Your bookmarks" +msgstr "Jouw bladwijzers" -#: ../../include/identity.php:1277 -msgid "j F" -msgstr "F j" +#: ../../include/nav.php:107 +msgid "Your webpages" +msgstr "Jouw webpagina's" -#: ../../include/identity.php:1284 -msgid "Birthday:" -msgstr "Geboortedatum:" +#: ../../include/nav.php:111 ../../include/apps.php:131 ../../boot.php:1481 +msgid "Login" +msgstr "Inloggen" -#: ../../include/identity.php:1288 ../../mod/directory.php:299 -msgid "Age:" -msgstr "Leeftijd:" +#: ../../include/nav.php:111 +msgid "Sign in" +msgstr "Inloggen" -#: ../../include/identity.php:1297 +#: ../../include/nav.php:128 #, php-format -msgid "for %1$d %2$s" -msgstr "voor %1$d %2$s" - -#: ../../include/identity.php:1300 ../../mod/profiles.php:691 -msgid "Sexual Preference:" -msgstr "Seksuele voorkeur:" - -#: ../../include/identity.php:1304 ../../mod/directory.php:315 -#: ../../mod/profiles.php:693 -msgid "Hometown:" -msgstr "Oorspronkelijk uit:" - -#: ../../include/identity.php:1306 -msgid "Tags:" -msgstr "Tags:" - -#: ../../include/identity.php:1308 ../../mod/profiles.php:694 -msgid "Political Views:" -msgstr "Politieke overtuigingen:" - -#: ../../include/identity.php:1310 -msgid "Religion:" -msgstr "Religie:" - -#: ../../include/identity.php:1312 ../../mod/directory.php:317 -msgid "About:" -msgstr "Over:" +msgid "%s - click to logout" +msgstr "%s - klik om uit te loggen" -#: ../../include/identity.php:1314 -msgid "Hobbies/Interests:" -msgstr "Hobby's/interesses:" +#: ../../include/nav.php:131 +msgid "Remote authentication" +msgstr "Authenticatie op afstand" -#: ../../include/identity.php:1316 ../../mod/profiles.php:697 -msgid "Likes:" -msgstr "Houdt van:" +#: ../../include/nav.php:131 +msgid "Click to authenticate to your home hub" +msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub" -#: ../../include/identity.php:1318 ../../mod/profiles.php:698 -msgid "Dislikes:" -msgstr "Houdt niet van:" +#: ../../include/nav.php:145 +msgid "Home Page" +msgstr "Homepage" -#: ../../include/identity.php:1320 -msgid "Contact information and Social Networks:" -msgstr "Contactinformatie en sociale netwerken:" +#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1463 +msgid "Register" +msgstr "Registreren" -#: ../../include/identity.php:1322 -msgid "My other channels:" -msgstr "Mijn andere kanalen" +#: ../../include/nav.php:149 +msgid "Create an account" +msgstr "Maak een account aan" -#: ../../include/identity.php:1324 -msgid "Musical interests:" -msgstr "Muzikale interesses:" +#: ../../include/nav.php:154 ../../include/apps.php:142 +#: ../../mod/layouts.php:176 ../../mod/help.php:202 ../../mod/help.php:207 +msgid "Help" +msgstr "Hulp" -#: ../../include/identity.php:1326 -msgid "Books, literature:" -msgstr "Boeken, literatuur:" +#: ../../include/nav.php:154 +msgid "Help and documentation" +msgstr "Hulp en documentatie" -#: ../../include/identity.php:1328 -msgid "Television:" -msgstr "Televisie:" +#: ../../include/nav.php:157 +msgid "Applications, utilities, links, games" +msgstr "Apps" -#: ../../include/identity.php:1330 -msgid "Film/dance/culture/entertainment:" -msgstr "Films/dansen/cultuur/vermaak:" +#: ../../include/nav.php:159 ../../include/text.php:867 +#: ../../include/text.php:879 ../../include/apps.php:147 +#: ../../mod/search.php:40 +msgid "Search" +msgstr "Zoeken" -#: ../../include/identity.php:1332 -msgid "Love/Romance:" -msgstr "Liefde/romantiek:" +#: ../../include/nav.php:159 +msgid "Search site @name, #tag, ?docs, content" +msgstr "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie " -#: ../../include/identity.php:1334 -msgid "Work/employment:" -msgstr "Werk/beroep:" +#: ../../include/nav.php:162 ../../include/apps.php:141 +msgid "Directory" +msgstr "Kanalengids" -#: ../../include/identity.php:1336 -msgid "School/education:" -msgstr "School/opleiding:" +#: ../../include/nav.php:162 +msgid "Channel Directory" +msgstr "Kanalengids" -#: ../../include/identity.php:1356 -msgid "Like this thing" -msgstr "Vind dit ding leuk" +#: ../../include/nav.php:174 ../../include/apps.php:133 +msgid "Grid" +msgstr "Grid" -#: ../../include/taxonomy.php:238 ../../include/taxonomy.php:259 -msgid "Tags" -msgstr "Tags" +#: ../../include/nav.php:174 +msgid "Your grid" +msgstr "Jouw grid" -#: ../../include/taxonomy.php:303 -msgid "Keywords" -msgstr "Trefwoorden" +#: ../../include/nav.php:175 +msgid "Mark all grid notifications seen" +msgstr "Markeer alle gridnotificaties als bekeken" -#: ../../include/taxonomy.php:324 -msgid "have" -msgstr "heb" +#: ../../include/nav.php:177 ../../include/apps.php:137 +msgid "Channel Home" +msgstr "Tijdlijn kanaal" -#: ../../include/taxonomy.php:324 -msgid "has" -msgstr "heeft" +#: ../../include/nav.php:177 +msgid "Channel home" +msgstr "Tijdlijn kanaal" -#: ../../include/taxonomy.php:325 -msgid "want" -msgstr "wil" +#: ../../include/nav.php:178 +msgid "Mark all channel notifications seen" +msgstr "Alle kanaalnotificaties als gelezen markeren" -#: ../../include/taxonomy.php:325 -msgid "wants" -msgstr "wil" +#: ../../include/nav.php:181 ../../mod/connections.php:260 +msgid "Connections" +msgstr "Connecties" -#: ../../include/taxonomy.php:326 -msgid "likes" -msgstr "vindt dit leuk" +#: ../../include/nav.php:184 +msgid "Notices" +msgstr "Notificaties" -#: ../../include/taxonomy.php:327 -msgid "dislikes" -msgstr "vindt dit niet leuk" +#: ../../include/nav.php:184 +msgid "Notifications" +msgstr "Notificaties" -#: ../../include/attach.php:246 ../../include/attach.php:332 -msgid "Item was not found." -msgstr "Item niet gevonden" +#: ../../include/nav.php:185 +msgid "See all notifications" +msgstr "Alle notificaties weergeven" -#: ../../include/attach.php:496 -msgid "No source file." -msgstr "Geen bronbestand." +#: ../../include/nav.php:186 ../../mod/notifications.php:99 +msgid "Mark all system notifications seen" +msgstr "Markeer alle systeemnotificaties als bekeken" -#: ../../include/attach.php:514 -msgid "Cannot locate file to replace" -msgstr "Kan het te vervangen bestand niet vinden" +#: ../../include/nav.php:188 ../../include/apps.php:143 +msgid "Mail" +msgstr "Privéberichten" -#: ../../include/attach.php:532 -msgid "Cannot locate file to revise/update" -msgstr "Kan het bestand wat aangepast moet worden niet vinden" +#: ../../include/nav.php:188 +msgid "Private mail" +msgstr "Privéberichten" -#: ../../include/attach.php:667 -#, php-format -msgid "File exceeds size limit of %d" -msgstr "Bestand is groter dan de toegelaten %d" +#: ../../include/nav.php:189 +msgid "See all private messages" +msgstr "Alle privéberichten weergeven" -#: ../../include/attach.php:681 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." -msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt." +#: ../../include/nav.php:190 +msgid "Mark all private messages seen" +msgstr "Markeer alle privéberichten als bekeken" -#: ../../include/attach.php:837 -msgid "File upload failed. Possible system limit or action terminated." -msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken." +#: ../../include/nav.php:196 ../../include/apps.php:140 +msgid "Events" +msgstr "Agenda" -#: ../../include/attach.php:850 -msgid "Stored file could not be verified. Upload failed." -msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt." +#: ../../include/nav.php:196 +msgid "Event Calendar" +msgstr "Agenda" -#: ../../include/attach.php:898 ../../include/attach.php:914 -msgid "Path not available." -msgstr "Pad niet beschikbaar." +#: ../../include/nav.php:197 +msgid "See all events" +msgstr "Alle gebeurtenissen weergeven" -#: ../../include/attach.php:960 ../../include/attach.php:1112 -msgid "Empty pathname" -msgstr "Padnaam leeg" +#: ../../include/nav.php:198 +msgid "Mark all events seen" +msgstr "Markeer alle gebeurtenissen als bekeken" -#: ../../include/attach.php:986 -msgid "duplicate filename or path" -msgstr "dubbele bestandsnaam of pad" +#: ../../include/nav.php:200 ../../include/apps.php:132 +#: ../../mod/manage.php:160 +msgid "Channel Manager" +msgstr "Kanaalbeheer" -#: ../../include/attach.php:1008 -msgid "Path not found." -msgstr "Pad niet gevonden" +#: ../../include/nav.php:200 +msgid "Manage Your Channels" +msgstr "Beheer je kanalen" -#: ../../include/attach.php:1066 -msgid "mkdir failed." -msgstr "directory aanmaken (mkdir) mislukt." +#: ../../include/nav.php:202 +msgid "Account/Channel Settings" +msgstr "Account-/kanaal-instellingen" -#: ../../include/attach.php:1070 -msgid "database storage failed." -msgstr "opslag in database mislukt." +#: ../../include/nav.php:210 +msgid "Site Setup and Configuration" +msgstr "Hub instellen en beheren" -#: ../../include/attach.php:1118 -msgid "Empty path" -msgstr "Ontbrekend bestandspad" +#: ../../include/nav.php:246 +msgid "@name, #tag, ?doc, content" +msgstr "@kanaal, #tag, inhoud, ?hulp" -#: ../../include/bb2diaspora.php:382 -msgid "Attachments:" -msgstr "Bijlagen:" +#: ../../include/nav.php:247 +msgid "Please wait..." +msgstr "Wachten aub..." -#: ../../include/bb2diaspora.php:473 -msgid "$Projectname event notification:" -msgstr "Notificatie $Projectname-gebeurtenis:" +#: ../../include/security.php:381 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." +msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. " -#: ../../include/text.php:393 +#: ../../include/text.php:394 msgid "prev" msgstr "vorige" -#: ../../include/text.php:395 +#: ../../include/text.php:396 msgid "first" msgstr "eerste" -#: ../../include/text.php:424 +#: ../../include/text.php:425 msgid "last" msgstr "laatste" -#: ../../include/text.php:427 +#: ../../include/text.php:428 msgid "next" msgstr "volgende" -#: ../../include/text.php:437 +#: ../../include/text.php:438 msgid "older" msgstr "ouder" -#: ../../include/text.php:439 +#: ../../include/text.php:440 msgid "newer" msgstr "nieuwer" -#: ../../include/text.php:784 +#: ../../include/text.php:785 msgid "No connections" msgstr "Geen connecties" -#: ../../include/text.php:796 +#: ../../include/text.php:797 #, php-format msgid "%d Connection" msgid_plural "%d Connections" msgstr[0] "%d connectie" msgstr[1] "%d connecties" -#: ../../include/text.php:809 ../../mod/viewconnections.php:101 +#: ../../include/text.php:810 ../../mod/viewconnections.php:101 msgid "View Connections" msgstr "Connecties weergeven" -#: ../../include/text.php:953 +#: ../../include/text.php:954 msgid "poke" msgstr "aanstoten" -#: ../../include/text.php:954 +#: ../../include/text.php:955 msgid "ping" msgstr "ping" -#: ../../include/text.php:954 +#: ../../include/text.php:955 msgid "pinged" msgstr "gepingd" -#: ../../include/text.php:955 +#: ../../include/text.php:956 msgid "prod" msgstr "por" -#: ../../include/text.php:955 +#: ../../include/text.php:956 msgid "prodded" msgstr "gepord" -#: ../../include/text.php:956 +#: ../../include/text.php:957 msgid "slap" msgstr "slaan" -#: ../../include/text.php:956 +#: ../../include/text.php:957 msgid "slapped" msgstr "sloeg" -#: ../../include/text.php:957 +#: ../../include/text.php:958 msgid "finger" msgstr "finger" -#: ../../include/text.php:957 +#: ../../include/text.php:958 msgid "fingered" msgstr "gefingerd" -#: ../../include/text.php:958 +#: ../../include/text.php:959 msgid "rebuff" msgstr "afpoeieren" -#: ../../include/text.php:958 +#: ../../include/text.php:959 msgid "rebuffed" msgstr "afgepoeierd" -#: ../../include/text.php:968 +#: ../../include/text.php:969 msgid "happy" msgstr "gelukkig" -#: ../../include/text.php:969 +#: ../../include/text.php:970 msgid "sad" msgstr "bedroefd" -#: ../../include/text.php:970 +#: ../../include/text.php:971 msgid "mellow" msgstr "mellow" -#: ../../include/text.php:971 +#: ../../include/text.php:972 msgid "tired" msgstr "moe" -#: ../../include/text.php:972 +#: ../../include/text.php:973 msgid "perky" msgstr "parmantig" -#: ../../include/text.php:973 +#: ../../include/text.php:974 msgid "angry" msgstr "boos" -#: ../../include/text.php:974 +#: ../../include/text.php:975 msgid "stupified" msgstr "beteuterd" -#: ../../include/text.php:975 +#: ../../include/text.php:976 msgid "puzzled" msgstr "verward" -#: ../../include/text.php:976 +#: ../../include/text.php:977 msgid "interested" msgstr "geïnteresseerd" -#: ../../include/text.php:977 +#: ../../include/text.php:978 msgid "bitter" msgstr "verbitterd" -#: ../../include/text.php:978 +#: ../../include/text.php:979 msgid "cheerful" msgstr "vrolijk" -#: ../../include/text.php:979 +#: ../../include/text.php:980 msgid "alive" msgstr "levendig" -#: ../../include/text.php:980 +#: ../../include/text.php:981 msgid "annoyed" msgstr "geërgerd" -#: ../../include/text.php:981 +#: ../../include/text.php:982 msgid "anxious" msgstr "bezorgd" -#: ../../include/text.php:982 +#: ../../include/text.php:983 msgid "cranky" msgstr "humeurig" -#: ../../include/text.php:983 +#: ../../include/text.php:984 msgid "disturbed" msgstr "verontrust" -#: ../../include/text.php:984 +#: ../../include/text.php:985 msgid "frustrated" msgstr "gefrustreerd " -#: ../../include/text.php:985 +#: ../../include/text.php:986 msgid "depressed" msgstr "gedeprimeerd" -#: ../../include/text.php:986 +#: ../../include/text.php:987 msgid "motivated" msgstr "gemotiveerd" -#: ../../include/text.php:987 +#: ../../include/text.php:988 msgid "relaxed" msgstr "ontspannen" -#: ../../include/text.php:988 +#: ../../include/text.php:989 msgid "surprised" msgstr "verrast" -#: ../../include/text.php:1164 +#: ../../include/text.php:1165 msgid "May" msgstr "mei" -#: ../../include/text.php:1241 ../../include/text.php:1245 +#: ../../include/text.php:1242 ../../include/text.php:1246 msgid "Unknown Attachment" msgstr "Onbekende bijlage" -#: ../../include/text.php:1247 +#: ../../include/text.php:1248 msgid "unknown" msgstr "onbekend" -#: ../../include/text.php:1283 +#: ../../include/text.php:1284 msgid "remove category" msgstr "categorie verwijderen" -#: ../../include/text.php:1360 +#: ../../include/text.php:1361 msgid "remove from file" msgstr "uit map verwijderen" -#: ../../include/text.php:1472 ../../include/text.php:1483 +#: ../../include/text.php:1507 ../../include/text.php:1518 msgid "Click to open/close" msgstr "Klik om te openen of te sluiten" -#: ../../include/text.php:1656 ../../mod/events.php:495 +#: ../../include/text.php:1692 ../../mod/events.php:623 msgid "Link to Source" msgstr "Originele locatie" -#: ../../include/text.php:1677 ../../include/text.php:1749 +#: ../../include/text.php:1713 ../../include/text.php:1785 msgid "default" msgstr "standaard" -#: ../../include/text.php:1685 +#: ../../include/text.php:1721 msgid "Page layout" msgstr "Pagina-lay-out" -#: ../../include/text.php:1685 +#: ../../include/text.php:1721 msgid "You can create your own with the layouts tool" msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs" -#: ../../include/text.php:1727 +#: ../../include/text.php:1763 msgid "Page content type" msgstr "Opmaaktype pagina" -#: ../../include/text.php:1761 +#: ../../include/text.php:1797 msgid "Select an alternate language" msgstr "Kies een andere taal" -#: ../../include/text.php:1893 +#: ../../include/text.php:1929 msgid "activity" msgstr "activiteit" -#: ../../include/text.php:2188 +#: ../../include/text.php:2224 msgid "Design Tools" msgstr "Ontwerp-hulpmiddelen" -#: ../../include/text.php:2191 ../../mod/blocks.php:147 +#: ../../include/text.php:2227 ../../mod/blocks.php:147 msgid "Blocks" msgstr "Blokken" -#: ../../include/text.php:2192 ../../mod/menu.php:103 +#: ../../include/text.php:2228 ../../mod/menu.php:103 msgid "Menus" msgstr "Menu's" -#: ../../include/text.php:2193 ../../mod/layouts.php:174 +#: ../../include/text.php:2229 ../../mod/layouts.php:174 msgid "Layouts" msgstr "Lay-outs" -#: ../../include/text.php:2194 +#: ../../include/text.php:2230 msgid "Pages" msgstr "Pagina's" -#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485 -msgid "Logout" -msgstr "Uitloggen" +#: ../../include/dir_fns.php:139 +msgid "Directory Options" +msgstr "Opties kanalengids" -#: ../../include/nav.php:82 ../../include/nav.php:114 -msgid "End this session" -msgstr "Beëindig deze sessie" +#: ../../include/dir_fns.php:141 +msgid "Safe Mode" +msgstr "Veilig zoeken" -#: ../../include/nav.php:85 ../../include/nav.php:145 -msgid "Home" -msgstr "Home" +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/connedit.php:635 ../../mod/connedit.php:684 ../../mod/api.php:106 +#: ../../mod/photos.php:626 ../../mod/admin.php:410 ../../mod/settings.php:577 +#: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/events.php:447 +#: ../../mod/events.php:448 ../../mod/events.php:457 ../../mod/mitem.php:154 +#: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229 +#: ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1485 +msgid "No" +msgstr "Nee" -#: ../../include/nav.php:85 -msgid "Your posts and conversations" -msgstr "Jouw berichten en conversaties" +#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 +#: ../../include/dir_fns.php:143 ../../mod/filestorage.php:151 +#: ../../mod/filestorage.php:159 ../../mod/removeme.php:60 +#: ../../mod/api.php:105 ../../mod/photos.php:626 ../../mod/admin.php:412 +#: ../../mod/settings.php:577 ../../mod/menu.php:96 ../../mod/menu.php:153 +#: ../../mod/events.php:447 ../../mod/events.php:448 ../../mod/events.php:457 +#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 +#: ../../mod/mitem.php:229 ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1485 +msgid "Yes" +msgstr "Ja" -#: ../../include/nav.php:86 -msgid "Your profile page" -msgstr "Jouw profielpagina" +#: ../../include/dir_fns.php:142 +msgid "Public Forums Only" +msgstr "Alleen openbare forums" -#: ../../include/nav.php:88 -msgid "Edit Profiles" -msgstr "Bewerk profielen" +#: ../../include/dir_fns.php:143 +msgid "This Website Only" +msgstr "Alleen deze hub" -#: ../../include/nav.php:88 -msgid "Manage/Edit profiles" -msgstr "Beheer/wijzig profielen" +#: ../../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 "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken." -#: ../../include/nav.php:90 -msgid "Edit your profile" -msgstr "Jouw profiel bewerken" +#: ../../include/group.php:232 +msgid "Add new connections to this collection (privacy group)" +msgstr "Voeg nieuwe connecties aan deze collectie toe (privacy-groep)" -#: ../../include/nav.php:92 -msgid "Your photos" -msgstr "Jouw foto's" +#: ../../include/group.php:251 ../../mod/admin.php:814 +msgid "All Channels" +msgstr "Alle kanalen" -#: ../../include/nav.php:93 -msgid "Your files" -msgstr "Jouw bestanden" +#: ../../include/group.php:273 +msgid "edit" +msgstr "bewerken" -#: ../../include/nav.php:97 -msgid "Your chatrooms" -msgstr "Jouw chatkanalen" +#: ../../include/group.php:295 +msgid "Collections" +msgstr "Collecties" -#: ../../include/nav.php:103 -msgid "Your bookmarks" -msgstr "Jouw bladwijzers" +#: ../../include/group.php:296 +msgid "Edit collection" +msgstr "Collectie bewerken" -#: ../../include/nav.php:107 -msgid "Your webpages" -msgstr "Jouw webpagina's" +#: ../../include/group.php:297 +msgid "Add new collection" +msgstr "Nieuwe collectie toevoegen" -#: ../../include/nav.php:111 -msgid "Sign in" -msgstr "Inloggen" +#: ../../include/group.php:298 +msgid "Channels not in any collection" +msgstr "Kanalen die zich in geen enkele collectie bevinden" -#: ../../include/nav.php:128 +#: ../../include/zot.php:675 +msgid "Invalid data packet" +msgstr "Datapakket ongeldig" + +#: ../../include/zot.php:691 +msgid "Unable to verify channel signature" +msgstr "Kanaalkenmerk kon niet worden geverifieerd. " + +#: ../../include/zot.php:2259 #, php-format -msgid "%s - click to logout" -msgstr "%s - klik om uit te loggen" +msgid "Unable to verify site signature for %s" +msgstr "Hubkenmerk voor %s kon niet worden geverifieerd" -#: ../../include/nav.php:131 -msgid "Remote authentication" -msgstr "Authenticatie op afstand" +#: ../../include/zot.php:3586 +msgid "invalid target signature" +msgstr "ongeldig doelkenmerk" -#: ../../include/nav.php:131 -msgid "Click to authenticate to your home hub" -msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub" +#: ../../include/page_widgets.php:6 +msgid "New Page" +msgstr "Nieuwe pagina" -#: ../../include/nav.php:145 -msgid "Home Page" -msgstr "Homepage" +#: ../../include/page_widgets.php:39 ../../mod/blocks.php:159 +#: ../../mod/webpages.php:187 ../../mod/layouts.php:188 +msgid "View" +msgstr "Weergeven" -#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462 -msgid "Register" -msgstr "Registreren" +#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189 +msgid "Actions" +msgstr "Acties" -#: ../../include/nav.php:149 -msgid "Create an account" -msgstr "Maak een account aan" +#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190 +msgid "Page Link" +msgstr "Paginalink" -#: ../../include/nav.php:154 -msgid "Help and documentation" -msgstr "Hulp en documentatie" +#: ../../include/page_widgets.php:43 +msgid "Title" +msgstr "Titel" -#: ../../include/nav.php:157 -msgid "Applications, utilities, links, games" -msgstr "Apps" +#: ../../include/page_widgets.php:44 ../../mod/blocks.php:150 +#: ../../mod/webpages.php:192 ../../mod/layouts.php:181 ../../mod/menu.php:110 +msgid "Created" +msgstr "Aangemaakt" -#: ../../include/nav.php:159 -msgid "Search site @name, #tag, ?docs, content" -msgstr "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie " +#: ../../include/page_widgets.php:45 ../../mod/blocks.php:151 +#: ../../mod/webpages.php:193 ../../mod/layouts.php:182 ../../mod/menu.php:111 +msgid "Edited" +msgstr "Bewerkt" -#: ../../include/nav.php:162 -msgid "Channel Directory" -msgstr "Kanalengids" +#: ../../include/dba/dba_driver.php:141 +#, php-format +msgid "Cannot locate DNS info for database server '%s'" +msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden" -#: ../../include/nav.php:174 -msgid "Your grid" -msgstr "Jouw grid" +#: ../../include/photos.php:112 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" +msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes" -#: ../../include/nav.php:175 -msgid "Mark all grid notifications seen" -msgstr "Markeer alle gridnotificaties als bekeken" +#: ../../include/photos.php:119 +msgid "Image file is empty." +msgstr "Afbeeldingsbestand is leeg" -#: ../../include/nav.php:177 -msgid "Channel home" -msgstr "Tijdlijn kanaal" +#: ../../include/photos.php:146 ../../mod/profile_photo.php:225 +msgid "Unable to process image" +msgstr "Afbeelding kan niet verwerkt worden" -#: ../../include/nav.php:178 -msgid "Mark all channel notifications seen" -msgstr "Alle kanaalnotificaties als gelezen markeren" +#: ../../include/photos.php:257 +msgid "Photo storage failed." +msgstr "Foto kan niet worden opgeslagen" -#: ../../include/nav.php:181 ../../mod/connections.php:260 -msgid "Connections" -msgstr "Connecties" +#: ../../include/photos.php:487 +msgid "Upload New Photos" +msgstr "Nieuwe foto's uploaden" -#: ../../include/nav.php:184 -msgid "Notices" -msgstr "Notificaties" +#: ../../include/ItemObject.php:130 +msgid "Save to Folder" +msgstr "In map opslaan" -#: ../../include/nav.php:184 -msgid "Notifications" -msgstr "Notificaties" +#: ../../include/ItemObject.php:151 +msgid "I will attend" +msgstr "Aanwezig" -#: ../../include/nav.php:185 -msgid "See all notifications" -msgstr "Alle notificaties weergeven" +#: ../../include/ItemObject.php:151 +msgid "I will not attend" +msgstr "Niet aanwezig" -#: ../../include/nav.php:186 ../../mod/notifications.php:99 -msgid "Mark all system notifications seen" -msgstr "Markeer alle systeemnotificaties als bekeken" +#: ../../include/ItemObject.php:151 +msgid "I might attend" +msgstr "Mogelijk aanwezig" -#: ../../include/nav.php:188 -msgid "Private mail" -msgstr "Privéberichten" +#: ../../include/ItemObject.php:161 +msgid "I agree" +msgstr "Eens" -#: ../../include/nav.php:189 -msgid "See all private messages" -msgstr "Alle privéberichten weergeven" +#: ../../include/ItemObject.php:161 +msgid "I disagree" +msgstr "Oneens" -#: ../../include/nav.php:190 -msgid "Mark all private messages seen" -msgstr "Markeer alle privéberichten als bekeken" +#: ../../include/ItemObject.php:161 +msgid "I abstain" +msgstr "Onthouding" -#: ../../include/nav.php:196 -msgid "Event Calendar" -msgstr "Agenda" +#: ../../include/ItemObject.php:212 +msgid "Add Star" +msgstr "Ster toevoegen" -#: ../../include/nav.php:197 -msgid "See all events" -msgstr "Alle gebeurtenissen weergeven" +#: ../../include/ItemObject.php:213 +msgid "Remove Star" +msgstr "Ster verwijderen" -#: ../../include/nav.php:198 -msgid "Mark all events seen" -msgstr "Markeer alle gebeurtenissen als bekeken" +#: ../../include/ItemObject.php:214 +msgid "Toggle Star Status" +msgstr "Ster toevoegen of verwijderen" -#: ../../include/nav.php:200 -msgid "Manage Your Channels" -msgstr "Beheer je kanalen" +#: ../../include/ItemObject.php:218 +msgid "starred" +msgstr "met ster" -#: ../../include/nav.php:202 -msgid "Account/Channel Settings" -msgstr "Account-/kanaal-instellingen" +#: ../../include/ItemObject.php:236 +msgid "Add Tag" +msgstr "Tag toevoegen" -#: ../../include/nav.php:210 -msgid "Site Setup and Configuration" -msgstr "Hub instellen en beheren" +#: ../../include/ItemObject.php:254 ../../mod/photos.php:1026 +msgid "I like this (toggle)" +msgstr "Vind ik leuk" -#: ../../include/nav.php:246 -msgid "@name, #tag, ?doc, content" -msgstr "@kanaal, #tag, inhoud, ?hulp" +#: ../../include/ItemObject.php:255 ../../mod/photos.php:1027 +msgid "I don't like this (toggle)" +msgstr "Vind ik niet leuk" -#: ../../include/nav.php:247 -msgid "Please wait..." -msgstr "Wachten aub..." +#: ../../include/ItemObject.php:259 +msgid "Share This" +msgstr "Delen" -#: ../../include/dir_fns.php:139 -msgid "Directory Options" -msgstr "Opties kanalengids" +#: ../../include/ItemObject.php:259 +msgid "share" +msgstr "delen" -#: ../../include/dir_fns.php:141 -msgid "Safe Mode" -msgstr "Veilig zoeken" +#: ../../include/ItemObject.php:268 +msgid "Delivery Report" +msgstr "Afleveringsrapport" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/connedit.php:635 -#: ../../mod/connedit.php:684 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:410 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:106 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "No" -msgstr "Nee" +#: ../../include/ItemObject.php:286 +#, php-format +msgid "%d comment" +msgid_plural "%d comments" +msgstr[0] "%d reactie" +msgstr[1] "%d reacties weergeven" -#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142 -#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60 -#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228 -#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151 -#: ../../mod/filestorage.php:159 ../../mod/photos.php:626 -#: ../../mod/admin.php:412 ../../mod/menu.php:96 ../../mod/menu.php:153 -#: ../../mod/settings.php:575 ../../mod/api.php:105 -#: ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490 -msgid "Yes" -msgstr "Ja" +#: ../../include/ItemObject.php:315 ../../include/ItemObject.php:316 +#, php-format +msgid "View %s's profile - %s" +msgstr "Profiel van %s bekijken - %s" -#: ../../include/dir_fns.php:142 -msgid "Public Forums Only" -msgstr "Alleen openbare forums" +#: ../../include/ItemObject.php:319 +msgid "to" +msgstr "aan" -#: ../../include/dir_fns.php:143 -msgid "This Website Only" -msgstr "Alleen deze hub" +#: ../../include/ItemObject.php:320 +msgid "via" +msgstr "via" -#: ../../mod/achievements.php:34 -msgid "Some blurb about what to do when you're new here" -msgstr "Welkom op $Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van $Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met $Projectname klik je op het vraagteken." +#: ../../include/ItemObject.php:321 +msgid "Wall-to-Wall" +msgstr "Kanaal-naar-kanaal" -#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 -msgid "Contact not found." -msgstr "Contact niet gevonden" +#: ../../include/ItemObject.php:322 +msgid "via Wall-To-Wall:" +msgstr "via kanaal-naar-kanaal" -#: ../../mod/fsuggest.php:63 -msgid "Friend suggestion sent." -msgstr "Kanaalvoorstel verzonden." +#: ../../include/ItemObject.php:362 +msgid "Save Bookmarks" +msgstr "Bladwijzers opslaan" -#: ../../mod/fsuggest.php:97 -msgid "Suggest Friends" -msgstr "Kanalen voorstellen" +#: ../../include/ItemObject.php:363 +msgid "Add to Calendar" +msgstr "Aan agenda toevoegen" -#: ../../mod/fsuggest.php:99 +#: ../../include/ItemObject.php:372 +msgid "Mark all seen" +msgstr "Markeer alles als bekeken" + +#: ../../include/ItemObject.php:378 ../../mod/photos.php:1212 +msgctxt "noun" +msgid "Likes" +msgstr "vinden dit leuk" + +#: ../../include/ItemObject.php:379 ../../mod/photos.php:1213 +msgctxt "noun" +msgid "Dislikes" +msgstr "vinden dit niet leuk" + +#: ../../include/ItemObject.php:694 ../../mod/photos.php:1045 +#: ../../mod/photos.php:1163 +msgid "This is you" +msgstr "Dit ben jij" + +#: ../../include/ItemObject.php:703 +msgid "Image" +msgstr "Afbeelding" + +#: ../../include/ItemObject.php:704 +msgid "Insert Link" +msgstr "Link invoegen" + +#: ../../include/ItemObject.php:705 +msgid "Video" +msgstr "Video" + +#: ../../include/account.php:27 +msgid "Not a valid email address" +msgstr "Geen geldig e-mailadres" + +#: ../../include/account.php:29 +msgid "Your email domain is not among those allowed on this site" +msgstr "Jouw e-maildomein is op deze hub niet toegestaan" + +#: ../../include/account.php:35 +msgid "Your email address is already registered at this site." +msgstr "Jouw e-mailadres is al op deze hub geregistreerd." + +#: ../../include/account.php:67 +msgid "An invitation is required." +msgstr "Een uitnodiging is vereist" + +#: ../../include/account.php:71 +msgid "Invitation could not be verified." +msgstr "Uitnodiging kon niet geverifieerd worden" + +#: ../../include/account.php:121 +msgid "Please enter the required information." +msgstr "Vul de vereiste informatie in." + +#: ../../include/account.php:188 +msgid "Failed to store account information." +msgstr "Account-informatie kon niet opgeslagen worden." + +#: ../../include/account.php:248 #, php-format -msgid "Suggest a friend for %s" -msgstr "Stel een kanaal voor aan %s" +msgid "Registration confirmation for %s" +msgstr "Registratiebevestiging voor %s" -#: ../../mod/directory.php:59 ../../mod/display.php:13 ../../mod/search.php:13 -#: ../../mod/photos.php:490 ../../mod/ratings.php:82 -#: ../../mod/viewconnections.php:17 -msgid "Public access denied." -msgstr "Openbare toegang geweigerd." +#: ../../include/account.php:314 +#, php-format +msgid "Registration request at %s" +msgstr "Registratiebevestiging voor %s" -#: ../../mod/directory.php:236 +#: ../../include/account.php:338 +msgid "your registration password" +msgstr "jouw registratiewachtwoord" + +#: ../../include/account.php:341 ../../include/account.php:401 #, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "%d beoordeling" -msgstr[1] "%d beoordelingen" +msgid "Registration details for %s" +msgstr "Registratiegegevens voor %s" -#: ../../mod/directory.php:247 -msgid "Gender: " -msgstr "Geslacht:" +#: ../../include/account.php:410 +msgid "Account approved." +msgstr "Account goedgekeurd" -#: ../../mod/directory.php:249 -msgid "Status: " -msgstr "Status: " +#: ../../include/account.php:449 +#, php-format +msgid "Registration revoked for %s" +msgstr "Registratie ingetrokken voor %s" -#: ../../mod/directory.php:251 -msgid "Homepage: " -msgstr "Homepage: " +#: ../../include/account.php:494 +msgid "Account verified. Please login." +msgstr "Account is geverifieerd. Je kan inloggen." -#: ../../mod/directory.php:310 ../../mod/events.php:699 -msgid "Description:" -msgstr "Omschrijving:" +#: ../../include/account.php:707 ../../include/account.php:709 +msgid "Click here to upgrade." +msgstr "Klik hier om te upgraden." -#: ../../mod/directory.php:319 -msgid "Public Forum:" -msgstr "Openbaar forum:" +#: ../../include/account.php:715 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden." -#: ../../mod/directory.php:322 -msgid "Keywords: " -msgstr "Trefwoorden: " +#: ../../include/account.php:720 +msgid "This action is not available under your subscription plan." +msgstr "Deze handeling is niet mogelijk met jouw abonnement." -#: ../../mod/directory.php:325 -msgid "Don't suggest" -msgstr "Niet voorstellen" +#: ../../include/apps.php:128 +msgid "Site Admin" +msgstr "Hubbeheerder" -#: ../../mod/directory.php:327 -msgid "Common connections:" -msgstr "Gemeenschappelijke connecties:" +#: ../../include/apps.php:130 +msgid "Address Book" +msgstr "Connecties" -#: ../../mod/directory.php:376 -msgid "Global Directory" -msgstr "Volledige kanalengids" +#: ../../include/apps.php:144 ../../mod/mood.php:131 +msgid "Mood" +msgstr "Stemming" -#: ../../mod/directory.php:376 -msgid "Local Directory" -msgstr "Lokale kanalengids" +#: ../../include/apps.php:148 +msgid "Probe" +msgstr "Onderzoeken" -#: ../../mod/directory.php:382 -msgid "Finding:" -msgstr "Gezocht naar:" +#: ../../include/apps.php:149 +msgid "Suggest" +msgstr "Voorstellen" -#: ../../mod/directory.php:387 -msgid "next page" -msgstr "volgende pagina" +#: ../../include/apps.php:150 +msgid "Random Channel" +msgstr "Willekeurig kanaal" -#: ../../mod/directory.php:387 -msgid "previous page" -msgstr "vorige pagina" +#: ../../include/apps.php:151 +msgid "Invite" +msgstr "Uitnodigen " -#: ../../mod/directory.php:388 -msgid "Sort options" -msgstr "Sorteeropties" +#: ../../include/apps.php:152 +msgid "Features" +msgstr "Extra functies" -#: ../../mod/directory.php:389 -msgid "Alphabetic" -msgstr "Alfabetisch" +#: ../../include/apps.php:153 ../../mod/id.php:28 +msgid "Language" +msgstr "Taal" -#: ../../mod/directory.php:390 -msgid "Reverse Alphabetic" -msgstr "Omgekeerd alfabetisch" +#: ../../include/apps.php:154 +msgid "Post" +msgstr "Bericht" -#: ../../mod/directory.php:391 -msgid "Newest to Oldest" -msgstr "Nieuw naar oud" +#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18 +#: ../../mod/id.php:19 +msgid "Profile Photo" +msgstr "Profielfoto" -#: ../../mod/directory.php:392 -msgid "Oldest to Newest" -msgstr "Oud naar nieuw" +#: ../../include/apps.php:252 ../../mod/settings.php:84 +#: ../../mod/settings.php:612 +msgid "Update" +msgstr "Bijwerken" -#: ../../mod/directory.php:409 -msgid "No entries (some entries may be hidden)." -msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)." +#: ../../include/apps.php:252 +msgid "Install" +msgstr "Installeren" -#: ../../mod/bookmarks.php:40 -msgid "Bookmark added" -msgstr "Bladwijzer toegevoegd" +#: ../../include/apps.php:257 +msgid "Purchase" +msgstr "Aanschaffen" -#: ../../mod/bookmarks.php:62 -msgid "My Bookmarks" -msgstr "Mijn bladwijzers" +#: ../../include/permissions.php:26 +msgid "Can view my normal stream and posts" +msgstr "Kan mijn normale kanaalstream en berichten bekijken" -#: ../../mod/bookmarks.php:73 -msgid "My Connections Bookmarks" -msgstr "Bladwijzers van mijn connecties" +#: ../../include/permissions.php:27 +msgid "Can view my default channel profile" +msgstr "Kan mijn standaard kanaalprofiel bekijken" + +#: ../../include/permissions.php:28 +msgid "Can view my connections" +msgstr "Kan een lijst met mijn connecties bekijken" + +#: ../../include/permissions.php:29 +msgid "Can view my file storage and photos" +msgstr "Kan mijn foto's en andere bestanden bekijken" + +#: ../../include/permissions.php:30 +msgid "Can view my webpages" +msgstr "Kan mijn pagina's bekijken" + +#: ../../include/permissions.php:33 +msgid "Can send me their channel stream and posts" +msgstr "Kan mij de inhoud van hun kanaal en berichten sturen" + +#: ../../include/permissions.php:34 +msgid "Can post on my channel page (\"wall\")" +msgstr "Kan een bericht in mijn kanaal plaatsen" + +#: ../../include/permissions.php:35 +msgid "Can comment on or like my posts" +msgstr "Kan op mijn berichten reageren of deze (niet) leuk vinden" + +#: ../../include/permissions.php:36 +msgid "Can send me private mail messages" +msgstr "Kan mij privéberichten sturen" + +#: ../../include/permissions.php:37 +msgid "Can like/dislike stuff" +msgstr "Kan dingen leuk of niet leuk vinden" + +#: ../../include/permissions.php:37 +msgid "Profiles and things other than posts/comments" +msgstr "Profielen en dingen, buiten berichten en reacties" + +#: ../../include/permissions.php:39 +msgid "Can forward to all my channel contacts via post @mentions" +msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+" + +#: ../../include/permissions.php:39 +msgid "Advanced - useful for creating group forum channels" +msgstr "Geavanceerd - nuttig voor groepforums" + +#: ../../include/permissions.php:40 +msgid "Can chat with me (when available)" +msgstr "Kan met mij chatten (wanneer beschikbaar)" + +#: ../../include/permissions.php:41 +msgid "Can write to my file storage and photos" +msgstr "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen" + +#: ../../include/permissions.php:42 +msgid "Can edit my webpages" +msgstr "Kan mijn pagina's bewerken" + +#: ../../include/permissions.php:44 +msgid "Can source my public posts in derived channels" +msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken" + +#: ../../include/permissions.php:44 +msgid "Somewhat advanced - very useful in open communities" +msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)" + +#: ../../include/permissions.php:46 +msgid "Can administer my channel resources" +msgstr "Kan mijn kanaal beheren" + +#: ../../include/permissions.php:46 +msgid "" +"Extremely advanced. Leave this alone unless you know what you are doing" +msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet." + +#: ../../include/permissions.php:867 +msgid "Social Networking" +msgstr "Sociaal netwerk" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Mostly Public" +msgstr "Vrijwel alles openbaar" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +#: ../../include/permissions.php:869 +msgid "Restricted" +msgstr "Beperkt zichtbaar" + +#: ../../include/permissions.php:867 ../../include/permissions.php:868 +msgid "Private" +msgstr "Verborgen kanaal" + +#: ../../include/permissions.php:868 +msgid "Community Forum" +msgstr "Groepsforum" + +#: ../../include/permissions.php:869 +msgid "Feed Republish" +msgstr "Feed herpubliceren" + +#: ../../include/permissions.php:870 +msgid "Special Purpose" +msgstr "Speciaal doel" + +#: ../../include/permissions.php:870 +msgid "Celebrity/Soapbox" +msgstr "Beroemdheid/alleen volgen" + +#: ../../include/permissions.php:870 +msgid "Group Repository" +msgstr "Groepsopslag" + +#: ../../include/permissions.php:871 +msgid "Custom/Expert Mode" +msgstr "Expertmodus/handmatig aanpassen" + +#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94 +#: ../../mod/photos.php:699 ../../mod/profile_photo.php:147 +#: ../../mod/profile_photo.php:239 ../../mod/profile_photo.php:379 +msgid "Profile Photos" +msgstr "Profielfoto's" + +#: ../../mod/filestorage.php:82 +msgid "Permission Denied." +msgstr "Toegang geweigerd" + +#: ../../mod/filestorage.php:98 +msgid "File not found." +msgstr "Bestand niet gevonden." + +#: ../../mod/filestorage.php:141 +msgid "Edit file permissions" +msgstr "Bestandsrechten bewerken" + +#: ../../mod/filestorage.php:150 +msgid "Set/edit permissions" +msgstr "Rechten instellen/bewerken" + +#: ../../mod/filestorage.php:151 +msgid "Include all files and sub folders" +msgstr "Toepassen op alle bestanden en submappen" + +#: ../../mod/filestorage.php:152 +msgid "Return to file list" +msgstr "Terugkeren naar bestandlijst " + +#: ../../mod/filestorage.php:154 +msgid "Copy/paste this code to attach file to a post" +msgstr "Kopieer/plak deze code om het bestand aan een bericht te koppelen" + +#: ../../mod/filestorage.php:155 +msgid "Copy/paste this URL to link file from a web page" +msgstr "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen" + +#: ../../mod/filestorage.php:157 +msgid "Share this file" +msgstr "Dit bestand delen" + +#: ../../mod/filestorage.php:158 +msgid "Show URL to this file" +msgstr "Toon URL van dit bestand" + +#: ../../mod/filestorage.php:159 +msgid "Notify your contacts about this file" +msgstr "Jouw connecties over dit bestand berichten" + +#: ../../mod/group.php:20 +msgid "Collection created." +msgstr "Collectie aangemaakt" + +#: ../../mod/group.php:26 +msgid "Could not create collection." +msgstr "Collectie kon niet aangemaakt worden" + +#: ../../mod/group.php:54 +msgid "Collection updated." +msgstr "Collectie bijgewerkt." + +#: ../../mod/group.php:86 +msgid "Create a collection of channels." +msgstr "Kanaalcollectie aanmaken" + +#: ../../mod/group.php:87 ../../mod/group.php:180 +msgid "Collection Name: " +msgstr "Naam collectie:" + +#: ../../mod/group.php:89 ../../mod/group.php:183 +msgid "Members are visible to other channels" +msgstr "Kanalen in deze collectie zijn zichtbaar voor andere kanalen" + +#: ../../mod/group.php:107 +msgid "Collection removed." +msgstr "Collectie verwijderd" + +#: ../../mod/group.php:109 +msgid "Unable to remove collection." +msgstr "Verwijderen collectie mislukt" + +#: ../../mod/group.php:179 +msgid "Collection Editor" +msgstr "Collectiebewerker" + +#: ../../mod/group.php:193 +msgid "Members" +msgstr "Kanalen" + +#: ../../mod/group.php:195 +msgid "All Connected Channels" +msgstr "Alle kanaalconnecties" + +#: ../../mod/group.php:227 +msgid "Click on a channel to add or remove." +msgstr "Klik op een kanaal om deze toe te voegen of te verwijderen." + +#: ../../mod/item.php:173 +msgid "Unable to locate original post." +msgstr "Niet in staat om de originele locatie van het bericht te vinden. " + +#: ../../mod/item.php:417 +msgid "Empty post discarded." +msgstr "Leeg bericht geannuleerd" + +#: ../../mod/item.php:457 +msgid "Executable content type not permitted to this channel." +msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal." + +#: ../../mod/item.php:822 +msgid "Duplicate post suppressed." +msgstr "Dubbel bericht tegengehouden." + +#: ../../mod/item.php:953 +msgid "System error. Post not saved." +msgstr "Systeemfout. Bericht niet opgeslagen." + +#: ../../mod/item.php:1220 +msgid "Unable to obtain post information from database." +msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen." + +#: ../../mod/item.php:1227 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt." + +#: ../../mod/item.php:1234 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." +msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt." + +#: ../../mod/common.php:10 +msgid "No channel." +msgstr "Geen kanaal." + +#: ../../mod/common.php:39 +msgid "Common connections" +msgstr "Veel voorkomende connecties" + +#: ../../mod/common.php:44 +msgid "No connections in common." +msgstr "Geen gemeenschappelijke connecties." + +#: ../../mod/connect.php:56 ../../mod/connect.php:104 +msgid "Continue" +msgstr "Ga verder" + +#: ../../mod/connect.php:85 +msgid "Premium Channel Setup" +msgstr "Instellen premiumkanaal " + +#: ../../mod/connect.php:87 +msgid "Enable premium channel connection restrictions" +msgstr "Restricties voor connecties van premiumkanaal toestaan" + +#: ../../mod/connect.php:88 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." +msgstr "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz." + +#: ../../mod/connect.php:90 ../../mod/connect.php:110 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" +msgstr "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:" + +#: ../../mod/connect.php:91 +msgid "" +"Potential connections will then see the following text before proceeding:" +msgstr "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:" + +#: ../../mod/connect.php:92 ../../mod/connect.php:113 +msgid "" +"By continuing, I certify that I have complied with any instructions provided" +" on this page." +msgstr "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina." + +#: ../../mod/connect.php:101 +msgid "(No specific instructions have been provided by the channel owner.)" +msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) " + +#: ../../mod/connect.php:109 +msgid "Restricted or Premium Channel" +msgstr "Beperkt of premiumkanaal" + +#: ../../mod/match.php:22 +msgid "Profile Match" +msgstr "Profielovereenkomst" + +#: ../../mod/match.php:31 +msgid "No keywords to match. Please add keywords to your default profile." +msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe." + +#: ../../mod/match.php:63 +msgid "is interested in:" +msgstr "is geïnteresseerd in:" + +#: ../../mod/match.php:70 +msgid "No matches" +msgstr "Geen overeenkomsten" #: ../../mod/openid.php:26 msgid "OpenID protocol error. No ID returned." @@ -4330,18 +4427,92 @@ msgstr "OpenID-protocolfout. Geen ID terugontvangen." msgid "Welcome %s. Remote authentication successful." msgstr "Welkom %s. Authenticatie op afstand geslaagd." -#: ../../mod/block.php:27 ../../mod/page.php:36 -msgid "Invalid item." -msgstr "Ongeldig item." +#: ../../mod/achievements.php:34 +msgid "Some blurb about what to do when you're new here" +msgstr "Welkom op $Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van $Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met $Projectname klik je op het vraagteken." -#: ../../mod/block.php:39 ../../mod/page.php:52 ../../mod/wall_upload.php:29 -msgid "Channel not found." -msgstr "Kanaal niet gevonden." +#: ../../mod/chatsvc.php:111 +msgid "Away" +msgstr "Afwezig" -#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:214 -#: ../../mod/page.php:89 ../../index.php:237 -msgid "Page not found." -msgstr "Pagina niet gevonden." +#: ../../mod/chatsvc.php:115 +msgid "Online" +msgstr "Online" + +#: ../../mod/pubsites.php:18 +msgid "Public Sites" +msgstr "Openbare hubs" + +#: ../../mod/pubsites.php:21 +msgid "" +"The listed sites allow public registration for the $Projectname network. All" +" sites in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some sites may require subscription or" +" provide tiered service plans. The provider links <strong>may</strong> " +"provide additional details." +msgstr "Op de hier weergegeven hubs kan iedereen zich voor het $Projectname-netwerk aanmelden. Alle hubs in het $Projectname-netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen betaalde abonnementen voor uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven." + +#: ../../mod/pubsites.php:27 +msgid "Rate this hub" +msgstr "Beoordeel deze hub" + +#: ../../mod/pubsites.php:28 +msgid "Site URL" +msgstr "URL hub" + +#: ../../mod/pubsites.php:28 +msgid "Access Type" +msgstr "Toegangstype" + +#: ../../mod/pubsites.php:28 +msgid "Registration Policy" +msgstr "Registratiebeleid" + +#: ../../mod/pubsites.php:28 +msgid "Project" +msgstr "Project" + +#: ../../mod/pubsites.php:28 +msgid "View hub ratings" +msgstr "Bekijk hubbeoordelingen" + +#: ../../mod/pubsites.php:32 +msgid "Rate" +msgstr "Beoordeel" + +#: ../../mod/pubsites.php:33 +msgid "View ratings" +msgstr "Bekijk beoordelingen" + +#: ../../mod/tagger.php:96 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" +msgstr "%1$s heeft het %3$s van %2$s getagd met %4$s" + +#: ../../mod/rate.php:158 +msgid "Website:" +msgstr "Website:" + +#: ../../mod/rate.php:161 +#, php-format +msgid "Remote Channel [%s] (not yet known on this site)" +msgstr "Kanaal op afstand [%s] (nog niet op deze hub bekend)" + +#: ../../mod/rate.php:162 +msgid "Rating (this information is public)" +msgstr "Beoordeling (deze informatie is openbaar)" + +#: ../../mod/rate.php:163 +msgid "Optionally explain your rating (this information is public)" +msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)" + +#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 +msgid "Block Name" +msgstr "Bloknaam" + +#: ../../mod/blocks.php:149 +msgid "Block Title" +msgstr "Bloktitel" #: ../../mod/id.php:11 msgid "First Name" @@ -4407,7 +4578,7 @@ msgstr "Geboortedag" msgid "Birthdate" msgstr "Geboortedatum" -#: ../../mod/id.php:33 ../../mod/profiles.php:431 +#: ../../mod/id.php:33 ../../mod/profiles.php:441 msgid "Gender" msgstr "Geslacht" @@ -4479,116 +4650,28 @@ msgstr "Actie voltooid" msgid "Thank you." msgstr "Bedankt" -#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 -msgid "Export Channel" -msgstr "Kanaal exporteren" - -#: ../../mod/uexport.php:53 -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 "Exporteer de basisinformatie van jouw kanaal naar een bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal." - -#: ../../mod/uexport.php:54 -msgid "Export Content" -msgstr "Inhoud exporteren" - -#: ../../mod/uexport.php:55 -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 "Exporteer informatie en recente inhoud van jouw kanaal naar een JSON-back-up, wat kan worden gebruikt om jouw kanaal te herstellen of te importeren op een andere hub. Dit slaat al jouw connecties, permissies, profielgegevens en enkele maanden aan inhoud van jouw kanaal op. Dit bestand kan ZEER groot worden. Wees geduldig - het kan enkele minuten duren voordat de download begint." - -#: ../../mod/uexport.php:56 -msgid "Export your posts from a given year." -msgstr "Exporteer jouw berichten uit een bepaald jaar." - -#: ../../mod/uexport.php:58 -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 "Je kan ook berichten en conversaties uit een bepaald jaar of van een bepaalde maand exporteren. Verander de datum in de adresbalk van jouw webbrowser om andere jaren en maanden te selecteren. Wanneer het exporteren mislukt (waarschijnlijk door een gebrek aan beschikbaar servergeheugen), probeer het dan nogmaals met een beperkter tijdvak." +#: ../../mod/page.php:36 ../../mod/block.php:27 +msgid "Invalid item." +msgstr "Ongeldig item." -#: ../../mod/uexport.php:59 -#, php-format -msgid "" -"To select all posts for a given year, such as this year, visit <a " -"href=\"%1$s\">%2$s</a>" -msgstr "Bezoek <a href=\"%1$s\">%2$s</a> om alle berichten van bijvoorbeeld dit jaar te selecteren. " +#: ../../mod/page.php:52 ../../mod/wall_upload.php:29 ../../mod/block.php:39 +msgid "Channel not found." +msgstr "Kanaal niet gevonden." -#: ../../mod/uexport.php:60 -#, 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 "Bezoek <a href=\"%1$s\">%2$s</a> om alle berichten van bijvoorbeeld januari dit jaar te selecteren." +#: ../../mod/page.php:89 ../../mod/display.php:110 ../../mod/help.php:214 +#: ../../mod/block.php:75 ../../index.php:241 +msgid "Page not found." +msgstr "Pagina niet gevonden." -#: ../../mod/uexport.php:61 -#, php-format +#: ../../mod/page.php:126 msgid "" -"These content files may be imported or restored by visiting <a " -"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results" -" please import or restore these in date order (oldest first)." -msgstr "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1$s\">%2$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen." - -#: ../../mod/chatsvc.php:111 -msgid "Away" -msgstr "Afwezig" - -#: ../../mod/chatsvc.php:115 -msgid "Online" -msgstr "Online" - -#: ../../mod/tagger.php:96 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" -msgstr "%1$s heeft het %3$s van %2$s getagd met %4$s" - -#: ../../mod/common.php:10 -msgid "No channel." -msgstr "Geen kanaal." - -#: ../../mod/common.php:39 -msgid "Common connections" -msgstr "Veel voorkomende connecties" - -#: ../../mod/common.php:44 -msgid "No connections in common." -msgstr "Geen gemeenschappelijke connecties." - -#: ../../mod/ping.php:260 -msgid "sent you a private message" -msgstr "stuurde jou een privébericht" - -#: ../../mod/ping.php:308 -msgid "added your channel" -msgstr "voegde jouw kanaal toe" - -#: ../../mod/ping.php:350 -msgid "posted an event" -msgstr "plaatste een gebeurtenis" - -#: ../../mod/help.php:147 -msgid "Documentation Search" -msgstr "Zoek documentatie" - -#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 -msgid "Help:" -msgstr "Hulp:" - -#: ../../mod/help.php:211 ../../index.php:234 -msgid "Not Found" -msgstr "Niet gevonden" - -#: ../../mod/help.php:235 -msgid "$Projectname Documentation" -msgstr "$Projectname-documentatie" +"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." #: ../../mod/removeme.php:29 msgid "" @@ -4626,137 +4709,820 @@ msgid "" "removed from the network" msgstr "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het $Projectname-netwerk verwijderd" -#: ../../mod/removeme.php:61 ../../mod/settings.php:1110 +#: ../../mod/removeme.php:61 ../../mod/settings.php:1112 msgid "Remove Channel" msgstr "Kanaal verwijderen" -#: ../../mod/filer.php:48 -msgid "- select -" -msgstr "- kies map -" +#: ../../mod/mood.php:132 +msgid "Set your current mood and tell your friends" +msgstr "Noteer je huidige stemming en toon het aan je connecties" -#: ../../mod/mitem.php:24 ../../mod/menu.php:140 -msgid "Menu not found." -msgstr "Menu niet gevonden." +#: ../../mod/new_channel.php:109 +msgid "Add a Channel" +msgstr "Kanaal toevoegen" -#: ../../mod/mitem.php:48 -msgid "Unable to create element." -msgstr "Niet in staat om onderdeel aan te maken." +#: ../../mod/new_channel.php:110 +msgid "" +"A channel is your own collection of related web pages. A channel can be used" +" to hold social network profiles, blogs, conversation groups and forums, " +"celebrity pages, and much more. You may create as many channels as your " +"service provider allows." +msgstr "Naast een account moet je tenminste één kanaal aanmaken. Een kanaal is een persoonlijke verzameling (gerelateerde) berichten en media, zoals je misschien gewend bent van sociale netwerken. Een kanaal kan gebruikt worden voor social media, een blog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat." -#: ../../mod/mitem.php:72 -msgid "Unable to update menu element." -msgstr "Menu-onderdeel kan niet worden geüpdatet." +#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 +#: ../../mod/sources.php:137 +msgid "Channel Name" +msgstr "Kanaalnaam" -#: ../../mod/mitem.php:88 -msgid "Unable to add menu element." -msgstr "Menu-onderdeel kan niet worden toegevoegd." +#: ../../mod/new_channel.php:113 +msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " +msgstr "Jouw naam of een andere relevante naam. Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Familieforum\"" -#: ../../mod/mitem.php:116 ../../mod/menu.php:162 ../../mod/xchan.php:37 -msgid "Not found." -msgstr "Niet gevonden." +#: ../../mod/new_channel.php:114 +msgid "Choose a short nickname" +msgstr "Korte bijnaam" -#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 -msgid "Menu Item Permissions" -msgstr "Permissies menu-item" +#: ../../mod/new_channel.php:115 +msgid "" +"Your nickname will be used to create an easily remembered channel address " +"(like an email address) which you can share with others." +msgstr "Deze bijnaam (geen spaties) wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) en het internetadres (URL) van jouw kanaal aan te maken, die je dan met anderen kunt delen. Voorbeeld: <b>janp</b> wordt <em>janp@jouw_hub.nl</em> en <em>https://jouw_hub.nl/channel/janp</em>." -#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1054 -msgid "(click to open/close)" -msgstr "(klik om te openen/sluiten)" +#: ../../mod/new_channel.php:116 +msgid "Or <a href=\"import\">import an existing channel</a> from another location" +msgstr "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie." -#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 -msgid "Link Name" -msgstr "Linknaam" +#: ../../mod/new_channel.php:118 +msgid "" +"Please choose a channel type (such as social networking or community forum) " +"and privacy requirements so we can select the best permissions for you" +msgstr "Kies een kanaaltype en het door jouw gewenste privacy-niveau, zodat automatisch de beste permissies kunnen worden ingesteld. Dit kan later, indien gewenst, worden veranderd." -#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 -msgid "Link or Submenu Target" -msgstr "Linkdoel of submenu-doel" +#: ../../mod/new_channel.php:119 +msgid "Channel Type" +msgstr "Kanaaltype" -#: ../../mod/mitem.php:153 -msgid "Enter URL of the link or select a menu name to create a submenu" -msgstr "Geef de URL van de link of kies een menunaam om een submenu aan te maken" +#: ../../mod/new_channel.php:119 +msgid "Read more about roles" +msgstr "Lees meer over kanaaltypes" -#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 -msgid "Use magic-auth if available" -msgstr "Gebruik magic-auth wanneer beschikbaar" +#: ../../mod/ratings.php:69 +msgid "No ratings" +msgstr "Geen beoordelingen" -#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 -msgid "Open link in new window" -msgstr "Open link in nieuw venster" +#: ../../mod/ratings.php:82 ../../mod/search.php:13 ../../mod/directory.php:59 +#: ../../mod/photos.php:490 ../../mod/display.php:13 +#: ../../mod/viewconnections.php:17 +msgid "Public access denied." +msgstr "Openbare toegang geweigerd." -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Order in list" -msgstr "Volgorde in lijst" +#: ../../mod/ratings.php:99 +msgid "Ratings" +msgstr "Waarderingen" -#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 -msgid "Higher numbers will sink to bottom of listing" -msgstr "Hogere nummers komen onderaan de lijst terecht" +#: ../../mod/ratings.php:100 +msgid "Rating: " +msgstr "Waardering: " -#: ../../mod/mitem.php:157 -msgid "Submit and finish" -msgstr "Opslaan en afsluiten" +#: ../../mod/ratings.php:101 +msgid "Website: " +msgstr "Website: " -#: ../../mod/mitem.php:158 -msgid "Submit and continue" -msgstr "Opslaan en doorgaan" +#: ../../mod/ratings.php:103 +msgid "Description: " +msgstr "Omschrijving: " -#: ../../mod/mitem.php:166 -msgid "Menu:" -msgstr "Menu:" +#: ../../mod/setup.php:191 +msgid "$Projectname Server - Setup" +msgstr "$Projectname Server - Setup" -#: ../../mod/mitem.php:169 -msgid "Link Target" -msgstr "Linkdoel" +#: ../../mod/setup.php:195 +msgid "Could not connect to database." +msgstr "Could not connect to database." -#: ../../mod/mitem.php:172 -msgid "Edit menu" -msgstr "Menu bewerken" +#: ../../mod/setup.php:199 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." +msgstr "Could not connect to specified hub URL. Possible SSL certificate or DNS issue." -#: ../../mod/mitem.php:175 -msgid "Edit element" -msgstr "Onderdeel bewerken" +#: ../../mod/setup.php:206 +msgid "Could not create table." +msgstr "Could not create table." -#: ../../mod/mitem.php:176 -msgid "Drop element" -msgstr "Onderdeel verwijderen" +#: ../../mod/setup.php:211 +msgid "Your site database has been installed." +msgstr "Your hub database has been installed." -#: ../../mod/mitem.php:177 -msgid "New element" -msgstr "Nieuw element" +#: ../../mod/setup.php:215 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." +msgstr "You may need to import the file \"install/schema_xxx.sql\" manually using a database client." -#: ../../mod/mitem.php:178 -msgid "Edit this menu container" -msgstr "Deze menu-container bewerken" +#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 +msgid "Please see the file \"install/INSTALL.txt\"." +msgstr "Please see the file \"install/INSTALL.txt\"." -#: ../../mod/mitem.php:179 -msgid "Add menu element" -msgstr "Menu-element toevoegen" +#: ../../mod/setup.php:281 +msgid "System check" +msgstr "System check" -#: ../../mod/mitem.php:180 -msgid "Delete this menu item" -msgstr "Dit menu-item verwijderen" +#: ../../mod/setup.php:285 ../../mod/photos.php:914 ../../mod/events.php:653 +#: ../../mod/events.php:660 +msgid "Next" +msgstr "Volgende" -#: ../../mod/mitem.php:181 -msgid "Edit this menu item" -msgstr "Dit menu-item bewerken" +#: ../../mod/setup.php:286 +msgid "Check again" +msgstr "Check again" -#: ../../mod/mitem.php:198 -msgid "Menu item not found." -msgstr "Menu-item niet gevonden." +#: ../../mod/setup.php:308 +msgid "Database connection" +msgstr "Database connection" -#: ../../mod/mitem.php:211 -msgid "Menu item deleted." -msgstr "Menu-item verwijderd." +#: ../../mod/setup.php:309 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." +msgstr "In order to install $Projectname we need to know how to connect to your database." -#: ../../mod/mitem.php:213 -msgid "Menu item could not be deleted." -msgstr "Menu-item kon niet worden verwijderd." +#: ../../mod/setup.php:310 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." +msgstr "Please contact your hosting provider or site administrator if you have questions about these settings." -#: ../../mod/mitem.php:220 -msgid "Edit Menu Element" -msgstr "Menu-element bewerken" +#: ../../mod/setup.php:311 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." +msgstr "The database you specify below should already exist. If it does not, please create it before continuing." -#: ../../mod/mitem.php:226 -msgid "Link text" -msgstr "Linktekst" +#: ../../mod/setup.php:315 +msgid "Database Server Name" +msgstr "Database Server Name" + +#: ../../mod/setup.php:315 +msgid "Default is 127.0.0.1" +msgstr "Default is 127.0.0.1" + +#: ../../mod/setup.php:316 +msgid "Database Port" +msgstr "Database Port" + +#: ../../mod/setup.php:316 +msgid "Communication port number - use 0 for default" +msgstr "Communication port number - use 0 for default" + +#: ../../mod/setup.php:317 +msgid "Database Login Name" +msgstr "Database Login Name" + +#: ../../mod/setup.php:318 +msgid "Database Login Password" +msgstr "Database Login Password" + +#: ../../mod/setup.php:319 +msgid "Database Name" +msgstr "Database Name" + +#: ../../mod/setup.php:320 +msgid "Database Type" +msgstr "Database Type" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "Site administrator email address" +msgstr "Hub administrator email address" + +#: ../../mod/setup.php:322 ../../mod/setup.php:363 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "Your account email address must match this in order to use the web admin panel." + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Website URL" +msgstr "Hub URL" + +#: ../../mod/setup.php:323 ../../mod/setup.php:365 +msgid "Please use SSL (https) URL if available." +msgstr "Please use SSL (https) URL if available." + +#: ../../mod/setup.php:325 ../../mod/setup.php:367 +msgid "Please select a default timezone for your website" +msgstr "Please select a default timezone for your hub" + +#: ../../mod/setup.php:352 +msgid "Site settings" +msgstr "Hub settings" + +#: ../../mod/setup.php:417 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "Could not find a command line version of PHP in the web server PATH." + +#: ../../mod/setup.php:418 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron." +msgstr "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron." + +#: ../../mod/setup.php:422 +msgid "PHP executable path" +msgstr "PHP executable path" + +#: ../../mod/setup.php:422 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "Enter full path to php executable. You can leave this blank to continue the installation." + +#: ../../mod/setup.php:427 +msgid "Command line PHP" +msgstr "Command line PHP" + +#: ../../mod/setup.php:436 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "The command line version of PHP on your system does not have \"register_argc_argv\" enabled." + +#: ../../mod/setup.php:437 +msgid "This is required for message delivery to work." +msgstr "This is required for message delivery to work." + +#: ../../mod/setup.php:440 +msgid "PHP register_argc_argv" +msgstr "PHP register_argc_argv" + +#: ../../mod/setup.php:458 +#, php-format +msgid "" +"Your max allowed total upload size is set to %s. Maximum size of one file to" +" upload is set to %s. You are allowed to upload up to %d files at once." +msgstr "Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once." + +#: ../../mod/setup.php:463 +msgid "You can adjust these settings in the servers php.ini." +msgstr "You can adjust these settings in the servers php.ini." + +#: ../../mod/setup.php:465 +msgid "PHP upload limits" +msgstr "PHP upload limits" + +#: ../../mod/setup.php:488 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys" + +#: ../../mod/setup.php:489 +msgid "" +"If running under Windows, please see " +"\"http://www.php.net/manual/en/openssl.installation.php\"." +msgstr "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"." + +#: ../../mod/setup.php:492 +msgid "Generate encryption keys" +msgstr "Generate encryption keys" + +#: ../../mod/setup.php:504 +msgid "libCurl PHP module" +msgstr "libCurl PHP module" + +#: ../../mod/setup.php:505 +msgid "GD graphics PHP module" +msgstr "GD graphics PHP module" + +#: ../../mod/setup.php:506 +msgid "OpenSSL PHP module" +msgstr "OpenSSL PHP module" + +#: ../../mod/setup.php:507 +msgid "mysqli or postgres PHP module" +msgstr "mysqli or postgres PHP module" + +#: ../../mod/setup.php:508 +msgid "mb_string PHP module" +msgstr "mb_string PHP module" + +#: ../../mod/setup.php:509 +msgid "mcrypt PHP module" +msgstr "mcrypt PHP module" + +#: ../../mod/setup.php:510 +msgid "xml PHP module" +msgstr "xml PHP module" + +#: ../../mod/setup.php:514 ../../mod/setup.php:516 +msgid "Apache mod_rewrite module" +msgstr "Apache mod_rewrite module" + +#: ../../mod/setup.php:514 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "Error: Apache webserver mod-rewrite module is required but not installed." + +#: ../../mod/setup.php:520 ../../mod/setup.php:523 +msgid "proc_open" +msgstr "proc_open" + +#: ../../mod/setup.php:520 +msgid "" +"Error: proc_open is required but is either not installed or has been " +"disabled in php.ini" +msgstr "Error: proc_open is required but is either not installed or has been disabled in php.ini" + +#: ../../mod/setup.php:528 +msgid "Error: libCURL PHP module required but not installed." +msgstr "Error: libCURL PHP module required but not installed." + +#: ../../mod/setup.php:532 +msgid "" +"Error: GD graphics PHP module with JPEG support required but not installed." +msgstr "Error: GD graphics PHP module with JPEG support required but not installed." + +#: ../../mod/setup.php:536 +msgid "Error: openssl PHP module required but not installed." +msgstr "Error: openssl PHP module required but not installed." + +#: ../../mod/setup.php:540 +msgid "" +"Error: mysqli or postgres PHP module required but neither are installed." +msgstr "Error: mysqli or postgres PHP module required but neither are installed." + +#: ../../mod/setup.php:544 +msgid "Error: mb_string PHP module required but not installed." +msgstr "Error: mb_string PHP module required but not installed." + +#: ../../mod/setup.php:548 +msgid "Error: mcrypt PHP module required but not installed." +msgstr "Error: mcrypt PHP module required but not installed." + +#: ../../mod/setup.php:552 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "Error: xml PHP module required for DAV but not installed." + +#: ../../mod/setup.php:570 +msgid "" +"The web installer needs to be able to create a file called \".htconfig.php\"" +" in the top folder of your web server and it is unable to do so." +msgstr "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so." + +#: ../../mod/setup.php:571 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." +msgstr "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can." + +#: ../../mod/setup.php:572 +msgid "" +"At the end of this procedure, we will give you a text to save in a file " +"named .htconfig.php in your Red top folder." +msgstr "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder." + +#: ../../mod/setup.php:573 +msgid "" +"You can alternatively skip this procedure and perform a manual installation." +" Please see the file \"install/INSTALL.txt\" for instructions." +msgstr "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions." + +#: ../../mod/setup.php:576 +msgid ".htconfig.php is writable" +msgstr ".htconfig.php is writable" + +#: ../../mod/setup.php:590 +msgid "" +"Red uses the Smarty3 template engine to render its web views. Smarty3 " +"compiles templates to PHP to speed up rendering." +msgstr "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering." + +#: ../../mod/setup.php:591 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the Red top level folder." +msgstr "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder." + +#: ../../mod/setup.php:592 ../../mod/setup.php:613 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has" +" write access to this folder." +msgstr "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder." + +#: ../../mod/setup.php:593 +#, php-format +msgid "" +"Note: as a security measure, you should give the web server write access to " +"%s only--not the template files (.tpl) that it contains." +msgstr "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains." + +#: ../../mod/setup.php:596 +#, php-format +msgid "%s is writable" +msgstr "%s is writable" + +#: ../../mod/setup.php:612 +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 "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" + +#: ../../mod/setup.php:616 +msgid "store is writable" +msgstr "store is writable" + +#: ../../mod/setup.php:649 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access" +" to this site." +msgstr "SSL certificate cannot be validated. Fix certificate or disable https access to this hub." + +#: ../../mod/setup.php:650 +msgid "" +"If you have https access to your website or allow connections to TCP port " +"443 (the https: port), you MUST use a browser-valid certificate. You MUST " +"NOT use self-signed certificates!" +msgstr "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!" + +#: ../../mod/setup.php:651 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "This restriction is incorporated because public posts from you may for example contain references to images on your own hub." + +#: ../../mod/setup.php:652 +msgid "" +"If your certificate is not recognized, members of other sites (who may " +"themselves have valid certificates) will get a warning message on their own " +"site complaining about security issues." +msgstr "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues." + +#: ../../mod/setup.php:653 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement." + +#: ../../mod/setup.php:654 +msgid "" +"Providers are available that issue free certificates which are browser-" +"valid." +msgstr "Providers are available that issue free certificates which are browser-valid." + +#: ../../mod/setup.php:656 +msgid "SSL certificate validation" +msgstr "SSL certificate validation" + +#: ../../mod/setup.php:662 +msgid "" +"Url rewrite in .htaccess is not working. Check your server " +"configuration.Test: " +msgstr "Url rewrite in .htaccess is not working. Check your server configuration.Test: " + +#: ../../mod/setup.php:665 +msgid "Url rewrite is working" +msgstr "Url rewrite is working" + +#: ../../mod/setup.php:674 +msgid "" +"The database configuration file \".htconfig.php\" could not be written. " +"Please use the enclosed text to create a configuration file in your web " +"server root." +msgstr "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root." + +#: ../../mod/setup.php:698 +msgid "Errors encountered creating database tables." +msgstr "Errors encountered creating database tables." + +#: ../../mod/setup.php:732 +msgid "<h1>What next</h1>" +msgstr "<h1>Wat nu</h1>" + +#: ../../mod/setup.php:733 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the " +"poller." +msgstr "IMPORTANT: You will need to [manually] setup a scheduled task for the poller." + +#: ../../mod/bookmarks.php:40 +msgid "Bookmark added" +msgstr "Bladwijzer toegevoegd" + +#: ../../mod/bookmarks.php:62 +msgid "My Bookmarks" +msgstr "Mijn bladwijzers" + +#: ../../mod/bookmarks.php:73 +msgid "My Connections Bookmarks" +msgstr "Bladwijzers van mijn connecties" + +#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:61 +msgid "$Projectname" +msgstr "$Projectname" + +#: ../../mod/home.php:75 +#, php-format +msgid "Welcome to %s" +msgstr "Welkom op %s" + +#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 +msgid "This setting requires special processing and editing has been blocked." +msgstr "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd." + +#: ../../mod/pconfig.php:49 +msgid "Configuration Editor" +msgstr "Configuratiebewerker" + +#: ../../mod/pconfig.php:50 +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 "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. " + +#: ../../mod/poke.php:164 +msgid "Poke/Prod" +msgstr "Aanstoten/porren" + +#: ../../mod/poke.php:165 +msgid "poke, prod or do other things to somebody" +msgstr "aanstoten, porren of andere dingen met iemand doen" + +#: ../../mod/poke.php:166 +msgid "Recipient" +msgstr "Ontvanger" + +#: ../../mod/poke.php:167 +msgid "Choose what you wish to do to recipient" +msgstr "Kies wat je met de ontvanger wil doen" + +#: ../../mod/poke.php:170 +msgid "Make this post private" +msgstr "Maak dit bericht privé" + +#: ../../mod/profiles.php:19 ../../mod/profiles.php:184 +#: ../../mod/profiles.php:241 ../../mod/profiles.php:608 +msgid "Profile not found." +msgstr "Profiel niet gevonden." + +#: ../../mod/profiles.php:39 +msgid "Profile deleted." +msgstr "Profiel verwijderd." + +#: ../../mod/profiles.php:63 ../../mod/profiles.php:99 +msgid "Profile-" +msgstr "Profiel-" + +#: ../../mod/profiles.php:84 ../../mod/profiles.php:127 +msgid "New profile created." +msgstr "Nieuw profiel aangemaakt." + +#: ../../mod/profiles.php:105 +msgid "Profile unavailable to clone." +msgstr "Profiel niet beschikbaar om te klonen" + +#: ../../mod/profiles.php:146 +msgid "Profile unavailable to export." +msgstr "Geen profiel beschikbaar om te exporteren" + +#: ../../mod/profiles.php:251 +msgid "Profile Name is required." +msgstr "Profielnaam is vereist" + +#: ../../mod/profiles.php:414 +msgid "Marital Status" +msgstr "Huwelijke status" + +#: ../../mod/profiles.php:418 +msgid "Romantic Partner" +msgstr "Romantische partner" + +#: ../../mod/profiles.php:422 +msgid "Likes" +msgstr "Houdt van" + +#: ../../mod/profiles.php:426 +msgid "Dislikes" +msgstr "Houdt niet van" + +#: ../../mod/profiles.php:430 +msgid "Work/Employment" +msgstr "Werk/arbeid" + +#: ../../mod/profiles.php:433 +msgid "Religion" +msgstr "Religie" + +#: ../../mod/profiles.php:437 +msgid "Political Views" +msgstr "Politieke overtuigingen" + +#: ../../mod/profiles.php:445 +msgid "Sexual Preference" +msgstr "Seksuele voorkeur" + +#: ../../mod/profiles.php:449 +msgid "Homepage" +msgstr "Homepage" + +#: ../../mod/profiles.php:453 +msgid "Interests" +msgstr "Interesses" + +#: ../../mod/profiles.php:457 ../../mod/admin.php:974 +msgid "Address" +msgstr "Kanaaladres" + +#: ../../mod/profiles.php:547 +msgid "Profile updated." +msgstr "Profiel bijgewerkt" + +#: ../../mod/profiles.php:634 +msgid "Hide your contact/friend list from viewers of this profile?" +msgstr "Laat de lijst met connecties niet aan bezoekers van dit profiel zien." + +#: ../../mod/profiles.php:674 +msgid "Edit Profile Details" +msgstr "Profiel bewerken" + +#: ../../mod/profiles.php:676 +msgid "View this profile" +msgstr "Profiel weergeven" + +#: ../../mod/profiles.php:678 +msgid "Change Profile Photo" +msgstr "Profielfoto wijzigen" + +#: ../../mod/profiles.php:679 +msgid "Create a new profile using these settings" +msgstr "Een nieuw profiel aanmaken met dit profiel als basis" + +#: ../../mod/profiles.php:680 +msgid "Clone this profile" +msgstr "Dit profiel klonen" + +#: ../../mod/profiles.php:681 +msgid "Delete this profile" +msgstr "Dit profiel verwijderen" + +#: ../../mod/profiles.php:683 +msgid "Import profile from file" +msgstr "Profiel vanuit bestand importeren" + +#: ../../mod/profiles.php:684 +msgid "Export profile to file" +msgstr "Profiel naar bestand exporteren" + +#: ../../mod/profiles.php:685 +msgid "Profile Name:" +msgstr "Profielnaam:" + +#: ../../mod/profiles.php:686 +msgid "Your Full Name:" +msgstr "Jouw volledige naam:" + +#: ../../mod/profiles.php:687 +msgid "Title/Description:" +msgstr "Titel/omschrijving:" + +#: ../../mod/profiles.php:688 +msgid "Your Gender:" +msgstr "Jouw geslacht" + +#: ../../mod/profiles.php:689 +msgid "Birthday :" +msgstr "Verjaardag: " + +#: ../../mod/profiles.php:690 +msgid "Street Address:" +msgstr "Straat en huisnummer:" + +#: ../../mod/profiles.php:691 +msgid "Locality/City:" +msgstr "Woonplaats:" + +#: ../../mod/profiles.php:692 +msgid "Postal/Zip Code:" +msgstr "Postcode:" + +#: ../../mod/profiles.php:693 +msgid "Country:" +msgstr "Land:" + +#: ../../mod/profiles.php:694 +msgid "Region/State:" +msgstr "Provincie/gewest/deelstaat:" + +#: ../../mod/profiles.php:695 +msgid "<span class=\"heart\">♥</span> Marital Status:" +msgstr "<span class=\"heart\">♥</span> Huwelijkse staat:" + +#: ../../mod/profiles.php:696 +msgid "Who: (if applicable)" +msgstr "Wie (wanneer toepasselijk):" + +#: ../../mod/profiles.php:697 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "Voorbeelden: petra123, Petra Jansen, petra@voorbeeld.nl" + +#: ../../mod/profiles.php:698 +msgid "Since [date]:" +msgstr "Sinds [datum]:" + +#: ../../mod/profiles.php:700 +msgid "Homepage URL:" +msgstr "Adres homepage:" + +#: ../../mod/profiles.php:703 +msgid "Religious Views:" +msgstr "Religieuze overtuigingen" + +#: ../../mod/profiles.php:704 +msgid "Keywords:" +msgstr "Trefwoorden" + +#: ../../mod/profiles.php:707 +msgid "Example: fishing photography software" +msgstr "Voorbeeld: muziek, fotografie, software" + +#: ../../mod/profiles.php:708 +msgid "Used in directory listings" +msgstr "Wordt in de kanalengids gebruikt" + +#: ../../mod/profiles.php:709 +msgid "Tell us about yourself..." +msgstr "Vertel ons iets over jezelf..." + +#: ../../mod/profiles.php:710 +msgid "Hobbies/Interests" +msgstr "Hobby's/interesses" + +#: ../../mod/profiles.php:711 +msgid "Contact information and Social Networks" +msgstr "Contactinformatie en sociale netwerken" + +#: ../../mod/profiles.php:712 +msgid "My other channels" +msgstr "Mijn andere kanalen" + +#: ../../mod/profiles.php:713 +msgid "Musical interests" +msgstr "Muzikale interesses" + +#: ../../mod/profiles.php:714 +msgid "Books, literature" +msgstr "Boeken/literatuur" + +#: ../../mod/profiles.php:715 +msgid "Television" +msgstr "Televisie" + +#: ../../mod/profiles.php:716 +msgid "Film/dance/culture/entertainment" +msgstr "Film/dans/cultuur/entertainment" + +#: ../../mod/profiles.php:717 +msgid "Love/romance" +msgstr "Liefde/romantiek" + +#: ../../mod/profiles.php:718 +msgid "Work/employment" +msgstr "Werk/arbeid" + +#: ../../mod/profiles.php:719 +msgid "School/education" +msgstr "School/onderwijs" + +#: ../../mod/profiles.php:725 +msgid "This is your default profile." +msgstr "Dit is jouw standaardprofiel" + +#: ../../mod/profiles.php:736 +msgid "Age: " +msgstr "Leeftijd:" + +#: ../../mod/profiles.php:779 +msgid "Edit/Manage Profiles" +msgstr "Profielen bewerken/beheren" + +#: ../../mod/profiles.php:780 +msgid "Add profile things" +msgstr "Dingen aan je profiel toevoegen" + +#: ../../mod/profiles.php:781 +msgid "Include desirable objects in your profile" +msgstr "Voeg door jou gewenste dingen aan jouw profiel toe" + +#: ../../mod/search.php:212 +#, php-format +msgid "Items tagged with: %s" +msgstr "Items getagd met %s" + +#: ../../mod/search.php:214 +#, php-format +msgid "Search results for: %s" +msgstr "Zoekresultaten voor %s" #: ../../mod/connedit.php:75 msgid "Could not access contact record." @@ -5028,217 +5794,537 @@ msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings msgid "Last update:" msgstr "Laatste wijziging:" -#: ../../mod/mood.php:132 -msgid "Set your current mood and tell your friends" -msgstr "Noteer je huidige stemming en toon het aan je connecties" +#: ../../mod/acl.php:222 +msgid "network" +msgstr "netwerk" -#: ../../mod/magic.php:69 -msgid "Hub not found." -msgstr "Hub niet gevonden." +#: ../../mod/acl.php:232 +msgid "RSS" +msgstr "RSS" -#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60 -msgid "This setting requires special processing and editing has been blocked." -msgstr "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd." +#: ../../mod/dav.php:121 +msgid "$Projectname channel" +msgstr "$Projectname-kanaal" -#: ../../mod/pconfig.php:49 -msgid "Configuration Editor" -msgstr "Configuratiebewerker" +#: ../../mod/dreport.php:23 +msgid "Invalid message" +msgstr "Ongeldig bericht" -#: ../../mod/pconfig.php:50 +#: ../../mod/dreport.php:55 +msgid "no results" +msgstr "geen resultaten" + +#: ../../mod/dreport.php:60 +#, php-format +msgid "Delivery report for %1$s" +msgstr "Afleveringsrapport voor %1$s" + +#: ../../mod/dreport.php:74 +msgid "channel sync processed" +msgstr "kanaalsync verwerkt" + +#: ../../mod/dreport.php:78 +msgid "queued" +msgstr "in wachtrij" + +#: ../../mod/dreport.php:82 +msgid "posted" +msgstr "verstuurd" + +#: ../../mod/dreport.php:86 +msgid "accepted for delivery" +msgstr "geaccepteerd om afgeleverd te worden" + +#: ../../mod/dreport.php:90 +msgid "updated" +msgstr "geüpdatet" + +#: ../../mod/dreport.php:93 +msgid "update ignored" +msgstr "update genegeerd" + +#: ../../mod/dreport.php:96 +msgid "permission denied" +msgstr "toegang geweigerd" + +#: ../../mod/dreport.php:100 +msgid "recipient not found" +msgstr "ontvanger niet gevonden" + +#: ../../mod/dreport.php:103 +msgid "mail recalled" +msgstr "Privébericht ingetrokken" + +#: ../../mod/dreport.php:106 +msgid "duplicate mail received" +msgstr "dubbel privébericht ontvangen" + +#: ../../mod/dreport.php:109 +msgid "mail delivered" +msgstr "privébericht afgeleverd" + +#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78 +#: ../../mod/editblock.php:94 ../../mod/editlayout.php:76 +#: ../../mod/editpost.php:20 +msgid "Item not found" +msgstr "Item niet gevonden" + +#: ../../mod/editwebpage.php:153 +msgid "Delete webpage?" +msgstr "Webpagina verwijderen?" + +#: ../../mod/editwebpage.php:172 +msgid "Page link title" +msgstr "Titel van paginalink" + +#: ../../mod/editwebpage.php:185 ../../mod/editblock.php:145 +#: ../../mod/editlayout.php:143 ../../mod/editpost.php:121 +msgid "Insert YouTube video" +msgstr "YouTube-video invoegen" + +#: ../../mod/editwebpage.php:186 ../../mod/editblock.php:146 +#: ../../mod/editlayout.php:144 ../../mod/editpost.php:122 +msgid "Insert Vorbis [.ogg] video" +msgstr "Vorbis-video [.ogg] invoegen" + +#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:147 +#: ../../mod/editlayout.php:145 ../../mod/editpost.php:123 +msgid "Insert Vorbis [.ogg] audio" +msgstr "Vorbis-audio [.ogg] invoegen" + +#: ../../mod/editwebpage.php:222 +msgid "Edit Webpage" +msgstr "Webpagina bewerken" + +#: ../../mod/oexchange.php:23 +msgid "Unable to find your hub." +msgstr "Niet in staat om je hub te vinden" + +#: ../../mod/oexchange.php:37 +msgid "Post successful." +msgstr "Verzenden bericht geslaagd." + +#: ../../mod/ping.php:260 +msgid "sent you a private message" +msgstr "stuurde jou een privébericht" + +#: ../../mod/ping.php:308 +msgid "added your channel" +msgstr "voegde jouw kanaal toe" + +#: ../../mod/ping.php:350 +msgid "posted an event" +msgstr "plaatste een gebeurtenis" + +#: ../../mod/api.php:76 ../../mod/api.php:102 +msgid "Authorize application connection" +msgstr "Geef toestemming voor applicatiekoppeling" + +#: ../../mod/api.php:77 +msgid "Return to your app and insert this Securty Code:" +msgstr "Ga terug naar je app en voeg deze beveiligingscode in:" + +#: ../../mod/api.php:89 +msgid "Please login to continue." +msgstr "Inloggen om verder te kunnen gaan." + +#: ../../mod/api.php:104 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 "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. " +"Do you want to authorize this application to access your posts and contacts," +" and/or create new posts for you?" +msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?" -#: ../../mod/filestorage.php:82 -msgid "Permission Denied." -msgstr "Toegang geweigerd" +#: ../../mod/notify.php:53 ../../mod/notifications.php:94 +msgid "No more system notifications." +msgstr "Geen systeemnotificaties meer." -#: ../../mod/filestorage.php:98 -msgid "File not found." -msgstr "Bestand niet gevonden." +#: ../../mod/notify.php:57 ../../mod/notifications.php:98 +msgid "System Notifications" +msgstr "Systeemnotificaties" -#: ../../mod/filestorage.php:141 -msgid "Edit file permissions" -msgstr "Bestandsrechten bewerken" +#: ../../mod/rbmark.php:90 +msgid "Select a bookmark folder" +msgstr "Kies een bladwijzermap" -#: ../../mod/filestorage.php:150 -msgid "Set/edit permissions" -msgstr "Rechten instellen/bewerken" +#: ../../mod/rbmark.php:95 +msgid "Save Bookmark" +msgstr "Bladwijzer opslaan" -#: ../../mod/filestorage.php:151 -msgid "Include all files and sub folders" -msgstr "Toepassen op alle bestanden en submappen" +#: ../../mod/rbmark.php:96 +msgid "URL of bookmark" +msgstr "URL van bladwijzer" -#: ../../mod/filestorage.php:152 -msgid "Return to file list" -msgstr "Terugkeren naar bestandlijst " +#: ../../mod/rbmark.php:97 ../../mod/appman.php:93 ../../mod/events.php:450 +msgid "Description" +msgstr "Omschrijving" -#: ../../mod/filestorage.php:154 -msgid "Copy/paste this code to attach file to a post" -msgstr "Kopieer/plak deze code om het bestand aan een bericht te koppelen" +#: ../../mod/rbmark.php:101 +msgid "Or enter new bookmark folder name" +msgstr "Of geef de naam op van een nieuwe bladwijzermap" -#: ../../mod/filestorage.php:155 -msgid "Copy/paste this URL to link file from a web page" -msgstr "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen" +#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92 +msgid "Contact not found." +msgstr "Contact niet gevonden" -#: ../../mod/filestorage.php:157 -msgid "Share this file" -msgstr "Dit bestand delen" +#: ../../mod/fsuggest.php:63 +msgid "Friend suggestion sent." +msgstr "Kanaalvoorstel verzonden." -#: ../../mod/filestorage.php:158 -msgid "Show URL to this file" -msgstr "Toon URL van dit bestand" +#: ../../mod/fsuggest.php:97 +msgid "Suggest Friends" +msgstr "Kanalen voorstellen" -#: ../../mod/filestorage.php:159 -msgid "Notify your contacts about this file" -msgstr "Jouw connecties over dit bestand berichten" +#: ../../mod/fsuggest.php:99 +#, php-format +msgid "Suggest a friend for %s" +msgstr "Stel een kanaal voor aan %s" -#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 -msgid "This site is not a directory server" -msgstr "Deze hub is geen kanalengidshub (directoryserver)" +#: ../../mod/sources.php:32 +msgid "Failed to create source. No channel selected." +msgstr "Aanmaken bron mislukt. Geen kanaal geselecteerd." -#: ../../mod/layouts.php:121 ../../mod/layouts.php:179 -#: ../../mod/editlayout.php:161 -msgid "Layout Name" -msgstr "Naam lay-out" +#: ../../mod/sources.php:45 +msgid "Source created." +msgstr "Bron aangemaakt." -#: ../../mod/layouts.php:124 ../../mod/editlayout.php:159 -msgid "Layout Description (Optional)" -msgstr "Lay-out-omschrijving (optioneel)" +#: ../../mod/sources.php:57 +msgid "Source updated." +msgstr "Bron aangemaakt." -#: ../../mod/layouts.php:176 -msgid "Comanche page description language help" -msgstr "Hulp met de paginabeschrijvingstaal Comanche" +#: ../../mod/sources.php:82 +msgid "*" +msgstr "*" -#: ../../mod/layouts.php:180 -msgid "Layout Description" -msgstr "Lay-out-omschrijving" +#: ../../mod/sources.php:89 +msgid "Manage remote sources of content for your channel." +msgstr "Beheer externe bronnen met inhoud voor jouw kanaal" -#: ../../mod/layouts.php:185 -msgid "Download PDL file" -msgstr "Download PDL-bestand" +#: ../../mod/sources.php:90 ../../mod/sources.php:100 +msgid "New Source" +msgstr "Nieuwe bron" -#: ../../mod/poke.php:164 -msgid "Poke/Prod" -msgstr "Aanstoten/porren" +#: ../../mod/sources.php:101 ../../mod/sources.php:133 +msgid "" +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." +msgstr "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen." -#: ../../mod/poke.php:165 -msgid "poke, prod or do other things to somebody" -msgstr "aanstoten, porren of andere dingen met iemand doen" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Only import content with these words (one per line)" +msgstr "Importeer alleen inhoud met deze woorden (één per regel)" -#: ../../mod/poke.php:166 -msgid "Recipient" -msgstr "Ontvanger" +#: ../../mod/sources.php:102 ../../mod/sources.php:134 +msgid "Leave blank to import all public content" +msgstr "Laat leeg om alle openbare inhoud te importeren" -#: ../../mod/poke.php:167 -msgid "Choose what you wish to do to recipient" -msgstr "Kies wat je met de ontvanger wil doen" +#: ../../mod/sources.php:123 ../../mod/sources.php:150 +msgid "Source not found." +msgstr "Bron niet gevonden" -#: ../../mod/poke.php:170 -msgid "Make this post private" -msgstr "Maak dit bericht privé" +#: ../../mod/sources.php:130 +msgid "Edit Source" +msgstr "Bron bewerken" -#: ../../mod/network.php:91 -msgid "No such group" -msgstr "Collectie niet gevonden" +#: ../../mod/sources.php:131 +msgid "Delete Source" +msgstr "Bron verwijderen" -#: ../../mod/network.php:131 -msgid "No such channel" -msgstr "Niet zo'n kanaal" +#: ../../mod/sources.php:158 +msgid "Source removed" +msgstr "Bron verwijderd" -#: ../../mod/network.php:136 -msgid "forum" -msgstr "forum" +#: ../../mod/sources.php:160 +msgid "Unable to remove source." +msgstr "Verwijderen bron mislukt." -#: ../../mod/network.php:148 -msgid "Search Results For:" -msgstr "Zoekresultaten voor:" +#: ../../mod/notifications.php:26 +msgid "Invalid request identifier." +msgstr "Ongeldige verzoek identificator (request identifier)" -#: ../../mod/network.php:207 -msgid "Collection is empty" -msgstr "Collectie is leeg" +#: ../../mod/notifications.php:35 +msgid "Discard" +msgstr "Annuleren" -#: ../../mod/network.php:216 -msgid "Collection: " -msgstr "Collectie: " +#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 +msgid "Tag removed" +msgstr "Tag verwijderd" -#: ../../mod/network.php:242 -msgid "Invalid connection." -msgstr "Ongeldige connectie." +#: ../../mod/tagrm.php:119 +msgid "Remove Item Tag" +msgstr "Verwijder item-tag" -#: ../../mod/chat.php:19 ../../mod/channel.php:25 -msgid "You must be logged in to see this page." -msgstr "Je moet zijn ingelogd om deze pagina te kunnen bekijken." +#: ../../mod/tagrm.php:121 +msgid "Select a tag to remove: " +msgstr "Kies een tag om te verwijderen" -#: ../../mod/chat.php:174 -msgid "Room not found" -msgstr "Chatkanaal niet gevonden" +#: ../../mod/tagrm.php:133 ../../mod/photos.php:954 +msgid "Remove" +msgstr "Verwijderen" -#: ../../mod/chat.php:185 -msgid "Leave Room" -msgstr "Chatkanaal verlaten" +#: ../../mod/directory.php:236 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "%d beoordeling" +msgstr[1] "%d beoordelingen" -#: ../../mod/chat.php:186 -msgid "Delete This Room" -msgstr "Chatkanaal verwijderen" +#: ../../mod/directory.php:247 +msgid "Gender: " +msgstr "Geslacht:" -#: ../../mod/chat.php:187 -msgid "I am away right now" -msgstr "Ik ben momenteel afwezig" +#: ../../mod/directory.php:249 +msgid "Status: " +msgstr "Status: " -#: ../../mod/chat.php:188 -msgid "I am online" -msgstr "Ik ben online" +#: ../../mod/directory.php:251 +msgid "Homepage: " +msgstr "Homepage: " -#: ../../mod/chat.php:190 -msgid "Bookmark this room" -msgstr "Chatkanaal aan bladwijzers toevoegen" +#: ../../mod/directory.php:310 +msgid "Description:" +msgstr "Omschrijving:" -#: ../../mod/chat.php:208 ../../mod/chat.php:231 -msgid "New Chatroom" -msgstr "Nieuw chatkanaal" +#: ../../mod/directory.php:319 +msgid "Public Forum:" +msgstr "Openbaar forum:" -#: ../../mod/chat.php:209 -msgid "Chatroom Name" -msgstr "Naam chatkanaal" +#: ../../mod/directory.php:322 +msgid "Keywords: " +msgstr "Trefwoorden: " -#: ../../mod/chat.php:210 -msgid "Expiration of chats (minutes)" -msgstr "Aantal minuten voordat chatberichten worden verwijderd" +#: ../../mod/directory.php:325 +msgid "Don't suggest" +msgstr "Niet voorstellen" -#: ../../mod/chat.php:227 +#: ../../mod/directory.php:327 +msgid "Common connections:" +msgstr "Gemeenschappelijke connecties:" + +#: ../../mod/directory.php:376 +msgid "Global Directory" +msgstr "Volledige kanalengids" + +#: ../../mod/directory.php:376 +msgid "Local Directory" +msgstr "Lokale kanalengids" + +#: ../../mod/directory.php:382 +msgid "Finding:" +msgstr "Gezocht naar:" + +#: ../../mod/directory.php:387 +msgid "next page" +msgstr "volgende pagina" + +#: ../../mod/directory.php:387 +msgid "previous page" +msgstr "vorige pagina" + +#: ../../mod/directory.php:388 +msgid "Sort options" +msgstr "Sorteeropties" + +#: ../../mod/directory.php:389 +msgid "Alphabetic" +msgstr "Alfabetisch" + +#: ../../mod/directory.php:390 +msgid "Reverse Alphabetic" +msgstr "Omgekeerd alfabetisch" + +#: ../../mod/directory.php:391 +msgid "Newest to Oldest" +msgstr "Nieuw naar oud" + +#: ../../mod/directory.php:392 +msgid "Oldest to Newest" +msgstr "Oud naar nieuw" + +#: ../../mod/directory.php:409 +msgid "No entries (some entries may be hidden)." +msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)." + +#: ../../mod/lostpass.php:15 +msgid "No valid account found." +msgstr "Geen geldige account gevonden." + +#: ../../mod/lostpass.php:29 +msgid "Password reset request issued. Check your email." +msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail." + +#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 #, php-format -msgid "%1$s's Chatrooms" -msgstr "Chatkanalen van %1$s" +msgid "Site Member (%s)" +msgstr "Lid van hub (%s)" -#: ../../mod/search.php:212 +#: ../../mod/lostpass.php:40 #, php-format -msgid "Items tagged with: %s" -msgstr "Items getagd met %s" +msgid "Password reset requested at %s" +msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend" -#: ../../mod/search.php:214 +#: ../../mod/lostpass.php:63 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt." + +#: ../../mod/lostpass.php:86 ../../boot.php:1489 +msgid "Password Reset" +msgstr "Wachtwoord vergeten?" + +#: ../../mod/lostpass.php:87 +msgid "Your password has been reset as requested." +msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht." + +#: ../../mod/lostpass.php:88 +msgid "Your new password is" +msgstr "Jouw nieuwe wachtwoord is" + +#: ../../mod/lostpass.php:89 +msgid "Save or copy your new password - and then" +msgstr "Kopieer of sla je nieuwe wachtwoord op - en" + +#: ../../mod/lostpass.php:90 +msgid "click here to login" +msgstr "klik dan hier om in te loggen" + +#: ../../mod/lostpass.php:91 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd." + +#: ../../mod/lostpass.php:108 #, php-format -msgid "Search results for: %s" -msgstr "Zoekresultaten voor %s" +msgid "Your password has changed at %s" +msgstr "Jouw wachtwoord op %s is veranderd" -#: ../../mod/rate.php:158 -msgid "Website:" -msgstr "Website:" +#: ../../mod/lostpass.php:123 +msgid "Forgot your Password?" +msgstr "Wachtwoord vergeten?" -#: ../../mod/rate.php:161 +#: ../../mod/lostpass.php:124 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies." + +#: ../../mod/lostpass.php:125 +msgid "Email Address" +msgstr "E-mailadres" + +#: ../../mod/lostpass.php:126 +msgid "Reset" +msgstr "Opnieuw instellen" + +#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21 +msgid "This site is not a directory server" +msgstr "Deze hub is geen kanalengidshub (directoryserver)" + +#: ../../mod/impel.php:192 #, php-format -msgid "Remote Channel [%s] (not yet known on this site)" -msgstr "Kanaal op afstand [%s] (nog niet op deze hub bekend)" +msgid "%s element installed" +msgstr "%s onderdeel geïnstalleerd" -#: ../../mod/rate.php:162 -msgid "Rating (this information is public)" -msgstr "Beoordeling (deze informatie is openbaar)" +#: ../../mod/impel.php:195 +#, php-format +msgid "%s element installation failed" +msgstr "Installatie %s-element mislukt" -#: ../../mod/rate.php:163 -msgid "Optionally explain your rating (this information is public)" -msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)" +#: ../../mod/subthread.php:114 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "%1$s volgt het %3$s van %2$s" + +#: ../../mod/subthread.php:116 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "%1$s volgt het %3$s van %2$s niet meer" + +#: ../../mod/import.php:28 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "Jouw abonnement staat maar %d kanalen toe." + +#: ../../mod/import.php:66 ../../mod/import_items.php:38 +msgid "Nothing to import." +msgstr "Niets gevonden om te importeren" + +#: ../../mod/import.php:90 ../../mod/import_items.php:62 +msgid "Unable to download data from old server" +msgstr "Niet in staat om gegevens van de oude hub te downloaden" + +#: ../../mod/import.php:96 ../../mod/import_items.php:68 +msgid "Imported file is empty." +msgstr "Geïmporteerde bestand is leeg" + +#: ../../mod/import.php:116 ../../mod/import_items.php:82 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "Waarschuwing: database-versies lopen %1$d updates achter." + +#: ../../mod/import.php:149 +msgid "No channel. Import failed." +msgstr "Geen kanaal. Importeren mislukt." + +#: ../../mod/import.php:509 +msgid "You must be logged in to use this feature." +msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken." + +#: ../../mod/import.php:514 +msgid "Import Channel" +msgstr "Kanaal importeren" + +#: ../../mod/import.php:515 +msgid "" +"Use this form to import an existing channel from a different server/hub. You" +" may retrieve the channel identity from the old server/hub via the network " +"or provide an export file." +msgstr "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken." + +#: ../../mod/import.php:516 ../../mod/import_items.php:121 +msgid "File to Upload" +msgstr "Bestand om te uploaden" + +#: ../../mod/import.php:517 +msgid "Or provide the old server/hub details" +msgstr "Of vul de gegevens van de oude hub in" + +#: ../../mod/import.php:518 +msgid "Your old identity address (xyz@example.com)" +msgstr "Jouw oude kanaaladres (xyz@example.com)" + +#: ../../mod/import.php:519 +msgid "Your old login email address" +msgstr "Het e-mailadres van je oude account" + +#: ../../mod/import.php:520 +msgid "Your old login password" +msgstr "Wachtwoord van jouw oude account" + +#: ../../mod/import.php:521 +msgid "" +"For either option, please choose whether to make this hub your new primary " +"address, or whether your old location should continue this role. You will be" +" able to post from either location, but only one can be marked as the " +"primary location for files, photos, and media." +msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen." + +#: ../../mod/import.php:522 +msgid "Make this hub my primary location" +msgstr "Stel deze hub als mijn primaire locatie in" + +#: ../../mod/import.php:523 +msgid "" +"Import existing posts if possible (experimental - limited by available " +"memory" +msgstr "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)" + +#: ../../mod/import.php:524 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." +msgstr "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid." #: ../../mod/photos.php:79 msgid "Page owner information could not be retrieved." @@ -5331,7 +6417,7 @@ msgstr "Als profielfoto gebruiken" msgid "Private Photo" msgstr "Privéfoto" -#: ../../mod/photos.php:905 ../../mod/events.php:525 ../../mod/events.php:532 +#: ../../mod/photos.php:905 ../../mod/events.php:652 ../../mod/events.php:659 msgid "Previous" msgstr "Vorige" @@ -5339,15 +6425,6 @@ msgstr "Vorige" msgid "View Full Size" msgstr "Volledige grootte weergeven" -#: ../../mod/photos.php:914 ../../mod/events.php:526 ../../mod/events.php:533 -#: ../../mod/setup.php:285 -msgid "Next" -msgstr "Volgende" - -#: ../../mod/photos.php:954 ../../mod/tagrm.php:133 -msgid "Remove" -msgstr "Verwijderen" - #: ../../mod/photos.php:988 msgid "Edit photo" msgstr "Foto bewerken" @@ -5400,58 +6477,340 @@ msgstr "Album weergeven" msgid "Recent Photos" msgstr "Recente foto's" -#: ../../mod/editblock.php:78 ../../mod/editblock.php:94 -#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76 -#: ../../mod/editwebpage.php:77 -msgid "Item not found" +#: ../../mod/probe.php:24 ../../mod/probe.php:30 +#, php-format +msgid "Fetching URL returns error: %1$s" +msgstr "Ophalen URL gaf een foutmelding terug: %1$s" + +#: ../../mod/profile_photo.php:112 +msgid "Image uploaded but image cropping failed." +msgstr "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. " + +#: ../../mod/profile_photo.php:166 +msgid "Image resize failed." +msgstr "Afbeelding kon niet van grootte veranderd worden." + +#: ../../mod/profile_photo.php:212 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven." + +#: ../../mod/profile_photo.php:250 +msgid "Image upload failed." +msgstr "Uploaden afbeelding mislukt" + +#: ../../mod/profile_photo.php:269 +msgid "Unable to process image." +msgstr "Niet in staat om afbeelding te verwerken." + +#: ../../mod/profile_photo.php:297 +msgid "female" +msgstr "vrouw" + +#: ../../mod/profile_photo.php:298 +#, php-format +msgid "%1$s updated her %2$s" +msgstr "%1$s heeft haar %2$s bijgewerkt" + +#: ../../mod/profile_photo.php:299 +msgid "male" +msgstr "man" + +#: ../../mod/profile_photo.php:300 +#, php-format +msgid "%1$s updated his %2$s" +msgstr "%1$s heeft zijn %2$s bijgewerkt" + +#: ../../mod/profile_photo.php:302 +#, php-format +msgid "%1$s updated their %2$s" +msgstr "%1$s hebben hun %2$s bijgewerkt" + +#: ../../mod/profile_photo.php:304 +msgid "profile photo" +msgstr "profielfoto" + +#: ../../mod/profile_photo.php:368 ../../mod/profile_photo.php:409 +msgid "Photo not available." +msgstr "Foto niet beschikbaar." + +#: ../../mod/profile_photo.php:450 +msgid "Upload File:" +msgstr "Bestand uploaden:" + +#: ../../mod/profile_photo.php:451 +msgid "Select a profile:" +msgstr "Kies een profiel:" + +#: ../../mod/profile_photo.php:452 +msgid "Upload Profile Photo" +msgstr "Profielfoto uploaden" + +#: ../../mod/profile_photo.php:457 ../../mod/settings.php:975 +msgid "or" +msgstr "of" + +#: ../../mod/profile_photo.php:457 +msgid "skip this step" +msgstr "sla deze stap over" + +#: ../../mod/profile_photo.php:457 +msgid "select a photo from your photo albums" +msgstr "Kies een foto uit jouw fotoalbums" + +#: ../../mod/profile_photo.php:473 +msgid "Crop Image" +msgstr "Afbeelding bijsnijden" + +#: ../../mod/profile_photo.php:474 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven." + +#: ../../mod/profile_photo.php:476 +msgid "Done Editing" +msgstr "Klaar met bewerken" + +#: ../../mod/thing.php:111 +msgid "Thing updated" +msgstr "Ding bijgewerkt" + +#: ../../mod/thing.php:163 +msgid "Object store: failed" +msgstr "Opslaan van ding mislukt" + +#: ../../mod/thing.php:167 +msgid "Thing added" +msgstr "Ding toegevoegd" + +#: ../../mod/thing.php:193 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "OBJ: %1$s %2$s %3$s" + +#: ../../mod/thing.php:256 +msgid "Show Thing" +msgstr "Ding weergeven" + +#: ../../mod/thing.php:263 +msgid "item not found." msgstr "Item niet gevonden" -#: ../../mod/editblock.php:118 -msgid "Delete block?" -msgstr "Blok verwijderen" +#: ../../mod/thing.php:296 +msgid "Edit Thing" +msgstr "Ding bewerken" -#: ../../mod/editblock.php:145 ../../mod/editpost.php:121 -#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:185 -msgid "Insert YouTube video" -msgstr "YouTube-video invoegen" +#: ../../mod/thing.php:298 ../../mod/thing.php:348 +msgid "Select a profile" +msgstr "Kies een profiel" -#: ../../mod/editblock.php:146 ../../mod/editpost.php:122 -#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:186 -msgid "Insert Vorbis [.ogg] video" -msgstr "Vorbis-video [.ogg] invoegen" +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Post an activity" +msgstr "Plaats een bericht" -#: ../../mod/editblock.php:147 ../../mod/editpost.php:123 -#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:187 -msgid "Insert Vorbis [.ogg] audio" -msgstr "Vorbis-audio [.ogg] invoegen" +#: ../../mod/thing.php:302 ../../mod/thing.php:351 +msgid "Only sends to viewers of the applicable profile" +msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien." -#: ../../mod/editblock.php:180 -msgid "Edit Block" -msgstr "Blok bewerken" +#: ../../mod/thing.php:304 ../../mod/thing.php:353 +msgid "Name of thing e.g. something" +msgstr "Naam van ding" + +#: ../../mod/thing.php:306 ../../mod/thing.php:354 +msgid "URL of thing (optional)" +msgstr "URL van ding (optioneel)" + +#: ../../mod/thing.php:308 ../../mod/thing.php:355 +msgid "URL for photo of thing (optional)" +msgstr "URL van foto van ding (optioneel)" + +#: ../../mod/thing.php:346 +msgid "Add Thing to your Profile" +msgstr "Ding aan je profiel toevoegen" #: ../../mod/dirsearch.php:29 msgid "This directory server requires an access token" msgstr "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig" -#: ../../mod/editpost.php:31 -msgid "Item is not editable" -msgstr "Item is niet te bewerken" +#: ../../mod/editblock.php:118 +msgid "Delete block?" +msgstr "Blok verwijderen" -#: ../../mod/editpost.php:57 -msgid "Delete item?" -msgstr "Item verwijderen?" +#: ../../mod/editblock.php:180 +msgid "Edit Block" +msgstr "Blok bewerken" -#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 -msgid "Edit post" -msgstr "Bericht bewerken" +#: ../../mod/removeaccount.php:30 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." +msgstr "Het verwijderen van een account is niet toegestaan binnen 48 uur nadat het wachtwoord is veranderd." -#: ../../mod/oexchange.php:23 -msgid "Unable to find your hub." -msgstr "Niet in staat om je hub te vinden" +#: ../../mod/removeaccount.php:57 +msgid "Remove This Account" +msgstr "Verwijder dit account" -#: ../../mod/oexchange.php:37 -msgid "Post successful." -msgstr "Verzenden bericht geslaagd." +#: ../../mod/removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "Dit account en al zijn kanalen worden volledig uit het $Projectname-netwerk verwijderd." + +#: ../../mod/removeaccount.php:60 +msgid "" +"Remove this account, all its channels and all its channel clones from the " +"network" +msgstr "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het $Projectname-netwerk verwijderen" + +#: ../../mod/removeaccount.php:60 +msgid "" +"By default only the instances of the channels located on this hub will be " +"removed from the network" +msgstr "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het $Projectname-netwerk verwijderd" + +#: ../../mod/removeaccount.php:61 ../../mod/settings.php:700 +msgid "Remove Account" +msgstr "Account verwijderen" + +#: ../../mod/import_items.php:101 +msgid "Import completed" +msgstr "Importeren voltooid" + +#: ../../mod/import_items.php:119 +msgid "Import Items" +msgstr "Importeer items" + +#: ../../mod/import_items.php:120 +msgid "" +"Use this form to import existing posts and content from an export file." +msgstr "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren." + +#: ../../mod/network.php:91 +msgid "No such group" +msgstr "Collectie niet gevonden" + +#: ../../mod/network.php:131 +msgid "No such channel" +msgstr "Niet zo'n kanaal" + +#: ../../mod/network.php:136 +msgid "forum" +msgstr "forum" + +#: ../../mod/network.php:148 +msgid "Search Results For:" +msgstr "Zoekresultaten voor:" + +#: ../../mod/network.php:207 +msgid "Collection is empty" +msgstr "Collectie is leeg" + +#: ../../mod/network.php:216 +msgid "Collection: " +msgstr "Collectie: " + +#: ../../mod/network.php:242 +msgid "Invalid connection." +msgstr "Ongeldige connectie." + +#: ../../mod/pdledit.php:13 +msgid "Layout updated." +msgstr "Lay-out bijgewerkt." + +#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 +msgid "Edit System Page Description" +msgstr "Systeempagina's bewerken" + +#: ../../mod/pdledit.php:48 +msgid "Layout not found." +msgstr "Lay-out niet gevonden." + +#: ../../mod/pdledit.php:54 +msgid "Module Name:" +msgstr "Modulenaam:" + +#: ../../mod/pdledit.php:55 +msgid "Layout Help" +msgstr "Lay-out-hulp" + +#: ../../mod/register.php:44 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "Maximum toegestane dagelijkse registraties op deze $Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals." + +#: ../../mod/register.php:50 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden." + +#: ../../mod/register.php:84 +msgid "Passwords do not match." +msgstr "Wachtwoorden komen niet met elkaar overeen." + +#: ../../mod/register.php:117 +msgid "" +"Registration successful. Please check your email for validation " +"instructions." +msgstr "Registratie geslaagd. Controleer je e-mail voor instructies." + +#: ../../mod/register.php:123 +msgid "Your registration is pending approval by the site owner." +msgstr "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze $Projectname-hub." + +#: ../../mod/register.php:126 +msgid "Your registration can not be processed." +msgstr "Jouw registratie kan niet verwerkt worden." + +#: ../../mod/register.php:163 +msgid "Registration on this site/hub is by approval only." +msgstr "Registraties op deze $Projectname-hub moeten eerst worden goedgekeurd." + +#: ../../mod/register.php:164 +msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" +msgstr "<a href=\"pubsites\">Registreer op een andere $Projectname-hub</a>" + +#: ../../mod/register.php:174 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "Deze $Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals." + +#: ../../mod/register.php:185 +msgid "Terms of Service" +msgstr "Gebruiksvoorwaarden" + +#: ../../mod/register.php:191 +#, php-format +msgid "I accept the %s for this website" +msgstr "Ik accepteer de %s van deze $Projectname-hub" + +#: ../../mod/register.php:193 +#, php-format +msgid "I am over 13 years of age and accept the %s for this website" +msgstr "Ik accepteer de %s van deze $Projectname-hub" + +#: ../../mod/register.php:207 ../../mod/admin.php:436 +msgid "Registration" +msgstr "Registratie" + +#: ../../mod/register.php:212 +msgid "Membership on this site is by invitation only." +msgstr "Registreren op deze $Projectname-hub kan alleen op uitnodiging." + +#: ../../mod/register.php:213 +msgid "Please enter your invitation code" +msgstr "Vul jouw uitnodigingscode in" + +#: ../../mod/register.php:216 +msgid "Your email address" +msgstr "Jouw e-mailadres" + +#: ../../mod/register.php:217 +msgid "Choose a password" +msgstr "Geef een wachtwoord op" + +#: ../../mod/register.php:218 +msgid "Please re-enter your password" +msgstr "Geef het wachtwoord opnieuw op" #: ../../mod/admin.php:52 msgid "Theme settings updated." @@ -5524,7 +6883,7 @@ msgstr "Versie" msgid "Site settings updated." msgstr "Hub-instellingen bijgewerkt." -#: ../../mod/admin.php:361 ../../mod/settings.php:791 +#: ../../mod/admin.php:361 ../../mod/settings.php:793 msgid "mobile" msgstr "mobiel" @@ -5556,10 +6915,6 @@ msgstr "Mijn $Projectname-hub kent alleen gratis toegang" msgid "My site offers free accounts with optional paid upgrades" msgstr "Mijn $Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie" -#: ../../mod/admin.php:436 ../../mod/register.php:207 -msgid "Registration" -msgstr "Registratie" - #: ../../mod/admin.php:437 msgid "File upload" msgstr "Bestand uploaden" @@ -6072,10 +7427,6 @@ msgstr "Scripts niet toestaan" msgid "UID" msgstr "UID" -#: ../../mod/admin.php:974 ../../mod/profiles.php:447 -msgid "Address" -msgstr "Kanaaladres" - #: ../../mod/admin.php:976 msgid "" "Selected channels will be deleted!\\n\\nEverything that was posted in these " @@ -6199,1270 +7550,22 @@ msgstr "Velddefinitie niet gevonden" msgid "Edit Profile Field" msgstr "Profielveld bewerken" -#: ../../mod/appman.php:28 ../../mod/appman.php:44 -msgid "App installed." -msgstr "App geïnstalleerd" - -#: ../../mod/appman.php:37 -msgid "Malformed app." -msgstr "Misvormde app." - -#: ../../mod/appman.php:80 -msgid "Embed code" -msgstr "Insluitcode" - -#: ../../mod/appman.php:86 -msgid "Edit App" -msgstr "App bewerken" - -#: ../../mod/appman.php:86 -msgid "Create App" -msgstr "App maken" - -#: ../../mod/appman.php:91 -msgid "Name of app" -msgstr "Naam van app" - -#: ../../mod/appman.php:92 -msgid "Location (URL) of app" -msgstr "Locatie (URL) van app" - -#: ../../mod/appman.php:93 ../../mod/rbmark.php:97 -msgid "Description" -msgstr "Omschrijving" - -#: ../../mod/appman.php:94 -msgid "Photo icon URL" -msgstr "URL van pictogram" - -#: ../../mod/appman.php:94 -msgid "80 x 80 pixels - optional" -msgstr "80 x 80 pixels (optioneel)" - -#: ../../mod/appman.php:95 -msgid "Version ID" -msgstr "Versie-ID" - -#: ../../mod/appman.php:96 -msgid "Price of app" -msgstr "Prijs van de app" - -#: ../../mod/appman.php:97 -msgid "Location (URL) to purchase app" -msgstr "Locatie (URL) om de app aan te schaffen" - -#: ../../mod/menu.php:45 -msgid "Unable to update menu." -msgstr "Niet in staat om menu aan te passen" - -#: ../../mod/menu.php:56 -msgid "Unable to create menu." -msgstr "Niet in staat om menu aan te maken." - -#: ../../mod/menu.php:94 ../../mod/menu.php:106 -msgid "Menu Name" -msgstr "Menunaam" - -#: ../../mod/menu.php:94 -msgid "Unique name (not visible on webpage) - required" -msgstr "Unieke naam vereist (niet zichtbaar op webpagina)" - -#: ../../mod/menu.php:95 ../../mod/menu.php:107 -msgid "Menu Title" -msgstr "Menutitel" - -#: ../../mod/menu.php:95 -msgid "Visible on webpage - leave empty for no title" -msgstr "Zichtbaar op webpagina (leeg laten voor geen titel)" - -#: ../../mod/menu.php:96 -msgid "Allow Bookmarks" -msgstr "Bladwijzers toestaan" - -#: ../../mod/menu.php:96 ../../mod/menu.php:153 -msgid "Menu may be used to store saved bookmarks" -msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan" - -#: ../../mod/menu.php:97 ../../mod/menu.php:155 -msgid "Submit and proceed" -msgstr "Opslaan en doorgaan" - -#: ../../mod/menu.php:109 -msgid "Drop" -msgstr "Verwijderen" - -#: ../../mod/menu.php:113 -msgid "Bookmarks allowed" -msgstr "Bladwijzers toegestaan" - -#: ../../mod/menu.php:115 -msgid "Delete this menu" -msgstr "Menu verwijderen" - -#: ../../mod/menu.php:116 ../../mod/menu.php:150 -msgid "Edit menu contents" -msgstr "Bewerk de inhoud van het menu" - -#: ../../mod/menu.php:117 -msgid "Edit this menu" -msgstr "Dit menu bewerken" - -#: ../../mod/menu.php:132 -msgid "Menu could not be deleted." -msgstr "Menu kon niet verwijderd worden." - -#: ../../mod/menu.php:145 -msgid "Edit Menu" -msgstr "Menu bewerken" - -#: ../../mod/menu.php:149 -msgid "Add or remove entries to this menu" -msgstr "Items aan dit menu toevoegen of verwijder" - -#: ../../mod/menu.php:151 -msgid "Menu name" -msgstr "Naam van menu" - -#: ../../mod/menu.php:151 -msgid "Must be unique, only seen by you" -msgstr "Moet uniek zijn en is alleen zichtbaar voor jou." - -#: ../../mod/menu.php:152 -msgid "Menu title" -msgstr "Titel van menu" - -#: ../../mod/menu.php:152 -msgid "Menu title as seen by others" -msgstr "Titel van menu zoals anderen dat zien." - -#: ../../mod/menu.php:153 -msgid "Allow bookmarks" -msgstr "Bladwijzers toestaan" - -#: ../../mod/notify.php:53 ../../mod/notifications.php:94 -msgid "No more system notifications." -msgstr "Geen systeemnotificaties meer." - -#: ../../mod/notify.php:57 ../../mod/notifications.php:98 -msgid "System Notifications" -msgstr "Systeemnotificaties" - -#: ../../mod/page.php:126 -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." - -#: ../../mod/new_channel.php:109 -msgid "Add a Channel" -msgstr "Kanaal toevoegen" - -#: ../../mod/new_channel.php:110 -msgid "" -"A channel is your own collection of related web pages. A channel can be used" -" to hold social network profiles, blogs, conversation groups and forums, " -"celebrity pages, and much more. You may create as many channels as your " -"service provider allows." -msgstr "Naast een account moet je tenminste één kanaal aanmaken. Een kanaal is een persoonlijke verzameling (gerelateerde) berichten en media, zoals je misschien gewend bent van sociale netwerken. Een kanaal kan gebruikt worden voor social media, een blog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat." - -#: ../../mod/new_channel.php:112 ../../mod/sources.php:103 -#: ../../mod/sources.php:137 -msgid "Channel Name" -msgstr "Kanaalnaam" - -#: ../../mod/new_channel.php:113 -msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" " -msgstr "Jouw naam of een andere relevante naam. Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Familieforum\"" - -#: ../../mod/new_channel.php:114 -msgid "Choose a short nickname" -msgstr "Korte bijnaam" - -#: ../../mod/new_channel.php:115 -msgid "" -"Your nickname will be used to create an easily remembered channel address " -"(like an email address) which you can share with others." -msgstr "Deze bijnaam (geen spaties) wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) en het internetadres (URL) van jouw kanaal aan te maken, die je dan met anderen kunt delen. Voorbeeld: <b>janp</b> wordt <em>janp@jouw_hub.nl</em> en <em>https://jouw_hub.nl/channel/janp</em>." - -#: ../../mod/new_channel.php:116 -msgid "Or <a href=\"import\">import an existing channel</a> from another location" -msgstr "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie." - -#: ../../mod/new_channel.php:118 -msgid "" -"Please choose a channel type (such as social networking or community forum) " -"and privacy requirements so we can select the best permissions for you" -msgstr "Kies een kanaaltype en het door jouw gewenste privacy-niveau, zodat automatisch de beste permissies kunnen worden ingesteld. Dit kan later, indien gewenst, worden veranderd." - -#: ../../mod/new_channel.php:119 -msgid "Channel Type" -msgstr "Kanaaltype" - -#: ../../mod/new_channel.php:119 -msgid "Read more about roles" -msgstr "Lees meer over kanaaltypes" - -#: ../../mod/notifications.php:26 -msgid "Invalid request identifier." -msgstr "Ongeldige verzoek identificator (request identifier)" - -#: ../../mod/notifications.php:35 -msgid "Discard" -msgstr "Annuleren" - -#: ../../mod/pdledit.php:13 -msgid "Layout updated." -msgstr "Lay-out bijgewerkt." - -#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53 -msgid "Edit System Page Description" -msgstr "Systeempagina's bewerken" - -#: ../../mod/pdledit.php:48 -msgid "Layout not found." -msgstr "Lay-out niet gevonden." - -#: ../../mod/pdledit.php:54 -msgid "Module Name:" -msgstr "Modulenaam:" - -#: ../../mod/pdledit.php:55 -msgid "Layout Help" -msgstr "Lay-out-hulp" - -#: ../../mod/subthread.php:114 -#, php-format -msgid "%1$s is following %2$s's %3$s" -msgstr "%1$s volgt het %3$s van %2$s" - -#: ../../mod/subthread.php:116 -#, php-format -msgid "%1$s stopped following %2$s's %3$s" -msgstr "%1$s volgt het %3$s van %2$s niet meer" - -#: ../../mod/lostpass.php:15 -msgid "No valid account found." -msgstr "Geen geldige account gevonden." - -#: ../../mod/lostpass.php:29 -msgid "Password reset request issued. Check your email." -msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail." - -#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103 -#, php-format -msgid "Site Member (%s)" -msgstr "Lid van hub (%s)" - -#: ../../mod/lostpass.php:40 -#, php-format -msgid "Password reset requested at %s" -msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend" - -#: ../../mod/lostpass.php:63 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." -msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt." - -#: ../../mod/lostpass.php:86 ../../boot.php:1494 -msgid "Password Reset" -msgstr "Wachtwoord vergeten?" - -#: ../../mod/lostpass.php:87 -msgid "Your password has been reset as requested." -msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht." - -#: ../../mod/lostpass.php:88 -msgid "Your new password is" -msgstr "Jouw nieuwe wachtwoord is" - -#: ../../mod/lostpass.php:89 -msgid "Save or copy your new password - and then" -msgstr "Kopieer of sla je nieuwe wachtwoord op - en" - -#: ../../mod/lostpass.php:90 -msgid "click here to login" -msgstr "klik dan hier om in te loggen" - -#: ../../mod/lostpass.php:91 -msgid "" -"Your password may be changed from the <em>Settings</em> page after " -"successful login." -msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd." - -#: ../../mod/lostpass.php:108 -#, php-format -msgid "Your password has changed at %s" -msgstr "Jouw wachtwoord op %s is veranderd" - -#: ../../mod/lostpass.php:123 -msgid "Forgot your Password?" -msgstr "Wachtwoord vergeten?" - -#: ../../mod/lostpass.php:124 -msgid "" -"Enter your email address and submit to have your password reset. Then check " -"your email for further instructions." -msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies." - -#: ../../mod/lostpass.php:125 -msgid "Email Address" -msgstr "E-mailadres" - -#: ../../mod/lostpass.php:126 -msgid "Reset" -msgstr "Opnieuw instellen" - -#: ../../mod/home.php:57 ../../mod/home.php:65 ../../mod/siteinfo.php:157 -msgid "$Projectname" -msgstr "$Projectname" - -#: ../../mod/home.php:75 -#, php-format -msgid "Welcome to %s" -msgstr "Welkom op %s" - -#: ../../mod/dav.php:121 -msgid "$Projectname channel" -msgstr "$Projectname-kanaal" - -#: ../../mod/events.php:21 -msgid "Calendar entries imported." -msgstr "Agenda-items geïmporteerd." - -#: ../../mod/events.php:23 -msgid "No calendar entries found." -msgstr "Geen agenda-items gevonden." - -#: ../../mod/events.php:96 -msgid "Event can not end before it has started." -msgstr "Gebeurtenis kan niet eindigen voordat het is begonnen" - -#: ../../mod/events.php:98 ../../mod/events.php:107 ../../mod/events.php:127 -msgid "Unable to generate preview." -msgstr "Niet in staat om voorvertoning te genereren" - -#: ../../mod/events.php:105 -msgid "Event title and start time are required." -msgstr "Titel en begintijd van gebeurtenis zijn vereist." - -#: ../../mod/events.php:125 ../../mod/events.php:250 -msgid "Event not found." -msgstr "Gebeurtenis niet gevonden" - -#: ../../mod/events.php:446 -msgid "l, F j" -msgstr "l j F" - -#: ../../mod/events.php:468 -msgid "Edit event" -msgstr "Gebeurtenis bewerken" - -#: ../../mod/events.php:470 -msgid "Delete event" -msgstr "Gebeurtenis verwijderen" - -#: ../../mod/events.php:504 -msgid "calendar" -msgstr "agenda" - -#: ../../mod/events.php:524 -msgid "New Event" -msgstr "Nieuwe gebeurtenis" - -#: ../../mod/events.php:534 -msgid "Today" -msgstr "Vandaag" - -#: ../../mod/events.php:564 -msgid "Event removed" -msgstr "Gebeurtenis verwijderd" - -#: ../../mod/events.php:567 -msgid "Failed to remove event" -msgstr "Verwijderen gebeurtenis mislukt" - -#: ../../mod/events.php:681 -msgid "Event details" -msgstr "Details van gebeurtenis" - -#: ../../mod/events.php:682 -msgid "Starting date and Title are required." -msgstr "Begintijd en titel zijn vereist." - -#: ../../mod/events.php:684 -msgid "Categories (comma-separated list)" -msgstr "Categorieën (door komma's gescheiden lijst)" - -#: ../../mod/events.php:686 -msgid "Event Starts:" -msgstr "Begin gebeurtenis:" - -#: ../../mod/events.php:693 -msgid "Finish date/time is not known or not relevant" -msgstr "Einddatum/-tijd is niet bekend of niet relevant" - -#: ../../mod/events.php:695 -msgid "Event Finishes:" -msgstr "Einde gebeurtenis:" - -#: ../../mod/events.php:697 ../../mod/events.php:698 -msgid "Adjust for viewer timezone" -msgstr "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt" - -#: ../../mod/events.php:697 -msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." -msgstr "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen." - -#: ../../mod/events.php:703 -msgid "Title:" -msgstr "Titel:" - -#: ../../mod/events.php:705 -msgid "Share this event" -msgstr "Deel deze gebeurtenis" - -#: ../../mod/impel.php:192 -#, php-format -msgid "%s element installed" -msgstr "%s onderdeel geïnstalleerd" - -#: ../../mod/impel.php:195 -#, php-format -msgid "%s element installation failed" -msgstr "Installatie %s-element mislukt" - -#: ../../mod/probe.php:24 ../../mod/probe.php:30 -#, php-format -msgid "Fetching URL returns error: %1$s" -msgstr "Ophalen URL gaf een foutmelding terug: %1$s" - -#: ../../mod/match.php:22 -msgid "Profile Match" -msgstr "Profielovereenkomst" - -#: ../../mod/match.php:31 -msgid "No keywords to match. Please add keywords to your default profile." -msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe." - -#: ../../mod/match.php:63 -msgid "is interested in:" -msgstr "is geïnteresseerd in:" - -#: ../../mod/match.php:70 -msgid "No matches" -msgstr "Geen overeenkomsten" - -#: ../../mod/profile_photo.php:111 -msgid "Image uploaded but image cropping failed." -msgstr "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. " - -#: ../../mod/profile_photo.php:165 -msgid "Image resize failed." -msgstr "Afbeelding kon niet van grootte veranderd worden." - -#: ../../mod/profile_photo.php:209 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven." - -#: ../../mod/profile_photo.php:247 -msgid "Image upload failed." -msgstr "Uploaden afbeelding mislukt" - -#: ../../mod/profile_photo.php:266 -msgid "Unable to process image." -msgstr "Niet in staat om afbeelding te verwerken." - -#: ../../mod/profile_photo.php:294 -msgid "female" -msgstr "vrouw" - -#: ../../mod/profile_photo.php:295 -#, php-format -msgid "%1$s updated her %2$s" -msgstr "%1$s heeft haar %2$s bijgewerkt" - -#: ../../mod/profile_photo.php:296 -msgid "male" -msgstr "man" - -#: ../../mod/profile_photo.php:297 -#, php-format -msgid "%1$s updated his %2$s" -msgstr "%1$s heeft zijn %2$s bijgewerkt" - -#: ../../mod/profile_photo.php:299 -#, php-format -msgid "%1$s updated their %2$s" -msgstr "%1$s hebben hun %2$s bijgewerkt" - -#: ../../mod/profile_photo.php:301 -msgid "profile photo" -msgstr "profielfoto" - -#: ../../mod/profile_photo.php:365 ../../mod/profile_photo.php:406 -msgid "Photo not available." -msgstr "Foto niet beschikbaar." - -#: ../../mod/profile_photo.php:447 -msgid "Upload File:" -msgstr "Bestand uploaden:" - -#: ../../mod/profile_photo.php:448 -msgid "Select a profile:" -msgstr "Kies een profiel:" - -#: ../../mod/profile_photo.php:449 -msgid "Upload Profile Photo" -msgstr "Profielfoto uploaden" - -#: ../../mod/profile_photo.php:454 ../../mod/settings.php:973 -msgid "or" -msgstr "of" - -#: ../../mod/profile_photo.php:454 -msgid "skip this step" -msgstr "sla deze stap over" - -#: ../../mod/profile_photo.php:454 -msgid "select a photo from your photo albums" -msgstr "Kies een foto uit jouw fotoalbums" - -#: ../../mod/profile_photo.php:470 -msgid "Crop Image" -msgstr "Afbeelding bijsnijden" - -#: ../../mod/profile_photo.php:471 -msgid "Please adjust the image cropping for optimum viewing." -msgstr "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven." - -#: ../../mod/profile_photo.php:473 -msgid "Done Editing" -msgstr "Klaar met bewerken" - -#: ../../mod/follow.php:25 -msgid "Channel added." -msgstr "Kanaal toegevoegd." - -#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94 -msgid "Tag removed" -msgstr "Tag verwijderd" - -#: ../../mod/tagrm.php:119 -msgid "Remove Item Tag" -msgstr "Verwijder item-tag" - -#: ../../mod/tagrm.php:121 -msgid "Select a tag to remove: " -msgstr "Kies een tag om te verwijderen" - -#: ../../mod/ratings.php:69 -msgid "No ratings" -msgstr "Geen beoordelingen" - -#: ../../mod/ratings.php:99 -msgid "Ratings" -msgstr "Waarderingen" - -#: ../../mod/ratings.php:100 -msgid "Rating: " -msgstr "Waardering: " - -#: ../../mod/ratings.php:101 -msgid "Website: " -msgstr "Website: " - -#: ../../mod/ratings.php:103 -msgid "Description: " -msgstr "Omschrijving: " - -#: ../../mod/item.php:173 -msgid "Unable to locate original post." -msgstr "Niet in staat om de originele locatie van het bericht te vinden. " - -#: ../../mod/item.php:417 -msgid "Empty post discarded." -msgstr "Leeg bericht geannuleerd" - -#: ../../mod/item.php:457 -msgid "Executable content type not permitted to this channel." -msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal." - -#: ../../mod/item.php:822 -msgid "Duplicate post suppressed." -msgstr "Dubbel bericht tegengehouden." - -#: ../../mod/item.php:953 -msgid "System error. Post not saved." -msgstr "Systeemfout. Bericht niet opgeslagen." - -#: ../../mod/item.php:1220 -msgid "Unable to obtain post information from database." -msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen." - -#: ../../mod/item.php:1227 -#, php-format -msgid "You have reached your limit of %1$.0f top level posts." -msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt." - -#: ../../mod/item.php:1234 -#, php-format -msgid "You have reached your limit of %1$.0f webpages." -msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt." - -#: ../../mod/webpages.php:191 -msgid "Page Title" -msgstr "Paginatitel" - -#: ../../mod/register.php:44 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." -msgstr "Maximum toegestane dagelijkse registraties op deze $Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals." - -#: ../../mod/register.php:50 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." -msgstr "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden." - -#: ../../mod/register.php:84 -msgid "Passwords do not match." -msgstr "Wachtwoorden komen niet met elkaar overeen." - -#: ../../mod/register.php:117 -msgid "" -"Registration successful. Please check your email for validation " -"instructions." -msgstr "Registratie geslaagd. Controleer je e-mail voor instructies." - -#: ../../mod/register.php:123 -msgid "Your registration is pending approval by the site owner." -msgstr "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze $Projectname-hub." - -#: ../../mod/register.php:126 -msgid "Your registration can not be processed." -msgstr "Jouw registratie kan niet verwerkt worden." - -#: ../../mod/register.php:163 -msgid "Registration on this site/hub is by approval only." -msgstr "Registraties op deze $Projectname-hub moeten eerst worden goedgekeurd." - -#: ../../mod/register.php:164 -msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>" -msgstr "<a href=\"pubsites\">Registreer op een andere $Projectname-hub</a>" - -#: ../../mod/register.php:174 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "Deze $Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals." - -#: ../../mod/register.php:185 -msgid "Terms of Service" -msgstr "Gebruiksvoorwaarden" - -#: ../../mod/register.php:191 -#, php-format -msgid "I accept the %s for this website" -msgstr "Ik accepteer de %s van deze $Projectname-hub" - -#: ../../mod/register.php:193 -#, php-format -msgid "I am over 13 years of age and accept the %s for this website" -msgstr "Ik accepteer de %s van deze $Projectname-hub" - -#: ../../mod/register.php:212 -msgid "Membership on this site is by invitation only." -msgstr "Registreren op deze $Projectname-hub kan alleen op uitnodiging." - -#: ../../mod/register.php:213 -msgid "Please enter your invitation code" -msgstr "Vul jouw uitnodigingscode in" - -#: ../../mod/register.php:216 -msgid "Your email address" -msgstr "Jouw e-mailadres" - -#: ../../mod/register.php:217 -msgid "Choose a password" -msgstr "Geef een wachtwoord op" - -#: ../../mod/register.php:218 -msgid "Please re-enter your password" -msgstr "Geef het wachtwoord opnieuw op" - -#: ../../mod/blocks.php:95 ../../mod/blocks.php:148 -msgid "Block Name" -msgstr "Bloknaam" - -#: ../../mod/blocks.php:149 -msgid "Block Title" -msgstr "Bloktitel" - -#: ../../mod/removeaccount.php:30 -msgid "" -"Account removals are not allowed within 48 hours of changing the account " -"password." -msgstr "Het verwijderen van een account is niet toegestaan binnen 48 uur nadat het wachtwoord is veranderd." - -#: ../../mod/removeaccount.php:57 -msgid "Remove This Account" -msgstr "Verwijder dit account" - -#: ../../mod/removeaccount.php:58 -msgid "" -"This account and all its channels will be completely removed from the " -"network. " -msgstr "Dit account en al zijn kanalen worden volledig uit het $Projectname-netwerk verwijderd." - -#: ../../mod/removeaccount.php:60 -msgid "" -"Remove this account, all its channels and all its channel clones from the " -"network" -msgstr "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het $Projectname-netwerk verwijderen" - -#: ../../mod/removeaccount.php:60 -msgid "" -"By default only the instances of the channels located on this hub will be " -"removed from the network" -msgstr "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het $Projectname-netwerk verwijderd" - -#: ../../mod/removeaccount.php:61 ../../mod/settings.php:698 -msgid "Remove Account" -msgstr "Account verwijderen" - -#: ../../mod/service_limits.php:19 -msgid "No service class restrictions found." -msgstr "Geen abonnementsbeperkingen gevonden." - -#: ../../mod/attach.php:9 -msgid "Item not available." -msgstr "Item is niet aanwezig." - -#: ../../mod/pubsites.php:18 -msgid "Public Sites" -msgstr "Openbare hubs" - -#: ../../mod/pubsites.php:21 -msgid "" -"The listed sites allow public registration for the $Projectname network. All" -" sites in the network are interlinked so membership on any of them conveys " -"membership in the network as a whole. Some sites may require subscription or" -" provide tiered service plans. The provider links <strong>may</strong> " -"provide additional details." -msgstr "Op de hier weergegeven hubs kan iedereen zich voor het $Projectname-netwerk aanmelden. Alle hubs in het $Projectname-netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen betaalde abonnementen voor uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven." - -#: ../../mod/pubsites.php:27 -msgid "Rate this hub" -msgstr "Beoordeel deze hub" - -#: ../../mod/pubsites.php:28 -msgid "Site URL" -msgstr "URL hub" - -#: ../../mod/pubsites.php:28 -msgid "Access Type" -msgstr "Toegangstype" - -#: ../../mod/pubsites.php:28 -msgid "Registration Policy" -msgstr "Registratiebeleid" - -#: ../../mod/pubsites.php:28 ../../mod/profiles.php:454 -msgid "Location" -msgstr "Locatie" - -#: ../../mod/pubsites.php:28 -msgid "Project" -msgstr "Project" - -#: ../../mod/pubsites.php:28 -msgid "View hub ratings" -msgstr "Bekijk hubbeoordelingen" - -#: ../../mod/pubsites.php:32 -msgid "Rate" -msgstr "Beoordeel" - -#: ../../mod/pubsites.php:33 -msgid "View ratings" -msgstr "Bekijk beoordelingen" - -#: ../../mod/sources.php:32 -msgid "Failed to create source. No channel selected." -msgstr "Aanmaken bron mislukt. Geen kanaal geselecteerd." - -#: ../../mod/sources.php:45 -msgid "Source created." -msgstr "Bron aangemaakt." - -#: ../../mod/sources.php:57 -msgid "Source updated." -msgstr "Bron aangemaakt." - -#: ../../mod/sources.php:82 -msgid "*" -msgstr "*" - -#: ../../mod/sources.php:89 -msgid "Manage remote sources of content for your channel." -msgstr "Beheer externe bronnen met inhoud voor jouw kanaal" - -#: ../../mod/sources.php:90 ../../mod/sources.php:100 -msgid "New Source" -msgstr "Nieuwe bron" - -#: ../../mod/sources.php:101 ../../mod/sources.php:133 -msgid "" -"Import all or selected content from the following channel into this channel " -"and distribute it according to your channel settings." -msgstr "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen." - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Only import content with these words (one per line)" -msgstr "Importeer alleen inhoud met deze woorden (één per regel)" - -#: ../../mod/sources.php:102 ../../mod/sources.php:134 -msgid "Leave blank to import all public content" -msgstr "Laat leeg om alle openbare inhoud te importeren" - -#: ../../mod/sources.php:123 ../../mod/sources.php:150 -msgid "Source not found." -msgstr "Bron niet gevonden" - -#: ../../mod/sources.php:130 -msgid "Edit Source" -msgstr "Bron bewerken" - -#: ../../mod/sources.php:131 -msgid "Delete Source" -msgstr "Bron verwijderen" - -#: ../../mod/sources.php:158 -msgid "Source removed" -msgstr "Bron verwijderd" - -#: ../../mod/sources.php:160 -msgid "Unable to remove source." -msgstr "Verwijderen bron mislukt." - -#: ../../mod/lockview.php:37 -msgid "Remote privacy information not available." -msgstr "Privacy-informatie op afstand niet beschikbaar." - -#: ../../mod/lockview.php:58 -msgid "Visible to:" -msgstr "Zichtbaar voor:" - -#: ../../mod/acl.php:222 -msgid "network" -msgstr "netwerk" - -#: ../../mod/acl.php:232 -msgid "RSS" -msgstr "RSS" - -#: ../../mod/regmod.php:11 -msgid "Please login." -msgstr "Inloggen." - -#: ../../mod/rmagic.php:40 -msgid "" -"We encountered a problem while logging in with the OpenID you provided. " -"Please check the correct spelling of the ID." -msgstr "We hebben een probleem ontdekt tijdens het inloggen met de OpenID die je hebt verstrekt. Controleer de ID op typefouten." - -#: ../../mod/rmagic.php:40 -msgid "The error message was:" -msgstr "Het foutbericht was:" - -#: ../../mod/rmagic.php:44 -msgid "Authentication failed." -msgstr "Authenticatie mislukt." - -#: ../../mod/rmagic.php:84 -msgid "Remote Authentication" -msgstr "Authenticatie op afstand" - -#: ../../mod/rmagic.php:85 -msgid "Enter your channel address (e.g. channel@example.com)" -msgstr "Vul jouw kanaaladres in (bijv. channel@example.com)" - -#: ../../mod/rmagic.php:86 -msgid "Authenticate" -msgstr "Authenticeren" - -#: ../../mod/channel.php:97 -msgid "Insufficient permissions. Request redirected to profile page." -msgstr "Onvoldoende permissies. Doorgestuurd naar profielpagina." - -#: ../../mod/import.php:28 -#, php-format -msgid "Your service plan only allows %d channels." -msgstr "Jouw abonnement staat maar %d kanalen toe." - -#: ../../mod/import.php:66 ../../mod/import_items.php:38 -msgid "Nothing to import." -msgstr "Niets gevonden om te importeren" - -#: ../../mod/import.php:90 ../../mod/import_items.php:62 -msgid "Unable to download data from old server" -msgstr "Niet in staat om gegevens van de oude hub te downloaden" - -#: ../../mod/import.php:96 ../../mod/import_items.php:68 -msgid "Imported file is empty." -msgstr "Geïmporteerde bestand is leeg" - -#: ../../mod/import.php:116 ../../mod/import_items.php:82 -#, php-format -msgid "Warning: Database versions differ by %1$d updates." -msgstr "Waarschuwing: database-versies lopen %1$d updates achter." - -#: ../../mod/import.php:149 -msgid "No channel. Import failed." -msgstr "Geen kanaal. Importeren mislukt." - -#: ../../mod/import.php:509 -msgid "You must be logged in to use this feature." -msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken." - -#: ../../mod/import.php:514 -msgid "Import Channel" -msgstr "Kanaal importeren" - -#: ../../mod/import.php:515 -msgid "" -"Use this form to import an existing channel from a different server/hub. You" -" may retrieve the channel identity from the old server/hub via the network " -"or provide an export file." -msgstr "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken." - -#: ../../mod/import.php:516 ../../mod/import_items.php:121 -msgid "File to Upload" -msgstr "Bestand om te uploaden" - -#: ../../mod/import.php:517 -msgid "Or provide the old server/hub details" -msgstr "Of vul de gegevens van de oude hub in" - -#: ../../mod/import.php:518 -msgid "Your old identity address (xyz@example.com)" -msgstr "Jouw oude kanaaladres (xyz@example.com)" - -#: ../../mod/import.php:519 -msgid "Your old login email address" -msgstr "Het e-mailadres van je oude account" - -#: ../../mod/import.php:520 -msgid "Your old login password" -msgstr "Wachtwoord van jouw oude account" - -#: ../../mod/import.php:521 -msgid "" -"For either option, please choose whether to make this hub your new primary " -"address, or whether your old location should continue this role. You will be" -" able to post from either location, but only one can be marked as the " -"primary location for files, photos, and media." -msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen." - -#: ../../mod/import.php:522 -msgid "Make this hub my primary location" -msgstr "Stel deze hub als mijn primaire locatie in" - -#: ../../mod/import.php:523 -msgid "" -"Import existing posts if possible (experimental - limited by available " -"memory" -msgstr "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)" - -#: ../../mod/import.php:524 -msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." -msgstr "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid." - -#: ../../mod/dreport.php:23 -msgid "Invalid message" -msgstr "Ongeldig bericht" - -#: ../../mod/dreport.php:55 -msgid "no results" -msgstr "geen resultaten" - -#: ../../mod/dreport.php:60 -#, php-format -msgid "Delivery report for %1$s" -msgstr "Afleveringsrapport voor %1$s" - -#: ../../mod/dreport.php:74 -msgid "channel sync processed" -msgstr "kanaalsync verwerkt" - -#: ../../mod/dreport.php:78 -msgid "queued" -msgstr "in wachtrij" - -#: ../../mod/dreport.php:82 -msgid "posted" -msgstr "verstuurd" - -#: ../../mod/dreport.php:86 -msgid "accepted for delivery" -msgstr "geaccepteerd om afgeleverd te worden" - -#: ../../mod/dreport.php:90 -msgid "updated" -msgstr "geüpdatet" - -#: ../../mod/dreport.php:93 -msgid "update ignored" -msgstr "update genegeerd" - -#: ../../mod/dreport.php:96 -msgid "permission denied" -msgstr "toegang geweigerd" - -#: ../../mod/dreport.php:100 -msgid "recipient not found" -msgstr "ontvanger niet gevonden" - -#: ../../mod/dreport.php:103 -msgid "mail recalled" -msgstr "Privébericht ingetrokken" - -#: ../../mod/dreport.php:106 -msgid "duplicate mail received" -msgstr "dubbel privébericht ontvangen" - -#: ../../mod/dreport.php:109 -msgid "mail delivered" -msgstr "privébericht afgeleverd" - -#: ../../mod/thing.php:111 -msgid "Thing updated" -msgstr "Ding bijgewerkt" - -#: ../../mod/thing.php:163 -msgid "Object store: failed" -msgstr "Opslaan van ding mislukt" - -#: ../../mod/thing.php:167 -msgid "Thing added" -msgstr "Ding toegevoegd" - -#: ../../mod/thing.php:193 -#, php-format -msgid "OBJ: %1$s %2$s %3$s" -msgstr "OBJ: %1$s %2$s %3$s" - -#: ../../mod/thing.php:256 -msgid "Show Thing" -msgstr "Ding weergeven" - -#: ../../mod/thing.php:263 -msgid "item not found." -msgstr "Item niet gevonden" - -#: ../../mod/thing.php:296 -msgid "Edit Thing" -msgstr "Ding bewerken" - -#: ../../mod/thing.php:298 ../../mod/thing.php:348 -msgid "Select a profile" -msgstr "Kies een profiel" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Post an activity" -msgstr "Plaats een bericht" - -#: ../../mod/thing.php:302 ../../mod/thing.php:351 -msgid "Only sends to viewers of the applicable profile" -msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien." - -#: ../../mod/thing.php:304 ../../mod/thing.php:353 -msgid "Name of thing e.g. something" -msgstr "Naam van ding" - -#: ../../mod/thing.php:306 ../../mod/thing.php:354 -msgid "URL of thing (optional)" -msgstr "URL van ding (optioneel)" - -#: ../../mod/thing.php:308 ../../mod/thing.php:355 -msgid "URL for photo of thing (optional)" -msgstr "URL van foto van ding (optioneel)" - -#: ../../mod/thing.php:346 -msgid "Add Thing to your Profile" -msgstr "Ding aan je profiel toevoegen" - -#: ../../mod/invite.php:25 -msgid "Total invitation limit exceeded." -msgstr "Limiet voor aantal uitnodigingen overschreden." - -#: ../../mod/invite.php:49 -#, php-format -msgid "%s : Not a valid email address." -msgstr "%s : Geen geldig e-mailadres." - -#: ../../mod/invite.php:76 -msgid "Please join us on $Projectname" -msgstr "Uitnodiging voor $Projectname" - -#: ../../mod/invite.php:87 -msgid "Invitation limit exceeded. Please contact your site administrator." -msgstr "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder." - -#: ../../mod/invite.php:92 -#, php-format -msgid "%s : Message delivery failed." -msgstr "%s: Aflevering bericht mislukt." - -#: ../../mod/invite.php:96 -#, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "%d bericht verzonden." -msgstr[1] "%d berichten verzonden." - -#: ../../mod/invite.php:115 -msgid "You have no more invitations available" -msgstr "Je hebt geen uitnodigingen meer beschikbaar" - -#: ../../mod/invite.php:129 -msgid "Send invitations" -msgstr "Uitnodigingen verzenden" - -#: ../../mod/invite.php:130 -msgid "Enter email addresses, one per line:" -msgstr "Voer e-mailadressen in, één per regel:" - -#: ../../mod/invite.php:131 ../../mod/mail.php:238 -msgid "Your message:" -msgstr "Jouw bericht:" - -#: ../../mod/invite.php:132 -msgid "Please join my community on $Projectname." -msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op https://redmatrix.me." - -#: ../../mod/invite.php:134 -msgid "You will need to supply this invitation code: " -msgstr "Je moet deze uitnodigingscode opgeven:" - -#: ../../mod/invite.php:135 -msgid "" -"1. Register at any $Projectname location (they are all inter-connected)" -msgstr "1. Registreer je op een willekeurige $Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):" - -#: ../../mod/invite.php:137 -msgid "2. Enter my $Projectname network address into the site searchbar." -msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn $Projectname-kanaaladres in het zoekveld invullen:" - -#: ../../mod/invite.php:138 -msgid "or visit " -msgstr "of bezoek " - -#: ../../mod/invite.php:140 -msgid "3. Click [Connect]" -msgstr "3. Klik op [+ Verbinden]" - -#: ../../mod/mail.php:33 -msgid "Unable to lookup recipient." -msgstr "Niet in staat om ontvanger op te zoeken." - -#: ../../mod/mail.php:41 -msgid "Unable to communicate with requested channel." -msgstr "Niet in staat om met het aangevraagde kanaal te communiceren." - -#: ../../mod/mail.php:48 -msgid "Cannot verify requested channel." -msgstr "Kan opgevraagd kanaal niet verifieren" - -#: ../../mod/mail.php:74 -msgid "Selected channel has private message restrictions. Send failed." -msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt." - -#: ../../mod/mail.php:132 -msgid "Messages" -msgstr "Berichten" - -#: ../../mod/mail.php:167 -msgid "Message recalled." -msgstr "Bericht ingetrokken." - -#: ../../mod/mail.php:180 -msgid "Conversation removed." -msgstr "Conversatie verwijderd" - -#: ../../mod/mail.php:223 -msgid "Requested channel is not in this network" -msgstr "Opgevraagd kanaal is niet in dit netwerk beschikbaar" - -#: ../../mod/mail.php:231 -msgid "Send Private Message" -msgstr "Privébericht versturen" - -#: ../../mod/mail.php:232 ../../mod/mail.php:361 -msgid "To:" -msgstr "Aan:" - -#: ../../mod/mail.php:235 ../../mod/mail.php:363 -msgid "Subject:" -msgstr "Onderwerp:" - -#: ../../mod/mail.php:242 -msgid "Send" -msgstr "Verzenden" - -#: ../../mod/mail.php:333 -msgid "Delete message" -msgstr "Bericht verwijderen" - -#: ../../mod/mail.php:334 -msgid "Delivery report" -msgstr "Afleveringsrapport" - -#: ../../mod/mail.php:335 -msgid "Recall message" -msgstr "Bericht intrekken" - -#: ../../mod/mail.php:337 -msgid "Message has been recalled." -msgstr "Bericht is ingetrokken." - -#: ../../mod/mail.php:354 -msgid "Delete Conversation" -msgstr "Verwijder conversatie" - -#: ../../mod/mail.php:356 -msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." -msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender." - -#: ../../mod/mail.php:360 -msgid "Send Reply" -msgstr "Antwoord versturen" +#: ../../mod/editlayout.php:112 +msgid "Delete layout?" +msgstr "Lay-out verwijderen?" -#: ../../mod/mail.php:365 -#, php-format -msgid "Your message for %s (%s):" -msgstr "Jouw privébericht aan %s (%s):" +#: ../../mod/editlayout.php:159 ../../mod/layouts.php:124 +msgid "Layout Description (Optional)" +msgstr "Lay-out-omschrijving (optioneel)" -#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25 -#: ../../mod/update_home.php:21 ../../mod/update_network.php:23 -#: ../../mod/update_search.php:46 ../../mod/update_public.php:21 -msgid "[Embedded content - reload page to view]" -msgstr "[Ingesloten inhoud - ververs pagina om te bekijken] " +#: ../../mod/editlayout.php:161 ../../mod/layouts.php:121 +#: ../../mod/layouts.php:179 +msgid "Layout Name" +msgstr "Naam lay-out" -#: ../../mod/viewsrc.php:40 -msgid "Source of Item" -msgstr "Bron van item" +#: ../../mod/editlayout.php:178 +msgid "Edit Layout" +msgstr "Lay-out bewerken" #: ../../mod/settings.php:76 msgid "Name is required" @@ -7500,797 +7603,611 @@ msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken." msgid "System failure storing new email. Please try again." msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer." -#: ../../mod/settings.php:519 +#: ../../mod/settings.php:521 msgid "Settings updated." msgstr "Instellingen bijgewerkt." -#: ../../mod/settings.php:583 ../../mod/settings.php:609 -#: ../../mod/settings.php:645 +#: ../../mod/settings.php:585 ../../mod/settings.php:611 +#: ../../mod/settings.php:647 msgid "Add application" msgstr "Applicatie toevoegen" -#: ../../mod/settings.php:586 +#: ../../mod/settings.php:588 msgid "Name of application" msgstr "Naam van applicatie" -#: ../../mod/settings.php:587 ../../mod/settings.php:613 +#: ../../mod/settings.php:589 ../../mod/settings.php:615 msgid "Consumer Key" msgstr "Consumer key" -#: ../../mod/settings.php:587 ../../mod/settings.php:588 +#: ../../mod/settings.php:589 ../../mod/settings.php:590 msgid "Automatically generated - change if desired. Max length 20" msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20" -#: ../../mod/settings.php:588 ../../mod/settings.php:614 +#: ../../mod/settings.php:590 ../../mod/settings.php:616 msgid "Consumer Secret" msgstr "Consumer secret" -#: ../../mod/settings.php:589 ../../mod/settings.php:615 +#: ../../mod/settings.php:591 ../../mod/settings.php:617 msgid "Redirect" msgstr "Redirect/doorverwijzing" -#: ../../mod/settings.php:589 +#: ../../mod/settings.php:591 msgid "" "Redirect URI - leave blank unless your application specifically requires " "this" msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist" -#: ../../mod/settings.php:590 ../../mod/settings.php:616 +#: ../../mod/settings.php:592 ../../mod/settings.php:618 msgid "Icon url" msgstr "URL van pictogram" -#: ../../mod/settings.php:590 +#: ../../mod/settings.php:592 msgid "Optional" msgstr "Optioneel" -#: ../../mod/settings.php:601 +#: ../../mod/settings.php:603 msgid "You can't edit this application." msgstr "Je kan deze applicatie niet bewerken" -#: ../../mod/settings.php:644 +#: ../../mod/settings.php:646 msgid "Connected Apps" msgstr "Verbonden applicaties" -#: ../../mod/settings.php:648 +#: ../../mod/settings.php:650 msgid "Client key starts with" msgstr "Client key begint met" -#: ../../mod/settings.php:649 +#: ../../mod/settings.php:651 msgid "No name" msgstr "Geen naam" -#: ../../mod/settings.php:650 +#: ../../mod/settings.php:652 msgid "Remove authorization" msgstr "Autorisatie verwijderen" -#: ../../mod/settings.php:663 +#: ../../mod/settings.php:665 msgid "No feature settings configured" msgstr "Geen extra functie- of plugin-instellingen" -#: ../../mod/settings.php:670 +#: ../../mod/settings.php:672 msgid "Feature/Addon Settings" msgstr "Extra functie- en plugin-instellingen" -#: ../../mod/settings.php:693 +#: ../../mod/settings.php:695 msgid "Account Settings" msgstr "Account-instellingen" -#: ../../mod/settings.php:694 +#: ../../mod/settings.php:696 msgid "Enter New Password:" msgstr "Nieuw wachtwoord invoeren:" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Confirm New Password:" msgstr "Nieuw wachtwoord bevestigen:" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Leave password fields blank unless changing" msgstr "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen" -#: ../../mod/settings.php:697 ../../mod/settings.php:1028 +#: ../../mod/settings.php:699 ../../mod/settings.php:1030 msgid "Email Address:" msgstr "E-mailadres:" -#: ../../mod/settings.php:699 +#: ../../mod/settings.php:701 msgid "Remove this account including all its channels" msgstr "Dit account en al zijn kanalen verwijderen" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "Off" msgstr "Uit" -#: ../../mod/settings.php:715 +#: ../../mod/settings.php:717 msgid "On" msgstr "Aan" -#: ../../mod/settings.php:722 +#: ../../mod/settings.php:724 msgid "Additional Features" msgstr "Extra functies" -#: ../../mod/settings.php:746 +#: ../../mod/settings.php:748 msgid "Connector Settings" msgstr "Instellingen externe koppelingen" -#: ../../mod/settings.php:785 +#: ../../mod/settings.php:787 msgid "No special theme for mobile devices" msgstr "Geen speciaal thema voor mobiele apparaten" -#: ../../mod/settings.php:788 +#: ../../mod/settings.php:790 #, php-format msgid "%s - (Experimental)" msgstr "%s - (experimenteel)" -#: ../../mod/settings.php:827 +#: ../../mod/settings.php:829 msgid "Display Settings" msgstr "Weergave-instellingen" -#: ../../mod/settings.php:828 +#: ../../mod/settings.php:830 msgid "Theme Settings" msgstr "Thema-instellingen" -#: ../../mod/settings.php:829 +#: ../../mod/settings.php:831 msgid "Custom Theme Settings" msgstr "Handmatige thema-instellingen" -#: ../../mod/settings.php:830 +#: ../../mod/settings.php:832 msgid "Content Settings" msgstr "Inhoudsinstellingen" -#: ../../mod/settings.php:836 +#: ../../mod/settings.php:838 msgid "Display Theme:" msgstr "Gebruik thema:" -#: ../../mod/settings.php:837 +#: ../../mod/settings.php:839 msgid "Mobile Theme:" msgstr "Mobiel thema:" -#: ../../mod/settings.php:838 +#: ../../mod/settings.php:840 msgid "Enable user zoom on mobile devices" msgstr "Inzoomen op smartphones en tablets toestaan" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Update browser every xx seconds" msgstr "Ververs de webbrowser om de zoveel seconde" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:841 msgid "Minimum of 10 seconds, no maximum" msgstr "Minimaal 10 seconde, geen maximum" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum number of conversations to load at any time:" msgstr "Maximaal aantal conversaties die per keer geladen worden:" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:842 msgid "Maximum of 100 items" msgstr "Maximaal 100 conversaties" -#: ../../mod/settings.php:841 +#: ../../mod/settings.php:843 msgid "Show emoticons (smilies) as images" msgstr "Toon emoticons (smilies) als afbeeldingen" -#: ../../mod/settings.php:842 +#: ../../mod/settings.php:844 msgid "Link post titles to source" msgstr "Berichtkoppen naar originele locatie linken" -#: ../../mod/settings.php:843 +#: ../../mod/settings.php:845 msgid "System Page Layout Editor - (advanced)" msgstr "Lay-out bewerken van systeempagina's (geavanceerd)" -#: ../../mod/settings.php:846 +#: ../../mod/settings.php:848 msgid "Use blog/list mode on channel page" msgstr "Gebruik blog/lijst-modus op kanaalpagina" -#: ../../mod/settings.php:846 ../../mod/settings.php:847 +#: ../../mod/settings.php:848 ../../mod/settings.php:849 msgid "(comments displayed separately)" msgstr "(reacties worden afzonderlijk weergeven)" -#: ../../mod/settings.php:847 +#: ../../mod/settings.php:849 msgid "Use blog/list mode on matrix page" msgstr "Gebruik blog/lijst-modus op matrixpagina" -#: ../../mod/settings.php:848 +#: ../../mod/settings.php:850 msgid "Channel page max height of content (in pixels)" msgstr "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)" -#: ../../mod/settings.php:848 ../../mod/settings.php:849 +#: ../../mod/settings.php:850 ../../mod/settings.php:851 msgid "click to expand content exceeding this height" msgstr "klik om inhoud uit te klappen die deze hoogte overschrijdt" -#: ../../mod/settings.php:849 +#: ../../mod/settings.php:851 msgid "Matrix page max height of content (in pixels)" msgstr "Maximale hoogte berichtinhoud op matrixpagina (in pixels)" -#: ../../mod/settings.php:883 +#: ../../mod/settings.php:885 msgid "Nobody except yourself" msgstr "Niemand, behalve jezelf" -#: ../../mod/settings.php:884 +#: ../../mod/settings.php:886 msgid "Only those you specifically allow" msgstr "Alleen connecties met uitdrukkelijke toestemming" -#: ../../mod/settings.php:885 +#: ../../mod/settings.php:887 msgid "Approved connections" msgstr "Geaccepteerde connecties" -#: ../../mod/settings.php:886 +#: ../../mod/settings.php:888 msgid "Any connections" msgstr "Alle connecties" -#: ../../mod/settings.php:887 +#: ../../mod/settings.php:889 msgid "Anybody on this website" msgstr "Iedereen op deze hub" -#: ../../mod/settings.php:888 +#: ../../mod/settings.php:890 msgid "Anybody in this network" msgstr "Iedereen in dit netwerk" -#: ../../mod/settings.php:889 +#: ../../mod/settings.php:891 msgid "Anybody authenticated" msgstr "Geauthenticeerd" -#: ../../mod/settings.php:890 +#: ../../mod/settings.php:892 msgid "Anybody on the internet" msgstr "Iedereen op het internet" -#: ../../mod/settings.php:964 +#: ../../mod/settings.php:966 msgid "Publish your default profile in the network directory" msgstr "Publiceer je standaardprofiel in de kanalengids" -#: ../../mod/settings.php:969 +#: ../../mod/settings.php:971 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen" -#: ../../mod/settings.php:978 +#: ../../mod/settings.php:980 msgid "Your channel address is" msgstr "Jouw kanaaladres is" -#: ../../mod/settings.php:1019 +#: ../../mod/settings.php:1021 msgid "Channel Settings" msgstr "Kanaal-instellingen" -#: ../../mod/settings.php:1026 +#: ../../mod/settings.php:1028 msgid "Basic Settings" msgstr "Basis-instellingen" -#: ../../mod/settings.php:1029 +#: ../../mod/settings.php:1031 msgid "Your Timezone:" msgstr "Jouw tijdzone:" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Default Post Location:" msgstr "Standaardlocatie bericht:" -#: ../../mod/settings.php:1030 +#: ../../mod/settings.php:1032 msgid "Geographical location to display on your posts" msgstr "Geografische locatie die bij het bericht moet worden vermeld" -#: ../../mod/settings.php:1031 +#: ../../mod/settings.php:1033 msgid "Use Browser Location:" msgstr "Locatie van webbrowser gebruiken:" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "Adult Content" msgstr "Inhoud voor volwassenen" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1035 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)" -#: ../../mod/settings.php:1035 +#: ../../mod/settings.php:1037 msgid "Security and Privacy Settings" msgstr "Veiligheids- en privacy-instellingen" -#: ../../mod/settings.php:1037 +#: ../../mod/settings.php:1039 msgid "Your permissions are already configured. Click to view/adjust" msgstr "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen." -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Hide my online presence" msgstr "Verberg mijn aanwezigheid" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1041 msgid "Prevents displaying in your profile that you are online" msgstr "Voorkomt dat op je kanaalpagina te zien valt dat je momenteel op $Projectname aanwezig bent" -#: ../../mod/settings.php:1041 +#: ../../mod/settings.php:1043 msgid "Simple Privacy Settings:" msgstr "Eenvoudige privacy-instellingen:" -#: ../../mod/settings.php:1042 +#: ../../mod/settings.php:1044 msgid "" "Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>" -#: ../../mod/settings.php:1043 +#: ../../mod/settings.php:1045 msgid "" "Typical - <em>default public, privacy when desired (similar to social " "network permissions but with improved privacy)</em>" msgstr "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>" -#: ../../mod/settings.php:1044 +#: ../../mod/settings.php:1046 msgid "Private - <em>default private, never open or public</em>" msgstr "Privé <em>(standaard privé en nooit openbaar)</em>" -#: ../../mod/settings.php:1045 +#: ../../mod/settings.php:1047 msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "Allow others to tag your posts" msgstr "Anderen toestaan om je berichten te taggen" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1049 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren" -#: ../../mod/settings.php:1049 +#: ../../mod/settings.php:1051 msgid "Advanced Privacy Settings" msgstr "Geavanceerde privacy-instellingen" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "Expire other channel content after this many days" msgstr "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1053 msgid "0 or blank prevents expiration" msgstr "0 of leeg voorkomt het verlopen" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "Maximum Friend Requests/Day:" msgstr "Maximum aantal connectieverzoeken per dag:" -#: ../../mod/settings.php:1052 +#: ../../mod/settings.php:1054 msgid "May reduce spam activity" msgstr "Kan eventuele spam verminderen" -#: ../../mod/settings.php:1053 +#: ../../mod/settings.php:1055 msgid "Default Post Permissions" msgstr "Standaard permissies voor nieuwe berichten" -#: ../../mod/settings.php:1058 +#: ../../mod/settings.php:1056 ../../mod/mitem.php:150 ../../mod/mitem.php:223 +msgid "(click to open/close)" +msgstr "(klik om te openen/sluiten)" + +#: ../../mod/settings.php:1060 msgid "Channel permissions category:" msgstr "Kanaaltype en -permissies:" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Maximum private messages per day from unknown people:" msgstr "Maximum aantal privé-berichten per dag van onbekende personen:" -#: ../../mod/settings.php:1064 +#: ../../mod/settings.php:1066 msgid "Useful to reduce spamming" msgstr "Kan eventuele spam verminderen" -#: ../../mod/settings.php:1067 +#: ../../mod/settings.php:1069 msgid "Notification Settings" msgstr "Notificatie-instellingen" -#: ../../mod/settings.php:1068 +#: ../../mod/settings.php:1070 msgid "By default post a status message when:" msgstr "Plaats automatisch een statusbericht wanneer:" -#: ../../mod/settings.php:1069 +#: ../../mod/settings.php:1071 msgid "accepting a friend request" msgstr "Een connectieverzoek wordt geaccepteerd" -#: ../../mod/settings.php:1070 +#: ../../mod/settings.php:1072 msgid "joining a forum/community" msgstr "Je lid wordt van een forum/groep" -#: ../../mod/settings.php:1071 +#: ../../mod/settings.php:1073 msgid "making an <em>interesting</em> profile change" msgstr "Er sprake is van een <em>interessante</em> profielwijziging" -#: ../../mod/settings.php:1072 +#: ../../mod/settings.php:1074 msgid "Send a notification email when:" msgstr "Verzend een notificatie per e-mail wanneer:" -#: ../../mod/settings.php:1073 +#: ../../mod/settings.php:1075 msgid "You receive a connection request" msgstr "Je een connectieverzoek ontvangt" -#: ../../mod/settings.php:1074 +#: ../../mod/settings.php:1076 msgid "Your connections are confirmed" msgstr "Jouw connecties zijn bevestigd" -#: ../../mod/settings.php:1075 +#: ../../mod/settings.php:1077 msgid "Someone writes on your profile wall" msgstr "Iemand iets op jouw kanaal heeft geschreven" -#: ../../mod/settings.php:1076 +#: ../../mod/settings.php:1078 msgid "Someone writes a followup comment" msgstr "Iemand een reactie schrijft" -#: ../../mod/settings.php:1077 +#: ../../mod/settings.php:1079 msgid "You receive a private message" msgstr "Je een privé-bericht ontvangt" -#: ../../mod/settings.php:1078 +#: ../../mod/settings.php:1080 msgid "You receive a friend suggestion" msgstr "Je een kanaalvoorstel ontvangt" -#: ../../mod/settings.php:1079 +#: ../../mod/settings.php:1081 msgid "You are tagged in a post" msgstr "Je expliciet in een bericht bent genoemd" -#: ../../mod/settings.php:1080 +#: ../../mod/settings.php:1082 msgid "You are poked/prodded/etc. in a post" msgstr "Je bent in een bericht aangestoten/gepord/etc." -#: ../../mod/settings.php:1083 +#: ../../mod/settings.php:1085 msgid "Show visual notifications including:" msgstr "Toon de volgende zichtbare notificaties:" -#: ../../mod/settings.php:1085 +#: ../../mod/settings.php:1087 msgid "Unseen matrix activity" msgstr "Niet bekeken matrix-activiteit" -#: ../../mod/settings.php:1086 +#: ../../mod/settings.php:1088 msgid "Unseen channel activity" msgstr "Niet bekeken kanaal-activiteit" -#: ../../mod/settings.php:1087 +#: ../../mod/settings.php:1089 msgid "Unseen private messages" msgstr "Niet bekeken privéberichten" -#: ../../mod/settings.php:1087 ../../mod/settings.php:1092 -#: ../../mod/settings.php:1093 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1089 ../../mod/settings.php:1094 +#: ../../mod/settings.php:1095 ../../mod/settings.php:1096 msgid "Recommended" msgstr "Aanbevolen" -#: ../../mod/settings.php:1088 +#: ../../mod/settings.php:1090 msgid "Upcoming events" msgstr "Aankomende gebeurtenissen" -#: ../../mod/settings.php:1089 +#: ../../mod/settings.php:1091 msgid "Events today" -msgstr "Gebeurtissen van vandaag" +msgstr "Gebeurtenissen van vandaag" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Upcoming birthdays" msgstr "Aankomende verjaardagen" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1092 msgid "Not available in all themes" msgstr "Niet in alle thema's beschikbaar" -#: ../../mod/settings.php:1091 +#: ../../mod/settings.php:1093 msgid "System (personal) notifications" msgstr "(Persoonlijke) systeemnotificaties" -#: ../../mod/settings.php:1092 +#: ../../mod/settings.php:1094 msgid "System info messages" msgstr "Systeemmededelingen" -#: ../../mod/settings.php:1093 +#: ../../mod/settings.php:1095 msgid "System critical alerts" msgstr "Kritische systeemwaarschuwingen" -#: ../../mod/settings.php:1094 +#: ../../mod/settings.php:1096 msgid "New connections" msgstr "Nieuwe connecties" -#: ../../mod/settings.php:1095 +#: ../../mod/settings.php:1097 msgid "System Registrations" msgstr "Nieuwe accountregistraties op deze hub" -#: ../../mod/settings.php:1096 +#: ../../mod/settings.php:1098 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Notify me of events this many days in advance" msgstr "Herinner mij zoveel dagen van te voren aan gebeurtenissen" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1100 msgid "Must be greater than 0" msgstr "Moet hoger dan 0 zijn" -#: ../../mod/settings.php:1100 +#: ../../mod/settings.php:1102 msgid "Advanced Account/Page Type Settings" msgstr "Instellingen geavanceerd account/paginatype" -#: ../../mod/settings.php:1101 +#: ../../mod/settings.php:1103 msgid "Change the behaviour of this account for special situations" msgstr "Verander het gedrag van dit account voor speciale situaties" -#: ../../mod/settings.php:1104 +#: ../../mod/settings.php:1106 msgid "" "Please enable expert mode (in <a href=\"settings/features\">Settings > " "Additional features</a>) to adjust!" msgstr "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!" -#: ../../mod/settings.php:1105 +#: ../../mod/settings.php:1107 msgid "Miscellaneous Settings" msgstr "Diverse instellingen" -#: ../../mod/settings.php:1106 +#: ../../mod/settings.php:1108 msgid "Default photo upload folder" msgstr "Standaard fotoalbum voor uploads" -#: ../../mod/settings.php:1106 ../../mod/settings.php:1107 +#: ../../mod/settings.php:1108 ../../mod/settings.php:1109 msgid "%Y - current year, %m - current month" msgstr "%Y - dit jaar, %m - deze maand" -#: ../../mod/settings.php:1107 +#: ../../mod/settings.php:1109 msgid "Default file upload folder" msgstr "Standaard bestandsmap voor uploads" -#: ../../mod/settings.php:1109 +#: ../../mod/settings.php:1111 msgid "Personal menu to display in your channel pages" msgstr "Persoonlijk menu om op je kanaalpagina's weer te geven" -#: ../../mod/settings.php:1111 +#: ../../mod/settings.php:1113 msgid "Remove this channel." msgstr "Verwijder dit kanaal." -#: ../../mod/settings.php:1112 +#: ../../mod/settings.php:1114 msgid "Firefox Share $Projectname provider" msgstr "$Projectname-service voor Firefox Share" -#: ../../mod/xchan.php:6 -msgid "Xchan Lookup" -msgstr "Xchan opzoeken" - -#: ../../mod/xchan.php:9 -msgid "Lookup xchan beginning with (or webbie): " -msgstr "Zoek een xchan (of webbie) die begint met:" - -#: ../../mod/manage.php:130 -#, php-format -msgid "You have created %1$.0f of %2$.0f allowed channels." -msgstr "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt." - -#: ../../mod/manage.php:138 -msgid "Create a new channel" -msgstr "Nieuw kanaal aanmaken" - -#: ../../mod/manage.php:161 -msgid "Current Channel" -msgstr "Huidig kanaal" - -#: ../../mod/manage.php:163 -msgid "Switch to one of your channels by selecting it." -msgstr "Activeer een van jouw andere kanalen door er op te klikken." - -#: ../../mod/manage.php:164 -msgid "Default Channel" -msgstr "Standaardkanaal" - -#: ../../mod/manage.php:165 -msgid "Make Default" -msgstr "Als standaard instellen" - -#: ../../mod/manage.php:168 -#, php-format -msgid "%d new messages" -msgstr "%d nieuwe berichten" - -#: ../../mod/manage.php:169 -#, php-format -msgid "%d new introductions" -msgstr "%d nieuwe connectieverzoeken" - -#: ../../mod/manage.php:171 -msgid "Delegated Channels" -msgstr "Uitbestede kanalen" - -#: ../../mod/api.php:76 ../../mod/api.php:102 -msgid "Authorize application connection" -msgstr "Geef toestemming voor applicatiekoppeling" - -#: ../../mod/api.php:77 -msgid "Return to your app and insert this Securty Code:" -msgstr "Ga terug naar je app en voeg deze beveiligingscode in:" - -#: ../../mod/api.php:89 -msgid "Please login to continue." -msgstr "Inloggen om verder te kunnen gaan." - -#: ../../mod/api.php:104 -msgid "" -"Do you want to authorize this application to access your posts and contacts," -" and/or create new posts for you?" -msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?" - -#: ../../mod/connections.php:52 ../../mod/connections.php:150 -msgid "Blocked" -msgstr "Geblokkeerd" - -#: ../../mod/connections.php:57 ../../mod/connections.php:157 -msgid "Ignored" -msgstr "Genegeerd" - -#: ../../mod/connections.php:62 ../../mod/connections.php:171 -msgid "Hidden" -msgstr "Verborgen" - -#: ../../mod/connections.php:67 ../../mod/connections.php:164 -msgid "Archived" -msgstr "Gearchiveerd" - -#: ../../mod/connections.php:128 -msgid "Suggest new connections" -msgstr "Nieuwe kanalen voorstellen" - -#: ../../mod/connections.php:131 -msgid "New Connections" -msgstr "Nieuwe connecties" - -#: ../../mod/connections.php:134 -msgid "Show pending (new) connections" -msgstr "Nog te accepteren (nieuwe) connecties weergeven" - -#: ../../mod/connections.php:137 ../../mod/profperm.php:139 -msgid "All Connections" -msgstr "Alle connecties" - -#: ../../mod/connections.php:140 -msgid "Show all connections" -msgstr "Toon alle connecties" - -#: ../../mod/connections.php:143 -msgid "Unblocked" -msgstr "Niet geblokkeerd" - -#: ../../mod/connections.php:146 -msgid "Only show unblocked connections" -msgstr "Toon alleen niet geblokkeerde connecties" - -#: ../../mod/connections.php:153 -msgid "Only show blocked connections" -msgstr "Toon alleen geblokkeerde connecties" - -#: ../../mod/connections.php:160 -msgid "Only show ignored connections" -msgstr "Toon alleen genegeerde connecties" - -#: ../../mod/connections.php:167 -msgid "Only show archived connections" -msgstr "Toon alleen gearchiveerde connecties" - -#: ../../mod/connections.php:174 -msgid "Only show hidden connections" -msgstr "Toon alleen verborgen connecties" - -#: ../../mod/connections.php:225 -#, php-format -msgid "%1$s [%2$s]" -msgstr "%1$s [%2$s]" - -#: ../../mod/connections.php:226 -msgid "Edit connection" -msgstr "Connectie bewerken" - -#: ../../mod/connections.php:264 -msgid "Search your connections" -msgstr "Doorzoek jouw connecties" - -#: ../../mod/connections.php:265 -msgid "Finding: " -msgstr "Zoeken naar: " - -#: ../../mod/editlayout.php:112 -msgid "Delete layout?" -msgstr "Lay-out verwijderen?" - -#: ../../mod/editlayout.php:178 -msgid "Edit Layout" -msgstr "Lay-out bewerken" +#: ../../mod/settings.php:1115 +msgid "Start calendar week on monday" +msgstr "Begin in de agenda de week op maandag" -#: ../../mod/editwebpage.php:153 -msgid "Delete webpage?" -msgstr "Webpagina verwijderen?" - -#: ../../mod/editwebpage.php:172 -msgid "Page link title" -msgstr "Titel van paginalink" - -#: ../../mod/editwebpage.php:222 -msgid "Edit Webpage" -msgstr "Webpagina bewerken" - -#: ../../mod/group.php:20 -msgid "Collection created." -msgstr "Collectie aangemaakt" - -#: ../../mod/group.php:26 -msgid "Could not create collection." -msgstr "Collectie kon niet aangemaakt worden" - -#: ../../mod/group.php:54 -msgid "Collection updated." -msgstr "Collectie bijgewerkt." - -#: ../../mod/group.php:86 -msgid "Create a collection of channels." -msgstr "Kanaalcollectie aanmaken" - -#: ../../mod/group.php:87 ../../mod/group.php:180 -msgid "Collection Name: " -msgstr "Naam collectie:" - -#: ../../mod/group.php:89 ../../mod/group.php:183 -msgid "Members are visible to other channels" -msgstr "Kanalen in deze collectie zijn zichtbaar voor andere kanalen" - -#: ../../mod/group.php:107 -msgid "Collection removed." -msgstr "Collectie verwijderd" +#: ../../mod/webpages.php:191 +msgid "Page Title" +msgstr "Paginatitel" -#: ../../mod/group.php:109 -msgid "Unable to remove collection." -msgstr "Verwijderen collectie mislukt" +#: ../../mod/appman.php:28 ../../mod/appman.php:44 +msgid "App installed." +msgstr "App geïnstalleerd" -#: ../../mod/group.php:179 -msgid "Collection Editor" -msgstr "Collectiebewerker" +#: ../../mod/appman.php:37 +msgid "Malformed app." +msgstr "Misvormde app." -#: ../../mod/group.php:193 -msgid "Members" -msgstr "Kanalen" +#: ../../mod/appman.php:80 +msgid "Embed code" +msgstr "Insluitcode" -#: ../../mod/group.php:195 -msgid "All Connected Channels" -msgstr "Alle kanaalconnecties" +#: ../../mod/appman.php:86 +msgid "Edit App" +msgstr "App bewerken" -#: ../../mod/group.php:227 -msgid "Click on a channel to add or remove." -msgstr "Klik op een kanaal om deze toe te voegen of te verwijderen." +#: ../../mod/appman.php:86 +msgid "Create App" +msgstr "App maken" -#: ../../mod/connect.php:56 ../../mod/connect.php:104 -msgid "Continue" -msgstr "Ga verder" +#: ../../mod/appman.php:91 +msgid "Name of app" +msgstr "Naam van app" -#: ../../mod/connect.php:85 -msgid "Premium Channel Setup" -msgstr "Instellen premiumkanaal " +#: ../../mod/appman.php:92 +msgid "Location (URL) of app" +msgstr "Locatie (URL) van app" -#: ../../mod/connect.php:87 -msgid "Enable premium channel connection restrictions" -msgstr "Restricties voor connecties van premiumkanaal toestaan" +#: ../../mod/appman.php:94 +msgid "Photo icon URL" +msgstr "URL van pictogram" -#: ../../mod/connect.php:88 -msgid "" -"Please enter your restrictions or conditions, such as paypal receipt, usage " -"guidelines, etc." -msgstr "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz." +#: ../../mod/appman.php:94 +msgid "80 x 80 pixels - optional" +msgstr "80 x 80 pixels (optioneel)" -#: ../../mod/connect.php:90 ../../mod/connect.php:110 -msgid "" -"This channel may require additional steps or acknowledgement of the " -"following conditions prior to connecting:" -msgstr "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:" +#: ../../mod/appman.php:95 +msgid "Version ID" +msgstr "Versie-ID" -#: ../../mod/connect.php:91 -msgid "" -"Potential connections will then see the following text before proceeding:" -msgstr "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:" +#: ../../mod/appman.php:96 +msgid "Price of app" +msgstr "Prijs van de app" -#: ../../mod/connect.php:92 ../../mod/connect.php:113 -msgid "" -"By continuing, I certify that I have complied with any instructions provided" -" on this page." -msgstr "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina." +#: ../../mod/appman.php:97 +msgid "Location (URL) to purchase app" +msgstr "Locatie (URL) om de app aan te schaffen" -#: ../../mod/connect.php:101 -msgid "(No specific instructions have been provided by the channel owner.)" -msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) " +#: ../../mod/filer.php:48 +msgid "- select -" +msgstr "- kies map -" -#: ../../mod/connect.php:109 -msgid "Restricted or Premium Channel" -msgstr "Beperkt of premiumkanaal" +#: ../../mod/layouts.php:176 +msgid "Comanche page description language help" +msgstr "Hulp met de paginabeschrijvingstaal Comanche" -#: ../../mod/viewconnections.php:59 -msgid "No connections." -msgstr "Geen connecties." +#: ../../mod/layouts.php:180 +msgid "Layout Description" +msgstr "Lay-out-omschrijving" -#: ../../mod/viewconnections.php:72 -#, php-format -msgid "Visit %s's profile [%s]" -msgstr "Bezoek het profiel van %s [%s]" +#: ../../mod/layouts.php:185 +msgid "Download PDL file" +msgstr "Download PDL-bestand" #: ../../mod/locs.php:21 ../../mod/locs.php:50 msgid "Location not found." @@ -8348,500 +8265,642 @@ msgstr "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen msgid "Use this form to drop the location if the hub is no longer operating." msgstr "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is." -#: ../../mod/post.php:234 -msgid "" -"Remote authentication blocked. You are logged into this site locally. Please" -" logout and retry." -msgstr "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen." +#: ../../mod/invite.php:25 +msgid "Total invitation limit exceeded." +msgstr "Limiet voor aantal uitnodigingen overschreden." -#: ../../mod/ffsapi.php:8 -msgid "Share content from Firefox to $Projectname" -msgstr "Deel webpagina's vanuit Firefox met " +#: ../../mod/invite.php:49 +#, php-format +msgid "%s : Not a valid email address." +msgstr "%s : Geen geldig e-mailadres." -#: ../../mod/ffsapi.php:11 -msgid "Activate the Firefox $Projectname provider" -msgstr "Activeer de $Projectname-service in Firefox" +#: ../../mod/invite.php:76 +msgid "Please join us on $Projectname" +msgstr "Uitnodiging voor $Projectname" -#: ../../mod/setup.php:191 -msgid "$Projectname Server - Setup" -msgstr "$Projectname Server - Setup" +#: ../../mod/invite.php:87 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder." -#: ../../mod/setup.php:195 -msgid "Could not connect to database." -msgstr "Could not connect to database." +#: ../../mod/invite.php:92 +#, php-format +msgid "%s : Message delivery failed." +msgstr "%s: Aflevering bericht mislukt." -#: ../../mod/setup.php:199 -msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." -msgstr "Could not connect to specified hub URL. Possible SSL certificate or DNS issue." +#: ../../mod/invite.php:96 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "%d bericht verzonden." +msgstr[1] "%d berichten verzonden." -#: ../../mod/setup.php:206 -msgid "Could not create table." -msgstr "Could not create table." +#: ../../mod/invite.php:115 +msgid "You have no more invitations available" +msgstr "Je hebt geen uitnodigingen meer beschikbaar" -#: ../../mod/setup.php:211 -msgid "Your site database has been installed." -msgstr "Your hub database has been installed." +#: ../../mod/invite.php:129 +msgid "Send invitations" +msgstr "Uitnodigingen verzenden" -#: ../../mod/setup.php:215 +#: ../../mod/invite.php:130 +msgid "Enter email addresses, one per line:" +msgstr "Voer e-mailadressen in, één per regel:" + +#: ../../mod/invite.php:131 ../../mod/mail.php:238 +msgid "Your message:" +msgstr "Jouw bericht:" + +#: ../../mod/invite.php:132 +msgid "Please join my community on $Projectname." +msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op https://redmatrix.me." + +#: ../../mod/invite.php:134 +msgid "You will need to supply this invitation code: " +msgstr "Je moet deze uitnodigingscode opgeven: " + +#: ../../mod/invite.php:135 msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." -msgstr "You may need to import the file \"install/schema_xxx.sql\" manually using a database client." +"1. Register at any $Projectname location (they are all inter-connected)" +msgstr "1. Registreer je op een willekeurige $Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):" -#: ../../mod/setup.php:216 ../../mod/setup.php:284 ../../mod/setup.php:734 -msgid "Please see the file \"install/INSTALL.txt\"." -msgstr "Please see the file \"install/INSTALL.txt\"." +#: ../../mod/invite.php:137 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn $Projectname-kanaaladres in het zoekveld invullen:" -#: ../../mod/setup.php:281 -msgid "System check" -msgstr "System check" +#: ../../mod/invite.php:138 +msgid "or visit " +msgstr "of bezoek " -#: ../../mod/setup.php:286 -msgid "Check again" -msgstr "Check again" +#: ../../mod/invite.php:140 +msgid "3. Click [Connect]" +msgstr "3. Klik op [+ Verbinden]" -#: ../../mod/setup.php:308 -msgid "Database connection" -msgstr "Database connection" +#: ../../mod/regmod.php:11 +msgid "Please login." +msgstr "Inloggen." -#: ../../mod/setup.php:309 -msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." -msgstr "In order to install $Projectname we need to know how to connect to your database." +#: ../../mod/xchan.php:6 +msgid "Xchan Lookup" +msgstr "Xchan opzoeken" -#: ../../mod/setup.php:310 +#: ../../mod/xchan.php:9 +msgid "Lookup xchan beginning with (or webbie): " +msgstr "Zoek een xchan (of webbie) die begint met:" + +#: ../../mod/xchan.php:37 ../../mod/menu.php:162 ../../mod/mitem.php:116 +msgid "Not found." +msgstr "Niet gevonden." + +#: ../../mod/channel.php:25 ../../mod/chat.php:19 +msgid "You must be logged in to see this page." +msgstr "Je moet zijn ingelogd om deze pagina te kunnen bekijken." + +#: ../../mod/channel.php:97 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "Onvoldoende permissies. Doorgestuurd naar profielpagina." + +#: ../../mod/attach.php:9 +msgid "Item not available." +msgstr "Item is niet aanwezig." + +#: ../../mod/lockview.php:37 +msgid "Remote privacy information not available." +msgstr "Privacy-informatie op afstand niet beschikbaar." + +#: ../../mod/lockview.php:58 +msgid "Visible to:" +msgstr "Zichtbaar voor:" + +#: ../../mod/uexport.php:51 ../../mod/uexport.php:52 +msgid "Export Channel" +msgstr "Kanaal exporteren" + +#: ../../mod/uexport.php:53 msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." -msgstr "Please contact your hosting provider or site administrator if you have questions about these settings." +"Export your basic channel information to a file. This acts as a backup of " +"your connections, permissions, profile and basic data, which can be used to " +"import your data to a new server hub, but does not contain your content." +msgstr "Exporteer de basisinformatie van jouw kanaal naar een bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal." -#: ../../mod/setup.php:311 +#: ../../mod/uexport.php:54 +msgid "Export Content" +msgstr "Inhoud exporteren" + +#: ../../mod/uexport.php:55 msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." -msgstr "The database you specify below should already exist. If it does not, please create it before continuing." +"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 "Exporteer informatie en recente inhoud van jouw kanaal naar een JSON-back-up, wat kan worden gebruikt om jouw kanaal te herstellen of te importeren op een andere hub. Dit slaat al jouw connecties, permissies, profielgegevens en enkele maanden aan inhoud van jouw kanaal op. Dit bestand kan ZEER groot worden. Wees geduldig - het kan enkele minuten duren voordat de download begint." -#: ../../mod/setup.php:315 -msgid "Database Server Name" -msgstr "Database Server Name" +#: ../../mod/uexport.php:56 +msgid "Export your posts from a given year." +msgstr "Exporteer jouw berichten uit een bepaald jaar." -#: ../../mod/setup.php:315 -msgid "Default is 127.0.0.1" -msgstr "Default is 127.0.0.1" +#: ../../mod/uexport.php:58 +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 "Je kan ook berichten en conversaties uit een bepaald jaar of van een bepaalde maand exporteren. Verander de datum in de adresbalk van jouw webbrowser om andere jaren en maanden te selecteren. Wanneer het exporteren mislukt (waarschijnlijk door een gebrek aan beschikbaar servergeheugen), probeer het dan nogmaals met een beperkter tijdvak." -#: ../../mod/setup.php:316 -msgid "Database Port" -msgstr "Database Port" +#: ../../mod/uexport.php:59 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a " +"href=\"%1$s\">%2$s</a>" +msgstr "Bezoek <a href=\"%1$s\">%2$s</a> om alle berichten van bijvoorbeeld dit jaar te selecteren. " -#: ../../mod/setup.php:316 -msgid "Communication port number - use 0 for default" -msgstr "Communication port number - use 0 for default" +#: ../../mod/uexport.php:60 +#, 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 "Bezoek <a href=\"%1$s\">%2$s</a> om alle berichten van bijvoorbeeld januari dit jaar te selecteren." -#: ../../mod/setup.php:317 -msgid "Database Login Name" -msgstr "Database Login Name" +#: ../../mod/uexport.php:61 +#, 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 "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1$s\">%2$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen." -#: ../../mod/setup.php:318 -msgid "Database Login Password" -msgstr "Database Login Password" +#: ../../mod/editpost.php:31 +msgid "Item is not editable" +msgstr "Item is niet te bewerken" -#: ../../mod/setup.php:319 -msgid "Database Name" -msgstr "Database Name" +#: ../../mod/editpost.php:57 +msgid "Delete item?" +msgstr "Item verwijderen?" -#: ../../mod/setup.php:320 -msgid "Database Type" -msgstr "Database Type" +#: ../../mod/editpost.php:164 ../../mod/rpost.php:128 +msgid "Edit post" +msgstr "Bericht bewerken" -#: ../../mod/setup.php:322 ../../mod/setup.php:363 -msgid "Site administrator email address" -msgstr "Hub administrator email address" +#: ../../mod/follow.php:25 +msgid "Channel added." +msgstr "Kanaal toegevoegd." -#: ../../mod/setup.php:322 ../../mod/setup.php:363 +#: ../../mod/rmagic.php:40 msgid "" -"Your account email address must match this in order to use the web admin " -"panel." -msgstr "Your account email address must match this in order to use the web admin panel." +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." +msgstr "We hebben een probleem ontdekt tijdens het inloggen met de OpenID die je hebt verstrekt. Controleer de ID op typefouten." -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Website URL" -msgstr "Hub URL" +#: ../../mod/rmagic.php:40 +msgid "The error message was:" +msgstr "Het foutbericht was:" -#: ../../mod/setup.php:323 ../../mod/setup.php:365 -msgid "Please use SSL (https) URL if available." -msgstr "Please use SSL (https) URL if available." +#: ../../mod/rmagic.php:44 +msgid "Authentication failed." +msgstr "Authenticatie mislukt." -#: ../../mod/setup.php:325 ../../mod/setup.php:367 -msgid "Please select a default timezone for your website" -msgstr "Please select a default timezone for your hub" +#: ../../mod/rmagic.php:84 +msgid "Remote Authentication" +msgstr "Authenticatie op afstand" -#: ../../mod/setup.php:352 -msgid "Site settings" -msgstr "Hub settings" +#: ../../mod/rmagic.php:85 +msgid "Enter your channel address (e.g. channel@example.com)" +msgstr "Vul jouw kanaaladres in (bijv. channel@example.com)" -#: ../../mod/setup.php:417 -msgid "Could not find a command line version of PHP in the web server PATH." -msgstr "Could not find a command line version of PHP in the web server PATH." +#: ../../mod/rmagic.php:86 +msgid "Authenticate" +msgstr "Authenticeren" -#: ../../mod/setup.php:418 -msgid "" -"If you don't have a command line version of PHP installed on server, you " -"will not be able to run background polling via cron." -msgstr "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron." +#: ../../mod/chat.php:174 +msgid "Room not found" +msgstr "Chatkanaal niet gevonden" -#: ../../mod/setup.php:422 -msgid "PHP executable path" -msgstr "PHP executable path" +#: ../../mod/chat.php:185 +msgid "Leave Room" +msgstr "Chatkanaal verlaten" -#: ../../mod/setup.php:422 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." -msgstr "Enter full path to php executable. You can leave this blank to continue the installation." +#: ../../mod/chat.php:186 +msgid "Delete This Room" +msgstr "Chatkanaal verwijderen" -#: ../../mod/setup.php:427 -msgid "Command line PHP" -msgstr "Command line PHP" +#: ../../mod/chat.php:187 +msgid "I am away right now" +msgstr "Ik ben momenteel afwezig" -#: ../../mod/setup.php:436 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." -msgstr "The command line version of PHP on your system does not have \"register_argc_argv\" enabled." +#: ../../mod/chat.php:188 +msgid "I am online" +msgstr "Ik ben online" -#: ../../mod/setup.php:437 -msgid "This is required for message delivery to work." -msgstr "This is required for message delivery to work." +#: ../../mod/chat.php:190 +msgid "Bookmark this room" +msgstr "Chatkanaal aan bladwijzers toevoegen" -#: ../../mod/setup.php:440 -msgid "PHP register_argc_argv" -msgstr "PHP register_argc_argv" +#: ../../mod/chat.php:208 ../../mod/chat.php:231 +msgid "New Chatroom" +msgstr "Nieuw chatkanaal" -#: ../../mod/setup.php:458 -#, php-format -msgid "" -"Your max allowed total upload size is set to %s. Maximum size of one file to" -" upload is set to %s. You are allowed to upload up to %d files at once." -msgstr "Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once." +#: ../../mod/chat.php:209 +msgid "Chatroom Name" +msgstr "Naam chatkanaal" -#: ../../mod/setup.php:463 -msgid "You can adjust these settings in the servers php.ini." -msgstr "You can adjust these settings in the servers php.ini." +#: ../../mod/chat.php:210 +msgid "Expiration of chats (minutes)" +msgstr "Aantal minuten voordat chatberichten worden verwijderd" -#: ../../mod/setup.php:465 -msgid "PHP upload limits" -msgstr "PHP upload limits" +#: ../../mod/chat.php:227 +#, php-format +msgid "%1$s's Chatrooms" +msgstr "Chatkanalen van %1$s" -#: ../../mod/setup.php:488 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" -msgstr "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys" +#: ../../mod/viewsrc.php:40 +msgid "Source of Item" +msgstr "Bron van item" -#: ../../mod/setup.php:489 -msgid "" -"If running under Windows, please see " -"\"http://www.php.net/manual/en/openssl.installation.php\"." -msgstr "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"." +#: ../../mod/ffsapi.php:8 +msgid "Share content from Firefox to $Projectname" +msgstr "Deel webpagina's vanuit Firefox met " -#: ../../mod/setup.php:492 -msgid "Generate encryption keys" -msgstr "Generate encryption keys" +#: ../../mod/ffsapi.php:11 +msgid "Activate the Firefox $Projectname provider" +msgstr "Activeer de $Projectname-service in Firefox" -#: ../../mod/setup.php:504 -msgid "libCurl PHP module" -msgstr "libCurl PHP module" +#: ../../mod/magic.php:69 +msgid "Hub not found." +msgstr "Hub niet gevonden." -#: ../../mod/setup.php:505 -msgid "GD graphics PHP module" -msgstr "GD graphics PHP module" +#: ../../mod/connections.php:52 ../../mod/connections.php:150 +msgid "Blocked" +msgstr "Geblokkeerd" -#: ../../mod/setup.php:506 -msgid "OpenSSL PHP module" -msgstr "OpenSSL PHP module" +#: ../../mod/connections.php:57 ../../mod/connections.php:157 +msgid "Ignored" +msgstr "Genegeerd" -#: ../../mod/setup.php:507 -msgid "mysqli or postgres PHP module" -msgstr "mysqli or postgres PHP module" +#: ../../mod/connections.php:62 ../../mod/connections.php:171 +msgid "Hidden" +msgstr "Verborgen" -#: ../../mod/setup.php:508 -msgid "mb_string PHP module" -msgstr "mb_string PHP module" +#: ../../mod/connections.php:67 ../../mod/connections.php:164 +msgid "Archived" +msgstr "Gearchiveerd" -#: ../../mod/setup.php:509 -msgid "mcrypt PHP module" -msgstr "mcrypt PHP module" +#: ../../mod/connections.php:128 +msgid "Suggest new connections" +msgstr "Nieuwe kanalen voorstellen" -#: ../../mod/setup.php:510 -msgid "xml PHP module" -msgstr "xml PHP module" +#: ../../mod/connections.php:131 +msgid "New Connections" +msgstr "Nieuwe connecties" -#: ../../mod/setup.php:514 ../../mod/setup.php:516 -msgid "Apache mod_rewrite module" -msgstr "Apache mod_rewrite module" +#: ../../mod/connections.php:134 +msgid "Show pending (new) connections" +msgstr "Nog te accepteren (nieuwe) connecties weergeven" -#: ../../mod/setup.php:514 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." -msgstr "Error: Apache webserver mod-rewrite module is required but not installed." +#: ../../mod/connections.php:137 ../../mod/profperm.php:139 +msgid "All Connections" +msgstr "Alle connecties" -#: ../../mod/setup.php:520 ../../mod/setup.php:523 -msgid "proc_open" -msgstr "proc_open" +#: ../../mod/connections.php:140 +msgid "Show all connections" +msgstr "Toon alle connecties" -#: ../../mod/setup.php:520 -msgid "" -"Error: proc_open is required but is either not installed or has been " -"disabled in php.ini" -msgstr "Error: proc_open is required but is either not installed or has been disabled in php.ini" +#: ../../mod/connections.php:143 +msgid "Unblocked" +msgstr "Niet geblokkeerd" -#: ../../mod/setup.php:528 -msgid "Error: libCURL PHP module required but not installed." -msgstr "Error: libCURL PHP module required but not installed." +#: ../../mod/connections.php:146 +msgid "Only show unblocked connections" +msgstr "Toon alleen niet geblokkeerde connecties" -#: ../../mod/setup.php:532 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." -msgstr "Error: GD graphics PHP module with JPEG support required but not installed." +#: ../../mod/connections.php:153 +msgid "Only show blocked connections" +msgstr "Toon alleen geblokkeerde connecties" -#: ../../mod/setup.php:536 -msgid "Error: openssl PHP module required but not installed." -msgstr "Error: openssl PHP module required but not installed." +#: ../../mod/connections.php:160 +msgid "Only show ignored connections" +msgstr "Toon alleen genegeerde connecties" -#: ../../mod/setup.php:540 -msgid "" -"Error: mysqli or postgres PHP module required but neither are installed." -msgstr "Error: mysqli or postgres PHP module required but neither are installed." +#: ../../mod/connections.php:167 +msgid "Only show archived connections" +msgstr "Toon alleen gearchiveerde connecties" -#: ../../mod/setup.php:544 -msgid "Error: mb_string PHP module required but not installed." -msgstr "Error: mb_string PHP module required but not installed." +#: ../../mod/connections.php:174 +msgid "Only show hidden connections" +msgstr "Toon alleen verborgen connecties" -#: ../../mod/setup.php:548 -msgid "Error: mcrypt PHP module required but not installed." -msgstr "Error: mcrypt PHP module required but not installed." +#: ../../mod/connections.php:225 +#, php-format +msgid "%1$s [%2$s]" +msgstr "%1$s [%2$s]" -#: ../../mod/setup.php:552 -msgid "Error: xml PHP module required for DAV but not installed." -msgstr "Error: xml PHP module required for DAV but not installed." +#: ../../mod/connections.php:226 +msgid "Edit connection" +msgstr "Connectie bewerken" -#: ../../mod/setup.php:570 -msgid "" -"The web installer needs to be able to create a file called \".htconfig.php\"" -" in the top folder of your web server and it is unable to do so." -msgstr "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so." +#: ../../mod/connections.php:264 +msgid "Search your connections" +msgstr "Doorzoek jouw connecties" -#: ../../mod/setup.php:571 -msgid "" -"This is most often a permission setting, as the web server may not be able " -"to write files in your folder - even if you can." -msgstr "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can." +#: ../../mod/connections.php:265 +msgid "Finding: " +msgstr "Zoeken naar: " -#: ../../mod/setup.php:572 -msgid "" -"At the end of this procedure, we will give you a text to save in a file " -"named .htconfig.php in your Red top folder." -msgstr "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder." +#: ../../mod/help.php:147 +msgid "Documentation Search" +msgstr "Zoek documentatie" -#: ../../mod/setup.php:573 -msgid "" -"You can alternatively skip this procedure and perform a manual installation." -" Please see the file \"install/INSTALL.txt\" for instructions." -msgstr "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions." +#: ../../mod/help.php:184 ../../mod/help.php:190 ../../mod/help.php:196 +msgid "Help:" +msgstr "Hulp:" -#: ../../mod/setup.php:576 -msgid ".htconfig.php is writable" -msgstr ".htconfig.php is writable" +#: ../../mod/help.php:211 ../../index.php:238 +msgid "Not Found" +msgstr "Niet gevonden" -#: ../../mod/setup.php:590 -msgid "" -"Red uses the Smarty3 template engine to render its web views. Smarty3 " -"compiles templates to PHP to speed up rendering." -msgstr "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering." +#: ../../mod/help.php:235 +msgid "$Projectname Documentation" +msgstr "$Projectname-documentatie" -#: ../../mod/setup.php:591 +#: ../../mod/manage.php:130 #, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the Red top level folder." -msgstr "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder." +msgid "You have created %1$.0f of %2$.0f allowed channels." +msgstr "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt." -#: ../../mod/setup.php:592 ../../mod/setup.php:613 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has" -" write access to this folder." -msgstr "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder." +#: ../../mod/manage.php:138 +msgid "Create a new channel" +msgstr "Nieuw kanaal aanmaken" -#: ../../mod/setup.php:593 +#: ../../mod/manage.php:161 +msgid "Current Channel" +msgstr "Huidig kanaal" + +#: ../../mod/manage.php:163 +msgid "Switch to one of your channels by selecting it." +msgstr "Activeer een van jouw andere kanalen door er op te klikken." + +#: ../../mod/manage.php:164 +msgid "Default Channel" +msgstr "Standaardkanaal" + +#: ../../mod/manage.php:165 +msgid "Make Default" +msgstr "Als standaard instellen" + +#: ../../mod/manage.php:168 #, php-format -msgid "" -"Note: as a security measure, you should give the web server write access to " -"%s only--not the template files (.tpl) that it contains." -msgstr "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains." +msgid "%d new messages" +msgstr "%d nieuwe berichten" -#: ../../mod/setup.php:596 +#: ../../mod/manage.php:169 #, php-format -msgid "%s is writable" -msgstr "%s is writable" +msgid "%d new introductions" +msgstr "%d nieuwe connectieverzoeken" -#: ../../mod/setup.php:612 -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 "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" +#: ../../mod/manage.php:171 +msgid "Delegated Channels" +msgstr "Uitbestede kanalen" -#: ../../mod/setup.php:616 -msgid "store is writable" -msgstr "store is writable" +#: ../../mod/menu.php:45 +msgid "Unable to update menu." +msgstr "Niet in staat om menu aan te passen" -#: ../../mod/setup.php:649 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access" -" to this site." -msgstr "SSL certificate cannot be validated. Fix certificate or disable https access to this hub." +#: ../../mod/menu.php:56 +msgid "Unable to create menu." +msgstr "Niet in staat om menu aan te maken." -#: ../../mod/setup.php:650 -msgid "" -"If you have https access to your website or allow connections to TCP port " -"443 (the https: port), you MUST use a browser-valid certificate. You MUST " -"NOT use self-signed certificates!" -msgstr "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!" +#: ../../mod/menu.php:94 ../../mod/menu.php:106 +msgid "Menu Name" +msgstr "Menunaam" -#: ../../mod/setup.php:651 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." -msgstr "This restriction is incorporated because public posts from you may for example contain references to images on your own hub." +#: ../../mod/menu.php:94 +msgid "Unique name (not visible on webpage) - required" +msgstr "Unieke naam vereist (niet zichtbaar op webpagina)" -#: ../../mod/setup.php:652 -msgid "" -"If your certificate is not recognized, members of other sites (who may " -"themselves have valid certificates) will get a warning message on their own " -"site complaining about security issues." -msgstr "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues." +#: ../../mod/menu.php:95 ../../mod/menu.php:107 +msgid "Menu Title" +msgstr "Menutitel" -#: ../../mod/setup.php:653 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." -msgstr "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement." +#: ../../mod/menu.php:95 +msgid "Visible on webpage - leave empty for no title" +msgstr "Zichtbaar op webpagina (leeg laten voor geen titel)" -#: ../../mod/setup.php:654 -msgid "" -"Providers are available that issue free certificates which are browser-" -"valid." -msgstr "Providers are available that issue free certificates which are browser-valid." +#: ../../mod/menu.php:96 +msgid "Allow Bookmarks" +msgstr "Bladwijzers toestaan" -#: ../../mod/setup.php:656 -msgid "SSL certificate validation" -msgstr "SSL certificate validation" +#: ../../mod/menu.php:96 ../../mod/menu.php:153 +msgid "Menu may be used to store saved bookmarks" +msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan" -#: ../../mod/setup.php:662 -msgid "" -"Url rewrite in .htaccess is not working. Check your server " -"configuration.Test: " -msgstr "Url rewrite in .htaccess is not working. Check your server configuration.Test: " +#: ../../mod/menu.php:97 ../../mod/menu.php:155 +msgid "Submit and proceed" +msgstr "Opslaan en doorgaan" -#: ../../mod/setup.php:665 -msgid "Url rewrite is working" -msgstr "Url rewrite is working" +#: ../../mod/menu.php:109 +msgid "Drop" +msgstr "Verwijderen" -#: ../../mod/setup.php:674 -msgid "" -"The database configuration file \".htconfig.php\" could not be written. " -"Please use the enclosed text to create a configuration file in your web " -"server root." -msgstr "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root." +#: ../../mod/menu.php:113 +msgid "Bookmarks allowed" +msgstr "Bladwijzers toegestaan" -#: ../../mod/setup.php:698 -msgid "Errors encountered creating database tables." -msgstr "Errors encountered creating database tables." +#: ../../mod/menu.php:115 +msgid "Delete this menu" +msgstr "Menu verwijderen" -#: ../../mod/setup.php:732 -msgid "<h1>What next</h1>" -msgstr "<h1>Wat nu</h1>" +#: ../../mod/menu.php:116 ../../mod/menu.php:150 +msgid "Edit menu contents" +msgstr "Bewerk de inhoud van het menu" -#: ../../mod/setup.php:733 +#: ../../mod/menu.php:117 +msgid "Edit this menu" +msgstr "Dit menu bewerken" + +#: ../../mod/menu.php:132 +msgid "Menu could not be deleted." +msgstr "Menu kon niet verwijderd worden." + +#: ../../mod/menu.php:140 ../../mod/mitem.php:24 +msgid "Menu not found." +msgstr "Menu niet gevonden." + +#: ../../mod/menu.php:145 +msgid "Edit Menu" +msgstr "Menu bewerken" + +#: ../../mod/menu.php:149 +msgid "Add or remove entries to this menu" +msgstr "Items aan dit menu toevoegen of verwijder" + +#: ../../mod/menu.php:151 +msgid "Menu name" +msgstr "Naam van menu" + +#: ../../mod/menu.php:151 +msgid "Must be unique, only seen by you" +msgstr "Moet uniek zijn en is alleen zichtbaar voor jou." + +#: ../../mod/menu.php:152 +msgid "Menu title" +msgstr "Titel van menu" + +#: ../../mod/menu.php:152 +msgid "Menu title as seen by others" +msgstr "Titel van menu zoals anderen dat zien." + +#: ../../mod/menu.php:153 +msgid "Allow bookmarks" +msgstr "Bladwijzers toestaan" + +#: ../../mod/mail.php:33 +msgid "Unable to lookup recipient." +msgstr "Niet in staat om ontvanger op te zoeken." + +#: ../../mod/mail.php:41 +msgid "Unable to communicate with requested channel." +msgstr "Niet in staat om met het aangevraagde kanaal te communiceren." + +#: ../../mod/mail.php:48 +msgid "Cannot verify requested channel." +msgstr "Kan opgevraagd kanaal niet verifieren" + +#: ../../mod/mail.php:74 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt." + +#: ../../mod/mail.php:132 +msgid "Messages" +msgstr "Berichten" + +#: ../../mod/mail.php:167 +msgid "Message recalled." +msgstr "Bericht ingetrokken." + +#: ../../mod/mail.php:180 +msgid "Conversation removed." +msgstr "Conversatie verwijderd" + +#: ../../mod/mail.php:223 +msgid "Requested channel is not in this network" +msgstr "Opgevraagd kanaal is niet in dit netwerk beschikbaar" + +#: ../../mod/mail.php:231 +msgid "Send Private Message" +msgstr "Privébericht versturen" + +#: ../../mod/mail.php:232 ../../mod/mail.php:362 +msgid "To:" +msgstr "Aan:" + +#: ../../mod/mail.php:235 ../../mod/mail.php:364 +msgid "Subject:" +msgstr "Onderwerp:" + +#: ../../mod/mail.php:242 +msgid "Send" +msgstr "Verzenden" + +#: ../../mod/mail.php:334 +msgid "Delete message" +msgstr "Bericht verwijderen" + +#: ../../mod/mail.php:335 +msgid "Delivery report" +msgstr "Afleveringsrapport" + +#: ../../mod/mail.php:336 +msgid "Recall message" +msgstr "Bericht intrekken" + +#: ../../mod/mail.php:338 +msgid "Message has been recalled." +msgstr "Bericht is ingetrokken." + +#: ../../mod/mail.php:355 +msgid "Delete Conversation" +msgstr "Verwijder conversatie" + +#: ../../mod/mail.php:357 msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the " -"poller." -msgstr "IMPORTANT: You will need to [manually] setup a scheduled task for the poller." +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." +msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender." -#: ../../mod/sharedwithme.php:94 -msgid "Files: shared with me" -msgstr "Bestanden: met mij gedeeld" +#: ../../mod/mail.php:361 +msgid "Send Reply" +msgstr "Antwoord versturen" -#: ../../mod/sharedwithme.php:96 -msgid "NEW" -msgstr "NIEUW" +#: ../../mod/mail.php:366 +#, php-format +msgid "Your message for %s (%s):" +msgstr "Jouw privébericht aan %s (%s):" -#: ../../mod/sharedwithme.php:99 -msgid "Remove all files" -msgstr "Verwijder alle bestanden" +#: ../../mod/post.php:234 +msgid "" +"Remote authentication blocked. You are logged into this site locally. Please" +" logout and retry." +msgstr "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen." -#: ../../mod/sharedwithme.php:100 -msgid "Remove this file" -msgstr "Verwijder dit bestand" +#: ../../mod/service_limits.php:19 +msgid "No service class restrictions found." +msgstr "Geen abonnementsbeperkingen gevonden." -#: ../../mod/siteinfo.php:111 +#: ../../mod/siteinfo.php:15 #, php-format msgid "Version %s" msgstr "Versie %s" -#: ../../mod/siteinfo.php:132 +#: ../../mod/siteinfo.php:36 msgid "Installed plugins/addons/apps:" msgstr "Ingeschakelde plug-ins/add-ons/apps:" -#: ../../mod/siteinfo.php:145 +#: ../../mod/siteinfo.php:49 msgid "No installed plugins/addons/apps" msgstr "Geen ingeschakelde plug-ins/add-ons/apps" -#: ../../mod/siteinfo.php:158 +#: ../../mod/siteinfo.php:62 msgid "" "This is a hub of $Projectname - a global cooperative network of " "decentralized privacy enhanced websites." msgstr "Dit is een $Projectname-hub - $Projectname is een wereldwijd coöperatief netwerk van gedecentraliseerde websites (hubs) met verbeterde privacy." -#: ../../mod/siteinfo.php:160 +#: ../../mod/siteinfo.php:64 msgid "Tag: " msgstr "Tag: " -#: ../../mod/siteinfo.php:162 +#: ../../mod/siteinfo.php:66 msgid "Last background fetch: " msgstr "Meest recente achtergrond-fetch:" -#: ../../mod/siteinfo.php:164 +#: ../../mod/siteinfo.php:68 msgid "Current load average: " msgstr "Gemiddelde systeembelasting is nu:" -#: ../../mod/siteinfo.php:167 +#: ../../mod/siteinfo.php:71 msgid "Running at web location" msgstr "Draaiend op weblocatie" -#: ../../mod/siteinfo.php:168 +#: ../../mod/siteinfo.php:72 msgid "" "Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more " "about $Projectname." msgstr "Bezoek <a href=\"http://hubzilla.org\">hubzilla.org</a> " -#: ../../mod/siteinfo.php:169 +#: ../../mod/siteinfo.php:73 msgid "Bug reports and issues: please visit" msgstr "Bugrapporten en andere kwesties: bezoek" -#: ../../mod/siteinfo.php:171 +#: ../../mod/siteinfo.php:75 msgid "$projectname issues" msgstr "$projectname-issues" -#: ../../mod/siteinfo.php:172 +#: ../../mod/siteinfo.php:76 msgid "" "Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot " "com" msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com" -#: ../../mod/siteinfo.php:174 +#: ../../mod/siteinfo.php:78 msgid "Site Administrators" msgstr "Hubbeheerders: " @@ -8851,303 +8910,288 @@ msgid "" "hours." msgstr "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer." -#: ../../mod/profiles.php:18 ../../mod/profiles.php:174 -#: ../../mod/profiles.php:231 ../../mod/profiles.php:600 -msgid "Profile not found." -msgstr "Profiel niet gevonden." - -#: ../../mod/profiles.php:38 -msgid "Profile deleted." -msgstr "Profiel verwijderd." - -#: ../../mod/profiles.php:56 ../../mod/profiles.php:92 -msgid "Profile-" -msgstr "Profiel-" - -#: ../../mod/profiles.php:77 ../../mod/profiles.php:120 -msgid "New profile created." -msgstr "Nieuw profiel aangemaakt." - -#: ../../mod/profiles.php:98 -msgid "Profile unavailable to clone." -msgstr "Profiel niet beschikbaar om te klonen" +#: ../../mod/events.php:21 +msgid "Calendar entries imported." +msgstr "Agenda-items geïmporteerd." -#: ../../mod/profiles.php:136 -msgid "Profile unavailable to export." -msgstr "Geen profiel beschikbaar om te exporteren" +#: ../../mod/events.php:23 +msgid "No calendar entries found." +msgstr "Geen agenda-items gevonden." -#: ../../mod/profiles.php:241 -msgid "Profile Name is required." -msgstr "Profielnaam is vereist" +#: ../../mod/events.php:100 +msgid "Event can not end before it has started." +msgstr "Gebeurtenis kan niet eindigen voordat het is begonnen" -#: ../../mod/profiles.php:404 -msgid "Marital Status" -msgstr "Huwelijke status" +#: ../../mod/events.php:102 ../../mod/events.php:111 ../../mod/events.php:131 +msgid "Unable to generate preview." +msgstr "Niet in staat om voorvertoning te genereren" -#: ../../mod/profiles.php:408 -msgid "Romantic Partner" -msgstr "Romantische partner" +#: ../../mod/events.php:109 +msgid "Event title and start time are required." +msgstr "Titel en begintijd van gebeurtenis zijn vereist." -#: ../../mod/profiles.php:412 -msgid "Likes" -msgstr "Houdt van" +#: ../../mod/events.php:129 ../../mod/events.php:254 +msgid "Event not found." +msgstr "Gebeurtenis niet gevonden" -#: ../../mod/profiles.php:416 -msgid "Dislikes" -msgstr "Houdt niet van" +#: ../../mod/events.php:437 +msgid "Edit event titel" +msgstr "Titel bewerken" -#: ../../mod/profiles.php:420 -msgid "Work/Employment" -msgstr "Werk/arbeid" +#: ../../mod/events.php:437 +msgid "Event titel" +msgstr "Titel" -#: ../../mod/profiles.php:423 -msgid "Religion" -msgstr "Religie" +#: ../../mod/events.php:439 +msgid "Categories (comma-separated list)" +msgstr "Categorieën (door komma's gescheiden lijst)" -#: ../../mod/profiles.php:427 -msgid "Political Views" -msgstr "Politieke overtuigingen" +#: ../../mod/events.php:440 +msgid "Edit Category" +msgstr "Categorie" -#: ../../mod/profiles.php:435 -msgid "Sexual Preference" -msgstr "Seksuele voorkeur" +#: ../../mod/events.php:440 +msgid "Category" +msgstr "Categorie" -#: ../../mod/profiles.php:439 -msgid "Homepage" -msgstr "Homepage" +#: ../../mod/events.php:443 +msgid "Edit start date and time" +msgstr "Begindatum en -tijd bewerken" -#: ../../mod/profiles.php:443 -msgid "Interests" -msgstr "Interesses" +#: ../../mod/events.php:443 +msgid "Start date and time" +msgstr "Begindatum en -tijd" -#: ../../mod/profiles.php:537 -msgid "Profile updated." -msgstr "Profiel bijgewerkt" +#: ../../mod/events.php:444 ../../mod/events.php:447 +msgid "Finish date and time are not known or not relevant" +msgstr "Einddatum en -tijd zijn niet bekend of niet van toepassing" -#: ../../mod/profiles.php:626 -msgid "Hide your contact/friend list from viewers of this profile?" -msgstr "Laat de lijst met connecties niet aan bezoekers van dit profiel zien." +#: ../../mod/events.php:446 +msgid "Edit finish date and time" +msgstr "Einddatum en -tijd bewerken" -#: ../../mod/profiles.php:666 -msgid "Edit Profile Details" -msgstr "Profiel bewerken" +#: ../../mod/events.php:446 +msgid "Finish date and time" +msgstr "Einddatum en -tijd" -#: ../../mod/profiles.php:668 -msgid "View this profile" -msgstr "Profiel weergeven" +#: ../../mod/events.php:448 ../../mod/events.php:449 +msgid "Adjust for viewer timezone" +msgstr "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt" -#: ../../mod/profiles.php:670 -msgid "Change Profile Photo" -msgstr "Profielfoto wijzigen" +#: ../../mod/events.php:448 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen." -#: ../../mod/profiles.php:671 -msgid "Create a new profile using these settings" -msgstr "Een nieuw profiel aanmaken met dit profiel als basis" +#: ../../mod/events.php:450 +msgid "Edit Description" +msgstr "Omschrijving bewerken" -#: ../../mod/profiles.php:672 -msgid "Clone this profile" -msgstr "Dit profiel klonen" +#: ../../mod/events.php:452 +msgid "Edit Location" +msgstr "Locatie bewerken" -#: ../../mod/profiles.php:673 -msgid "Delete this profile" -msgstr "Dit profiel verwijderen" +#: ../../mod/events.php:455 ../../mod/events.php:457 +msgid "Share this event" +msgstr "Deel deze gebeurtenis" -#: ../../mod/profiles.php:675 -msgid "Import profile from file" -msgstr "Profiel vanuit bestand importeren" +#: ../../mod/events.php:462 +msgid "Advanced Options" +msgstr "Geavanceerde opties" -#: ../../mod/profiles.php:676 -msgid "Export profile to file" -msgstr "Profiel naar bestand exporteren" +#: ../../mod/events.php:574 +msgid "l, F j" +msgstr "l j F" -#: ../../mod/profiles.php:677 -msgid "Profile Name:" -msgstr "Profielnaam:" +#: ../../mod/events.php:596 +msgid "Edit event" +msgstr "Gebeurtenis bewerken" -#: ../../mod/profiles.php:678 -msgid "Your Full Name:" -msgstr "Jouw volledige naam:" +#: ../../mod/events.php:598 +msgid "Delete event" +msgstr "Gebeurtenis verwijderen" -#: ../../mod/profiles.php:679 -msgid "Title/Description:" -msgstr "Titel/omschrijving:" +#: ../../mod/events.php:632 +msgid "calendar" +msgstr "agenda" -#: ../../mod/profiles.php:680 -msgid "Your Gender:" -msgstr "Jouw geslacht" +#: ../../mod/events.php:651 +msgid "Edit Event" +msgstr "Gebeurtenis bewerken" -#: ../../mod/profiles.php:681 -msgid "Birthday :" -msgstr "Verjaardag: " +#: ../../mod/events.php:651 +msgid "Create Event" +msgstr "Gebeurtenis aanmaken" -#: ../../mod/profiles.php:682 -msgid "Street Address:" -msgstr "Straat en huisnummer:" +#: ../../mod/events.php:661 +msgid "Today" +msgstr "Vandaag" -#: ../../mod/profiles.php:683 -msgid "Locality/City:" -msgstr "Woonplaats:" +#: ../../mod/events.php:692 +msgid "Event removed" +msgstr "Gebeurtenis verwijderd" -#: ../../mod/profiles.php:684 -msgid "Postal/Zip Code:" -msgstr "Postcode:" +#: ../../mod/events.php:695 +msgid "Failed to remove event" +msgstr "Verwijderen gebeurtenis mislukt" -#: ../../mod/profiles.php:685 -msgid "Country:" -msgstr "Land:" +#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 +msgid "Invalid profile identifier." +msgstr "Ongeldige profiel-identificator" -#: ../../mod/profiles.php:686 -msgid "Region/State:" -msgstr "Provincie/gewest/deelstaat:" +#: ../../mod/profperm.php:110 +msgid "Profile Visibility Editor" +msgstr "Zichtbaarheid profiel " -#: ../../mod/profiles.php:687 -msgid "<span class=\"heart\">♥</span> Marital Status:" -msgstr "<span class=\"heart\">♥</span> Huwelijkse staat:" +#: ../../mod/profperm.php:114 +msgid "Click on a contact to add or remove." +msgstr "Klik op een connectie om deze toe te voegen of te verwijderen" -#: ../../mod/profiles.php:688 -msgid "Who: (if applicable)" -msgstr "Wie (wanneer toepasselijk):" +#: ../../mod/profperm.php:123 +msgid "Visible To" +msgstr "Zichtbaar voor" -#: ../../mod/profiles.php:689 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" -msgstr "Voorbeelden: petra123, Petra Jansen, petra@voorbeeld.nl" +#: ../../mod/mitem.php:48 +msgid "Unable to create element." +msgstr "Niet in staat om onderdeel aan te maken." -#: ../../mod/profiles.php:690 -msgid "Since [date]:" -msgstr "Sinds [datum]:" +#: ../../mod/mitem.php:72 +msgid "Unable to update menu element." +msgstr "Menu-onderdeel kan niet worden geüpdatet." -#: ../../mod/profiles.php:692 -msgid "Homepage URL:" -msgstr "Adres homepage:" +#: ../../mod/mitem.php:88 +msgid "Unable to add menu element." +msgstr "Menu-onderdeel kan niet worden toegevoegd." -#: ../../mod/profiles.php:695 -msgid "Religious Views:" -msgstr "Religieuze overtuigingen" +#: ../../mod/mitem.php:149 ../../mod/mitem.php:222 +msgid "Menu Item Permissions" +msgstr "Permissies menu-item" -#: ../../mod/profiles.php:696 -msgid "Keywords:" -msgstr "Trefwoorden" +#: ../../mod/mitem.php:152 ../../mod/mitem.php:168 +msgid "Link Name" +msgstr "Linknaam" -#: ../../mod/profiles.php:699 -msgid "Example: fishing photography software" -msgstr "Voorbeeld: muziek, fotografie, software" +#: ../../mod/mitem.php:153 ../../mod/mitem.php:227 +msgid "Link or Submenu Target" +msgstr "Linkdoel of submenu-doel" -#: ../../mod/profiles.php:700 -msgid "Used in directory listings" -msgstr "Wordt in de kanalengids gebruikt" +#: ../../mod/mitem.php:153 +msgid "Enter URL of the link or select a menu name to create a submenu" +msgstr "Geef de URL van de link of kies een menunaam om een submenu aan te maken" -#: ../../mod/profiles.php:701 -msgid "Tell us about yourself..." -msgstr "Vertel ons iets over jezelf..." +#: ../../mod/mitem.php:154 ../../mod/mitem.php:228 +msgid "Use magic-auth if available" +msgstr "Gebruik magic-auth wanneer beschikbaar" -#: ../../mod/profiles.php:702 -msgid "Hobbies/Interests" -msgstr "Hobby's/interesses" +#: ../../mod/mitem.php:155 ../../mod/mitem.php:229 +msgid "Open link in new window" +msgstr "Open link in nieuw venster" -#: ../../mod/profiles.php:703 -msgid "Contact information and Social Networks" -msgstr "Contactinformatie en sociale netwerken" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Order in list" +msgstr "Volgorde in lijst" -#: ../../mod/profiles.php:704 -msgid "My other channels" -msgstr "Mijn andere kanalen" +#: ../../mod/mitem.php:156 ../../mod/mitem.php:230 +msgid "Higher numbers will sink to bottom of listing" +msgstr "Hogere nummers komen onderaan de lijst terecht" -#: ../../mod/profiles.php:705 -msgid "Musical interests" -msgstr "Muzikale interesses" +#: ../../mod/mitem.php:157 +msgid "Submit and finish" +msgstr "Opslaan en afsluiten" -#: ../../mod/profiles.php:706 -msgid "Books, literature" -msgstr "Boeken/literatuur" +#: ../../mod/mitem.php:158 +msgid "Submit and continue" +msgstr "Opslaan en doorgaan" -#: ../../mod/profiles.php:707 -msgid "Television" -msgstr "Televisie" +#: ../../mod/mitem.php:166 +msgid "Menu:" +msgstr "Menu:" -#: ../../mod/profiles.php:708 -msgid "Film/dance/culture/entertainment" -msgstr "Film/dans/cultuur/entertainment" +#: ../../mod/mitem.php:169 +msgid "Link Target" +msgstr "Linkdoel" -#: ../../mod/profiles.php:709 -msgid "Love/romance" -msgstr "Liefde/romantiek" +#: ../../mod/mitem.php:172 +msgid "Edit menu" +msgstr "Menu bewerken" -#: ../../mod/profiles.php:710 -msgid "Work/employment" -msgstr "Werk/arbeid" +#: ../../mod/mitem.php:175 +msgid "Edit element" +msgstr "Onderdeel bewerken" -#: ../../mod/profiles.php:711 -msgid "School/education" -msgstr "School/onderwijs" +#: ../../mod/mitem.php:176 +msgid "Drop element" +msgstr "Onderdeel verwijderen" -#: ../../mod/profiles.php:717 -msgid "This is your default profile." -msgstr "Dit is jouw standaardprofiel" +#: ../../mod/mitem.php:177 +msgid "New element" +msgstr "Nieuw element" -#: ../../mod/profiles.php:728 -msgid "Age: " -msgstr "Leeftijd:" +#: ../../mod/mitem.php:178 +msgid "Edit this menu container" +msgstr "Deze menu-container bewerken" -#: ../../mod/profiles.php:771 -msgid "Edit/Manage Profiles" -msgstr "Profielen bewerken/beheren" +#: ../../mod/mitem.php:179 +msgid "Add menu element" +msgstr "Menu-element toevoegen" -#: ../../mod/profiles.php:772 -msgid "Add profile things" -msgstr "Dingen aan je profiel toevoegen" +#: ../../mod/mitem.php:180 +msgid "Delete this menu item" +msgstr "Dit menu-item verwijderen" -#: ../../mod/profiles.php:773 -msgid "Include desirable objects in your profile" -msgstr "Voeg door jou gewenste dingen aan jouw profiel toe" +#: ../../mod/mitem.php:181 +msgid "Edit this menu item" +msgstr "Dit menu-item bewerken" -#: ../../mod/profperm.php:29 ../../mod/profperm.php:58 -msgid "Invalid profile identifier." -msgstr "Ongeldige profiel-identificator" +#: ../../mod/mitem.php:198 +msgid "Menu item not found." +msgstr "Menu-item niet gevonden." -#: ../../mod/profperm.php:110 -msgid "Profile Visibility Editor" -msgstr "Zichtbaarheid profiel " +#: ../../mod/mitem.php:211 +msgid "Menu item deleted." +msgstr "Menu-item verwijderd." -#: ../../mod/profperm.php:114 -msgid "Click on a contact to add or remove." -msgstr "Klik op een connectie om deze toe te voegen of te verwijderen" +#: ../../mod/mitem.php:213 +msgid "Menu item could not be deleted." +msgstr "Menu-item kon niet worden verwijderd." -#: ../../mod/profperm.php:123 -msgid "Visible To" -msgstr "Zichtbaar voor" +#: ../../mod/mitem.php:220 +msgid "Edit Menu Element" +msgstr "Menu-element bewerken" -#: ../../mod/rbmark.php:90 -msgid "Select a bookmark folder" -msgstr "Kies een bladwijzermap" +#: ../../mod/mitem.php:226 +msgid "Link text" +msgstr "Linktekst" -#: ../../mod/rbmark.php:95 -msgid "Save Bookmark" -msgstr "Bladwijzer opslaan" +#: ../../mod/wholikesme.php:13 +msgid "Who likes me?" +msgstr "Wie vindt mij leuk?" -#: ../../mod/rbmark.php:96 -msgid "URL of bookmark" -msgstr "URL van bladwijzer" +#: ../../mod/sharedwithme.php:94 +msgid "Files: shared with me" +msgstr "Bestanden: met mij gedeeld" -#: ../../mod/rbmark.php:101 -msgid "Or enter new bookmark folder name" -msgstr "Of geef de naam op van een nieuwe bladwijzermap" +#: ../../mod/sharedwithme.php:96 +msgid "NEW" +msgstr "NIEUW" -#: ../../mod/import_items.php:101 -msgid "Import completed" -msgstr "Importeren voltooid" +#: ../../mod/sharedwithme.php:99 +msgid "Remove all files" +msgstr "Verwijder alle bestanden" -#: ../../mod/import_items.php:119 -msgid "Import Items" -msgstr "Importeer items" +#: ../../mod/sharedwithme.php:100 +msgid "Remove this file" +msgstr "Verwijder dit bestand" -#: ../../mod/import_items.php:120 -msgid "" -"Use this form to import existing posts and content from an export file." -msgstr "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren." +#: ../../mod/viewconnections.php:59 +msgid "No connections." +msgstr "Geen connecties." -#: ../../mod/wholikesme.php:13 -msgid "Who likes me?" -msgstr "Wie vindt mij leuk?" +#: ../../mod/viewconnections.php:72 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "Bezoek het profiel van %s [%s]" #: ../../view/theme/redbasic/php/config.php:82 msgid "Focus (Hubzilla default)" @@ -9285,51 +9329,51 @@ msgstr "Grootte profielfoto's van berichten instellen" msgid "Set size of followup author photos" msgstr "Grootte profielfoto's van reacties instellen" -#: ../../boot.php:1291 +#: ../../boot.php:1292 #, php-format msgid "Update %s failed. See error logs." msgstr "Update %s mislukt. Zie foutenlogboek." -#: ../../boot.php:1294 +#: ../../boot.php:1295 #, php-format msgid "Update Error at %s" msgstr "Update-fout op %s" -#: ../../boot.php:1461 +#: ../../boot.php:1462 msgid "" "Create an account to access services and applications within the Hubzilla" msgstr "Maak een account aan om toegang te krijgen tot diensten en toepassingen van Hubzilla" -#: ../../boot.php:1489 +#: ../../boot.php:1484 msgid "Password" msgstr "Wachtwoord" -#: ../../boot.php:1490 +#: ../../boot.php:1485 msgid "Remember me" msgstr "Aangemeld blijven" -#: ../../boot.php:1493 +#: ../../boot.php:1488 msgid "Forgot your password?" msgstr "Wachtwoord vergeten?" -#: ../../boot.php:2113 +#: ../../boot.php:2108 msgid "toggle mobile" msgstr "mobiele weergave omschakelen" -#: ../../boot.php:2248 +#: ../../boot.php:2243 msgid "Website SSL certificate is not valid. Please correct." msgstr "Het SSL-certificaat van deze website is ongeldig. Corrigeer dit a.u.b." -#: ../../boot.php:2251 +#: ../../boot.php:2246 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "[hubzilla] Probleem met SSL-certificaat voor %s" -#: ../../boot.php:2288 +#: ../../boot.php:2283 msgid "Cron/Scheduled tasks not running." msgstr "Cron is niet actief" -#: ../../boot.php:2292 +#: ../../boot.php:2287 #, php-format msgid "[hubzilla] Cron tasks not running on %s" msgstr "[hubzilla] Cron-taken zijn niet actief op %s" diff --git a/view/nl/hstrings.php b/view/nl/hstrings.php index bec5b347c..839bf7e3b 100644 --- a/view/nl/hstrings.php +++ b/view/nl/hstrings.php @@ -5,9 +5,20 @@ function string_plural_select_nl($n){ return ($n != 1);; }} ; -$a->strings["No username found in import file."] = "Geen gebruikersnaam in het importbestand gevonden."; +$a->strings["Connect"] = "Verbinden"; +$a->strings["New window"] = "Nieuw venster"; +$a->strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab"; +$a->strings["User '%s' deleted"] = "Account '%s' verwijderd"; +$a->strings["Missing room name"] = "Naam chatkanaal ontbreekt"; +$a->strings["Duplicate room name"] = "Naam chatkanaal bestaat al"; +$a->strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal"; +$a->strings["Room not found."] = "Chatkanaal niet gevonden"; +$a->strings["Permission denied."] = "Toegang geweigerd"; +$a->strings["Room is full"] = "Chatkanaal is vol"; +$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."; $a->strings["Unable to create a unique channel address. Import failed."] = "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt."; -$a->strings["Import completed."] = "Import voltooid."; +$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt."; +$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt."; $a->strings["parent"] = "omhoog"; $a->strings["Collection"] = "map"; $a->strings["Principal"] = "principal"; @@ -32,132 +43,6 @@ $a->strings["You are using %1\$s of %2\$s available file storage. (%3\$s%)"] $a->strings["WARNING:"] = "WAARSCHUWING:"; $a->strings["Create new folder"] = "Nieuwe map aanmaken"; $a->strings["Upload file"] = "Bestand uploaden"; -$a->strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken"; -$a->strings["Can view my default channel profile"] = "Kan mijn standaard kanaalprofiel bekijken"; -$a->strings["Can view my connections"] = "Kan een lijst met mijn connecties bekijken"; -$a->strings["Can view my file storage and photos"] = "Kan mijn foto's en andere bestanden bekijken"; -$a->strings["Can view my webpages"] = "Kan mijn pagina's bekijken"; -$a->strings["Can send me their channel stream and posts"] = "Kan mij de inhoud van hun kanaal en berichten sturen"; -$a->strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen"; -$a->strings["Can comment on or like my posts"] = "Kan op mijn berichten reageren of deze (niet) leuk vinden"; -$a->strings["Can send me private mail messages"] = "Kan mij privéberichten sturen"; -$a->strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden"; -$a->strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties"; -$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"; -$a->strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor groepforums"; -$a->strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)"; -$a->strings["Can write to my file storage and photos"] = "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen"; -$a->strings["Can edit my webpages"] = "Kan mijn pagina's bewerken"; -$a->strings["Can source my public posts in derived channels"] = "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"; -$a->strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"; -$a->strings["Can administer my channel resources"] = "Kan mijn kanaal beheren"; -$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."; -$a->strings["Social Networking"] = "Sociaal netwerk"; -$a->strings["Mostly Public"] = "Vrijwel alles openbaar"; -$a->strings["Restricted"] = "Beperkt zichtbaar"; -$a->strings["Private"] = "Verborgen kanaal"; -$a->strings["Community Forum"] = "Groepsforum"; -$a->strings["Feed Republish"] = "Feed herpubliceren"; -$a->strings["Special Purpose"] = "Speciaal doel"; -$a->strings["Celebrity/Soapbox"] = "Beroemdheid/alleen volgen"; -$a->strings["Group Repository"] = "Groepsopslag"; -$a->strings["Other"] = "Anders"; -$a->strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen"; -$a->strings["Missing room name"] = "Naam chatkanaal ontbreekt"; -$a->strings["Duplicate room name"] = "Naam chatkanaal bestaat al"; -$a->strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal"; -$a->strings["Room not found."] = "Chatkanaal niet gevonden"; -$a->strings["Permission denied."] = "Toegang geweigerd"; -$a->strings["Room is full"] = "Chatkanaal is vol"; -$a->strings["Miscellaneous"] = "Diversen"; -$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD"; -$a->strings["Required"] = "Vereist"; -$a->strings["never"] = "nooit"; -$a->strings["less than a second ago"] = "minder dan een seconde geleden"; -$a->strings["year"] = "jaar"; -$a->strings["years"] = "jaren"; -$a->strings["month"] = "maand"; -$a->strings["months"] = "maanden"; -$a->strings["week"] = "week"; -$a->strings["weeks"] = "weken"; -$a->strings["day"] = "dag"; -$a->strings["days"] = "dagen"; -$a->strings["hour"] = "uur"; -$a->strings["hours"] = "uren"; -$a->strings["minute"] = "minuut"; -$a->strings["minutes"] = "minuten"; -$a->strings["second"] = "seconde"; -$a->strings["seconds"] = "seconden"; -$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden"; -$a->strings["%1\$s's birthday"] = "Verjaardag van %1\$s"; -$a->strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s"; -$a->strings["General Features"] = "Algemene functies"; -$a->strings["Content Expiration"] = "Inhoud laten verlopen"; -$a->strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen"; -$a->strings["Multiple Profiles"] = "Meerdere profielen"; -$a->strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken"; -$a->strings["Advanced Profiles"] = "Geavanceerde profielen"; -$a->strings["Additional profile sections and selections"] = "Extra onderdelen en keuzes voor je profiel"; -$a->strings["Profile Import/Export"] = "Profiel importen/exporteren"; -$a->strings["Save and load profile details across sites/channels"] = "Profielgegevens opslaan en in andere hubs/kanalen gebruiken."; -$a->strings["Web Pages"] = "Webpagina's"; -$a->strings["Provide managed web pages on your channel"] = "Sta beheerde webpagina's op jouw kanaal toe"; -$a->strings["Private Notes"] = "Privé-aantekeningen"; -$a->strings["Enables a tool to store notes and reminders"] = "Schakelt een eenvoudige toepassing in om aantekeningen en herinneringen in op te slaan"; -$a->strings["Navigation Channel Select"] = "Kanaal kiezen in navigatiemenu"; -$a->strings["Change channels directly from within the navigation dropdown menu"] = "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk"; -$a->strings["Photo Location"] = "Fotolocatie"; -$a->strings["If location data is available on uploaded photos, link this to a map."] = "Wanneer in de geüploade foto's locatiegegevens aanwezig zijn, link dit dan aan een kaart."; -$a->strings["Expert Mode"] = "Expertmodus"; -$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Schakel de expertmodus in voor geavanceerde instellingen"; -$a->strings["Premium Channel"] = "Premiumkanaal"; -$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal"; -$a->strings["Post Composition Features"] = "Functies voor het opstellen van berichten"; -$a->strings["Use Markdown"] = "Markdown gebruiken"; -$a->strings["Allow use of \"Markdown\" to format posts"] = "Sta het gebruik van \"markdown\" toe om berichten mee op te maken."; -$a->strings["Large Photos"] = "Grote foto's"; -$a->strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Gebruik grotere foto's (1024px) in berichten. Wanneer dit is uitgeschakeld worden er kleinere foto's (640px) gebruikt."; -$a->strings["Channel Sources"] = "Kanaalbronnen"; -$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisch inhoud uit andere kanalen of feeds importeren."; -$a->strings["Even More Encryption"] = "Extra encryptie"; -$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel."; -$a->strings["Enable Voting Tools"] = "Peilingen inschakelen"; -$a->strings["Provide a class of post which others can vote on"] = "Maakt het mogelijk om een bericht op te stellen, waar mensen op kunnen stemmen."; -$a->strings["Delayed Posting"] = "Berichten uitstellen"; -$a->strings["Allow posts to be published at a later date"] = "Maakt het mogelijk dat berichten op een toekomstig moment gepubliceerd kunnen worden."; -$a->strings["Suppress Duplicate Posts/Comments"] = "Dubbele berichten/reacties tegenhouden"; -$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Voorkomt dat berichten en reacties met identieke inhoud en die binnen twee minuten zijn verstuurd, worden gepubliceerd. "; -$a->strings["Network and Stream Filtering"] = "Netwerk- en streamfilter"; -$a->strings["Search by Date"] = "Zoek op datum"; -$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten op datum te filteren "; -$a->strings["Collections Filter"] = "Filter op collecties"; -$a->strings["Enable widget to display Network posts only from selected collections"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties"; -$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten"; -$a->strings["Save search terms for re-use"] = "Sla zoekopdrachten op voor hergebruik"; -$a->strings["Network Personal Tab"] = "Persoonlijke netwerktab"; -$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"; -$a->strings["Network New Tab"] = "Nieuwe netwerktab"; -$a->strings["Enable tab to display all new Network activity"] = "Laat de tab alle nieuwe netwerkactiviteit tonen"; -$a->strings["Affinity Tool"] = "Verwantschapsfilter"; -$a->strings["Filter stream activity by depth of relationships"] = "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag"; -$a->strings["Connection Filtering"] = "Berichtenfilters"; -$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filter binnenkomende berichten van connecties aan de hand van trefwoorden en taal"; -$a->strings["Suggest Channels"] = "Kanalen voorstellen"; -$a->strings["Show channel suggestions"] = "Voor jou mogelijk interessante kanalen voorstellen"; -$a->strings["Post/Comment Tools"] = "Bericht- en reactiehulpmiddelen"; -$a->strings["Tagging"] = "Taggen"; -$a->strings["Ability to tag existing posts"] = "Mogelijkheid om bestaande berichten te taggen"; -$a->strings["Post Categories"] = "Categorieën berichten"; -$a->strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten"; -$a->strings["Saved Folders"] = "Bewaarde mappen"; -$a->strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen op te slaan"; -$a->strings["Dislike Posts"] = "Vind berichten niet leuk"; -$a->strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten en reacties niet leuk te vinden"; -$a->strings["Star Posts"] = "Geef berichten een ster"; -$a->strings["Ability to mark special posts with a star indicator"] = "Mogelijkheid om speciale berichten met een ster te markeren"; -$a->strings["Tag Cloud"] = "Tagwolk"; -$a->strings["Provide a personal tag cloud on your channel page"] = "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"; -$a->strings["Default"] = "Standaard"; $a->strings["Delete this item?"] = "Dit item verwijderen?"; $a->strings["Comment"] = "Reactie"; $a->strings["[+] show all"] = "[+] alle"; @@ -178,6 +63,7 @@ $a->strings["Describe (optional)"] = "Omschrijving (optioneel)"; $a->strings["Submit"] = "Opslaan"; $a->strings["Please enter a link URL"] = "Vul een internetadres/URL in:"; $a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Niet opgeslagen wijzigingen. Ben je er zeker van dat je deze pagina wil verlaten?"; +$a->strings["Location"] = "Locatie"; $a->strings["timeago.prefixAgo"] = "timeago.prefixAgo"; $a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow"; $a->strings["ago"] = "geleden"; @@ -238,32 +124,9 @@ $a->strings["__ctx:calendar__ month"] = "maand"; $a->strings["__ctx:calendar__ week"] = "week"; $a->strings["__ctx:calendar__ day"] = "dag"; $a->strings["__ctx:calendar__ All day"] = "hele dag"; -$a->strings["Frequently"] = "Regelmatig"; -$a->strings["Hourly"] = "Elk uur"; -$a->strings["Twice daily"] = "Twee keer per dag"; -$a->strings["Daily"] = "Dagelijks"; -$a->strings["Weekly"] = "Wekelijks"; -$a->strings["Monthly"] = "Maandelijks"; -$a->strings["Friendica"] = "Friendica"; -$a->strings["OStatus"] = "OStatus"; -$a->strings["RSS/Atom"] = "RSS/Atom"; -$a->strings["Email"] = "E-mail"; -$a->strings["Diaspora"] = "Diaspora"; -$a->strings["Facebook"] = "Facebook"; -$a->strings["Zot!"] = "Zot!"; -$a->strings["LinkedIn"] = "LinkedIn"; -$a->strings["XMPP/IM"] = "XMPP/IM"; -$a->strings["MySpace"] = "MySpace"; -$a->strings[" and "] = " en "; -$a->strings["public profile"] = "openbaar profiel"; -$a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s veranderde %2\$s naar “%3\$s”"; -$a->strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s"; -$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd."; -$a->strings["Connect"] = "Verbinden"; -$a->strings["New window"] = "Nieuw venster"; -$a->strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab"; -$a->strings["User '%s' deleted"] = "Account '%s' verwijderd"; -$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan DNS-informatie voor databaseserver '%s' niet vinden"; +$a->strings["No username found in import file."] = "Geen gebruikersnaam in het importbestand gevonden."; +$a->strings["Import completed."] = "Import voltooid."; +$a->strings["Default"] = "Standaard"; $a->strings["Permission denied"] = "Toegang geweigerd"; $a->strings["(Unknown)"] = "(Onbekend)"; $a->strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar."; @@ -280,8 +143,356 @@ $a->strings["Collection is empty."] = "Collectie is leeg"; $a->strings["Collection: %s"] = "Collectie: %s"; $a->strings["Connection: %s"] = "Connectie: %s"; $a->strings["Connection not found."] = "Connectie niet gevonden."; -$a->strings["photo"] = "foto"; +$a->strings["view full size"] = "volledige grootte tonen"; +$a->strings["\$Projectname Notification"] = "\$Projectname-notificatie"; +$a->strings["\$projectname"] = "\$projectname"; +$a->strings["Thank You,"] = "Bedankt,"; +$a->strings["%s Administrator"] = "Beheerder %s"; +$a->strings["Administrator"] = "Beheerder"; +$a->strings["No Subject"] = "Geen onderwerp"; +$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i"; +$a->strings["Starts:"] = "Start:"; +$a->strings["Finishes:"] = "Einde:"; +$a->strings["Location:"] = "Plaats:"; +$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd."; $a->strings["event"] = "gebeurtenis"; +$a->strings["Not specified"] = "Niet aangegeven"; +$a->strings["Needs Action"] = "Actie vereist"; +$a->strings["Completed"] = "Voltooid"; +$a->strings["In Process"] = "In behandeling"; +$a->strings["Cancelled"] = "Geannuleerd"; +$a->strings["Unable to obtain identity information from database"] = "Niet in staat om identiteitsinformatie uit de database te verkrijgen"; +$a->strings["Empty name"] = "Ontbrekende naam"; +$a->strings["Name too long"] = "Naam te lang"; +$a->strings["No account identifier"] = "Geen account-identificator"; +$a->strings["Nickname is required."] = "Bijnaam is verplicht"; +$a->strings["Reserved nickname. Please choose another."] = "Deze naam is gereserveerd. Kies een andere."; +$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik."; +$a->strings["Unable to retrieve created identity"] = "Niet in staat om aangemaakte identiteit te vinden"; +$a->strings["Default Profile"] = "Standaardprofiel"; +$a->strings["Friends"] = "Vrienden"; +$a->strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar."; +$a->strings["Requested profile is not available."] = "Opgevraagd profiel is niet beschikbaar"; +$a->strings["Change profile photo"] = "Profielfoto veranderen"; +$a->strings["Profiles"] = "Profielen"; +$a->strings["Manage/edit profiles"] = "Profielen beheren/bewerken"; +$a->strings["Create New Profile"] = "Nieuw profiel aanmaken"; +$a->strings["Edit Profile"] = "Profiel bewerken"; +$a->strings["Profile Image"] = "Profielfoto"; +$a->strings["visible to everybody"] = "Voor iedereen zichtbaar"; +$a->strings["Edit visibility"] = "Zichtbaarheid bewerken"; +$a->strings["Gender:"] = "Geslacht:"; +$a->strings["Status:"] = "Status:"; +$a->strings["Homepage:"] = "Homepagina:"; +$a->strings["Online Now"] = "Nu online"; +$a->strings["g A l F d"] = "G:i, l d F"; +$a->strings["F d"] = "d F"; +$a->strings["[today]"] = "[vandaag]"; +$a->strings["Birthday Reminders"] = "Verjaardagsherinneringen"; +$a->strings["Birthdays this week:"] = "Verjaardagen deze week:"; +$a->strings["[No description]"] = "[Geen omschrijving]"; +$a->strings["Event Reminders"] = "Herinneringen"; +$a->strings["Events this week:"] = "Gebeurtenissen deze week:"; +$a->strings["Profile"] = "Profiel"; +$a->strings["Full Name:"] = "Volledige naam:"; +$a->strings["Like this channel"] = "Vind dit kanaal leuk"; +$a->strings["__ctx:noun__ Like"] = array( + 0 => "vindt dit leuk", + 1 => "vinden dit leuk", +); +$a->strings["j F, Y"] = "F j Y"; +$a->strings["j F"] = "F j"; +$a->strings["Birthday:"] = "Geboortedatum:"; +$a->strings["Age:"] = "Leeftijd:"; +$a->strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s"; +$a->strings["Sexual Preference:"] = "Seksuele voorkeur:"; +$a->strings["Hometown:"] = "Oorspronkelijk uit:"; +$a->strings["Tags:"] = "Tags:"; +$a->strings["Political Views:"] = "Politieke overtuigingen:"; +$a->strings["Religion:"] = "Religie:"; +$a->strings["About:"] = "Over:"; +$a->strings["Hobbies/Interests:"] = "Hobby's/interesses:"; +$a->strings["Likes:"] = "Houdt van:"; +$a->strings["Dislikes:"] = "Houdt niet van:"; +$a->strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:"; +$a->strings["My other channels:"] = "Mijn andere kanalen"; +$a->strings["Musical interests:"] = "Muzikale interesses:"; +$a->strings["Books, literature:"] = "Boeken, literatuur:"; +$a->strings["Television:"] = "Televisie:"; +$a->strings["Film/dance/culture/entertainment:"] = "Films/dansen/cultuur/vermaak:"; +$a->strings["Love/Romance:"] = "Liefde/romantiek:"; +$a->strings["Work/employment:"] = "Werk/beroep:"; +$a->strings["School/education:"] = "School/opleiding:"; +$a->strings["Like this thing"] = "Vind dit ding leuk"; +$a->strings["Tags"] = "Tags"; +$a->strings["Categories"] = "Categorieën"; +$a->strings["Keywords"] = "Trefwoorden"; +$a->strings["have"] = "heb"; +$a->strings["has"] = "heeft"; +$a->strings["want"] = "wil"; +$a->strings["wants"] = "wil"; +$a->strings["like"] = "vind dit leuk"; +$a->strings["likes"] = "vindt dit leuk"; +$a->strings["dislike"] = "vind dit niet leuk"; +$a->strings["dislikes"] = "vindt dit niet leuk"; +$a->strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld"; +$a->strings["Show"] = "Tonen"; +$a->strings["Don't show"] = "Niet tonen"; +$a->strings["Other networks and post services"] = "Andere netwerken en diensten"; +$a->strings["Permissions"] = "Permissies"; +$a->strings["Close"] = "Sluiten"; +$a->strings[" and "] = " en "; +$a->strings["public profile"] = "openbaar profiel"; +$a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s veranderde %2\$s naar “%3\$s”"; +$a->strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s"; +$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd."; +$a->strings["Item was not found."] = "Item niet gevonden"; +$a->strings["No source file."] = "Geen bronbestand."; +$a->strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden"; +$a->strings["Cannot locate file to revise/update"] = "Kan het bestand wat aangepast moet worden niet vinden"; +$a->strings["File exceeds size limit of %d"] = "Bestand is groter dan de toegelaten %d"; +$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."; +$a->strings["File upload failed. Possible system limit or action terminated."] = "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."; +$a->strings["Stored file could not be verified. Upload failed."] = "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."; +$a->strings["Path not available."] = "Pad niet beschikbaar."; +$a->strings["Empty pathname"] = "Padnaam leeg"; +$a->strings["duplicate filename or path"] = "dubbele bestandsnaam of pad"; +$a->strings["Path not found."] = "Pad niet gevonden"; +$a->strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt."; +$a->strings["database storage failed."] = "opslag in database mislukt."; +$a->strings["Empty path"] = "Ontbrekend bestandspad"; +$a->strings["Attachments:"] = "Bijlagen:"; +$a->strings["\$Projectname event notification:"] = "Notificatie \$Projectname-gebeurtenis:"; +$a->strings["created a new post"] = "maakte een nieuw bericht aan"; +$a->strings["commented on %s's post"] = "gaf een reactie op een bericht van %s"; +$a->strings["Apps"] = "Apps"; +$a->strings["System"] = "Systeem"; +$a->strings["Personal"] = "Persoonlijk"; +$a->strings["Create Personal App"] = "Persoonlijke app maken"; +$a->strings["Edit Personal App"] = "Persoonlijke app bewerken"; +$a->strings["Ignore/Hide"] = "Negeren/Verbergen"; +$a->strings["Suggestions"] = "Voorgestelde kanalen"; +$a->strings["See more..."] = "Meer..."; +$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties."; +$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen"; +$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in"; +$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara"; +$a->strings["Notes"] = "Aantekeningen"; +$a->strings["Save"] = "Opslaan"; +$a->strings["Remove term"] = "Verwijder zoekterm"; +$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten"; +$a->strings["add"] = "toevoegen"; +$a->strings["Saved Folders"] = "Bewaarde mappen"; +$a->strings["Everything"] = "Alles"; +$a->strings["Archives"] = "Archieven"; +$a->strings["Me"] = "Ik"; +$a->strings["Family"] = "Familie"; +$a->strings["Acquaintances"] = "Kennissen"; +$a->strings["All"] = "Alles"; +$a->strings["Refresh"] = "Vernieuwen"; +$a->strings["Account settings"] = "Account"; +$a->strings["Channel settings"] = "Kanaal"; +$a->strings["Additional features"] = "Extra functies"; +$a->strings["Feature/Addon settings"] = "Extra functie- en plugin-instellingen"; +$a->strings["Display settings"] = "Weergave"; +$a->strings["Connected apps"] = "Verbonden applicaties"; +$a->strings["Export channel"] = "Kanaal exporteren"; +$a->strings["Connection Default Permissions"] = "Standaard permissies voor connecties"; +$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal"; +$a->strings["Channel Sources"] = "Kanaalbronnen"; +$a->strings["Settings"] = "Instellingen"; +$a->strings["Private Mail Menu"] = "Privéberichten"; +$a->strings["Combined View"] = "Gecombineerd postvak"; +$a->strings["Inbox"] = "Postvak IN"; +$a->strings["Outbox"] = "Postvak UIT"; +$a->strings["New Message"] = "Nieuw bericht"; +$a->strings["Conversations"] = "Conversaties"; +$a->strings["Received Messages"] = "Ontvangen berichten"; +$a->strings["Sent Messages"] = "Verzonden berichten"; +$a->strings["No messages."] = "Geen berichten"; +$a->strings["Delete conversation"] = "Verwijder conversatie"; +$a->strings["Events Menu"] = "Agenda-menu"; +$a->strings["Day View"] = "Dag tonen"; +$a->strings["Week View"] = "Week tonen"; +$a->strings["Month View"] = "Maand tonen"; +$a->strings["Export"] = "Exporteren"; +$a->strings["Import"] = "Importeren"; +$a->strings["Events Tools"] = "Agenda-hulpmiddelen"; +$a->strings["Export Calendar"] = "Exporteren"; +$a->strings["Import Calendar"] = "Importeren"; +$a->strings["Chat Rooms"] = "Chatkanalen"; +$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen"; +$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen"; +$a->strings["photo/image"] = "foto/afbeelding"; +$a->strings["Rate Me"] = "Beoordeel mij"; +$a->strings["View Ratings"] = "Bekijk beoordelingen"; +$a->strings["Public Hubs"] = "Openbare hubs"; +$a->strings["Forums"] = "Forums"; +$a->strings["Tasks"] = "Taken"; +$a->strings["Documentation"] = "Documentatie"; +$a->strings["Project/Site Information"] = "Project- en hub-informatie"; +$a->strings["For Members"] = "Voor leden"; +$a->strings["For Administrators"] = "Voor beheerders"; +$a->strings["For Developers"] = "Voor ontwikkelaars"; +$a->strings["Site"] = "Hub-instellingen"; +$a->strings["Accounts"] = "Accounts"; +$a->strings["Channels"] = "Kanalen"; +$a->strings["Plugins"] = "Plug-ins"; +$a->strings["Themes"] = "Thema's"; +$a->strings["Inspect queue"] = "Inspecteer berichtenwachtrij"; +$a->strings["Profile Config"] = "Profielconfiguratie"; +$a->strings["DB updates"] = "Database-updates"; +$a->strings["Logs"] = "Logboeken"; +$a->strings["Admin"] = "Beheer"; +$a->strings["Plugin Features"] = "Plug-in-opties"; +$a->strings["User registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten"; +$a->strings["View Photo"] = "Foto weergeven"; +$a->strings["Edit Album"] = "Album bewerken"; +$a->strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s"; +$a->strings["General Features"] = "Algemene functies"; +$a->strings["Content Expiration"] = "Inhoud laten verlopen"; +$a->strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen"; +$a->strings["Multiple Profiles"] = "Meerdere profielen"; +$a->strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken"; +$a->strings["Advanced Profiles"] = "Geavanceerde profielen"; +$a->strings["Additional profile sections and selections"] = "Extra onderdelen en keuzes voor je profiel"; +$a->strings["Profile Import/Export"] = "Profiel importen/exporteren"; +$a->strings["Save and load profile details across sites/channels"] = "Profielgegevens opslaan en in andere hubs/kanalen gebruiken."; +$a->strings["Web Pages"] = "Webpagina's"; +$a->strings["Provide managed web pages on your channel"] = "Sta beheerde webpagina's op jouw kanaal toe"; +$a->strings["Private Notes"] = "Privé-aantekeningen"; +$a->strings["Enables a tool to store notes and reminders"] = "Schakelt een eenvoudige toepassing in om aantekeningen en herinneringen in op te slaan"; +$a->strings["Navigation Channel Select"] = "Kanaal kiezen in navigatiemenu"; +$a->strings["Change channels directly from within the navigation dropdown menu"] = "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk"; +$a->strings["Photo Location"] = "Fotolocatie"; +$a->strings["If location data is available on uploaded photos, link this to a map."] = "Wanneer in de geüploade foto's locatiegegevens aanwezig zijn, link dit dan aan een kaart."; +$a->strings["Expert Mode"] = "Expertmodus"; +$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Schakel de expertmodus in voor geavanceerde instellingen"; +$a->strings["Premium Channel"] = "Premiumkanaal"; +$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal"; +$a->strings["Post Composition Features"] = "Functies voor het opstellen van berichten"; +$a->strings["Use Markdown"] = "Markdown gebruiken"; +$a->strings["Allow use of \"Markdown\" to format posts"] = "Sta het gebruik van \"markdown\" toe om berichten mee op te maken."; +$a->strings["Large Photos"] = "Grote foto's"; +$a->strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Gebruik grotere foto's (1024px) in berichten. Wanneer dit is uitgeschakeld worden er kleinere foto's (640px) gebruikt."; +$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisch inhoud uit andere kanalen of feeds importeren."; +$a->strings["Even More Encryption"] = "Extra encryptie"; +$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel."; +$a->strings["Enable Voting Tools"] = "Peilingen inschakelen"; +$a->strings["Provide a class of post which others can vote on"] = "Maakt het mogelijk om een bericht op te stellen, waar mensen op kunnen stemmen."; +$a->strings["Delayed Posting"] = "Berichten uitstellen"; +$a->strings["Allow posts to be published at a later date"] = "Maakt het mogelijk dat berichten op een toekomstig moment gepubliceerd kunnen worden."; +$a->strings["Suppress Duplicate Posts/Comments"] = "Dubbele berichten/reacties tegenhouden"; +$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Voorkomt dat berichten en reacties met identieke inhoud en die binnen twee minuten zijn verstuurd, worden gepubliceerd. "; +$a->strings["Network and Stream Filtering"] = "Netwerk- en streamfilter"; +$a->strings["Search by Date"] = "Zoek op datum"; +$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten op datum te filteren "; +$a->strings["Collections Filter"] = "Filter op collecties"; +$a->strings["Enable widget to display Network posts only from selected collections"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties"; +$a->strings["Save search terms for re-use"] = "Sla zoekopdrachten op voor hergebruik"; +$a->strings["Network Personal Tab"] = "Persoonlijke netwerktab"; +$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"; +$a->strings["Network New Tab"] = "Nieuwe netwerktab"; +$a->strings["Enable tab to display all new Network activity"] = "Laat de tab alle nieuwe netwerkactiviteit tonen"; +$a->strings["Affinity Tool"] = "Verwantschapsfilter"; +$a->strings["Filter stream activity by depth of relationships"] = "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag"; +$a->strings["Connection Filtering"] = "Berichtenfilters"; +$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filter binnenkomende berichten van connecties aan de hand van trefwoorden en taal"; +$a->strings["Suggest Channels"] = "Kanalen voorstellen"; +$a->strings["Show channel suggestions"] = "Voor jou mogelijk interessante kanalen voorstellen"; +$a->strings["Post/Comment Tools"] = "Bericht- en reactiehulpmiddelen"; +$a->strings["Tagging"] = "Taggen"; +$a->strings["Ability to tag existing posts"] = "Mogelijkheid om bestaande berichten te taggen"; +$a->strings["Post Categories"] = "Categorieën berichten"; +$a->strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten"; +$a->strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen op te slaan"; +$a->strings["Dislike Posts"] = "Vind berichten niet leuk"; +$a->strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten en reacties niet leuk te vinden"; +$a->strings["Star Posts"] = "Geef berichten een ster"; +$a->strings["Ability to mark special posts with a star indicator"] = "Mogelijkheid om speciale berichten met een ster te markeren"; +$a->strings["Tag Cloud"] = "Tagwolk"; +$a->strings["Provide a personal tag cloud on your channel page"] = "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"; +$a->strings["Male"] = "Man"; +$a->strings["Female"] = "Vrouw"; +$a->strings["Currently Male"] = "Momenteel man"; +$a->strings["Currently Female"] = "Momenteel vrouw"; +$a->strings["Mostly Male"] = "Voornamelijk man"; +$a->strings["Mostly Female"] = "Voornamelijk vrouw"; +$a->strings["Transgender"] = "Transgender"; +$a->strings["Intersex"] = "Interseksueel"; +$a->strings["Transsexual"] = "Transseksueel"; +$a->strings["Hermaphrodite"] = "Hermafrodiet"; +$a->strings["Neuter"] = "Genderneutraal"; +$a->strings["Non-specific"] = "Niet gespecificeerd"; +$a->strings["Other"] = "Anders"; +$a->strings["Undecided"] = "Nog niet beslist"; +$a->strings["Males"] = "Mannen"; +$a->strings["Females"] = "Vrouwen"; +$a->strings["Gay"] = "Homoseksueel"; +$a->strings["Lesbian"] = "Lesbisch"; +$a->strings["No Preference"] = "Geen voorkeur"; +$a->strings["Bisexual"] = "Biseksueel"; +$a->strings["Autosexual"] = "Autoseksueel"; +$a->strings["Abstinent"] = "Seksuele onthouding"; +$a->strings["Virgin"] = "Maagd"; +$a->strings["Deviant"] = "Afwijkend"; +$a->strings["Fetish"] = "Fetisj"; +$a->strings["Oodles"] = "Veel"; +$a->strings["Nonsexual"] = "Aseksueel"; +$a->strings["Single"] = "Alleen"; +$a->strings["Lonely"] = "Eenzaam"; +$a->strings["Available"] = "Beschikbaar"; +$a->strings["Unavailable"] = "Niet beschikbaar"; +$a->strings["Has crush"] = "Heeft een oogje op iemand"; +$a->strings["Infatuated"] = "Smoorverliefd"; +$a->strings["Dating"] = "Aan het daten"; +$a->strings["Unfaithful"] = "Ontrouw"; +$a->strings["Sex Addict"] = "Seksverslaafd"; +$a->strings["Friends/Benefits"] = "Vriendschap plus"; +$a->strings["Casual"] = "Ongebonden/vluchtig"; +$a->strings["Engaged"] = "Verloofd"; +$a->strings["Married"] = "Getrouwd"; +$a->strings["Imaginarily married"] = "Denkbeeldig getrouwd"; +$a->strings["Partners"] = "Partners"; +$a->strings["Cohabiting"] = "Samenwonend"; +$a->strings["Common law"] = "Common-law-huwelijk"; +$a->strings["Happy"] = "Gelukkig"; +$a->strings["Not looking"] = "Niet op zoek"; +$a->strings["Swinger"] = "Swinger"; +$a->strings["Betrayed"] = "Verraden"; +$a->strings["Separated"] = "Uit elkaar"; +$a->strings["Unstable"] = "Onstabiel"; +$a->strings["Divorced"] = "Gescheiden"; +$a->strings["Imaginarily divorced"] = "Denkbeeldig gescheiden"; +$a->strings["Widowed"] = "Weduwnaar/weduwe"; +$a->strings["Uncertain"] = "Onzeker"; +$a->strings["It's complicated"] = "Het is ingewikkeld"; +$a->strings["Don't care"] = "Maakt mij niks uit"; +$a->strings["Ask me"] = "Vraag het me"; +$a->strings["Miscellaneous"] = "Diversen"; +$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD"; +$a->strings["Required"] = "Vereist"; +$a->strings["never"] = "nooit"; +$a->strings["less than a second ago"] = "minder dan een seconde geleden"; +$a->strings["year"] = "jaar"; +$a->strings["years"] = "jaren"; +$a->strings["month"] = "maand"; +$a->strings["months"] = "maanden"; +$a->strings["week"] = "week"; +$a->strings["weeks"] = "weken"; +$a->strings["day"] = "dag"; +$a->strings["days"] = "dagen"; +$a->strings["hour"] = "uur"; +$a->strings["hours"] = "uren"; +$a->strings["minute"] = "minuut"; +$a->strings["minutes"] = "minuten"; +$a->strings["second"] = "seconde"; +$a->strings["seconds"] = "seconden"; +$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden"; +$a->strings["%1\$s's birthday"] = "Verjaardag van %1\$s"; +$a->strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s"; +$a->strings["Public Timeline"] = "Openbare tijdlijn"; +$a->strings["photo"] = "foto"; $a->strings["channel"] = "kanaal"; $a->strings["status"] = "bericht"; $a->strings["comment"] = "reactie"; @@ -390,7 +601,6 @@ $a->strings["Commented Order"] = "Nieuwe reacties bovenaan"; $a->strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan"; $a->strings["Posted Order"] = "Nieuwe berichten bovenaan"; $a->strings["Sort by Post Date"] = "Nieuwe berichten bovenaan"; -$a->strings["Personal"] = "Persoonlijk"; $a->strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"; $a->strings["New"] = "Nieuw"; $a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum"; @@ -411,10 +621,6 @@ $a->strings["Saved Bookmarks"] = "Opgeslagen bladwijzers"; $a->strings["Webpages"] = "Webpagina's"; $a->strings["Manage Webpages"] = "Webpagina's beheren"; $a->strings["View all"] = "Toon alles"; -$a->strings["__ctx:noun__ Like"] = array( - 0 => "vindt dit leuk", - 1 => "vinden dit leuk", -); $a->strings["__ctx:noun__ Dislike"] = array( 0 => "vindt dit niet leuk", 1 => "vinden dit niet leuk", @@ -443,134 +649,57 @@ $a->strings["__ctx:noun__ Abstain"] = array( 0 => "onthouding", 1 => "onthoudingen", ); -$a->strings["view full size"] = "volledige grootte tonen"; -$a->strings["\$Projectname Notification"] = "\$Projectname-notificatie"; -$a->strings["\$projectname"] = "\$projectname"; -$a->strings["Thank You,"] = "Bedankt,"; -$a->strings["%s Administrator"] = "Beheerder %s"; -$a->strings["Administrator"] = "Beheerder"; -$a->strings["No Subject"] = "Geen onderwerp"; -$a->strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s"; -$a->strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld"; -$a->strings["Show"] = "Tonen"; -$a->strings["Don't show"] = "Niet tonen"; -$a->strings["Other networks and post services"] = "Andere netwerken en diensten"; -$a->strings["Permissions"] = "Permissies"; -$a->strings["Close"] = "Sluiten"; -$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"; -$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg"; -$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden"; -$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen"; -$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden"; -$a->strings["created a new post"] = "maakte een nieuw bericht aan"; -$a->strings["commented on %s's post"] = "gaf een reactie op een bericht van %s"; -$a->strings["New Page"] = "Nieuwe pagina"; -$a->strings["View"] = "Weergeven"; -$a->strings["Actions"] = "Acties"; -$a->strings["Page Link"] = "Paginalink"; -$a->strings["Title"] = "Titel"; -$a->strings["Created"] = "Aangemaakt"; -$a->strings["Edited"] = "Bewerkt"; -$a->strings["Profile Photos"] = "Profielfoto's"; -$a->strings["Male"] = "Man"; -$a->strings["Female"] = "Vrouw"; -$a->strings["Currently Male"] = "Momenteel man"; -$a->strings["Currently Female"] = "Momenteel vrouw"; -$a->strings["Mostly Male"] = "Voornamelijk man"; -$a->strings["Mostly Female"] = "Voornamelijk vrouw"; -$a->strings["Transgender"] = "Transgender"; -$a->strings["Intersex"] = "Interseksueel"; -$a->strings["Transsexual"] = "Transseksueel"; -$a->strings["Hermaphrodite"] = "Hermafrodiet"; -$a->strings["Neuter"] = "Genderneutraal"; -$a->strings["Non-specific"] = "Niet gespecificeerd"; -$a->strings["Undecided"] = "Nog niet beslist"; -$a->strings["Males"] = "Mannen"; -$a->strings["Females"] = "Vrouwen"; -$a->strings["Gay"] = "Homoseksueel"; -$a->strings["Lesbian"] = "Lesbisch"; -$a->strings["No Preference"] = "Geen voorkeur"; -$a->strings["Bisexual"] = "Biseksueel"; -$a->strings["Autosexual"] = "Autoseksueel"; -$a->strings["Abstinent"] = "Seksuele onthouding"; -$a->strings["Virgin"] = "Maagd"; -$a->strings["Deviant"] = "Afwijkend"; -$a->strings["Fetish"] = "Fetisj"; -$a->strings["Oodles"] = "Veel"; -$a->strings["Nonsexual"] = "Aseksueel"; -$a->strings["Single"] = "Alleen"; -$a->strings["Lonely"] = "Eenzaam"; -$a->strings["Available"] = "Beschikbaar"; -$a->strings["Unavailable"] = "Niet beschikbaar"; -$a->strings["Has crush"] = "Heeft een oogje op iemand"; -$a->strings["Infatuated"] = "Smoorverliefd"; -$a->strings["Dating"] = "Aan het daten"; -$a->strings["Unfaithful"] = "Ontrouw"; -$a->strings["Sex Addict"] = "Seksverslaafd"; -$a->strings["Friends"] = "Vrienden"; -$a->strings["Friends/Benefits"] = "Vriendschap plus"; -$a->strings["Casual"] = "Ongebonden/vluchtig"; -$a->strings["Engaged"] = "Verloofd"; -$a->strings["Married"] = "Getrouwd"; -$a->strings["Imaginarily married"] = "Denkbeeldig getrouwd"; -$a->strings["Partners"] = "Partners"; -$a->strings["Cohabiting"] = "Samenwonend"; -$a->strings["Common law"] = "Common-law-huwelijk"; -$a->strings["Happy"] = "Gelukkig"; -$a->strings["Not looking"] = "Niet op zoek"; -$a->strings["Swinger"] = "Swinger"; -$a->strings["Betrayed"] = "Verraden"; -$a->strings["Separated"] = "Uit elkaar"; -$a->strings["Unstable"] = "Onstabiel"; -$a->strings["Divorced"] = "Gescheiden"; -$a->strings["Imaginarily divorced"] = "Denkbeeldig gescheiden"; -$a->strings["Widowed"] = "Weduwnaar/weduwe"; -$a->strings["Uncertain"] = "Onzeker"; -$a->strings["It's complicated"] = "Het is ingewikkeld"; -$a->strings["Don't care"] = "Maakt mij niks uit"; -$a->strings["Ask me"] = "Vraag het me"; -$a->strings["Embedded content"] = "Ingesloten inhoud"; -$a->strings["Embedding disabled"] = "Insluiten uitgeschakeld"; -$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i"; -$a->strings["Starts:"] = "Start:"; -$a->strings["Finishes:"] = "Einde:"; -$a->strings["Location:"] = "Plaats:"; -$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd."; -$a->strings["Not specified"] = "Niet aangegeven"; -$a->strings["Needs Action"] = "Actie vereist"; -$a->strings["Completed"] = "Voltooid"; -$a->strings["In Process"] = "In behandeling"; -$a->strings["Cancelled"] = "Geannuleerd"; -$a->strings["Site Admin"] = "Hubbeheerder"; -$a->strings["Address Book"] = "Connecties"; -$a->strings["Login"] = "Inloggen"; -$a->strings["Channel Manager"] = "Kanaalbeheer"; -$a->strings["Grid"] = "Grid"; -$a->strings["Settings"] = "Instellingen"; -$a->strings["Channel Home"] = "Tijdlijn kanaal"; -$a->strings["Profile"] = "Profiel"; -$a->strings["Events"] = "Agenda"; -$a->strings["Directory"] = "Kanalengids"; -$a->strings["Help"] = "Hulp"; -$a->strings["Mail"] = "Privéberichten"; -$a->strings["Mood"] = "Stemming"; -$a->strings["Chat"] = "Chatten"; -$a->strings["Search"] = "Zoeken"; -$a->strings["Probe"] = "Onderzoeken"; -$a->strings["Suggest"] = "Voorstellen"; -$a->strings["Random Channel"] = "Willekeurig kanaal"; -$a->strings["Invite"] = "Uitnodigen "; -$a->strings["Features"] = "Extra functies"; -$a->strings["Language"] = "Taal"; -$a->strings["Post"] = "Bericht"; -$a->strings["Profile Photo"] = "Profielfoto"; -$a->strings["Update"] = "Bijwerken"; -$a->strings["Install"] = "Installeren"; -$a->strings["Purchase"] = "Aanschaffen"; -$a->strings["Public Timeline"] = "Openbare tijdlijn"; -$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."; -$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt."; -$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt."; +$a->strings["Logged out."] = "Uitgelogd."; +$a->strings["Failed authentication"] = "Mislukte authenticatie"; +$a->strings["Login failed."] = "Inloggen mislukt."; +$a->strings["Frequently"] = "Regelmatig"; +$a->strings["Hourly"] = "Elk uur"; +$a->strings["Twice daily"] = "Twee keer per dag"; +$a->strings["Daily"] = "Dagelijks"; +$a->strings["Weekly"] = "Wekelijks"; +$a->strings["Monthly"] = "Maandelijks"; +$a->strings["Friendica"] = "Friendica"; +$a->strings["OStatus"] = "OStatus"; +$a->strings["RSS/Atom"] = "RSS/Atom"; +$a->strings["Email"] = "E-mail"; +$a->strings["Diaspora"] = "Diaspora"; +$a->strings["Facebook"] = "Facebook"; +$a->strings["Zot!"] = "Zot!"; +$a->strings["LinkedIn"] = "LinkedIn"; +$a->strings["XMPP/IM"] = "XMPP/IM"; +$a->strings["MySpace"] = "MySpace"; +$a->strings["Image/photo"] = "Afbeelding/foto"; +$a->strings["Encrypted content"] = "Versleutelde inhoud"; +$a->strings["Install %s element: "] = "Installeer %s-element: "; +$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren."; +$a->strings["webpage"] = "Webpagina"; +$a->strings["layout"] = "lay-out"; +$a->strings["block"] = "blok"; +$a->strings["menu"] = "menu"; +$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s"; +$a->strings["post"] = "bericht"; +$a->strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven."; +$a->strings["$1 spoiler"] = "$1 spoiler"; +$a->strings["$1 wrote:"] = "$1 schreef:"; +$a->strings["%d invitation available"] = array( + 0 => "%d uitnodiging beschikbaar", + 1 => "%d uitnodigingen beschikbaar", +); +$a->strings["Advanced"] = "Geavanceerd"; +$a->strings["Find Channels"] = "Kanalen vinden"; +$a->strings["Enter name or interest"] = "Vul naam of interesse in"; +$a->strings["Connect/Follow"] = "Verbinden/volgen"; +$a->strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeeld: Robert Morgenstein, vissen"; +$a->strings["Find"] = "Vinden"; +$a->strings["Channel Suggestions"] = "Voorgestelde kanalen"; +$a->strings["Random Profile"] = "Willekeurig profiel"; +$a->strings["Invite Friends"] = "Vrienden uitnodigen"; +$a->strings["Advanced example: name=fred and country=iceland"] = "Geavanceerd voorbeeld (Engels): name=jan en country=nederland"; +$a->strings["%d connection in common"] = array( + 0 => "%d gemeenschappelijke connectie", + 1 => "%d gemeenschappelijke connecties", +); +$a->strings["show more"] = "meer connecties weergeven"; $a->strings["%s <!item_type!>"] = "%s <!item_type!>"; $a->strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notificatie] Nieuw privébericht ontvangen op %s"; $a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s."; @@ -607,80 +736,6 @@ $a->strings["Name:"] = "Naam:"; $a->strings["Photo:"] = "Foto:"; $a->strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen."; $a->strings["[Hubzilla:Notify]"] = "[Hubzilla:Notificatie]"; -$a->strings["Save to Folder"] = "In map opslaan"; -$a->strings["I will attend"] = "Aanwezig"; -$a->strings["I will not attend"] = "Niet aanwezig"; -$a->strings["I might attend"] = "Mogelijk aanwezig"; -$a->strings["I agree"] = "Eens"; -$a->strings["I disagree"] = "Oneens"; -$a->strings["I abstain"] = "Onthouding"; -$a->strings["Add Star"] = "Ster toevoegen"; -$a->strings["Remove Star"] = "Ster verwijderen"; -$a->strings["Toggle Star Status"] = "Ster toevoegen of verwijderen"; -$a->strings["starred"] = "met ster"; -$a->strings["Add Tag"] = "Tag toevoegen"; -$a->strings["I like this (toggle)"] = "Vind ik leuk"; -$a->strings["like"] = "vind dit leuk"; -$a->strings["I don't like this (toggle)"] = "Vind ik niet leuk"; -$a->strings["dislike"] = "vind dit niet leuk"; -$a->strings["Share This"] = "Delen"; -$a->strings["share"] = "delen"; -$a->strings["%d comment"] = array( - 0 => "%d reactie", - 1 => "%d reacties weergeven", -); -$a->strings["View %s's profile - %s"] = "Profiel van %s bekijken - %s"; -$a->strings["to"] = "aan"; -$a->strings["via"] = "via"; -$a->strings["Wall-to-Wall"] = "Kanaal-naar-kanaal"; -$a->strings["via Wall-To-Wall:"] = "via kanaal-naar-kanaal"; -$a->strings["Delivery Report"] = "Afleveringsrapport"; -$a->strings["Save Bookmarks"] = "Bladwijzers opslaan"; -$a->strings["Add to Calendar"] = "Aan agenda toevoegen"; -$a->strings["Mark all seen"] = "Markeer alles als bekeken"; -$a->strings["__ctx:noun__ Likes"] = "vinden dit leuk"; -$a->strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk"; -$a->strings["This is you"] = "Dit ben jij"; -$a->strings["Image"] = "Afbeelding"; -$a->strings["Insert Link"] = "Link invoegen"; -$a->strings["Video"] = "Video"; -$a->strings["Invalid data packet"] = "Datapakket ongeldig"; -$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. "; -$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd"; -$a->strings["invalid target signature"] = "ongeldig doelkenmerk"; -$a->strings["Logged out."] = "Uitgelogd."; -$a->strings["Failed authentication"] = "Mislukte authenticatie"; -$a->strings["Login failed."] = "Inloggen mislukt."; -$a->strings["Image/photo"] = "Afbeelding/foto"; -$a->strings["Encrypted content"] = "Versleutelde inhoud"; -$a->strings["Install %s element: "] = "Installeer %s-element: "; -$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren."; -$a->strings["webpage"] = "Webpagina"; -$a->strings["layout"] = "lay-out"; -$a->strings["block"] = "blok"; -$a->strings["menu"] = "menu"; -$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s"; -$a->strings["post"] = "bericht"; -$a->strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven."; -$a->strings["$1 spoiler"] = "$1 spoiler"; -$a->strings["$1 wrote:"] = "$1 schreef:"; -$a->strings["Not a valid email address"] = "Geen geldig e-mailadres"; -$a->strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze hub niet toegestaan"; -$a->strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze hub geregistreerd."; -$a->strings["An invitation is required."] = "Een uitnodiging is vereist"; -$a->strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden"; -$a->strings["Please enter the required information."] = "Vul de vereiste informatie in."; -$a->strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden."; -$a->strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s"; -$a->strings["Registration request at %s"] = "Registratiebevestiging voor %s"; -$a->strings["your registration password"] = "jouw registratiewachtwoord"; -$a->strings["Registration details for %s"] = "Registratiegegevens voor %s"; -$a->strings["Account approved."] = "Account goedgekeurd"; -$a->strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s"; -$a->strings["Account verified. Please login."] = "Account is geverifieerd. Je kan inloggen."; -$a->strings["Click here to upgrade."] = "Klik hier om te upgraden."; -$a->strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."; -$a->strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement."; $a->strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd."; $a->strings["Channel location missing."] = "Ontbrekende kanaallocatie."; $a->strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig."; @@ -689,196 +744,67 @@ $a->strings["Protocol disabled."] = "Protocol uitgeschakeld."; $a->strings["Channel discovery failed."] = "Kanaal ontdekken mislukt."; $a->strings["local account not found."] = "lokale account niet gevonden."; $a->strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden"; -$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "; -$a->strings["%d invitation available"] = array( - 0 => "%d uitnodiging beschikbaar", - 1 => "%d uitnodigingen beschikbaar", -); -$a->strings["Advanced"] = "Geavanceerd"; -$a->strings["Find Channels"] = "Kanalen vinden"; -$a->strings["Enter name or interest"] = "Vul naam of interesse in"; -$a->strings["Connect/Follow"] = "Verbinden/volgen"; -$a->strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeeld: Robert Morgenstein, vissen"; -$a->strings["Find"] = "Vinden"; -$a->strings["Channel Suggestions"] = "Voorgestelde kanalen"; -$a->strings["Random Profile"] = "Willekeurig profiel"; -$a->strings["Invite Friends"] = "Vrienden uitnodigen"; -$a->strings["Advanced example: name=fred and country=iceland"] = "Geavanceerd voorbeeld (Engels): name=jan en country=nederland"; -$a->strings["Everything"] = "Alles"; -$a->strings["Categories"] = "Categorieën"; -$a->strings["%d connection in common"] = array( - 0 => "%d gemeenschappelijke connectie", - 1 => "%d gemeenschappelijke connecties", -); -$a->strings["show more"] = "meer connecties weergeven"; -$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken."; -$a->strings["Add new connections to this collection (privacy group)"] = "Voeg nieuwe connecties aan deze collectie toe (privacy-groep)"; -$a->strings["All Channels"] = "Alle kanalen"; -$a->strings["edit"] = "bewerken"; -$a->strings["Collections"] = "Collecties"; -$a->strings["Edit collection"] = "Collectie bewerken"; -$a->strings["Add new collection"] = "Nieuwe collectie toevoegen"; -$a->strings["Channels not in any collection"] = "Kanalen die zich in geen enkele collectie bevinden"; -$a->strings["add"] = "toevoegen"; -$a->strings["Apps"] = "Apps"; -$a->strings["System"] = "Systeem"; -$a->strings["Create Personal App"] = "Persoonlijke app maken"; -$a->strings["Edit Personal App"] = "Persoonlijke app bewerken"; -$a->strings["Ignore/Hide"] = "Negeren/Verbergen"; -$a->strings["Suggestions"] = "Voorgestelde kanalen"; -$a->strings["See more..."] = "Meer..."; -$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties."; -$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen"; -$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in"; -$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara"; -$a->strings["Notes"] = "Aantekeningen"; -$a->strings["Save"] = "Opslaan"; -$a->strings["Remove term"] = "Verwijder zoekterm"; -$a->strings["Archives"] = "Archieven"; -$a->strings["Me"] = "Ik"; -$a->strings["Family"] = "Familie"; -$a->strings["Acquaintances"] = "Kennissen"; -$a->strings["All"] = "Alles"; -$a->strings["Refresh"] = "Vernieuwen"; -$a->strings["Account settings"] = "Account"; -$a->strings["Channel settings"] = "Kanaal"; -$a->strings["Additional features"] = "Extra functies"; -$a->strings["Feature/Addon settings"] = "Extra functie- en plugin-instellingen"; -$a->strings["Display settings"] = "Weergave"; -$a->strings["Connected apps"] = "Verbonden applicaties"; -$a->strings["Export channel"] = "Kanaal exporteren"; -$a->strings["Connection Default Permissions"] = "Standaard permissies voor connecties"; -$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal"; -$a->strings["Private Mail Menu"] = "Privéberichten"; -$a->strings["Combined View"] = "Gecombineerd postvak"; -$a->strings["Inbox"] = "Postvak IN"; -$a->strings["Outbox"] = "Postvak UIT"; -$a->strings["New Message"] = "Nieuw bericht"; -$a->strings["Conversations"] = "Conversaties"; -$a->strings["Received Messages"] = "Ontvangen berichten"; -$a->strings["Sent Messages"] = "Verzonden berichten"; -$a->strings["No messages."] = "Geen berichten"; -$a->strings["Delete conversation"] = "Verwijder conversatie"; -$a->strings["Events Menu"] = "Agenda-menu"; -$a->strings["Day View"] = "Dag tonen"; -$a->strings["Week View"] = "Week tonen"; -$a->strings["Month View"] = "Maand tonen"; -$a->strings["Export"] = "Exporteren"; -$a->strings["Import"] = "Importeren"; -$a->strings["Chat Rooms"] = "Chatkanalen"; -$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen"; -$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen"; -$a->strings["photo/image"] = "foto/afbeelding"; -$a->strings["Rate Me"] = "Beoordeel mij"; -$a->strings["View Ratings"] = "Bekijk beoordelingen"; -$a->strings["Public Hubs"] = "Openbare hubs"; -$a->strings["Forums"] = "Forums"; -$a->strings["Tasks"] = "Taken"; -$a->strings["Documentation"] = "Documentatie"; -$a->strings["Project/Site Information"] = "Project- en hub-informatie"; -$a->strings["For Members"] = "Voor leden"; -$a->strings["For Administrators"] = "Voor beheerders"; -$a->strings["For Developers"] = "Voor ontwikkelaars"; -$a->strings["Site"] = "Hub-instellingen"; -$a->strings["Accounts"] = "Accounts"; -$a->strings["Channels"] = "Kanalen"; -$a->strings["Plugins"] = "Plug-ins"; -$a->strings["Themes"] = "Thema's"; -$a->strings["Inspect queue"] = "Inspecteer berichtenwachtrij"; -$a->strings["Profile Config"] = "Profielconfiguratie"; -$a->strings["DB updates"] = "Database-updates"; -$a->strings["Logs"] = "Logboeken"; -$a->strings["Admin"] = "Beheer"; -$a->strings["Plugin Features"] = "Plug-in-opties"; -$a->strings["User registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten"; -$a->strings["View Photo"] = "Foto weergeven"; -$a->strings["Edit Album"] = "Album bewerken"; +$a->strings["Embedded content"] = "Ingesloten inhoud"; +$a->strings["Embedding disabled"] = "Insluiten uitgeschakeld"; $a->strings["No recipient provided."] = "Geen ontvanger opgegeven."; $a->strings["[no subject]"] = "[geen onderwerp]"; $a->strings["Unable to determine sender."] = "Afzender kan niet bepaald worden."; $a->strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd."; -$a->strings["Unable to obtain identity information from database"] = "Niet in staat om identiteitsinformatie uit de database te verkrijgen"; -$a->strings["Empty name"] = "Ontbrekende naam"; -$a->strings["Name too long"] = "Naam te lang"; -$a->strings["No account identifier"] = "Geen account-identificator"; -$a->strings["Nickname is required."] = "Bijnaam is verplicht"; -$a->strings["Reserved nickname. Please choose another."] = "Deze naam is gereserveerd. Kies een andere."; -$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik."; -$a->strings["Unable to retrieve created identity"] = "Niet in staat om aangemaakte identiteit te vinden"; -$a->strings["Default Profile"] = "Standaardprofiel"; -$a->strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar."; -$a->strings["Requested profile is not available."] = "Opgevraagd profiel is niet beschikbaar"; -$a->strings["Change profile photo"] = "Profielfoto veranderen"; -$a->strings["Profiles"] = "Profielen"; -$a->strings["Manage/edit profiles"] = "Profielen beheren/bewerken"; -$a->strings["Create New Profile"] = "Nieuw profiel aanmaken"; -$a->strings["Edit Profile"] = "Profiel bewerken"; -$a->strings["Profile Image"] = "Profielfoto"; -$a->strings["visible to everybody"] = "Voor iedereen zichtbaar"; -$a->strings["Edit visibility"] = "Zichtbaarheid bewerken"; -$a->strings["Gender:"] = "Geslacht:"; -$a->strings["Status:"] = "Status:"; -$a->strings["Homepage:"] = "Homepagina:"; -$a->strings["Online Now"] = "Nu online"; -$a->strings["g A l F d"] = "G:i, l d F"; -$a->strings["F d"] = "d F"; -$a->strings["[today]"] = "[vandaag]"; -$a->strings["Birthday Reminders"] = "Verjaardagsherinneringen"; -$a->strings["Birthdays this week:"] = "Verjaardagen deze week:"; -$a->strings["[No description]"] = "[Geen omschrijving]"; -$a->strings["Event Reminders"] = "Herinneringen"; -$a->strings["Events this week:"] = "Gebeurtenissen deze week:"; -$a->strings["Full Name:"] = "Volledige naam:"; -$a->strings["Like this channel"] = "Vind dit kanaal leuk"; -$a->strings["j F, Y"] = "F j Y"; -$a->strings["j F"] = "F j"; -$a->strings["Birthday:"] = "Geboortedatum:"; -$a->strings["Age:"] = "Leeftijd:"; -$a->strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s"; -$a->strings["Sexual Preference:"] = "Seksuele voorkeur:"; -$a->strings["Hometown:"] = "Oorspronkelijk uit:"; -$a->strings["Tags:"] = "Tags:"; -$a->strings["Political Views:"] = "Politieke overtuigingen:"; -$a->strings["Religion:"] = "Religie:"; -$a->strings["About:"] = "Over:"; -$a->strings["Hobbies/Interests:"] = "Hobby's/interesses:"; -$a->strings["Likes:"] = "Houdt van:"; -$a->strings["Dislikes:"] = "Houdt niet van:"; -$a->strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:"; -$a->strings["My other channels:"] = "Mijn andere kanalen"; -$a->strings["Musical interests:"] = "Muzikale interesses:"; -$a->strings["Books, literature:"] = "Boeken, literatuur:"; -$a->strings["Television:"] = "Televisie:"; -$a->strings["Film/dance/culture/entertainment:"] = "Films/dansen/cultuur/vermaak:"; -$a->strings["Love/Romance:"] = "Liefde/romantiek:"; -$a->strings["Work/employment:"] = "Werk/beroep:"; -$a->strings["School/education:"] = "School/opleiding:"; -$a->strings["Like this thing"] = "Vind dit ding leuk"; -$a->strings["Tags"] = "Tags"; -$a->strings["Keywords"] = "Trefwoorden"; -$a->strings["have"] = "heb"; -$a->strings["has"] = "heeft"; -$a->strings["want"] = "wil"; -$a->strings["wants"] = "wil"; -$a->strings["likes"] = "vindt dit leuk"; -$a->strings["dislikes"] = "vindt dit niet leuk"; -$a->strings["Item was not found."] = "Item niet gevonden"; -$a->strings["No source file."] = "Geen bronbestand."; -$a->strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden"; -$a->strings["Cannot locate file to revise/update"] = "Kan het bestand wat aangepast moet worden niet vinden"; -$a->strings["File exceeds size limit of %d"] = "Bestand is groter dan de toegelaten %d"; -$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."; -$a->strings["File upload failed. Possible system limit or action terminated."] = "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."; -$a->strings["Stored file could not be verified. Upload failed."] = "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."; -$a->strings["Path not available."] = "Pad niet beschikbaar."; -$a->strings["Empty pathname"] = "Padnaam leeg"; -$a->strings["duplicate filename or path"] = "dubbele bestandsnaam of pad"; -$a->strings["Path not found."] = "Pad niet gevonden"; -$a->strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt."; -$a->strings["database storage failed."] = "opslag in database mislukt."; -$a->strings["Empty path"] = "Ontbrekend bestandspad"; -$a->strings["Attachments:"] = "Bijlagen:"; -$a->strings["\$Projectname event notification:"] = "Notificatie \$Projectname-gebeurtenis:"; +$a->strings["Logout"] = "Uitloggen"; +$a->strings["End this session"] = "Beëindig deze sessie"; +$a->strings["Home"] = "Home"; +$a->strings["Your posts and conversations"] = "Jouw berichten en conversaties"; +$a->strings["Your profile page"] = "Jouw profielpagina"; +$a->strings["Edit Profiles"] = "Bewerk profielen"; +$a->strings["Manage/Edit profiles"] = "Beheer/wijzig profielen"; +$a->strings["Edit your profile"] = "Jouw profiel bewerken"; +$a->strings["Your photos"] = "Jouw foto's"; +$a->strings["Your files"] = "Jouw bestanden"; +$a->strings["Chat"] = "Chatten"; +$a->strings["Your chatrooms"] = "Jouw chatkanalen"; +$a->strings["Your bookmarks"] = "Jouw bladwijzers"; +$a->strings["Your webpages"] = "Jouw webpagina's"; +$a->strings["Login"] = "Inloggen"; +$a->strings["Sign in"] = "Inloggen"; +$a->strings["%s - click to logout"] = "%s - klik om uit te loggen"; +$a->strings["Remote authentication"] = "Authenticatie op afstand"; +$a->strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw hub"; +$a->strings["Home Page"] = "Homepage"; +$a->strings["Register"] = "Registreren"; +$a->strings["Create an account"] = "Maak een account aan"; +$a->strings["Help"] = "Hulp"; +$a->strings["Help and documentation"] = "Hulp en documentatie"; +$a->strings["Applications, utilities, links, games"] = "Apps"; +$a->strings["Search"] = "Zoeken"; +$a->strings["Search site @name, #tag, ?docs, content"] = "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie "; +$a->strings["Directory"] = "Kanalengids"; +$a->strings["Channel Directory"] = "Kanalengids"; +$a->strings["Grid"] = "Grid"; +$a->strings["Your grid"] = "Jouw grid"; +$a->strings["Mark all grid notifications seen"] = "Markeer alle gridnotificaties als bekeken"; +$a->strings["Channel Home"] = "Tijdlijn kanaal"; +$a->strings["Channel home"] = "Tijdlijn kanaal"; +$a->strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren"; +$a->strings["Connections"] = "Connecties"; +$a->strings["Notices"] = "Notificaties"; +$a->strings["Notifications"] = "Notificaties"; +$a->strings["See all notifications"] = "Alle notificaties weergeven"; +$a->strings["Mark all system notifications seen"] = "Markeer alle systeemnotificaties als bekeken"; +$a->strings["Mail"] = "Privéberichten"; +$a->strings["Private mail"] = "Privéberichten"; +$a->strings["See all private messages"] = "Alle privéberichten weergeven"; +$a->strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken"; +$a->strings["Events"] = "Agenda"; +$a->strings["Event Calendar"] = "Agenda"; +$a->strings["See all events"] = "Alle gebeurtenissen weergeven"; +$a->strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken"; +$a->strings["Channel Manager"] = "Kanaalbeheer"; +$a->strings["Manage Your Channels"] = "Beheer je kanalen"; +$a->strings["Account/Channel Settings"] = "Account-/kanaal-instellingen"; +$a->strings["Site Setup and Configuration"] = "Hub instellen en beheren"; +$a->strings["@name, #tag, ?doc, content"] = "@kanaal, #tag, inhoud, ?hulp"; +$a->strings["Please wait..."] = "Wachten aub..."; +$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "; $a->strings["prev"] = "vorige"; $a->strings["first"] = "eerste"; $a->strings["last"] = "laatste"; @@ -941,93 +867,203 @@ $a->strings["Blocks"] = "Blokken"; $a->strings["Menus"] = "Menu's"; $a->strings["Layouts"] = "Lay-outs"; $a->strings["Pages"] = "Pagina's"; -$a->strings["Logout"] = "Uitloggen"; -$a->strings["End this session"] = "Beëindig deze sessie"; -$a->strings["Home"] = "Home"; -$a->strings["Your posts and conversations"] = "Jouw berichten en conversaties"; -$a->strings["Your profile page"] = "Jouw profielpagina"; -$a->strings["Edit Profiles"] = "Bewerk profielen"; -$a->strings["Manage/Edit profiles"] = "Beheer/wijzig profielen"; -$a->strings["Edit your profile"] = "Jouw profiel bewerken"; -$a->strings["Your photos"] = "Jouw foto's"; -$a->strings["Your files"] = "Jouw bestanden"; -$a->strings["Your chatrooms"] = "Jouw chatkanalen"; -$a->strings["Your bookmarks"] = "Jouw bladwijzers"; -$a->strings["Your webpages"] = "Jouw webpagina's"; -$a->strings["Sign in"] = "Inloggen"; -$a->strings["%s - click to logout"] = "%s - klik om uit te loggen"; -$a->strings["Remote authentication"] = "Authenticatie op afstand"; -$a->strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw hub"; -$a->strings["Home Page"] = "Homepage"; -$a->strings["Register"] = "Registreren"; -$a->strings["Create an account"] = "Maak een account aan"; -$a->strings["Help and documentation"] = "Hulp en documentatie"; -$a->strings["Applications, utilities, links, games"] = "Apps"; -$a->strings["Search site @name, #tag, ?docs, content"] = "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie "; -$a->strings["Channel Directory"] = "Kanalengids"; -$a->strings["Your grid"] = "Jouw grid"; -$a->strings["Mark all grid notifications seen"] = "Markeer alle gridnotificaties als bekeken"; -$a->strings["Channel home"] = "Tijdlijn kanaal"; -$a->strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren"; -$a->strings["Connections"] = "Connecties"; -$a->strings["Notices"] = "Notificaties"; -$a->strings["Notifications"] = "Notificaties"; -$a->strings["See all notifications"] = "Alle notificaties weergeven"; -$a->strings["Mark all system notifications seen"] = "Markeer alle systeemnotificaties als bekeken"; -$a->strings["Private mail"] = "Privéberichten"; -$a->strings["See all private messages"] = "Alle privéberichten weergeven"; -$a->strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken"; -$a->strings["Event Calendar"] = "Agenda"; -$a->strings["See all events"] = "Alle gebeurtenissen weergeven"; -$a->strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken"; -$a->strings["Manage Your Channels"] = "Beheer je kanalen"; -$a->strings["Account/Channel Settings"] = "Account-/kanaal-instellingen"; -$a->strings["Site Setup and Configuration"] = "Hub instellen en beheren"; -$a->strings["@name, #tag, ?doc, content"] = "@kanaal, #tag, inhoud, ?hulp"; -$a->strings["Please wait..."] = "Wachten aub..."; $a->strings["Directory Options"] = "Opties kanalengids"; $a->strings["Safe Mode"] = "Veilig zoeken"; $a->strings["No"] = "Nee"; $a->strings["Yes"] = "Ja"; $a->strings["Public Forums Only"] = "Alleen openbare forums"; $a->strings["This Website Only"] = "Alleen deze hub"; -$a->strings["Some blurb about what to do when you're new here"] = "Welkom op \$Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van \$Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met \$Projectname klik je op het vraagteken."; -$a->strings["Contact not found."] = "Contact niet gevonden"; -$a->strings["Friend suggestion sent."] = "Kanaalvoorstel verzonden."; -$a->strings["Suggest Friends"] = "Kanalen voorstellen"; -$a->strings["Suggest a friend for %s"] = "Stel een kanaal voor aan %s"; -$a->strings["Public access denied."] = "Openbare toegang geweigerd."; -$a->strings["%d rating"] = array( - 0 => "%d beoordeling", - 1 => "%d beoordelingen", +$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken."; +$a->strings["Add new connections to this collection (privacy group)"] = "Voeg nieuwe connecties aan deze collectie toe (privacy-groep)"; +$a->strings["All Channels"] = "Alle kanalen"; +$a->strings["edit"] = "bewerken"; +$a->strings["Collections"] = "Collecties"; +$a->strings["Edit collection"] = "Collectie bewerken"; +$a->strings["Add new collection"] = "Nieuwe collectie toevoegen"; +$a->strings["Channels not in any collection"] = "Kanalen die zich in geen enkele collectie bevinden"; +$a->strings["Invalid data packet"] = "Datapakket ongeldig"; +$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. "; +$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd"; +$a->strings["invalid target signature"] = "ongeldig doelkenmerk"; +$a->strings["New Page"] = "Nieuwe pagina"; +$a->strings["View"] = "Weergeven"; +$a->strings["Actions"] = "Acties"; +$a->strings["Page Link"] = "Paginalink"; +$a->strings["Title"] = "Titel"; +$a->strings["Created"] = "Aangemaakt"; +$a->strings["Edited"] = "Bewerkt"; +$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan DNS-informatie voor databaseserver '%s' niet vinden"; +$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"; +$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg"; +$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden"; +$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen"; +$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden"; +$a->strings["Save to Folder"] = "In map opslaan"; +$a->strings["I will attend"] = "Aanwezig"; +$a->strings["I will not attend"] = "Niet aanwezig"; +$a->strings["I might attend"] = "Mogelijk aanwezig"; +$a->strings["I agree"] = "Eens"; +$a->strings["I disagree"] = "Oneens"; +$a->strings["I abstain"] = "Onthouding"; +$a->strings["Add Star"] = "Ster toevoegen"; +$a->strings["Remove Star"] = "Ster verwijderen"; +$a->strings["Toggle Star Status"] = "Ster toevoegen of verwijderen"; +$a->strings["starred"] = "met ster"; +$a->strings["Add Tag"] = "Tag toevoegen"; +$a->strings["I like this (toggle)"] = "Vind ik leuk"; +$a->strings["I don't like this (toggle)"] = "Vind ik niet leuk"; +$a->strings["Share This"] = "Delen"; +$a->strings["share"] = "delen"; +$a->strings["Delivery Report"] = "Afleveringsrapport"; +$a->strings["%d comment"] = array( + 0 => "%d reactie", + 1 => "%d reacties weergeven", ); -$a->strings["Gender: "] = "Geslacht:"; -$a->strings["Status: "] = "Status: "; -$a->strings["Homepage: "] = "Homepage: "; -$a->strings["Description:"] = "Omschrijving:"; -$a->strings["Public Forum:"] = "Openbaar forum:"; -$a->strings["Keywords: "] = "Trefwoorden: "; -$a->strings["Don't suggest"] = "Niet voorstellen"; -$a->strings["Common connections:"] = "Gemeenschappelijke connecties:"; -$a->strings["Global Directory"] = "Volledige kanalengids"; -$a->strings["Local Directory"] = "Lokale kanalengids"; -$a->strings["Finding:"] = "Gezocht naar:"; -$a->strings["next page"] = "volgende pagina"; -$a->strings["previous page"] = "vorige pagina"; -$a->strings["Sort options"] = "Sorteeropties"; -$a->strings["Alphabetic"] = "Alfabetisch"; -$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch"; -$a->strings["Newest to Oldest"] = "Nieuw naar oud"; -$a->strings["Oldest to Newest"] = "Oud naar nieuw"; -$a->strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn)."; -$a->strings["Bookmark added"] = "Bladwijzer toegevoegd"; -$a->strings["My Bookmarks"] = "Mijn bladwijzers"; -$a->strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties"; +$a->strings["View %s's profile - %s"] = "Profiel van %s bekijken - %s"; +$a->strings["to"] = "aan"; +$a->strings["via"] = "via"; +$a->strings["Wall-to-Wall"] = "Kanaal-naar-kanaal"; +$a->strings["via Wall-To-Wall:"] = "via kanaal-naar-kanaal"; +$a->strings["Save Bookmarks"] = "Bladwijzers opslaan"; +$a->strings["Add to Calendar"] = "Aan agenda toevoegen"; +$a->strings["Mark all seen"] = "Markeer alles als bekeken"; +$a->strings["__ctx:noun__ Likes"] = "vinden dit leuk"; +$a->strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk"; +$a->strings["This is you"] = "Dit ben jij"; +$a->strings["Image"] = "Afbeelding"; +$a->strings["Insert Link"] = "Link invoegen"; +$a->strings["Video"] = "Video"; +$a->strings["Not a valid email address"] = "Geen geldig e-mailadres"; +$a->strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze hub niet toegestaan"; +$a->strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze hub geregistreerd."; +$a->strings["An invitation is required."] = "Een uitnodiging is vereist"; +$a->strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden"; +$a->strings["Please enter the required information."] = "Vul de vereiste informatie in."; +$a->strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden."; +$a->strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s"; +$a->strings["Registration request at %s"] = "Registratiebevestiging voor %s"; +$a->strings["your registration password"] = "jouw registratiewachtwoord"; +$a->strings["Registration details for %s"] = "Registratiegegevens voor %s"; +$a->strings["Account approved."] = "Account goedgekeurd"; +$a->strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s"; +$a->strings["Account verified. Please login."] = "Account is geverifieerd. Je kan inloggen."; +$a->strings["Click here to upgrade."] = "Klik hier om te upgraden."; +$a->strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."; +$a->strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement."; +$a->strings["Site Admin"] = "Hubbeheerder"; +$a->strings["Address Book"] = "Connecties"; +$a->strings["Mood"] = "Stemming"; +$a->strings["Probe"] = "Onderzoeken"; +$a->strings["Suggest"] = "Voorstellen"; +$a->strings["Random Channel"] = "Willekeurig kanaal"; +$a->strings["Invite"] = "Uitnodigen "; +$a->strings["Features"] = "Extra functies"; +$a->strings["Language"] = "Taal"; +$a->strings["Post"] = "Bericht"; +$a->strings["Profile Photo"] = "Profielfoto"; +$a->strings["Update"] = "Bijwerken"; +$a->strings["Install"] = "Installeren"; +$a->strings["Purchase"] = "Aanschaffen"; +$a->strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken"; +$a->strings["Can view my default channel profile"] = "Kan mijn standaard kanaalprofiel bekijken"; +$a->strings["Can view my connections"] = "Kan een lijst met mijn connecties bekijken"; +$a->strings["Can view my file storage and photos"] = "Kan mijn foto's en andere bestanden bekijken"; +$a->strings["Can view my webpages"] = "Kan mijn pagina's bekijken"; +$a->strings["Can send me their channel stream and posts"] = "Kan mij de inhoud van hun kanaal en berichten sturen"; +$a->strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen"; +$a->strings["Can comment on or like my posts"] = "Kan op mijn berichten reageren of deze (niet) leuk vinden"; +$a->strings["Can send me private mail messages"] = "Kan mij privéberichten sturen"; +$a->strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden"; +$a->strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties"; +$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"; +$a->strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor groepforums"; +$a->strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)"; +$a->strings["Can write to my file storage and photos"] = "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen"; +$a->strings["Can edit my webpages"] = "Kan mijn pagina's bewerken"; +$a->strings["Can source my public posts in derived channels"] = "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"; +$a->strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"; +$a->strings["Can administer my channel resources"] = "Kan mijn kanaal beheren"; +$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."; +$a->strings["Social Networking"] = "Sociaal netwerk"; +$a->strings["Mostly Public"] = "Vrijwel alles openbaar"; +$a->strings["Restricted"] = "Beperkt zichtbaar"; +$a->strings["Private"] = "Verborgen kanaal"; +$a->strings["Community Forum"] = "Groepsforum"; +$a->strings["Feed Republish"] = "Feed herpubliceren"; +$a->strings["Special Purpose"] = "Speciaal doel"; +$a->strings["Celebrity/Soapbox"] = "Beroemdheid/alleen volgen"; +$a->strings["Group Repository"] = "Groepsopslag"; +$a->strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen"; +$a->strings["Profile Photos"] = "Profielfoto's"; +$a->strings["Permission Denied."] = "Toegang geweigerd"; +$a->strings["File not found."] = "Bestand niet gevonden."; +$a->strings["Edit file permissions"] = "Bestandsrechten bewerken"; +$a->strings["Set/edit permissions"] = "Rechten instellen/bewerken"; +$a->strings["Include all files and sub folders"] = "Toepassen op alle bestanden en submappen"; +$a->strings["Return to file list"] = "Terugkeren naar bestandlijst "; +$a->strings["Copy/paste this code to attach file to a post"] = "Kopieer/plak deze code om het bestand aan een bericht te koppelen"; +$a->strings["Copy/paste this URL to link file from a web page"] = "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen"; +$a->strings["Share this file"] = "Dit bestand delen"; +$a->strings["Show URL to this file"] = "Toon URL van dit bestand"; +$a->strings["Notify your contacts about this file"] = "Jouw connecties over dit bestand berichten"; +$a->strings["Collection created."] = "Collectie aangemaakt"; +$a->strings["Could not create collection."] = "Collectie kon niet aangemaakt worden"; +$a->strings["Collection updated."] = "Collectie bijgewerkt."; +$a->strings["Create a collection of channels."] = "Kanaalcollectie aanmaken"; +$a->strings["Collection Name: "] = "Naam collectie:"; +$a->strings["Members are visible to other channels"] = "Kanalen in deze collectie zijn zichtbaar voor andere kanalen"; +$a->strings["Collection removed."] = "Collectie verwijderd"; +$a->strings["Unable to remove collection."] = "Verwijderen collectie mislukt"; +$a->strings["Collection Editor"] = "Collectiebewerker"; +$a->strings["Members"] = "Kanalen"; +$a->strings["All Connected Channels"] = "Alle kanaalconnecties"; +$a->strings["Click on a channel to add or remove."] = "Klik op een kanaal om deze toe te voegen of te verwijderen."; +$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. "; +$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd"; +$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."; +$a->strings["Duplicate post suppressed."] = "Dubbel bericht tegengehouden."; +$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen."; +$a->strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen."; +$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt."; +$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt."; +$a->strings["No channel."] = "Geen kanaal."; +$a->strings["Common connections"] = "Veel voorkomende connecties"; +$a->strings["No connections in common."] = "Geen gemeenschappelijke connecties."; +$a->strings["Continue"] = "Ga verder"; +$a->strings["Premium Channel Setup"] = "Instellen premiumkanaal "; +$a->strings["Enable premium channel connection restrictions"] = "Restricties voor connecties van premiumkanaal toestaan"; +$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz."; +$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:"; +$a->strings["Potential connections will then see the following text before proceeding:"] = "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:"; +$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina."; +$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) "; +$a->strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal"; +$a->strings["Profile Match"] = "Profielovereenkomst"; +$a->strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."; +$a->strings["is interested in:"] = "is geïnteresseerd in:"; +$a->strings["No matches"] = "Geen overeenkomsten"; $a->strings["OpenID protocol error. No ID returned."] = "OpenID-protocolfout. Geen ID terugontvangen."; $a->strings["Welcome %s. Remote authentication successful."] = "Welkom %s. Authenticatie op afstand geslaagd."; -$a->strings["Invalid item."] = "Ongeldig item."; -$a->strings["Channel not found."] = "Kanaal niet gevonden."; -$a->strings["Page not found."] = "Pagina niet gevonden."; +$a->strings["Some blurb about what to do when you're new here"] = "Welkom op \$Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van \$Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met \$Projectname klik je op het vraagteken."; +$a->strings["Away"] = "Afwezig"; +$a->strings["Online"] = "Online"; +$a->strings["Public Sites"] = "Openbare hubs"; +$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Op de hier weergegeven hubs kan iedereen zich voor het \$Projectname-netwerk aanmelden. Alle hubs in het \$Projectname-netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen betaalde abonnementen voor uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven."; +$a->strings["Rate this hub"] = "Beoordeel deze hub"; +$a->strings["Site URL"] = "URL hub"; +$a->strings["Access Type"] = "Toegangstype"; +$a->strings["Registration Policy"] = "Registratiebeleid"; +$a->strings["Project"] = "Project"; +$a->strings["View hub ratings"] = "Bekijk hubbeoordelingen"; +$a->strings["Rate"] = "Beoordeel"; +$a->strings["View ratings"] = "Bekijk beoordelingen"; +$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s heeft het %3\$s van %2\$s getagd met %4\$s"; +$a->strings["Website:"] = "Website:"; +$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Kanaal op afstand [%s] (nog niet op deze hub bekend)"; +$a->strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)"; +$a->strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"; +$a->strings["Block Name"] = "Bloknaam"; +$a->strings["Block Title"] = "Bloktitel"; $a->strings["First Name"] = "Voornaam"; $a->strings["Last Name"] = "Achternaam"; $a->strings["Nickname"] = "Bijnaam"; @@ -1060,28 +1096,10 @@ $a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s is niet aanwezig op $a->strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s is mogelijk aanwezig op %2\$s's %3\$s"; $a->strings["Action completed."] = "Actie voltooid"; $a->strings["Thank you."] = "Bedankt"; -$a->strings["Export Channel"] = "Kanaal exporteren"; -$a->strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exporteer de basisinformatie van jouw kanaal naar een bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal."; -$a->strings["Export Content"] = "Inhoud exporteren"; -$a->strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exporteer informatie en recente inhoud van jouw kanaal naar een JSON-back-up, wat kan worden gebruikt om jouw kanaal te herstellen of te importeren op een andere hub. Dit slaat al jouw connecties, permissies, profielgegevens en enkele maanden aan inhoud van jouw kanaal op. Dit bestand kan ZEER groot worden. Wees geduldig - het kan enkele minuten duren voordat de download begint."; -$a->strings["Export your posts from a given year."] = "Exporteer jouw berichten uit een bepaald jaar."; -$a->strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Je kan ook berichten en conversaties uit een bepaald jaar of van een bepaalde maand exporteren. Verander de datum in de adresbalk van jouw webbrowser om andere jaren en maanden te selecteren. Wanneer het exporteren mislukt (waarschijnlijk door een gebrek aan beschikbaar servergeheugen), probeer het dan nogmaals met een beperkter tijdvak."; -$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld dit jaar te selecteren. "; -$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld januari dit jaar te selecteren."; -$a->strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1\$s\">%2\$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen."; -$a->strings["Away"] = "Afwezig"; -$a->strings["Online"] = "Online"; -$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s heeft het %3\$s van %2\$s getagd met %4\$s"; -$a->strings["No channel."] = "Geen kanaal."; -$a->strings["Common connections"] = "Veel voorkomende connecties"; -$a->strings["No connections in common."] = "Geen gemeenschappelijke connecties."; -$a->strings["sent you a private message"] = "stuurde jou een privébericht"; -$a->strings["added your channel"] = "voegde jouw kanaal toe"; -$a->strings["posted an event"] = "plaatste een gebeurtenis"; -$a->strings["Documentation Search"] = "Zoek documentatie"; -$a->strings["Help:"] = "Hulp:"; -$a->strings["Not Found"] = "Niet gevonden"; -$a->strings["\$Projectname Documentation"] = "\$Projectname-documentatie"; +$a->strings["Invalid item."] = "Ongeldig item."; +$a->strings["Channel not found."] = "Kanaal niet gevonden."; +$a->strings["Page not found."] = "Pagina niet gevonden."; +$a->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."; $a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd."; $a->strings["Remove This Channel"] = "Verwijder dit kanaal"; $a->strings["WARNING: "] = "WAARSCHUWING: "; @@ -1091,38 +1109,186 @@ $a->strings["Please enter your password for verification:"] = "Vul je wachtwoord $a->strings["Remove this channel and all its clones from the network"] = "Dit kanaal en alle klonen hiervan uit het \$Projectname-netwerk verwijderen"; $a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het \$Projectname-netwerk verwijderd"; $a->strings["Remove Channel"] = "Kanaal verwijderen"; -$a->strings["- select -"] = "- kies map -"; -$a->strings["Menu not found."] = "Menu niet gevonden."; -$a->strings["Unable to create element."] = "Niet in staat om onderdeel aan te maken."; -$a->strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet."; -$a->strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd."; -$a->strings["Not found."] = "Niet gevonden."; -$a->strings["Menu Item Permissions"] = "Permissies menu-item"; -$a->strings["(click to open/close)"] = "(klik om te openen/sluiten)"; -$a->strings["Link Name"] = "Linknaam"; -$a->strings["Link or Submenu Target"] = "Linkdoel of submenu-doel"; -$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Geef de URL van de link of kies een menunaam om een submenu aan te maken"; -$a->strings["Use magic-auth if available"] = "Gebruik magic-auth wanneer beschikbaar"; -$a->strings["Open link in new window"] = "Open link in nieuw venster"; -$a->strings["Order in list"] = "Volgorde in lijst"; -$a->strings["Higher numbers will sink to bottom of listing"] = "Hogere nummers komen onderaan de lijst terecht"; -$a->strings["Submit and finish"] = "Opslaan en afsluiten"; -$a->strings["Submit and continue"] = "Opslaan en doorgaan"; -$a->strings["Menu:"] = "Menu:"; -$a->strings["Link Target"] = "Linkdoel"; -$a->strings["Edit menu"] = "Menu bewerken"; -$a->strings["Edit element"] = "Onderdeel bewerken"; -$a->strings["Drop element"] = "Onderdeel verwijderen"; -$a->strings["New element"] = "Nieuw element"; -$a->strings["Edit this menu container"] = "Deze menu-container bewerken"; -$a->strings["Add menu element"] = "Menu-element toevoegen"; -$a->strings["Delete this menu item"] = "Dit menu-item verwijderen"; -$a->strings["Edit this menu item"] = "Dit menu-item bewerken"; -$a->strings["Menu item not found."] = "Menu-item niet gevonden."; -$a->strings["Menu item deleted."] = "Menu-item verwijderd."; -$a->strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd."; -$a->strings["Edit Menu Element"] = "Menu-element bewerken"; -$a->strings["Link text"] = "Linktekst"; +$a->strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties"; +$a->strings["Add a Channel"] = "Kanaal toevoegen"; +$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Naast een account moet je tenminste één kanaal aanmaken. Een kanaal is een persoonlijke verzameling (gerelateerde) berichten en media, zoals je misschien gewend bent van sociale netwerken. Een kanaal kan gebruikt worden voor social media, een blog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat."; +$a->strings["Channel Name"] = "Kanaalnaam"; +$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Jouw naam of een andere relevante naam. Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Familieforum\""; +$a->strings["Choose a short nickname"] = "Korte bijnaam"; +$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Deze bijnaam (geen spaties) wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) en het internetadres (URL) van jouw kanaal aan te maken, die je dan met anderen kunt delen. Voorbeeld: <b>janp</b> wordt <em>janp@jouw_hub.nl</em> en <em>https://jouw_hub.nl/channel/janp</em>."; +$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie."; +$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Kies een kanaaltype en het door jouw gewenste privacy-niveau, zodat automatisch de beste permissies kunnen worden ingesteld. Dit kan later, indien gewenst, worden veranderd."; +$a->strings["Channel Type"] = "Kanaaltype"; +$a->strings["Read more about roles"] = "Lees meer over kanaaltypes"; +$a->strings["No ratings"] = "Geen beoordelingen"; +$a->strings["Public access denied."] = "Openbare toegang geweigerd."; +$a->strings["Ratings"] = "Waarderingen"; +$a->strings["Rating: "] = "Waardering: "; +$a->strings["Website: "] = "Website: "; +$a->strings["Description: "] = "Omschrijving: "; +$a->strings["\$Projectname Server - Setup"] = "\$Projectname Server - Setup"; +$a->strings["Could not connect to database."] = "Could not connect to database."; +$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Could not connect to specified hub URL. Possible SSL certificate or DNS issue."; +$a->strings["Could not create table."] = "Could not create table."; +$a->strings["Your site database has been installed."] = "Your hub database has been installed."; +$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "You may need to import the file \"install/schema_xxx.sql\" manually using a database client."; +$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Please see the file \"install/INSTALL.txt\"."; +$a->strings["System check"] = "System check"; +$a->strings["Next"] = "Volgende"; +$a->strings["Check again"] = "Check again"; +$a->strings["Database connection"] = "Database connection"; +$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "In order to install \$Projectname we need to know how to connect to your database."; +$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Please contact your hosting provider or site administrator if you have questions about these settings."; +$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "The database you specify below should already exist. If it does not, please create it before continuing."; +$a->strings["Database Server Name"] = "Database Server Name"; +$a->strings["Default is 127.0.0.1"] = "Default is 127.0.0.1"; +$a->strings["Database Port"] = "Database Port"; +$a->strings["Communication port number - use 0 for default"] = "Communication port number - use 0 for default"; +$a->strings["Database Login Name"] = "Database Login Name"; +$a->strings["Database Login Password"] = "Database Login Password"; +$a->strings["Database Name"] = "Database Name"; +$a->strings["Database Type"] = "Database Type"; +$a->strings["Site administrator email address"] = "Hub administrator email address"; +$a->strings["Your account email address must match this in order to use the web admin panel."] = "Your account email address must match this in order to use the web admin panel."; +$a->strings["Website URL"] = "Hub URL"; +$a->strings["Please use SSL (https) URL if available."] = "Please use SSL (https) URL if available."; +$a->strings["Please select a default timezone for your website"] = "Please select a default timezone for your hub"; +$a->strings["Site settings"] = "Hub settings"; +$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Could not find a command line version of PHP in the web server PATH."; +$a->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."] = "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."; +$a->strings["PHP executable path"] = "PHP executable path"; +$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Enter full path to php executable. You can leave this blank to continue the installation."; +$a->strings["Command line PHP"] = "Command line PHP"; +$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."; +$a->strings["This is required for message delivery to work."] = "This is required for message delivery to work."; +$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; +$a->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."] = "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."; +$a->strings["You can adjust these settings in the servers php.ini."] = "You can adjust these settings in the servers php.ini."; +$a->strings["PHP upload limits"] = "PHP upload limits"; +$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"; +$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."; +$a->strings["Generate encryption keys"] = "Generate encryption keys"; +$a->strings["libCurl PHP module"] = "libCurl PHP module"; +$a->strings["GD graphics PHP module"] = "GD graphics PHP module"; +$a->strings["OpenSSL PHP module"] = "OpenSSL PHP module"; +$a->strings["mysqli or postgres PHP module"] = "mysqli or postgres PHP module"; +$a->strings["mb_string PHP module"] = "mb_string PHP module"; +$a->strings["mcrypt PHP module"] = "mcrypt PHP module"; +$a->strings["xml PHP module"] = "xml PHP module"; +$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite module"; +$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: Apache webserver mod-rewrite module is required but not installed."; +$a->strings["proc_open"] = "proc_open"; +$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: proc_open is required but is either not installed or has been disabled in php.ini"; +$a->strings["Error: libCURL PHP module required but not installed."] = "Error: libCURL PHP module required but not installed."; +$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: GD graphics PHP module with JPEG support required but not installed."; +$a->strings["Error: openssl PHP module required but not installed."] = "Error: openssl PHP module required but not installed."; +$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: mysqli or postgres PHP module required but neither are installed."; +$a->strings["Error: mb_string PHP module required but not installed."] = "Error: mb_string PHP module required but not installed."; +$a->strings["Error: mcrypt PHP module required but not installed."] = "Error: mcrypt PHP module required but not installed."; +$a->strings["Error: xml PHP module required for DAV but not installed."] = "Error: xml PHP module required for DAV but not installed."; +$a->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."] = "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."; +$a->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."] = "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."; +$a->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."] = "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."; +$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."; +$a->strings[".htconfig.php is writable"] = ".htconfig.php is writable"; +$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."; +$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."; +$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."; +$a->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: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."; +$a->strings["%s is writable"] = "%s is writable"; +$a->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"] = "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"; +$a->strings["store is writable"] = "store is writable"; +$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL certificate cannot be validated. Fix certificate or disable https access to this hub."; +$a->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!"] = "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"; +$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "This restriction is incorporated because public posts from you may for example contain references to images on your own hub."; +$a->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."] = "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues."; +$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement."; +$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Providers are available that issue free certificates which are browser-valid."; +$a->strings["SSL certificate validation"] = "SSL certificate validation"; +$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Url rewrite in .htaccess is not working. Check your server configuration.Test: "; +$a->strings["Url rewrite is working"] = "Url rewrite is working"; +$a->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."] = "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."; +$a->strings["Errors encountered creating database tables."] = "Errors encountered creating database tables."; +$a->strings["<h1>What next</h1>"] = "<h1>Wat nu</h1>"; +$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."; +$a->strings["Bookmark added"] = "Bladwijzer toegevoegd"; +$a->strings["My Bookmarks"] = "Mijn bladwijzers"; +$a->strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties"; +$a->strings["\$Projectname"] = "\$Projectname"; +$a->strings["Welcome to %s"] = "Welkom op %s"; +$a->strings["This setting requires special processing and editing has been blocked."] = "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd."; +$a->strings["Configuration Editor"] = "Configuratiebewerker"; +$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. "; +$a->strings["Poke/Prod"] = "Aanstoten/porren"; +$a->strings["poke, prod or do other things to somebody"] = "aanstoten, porren of andere dingen met iemand doen"; +$a->strings["Recipient"] = "Ontvanger"; +$a->strings["Choose what you wish to do to recipient"] = "Kies wat je met de ontvanger wil doen"; +$a->strings["Make this post private"] = "Maak dit bericht privé"; +$a->strings["Profile not found."] = "Profiel niet gevonden."; +$a->strings["Profile deleted."] = "Profiel verwijderd."; +$a->strings["Profile-"] = "Profiel-"; +$a->strings["New profile created."] = "Nieuw profiel aangemaakt."; +$a->strings["Profile unavailable to clone."] = "Profiel niet beschikbaar om te klonen"; +$a->strings["Profile unavailable to export."] = "Geen profiel beschikbaar om te exporteren"; +$a->strings["Profile Name is required."] = "Profielnaam is vereist"; +$a->strings["Marital Status"] = "Huwelijke status"; +$a->strings["Romantic Partner"] = "Romantische partner"; +$a->strings["Likes"] = "Houdt van"; +$a->strings["Dislikes"] = "Houdt niet van"; +$a->strings["Work/Employment"] = "Werk/arbeid"; +$a->strings["Religion"] = "Religie"; +$a->strings["Political Views"] = "Politieke overtuigingen"; +$a->strings["Sexual Preference"] = "Seksuele voorkeur"; +$a->strings["Homepage"] = "Homepage"; +$a->strings["Interests"] = "Interesses"; +$a->strings["Address"] = "Kanaaladres"; +$a->strings["Profile updated."] = "Profiel bijgewerkt"; +$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Laat de lijst met connecties niet aan bezoekers van dit profiel zien."; +$a->strings["Edit Profile Details"] = "Profiel bewerken"; +$a->strings["View this profile"] = "Profiel weergeven"; +$a->strings["Change Profile Photo"] = "Profielfoto wijzigen"; +$a->strings["Create a new profile using these settings"] = "Een nieuw profiel aanmaken met dit profiel als basis"; +$a->strings["Clone this profile"] = "Dit profiel klonen"; +$a->strings["Delete this profile"] = "Dit profiel verwijderen"; +$a->strings["Import profile from file"] = "Profiel vanuit bestand importeren"; +$a->strings["Export profile to file"] = "Profiel naar bestand exporteren"; +$a->strings["Profile Name:"] = "Profielnaam:"; +$a->strings["Your Full Name:"] = "Jouw volledige naam:"; +$a->strings["Title/Description:"] = "Titel/omschrijving:"; +$a->strings["Your Gender:"] = "Jouw geslacht"; +$a->strings["Birthday :"] = "Verjaardag: "; +$a->strings["Street Address:"] = "Straat en huisnummer:"; +$a->strings["Locality/City:"] = "Woonplaats:"; +$a->strings["Postal/Zip Code:"] = "Postcode:"; +$a->strings["Country:"] = "Land:"; +$a->strings["Region/State:"] = "Provincie/gewest/deelstaat:"; +$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Huwelijkse staat:"; +$a->strings["Who: (if applicable)"] = "Wie (wanneer toepasselijk):"; +$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Voorbeelden: petra123, Petra Jansen, petra@voorbeeld.nl"; +$a->strings["Since [date]:"] = "Sinds [datum]:"; +$a->strings["Homepage URL:"] = "Adres homepage:"; +$a->strings["Religious Views:"] = "Religieuze overtuigingen"; +$a->strings["Keywords:"] = "Trefwoorden"; +$a->strings["Example: fishing photography software"] = "Voorbeeld: muziek, fotografie, software"; +$a->strings["Used in directory listings"] = "Wordt in de kanalengids gebruikt"; +$a->strings["Tell us about yourself..."] = "Vertel ons iets over jezelf..."; +$a->strings["Hobbies/Interests"] = "Hobby's/interesses"; +$a->strings["Contact information and Social Networks"] = "Contactinformatie en sociale netwerken"; +$a->strings["My other channels"] = "Mijn andere kanalen"; +$a->strings["Musical interests"] = "Muzikale interesses"; +$a->strings["Books, literature"] = "Boeken/literatuur"; +$a->strings["Television"] = "Televisie"; +$a->strings["Film/dance/culture/entertainment"] = "Film/dans/cultuur/entertainment"; +$a->strings["Love/romance"] = "Liefde/romantiek"; +$a->strings["Work/employment"] = "Werk/arbeid"; +$a->strings["School/education"] = "School/onderwijs"; +$a->strings["This is your default profile."] = "Dit is jouw standaardprofiel"; +$a->strings["Age: "] = "Leeftijd:"; +$a->strings["Edit/Manage Profiles"] = "Profielen bewerken/beheren"; +$a->strings["Add profile things"] = "Dingen aan je profiel toevoegen"; +$a->strings["Include desirable objects in your profile"] = "Voeg door jou gewenste dingen aan jouw profiel toe"; +$a->strings["Items tagged with: %s"] = "Items getagd met %s"; +$a->strings["Search results for: %s"] = "Zoekresultaten voor %s"; $a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens."; $a->strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden."; $a->strings["Connection updated."] = "Connectie bijgewerkt."; @@ -1185,57 +1351,132 @@ $a->strings["Individual Permissions"] = "Individuele permissies"; $a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen."; $a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. "; $a->strings["Last update:"] = "Laatste wijziging:"; -$a->strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties"; -$a->strings["Hub not found."] = "Hub niet gevonden."; -$a->strings["This setting requires special processing and editing has been blocked."] = "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd."; -$a->strings["Configuration Editor"] = "Configuratiebewerker"; -$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. "; -$a->strings["Permission Denied."] = "Toegang geweigerd"; -$a->strings["File not found."] = "Bestand niet gevonden."; -$a->strings["Edit file permissions"] = "Bestandsrechten bewerken"; -$a->strings["Set/edit permissions"] = "Rechten instellen/bewerken"; -$a->strings["Include all files and sub folders"] = "Toepassen op alle bestanden en submappen"; -$a->strings["Return to file list"] = "Terugkeren naar bestandlijst "; -$a->strings["Copy/paste this code to attach file to a post"] = "Kopieer/plak deze code om het bestand aan een bericht te koppelen"; -$a->strings["Copy/paste this URL to link file from a web page"] = "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen"; -$a->strings["Share this file"] = "Dit bestand delen"; -$a->strings["Show URL to this file"] = "Toon URL van dit bestand"; -$a->strings["Notify your contacts about this file"] = "Jouw connecties over dit bestand berichten"; +$a->strings["network"] = "netwerk"; +$a->strings["RSS"] = "RSS"; +$a->strings["\$Projectname channel"] = "\$Projectname-kanaal"; +$a->strings["Invalid message"] = "Ongeldig bericht"; +$a->strings["no results"] = "geen resultaten"; +$a->strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s"; +$a->strings["channel sync processed"] = "kanaalsync verwerkt"; +$a->strings["queued"] = "in wachtrij"; +$a->strings["posted"] = "verstuurd"; +$a->strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden"; +$a->strings["updated"] = "geüpdatet"; +$a->strings["update ignored"] = "update genegeerd"; +$a->strings["permission denied"] = "toegang geweigerd"; +$a->strings["recipient not found"] = "ontvanger niet gevonden"; +$a->strings["mail recalled"] = "Privébericht ingetrokken"; +$a->strings["duplicate mail received"] = "dubbel privébericht ontvangen"; +$a->strings["mail delivered"] = "privébericht afgeleverd"; +$a->strings["Item not found"] = "Item niet gevonden"; +$a->strings["Delete webpage?"] = "Webpagina verwijderen?"; +$a->strings["Page link title"] = "Titel van paginalink"; +$a->strings["Insert YouTube video"] = "YouTube-video invoegen"; +$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis-video [.ogg] invoegen"; +$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis-audio [.ogg] invoegen"; +$a->strings["Edit Webpage"] = "Webpagina bewerken"; +$a->strings["Unable to find your hub."] = "Niet in staat om je hub te vinden"; +$a->strings["Post successful."] = "Verzenden bericht geslaagd."; +$a->strings["sent you a private message"] = "stuurde jou een privébericht"; +$a->strings["added your channel"] = "voegde jouw kanaal toe"; +$a->strings["posted an event"] = "plaatste een gebeurtenis"; +$a->strings["Authorize application connection"] = "Geef toestemming voor applicatiekoppeling"; +$a->strings["Return to your app and insert this Securty Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:"; +$a->strings["Please login to continue."] = "Inloggen om verder te kunnen gaan."; +$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"; +$a->strings["No more system notifications."] = "Geen systeemnotificaties meer."; +$a->strings["System Notifications"] = "Systeemnotificaties"; +$a->strings["Select a bookmark folder"] = "Kies een bladwijzermap"; +$a->strings["Save Bookmark"] = "Bladwijzer opslaan"; +$a->strings["URL of bookmark"] = "URL van bladwijzer"; +$a->strings["Description"] = "Omschrijving"; +$a->strings["Or enter new bookmark folder name"] = "Of geef de naam op van een nieuwe bladwijzermap"; +$a->strings["Contact not found."] = "Contact niet gevonden"; +$a->strings["Friend suggestion sent."] = "Kanaalvoorstel verzonden."; +$a->strings["Suggest Friends"] = "Kanalen voorstellen"; +$a->strings["Suggest a friend for %s"] = "Stel een kanaal voor aan %s"; +$a->strings["Failed to create source. No channel selected."] = "Aanmaken bron mislukt. Geen kanaal geselecteerd."; +$a->strings["Source created."] = "Bron aangemaakt."; +$a->strings["Source updated."] = "Bron aangemaakt."; +$a->strings["*"] = "*"; +$a->strings["Manage remote sources of content for your channel."] = "Beheer externe bronnen met inhoud voor jouw kanaal"; +$a->strings["New Source"] = "Nieuwe bron"; +$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen."; +$a->strings["Only import content with these words (one per line)"] = "Importeer alleen inhoud met deze woorden (één per regel)"; +$a->strings["Leave blank to import all public content"] = "Laat leeg om alle openbare inhoud te importeren"; +$a->strings["Source not found."] = "Bron niet gevonden"; +$a->strings["Edit Source"] = "Bron bewerken"; +$a->strings["Delete Source"] = "Bron verwijderen"; +$a->strings["Source removed"] = "Bron verwijderd"; +$a->strings["Unable to remove source."] = "Verwijderen bron mislukt."; +$a->strings["Invalid request identifier."] = "Ongeldige verzoek identificator (request identifier)"; +$a->strings["Discard"] = "Annuleren"; +$a->strings["Tag removed"] = "Tag verwijderd"; +$a->strings["Remove Item Tag"] = "Verwijder item-tag"; +$a->strings["Select a tag to remove: "] = "Kies een tag om te verwijderen"; +$a->strings["Remove"] = "Verwijderen"; +$a->strings["%d rating"] = array( + 0 => "%d beoordeling", + 1 => "%d beoordelingen", +); +$a->strings["Gender: "] = "Geslacht:"; +$a->strings["Status: "] = "Status: "; +$a->strings["Homepage: "] = "Homepage: "; +$a->strings["Description:"] = "Omschrijving:"; +$a->strings["Public Forum:"] = "Openbaar forum:"; +$a->strings["Keywords: "] = "Trefwoorden: "; +$a->strings["Don't suggest"] = "Niet voorstellen"; +$a->strings["Common connections:"] = "Gemeenschappelijke connecties:"; +$a->strings["Global Directory"] = "Volledige kanalengids"; +$a->strings["Local Directory"] = "Lokale kanalengids"; +$a->strings["Finding:"] = "Gezocht naar:"; +$a->strings["next page"] = "volgende pagina"; +$a->strings["previous page"] = "vorige pagina"; +$a->strings["Sort options"] = "Sorteeropties"; +$a->strings["Alphabetic"] = "Alfabetisch"; +$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch"; +$a->strings["Newest to Oldest"] = "Nieuw naar oud"; +$a->strings["Oldest to Newest"] = "Oud naar nieuw"; +$a->strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn)."; +$a->strings["No valid account found."] = "Geen geldige account gevonden."; +$a->strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."; +$a->strings["Site Member (%s)"] = "Lid van hub (%s)"; +$a->strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"; +$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."; +$a->strings["Password Reset"] = "Wachtwoord vergeten?"; +$a->strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."; +$a->strings["Your new password is"] = "Jouw nieuwe wachtwoord is"; +$a->strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en"; +$a->strings["click here to login"] = "klik dan hier om in te loggen"; +$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."; +$a->strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd"; +$a->strings["Forgot your Password?"] = "Wachtwoord vergeten?"; +$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."; +$a->strings["Email Address"] = "E-mailadres"; +$a->strings["Reset"] = "Opnieuw instellen"; $a->strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)"; -$a->strings["Layout Name"] = "Naam lay-out"; -$a->strings["Layout Description (Optional)"] = "Lay-out-omschrijving (optioneel)"; -$a->strings["Comanche page description language help"] = "Hulp met de paginabeschrijvingstaal Comanche"; -$a->strings["Layout Description"] = "Lay-out-omschrijving"; -$a->strings["Download PDL file"] = "Download PDL-bestand"; -$a->strings["Poke/Prod"] = "Aanstoten/porren"; -$a->strings["poke, prod or do other things to somebody"] = "aanstoten, porren of andere dingen met iemand doen"; -$a->strings["Recipient"] = "Ontvanger"; -$a->strings["Choose what you wish to do to recipient"] = "Kies wat je met de ontvanger wil doen"; -$a->strings["Make this post private"] = "Maak dit bericht privé"; -$a->strings["No such group"] = "Collectie niet gevonden"; -$a->strings["No such channel"] = "Niet zo'n kanaal"; -$a->strings["forum"] = "forum"; -$a->strings["Search Results For:"] = "Zoekresultaten voor:"; -$a->strings["Collection is empty"] = "Collectie is leeg"; -$a->strings["Collection: "] = "Collectie: "; -$a->strings["Invalid connection."] = "Ongeldige connectie."; -$a->strings["You must be logged in to see this page."] = "Je moet zijn ingelogd om deze pagina te kunnen bekijken."; -$a->strings["Room not found"] = "Chatkanaal niet gevonden"; -$a->strings["Leave Room"] = "Chatkanaal verlaten"; -$a->strings["Delete This Room"] = "Chatkanaal verwijderen"; -$a->strings["I am away right now"] = "Ik ben momenteel afwezig"; -$a->strings["I am online"] = "Ik ben online"; -$a->strings["Bookmark this room"] = "Chatkanaal aan bladwijzers toevoegen"; -$a->strings["New Chatroom"] = "Nieuw chatkanaal"; -$a->strings["Chatroom Name"] = "Naam chatkanaal"; -$a->strings["Expiration of chats (minutes)"] = "Aantal minuten voordat chatberichten worden verwijderd"; -$a->strings["%1\$s's Chatrooms"] = "Chatkanalen van %1\$s"; -$a->strings["Items tagged with: %s"] = "Items getagd met %s"; -$a->strings["Search results for: %s"] = "Zoekresultaten voor %s"; -$a->strings["Website:"] = "Website:"; -$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Kanaal op afstand [%s] (nog niet op deze hub bekend)"; -$a->strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)"; -$a->strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"; +$a->strings["%s element installed"] = "%s onderdeel geïnstalleerd"; +$a->strings["%s element installation failed"] = "Installatie %s-element mislukt"; +$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s"; +$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s niet meer"; +$a->strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe."; +$a->strings["Nothing to import."] = "Niets gevonden om te importeren"; +$a->strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden"; +$a->strings["Imported file is empty."] = "Geïmporteerde bestand is leeg"; +$a->strings["Warning: Database versions differ by %1\$d updates."] = "Waarschuwing: database-versies lopen %1\$d updates achter."; +$a->strings["No channel. Import failed."] = "Geen kanaal. Importeren mislukt."; +$a->strings["You must be logged in to use this feature."] = "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."; +$a->strings["Import Channel"] = "Kanaal importeren"; +$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken."; +$a->strings["File to Upload"] = "Bestand om te uploaden"; +$a->strings["Or provide the old server/hub details"] = "Of vul de gegevens van de oude hub in"; +$a->strings["Your old identity address (xyz@example.com)"] = "Jouw oude kanaaladres (xyz@example.com)"; +$a->strings["Your old login email address"] = "Het e-mailadres van je oude account"; +$a->strings["Your old login password"] = "Wachtwoord van jouw oude account"; +$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."; +$a->strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in"; +$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)"; +$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid."; $a->strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen."; $a->strings["Album not found."] = "Album niet gevonden."; $a->strings["Delete Album"] = "Verwijder album"; @@ -1260,8 +1501,6 @@ $a->strings["Use as profile photo"] = "Als profielfoto gebruiken"; $a->strings["Private Photo"] = "Privéfoto"; $a->strings["Previous"] = "Vorige"; $a->strings["View Full Size"] = "Volledige grootte weergeven"; -$a->strings["Next"] = "Volgende"; -$a->strings["Remove"] = "Verwijderen"; $a->strings["Edit photo"] = "Foto bewerken"; $a->strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)"; $a->strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)"; @@ -1275,18 +1514,84 @@ $a->strings["In This Photo:"] = "Op deze foto:"; $a->strings["Map"] = "Kaart"; $a->strings["View Album"] = "Album weergeven"; $a->strings["Recent Photos"] = "Recente foto's"; -$a->strings["Item not found"] = "Item niet gevonden"; +$a->strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s"; +$a->strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. "; +$a->strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden."; +$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven."; +$a->strings["Image upload failed."] = "Uploaden afbeelding mislukt"; +$a->strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken."; +$a->strings["female"] = "vrouw"; +$a->strings["%1\$s updated her %2\$s"] = "%1\$s heeft haar %2\$s bijgewerkt"; +$a->strings["male"] = "man"; +$a->strings["%1\$s updated his %2\$s"] = "%1\$s heeft zijn %2\$s bijgewerkt"; +$a->strings["%1\$s updated their %2\$s"] = "%1\$s hebben hun %2\$s bijgewerkt"; +$a->strings["profile photo"] = "profielfoto"; +$a->strings["Photo not available."] = "Foto niet beschikbaar."; +$a->strings["Upload File:"] = "Bestand uploaden:"; +$a->strings["Select a profile:"] = "Kies een profiel:"; +$a->strings["Upload Profile Photo"] = "Profielfoto uploaden"; +$a->strings["or"] = "of"; +$a->strings["skip this step"] = "sla deze stap over"; +$a->strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums"; +$a->strings["Crop Image"] = "Afbeelding bijsnijden"; +$a->strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven."; +$a->strings["Done Editing"] = "Klaar met bewerken"; +$a->strings["Thing updated"] = "Ding bijgewerkt"; +$a->strings["Object store: failed"] = "Opslaan van ding mislukt"; +$a->strings["Thing added"] = "Ding toegevoegd"; +$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; +$a->strings["Show Thing"] = "Ding weergeven"; +$a->strings["item not found."] = "Item niet gevonden"; +$a->strings["Edit Thing"] = "Ding bewerken"; +$a->strings["Select a profile"] = "Kies een profiel"; +$a->strings["Post an activity"] = "Plaats een bericht"; +$a->strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien."; +$a->strings["Name of thing e.g. something"] = "Naam van ding"; +$a->strings["URL of thing (optional)"] = "URL van ding (optioneel)"; +$a->strings["URL for photo of thing (optional)"] = "URL van foto van ding (optioneel)"; +$a->strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen"; +$a->strings["This directory server requires an access token"] = "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig"; $a->strings["Delete block?"] = "Blok verwijderen"; -$a->strings["Insert YouTube video"] = "YouTube-video invoegen"; -$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis-video [.ogg] invoegen"; -$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis-audio [.ogg] invoegen"; $a->strings["Edit Block"] = "Blok bewerken"; -$a->strings["This directory server requires an access token"] = "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig"; -$a->strings["Item is not editable"] = "Item is niet te bewerken"; -$a->strings["Delete item?"] = "Item verwijderen?"; -$a->strings["Edit post"] = "Bericht bewerken"; -$a->strings["Unable to find your hub."] = "Niet in staat om je hub te vinden"; -$a->strings["Post successful."] = "Verzenden bericht geslaagd."; +$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een account is niet toegestaan binnen 48 uur nadat het wachtwoord is veranderd."; +$a->strings["Remove This Account"] = "Verwijder dit account"; +$a->strings["This account and all its channels will be completely removed from the network. "] = "Dit account en al zijn kanalen worden volledig uit het \$Projectname-netwerk verwijderd."; +$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het \$Projectname-netwerk verwijderen"; +$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het \$Projectname-netwerk verwijderd"; +$a->strings["Remove Account"] = "Account verwijderen"; +$a->strings["Import completed"] = "Importeren voltooid"; +$a->strings["Import Items"] = "Importeer items"; +$a->strings["Use this form to import existing posts and content from an export file."] = "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren."; +$a->strings["No such group"] = "Collectie niet gevonden"; +$a->strings["No such channel"] = "Niet zo'n kanaal"; +$a->strings["forum"] = "forum"; +$a->strings["Search Results For:"] = "Zoekresultaten voor:"; +$a->strings["Collection is empty"] = "Collectie is leeg"; +$a->strings["Collection: "] = "Collectie: "; +$a->strings["Invalid connection."] = "Ongeldige connectie."; +$a->strings["Layout updated."] = "Lay-out bijgewerkt."; +$a->strings["Edit System Page Description"] = "Systeempagina's bewerken"; +$a->strings["Layout not found."] = "Lay-out niet gevonden."; +$a->strings["Module Name:"] = "Modulenaam:"; +$a->strings["Layout Help"] = "Lay-out-hulp"; +$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze \$Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals."; +$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden."; +$a->strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen."; +$a->strings["Registration successful. Please check your email for validation instructions."] = "Registratie geslaagd. Controleer je e-mail voor instructies."; +$a->strings["Your registration is pending approval by the site owner."] = "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze \$Projectname-hub."; +$a->strings["Your registration can not be processed."] = "Jouw registratie kan niet verwerkt worden."; +$a->strings["Registration on this site/hub is by approval only."] = "Registraties op deze \$Projectname-hub moeten eerst worden goedgekeurd."; +$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registreer op een andere \$Projectname-hub</a>"; +$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze \$Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals."; +$a->strings["Terms of Service"] = "Gebruiksvoorwaarden"; +$a->strings["I accept the %s for this website"] = "Ik accepteer de %s van deze \$Projectname-hub"; +$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ik accepteer de %s van deze \$Projectname-hub"; +$a->strings["Registration"] = "Registratie"; +$a->strings["Membership on this site is by invitation only."] = "Registreren op deze \$Projectname-hub kan alleen op uitnodiging."; +$a->strings["Please enter your invitation code"] = "Vul jouw uitnodigingscode in"; +$a->strings["Your email address"] = "Jouw e-mailadres"; +$a->strings["Choose a password"] = "Geef een wachtwoord op"; +$a->strings["Please re-enter your password"] = "Geef het wachtwoord opnieuw op"; $a->strings["Theme settings updated."] = "Thema-instellingen bijgewerkt."; $a->strings["# Accounts"] = "# accounts"; $a->strings["# blocked accounts"] = "# geblokkeerde accounts"; @@ -1312,7 +1617,6 @@ $a->strings["My site is not a public server"] = "Mijn \$Projectname-hub is niet $a->strings["My site has paid access only"] = "Mijn \$Projectname-hub kent alleen betaalde toegang"; $a->strings["My site has free access only"] = "Mijn \$Projectname-hub kent alleen gratis toegang"; $a->strings["My site offers free accounts with optional paid upgrades"] = "Mijn \$Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"; -$a->strings["Registration"] = "Registratie"; $a->strings["File upload"] = "Bestand uploaden"; $a->strings["Policies"] = "Beleid"; $a->strings["Site name"] = "Naam van deze \$Projectname-hub"; @@ -1439,7 +1743,6 @@ $a->strings["Uncensor"] = "Niet censureren"; $a->strings["Allow Code"] = "Scripts toestaan"; $a->strings["Disallow Code"] = "Scripts niet toestaan"; $a->strings["UID"] = "UID"; -$a->strings["Address"] = "Kanaaladres"; $a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"; $a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"; $a->strings["Plugin %s disabled."] = "Plug-in %s uitgeschakeld."; @@ -1469,303 +1772,10 @@ $a->strings["Help text"] = "Helptekst"; $a->strings["Additional info (optional)"] = "Extra informatie (optioneel)"; $a->strings["Field definition not found"] = "Velddefinitie niet gevonden"; $a->strings["Edit Profile Field"] = "Profielveld bewerken"; -$a->strings["App installed."] = "App geïnstalleerd"; -$a->strings["Malformed app."] = "Misvormde app."; -$a->strings["Embed code"] = "Insluitcode"; -$a->strings["Edit App"] = "App bewerken"; -$a->strings["Create App"] = "App maken"; -$a->strings["Name of app"] = "Naam van app"; -$a->strings["Location (URL) of app"] = "Locatie (URL) van app"; -$a->strings["Description"] = "Omschrijving"; -$a->strings["Photo icon URL"] = "URL van pictogram"; -$a->strings["80 x 80 pixels - optional"] = "80 x 80 pixels (optioneel)"; -$a->strings["Version ID"] = "Versie-ID"; -$a->strings["Price of app"] = "Prijs van de app"; -$a->strings["Location (URL) to purchase app"] = "Locatie (URL) om de app aan te schaffen"; -$a->strings["Unable to update menu."] = "Niet in staat om menu aan te passen"; -$a->strings["Unable to create menu."] = "Niet in staat om menu aan te maken."; -$a->strings["Menu Name"] = "Menunaam"; -$a->strings["Unique name (not visible on webpage) - required"] = "Unieke naam vereist (niet zichtbaar op webpagina)"; -$a->strings["Menu Title"] = "Menutitel"; -$a->strings["Visible on webpage - leave empty for no title"] = "Zichtbaar op webpagina (leeg laten voor geen titel)"; -$a->strings["Allow Bookmarks"] = "Bladwijzers toestaan"; -$a->strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan"; -$a->strings["Submit and proceed"] = "Opslaan en doorgaan"; -$a->strings["Drop"] = "Verwijderen"; -$a->strings["Bookmarks allowed"] = "Bladwijzers toegestaan"; -$a->strings["Delete this menu"] = "Menu verwijderen"; -$a->strings["Edit menu contents"] = "Bewerk de inhoud van het menu"; -$a->strings["Edit this menu"] = "Dit menu bewerken"; -$a->strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden."; -$a->strings["Edit Menu"] = "Menu bewerken"; -$a->strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder"; -$a->strings["Menu name"] = "Naam van menu"; -$a->strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen zichtbaar voor jou."; -$a->strings["Menu title"] = "Titel van menu"; -$a->strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien."; -$a->strings["Allow bookmarks"] = "Bladwijzers toestaan"; -$a->strings["No more system notifications."] = "Geen systeemnotificaties meer."; -$a->strings["System Notifications"] = "Systeemnotificaties"; -$a->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."; -$a->strings["Add a Channel"] = "Kanaal toevoegen"; -$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Naast een account moet je tenminste één kanaal aanmaken. Een kanaal is een persoonlijke verzameling (gerelateerde) berichten en media, zoals je misschien gewend bent van sociale netwerken. Een kanaal kan gebruikt worden voor social media, een blog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat."; -$a->strings["Channel Name"] = "Kanaalnaam"; -$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Jouw naam of een andere relevante naam. Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Familieforum\""; -$a->strings["Choose a short nickname"] = "Korte bijnaam"; -$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Deze bijnaam (geen spaties) wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) en het internetadres (URL) van jouw kanaal aan te maken, die je dan met anderen kunt delen. Voorbeeld: <b>janp</b> wordt <em>janp@jouw_hub.nl</em> en <em>https://jouw_hub.nl/channel/janp</em>."; -$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie."; -$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Kies een kanaaltype en het door jouw gewenste privacy-niveau, zodat automatisch de beste permissies kunnen worden ingesteld. Dit kan later, indien gewenst, worden veranderd."; -$a->strings["Channel Type"] = "Kanaaltype"; -$a->strings["Read more about roles"] = "Lees meer over kanaaltypes"; -$a->strings["Invalid request identifier."] = "Ongeldige verzoek identificator (request identifier)"; -$a->strings["Discard"] = "Annuleren"; -$a->strings["Layout updated."] = "Lay-out bijgewerkt."; -$a->strings["Edit System Page Description"] = "Systeempagina's bewerken"; -$a->strings["Layout not found."] = "Lay-out niet gevonden."; -$a->strings["Module Name:"] = "Modulenaam:"; -$a->strings["Layout Help"] = "Lay-out-hulp"; -$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s"; -$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s niet meer"; -$a->strings["No valid account found."] = "Geen geldige account gevonden."; -$a->strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."; -$a->strings["Site Member (%s)"] = "Lid van hub (%s)"; -$a->strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"; -$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."; -$a->strings["Password Reset"] = "Wachtwoord vergeten?"; -$a->strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."; -$a->strings["Your new password is"] = "Jouw nieuwe wachtwoord is"; -$a->strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en"; -$a->strings["click here to login"] = "klik dan hier om in te loggen"; -$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."; -$a->strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd"; -$a->strings["Forgot your Password?"] = "Wachtwoord vergeten?"; -$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."; -$a->strings["Email Address"] = "E-mailadres"; -$a->strings["Reset"] = "Opnieuw instellen"; -$a->strings["\$Projectname"] = "\$Projectname"; -$a->strings["Welcome to %s"] = "Welkom op %s"; -$a->strings["\$Projectname channel"] = "\$Projectname-kanaal"; -$a->strings["Calendar entries imported."] = "Agenda-items geïmporteerd."; -$a->strings["No calendar entries found."] = "Geen agenda-items gevonden."; -$a->strings["Event can not end before it has started."] = "Gebeurtenis kan niet eindigen voordat het is begonnen"; -$a->strings["Unable to generate preview."] = "Niet in staat om voorvertoning te genereren"; -$a->strings["Event title and start time are required."] = "Titel en begintijd van gebeurtenis zijn vereist."; -$a->strings["Event not found."] = "Gebeurtenis niet gevonden"; -$a->strings["l, F j"] = "l j F"; -$a->strings["Edit event"] = "Gebeurtenis bewerken"; -$a->strings["Delete event"] = "Gebeurtenis verwijderen"; -$a->strings["calendar"] = "agenda"; -$a->strings["New Event"] = "Nieuwe gebeurtenis"; -$a->strings["Today"] = "Vandaag"; -$a->strings["Event removed"] = "Gebeurtenis verwijderd"; -$a->strings["Failed to remove event"] = "Verwijderen gebeurtenis mislukt"; -$a->strings["Event details"] = "Details van gebeurtenis"; -$a->strings["Starting date and Title are required."] = "Begintijd en titel zijn vereist."; -$a->strings["Categories (comma-separated list)"] = "Categorieën (door komma's gescheiden lijst)"; -$a->strings["Event Starts:"] = "Begin gebeurtenis:"; -$a->strings["Finish date/time is not known or not relevant"] = "Einddatum/-tijd is niet bekend of niet relevant"; -$a->strings["Event Finishes:"] = "Einde gebeurtenis:"; -$a->strings["Adjust for viewer timezone"] = "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt"; -$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen."; -$a->strings["Title:"] = "Titel:"; -$a->strings["Share this event"] = "Deel deze gebeurtenis"; -$a->strings["%s element installed"] = "%s onderdeel geïnstalleerd"; -$a->strings["%s element installation failed"] = "Installatie %s-element mislukt"; -$a->strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s"; -$a->strings["Profile Match"] = "Profielovereenkomst"; -$a->strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."; -$a->strings["is interested in:"] = "is geïnteresseerd in:"; -$a->strings["No matches"] = "Geen overeenkomsten"; -$a->strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. "; -$a->strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden."; -$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven."; -$a->strings["Image upload failed."] = "Uploaden afbeelding mislukt"; -$a->strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken."; -$a->strings["female"] = "vrouw"; -$a->strings["%1\$s updated her %2\$s"] = "%1\$s heeft haar %2\$s bijgewerkt"; -$a->strings["male"] = "man"; -$a->strings["%1\$s updated his %2\$s"] = "%1\$s heeft zijn %2\$s bijgewerkt"; -$a->strings["%1\$s updated their %2\$s"] = "%1\$s hebben hun %2\$s bijgewerkt"; -$a->strings["profile photo"] = "profielfoto"; -$a->strings["Photo not available."] = "Foto niet beschikbaar."; -$a->strings["Upload File:"] = "Bestand uploaden:"; -$a->strings["Select a profile:"] = "Kies een profiel:"; -$a->strings["Upload Profile Photo"] = "Profielfoto uploaden"; -$a->strings["or"] = "of"; -$a->strings["skip this step"] = "sla deze stap over"; -$a->strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums"; -$a->strings["Crop Image"] = "Afbeelding bijsnijden"; -$a->strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven."; -$a->strings["Done Editing"] = "Klaar met bewerken"; -$a->strings["Channel added."] = "Kanaal toegevoegd."; -$a->strings["Tag removed"] = "Tag verwijderd"; -$a->strings["Remove Item Tag"] = "Verwijder item-tag"; -$a->strings["Select a tag to remove: "] = "Kies een tag om te verwijderen"; -$a->strings["No ratings"] = "Geen beoordelingen"; -$a->strings["Ratings"] = "Waarderingen"; -$a->strings["Rating: "] = "Waardering: "; -$a->strings["Website: "] = "Website: "; -$a->strings["Description: "] = "Omschrijving: "; -$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. "; -$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd"; -$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."; -$a->strings["Duplicate post suppressed."] = "Dubbel bericht tegengehouden."; -$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen."; -$a->strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen."; -$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt."; -$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt."; -$a->strings["Page Title"] = "Paginatitel"; -$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze \$Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals."; -$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden."; -$a->strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen."; -$a->strings["Registration successful. Please check your email for validation instructions."] = "Registratie geslaagd. Controleer je e-mail voor instructies."; -$a->strings["Your registration is pending approval by the site owner."] = "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze \$Projectname-hub."; -$a->strings["Your registration can not be processed."] = "Jouw registratie kan niet verwerkt worden."; -$a->strings["Registration on this site/hub is by approval only."] = "Registraties op deze \$Projectname-hub moeten eerst worden goedgekeurd."; -$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registreer op een andere \$Projectname-hub</a>"; -$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze \$Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals."; -$a->strings["Terms of Service"] = "Gebruiksvoorwaarden"; -$a->strings["I accept the %s for this website"] = "Ik accepteer de %s van deze \$Projectname-hub"; -$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ik accepteer de %s van deze \$Projectname-hub"; -$a->strings["Membership on this site is by invitation only."] = "Registreren op deze \$Projectname-hub kan alleen op uitnodiging."; -$a->strings["Please enter your invitation code"] = "Vul jouw uitnodigingscode in"; -$a->strings["Your email address"] = "Jouw e-mailadres"; -$a->strings["Choose a password"] = "Geef een wachtwoord op"; -$a->strings["Please re-enter your password"] = "Geef het wachtwoord opnieuw op"; -$a->strings["Block Name"] = "Bloknaam"; -$a->strings["Block Title"] = "Bloktitel"; -$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een account is niet toegestaan binnen 48 uur nadat het wachtwoord is veranderd."; -$a->strings["Remove This Account"] = "Verwijder dit account"; -$a->strings["This account and all its channels will be completely removed from the network. "] = "Dit account en al zijn kanalen worden volledig uit het \$Projectname-netwerk verwijderd."; -$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het \$Projectname-netwerk verwijderen"; -$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het \$Projectname-netwerk verwijderd"; -$a->strings["Remove Account"] = "Account verwijderen"; -$a->strings["No service class restrictions found."] = "Geen abonnementsbeperkingen gevonden."; -$a->strings["Item not available."] = "Item is niet aanwezig."; -$a->strings["Public Sites"] = "Openbare hubs"; -$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Op de hier weergegeven hubs kan iedereen zich voor het \$Projectname-netwerk aanmelden. Alle hubs in het \$Projectname-netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen betaalde abonnementen voor uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven."; -$a->strings["Rate this hub"] = "Beoordeel deze hub"; -$a->strings["Site URL"] = "URL hub"; -$a->strings["Access Type"] = "Toegangstype"; -$a->strings["Registration Policy"] = "Registratiebeleid"; -$a->strings["Location"] = "Locatie"; -$a->strings["Project"] = "Project"; -$a->strings["View hub ratings"] = "Bekijk hubbeoordelingen"; -$a->strings["Rate"] = "Beoordeel"; -$a->strings["View ratings"] = "Bekijk beoordelingen"; -$a->strings["Failed to create source. No channel selected."] = "Aanmaken bron mislukt. Geen kanaal geselecteerd."; -$a->strings["Source created."] = "Bron aangemaakt."; -$a->strings["Source updated."] = "Bron aangemaakt."; -$a->strings["*"] = "*"; -$a->strings["Manage remote sources of content for your channel."] = "Beheer externe bronnen met inhoud voor jouw kanaal"; -$a->strings["New Source"] = "Nieuwe bron"; -$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen."; -$a->strings["Only import content with these words (one per line)"] = "Importeer alleen inhoud met deze woorden (één per regel)"; -$a->strings["Leave blank to import all public content"] = "Laat leeg om alle openbare inhoud te importeren"; -$a->strings["Source not found."] = "Bron niet gevonden"; -$a->strings["Edit Source"] = "Bron bewerken"; -$a->strings["Delete Source"] = "Bron verwijderen"; -$a->strings["Source removed"] = "Bron verwijderd"; -$a->strings["Unable to remove source."] = "Verwijderen bron mislukt."; -$a->strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar."; -$a->strings["Visible to:"] = "Zichtbaar voor:"; -$a->strings["network"] = "netwerk"; -$a->strings["RSS"] = "RSS"; -$a->strings["Please login."] = "Inloggen."; -$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "We hebben een probleem ontdekt tijdens het inloggen met de OpenID die je hebt verstrekt. Controleer de ID op typefouten."; -$a->strings["The error message was:"] = "Het foutbericht was:"; -$a->strings["Authentication failed."] = "Authenticatie mislukt."; -$a->strings["Remote Authentication"] = "Authenticatie op afstand"; -$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Vul jouw kanaaladres in (bijv. channel@example.com)"; -$a->strings["Authenticate"] = "Authenticeren"; -$a->strings["Insufficient permissions. Request redirected to profile page."] = "Onvoldoende permissies. Doorgestuurd naar profielpagina."; -$a->strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe."; -$a->strings["Nothing to import."] = "Niets gevonden om te importeren"; -$a->strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden"; -$a->strings["Imported file is empty."] = "Geïmporteerde bestand is leeg"; -$a->strings["Warning: Database versions differ by %1\$d updates."] = "Waarschuwing: database-versies lopen %1\$d updates achter."; -$a->strings["No channel. Import failed."] = "Geen kanaal. Importeren mislukt."; -$a->strings["You must be logged in to use this feature."] = "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."; -$a->strings["Import Channel"] = "Kanaal importeren"; -$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken."; -$a->strings["File to Upload"] = "Bestand om te uploaden"; -$a->strings["Or provide the old server/hub details"] = "Of vul de gegevens van de oude hub in"; -$a->strings["Your old identity address (xyz@example.com)"] = "Jouw oude kanaaladres (xyz@example.com)"; -$a->strings["Your old login email address"] = "Het e-mailadres van je oude account"; -$a->strings["Your old login password"] = "Wachtwoord van jouw oude account"; -$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."; -$a->strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in"; -$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)"; -$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid."; -$a->strings["Invalid message"] = "Ongeldig bericht"; -$a->strings["no results"] = "geen resultaten"; -$a->strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s"; -$a->strings["channel sync processed"] = "kanaalsync verwerkt"; -$a->strings["queued"] = "in wachtrij"; -$a->strings["posted"] = "verstuurd"; -$a->strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden"; -$a->strings["updated"] = "geüpdatet"; -$a->strings["update ignored"] = "update genegeerd"; -$a->strings["permission denied"] = "toegang geweigerd"; -$a->strings["recipient not found"] = "ontvanger niet gevonden"; -$a->strings["mail recalled"] = "Privébericht ingetrokken"; -$a->strings["duplicate mail received"] = "dubbel privébericht ontvangen"; -$a->strings["mail delivered"] = "privébericht afgeleverd"; -$a->strings["Thing updated"] = "Ding bijgewerkt"; -$a->strings["Object store: failed"] = "Opslaan van ding mislukt"; -$a->strings["Thing added"] = "Ding toegevoegd"; -$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; -$a->strings["Show Thing"] = "Ding weergeven"; -$a->strings["item not found."] = "Item niet gevonden"; -$a->strings["Edit Thing"] = "Ding bewerken"; -$a->strings["Select a profile"] = "Kies een profiel"; -$a->strings["Post an activity"] = "Plaats een bericht"; -$a->strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien."; -$a->strings["Name of thing e.g. something"] = "Naam van ding"; -$a->strings["URL of thing (optional)"] = "URL van ding (optioneel)"; -$a->strings["URL for photo of thing (optional)"] = "URL van foto van ding (optioneel)"; -$a->strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen"; -$a->strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden."; -$a->strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres."; -$a->strings["Please join us on \$Projectname"] = "Uitnodiging voor \$Projectname"; -$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder."; -$a->strings["%s : Message delivery failed."] = "%s: Aflevering bericht mislukt."; -$a->strings["%d message sent."] = array( - 0 => "%d bericht verzonden.", - 1 => "%d berichten verzonden.", -); -$a->strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar"; -$a->strings["Send invitations"] = "Uitnodigingen verzenden"; -$a->strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:"; -$a->strings["Your message:"] = "Jouw bericht:"; -$a->strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op https://redmatrix.me."; -$a->strings["You will need to supply this invitation code: "] = "Je moet deze uitnodigingscode opgeven:"; -$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):"; -$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:"; -$a->strings["or visit "] = "of bezoek "; -$a->strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]"; -$a->strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken."; -$a->strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren."; -$a->strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren"; -$a->strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."; -$a->strings["Messages"] = "Berichten"; -$a->strings["Message recalled."] = "Bericht ingetrokken."; -$a->strings["Conversation removed."] = "Conversatie verwijderd"; -$a->strings["Requested channel is not in this network"] = "Opgevraagd kanaal is niet in dit netwerk beschikbaar"; -$a->strings["Send Private Message"] = "Privébericht versturen"; -$a->strings["To:"] = "Aan:"; -$a->strings["Subject:"] = "Onderwerp:"; -$a->strings["Send"] = "Verzenden"; -$a->strings["Delete message"] = "Bericht verwijderen"; -$a->strings["Delivery report"] = "Afleveringsrapport"; -$a->strings["Recall message"] = "Bericht intrekken"; -$a->strings["Message has been recalled."] = "Bericht is ingetrokken."; -$a->strings["Delete Conversation"] = "Verwijder conversatie"; -$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."; -$a->strings["Send Reply"] = "Antwoord versturen"; -$a->strings["Your message for %s (%s):"] = "Jouw privébericht aan %s (%s):"; -$a->strings["[Embedded content - reload page to view]"] = "[Ingesloten inhoud - ververs pagina om te bekijken] "; -$a->strings["Source of Item"] = "Bron van item"; +$a->strings["Delete layout?"] = "Lay-out verwijderen?"; +$a->strings["Layout Description (Optional)"] = "Lay-out-omschrijving (optioneel)"; +$a->strings["Layout Name"] = "Naam lay-out"; +$a->strings["Edit Layout"] = "Lay-out bewerken"; $a->strings["Name is required"] = "Naam is vereist"; $a->strings["Key and Secret are required"] = "Key en secret zijn vereist"; $a->strings["Passwords do not match. Password unchanged."] = "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."; @@ -1860,6 +1870,7 @@ $a->strings["0 or blank prevents expiration"] = "0 of leeg voorkomt het verlopen $a->strings["Maximum Friend Requests/Day:"] = "Maximum aantal connectieverzoeken per dag:"; $a->strings["May reduce spam activity"] = "Kan eventuele spam verminderen"; $a->strings["Default Post Permissions"] = "Standaard permissies voor nieuwe berichten"; +$a->strings["(click to open/close)"] = "(klik om te openen/sluiten)"; $a->strings["Channel permissions category:"] = "Kanaaltype en -permissies:"; $a->strings["Maximum private messages per day from unknown people:"] = "Maximum aantal privé-berichten per dag van onbekende personen:"; $a->strings["Useful to reduce spamming"] = "Kan eventuele spam verminderen"; @@ -1883,7 +1894,7 @@ $a->strings["Unseen channel activity"] = "Niet bekeken kanaal-activiteit"; $a->strings["Unseen private messages"] = "Niet bekeken privéberichten"; $a->strings["Recommended"] = "Aanbevolen"; $a->strings["Upcoming events"] = "Aankomende gebeurtenissen"; -$a->strings["Events today"] = "Gebeurtissen van vandaag"; +$a->strings["Events today"] = "Gebeurtenissen van vandaag"; $a->strings["Upcoming birthdays"] = "Aankomende verjaardagen"; $a->strings["Not available in all themes"] = "Niet in alle thema's beschikbaar"; $a->strings["System (personal) notifications"] = "(Persoonlijke) systeemnotificaties"; @@ -1904,21 +1915,98 @@ $a->strings["Default file upload folder"] = "Standaard bestandsmap voor uploads" $a->strings["Personal menu to display in your channel pages"] = "Persoonlijk menu om op je kanaalpagina's weer te geven"; $a->strings["Remove this channel."] = "Verwijder dit kanaal."; $a->strings["Firefox Share \$Projectname provider"] = "\$Projectname-service voor Firefox Share"; +$a->strings["Start calendar week on monday"] = "Begin in de agenda de week op maandag"; +$a->strings["Page Title"] = "Paginatitel"; +$a->strings["App installed."] = "App geïnstalleerd"; +$a->strings["Malformed app."] = "Misvormde app."; +$a->strings["Embed code"] = "Insluitcode"; +$a->strings["Edit App"] = "App bewerken"; +$a->strings["Create App"] = "App maken"; +$a->strings["Name of app"] = "Naam van app"; +$a->strings["Location (URL) of app"] = "Locatie (URL) van app"; +$a->strings["Photo icon URL"] = "URL van pictogram"; +$a->strings["80 x 80 pixels - optional"] = "80 x 80 pixels (optioneel)"; +$a->strings["Version ID"] = "Versie-ID"; +$a->strings["Price of app"] = "Prijs van de app"; +$a->strings["Location (URL) to purchase app"] = "Locatie (URL) om de app aan te schaffen"; +$a->strings["- select -"] = "- kies map -"; +$a->strings["Comanche page description language help"] = "Hulp met de paginabeschrijvingstaal Comanche"; +$a->strings["Layout Description"] = "Lay-out-omschrijving"; +$a->strings["Download PDL file"] = "Download PDL-bestand"; +$a->strings["Location not found."] = "Locatie niet gevonden."; +$a->strings["Location lookup failed."] = "Opzoeken locatie mislukt"; +$a->strings["Please select another location to become primary before removing the primary location."] = "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen."; +$a->strings["Syncing locations"] = "Locaties synchronizeren"; +$a->strings["No locations found."] = "Geen locaties gevonden."; +$a->strings["Manage Channel Locations"] = "Kanaallocaties beheren"; +$a->strings["Location (address)"] = "Locatie (adres)"; +$a->strings["Primary Location"] = "Primaire locatie"; +$a->strings["Drop location"] = "Locatie verwijderen"; +$a->strings["Sync now"] = "Nu synchroniseren"; +$a->strings["Please wait several minutes between consecutive operations."] = "Wacht enkele minuten tussen opeenvolgende handelingen."; +$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen."; +$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is."; +$a->strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden."; +$a->strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres."; +$a->strings["Please join us on \$Projectname"] = "Uitnodiging voor \$Projectname"; +$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder."; +$a->strings["%s : Message delivery failed."] = "%s: Aflevering bericht mislukt."; +$a->strings["%d message sent."] = array( + 0 => "%d bericht verzonden.", + 1 => "%d berichten verzonden.", +); +$a->strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar"; +$a->strings["Send invitations"] = "Uitnodigingen verzenden"; +$a->strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:"; +$a->strings["Your message:"] = "Jouw bericht:"; +$a->strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op https://redmatrix.me."; +$a->strings["You will need to supply this invitation code: "] = "Je moet deze uitnodigingscode opgeven: "; +$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):"; +$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:"; +$a->strings["or visit "] = "of bezoek "; +$a->strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]"; +$a->strings["Please login."] = "Inloggen."; $a->strings["Xchan Lookup"] = "Xchan opzoeken"; $a->strings["Lookup xchan beginning with (or webbie): "] = "Zoek een xchan (of webbie) die begint met:"; -$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt."; -$a->strings["Create a new channel"] = "Nieuw kanaal aanmaken"; -$a->strings["Current Channel"] = "Huidig kanaal"; -$a->strings["Switch to one of your channels by selecting it."] = "Activeer een van jouw andere kanalen door er op te klikken."; -$a->strings["Default Channel"] = "Standaardkanaal"; -$a->strings["Make Default"] = "Als standaard instellen"; -$a->strings["%d new messages"] = "%d nieuwe berichten"; -$a->strings["%d new introductions"] = "%d nieuwe connectieverzoeken"; -$a->strings["Delegated Channels"] = "Uitbestede kanalen"; -$a->strings["Authorize application connection"] = "Geef toestemming voor applicatiekoppeling"; -$a->strings["Return to your app and insert this Securty Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:"; -$a->strings["Please login to continue."] = "Inloggen om verder te kunnen gaan."; -$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"; +$a->strings["Not found."] = "Niet gevonden."; +$a->strings["You must be logged in to see this page."] = "Je moet zijn ingelogd om deze pagina te kunnen bekijken."; +$a->strings["Insufficient permissions. Request redirected to profile page."] = "Onvoldoende permissies. Doorgestuurd naar profielpagina."; +$a->strings["Item not available."] = "Item is niet aanwezig."; +$a->strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar."; +$a->strings["Visible to:"] = "Zichtbaar voor:"; +$a->strings["Export Channel"] = "Kanaal exporteren"; +$a->strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exporteer de basisinformatie van jouw kanaal naar een bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal."; +$a->strings["Export Content"] = "Inhoud exporteren"; +$a->strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exporteer informatie en recente inhoud van jouw kanaal naar een JSON-back-up, wat kan worden gebruikt om jouw kanaal te herstellen of te importeren op een andere hub. Dit slaat al jouw connecties, permissies, profielgegevens en enkele maanden aan inhoud van jouw kanaal op. Dit bestand kan ZEER groot worden. Wees geduldig - het kan enkele minuten duren voordat de download begint."; +$a->strings["Export your posts from a given year."] = "Exporteer jouw berichten uit een bepaald jaar."; +$a->strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Je kan ook berichten en conversaties uit een bepaald jaar of van een bepaalde maand exporteren. Verander de datum in de adresbalk van jouw webbrowser om andere jaren en maanden te selecteren. Wanneer het exporteren mislukt (waarschijnlijk door een gebrek aan beschikbaar servergeheugen), probeer het dan nogmaals met een beperkter tijdvak."; +$a->strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld dit jaar te selecteren. "; +$a->strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld januari dit jaar te selecteren."; +$a->strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1\$s\">%2\$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen."; +$a->strings["Item is not editable"] = "Item is niet te bewerken"; +$a->strings["Delete item?"] = "Item verwijderen?"; +$a->strings["Edit post"] = "Bericht bewerken"; +$a->strings["Channel added."] = "Kanaal toegevoegd."; +$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "We hebben een probleem ontdekt tijdens het inloggen met de OpenID die je hebt verstrekt. Controleer de ID op typefouten."; +$a->strings["The error message was:"] = "Het foutbericht was:"; +$a->strings["Authentication failed."] = "Authenticatie mislukt."; +$a->strings["Remote Authentication"] = "Authenticatie op afstand"; +$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Vul jouw kanaaladres in (bijv. channel@example.com)"; +$a->strings["Authenticate"] = "Authenticeren"; +$a->strings["Room not found"] = "Chatkanaal niet gevonden"; +$a->strings["Leave Room"] = "Chatkanaal verlaten"; +$a->strings["Delete This Room"] = "Chatkanaal verwijderen"; +$a->strings["I am away right now"] = "Ik ben momenteel afwezig"; +$a->strings["I am online"] = "Ik ben online"; +$a->strings["Bookmark this room"] = "Chatkanaal aan bladwijzers toevoegen"; +$a->strings["New Chatroom"] = "Nieuw chatkanaal"; +$a->strings["Chatroom Name"] = "Naam chatkanaal"; +$a->strings["Expiration of chats (minutes)"] = "Aantal minuten voordat chatberichten worden verwijderd"; +$a->strings["%1\$s's Chatrooms"] = "Chatkanalen van %1\$s"; +$a->strings["Source of Item"] = "Bron van item"; +$a->strings["Share content from Firefox to \$Projectname"] = "Deel webpagina's vanuit Firefox met "; +$a->strings["Activate the Firefox \$Projectname provider"] = "Activeer de \$Projectname-service in Firefox"; +$a->strings["Hub not found."] = "Hub niet gevonden."; $a->strings["Blocked"] = "Geblokkeerd"; $a->strings["Ignored"] = "Genegeerd"; $a->strings["Hidden"] = "Verborgen"; @@ -1938,138 +2026,64 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]"; $a->strings["Edit connection"] = "Connectie bewerken"; $a->strings["Search your connections"] = "Doorzoek jouw connecties"; $a->strings["Finding: "] = "Zoeken naar: "; -$a->strings["Delete layout?"] = "Lay-out verwijderen?"; -$a->strings["Edit Layout"] = "Lay-out bewerken"; -$a->strings["Delete webpage?"] = "Webpagina verwijderen?"; -$a->strings["Page link title"] = "Titel van paginalink"; -$a->strings["Edit Webpage"] = "Webpagina bewerken"; -$a->strings["Collection created."] = "Collectie aangemaakt"; -$a->strings["Could not create collection."] = "Collectie kon niet aangemaakt worden"; -$a->strings["Collection updated."] = "Collectie bijgewerkt."; -$a->strings["Create a collection of channels."] = "Kanaalcollectie aanmaken"; -$a->strings["Collection Name: "] = "Naam collectie:"; -$a->strings["Members are visible to other channels"] = "Kanalen in deze collectie zijn zichtbaar voor andere kanalen"; -$a->strings["Collection removed."] = "Collectie verwijderd"; -$a->strings["Unable to remove collection."] = "Verwijderen collectie mislukt"; -$a->strings["Collection Editor"] = "Collectiebewerker"; -$a->strings["Members"] = "Kanalen"; -$a->strings["All Connected Channels"] = "Alle kanaalconnecties"; -$a->strings["Click on a channel to add or remove."] = "Klik op een kanaal om deze toe te voegen of te verwijderen."; -$a->strings["Continue"] = "Ga verder"; -$a->strings["Premium Channel Setup"] = "Instellen premiumkanaal "; -$a->strings["Enable premium channel connection restrictions"] = "Restricties voor connecties van premiumkanaal toestaan"; -$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz."; -$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:"; -$a->strings["Potential connections will then see the following text before proceeding:"] = "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:"; -$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina."; -$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) "; -$a->strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal"; -$a->strings["No connections."] = "Geen connecties."; -$a->strings["Visit %s's profile [%s]"] = "Bezoek het profiel van %s [%s]"; -$a->strings["Location not found."] = "Locatie niet gevonden."; -$a->strings["Location lookup failed."] = "Opzoeken locatie mislukt"; -$a->strings["Please select another location to become primary before removing the primary location."] = "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen."; -$a->strings["Syncing locations"] = "Locaties synchronizeren"; -$a->strings["No locations found."] = "Geen locaties gevonden."; -$a->strings["Manage Channel Locations"] = "Kanaallocaties beheren"; -$a->strings["Location (address)"] = "Locatie (adres)"; -$a->strings["Primary Location"] = "Primaire locatie"; -$a->strings["Drop location"] = "Locatie verwijderen"; -$a->strings["Sync now"] = "Nu synchroniseren"; -$a->strings["Please wait several minutes between consecutive operations."] = "Wacht enkele minuten tussen opeenvolgende handelingen."; -$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen."; -$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is."; +$a->strings["Documentation Search"] = "Zoek documentatie"; +$a->strings["Help:"] = "Hulp:"; +$a->strings["Not Found"] = "Niet gevonden"; +$a->strings["\$Projectname Documentation"] = "\$Projectname-documentatie"; +$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt."; +$a->strings["Create a new channel"] = "Nieuw kanaal aanmaken"; +$a->strings["Current Channel"] = "Huidig kanaal"; +$a->strings["Switch to one of your channels by selecting it."] = "Activeer een van jouw andere kanalen door er op te klikken."; +$a->strings["Default Channel"] = "Standaardkanaal"; +$a->strings["Make Default"] = "Als standaard instellen"; +$a->strings["%d new messages"] = "%d nieuwe berichten"; +$a->strings["%d new introductions"] = "%d nieuwe connectieverzoeken"; +$a->strings["Delegated Channels"] = "Uitbestede kanalen"; +$a->strings["Unable to update menu."] = "Niet in staat om menu aan te passen"; +$a->strings["Unable to create menu."] = "Niet in staat om menu aan te maken."; +$a->strings["Menu Name"] = "Menunaam"; +$a->strings["Unique name (not visible on webpage) - required"] = "Unieke naam vereist (niet zichtbaar op webpagina)"; +$a->strings["Menu Title"] = "Menutitel"; +$a->strings["Visible on webpage - leave empty for no title"] = "Zichtbaar op webpagina (leeg laten voor geen titel)"; +$a->strings["Allow Bookmarks"] = "Bladwijzers toestaan"; +$a->strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan"; +$a->strings["Submit and proceed"] = "Opslaan en doorgaan"; +$a->strings["Drop"] = "Verwijderen"; +$a->strings["Bookmarks allowed"] = "Bladwijzers toegestaan"; +$a->strings["Delete this menu"] = "Menu verwijderen"; +$a->strings["Edit menu contents"] = "Bewerk de inhoud van het menu"; +$a->strings["Edit this menu"] = "Dit menu bewerken"; +$a->strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden."; +$a->strings["Menu not found."] = "Menu niet gevonden."; +$a->strings["Edit Menu"] = "Menu bewerken"; +$a->strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder"; +$a->strings["Menu name"] = "Naam van menu"; +$a->strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen zichtbaar voor jou."; +$a->strings["Menu title"] = "Titel van menu"; +$a->strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien."; +$a->strings["Allow bookmarks"] = "Bladwijzers toestaan"; +$a->strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken."; +$a->strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren."; +$a->strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren"; +$a->strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."; +$a->strings["Messages"] = "Berichten"; +$a->strings["Message recalled."] = "Bericht ingetrokken."; +$a->strings["Conversation removed."] = "Conversatie verwijderd"; +$a->strings["Requested channel is not in this network"] = "Opgevraagd kanaal is niet in dit netwerk beschikbaar"; +$a->strings["Send Private Message"] = "Privébericht versturen"; +$a->strings["To:"] = "Aan:"; +$a->strings["Subject:"] = "Onderwerp:"; +$a->strings["Send"] = "Verzenden"; +$a->strings["Delete message"] = "Bericht verwijderen"; +$a->strings["Delivery report"] = "Afleveringsrapport"; +$a->strings["Recall message"] = "Bericht intrekken"; +$a->strings["Message has been recalled."] = "Bericht is ingetrokken."; +$a->strings["Delete Conversation"] = "Verwijder conversatie"; +$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."; +$a->strings["Send Reply"] = "Antwoord versturen"; +$a->strings["Your message for %s (%s):"] = "Jouw privébericht aan %s (%s):"; $a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen."; -$a->strings["Share content from Firefox to \$Projectname"] = "Deel webpagina's vanuit Firefox met "; -$a->strings["Activate the Firefox \$Projectname provider"] = "Activeer de \$Projectname-service in Firefox"; -$a->strings["\$Projectname Server - Setup"] = "\$Projectname Server - Setup"; -$a->strings["Could not connect to database."] = "Could not connect to database."; -$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Could not connect to specified hub URL. Possible SSL certificate or DNS issue."; -$a->strings["Could not create table."] = "Could not create table."; -$a->strings["Your site database has been installed."] = "Your hub database has been installed."; -$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "You may need to import the file \"install/schema_xxx.sql\" manually using a database client."; -$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Please see the file \"install/INSTALL.txt\"."; -$a->strings["System check"] = "System check"; -$a->strings["Check again"] = "Check again"; -$a->strings["Database connection"] = "Database connection"; -$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "In order to install \$Projectname we need to know how to connect to your database."; -$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Please contact your hosting provider or site administrator if you have questions about these settings."; -$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "The database you specify below should already exist. If it does not, please create it before continuing."; -$a->strings["Database Server Name"] = "Database Server Name"; -$a->strings["Default is 127.0.0.1"] = "Default is 127.0.0.1"; -$a->strings["Database Port"] = "Database Port"; -$a->strings["Communication port number - use 0 for default"] = "Communication port number - use 0 for default"; -$a->strings["Database Login Name"] = "Database Login Name"; -$a->strings["Database Login Password"] = "Database Login Password"; -$a->strings["Database Name"] = "Database Name"; -$a->strings["Database Type"] = "Database Type"; -$a->strings["Site administrator email address"] = "Hub administrator email address"; -$a->strings["Your account email address must match this in order to use the web admin panel."] = "Your account email address must match this in order to use the web admin panel."; -$a->strings["Website URL"] = "Hub URL"; -$a->strings["Please use SSL (https) URL if available."] = "Please use SSL (https) URL if available."; -$a->strings["Please select a default timezone for your website"] = "Please select a default timezone for your hub"; -$a->strings["Site settings"] = "Hub settings"; -$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Could not find a command line version of PHP in the web server PATH."; -$a->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."] = "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."; -$a->strings["PHP executable path"] = "PHP executable path"; -$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Enter full path to php executable. You can leave this blank to continue the installation."; -$a->strings["Command line PHP"] = "Command line PHP"; -$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."; -$a->strings["This is required for message delivery to work."] = "This is required for message delivery to work."; -$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv"; -$a->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."] = "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."; -$a->strings["You can adjust these settings in the servers php.ini."] = "You can adjust these settings in the servers php.ini."; -$a->strings["PHP upload limits"] = "PHP upload limits"; -$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"; -$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."; -$a->strings["Generate encryption keys"] = "Generate encryption keys"; -$a->strings["libCurl PHP module"] = "libCurl PHP module"; -$a->strings["GD graphics PHP module"] = "GD graphics PHP module"; -$a->strings["OpenSSL PHP module"] = "OpenSSL PHP module"; -$a->strings["mysqli or postgres PHP module"] = "mysqli or postgres PHP module"; -$a->strings["mb_string PHP module"] = "mb_string PHP module"; -$a->strings["mcrypt PHP module"] = "mcrypt PHP module"; -$a->strings["xml PHP module"] = "xml PHP module"; -$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite module"; -$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: Apache webserver mod-rewrite module is required but not installed."; -$a->strings["proc_open"] = "proc_open"; -$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: proc_open is required but is either not installed or has been disabled in php.ini"; -$a->strings["Error: libCURL PHP module required but not installed."] = "Error: libCURL PHP module required but not installed."; -$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: GD graphics PHP module with JPEG support required but not installed."; -$a->strings["Error: openssl PHP module required but not installed."] = "Error: openssl PHP module required but not installed."; -$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: mysqli or postgres PHP module required but neither are installed."; -$a->strings["Error: mb_string PHP module required but not installed."] = "Error: mb_string PHP module required but not installed."; -$a->strings["Error: mcrypt PHP module required but not installed."] = "Error: mcrypt PHP module required but not installed."; -$a->strings["Error: xml PHP module required for DAV but not installed."] = "Error: xml PHP module required for DAV but not installed."; -$a->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."] = "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."; -$a->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."] = "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."; -$a->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."] = "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."; -$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."; -$a->strings[".htconfig.php is writable"] = ".htconfig.php is writable"; -$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."; -$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."; -$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."; -$a->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: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."; -$a->strings["%s is writable"] = "%s is writable"; -$a->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"] = "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"; -$a->strings["store is writable"] = "store is writable"; -$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL certificate cannot be validated. Fix certificate or disable https access to this hub."; -$a->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!"] = "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"; -$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "This restriction is incorporated because public posts from you may for example contain references to images on your own hub."; -$a->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."] = "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues."; -$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement."; -$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Providers are available that issue free certificates which are browser-valid."; -$a->strings["SSL certificate validation"] = "SSL certificate validation"; -$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Url rewrite in .htaccess is not working. Check your server configuration.Test: "; -$a->strings["Url rewrite is working"] = "Url rewrite is working"; -$a->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."] = "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."; -$a->strings["Errors encountered creating database tables."] = "Errors encountered creating database tables."; -$a->strings["<h1>What next</h1>"] = "<h1>Wat nu</h1>"; -$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."; -$a->strings["Files: shared with me"] = "Bestanden: met mij gedeeld"; -$a->strings["NEW"] = "NIEUW"; -$a->strings["Remove all files"] = "Verwijder alle bestanden"; -$a->strings["Remove this file"] = "Verwijder dit bestand"; +$a->strings["No service class restrictions found."] = "Geen abonnementsbeperkingen gevonden."; $a->strings["Version %s"] = "Versie %s"; $a->strings["Installed plugins/addons/apps:"] = "Ingeschakelde plug-ins/add-ons/apps:"; $a->strings["No installed plugins/addons/apps"] = "Geen ingeschakelde plug-ins/add-ons/apps"; @@ -2084,80 +2098,76 @@ $a->strings["\$projectname issues"] = "\$projectname-issues"; $a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com"; $a->strings["Site Administrators"] = "Hubbeheerders: "; $a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer."; -$a->strings["Profile not found."] = "Profiel niet gevonden."; -$a->strings["Profile deleted."] = "Profiel verwijderd."; -$a->strings["Profile-"] = "Profiel-"; -$a->strings["New profile created."] = "Nieuw profiel aangemaakt."; -$a->strings["Profile unavailable to clone."] = "Profiel niet beschikbaar om te klonen"; -$a->strings["Profile unavailable to export."] = "Geen profiel beschikbaar om te exporteren"; -$a->strings["Profile Name is required."] = "Profielnaam is vereist"; -$a->strings["Marital Status"] = "Huwelijke status"; -$a->strings["Romantic Partner"] = "Romantische partner"; -$a->strings["Likes"] = "Houdt van"; -$a->strings["Dislikes"] = "Houdt niet van"; -$a->strings["Work/Employment"] = "Werk/arbeid"; -$a->strings["Religion"] = "Religie"; -$a->strings["Political Views"] = "Politieke overtuigingen"; -$a->strings["Sexual Preference"] = "Seksuele voorkeur"; -$a->strings["Homepage"] = "Homepage"; -$a->strings["Interests"] = "Interesses"; -$a->strings["Profile updated."] = "Profiel bijgewerkt"; -$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Laat de lijst met connecties niet aan bezoekers van dit profiel zien."; -$a->strings["Edit Profile Details"] = "Profiel bewerken"; -$a->strings["View this profile"] = "Profiel weergeven"; -$a->strings["Change Profile Photo"] = "Profielfoto wijzigen"; -$a->strings["Create a new profile using these settings"] = "Een nieuw profiel aanmaken met dit profiel als basis"; -$a->strings["Clone this profile"] = "Dit profiel klonen"; -$a->strings["Delete this profile"] = "Dit profiel verwijderen"; -$a->strings["Import profile from file"] = "Profiel vanuit bestand importeren"; -$a->strings["Export profile to file"] = "Profiel naar bestand exporteren"; -$a->strings["Profile Name:"] = "Profielnaam:"; -$a->strings["Your Full Name:"] = "Jouw volledige naam:"; -$a->strings["Title/Description:"] = "Titel/omschrijving:"; -$a->strings["Your Gender:"] = "Jouw geslacht"; -$a->strings["Birthday :"] = "Verjaardag: "; -$a->strings["Street Address:"] = "Straat en huisnummer:"; -$a->strings["Locality/City:"] = "Woonplaats:"; -$a->strings["Postal/Zip Code:"] = "Postcode:"; -$a->strings["Country:"] = "Land:"; -$a->strings["Region/State:"] = "Provincie/gewest/deelstaat:"; -$a->strings["<span class=\"heart\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</span> Huwelijkse staat:"; -$a->strings["Who: (if applicable)"] = "Wie (wanneer toepasselijk):"; -$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Voorbeelden: petra123, Petra Jansen, petra@voorbeeld.nl"; -$a->strings["Since [date]:"] = "Sinds [datum]:"; -$a->strings["Homepage URL:"] = "Adres homepage:"; -$a->strings["Religious Views:"] = "Religieuze overtuigingen"; -$a->strings["Keywords:"] = "Trefwoorden"; -$a->strings["Example: fishing photography software"] = "Voorbeeld: muziek, fotografie, software"; -$a->strings["Used in directory listings"] = "Wordt in de kanalengids gebruikt"; -$a->strings["Tell us about yourself..."] = "Vertel ons iets over jezelf..."; -$a->strings["Hobbies/Interests"] = "Hobby's/interesses"; -$a->strings["Contact information and Social Networks"] = "Contactinformatie en sociale netwerken"; -$a->strings["My other channels"] = "Mijn andere kanalen"; -$a->strings["Musical interests"] = "Muzikale interesses"; -$a->strings["Books, literature"] = "Boeken/literatuur"; -$a->strings["Television"] = "Televisie"; -$a->strings["Film/dance/culture/entertainment"] = "Film/dans/cultuur/entertainment"; -$a->strings["Love/romance"] = "Liefde/romantiek"; -$a->strings["Work/employment"] = "Werk/arbeid"; -$a->strings["School/education"] = "School/onderwijs"; -$a->strings["This is your default profile."] = "Dit is jouw standaardprofiel"; -$a->strings["Age: "] = "Leeftijd:"; -$a->strings["Edit/Manage Profiles"] = "Profielen bewerken/beheren"; -$a->strings["Add profile things"] = "Dingen aan je profiel toevoegen"; -$a->strings["Include desirable objects in your profile"] = "Voeg door jou gewenste dingen aan jouw profiel toe"; +$a->strings["Calendar entries imported."] = "Agenda-items geïmporteerd."; +$a->strings["No calendar entries found."] = "Geen agenda-items gevonden."; +$a->strings["Event can not end before it has started."] = "Gebeurtenis kan niet eindigen voordat het is begonnen"; +$a->strings["Unable to generate preview."] = "Niet in staat om voorvertoning te genereren"; +$a->strings["Event title and start time are required."] = "Titel en begintijd van gebeurtenis zijn vereist."; +$a->strings["Event not found."] = "Gebeurtenis niet gevonden"; +$a->strings["Edit event titel"] = "Titel bewerken"; +$a->strings["Event titel"] = "Titel"; +$a->strings["Categories (comma-separated list)"] = "Categorieën (door komma's gescheiden lijst)"; +$a->strings["Edit Category"] = "Categorie"; +$a->strings["Category"] = "Categorie"; +$a->strings["Edit start date and time"] = "Begindatum en -tijd bewerken"; +$a->strings["Start date and time"] = "Begindatum en -tijd"; +$a->strings["Finish date and time are not known or not relevant"] = "Einddatum en -tijd zijn niet bekend of niet van toepassing"; +$a->strings["Edit finish date and time"] = "Einddatum en -tijd bewerken"; +$a->strings["Finish date and time"] = "Einddatum en -tijd"; +$a->strings["Adjust for viewer timezone"] = "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt"; +$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen."; +$a->strings["Edit Description"] = "Omschrijving bewerken"; +$a->strings["Edit Location"] = "Locatie bewerken"; +$a->strings["Share this event"] = "Deel deze gebeurtenis"; +$a->strings["Advanced Options"] = "Geavanceerde opties"; +$a->strings["l, F j"] = "l j F"; +$a->strings["Edit event"] = "Gebeurtenis bewerken"; +$a->strings["Delete event"] = "Gebeurtenis verwijderen"; +$a->strings["calendar"] = "agenda"; +$a->strings["Edit Event"] = "Gebeurtenis bewerken"; +$a->strings["Create Event"] = "Gebeurtenis aanmaken"; +$a->strings["Today"] = "Vandaag"; +$a->strings["Event removed"] = "Gebeurtenis verwijderd"; +$a->strings["Failed to remove event"] = "Verwijderen gebeurtenis mislukt"; $a->strings["Invalid profile identifier."] = "Ongeldige profiel-identificator"; $a->strings["Profile Visibility Editor"] = "Zichtbaarheid profiel "; $a->strings["Click on a contact to add or remove."] = "Klik op een connectie om deze toe te voegen of te verwijderen"; $a->strings["Visible To"] = "Zichtbaar voor"; -$a->strings["Select a bookmark folder"] = "Kies een bladwijzermap"; -$a->strings["Save Bookmark"] = "Bladwijzer opslaan"; -$a->strings["URL of bookmark"] = "URL van bladwijzer"; -$a->strings["Or enter new bookmark folder name"] = "Of geef de naam op van een nieuwe bladwijzermap"; -$a->strings["Import completed"] = "Importeren voltooid"; -$a->strings["Import Items"] = "Importeer items"; -$a->strings["Use this form to import existing posts and content from an export file."] = "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren."; +$a->strings["Unable to create element."] = "Niet in staat om onderdeel aan te maken."; +$a->strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet."; +$a->strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd."; +$a->strings["Menu Item Permissions"] = "Permissies menu-item"; +$a->strings["Link Name"] = "Linknaam"; +$a->strings["Link or Submenu Target"] = "Linkdoel of submenu-doel"; +$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Geef de URL van de link of kies een menunaam om een submenu aan te maken"; +$a->strings["Use magic-auth if available"] = "Gebruik magic-auth wanneer beschikbaar"; +$a->strings["Open link in new window"] = "Open link in nieuw venster"; +$a->strings["Order in list"] = "Volgorde in lijst"; +$a->strings["Higher numbers will sink to bottom of listing"] = "Hogere nummers komen onderaan de lijst terecht"; +$a->strings["Submit and finish"] = "Opslaan en afsluiten"; +$a->strings["Submit and continue"] = "Opslaan en doorgaan"; +$a->strings["Menu:"] = "Menu:"; +$a->strings["Link Target"] = "Linkdoel"; +$a->strings["Edit menu"] = "Menu bewerken"; +$a->strings["Edit element"] = "Onderdeel bewerken"; +$a->strings["Drop element"] = "Onderdeel verwijderen"; +$a->strings["New element"] = "Nieuw element"; +$a->strings["Edit this menu container"] = "Deze menu-container bewerken"; +$a->strings["Add menu element"] = "Menu-element toevoegen"; +$a->strings["Delete this menu item"] = "Dit menu-item verwijderen"; +$a->strings["Edit this menu item"] = "Dit menu-item bewerken"; +$a->strings["Menu item not found."] = "Menu-item niet gevonden."; +$a->strings["Menu item deleted."] = "Menu-item verwijderd."; +$a->strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd."; +$a->strings["Edit Menu Element"] = "Menu-element bewerken"; +$a->strings["Link text"] = "Linktekst"; $a->strings["Who likes me?"] = "Wie vindt mij leuk?"; +$a->strings["Files: shared with me"] = "Bestanden: met mij gedeeld"; +$a->strings["NEW"] = "NIEUW"; +$a->strings["Remove all files"] = "Verwijder alle bestanden"; +$a->strings["Remove this file"] = "Verwijder dit bestand"; +$a->strings["No connections."] = "Geen connecties."; +$a->strings["Visit %s's profile [%s]"] = "Bezoek het profiel van %s [%s]"; $a->strings["Focus (Hubzilla default)"] = "Focus (Hubzilla-standaard)"; $a->strings["Theme settings"] = "Thema-instellingen"; $a->strings["Select scheme"] = "Kies schema van thema"; diff --git a/view/nl/register_open_eml.tpl b/view/nl/register_open_eml.tpl index e634664a6..411bd00be 100644 --- a/view/nl/register_open_eml.tpl +++ b/view/nl/register_open_eml.tpl @@ -11,7 +11,7 @@ bezoeken en een nieuwe wachtwoord aanvragen. Je kan daarna inloggen, een kanaal meteen via 'instellingen > account' (linksboven) het account verwijderen (onderaan). Excuses voor het eventuele ongemak. -Wanneer dit account wel door jou is aangemaakt: Dank je en welkom op de {{$sitename}}. +Wanneer dit account wel door jou is aangemaakt: Dank je en welkom op {{$sitename}}. Vriendelijke groet, Beheerder {{$sitename}} ({{$siteurl}}) diff --git a/view/pdl/mod_events.pdl b/view/pdl/mod_events.pdl index 5a71d88d9..a3bc0c019 100644 --- a/view/pdl/mod_events.pdl +++ b/view/pdl/mod_events.pdl @@ -1,4 +1,5 @@ [region=aside] [widget=eventsmenu][/widget] +[widget=eventstools][/widget] [widget=tasklist][/widget] [/region] diff --git a/view/theme/redbasic/css/narrow_navbar.css b/view/theme/redbasic/css/narrow_navbar.css index f403fabbf..9d14beb33 100644 --- a/view/theme/redbasic/css/narrow_navbar.css +++ b/view/theme/redbasic/css/narrow_navbar.css @@ -8,7 +8,7 @@ min-height:25px !important; } - nav img { + nav .navbar-header img { height: 30px; width: 30px; margin-top: 1px; @@ -49,7 +49,6 @@ top: -31px; float: right; font-size: 10px; - padding: 2px 6px; cursor: pointer; } diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index e392f00d9..5fcf901fb 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -57,26 +57,11 @@ abbr { } /* icons */ -.tool-icons { +.tool-icons, +.cat-icons { color: $toolicon_colour; } -.icon { - background-color: transparent ; - background-repeat: no-repeat; - display: block; - overflow: hidden; - text-indent: -9999px; -} - -.icon.text { - text-indent: 0px; -} - -.connect-icon { - margin-right: 5px; -} - a, .fakelink { color: $link_colour; @@ -129,7 +114,7 @@ pre code { code { font-size: 1em; - padding: 1em; + padding: 1em 1.5em; border: 1px solid #ccc; background: #ccc; color: #000; @@ -141,27 +126,12 @@ pre { border:1px solid #ccc; } -.ccollapse-wrapper { - border: 1px solid #CCC; - padding: 5px; -} - .heart { color: #FF0000; font-size: 100%; margin-right: 5px; } -.subdued { - opacity: 0.3; - filter:alpha(opacity=30); -} - -.subdued:hover { - opacity: 1.0; - filter:alpha(opacity=100); -} - nav, header { opacity: $nav_float_min_opacity; @@ -264,11 +234,6 @@ footer { margin: 15px 0px; } -.fakebutton { - margin-top: 15px; - margin-bottom: 15px; -} - /*TODO: we should use one class for all this. */ .group-selected, @@ -284,24 +249,6 @@ footer { color: $font_colour; } - -.fileas-all { - text-decoration: none !important; -} - -.fileas-all:hover { - text-decoration: underline !important; -} - -#sysmsg { - margin-bottom: 10px; -} - -#login-main { - max-width: 300px; - margin-top: 50px; -} - #cropimage-wrapper, #cropimage-preview-wrapper { float: left; padding: 30px; @@ -312,10 +259,6 @@ footer { clear: both; } -#page-profile .title { - font-weight: bold; -} - #profile-edit-links { padding-top: 15px; padding-bottom: 15px; @@ -367,22 +310,6 @@ footer { margin-bottom: 0px; } -#profile-extra-links { - clear: both; - margin-top: 10px; -} - -#profile-extra-links ul { - list-style-type: none; - padding: 0px; -} - - -#profile-extra-links li { - margin-top: 10px; -} - - .profile-edit-side-link { padding: 3px 0px; opacity: 0; @@ -395,31 +322,10 @@ footer { filter:alpha(opacity=100); } - -.view-contact-wrapper { - margin-top: 20px; - float: left; - margin-left: 20px; - width: 180px; -} - -.contact-wrapper { - float: left; - width: 150px; - height: 150px; - overflow: auto; -} - #view-contact-end { clear: both; } - -#viewconnections { - margin-top: 15px; -} - - #profile-photo-wrapper img { width: 100%; height: 100%; @@ -436,13 +342,6 @@ footer { border-radius: $radiuspx; } - -#profile-in-dir-yes-label, -#profile-in-dir-no-label, -#profile-in-netdir-yes-label, -#profile-in-netdir-no-label, -#hide-wall-yes-label, -#hide-wall-no-label, #hide-friends-yes-label, #hide-friends-no-label { margin-left: 125px; @@ -450,34 +349,11 @@ footer { width: 50px; } - -#profile-publish-yes-reg, -#profile-publish-no-reg { - float: left; - margin-bottom: 10px; -} - -#profile-publish-yes-label-reg, -#profile-publish-no-label-reg { - margin-left: 350px; - float: left; - width: 50px; -} - -#profile-publish-break-reg, -#profile-publish-end-reg { - clear: both; -} - - #fsuggest-desc, #fsuggest-submit-wrapper { margin-top: 15px; margin-bottom: 15px; } -.thread-end-wrapper { - margin-left: 50px; -} .profile-listing-photo-wrapper { float: left; } @@ -509,10 +385,6 @@ footer { } -.directory-details { - font-size: 0.7em; -} - .app-name { overflow: none; } @@ -544,27 +416,17 @@ footer { padding: 4px; } -.pager_first a, -.pager_last a, -.pager_prev a, -.pager_next a, -.pager_n a { -} - .pager_current { - border: 1px solid transparent; - background: transparent; - padding: 4px; -} - -#block-message, #ignore-message, #archive-message, #lost-contact-message { - color: #FF0000; + border: 1px solid transparent; + background: transparent; + padding: 4px; } -.photo, .contact-block-img { - border-radius: $radiuspx; - -moz-border-radius: $radiuspx; - box-shadow: $shadowpx $shadowpx $shadowpx 0 #444444; +.photo, +.contact-block-img { + border-radius: $radiuspx; + -moz-border-radius: $radiuspx; + box-shadow: $shadowpx $shadowpx $shadowpx 0 #444444; } #side-bar-photos-albums { @@ -575,10 +437,11 @@ footer { list-style: none; } -.profile-match-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo { - border-radius: $radiuspx; - -moz-border-radius: $radiuspx; - box-shadow: $shadowpx $shadowpx $shadowpx 0 #444444; +.profile-match-photo img, +.directory-photo-img { + border-radius: $radiuspx; + -moz-border-radius: $radiuspx; + box-shadow: $shadowpx $shadowpx $shadowpx 0 #444444; } .profile-match-photo img { @@ -586,57 +449,10 @@ footer { height: $top_photo !important; } -#sidebar-page-list .label { - margin-left: 5px; -} - -.photo-top-photo, .photo-album-photo { - /* padding: 10px; - max-width: 300px; - border: 1px solid #888888; -*/ - position: absolute; - display: block; -/* max-width: 100%; - max-height: 100%; */ - left: 0; - right: 0; - top: 0; - bottom: 0; - margin: auto; -} - -.photo-top-photo-link, .photo-album-photo-link { - display: block; - width: 100%; - position: relative; - height: 0; - padding: 75% 0 0 0; - overflow: hidden; -} - #photo-view-wrapper { background-color: $item_colour; } -#side-follow-wrapper { - margin-top: 20px; -} - -#side-peoplefind-url::-webkit-input-placeholder, #side-advanced-peoplefind-url::-webkit-input-placeholder { - font-family: FontAwesome; -} - -#side-peoplefind-url::-moz-placeholder, #side-advanced-peoplefind-url::-moz-placeholder { - font-family: FontAwesome; -} - - -#side-match-link { - margin-top: 10px; -} - - .pmenu.horizontal { padding: 0 0 0 0; border-bottom: none; @@ -655,11 +471,6 @@ footer { padding-right: 15px; } -#settings-default-perms-menu { - margin-top: 15px; - margin-bottom: 15px; -} - .group-delete-wrapper { float: right; } @@ -692,9 +503,9 @@ a.rateme, div.rateme { } #pause { - position: fixed; - bottom: 5px; - right: 5px; + position: fixed; + bottom: 5px; + right: 5px; } #vcard-end { @@ -786,6 +597,7 @@ a.rateme, div.rateme { #nav-search-text { font-size: 12px; + width: 200px; height: 20px; margin: 15px; padding: 0px 5px 0px 5px; @@ -809,11 +621,6 @@ nav .acpopup { width: 290px; } -.profile-clear { - clear: both; -} - - .clear { clear: both; } @@ -830,24 +637,11 @@ nav .acpopup { margin-bottom: 20px; } -/* end from default */ - - #network-new-link { margin-top: 15px; margin-bottom: 15px; } - -.tool-wrapper { - float: left; - margin-left: 15px; -} - -.tool-link { - cursor: pointer; -} - #cboxOverlay { z-index: 1050; } @@ -864,29 +658,10 @@ nav .acpopup { z-index: 1052; } -.settings-block { - border: 1px solid #AAA; - margin: 10px; - padding: 10px; -} - .app-title { margin: 10px; } -#identity-manage-desc { - margin-top:15px; - margin-bottom: 15px; -} - -#identity-manage-choose { - margin-bottom: 15px; -} - -#identity-submit { - margin-top: 20px; -} - .profile-match-photo { float: left; } @@ -998,26 +773,10 @@ nav .acpopup { margin-top: 15px; } - .required { color: #ff0000; } -#item-delete-selected { - margin-top: 30px; -} - -#item-delete-selected-end { - clear: both; -} -#item-delete-selected-icon, #item-delete-selected-desc { - float: left; - margin-right: 5px; -} -#item-delete-selected-desc:hover { - text-decoration: underline; -} - .notif-image { height: 80px; width: 80px; @@ -1029,18 +788,6 @@ nav .acpopup { } /** - * Plugins settings - */ - -.settings-block > h3, -.settings-heading { - border-bottom: 1px solid #babdb6; -} - - - - -/** * OAuth */ .oauthapp { @@ -1144,7 +891,7 @@ div.jGrowl div.jGrowl-notification { } .jslider .jslider-scale ins { - color: #333; + color: #333; font-size: $body_font_size; width: 100px; text-align: center; @@ -1351,11 +1098,6 @@ a.rconnect:hover, a.rateme:hover, div.rateme:hover { font-size : 1.8em !important; } - -div.page-list-item { -margin: 20px; -} - div#write-pages { display: block; background: silver; @@ -1634,10 +1376,7 @@ img.mail-conv-sender-photo { .divgrow-showmore { display: block; - width: 100%; border-top: 1px dashed #ccc; - border-bottom-right-radius: $radiuspx; - border-bottom-left-radius: $radiuspx; text-align: center; font-size: $body_font_size; color: $link_colour; @@ -1648,6 +1387,9 @@ img.mail-conv-sender-photo { border-top: 1px dashed #adadad; } +.directory-item .divgrow-showmore { + background-color: $comment_item_colour; +} /* widgets */ @@ -1721,6 +1463,13 @@ nav .dropdown-menu { border-bottom-left-radius: $radiuspx; } +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:focus, +.dropdown-menu > .active > a:hover { + color: #333; + background-color: #f5f5f5; +} + .dropdown-menu-img-sm { float: left; width: 36px; @@ -1879,9 +1628,8 @@ blockquote { font-size: $font_size; font-style: italic; border-left: 3px solid #ccc; - padding: 0.4em; - color: #4d4d4d; - margin: 0px 0px 0px 20px; + padding: 1em 0px 1em 1.5em; + margin: 0px; } .badge { @@ -1991,8 +1739,6 @@ nav .badge.mail-update:hover { #tabs-collapse-1 { padding: 0px; margin-bottom: 25px; - border-top: none; - box-shadow: none; } .btn { diff --git a/view/theme/redbasic/schema/bluegrid.css b/view/theme/redbasic/schema/bluegrid.css index 8545f3f74..820e84baa 100644 --- a/view/theme/redbasic/schema/bluegrid.css +++ b/view/theme/redbasic/schema/bluegrid.css @@ -110,7 +110,7 @@ input#jot-title:hover, input#jot-title:focus { border-color: transparent; } -nav .dropdown-menu, .wall-item-tools .dropdown-menu, .section-title-wrapper .dropdown-menu { +nav .dropdown-menu, .wall-item-tools .dropdown-menu, .section-title-wrapper .dropdown-menu, .section-content-wrapper .dropdown-menu { background-color: rgba(67,72,138,.97); color: #fff; border-radius: 0; @@ -284,8 +284,12 @@ input { border-radius: 0px; } +.home-welcome { + color: #FFF; + margin-bottom: 30px; +} + #login-main { - max-width: 100%; margin-top: 0; } @@ -341,7 +345,7 @@ input { background-color: #FFF; } -.btn-primary, input#event-submit, input#rmagic-submit-button, input#lostpass-submit-button, input#side-follow-submit, .profile-edit-submit-wrapper > input.profile-edit-submit-button, input#profile-photo-submit, form#chat-form > input, div#adminpage > form > div.submit > input, input.sources-submit, input.contact-edit-submit, input#dbtn-submit, input#newchannel-submit-button, input#contacts-search-submit { +.btn-primary, input#event-submit, input#rmagic-submit-button, input#lostpass-submit-button, input#side-follow-submit, .profile-edit-submit-wrapper > input.profile-edit-submit-button, input#profile-photo-submit, form#chat-form > input, div#adminpage > form > div.submit > input, input.sources-submit, input.contact-edit-submit, input#dbtn-submit, input#newchannel-submit-button, input#contacts-search-submit, input#register-submit-button { background-color: #FFF; color: #43488A; border-radius: 0px; @@ -350,7 +354,7 @@ input { transition: all .3s ease-in-out; } -.btn-primary:hover, .btn-primary:focus, input#event-submit:hover, input#event-submit:focus, input#rmagic-submit-button:hover, input#rmagic-submit-button:focus, input#lostpass-submit-button:hover, input#lostpass-submit-button:focus, input#side-follow-submit:hover, input#side-follow-submit:focus, .profile-edit-submit-wrapper > input.profile-edit-submit-button:hover, .profile-edit-submit-wrapper > input.profile-edit-submit-button:focus, input#profile-photo-submit:hover, input#profile-photo-submit:focus, form#chat-form > input:hover, form#chat-form > input:focus, div#adminpage > form > div.submit > input:hover, div#adminpage > form > div.submit > input:focus, input.sources-submit:hover, input.sources-submit:focus, input.contact-edit-submit:focus, input.contact-edit-submit:hover, input#dbtn-submit:hover, input#dbtn-submit:focus, input#newchannel-submit-button:hover, input#newchannel-submit-button:focus, input#contacts-search-submit:hover, input#contacts-search-submit:focus { +.btn-primary:hover, .btn-primary:focus, input#event-submit:hover, input#event-submit:focus, input#rmagic-submit-button:hover, input#rmagic-submit-button:focus, input#lostpass-submit-button:hover, input#lostpass-submit-button:focus, input#side-follow-submit:hover, input#side-follow-submit:focus, .profile-edit-submit-wrapper > input.profile-edit-submit-button:hover, .profile-edit-submit-wrapper > input.profile-edit-submit-button:focus, input#profile-photo-submit:hover, input#profile-photo-submit:focus, form#chat-form > input:hover, form#chat-form > input:focus, div#adminpage > form > div.submit > input:hover, div#adminpage > form > div.submit > input:focus, input.sources-submit:hover, input.sources-submit:focus, input.contact-edit-submit:focus, input.contact-edit-submit:hover, input#dbtn-submit:hover, input#dbtn-submit:focus, input#newchannel-submit-button:hover, input#newchannel-submit-button:focus, input#contacts-search-submit:hover, input#contacts-search-submit:focus, input#register-submit-button:hover, input#register-submit-button:focus { border-color: #FFF; background-color: #43488A; color: #FFF; diff --git a/view/tpl/diaspora_comment.tpl b/view/tpl/diaspora_comment.tpl deleted file mode 100644 index 27ec3dffc..000000000 --- a/view/tpl/diaspora_comment.tpl +++ /dev/null @@ -1,11 +0,0 @@ -<XML> - <post> - <comment> - <guid>{{$guid}}</guid> - <parent_guid>{{$parent_guid}}</parent_guid> - <author_signature>{{$authorsig}}</author_signature> - <text>{{$body}}</text> - <diaspora_handle>{{$handle}}</diaspora_handle> - </comment> - </post> -</XML>
\ No newline at end of file diff --git a/view/tpl/diaspora_comment_relay.tpl b/view/tpl/diaspora_comment_relay.tpl deleted file mode 100644 index 37a9e88b3..000000000 --- a/view/tpl/diaspora_comment_relay.tpl +++ /dev/null @@ -1,12 +0,0 @@ -<XML> - <post> - <comment> - <guid>{{$guid}}</guid> - <parent_guid>{{$parent_guid}}</parent_guid> - <parent_author_signature>{{$parentsig}}</parent_author_signature> - <author_signature>{{$authorsig}}</author_signature> - <text>{{$body}}</text> - <diaspora_handle>{{$handle}}</diaspora_handle> - </comment> - </post> -</XML>
\ No newline at end of file diff --git a/view/tpl/diaspora_consensus.tpl b/view/tpl/diaspora_consensus.tpl deleted file mode 100644 index b6b7cf13d..000000000 --- a/view/tpl/diaspora_consensus.tpl +++ /dev/null @@ -1,17 +0,0 @@ -<poll> -<guid>{{$guid_q}}</guid> -<question>{{$question}}</question> -<poll_answer> - <guid>{{$guid_y}}</guid> - <answer>{{$agree}}</answer> -</poll_answer> -<poll_answer> - <guid>{{$guid_n}}</guid> - <answer>{{$disagree}}</answer> -</poll_answer> -<poll_answer> - <guid>{{$guid_a}}</guid> - <answer>{{$abstain}}</answer> -</poll_answer> -</poll> - diff --git a/view/tpl/diaspora_conversation.tpl b/view/tpl/diaspora_conversation.tpl deleted file mode 100644 index dc4482e4b..000000000 --- a/view/tpl/diaspora_conversation.tpl +++ /dev/null @@ -1,29 +0,0 @@ -<XML> - <post> - <conversation> - <guid>{{$conv.guid}}</guid> - <subject>{{$conv.subject}}</subject> - <created_at>{{$conv.created_at}}</created_at> - - {{foreach $conv.messages as $msg}} - - <message> - <guid>{{$msg.guid}}</guid> - <parent_guid>{{$msg.parent_guid}}</parent_guid> - {{if $msg.parent_author_signature}} - <parent_author_signature>{{$msg.parent_author_signature}}</parent_author_signature> - {{/if}} - <author_signature>{{$msg.author_signature}}</author_signature> - <text>{{$msg.text}}</text> - <created_at>{{$msg.created_at}}</created_at> - <diaspora_handle>{{$msg.diaspora_handle}}</diaspora_handle> - <conversation_guid>{{$msg.conversation_guid}}</conversation_guid> - </message> - - {{/foreach}} - - <diaspora_handle>{{$conv.diaspora_handle}}</diaspora_handle> - <participant_handles>{{$conv.participant_handles}}</participant_handles> - </conversation> - </post> -</XML> diff --git a/view/tpl/diaspora_like.tpl b/view/tpl/diaspora_like.tpl deleted file mode 100644 index a27e92240..000000000 --- a/view/tpl/diaspora_like.tpl +++ /dev/null @@ -1,12 +0,0 @@ -<XML> - <post> - <like> - <positive>{{$positive}}</positive> - <guid>{{$guid}}</guid> - <target_type>{{$target_type}}</target_type> - <parent_guid>{{$parent_guid}}</parent_guid> - <author_signature>{{$authorsig}}</author_signature> - <diaspora_handle>{{$handle}}</diaspora_handle> - </like> - </post> -</XML> diff --git a/view/tpl/diaspora_like_relay.tpl b/view/tpl/diaspora_like_relay.tpl deleted file mode 100644 index 8209540c5..000000000 --- a/view/tpl/diaspora_like_relay.tpl +++ /dev/null @@ -1,13 +0,0 @@ -<XML> - <post> - <like> - <positive>{{$positive}}</positive> - <guid>{{$guid}}</guid> - <target_type>{{$target_type}}</target_type> - <parent_guid>{{$parent_guid}}</parent_guid> - <parent_author_signature>{{$parentsig}}</parent_author_signature> - <author_signature>{{$authorsig}}</author_signature> - <diaspora_handle>{{$handle}}</diaspora_handle> - </like> - </post> -</XML> diff --git a/view/tpl/diaspora_message.tpl b/view/tpl/diaspora_message.tpl deleted file mode 100644 index 3413d79b0..000000000 --- a/view/tpl/diaspora_message.tpl +++ /dev/null @@ -1,13 +0,0 @@ -<XML> - <post> - <message> - <guid>{{$msg.guid}}</guid> - <parent_guid>{{$msg.parent_guid}}</parent_guid> - <author_signature>{{$msg.author_signature}}</author_signature> - <text>{{$msg.text}}</text> - <created_at>{{$msg.created_at}}</created_at> - <diaspora_handle>{{$msg.diaspora_handle}}</diaspora_handle> - <conversation_guid>{{$msg.conversation_guid}}</conversation_guid> - </message> - </post> -</XML> diff --git a/view/tpl/diaspora_photo.tpl b/view/tpl/diaspora_photo.tpl deleted file mode 100644 index 256459d8d..000000000 --- a/view/tpl/diaspora_photo.tpl +++ /dev/null @@ -1,13 +0,0 @@ -<XML> - <post> - <photo> - <guid>{{$guid}}</guid> - <diaspora_handle>{{$handle}}</diaspora_handle> - <public>{{$public}}</public> - <created_at>{{$created_at}}</created_at> - <remote_photo_path>{{$path}}</remote_photo_path> - <remote_photo_name>{{$filename}}</remote_photo_name> - <status_message_guid>{{$msg_guid}}</status_message_guid> - </photo> - </post> -</XML> diff --git a/view/tpl/diaspora_post.tpl b/view/tpl/diaspora_post.tpl deleted file mode 100644 index ebfe9e5b7..000000000 --- a/view/tpl/diaspora_post.tpl +++ /dev/null @@ -1,13 +0,0 @@ -<XML> - <post> - <status_message> - <raw_message>{{$body}}</raw_message> - <guid>{{$guid}}</guid> - <diaspora_handle>{{$handle}}</diaspora_handle> - {{$poll}} - <public>{{$public}}</public> - <created_at>{{$created}}</created_at> - <provider_display_name>{{$provider}}</provider_display_name> - </status_message> - </post> -</XML> diff --git a/view/tpl/diaspora_relay_retraction.tpl b/view/tpl/diaspora_relay_retraction.tpl deleted file mode 100644 index 5e7aed41f..000000000 --- a/view/tpl/diaspora_relay_retraction.tpl +++ /dev/null @@ -1,10 +0,0 @@ -<XML> - <post> - <relayable_retraction> - <target_type>{{$type}}</target_type> - <target_guid>{{$guid}}</target_guid> - <target_author_signature>{{$signature}}</target_author_signature> - <sender_handle>{{$handle}}</sender_handle> - </relayable_retraction> - </post> -</XML> diff --git a/view/tpl/diaspora_relayable_retraction.tpl b/view/tpl/diaspora_relayable_retraction.tpl deleted file mode 100644 index 4e3ff3243..000000000 --- a/view/tpl/diaspora_relayable_retraction.tpl +++ /dev/null @@ -1,11 +0,0 @@ -<XML> - <post> - <relayable_retraction> - <parent_author_signature>{{$parentsig}}</parent_author_signature> - <target_guid>{{$guid}}</target_guid> - <target_type>{{$target_type}}</target_type> - <sender_handle>{{$handle}}</sender_handle> - <target_author_signature>{{$authorsig}}</target_author_signature> - </relayable_retraction> - </post> -</XML> diff --git a/view/tpl/diaspora_reshare.tpl b/view/tpl/diaspora_reshare.tpl deleted file mode 100644 index 963bb9e12..000000000 --- a/view/tpl/diaspora_reshare.tpl +++ /dev/null @@ -1,13 +0,0 @@ -<XML> - <post> - <reshare> - <root_diaspora_id>{{$root_handle}}</root_diaspora_id> - <root_guid>{{$root_guid}}</root_guid> - <guid>{{$guid}}</guid> - <diaspora_handle>{{$handle}}</diaspora_handle> - <public>{{$public}}</public> - <created_at>{{$created}}</created_at> - <provider_display_name>{{$provider}}</provider_display_name> - </reshare> - </post> -</XML> diff --git a/view/tpl/diaspora_retract.tpl b/view/tpl/diaspora_retract.tpl deleted file mode 100644 index 9df066d38..000000000 --- a/view/tpl/diaspora_retract.tpl +++ /dev/null @@ -1,9 +0,0 @@ -<XML> - <post> - <retraction> - <post_guid>{{$guid}}</post_guid> - <diaspora_handle>{{$handle}}</diaspora_handle> - <type>{{$type}}</type> - </retraction> - </post> -</XML> diff --git a/view/tpl/diaspora_share.tpl b/view/tpl/diaspora_share.tpl deleted file mode 100644 index 59eb06124..000000000 --- a/view/tpl/diaspora_share.tpl +++ /dev/null @@ -1,8 +0,0 @@ -<XML> - <post> - <request> - <sender_handle>{{$sender}}</sender_handle> - <recipient_handle>{{$recipient}}</recipient_handle> - </request> - </post> -</XML>
\ No newline at end of file diff --git a/view/tpl/diaspora_signed_retract.tpl b/view/tpl/diaspora_signed_retract.tpl deleted file mode 100644 index f0f346da8..000000000 --- a/view/tpl/diaspora_signed_retract.tpl +++ /dev/null @@ -1,10 +0,0 @@ -<XML> - <post> - <signed_retraction> - <target_guid>{{$guid}}</target_guid> - <target_type>{{$type}}</target_type> - <sender_handle>{{$handle}}</sender_handle> - <target_author_signature>{{$signature}}</target_author_signature> - </signed_retraction> - </post> -</XML> diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl index 6407f1edd..ecc38beb9 100755 --- a/view/tpl/direntry.tpl +++ b/view/tpl/direntry.tpl @@ -14,7 +14,7 @@ </div> <h3>{{if $entry.public_forum}}<i class="icon-comments-alt" title="{{$entry.forum_label}} @{{$entry.nickname}}+"></i> {{/if}}<a href='{{$entry.profile_link}}' >{{$entry.name}}</a>{{if $entry.online}} <i class="icon-asterisk online-now" title="{{$entry.online}}"></i>{{/if}}</h3> </div> - <div class="section-content-wrapper directory-collapse"> + <div class="section-content-tools-wrapper directory-collapse"> <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.hash}}" > <div class="contact-photo" id="directory-photo-{{$entry.hash}}" > <a href="{{$entry.profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$entry.hash}}" > diff --git a/view/tpl/event_item_content.tpl b/view/tpl/event_item_content.tpl index 868e5ad27..76e0f4616 100644 --- a/view/tpl/event_item_content.tpl +++ b/view/tpl/event_item_content.tpl @@ -1,10 +1,10 @@ {{if $description}} -<div class="event-description"> +<div class="event-item-description"> {{$description}} </div> {{/if}} {{if $location}} -<div class="event-location"> - <span class="event-label">{{$location_label}}</span> <span class="event_location">{{$location}}</span> +<div class="event-item-location"> + <span class="event-item-label">{{$location_label}}</span> <span class="event-item-location">{{$location}}</span> </div> {{/if}} diff --git a/view/tpl/event_item_header.tpl b/view/tpl/event_item_header.tpl index 70ddfd808..9547676e9 100755 --- a/view/tpl/event_item_header.tpl +++ b/view/tpl/event_item_header.tpl @@ -1,11 +1,11 @@ -<div class="event-title"> +<div class="event-item-title"> <h3><i class="icon-calendar"></i> {{$title}}</h3> </div> -<div class="event-start"> - <span class="event-label">{{$dtstart_label}}</span> <span class="dtstart" title="{{$dtstart_title}}">{{$dtstart_dt}}</span> +<div class="event-item-start"> + <span class="event-item-label">{{$dtstart_label}}</span> <span class="dtstart" title="{{$dtstart_title}}">{{$dtstart_dt}}</span> </div> {{if $finish}} -<div class="event-start"> - <span class="event-label">{{$dtend_label}}</span> <span class="dtend" title="{{$dtend_title}}">{{$dtend_dt}}</span> +<div class="event-item-start"> + <span class="event-item-label">{{$dtend_label}}</span> <span class="dtend" title="{{$dtend_title}}">{{$dtend_dt}}</span> </div> {{/if}} diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl index 2b6170ff4..08c8aa64a 100755 --- a/view/tpl/events-js.tpl +++ b/view/tpl/events-js.tpl @@ -1,10 +1,7 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> <div class="pull-right"> - - <button class="btn btn-default btn-xs" onclick="openClose('event-tools'); closeMenu('form');"><i class="icon-cog"></i></button> <button class="btn btn-success btn-xs" onclick="openClose('form'); closeMenu('event-tools');">{{$new_event.1}}</button> - <div class="btn-group"> <button class="btn btn-default btn-xs" onclick="changeView('prev', false);" title="{{$prev}}"><i class="icon-backward"></i></button> <button id="events-spinner" class="btn btn-default btn-xs" onclick="changeView('today', false);" title="{{$today}}"><i class="icon-bullseye"></i></button> @@ -17,19 +14,6 @@ <div id="form" class="section-content-tools-wrapper"{{if !$expandform}} style="display:none;"{{/if}}> {{$form}} </div> - <div id="event-tools" class="section-content-tools-wrapper" style="display:none;"> - <div class="form-group"> - <button class="btn btn-primary btn-xs" onclick="exportDate(); return false;"><i class="icon-download"></i> {{$export.1}}</button> - <button class="btn btn-primary btn-xs" onclick="openClose('event-upload-form');"><i class="icon-upload"></i> {{$upload}}</button> - </div> - <div id="event-upload-form" style="display:none;"> - <form action="events" enctype="multipart/form-data" method="post" name="event-upload-form" id="event-upload-form"> - <button id="dbtn-submit" class="btn btn-primary btn-sm pull-right" type="submit" name="submit" >{{$submit}}</button> - <input id="event-upload-choose" type="file" name="userfile" /> - - </form> - </div> - </div> <div class="clear"></div> <div class="section-content-wrapper-np"> <div id="events-calendar"></div> diff --git a/view/tpl/events_side.tpl b/view/tpl/events_menu_side.tpl index b9a9062b1..b9a9062b1 100755 --- a/view/tpl/events_side.tpl +++ b/view/tpl/events_menu_side.tpl diff --git a/view/tpl/events_tools_side.tpl b/view/tpl/events_tools_side.tpl new file mode 100755 index 000000000..5e20511fc --- /dev/null +++ b/view/tpl/events_tools_side.tpl @@ -0,0 +1,15 @@ +<div class="widget"> + <h3>{{$title}}</h3> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#" onclick="exportDate(); return false;"><i class="icon-download"></i> {{$export}}</a></li> + <li><a href="#" onclick="openClose('event-upload-form'); return false;"><i class="icon-upload"></i> {{$import}}</a></li> + </ul> + <div id="event-upload-form" style="display: none;"> + <form action="events" enctype="multipart/form-data" method="post" name="event-upload-form" id="event-upload-form"> + <div class="form-group"> + <input id="event-upload-choose" type="file" name="userfile" /> + </div> + <button id="dbtn-submit" class="btn btn-primary btn-xs" type="submit" name="submit" >{{$submit}}</button> + </form> + </div> +</div> diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index e7edb7e64..32a08a9b3 100755 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -118,8 +118,6 @@ <li class="divider visible-xs"></li> {{if $writefiles}}<li class="visible-xs"><a id="wall-file-upload-sub" href="#" ><i class="icon-paper-clip"></i> {{$attach}}</a></li>{{/if}} <li class="visible-xs"><a href="#" onclick="jotGetLink(); return false;"><i class="icon-link"></i> {{$weblink}}</a></li> - <!--li class="visible-xs"><a href="#" onclick="jotVideoURL(); return false;"><i class="icon-facetime-video"></i> {{$video}}</a></li--> - <!--li class="visible-xs"><a href="#" onclick="jotAudioURL(); return false;"><i class="icon-volume-up"></i> {{$audio}}</a></li--> {{/if}} <li class="divider visible-xs"></li> <li class="visible-xs visible-sm"><a href="#" onclick="jotGetLocation(); return false;"><i class="icon-globe"></i> {{$setloc}}</a></li> diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl index 4f54f1a6a..5e5d9808d 100755 --- a/view/tpl/mail_conv.tpl +++ b/view/tpl/mail_conv.tpl @@ -13,6 +13,12 @@ {{$mail.body}} <div class="clear"></div> </div> + {{if $mail.attachments}} + <div class="dropdown pull-left"> + <button type="button" class="btn btn-default btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="icon-paperclip"></i></button> + <ul class="dropdown-menu" role="menu" aria-labelledby="attachment-menu-{{$item.id}}">{{$mail.attachments}}</ul> + </div> + {{/if}} <div class="pull-right dropdown"> <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" id="mail-item-menu-{{$mail.id}}"> <i class="icon-caret-down"></i> diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl index bbcdcefc1..95169164a 100755 --- a/view/tpl/photo_album.tpl +++ b/view/tpl/photo_album.tpl @@ -21,7 +21,7 @@ {{$upload_form}} {{$album_edit.1}} <div class="section-content-wrapper-np"> - <div id="photo-album-contents"> + <div id="photo-album-contents-{{$album_id}}"> {{foreach $photos as $photo}} {{include file="photo_top.tpl"}} {{/foreach}} @@ -30,5 +30,5 @@ </div> </div> <div class="photos-end"></div> -<script>$(document).ready(function() { loadingPage = false; justifyPhotos(); });</script> +<script>$(document).ready(function() { loadingPage = false; justifyPhotos('photo-album-contents-{{$album_id}}'); });</script> <div id="page-spinner"></div> diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl index 46ac65e87..f3131117c 100755 --- a/view/tpl/photos_recent.tpl +++ b/view/tpl/photos_recent.tpl @@ -8,7 +8,7 @@ </div> {{$upload_form}} <div class="section-content-wrapper-np"> - <div id="photo-album-contents"> + <div id="photo-album-contents-{{$album_id}}"> {{foreach $photos as $photo}} {{include file="photo_top.tpl"}} {{/foreach}} @@ -17,5 +17,5 @@ </div> </div> <div class="photos-end"></div> -<script>$(document).ready(function() { loadingPage = false; justifyPhotos(); });</script> +<script>$(document).ready(function() { loadingPage = false; justifyPhotos('photo-album-contents-{{$album_id}}'); });</script> <div id="page-spinner"></div> diff --git a/view/tpl/photosajax.tpl b/view/tpl/photosajax.tpl index 705cb6c75..45191db85 100755 --- a/view/tpl/photosajax.tpl +++ b/view/tpl/photosajax.tpl @@ -1,4 +1,4 @@ {{foreach $photos as $photo}} {{include file="photo_top.tpl"}} {{/foreach}} -<script>justifyPhotosAjax()</script> +<script>justifyPhotosAjax('photo-album-contents-{{$album_id}}')</script> diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl index 2c71c64fb..af5f222fe 100755 --- a/view/tpl/settings.tpl +++ b/view/tpl/settings.tpl @@ -159,12 +159,12 @@ {{/foreach}} </select> </div> + {{/if}} {{include file="field_checkbox.tpl" field=$cal_first_day}} <div class="settings-submit-wrapper" > <button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button> </div> </div> - {{/if}} </div> </div> </div> diff --git a/zot b/zot deleted file mode 160000 -Subproject d94e61a7b627381715751fb6cb6c0cecf7ece3f |