From 77ea02cac3576f395e4548e7e6cbace90ba566ea Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 20 Jan 2010 16:31:48 -0500 Subject: Any object (not just Notice's) can be queued --- classes/Queue_item.php | 13 +--- classes/statusnet.ini | 6 +- db/statusnet.sql | 5 +- lib/dbqueuemanager.php | 95 +++++++++------------------ lib/jabberqueuehandler.php | 4 +- lib/ombqueuehandler.php | 2 +- lib/pingqueuehandler.php | 2 +- lib/pluginqueuehandler.php | 2 +- lib/publicqueuehandler.php | 6 +- lib/queuehandler.php | 95 +++------------------------ lib/smsqueuehandler.php | 2 +- lib/stompqueuemanager.php | 38 ++++------- lib/xmppmanager.php | 24 +++++++ plugins/Enjit/enjitqueuehandler.php | 9 +-- plugins/Facebook/facebookqueuehandler.php | 2 +- plugins/RSSCloud/RSSCloudPlugin.php | 41 ++---------- plugins/RSSCloud/RSSCloudQueueHandler.php | 50 ++------------ plugins/TwitterBridge/twitterqueuehandler.php | 2 +- scripts/handlequeued.php | 2 +- 19 files changed, 109 insertions(+), 291 deletions(-) mode change 100755 => 100644 plugins/RSSCloud/RSSCloudQueueHandler.php diff --git a/classes/Queue_item.php b/classes/Queue_item.php index cf805a606..4d90e1d23 100644 --- a/classes/Queue_item.php +++ b/classes/Queue_item.php @@ -10,7 +10,8 @@ class Queue_item extends Memcached_DataObject /* the code below is auto generated do not remove the above tag */ public $__table = 'queue_item'; // table name - public $notice_id; // int(4) primary_key not_null + public $id; // int(4) primary_key not_null + public $frame; // blob not_null public $transport; // varchar(8) primary_key not_null public $created; // datetime() not_null public $claimed; // datetime() @@ -22,9 +23,6 @@ class Queue_item extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE - function sequenceKey() - { return array(false, false); } - static function top($transport=null) { $qi = new Queue_item(); @@ -42,7 +40,7 @@ class Queue_item extends Memcached_DataObject # XXX: potential race condition # can we force it to only update if claimed is still null # (or old)? - common_log(LOG_INFO, 'claiming queue item = ' . $qi->notice_id . + common_log(LOG_INFO, 'claiming queue item id=' . $qi->id . ' for transport ' . $qi->transport); $orig = clone($qi); $qi->claimed = common_sql_now(); @@ -57,9 +55,4 @@ class Queue_item extends Memcached_DataObject $qi = null; return null; } - - function pkeyGet($kv) - { - return Memcached_DataObject::pkeyGet('Queue_item', $kv); - } } diff --git a/classes/statusnet.ini b/classes/statusnet.ini index 44088cf6b..6203650a6 100644 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -428,14 +428,14 @@ tagged = K tag = K [queue_item] -notice_id = 129 +id = 129 +frame = 66 transport = 130 created = 142 claimed = 14 [queue_item__keys] -notice_id = K -transport = K +id = K [related_group] group_id = 129 diff --git a/db/statusnet.sql b/db/statusnet.sql index 2a9ab74c7..cb7dad3e2 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -274,13 +274,12 @@ create table remember_me ( ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; create table queue_item ( - - notice_id integer not null comment 'notice queued' references notice (id), + id integer auto_increment primary key comment 'unique identifier', + frame blob not null comment 'serialized object', transport varchar(8) not null comment 'queue for what? "email", "jabber", "sms", "irc", ...', created datetime not null comment 'date this record was created', claimed datetime comment 'date this item was claimed', - constraint primary key (notice_id, transport), index queue_item_created_idx (created) ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; diff --git a/lib/dbqueuemanager.php b/lib/dbqueuemanager.php index 889365b64..139f50234 100644 --- a/lib/dbqueuemanager.php +++ b/lib/dbqueuemanager.php @@ -31,19 +31,17 @@ class DBQueueManager extends QueueManager { /** - * Saves a notice object reference into the queue item table. + * Saves an object into the queue item table. * @return boolean true on success * @throws ServerException on failure */ public function enqueue($object, $queue) { - $notice = $object; - $qi = new Queue_item(); - $qi->notice_id = $notice->id; + $qi->frame = serialize($object); $qi->transport = $queue; - $qi->created = $notice->created; + $qi->created = common_sql_now(); $result = $qi->insert(); if (!$result) { @@ -73,34 +71,35 @@ class DBQueueManager extends QueueManager */ public function poll() { - $this->_log(LOG_DEBUG, 'Checking for notices...'); - $item = $this->_nextItem(); - if ($item === false) { - $this->_log(LOG_DEBUG, 'No notices waiting; idling.'); + $this->_log(LOG_DEBUG, 'Checking for queued objects...'); + $qi = $this->_nextItem(); + if ($qi === false) { + $this->_log(LOG_DEBUG, 'No queue items waiting; idling.'); return false; } - if ($item === true) { - // We dequeued an entry for a deleted or invalid notice. + if ($qi === true) { + // We dequeued an entry for a deleted or invalid object. // Consider it a hit for poll rate purposes. return true; } - list($queue, $notice) = $item; - $this->_log(LOG_INFO, 'Got notice '. $notice->id . ' for transport ' . $queue); + $queue = $qi->transport; + $object = unserialize($qi->frame); + $this->_log(LOG_INFO, 'Got item id=' . $qi->id . ' for transport ' . $queue); // Yay! Got one! $handler = $this->getHandler($queue); if ($handler) { - if ($handler->handle_notice($notice)) { - $this->_log(LOG_INFO, "[$queue:notice $notice->id] Successfully handled notice"); - $this->_done($notice, $queue); + if ($handler->handle($object)) { + $this->_log(LOG_INFO, "[$queue] Successfully handled object"); + $this->_done($qi); } else { - $this->_log(LOG_INFO, "[$queue:notice $notice->id] Failed to handle notice"); - $this->_fail($notice, $queue); + $this->_log(LOG_INFO, "[$queue] Failed to handle object"); + $this->_fail($qi); } } else { - $this->_log(LOG_INFO, "[$queue:notice $notice->id] No handler for queue $queue; discarding."); - $this->_done($notice, $queue); + $this->_log(LOG_INFO, "[$queue] No handler for queue $queue; discarding."); + $this->_done($qi); } return true; } @@ -108,8 +107,7 @@ class DBQueueManager extends QueueManager /** * Pop the oldest unclaimed item off the queue set and claim it. * - * @return mixed false if no items; true if bogus hit; otherwise array(string, Notice) - * giving the queue transport name. + * @return mixed false if no items; true if bogus hit; otherwise Queue_item */ protected function _nextItem() { @@ -121,70 +119,42 @@ class DBQueueManager extends QueueManager return false; } - $queue = $qi->transport; - $notice = Notice::staticGet('id', $qi->notice_id); - if (empty($notice)) { - $this->_log(LOG_INFO, "[$queue:notice $notice->id] dequeued non-existent notice"); - $qi->delete(); - return true; - } - - $result = $notice; - return array($queue, $notice); + return $qi; } /** * Delete our claimed item from the queue after successful processing. * - * @param Notice $object - * @param string $queue + * @param QueueItem $qi */ - protected function _done($object, $queue) + protected function _done($qi) { - // XXX: right now, we only handle notices - - $notice = $object; - - $qi = Queue_item::pkeyGet(array('notice_id' => $notice->id, - 'transport' => $queue)); - if (empty($qi)) { - $this->_log(LOG_INFO, "[$queue:notice $notice->id] Cannot find queue item"); + $this->_log(LOG_INFO, "_done passed an empty queue item"); } else { if (empty($qi->claimed)) { - $this->_log(LOG_WARNING, "[$queue:notice $notice->id] Reluctantly releasing unclaimed queue item"); + $this->_log(LOG_WARNING, "Reluctantly releasing unclaimed queue item"); } $qi->delete(); $qi->free(); } - $this->_log(LOG_INFO, "[$queue:notice $notice->id] done with item"); - $this->stats('handled', $queue); - - $notice->free(); + $this->_log(LOG_INFO, "done with item"); } /** * Free our claimed queue item for later reprocessing in case of * temporary failure. * - * @param Notice $object - * @param string $queue + * @param QueueItem $qi */ - protected function _fail($object, $queue) + protected function _fail($qi) { - // XXX: right now, we only handle notices - - $notice = $object; - - $qi = Queue_item::pkeyGet(array('notice_id' => $notice->id, - 'transport' => $queue)); - if (empty($qi)) { - $this->_log(LOG_INFO, "[$queue:notice $notice->id] Cannot find queue item"); + $this->_log(LOG_INFO, "_fail passed an empty queue item"); } else { if (empty($qi->claimed)) { - $this->_log(LOG_WARNING, "[$queue:notice $notice->id] Ignoring failure for unclaimed queue item"); + $this->_log(LOG_WARNING, "Ignoring failure for unclaimed queue item"); } else { $orig = clone($qi); $qi->claimed = null; @@ -193,10 +163,7 @@ class DBQueueManager extends QueueManager } } - $this->_log(LOG_INFO, "[$queue:notice $notice->id] done with queue item"); - $this->stats('error', $queue); - - $notice->free(); + $this->_log(LOG_INFO, "done with queue item"); } protected function _log($level, $msg) diff --git a/lib/jabberqueuehandler.php b/lib/jabberqueuehandler.php index b1518866d..83471f2df 100644 --- a/lib/jabberqueuehandler.php +++ b/lib/jabberqueuehandler.php @@ -34,14 +34,14 @@ class JabberQueueHandler extends QueueHandler return 'jabber'; } - function handle_notice($notice) + function handle($notice) { require_once(INSTALLDIR.'/lib/jabber.php'); try { return jabber_broadcast_notice($notice); } catch (XMPPHP_Exception $e) { $this->log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - exit(1); + return false; } } } diff --git a/lib/ombqueuehandler.php b/lib/ombqueuehandler.php index 3ffc1313b..24896c784 100644 --- a/lib/ombqueuehandler.php +++ b/lib/ombqueuehandler.php @@ -36,7 +36,7 @@ class OmbQueueHandler extends QueueHandler * @fixme doesn't currently report failure back to the queue manager * because omb_broadcast_notice() doesn't report it to us */ - function handle_notice($notice) + function handle($notice) { if ($this->is_remote($notice)) { $this->log(LOG_DEBUG, 'Ignoring remote notice ' . $notice->id); diff --git a/lib/pingqueuehandler.php b/lib/pingqueuehandler.php index 8bb218078..4e4d74cb1 100644 --- a/lib/pingqueuehandler.php +++ b/lib/pingqueuehandler.php @@ -30,7 +30,7 @@ class PingQueueHandler extends QueueHandler { return 'ping'; } - function handle_notice($notice) { + function handle($notice) { require_once INSTALLDIR . '/lib/ping.php'; return ping_broadcast_notice($notice); } diff --git a/lib/pluginqueuehandler.php b/lib/pluginqueuehandler.php index 24d504699..9653ccad4 100644 --- a/lib/pluginqueuehandler.php +++ b/lib/pluginqueuehandler.php @@ -42,7 +42,7 @@ class PluginQueueHandler extends QueueHandler return 'plugin'; } - function handle_notice($notice) + function handle($notice) { Event::handle('HandleQueuedNotice', array(&$notice)); return true; diff --git a/lib/publicqueuehandler.php b/lib/publicqueuehandler.php index 9ea9ee73a..c9edb8d5d 100644 --- a/lib/publicqueuehandler.php +++ b/lib/publicqueuehandler.php @@ -23,7 +23,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { /** * Queue handler for pushing new notices to public XMPP subscribers. - * @fixme correct this exception handling */ class PublicQueueHandler extends QueueHandler { @@ -33,15 +32,14 @@ class PublicQueueHandler extends QueueHandler return 'public'; } - function handle_notice($notice) + function handle($notice) { require_once(INSTALLDIR.'/lib/jabber.php'); try { return jabber_public_notice($notice); } catch (XMPPHP_Exception $e) { $this->log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - die($e->getMessage()); + return false; } - return true; } } diff --git a/lib/queuehandler.php b/lib/queuehandler.php index 613be6e33..2909cd83b 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -22,51 +22,20 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Base class for queue handlers. * - * As extensions of the Daemon class, each queue handler has the ability - * to launch itself in the background, at which point it'll pass control - * to the configured QueueManager class to poll for updates. + * As of 0.9, queue handlers are short-lived for items as they are + * dequeued by a QueueManager running in an IoMaster in a daemon + * such as queuedaemon.php. + * + * Extensions requiring long-running maintenance or polling should + * register an IoManager. * * Subclasses must override at least the following methods: * - transport - * - handle_notice + * - handle */ -#class QueueHandler extends Daemon class QueueHandler { -# function __construct($id=null, $daemonize=true) -# { -# parent::__construct($daemonize); -# -# if ($id) { -# $this->set_id($id); -# } -# } - - /** - * How many seconds a polling-based queue manager should wait between - * checks for new items to handle. - * - * Defaults to 60 seconds; override to speed up or slow down. - * - * @fixme not really compatible with global queue manager - * @return int timeout in seconds - */ -# function timeout() -# { -# return 60; -# } - -# function class_name() -# { -# return ucfirst($this->transport()) . 'Handler'; -# } - -# function name() -# { -# return strtolower($this->class_name().'.'.$this->get_id()); -# } - /** * Return transport keyword which identifies items this queue handler * services; must be defined for all subclasses. @@ -83,61 +52,17 @@ class QueueHandler /** * Here's the meat of your queue handler -- you're handed a Notice - * object, which you may do as you will with. + * or other object, which you may do as you will with. * * If this function indicates failure, a warning will be logged * and the item is placed back in the queue to be re-run. * - * @param Notice $notice - * @return boolean true on success, false on failure - */ - function handle_notice($notice) - { - return true; - } - - /** - * Setup and start of run loop for this queue handler as a daemon. - * Most of the heavy lifting is passed on to the QueueManager's service() - * method, which passes control back to our handle_notice() method for - * each notice that comes in on the queue. - * - * Most of the time this won't need to be overridden in a subclass. - * + * @param mixed $object * @return boolean true on success, false on failure */ - function run() + function handle($object) { - if (!$this->start()) { - $this->log(LOG_WARNING, 'failed to start'); - return false; - } - - $this->log(LOG_INFO, 'checking for queued notices'); - - $queue = $this->transport(); - $timeout = $this->timeout(); - - $qm = QueueManager::get(); - - $qm->service($queue, $this); - - $this->log(LOG_INFO, 'finished servicing the queue'); - - if (!$this->finish()) { - $this->log(LOG_WARNING, 'failed to clean up'); - return false; - } - - $this->log(LOG_INFO, 'terminating normally'); - return true; } - - - function log($level, $msg) - { - common_log($level, $this->class_name() . ' ('. $this->get_id() .'): '.$msg); - } } diff --git a/lib/smsqueuehandler.php b/lib/smsqueuehandler.php index 48a96409d..6085d2b4a 100644 --- a/lib/smsqueuehandler.php +++ b/lib/smsqueuehandler.php @@ -31,7 +31,7 @@ class SmsQueueHandler extends QueueHandler return 'sms'; } - function handle_notice($notice) + function handle($notice) { require_once(INSTALLDIR.'/lib/mail.php'); return mail_broadcast_notice_sms($notice); diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 00590fdb6..6496b5cf1 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -125,28 +125,25 @@ class StompQueueManager extends QueueManager } /** - * Saves a notice object reference into the queue item table. + * Saves an object into the queue item table. * @return boolean true on success */ public function enqueue($object, $queue) { - $notice = $object; + $msg = serialize($object); $this->_connect(); - // XXX: serialize and send entire notice - $result = $this->con->send($this->queueName($queue), - $notice->id, // BODY of the message - array ('created' => $notice->created)); + $msg, // BODY of the message + array ('created' => $timestamp)); if (!$result) { common_log(LOG_ERR, 'Error sending to '.$queue.' queue'); return false; } - common_log(LOG_DEBUG, 'complete remote queueing notice ID = ' - . $notice->id . ' for ' . $queue); + common_log(LOG_DEBUG, "complete remote queueing $log for $queue"); $this->stats('enqueued', $queue); } @@ -174,7 +171,7 @@ class StompQueueManager extends QueueManager $ok = true; $frames = $this->con->readFrames(); foreach ($frames as $frame) { - $ok = $ok && $this->_handleNotice($frame); + $ok = $ok && $this->_handleItem($frame); } return $ok; } @@ -265,10 +262,10 @@ class StompQueueManager extends QueueManager } /** - * Handle and acknowledge a notice event that's come in through a queue. + * Handle and acknowledge an event that's come in through a queue. * * If the queue handler reports failure, the message is requeued for later. - * Missing notices or handler classes will drop the message. + * Missing objects or handler classes will drop the message. * * Side effects: in multi-site mode, may reset site configuration to * match the site that queued the event. @@ -276,24 +273,15 @@ class StompQueueManager extends QueueManager * @param StompFrame $frame * @return bool */ - protected function _handleNotice($frame) + protected function _handleItem($frame) { list($site, $queue) = $this->parseDestination($frame->headers['destination']); if ($site != common_config('site', 'server')) { $this->stats('switch'); StatusNet::init($site); } - - $id = intval($frame->body); - $info = "notice $id posted at {$frame->headers['created']} in queue $queue"; - - $notice = Notice::staticGet('id', $id); - if (empty($notice)) { - $this->_log(LOG_WARNING, "Skipping missing $info"); - $this->con->ack($frame); - $this->stats('badnotice', $queue); - return false; - } + $info = "object posted at {$frame->headers['created']} in queue $queue"; + $item = unserialize($frame->body); $handler = $this->getHandler($queue); if (!$handler) { @@ -303,7 +291,7 @@ class StompQueueManager extends QueueManager return false; } - $ok = $handler->handle_notice($notice); + $ok = $handler->handle($item); if (!$ok) { $this->_log(LOG_WARNING, "Failed handling $info"); @@ -311,7 +299,7 @@ class StompQueueManager extends QueueManager // this kind of queue management ourselves; // if we don't ack, it should resend... $this->con->ack($frame); - $this->enqueue($notice, $queue); + $this->enqueue($item, $queue); $this->stats('requeued', $queue); return false; } diff --git a/lib/xmppmanager.php b/lib/xmppmanager.php index dfff63a30..c49986854 100644 --- a/lib/xmppmanager.php +++ b/lib/xmppmanager.php @@ -175,6 +175,30 @@ class XmppManager extends IoManager } } + /** + * For queue handlers to pass us a message to push out, + * if we're active. + * + * @fixme should this be blocking etc? + * + * @param string $msg XML stanza to send + * @return boolean success + */ + public function send($msg) + { + if ($this->conn && !$this->conn->isDisconnected()) { + $bytes = $this->conn->send($msg); + if ($bytes > 0) { + return true; + } else { + return false; + } + } else { + // Can't send right now... + return false; + } + } + /** * Send a keepalive ping to the XMPP server. */ diff --git a/plugins/Enjit/enjitqueuehandler.php b/plugins/Enjit/enjitqueuehandler.php index f0e706b92..14085cc5e 100644 --- a/plugins/Enjit/enjitqueuehandler.php +++ b/plugins/Enjit/enjitqueuehandler.php @@ -32,14 +32,7 @@ class EnjitQueueHandler extends QueueHandler return 'enjit'; } - function start() - { - $this->log(LOG_INFO, "Starting EnjitQueueHandler"); - $this->log(LOG_INFO, "Broadcasting to ".common_config('enjit', 'apiurl')); - return true; - } - - function handle_notice($notice) + function handle($notice) { $profile = Profile::staticGet($notice->profile_id); diff --git a/plugins/Facebook/facebookqueuehandler.php b/plugins/Facebook/facebookqueuehandler.php index 1778690e5..524af7bc4 100644 --- a/plugins/Facebook/facebookqueuehandler.php +++ b/plugins/Facebook/facebookqueuehandler.php @@ -28,7 +28,7 @@ class FacebookQueueHandler extends QueueHandler return 'facebook'; } - function handle_notice($notice) + function handle($notice) { if ($this->_isLocal($notice)) { return facebookBroadcastNotice($notice); diff --git a/plugins/RSSCloud/RSSCloudPlugin.php b/plugins/RSSCloud/RSSCloudPlugin.php index 2de162628..9f444c8bb 100644 --- a/plugins/RSSCloud/RSSCloudPlugin.php +++ b/plugins/RSSCloud/RSSCloudPlugin.php @@ -138,6 +138,9 @@ class RSSCloudPlugin extends Plugin case 'RSSCloudNotifier': include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php'; return false; + case 'RSSCloudQueueHandler': + include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudQueueHandler.php'; + return false; case 'RSSCloudRequestNotifyAction': case 'LoggingAggregatorAction': include_once INSTALLDIR . '/plugins/RSSCloud/' . @@ -193,32 +196,6 @@ class RSSCloudPlugin extends Plugin return true; } - /** - * broadcast the message when not using queuehandler - * - * @param Notice &$notice the notice - * @param array $queue destination queue - * - * @return boolean hook return - */ - - function onUnqueueHandleNotice(&$notice, $queue) - { - if (($queue == 'rsscloud') && ($this->_isLocal($notice))) { - - common_debug('broadcasting rssCloud bound notice ' . $notice->id); - - $profile = $notice->getProfile(); - - $notifier = new RSSCloudNotifier(); - $notifier->notify($profile); - - return false; - } - - return true; - } - /** * Determine whether the notice was locally created * @@ -261,19 +238,15 @@ class RSSCloudPlugin extends Plugin } /** - * Add RSSCloudQueueHandler to the list of valid daemons to - * start + * Register RSSCloud notice queue handler * - * @param array $daemons the list of daemons to run + * @param QueueManager $manager * * @return boolean hook return - * */ - - function onGetValidDaemons($daemons) + function onEndInitializeQueueManager($manager) { - array_push($daemons, INSTALLDIR . - '/plugins/RSSCloud/RSSCloudQueueHandler.php'); + $manager->connect('rsscloud', 'RSSCloudQueueHandler'); return true; } diff --git a/plugins/RSSCloud/RSSCloudQueueHandler.php b/plugins/RSSCloud/RSSCloudQueueHandler.php old mode 100755 new mode 100644 index 693dd27c1..295c26189 --- a/plugins/RSSCloud/RSSCloudQueueHandler.php +++ b/plugins/RSSCloud/RSSCloudQueueHandler.php @@ -1,4 +1,3 @@ -#!/usr/bin/env php . */ -define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..')); - -$shortoptions = 'i::'; -$longoptions = array('id::'); - -$helptext = <<log(LOG_INFO, "INITIALIZE"); - $this->notifier = new RSSCloudNotifier(); - return true; - } - - function handle_notice($notice) + function handle($notice) { $profile = $notice->getProfile(); - return $this->notifier->notify($profile); - } - - function finish() - { + $notifier = new RSSCloudNotifier(); + return $notifier->notify($profile); } - -} - -if (have_option('i')) { - $id = get_option_value('i'); -} else if (have_option('--id')) { - $id = get_option_value('--id'); -} else if (count($args) > 0) { - $id = $args[0]; -} else { - $id = null; } -$handler = new RSSCloudQueueHandler($id); - -$handler->runOnce(); diff --git a/plugins/TwitterBridge/twitterqueuehandler.php b/plugins/TwitterBridge/twitterqueuehandler.php index 5089ca7b7..b5a624e83 100644 --- a/plugins/TwitterBridge/twitterqueuehandler.php +++ b/plugins/TwitterBridge/twitterqueuehandler.php @@ -28,7 +28,7 @@ class TwitterQueueHandler extends QueueHandler return 'twitter'; } - function handle_notice($notice) + function handle($notice) { return broadcast_twitter($notice); } diff --git a/scripts/handlequeued.php b/scripts/handlequeued.php index 9031437aa..815884969 100755 --- a/scripts/handlequeued.php +++ b/scripts/handlequeued.php @@ -50,7 +50,7 @@ if (empty($notice)) { exit(1); } -if (!$handler->handle_notice($notice)) { +if (!$handler->handle($notice)) { print "Failed to handle notice id $noticeId on queue '$queue'.\n"; exit(1); } -- cgit v1.2.3 From bd72e8b96e1bc360ba46a1864c6121f3b5f11235 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 15 Jan 2010 22:28:43 -0500 Subject: Allow for instances as well as class names to be passed as queue handlers and iomanagers. Introduce IoManager::GLOBAL_SINGLE_ONLY which indicates that only one instance of this iomanager will be run, regardless of how many threads/processes and sites there are. --- lib/iomanager.php | 1 + lib/iomaster.php | 25 ++++++++++++++++++------- lib/queuemanager.php | 6 ++++-- scripts/queuedaemon.php | 13 +++++++++---- 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/lib/iomanager.php b/lib/iomanager.php index ee2ff958b..f9d97d6a9 100644 --- a/lib/iomanager.php +++ b/lib/iomanager.php @@ -31,6 +31,7 @@ abstract class IoManager { + const GLOBAL_SINGLE_ONLY = -1; const SINGLE_ONLY = 0; const INSTANCE_PER_SITE = 1; const INSTANCE_PER_PROCESS = 2; diff --git a/lib/iomaster.php b/lib/iomaster.php index ce77b53b2..979f73e75 100644 --- a/lib/iomaster.php +++ b/lib/iomaster.php @@ -32,6 +32,7 @@ class IoMaster public $id; protected $multiSite = false; + protected $includeGlobalSingletons = true; protected $managers = array(); protected $singletons = array(); @@ -47,8 +48,9 @@ class IoMaster $this->monitor = new QueueMonitor(); } - public function init($multiSite=null) + public function init($multiSite=null, $includeGlobalSingletons = true) { + $this->includeGlobalSingletons = $includeGlobalSingletons; if ($multiSite !== null) { $this->multiSite = $multiSite; } @@ -107,7 +109,7 @@ class IoMaster */ protected function instantiate($class) { - if (isset($this->singletons[$class])) { + if (is_string($class) && isset($this->singletons[$class])) { // Already instantiated a multi-site-capable handler. // Just let it know it should listen to this site too! $this->singletons[$class]->addSite(common_config('site', 'server')); @@ -116,25 +118,34 @@ class IoMaster $manager = $this->getManager($class); + $caps = $manager->multiSite(); if ($this->multiSite) { - $caps = $manager->multiSite(); if ($caps == IoManager::SINGLE_ONLY) { throw new Exception("$class can't run with --all; aborting."); } - if ($caps == IoManager::INSTANCE_PER_PROCESS) { + if ($caps == IoManager::INSTANCE_PER_PROCESS || + ( $this->includeGlobalSingletons && $caps == IoManager::GLOBAL_SINGLE_ONLY )) { // Save this guy for later! // We'll only need the one to cover multiple sites. - $this->singletons[$class] = $manager; + if (is_string($class)){ + $this->singletons[$class] = $manager; + } $manager->addSite(common_config('site', 'server')); } } - $this->managers[] = $manager; + if( $this->includeGlobalSingletons || $caps != IoManager::GLOBAL_SINGLE_ONLY ) { + $this->managers[] = $manager; + } } protected function getManager($class) { - return call_user_func(array($class, 'get')); + if(is_object($class)){ + return $class; + }else{ + return call_user_func(array($class, 'get')); + } } /** diff --git a/lib/queuemanager.php b/lib/queuemanager.php index 291174d3c..b20a93468 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -119,7 +119,9 @@ abstract class QueueManager extends IoManager { if (isset($this->handlers[$queue])) { $class = $this->handlers[$queue]; - if (class_exists($class)) { + if(is_object($class)) { + return $class; + } else if (class_exists($class)) { return new $class(); } else { common_log(LOG_ERR, "Nonexistent handler class '$class' for queue '$queue'"); @@ -182,7 +184,7 @@ abstract class QueueManager extends IoManager * Only registered transports will be reliably picked up! * * @param string $transport - * @param string $class + * @param string $class class name or object instance */ public function connect($transport, $class) { diff --git a/scripts/queuedaemon.php b/scripts/queuedaemon.php index 162f617e0..6cce4eaa7 100755 --- a/scripts/queuedaemon.php +++ b/scripts/queuedaemon.php @@ -122,7 +122,7 @@ class QueueDaemon extends Daemon if ($this->threads > 1) { return $this->runThreads(); } else { - return $this->runLoop(); + return $this->runLoop(true); } } @@ -176,7 +176,8 @@ class QueueDaemon extends Daemon { $this->set_id($this->get_id() . "." . $thread); $this->resetDb(); - $this->runLoop(); + //only include global singletons on the first thread + $this->runLoop($thread == 1); } /** @@ -213,14 +214,18 @@ class QueueDaemon extends Daemon * * Most of the time this won't need to be overridden in a subclass. * + * @param boolean $includeGlobalSingletons Include IoManagers that are + * global singletons (should only be one instance - regardless of how + * many processes or sites there are) + * * @return boolean true on success, false on failure */ - function runLoop() + function runLoop($includeGlobalSingletons) { $this->log(LOG_INFO, 'checking for queued notices'); $master = new IoMaster($this->get_id()); - $master->init($this->all); + $master->init($this->all, $includeGlobalSingletons); $master->service(); $this->log(LOG_INFO, 'finished servicing the queue'); -- cgit v1.2.3 From ef7db60fed8575c381801c0b998d9ed58aab1745 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 22 Jan 2010 17:14:41 -0500 Subject: Revert "Allow for instances as well as class names to be passed as queue handlers and iomanagers." Going to use brion's SpawningDaemon instead This reverts commit bd72e8b96e1bc360ba46a1864c6121f3b5f11235. --- lib/iomanager.php | 1 - lib/iomaster.php | 25 +++++++------------------ lib/queuemanager.php | 6 ++---- scripts/queuedaemon.php | 13 ++++--------- 4 files changed, 13 insertions(+), 32 deletions(-) diff --git a/lib/iomanager.php b/lib/iomanager.php index f9d97d6a9..ee2ff958b 100644 --- a/lib/iomanager.php +++ b/lib/iomanager.php @@ -31,7 +31,6 @@ abstract class IoManager { - const GLOBAL_SINGLE_ONLY = -1; const SINGLE_ONLY = 0; const INSTANCE_PER_SITE = 1; const INSTANCE_PER_PROCESS = 2; diff --git a/lib/iomaster.php b/lib/iomaster.php index 979f73e75..ce77b53b2 100644 --- a/lib/iomaster.php +++ b/lib/iomaster.php @@ -32,7 +32,6 @@ class IoMaster public $id; protected $multiSite = false; - protected $includeGlobalSingletons = true; protected $managers = array(); protected $singletons = array(); @@ -48,9 +47,8 @@ class IoMaster $this->monitor = new QueueMonitor(); } - public function init($multiSite=null, $includeGlobalSingletons = true) + public function init($multiSite=null) { - $this->includeGlobalSingletons = $includeGlobalSingletons; if ($multiSite !== null) { $this->multiSite = $multiSite; } @@ -109,7 +107,7 @@ class IoMaster */ protected function instantiate($class) { - if (is_string($class) && isset($this->singletons[$class])) { + if (isset($this->singletons[$class])) { // Already instantiated a multi-site-capable handler. // Just let it know it should listen to this site too! $this->singletons[$class]->addSite(common_config('site', 'server')); @@ -118,34 +116,25 @@ class IoMaster $manager = $this->getManager($class); - $caps = $manager->multiSite(); if ($this->multiSite) { + $caps = $manager->multiSite(); if ($caps == IoManager::SINGLE_ONLY) { throw new Exception("$class can't run with --all; aborting."); } - if ($caps == IoManager::INSTANCE_PER_PROCESS || - ( $this->includeGlobalSingletons && $caps == IoManager::GLOBAL_SINGLE_ONLY )) { + if ($caps == IoManager::INSTANCE_PER_PROCESS) { // Save this guy for later! // We'll only need the one to cover multiple sites. - if (is_string($class)){ - $this->singletons[$class] = $manager; - } + $this->singletons[$class] = $manager; $manager->addSite(common_config('site', 'server')); } } - if( $this->includeGlobalSingletons || $caps != IoManager::GLOBAL_SINGLE_ONLY ) { - $this->managers[] = $manager; - } + $this->managers[] = $manager; } protected function getManager($class) { - if(is_object($class)){ - return $class; - }else{ - return call_user_func(array($class, 'get')); - } + return call_user_func(array($class, 'get')); } /** diff --git a/lib/queuemanager.php b/lib/queuemanager.php index b20a93468..291174d3c 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -119,9 +119,7 @@ abstract class QueueManager extends IoManager { if (isset($this->handlers[$queue])) { $class = $this->handlers[$queue]; - if(is_object($class)) { - return $class; - } else if (class_exists($class)) { + if (class_exists($class)) { return new $class(); } else { common_log(LOG_ERR, "Nonexistent handler class '$class' for queue '$queue'"); @@ -184,7 +182,7 @@ abstract class QueueManager extends IoManager * Only registered transports will be reliably picked up! * * @param string $transport - * @param string $class class name or object instance + * @param string $class */ public function connect($transport, $class) { diff --git a/scripts/queuedaemon.php b/scripts/queuedaemon.php index 6cce4eaa7..162f617e0 100755 --- a/scripts/queuedaemon.php +++ b/scripts/queuedaemon.php @@ -122,7 +122,7 @@ class QueueDaemon extends Daemon if ($this->threads > 1) { return $this->runThreads(); } else { - return $this->runLoop(true); + return $this->runLoop(); } } @@ -176,8 +176,7 @@ class QueueDaemon extends Daemon { $this->set_id($this->get_id() . "." . $thread); $this->resetDb(); - //only include global singletons on the first thread - $this->runLoop($thread == 1); + $this->runLoop(); } /** @@ -214,18 +213,14 @@ class QueueDaemon extends Daemon * * Most of the time this won't need to be overridden in a subclass. * - * @param boolean $includeGlobalSingletons Include IoManagers that are - * global singletons (should only be one instance - regardless of how - * many processes or sites there are) - * * @return boolean true on success, false on failure */ - function runLoop($includeGlobalSingletons) + function runLoop() { $this->log(LOG_INFO, 'checking for queued notices'); $master = new IoMaster($this->get_id()); - $master->init($this->all, $includeGlobalSingletons); + $master->init($this->all); $master->service(); $this->log(LOG_INFO, 'finished servicing the queue'); -- cgit v1.2.3 From 78eb9c78a781ba8d6929a260e5f9c07714d59ee3 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 22 Jan 2010 17:19:32 -0500 Subject: Will re-enable anything queueing after 0.9.x merge Revert "Any object (not just Notice's) can be queued" This reverts commit 77ea02cac3576f395e4548e7e6cbace90ba566ea. --- classes/Queue_item.php | 13 +++- classes/statusnet.ini | 6 +- db/statusnet.sql | 5 +- lib/dbqueuemanager.php | 95 ++++++++++++++++++--------- lib/jabberqueuehandler.php | 4 +- lib/ombqueuehandler.php | 2 +- lib/pingqueuehandler.php | 2 +- lib/pluginqueuehandler.php | 2 +- lib/publicqueuehandler.php | 6 +- lib/queuehandler.php | 95 ++++++++++++++++++++++++--- lib/smsqueuehandler.php | 2 +- lib/stompqueuemanager.php | 38 +++++++---- lib/xmppmanager.php | 24 ------- plugins/Enjit/enjitqueuehandler.php | 9 ++- plugins/Facebook/facebookqueuehandler.php | 2 +- plugins/RSSCloud/RSSCloudPlugin.php | 41 ++++++++++-- plugins/RSSCloud/RSSCloudQueueHandler.php | 50 ++++++++++++-- plugins/TwitterBridge/twitterqueuehandler.php | 2 +- scripts/handlequeued.php | 2 +- 19 files changed, 291 insertions(+), 109 deletions(-) mode change 100644 => 100755 plugins/RSSCloud/RSSCloudQueueHandler.php diff --git a/classes/Queue_item.php b/classes/Queue_item.php index 4d90e1d23..cf805a606 100644 --- a/classes/Queue_item.php +++ b/classes/Queue_item.php @@ -10,8 +10,7 @@ class Queue_item extends Memcached_DataObject /* the code below is auto generated do not remove the above tag */ public $__table = 'queue_item'; // table name - public $id; // int(4) primary_key not_null - public $frame; // blob not_null + public $notice_id; // int(4) primary_key not_null public $transport; // varchar(8) primary_key not_null public $created; // datetime() not_null public $claimed; // datetime() @@ -23,6 +22,9 @@ class Queue_item extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE + function sequenceKey() + { return array(false, false); } + static function top($transport=null) { $qi = new Queue_item(); @@ -40,7 +42,7 @@ class Queue_item extends Memcached_DataObject # XXX: potential race condition # can we force it to only update if claimed is still null # (or old)? - common_log(LOG_INFO, 'claiming queue item id=' . $qi->id . + common_log(LOG_INFO, 'claiming queue item = ' . $qi->notice_id . ' for transport ' . $qi->transport); $orig = clone($qi); $qi->claimed = common_sql_now(); @@ -55,4 +57,9 @@ class Queue_item extends Memcached_DataObject $qi = null; return null; } + + function pkeyGet($kv) + { + return Memcached_DataObject::pkeyGet('Queue_item', $kv); + } } diff --git a/classes/statusnet.ini b/classes/statusnet.ini index 6203650a6..44088cf6b 100644 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -428,14 +428,14 @@ tagged = K tag = K [queue_item] -id = 129 -frame = 66 +notice_id = 129 transport = 130 created = 142 claimed = 14 [queue_item__keys] -id = K +notice_id = K +transport = K [related_group] group_id = 129 diff --git a/db/statusnet.sql b/db/statusnet.sql index cb7dad3e2..2a9ab74c7 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -274,12 +274,13 @@ create table remember_me ( ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; create table queue_item ( - id integer auto_increment primary key comment 'unique identifier', - frame blob not null comment 'serialized object', + + notice_id integer not null comment 'notice queued' references notice (id), transport varchar(8) not null comment 'queue for what? "email", "jabber", "sms", "irc", ...', created datetime not null comment 'date this record was created', claimed datetime comment 'date this item was claimed', + constraint primary key (notice_id, transport), index queue_item_created_idx (created) ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; diff --git a/lib/dbqueuemanager.php b/lib/dbqueuemanager.php index 139f50234..889365b64 100644 --- a/lib/dbqueuemanager.php +++ b/lib/dbqueuemanager.php @@ -31,17 +31,19 @@ class DBQueueManager extends QueueManager { /** - * Saves an object into the queue item table. + * Saves a notice object reference into the queue item table. * @return boolean true on success * @throws ServerException on failure */ public function enqueue($object, $queue) { + $notice = $object; + $qi = new Queue_item(); - $qi->frame = serialize($object); + $qi->notice_id = $notice->id; $qi->transport = $queue; - $qi->created = common_sql_now(); + $qi->created = $notice->created; $result = $qi->insert(); if (!$result) { @@ -71,35 +73,34 @@ class DBQueueManager extends QueueManager */ public function poll() { - $this->_log(LOG_DEBUG, 'Checking for queued objects...'); - $qi = $this->_nextItem(); - if ($qi === false) { - $this->_log(LOG_DEBUG, 'No queue items waiting; idling.'); + $this->_log(LOG_DEBUG, 'Checking for notices...'); + $item = $this->_nextItem(); + if ($item === false) { + $this->_log(LOG_DEBUG, 'No notices waiting; idling.'); return false; } - if ($qi === true) { - // We dequeued an entry for a deleted or invalid object. + if ($item === true) { + // We dequeued an entry for a deleted or invalid notice. // Consider it a hit for poll rate purposes. return true; } - $queue = $qi->transport; - $object = unserialize($qi->frame); - $this->_log(LOG_INFO, 'Got item id=' . $qi->id . ' for transport ' . $queue); + list($queue, $notice) = $item; + $this->_log(LOG_INFO, 'Got notice '. $notice->id . ' for transport ' . $queue); // Yay! Got one! $handler = $this->getHandler($queue); if ($handler) { - if ($handler->handle($object)) { - $this->_log(LOG_INFO, "[$queue] Successfully handled object"); - $this->_done($qi); + if ($handler->handle_notice($notice)) { + $this->_log(LOG_INFO, "[$queue:notice $notice->id] Successfully handled notice"); + $this->_done($notice, $queue); } else { - $this->_log(LOG_INFO, "[$queue] Failed to handle object"); - $this->_fail($qi); + $this->_log(LOG_INFO, "[$queue:notice $notice->id] Failed to handle notice"); + $this->_fail($notice, $queue); } } else { - $this->_log(LOG_INFO, "[$queue] No handler for queue $queue; discarding."); - $this->_done($qi); + $this->_log(LOG_INFO, "[$queue:notice $notice->id] No handler for queue $queue; discarding."); + $this->_done($notice, $queue); } return true; } @@ -107,7 +108,8 @@ class DBQueueManager extends QueueManager /** * Pop the oldest unclaimed item off the queue set and claim it. * - * @return mixed false if no items; true if bogus hit; otherwise Queue_item + * @return mixed false if no items; true if bogus hit; otherwise array(string, Notice) + * giving the queue transport name. */ protected function _nextItem() { @@ -119,42 +121,70 @@ class DBQueueManager extends QueueManager return false; } - return $qi; + $queue = $qi->transport; + $notice = Notice::staticGet('id', $qi->notice_id); + if (empty($notice)) { + $this->_log(LOG_INFO, "[$queue:notice $notice->id] dequeued non-existent notice"); + $qi->delete(); + return true; + } + + $result = $notice; + return array($queue, $notice); } /** * Delete our claimed item from the queue after successful processing. * - * @param QueueItem $qi + * @param Notice $object + * @param string $queue */ - protected function _done($qi) + protected function _done($object, $queue) { + // XXX: right now, we only handle notices + + $notice = $object; + + $qi = Queue_item::pkeyGet(array('notice_id' => $notice->id, + 'transport' => $queue)); + if (empty($qi)) { - $this->_log(LOG_INFO, "_done passed an empty queue item"); + $this->_log(LOG_INFO, "[$queue:notice $notice->id] Cannot find queue item"); } else { if (empty($qi->claimed)) { - $this->_log(LOG_WARNING, "Reluctantly releasing unclaimed queue item"); + $this->_log(LOG_WARNING, "[$queue:notice $notice->id] Reluctantly releasing unclaimed queue item"); } $qi->delete(); $qi->free(); } - $this->_log(LOG_INFO, "done with item"); + $this->_log(LOG_INFO, "[$queue:notice $notice->id] done with item"); + $this->stats('handled', $queue); + + $notice->free(); } /** * Free our claimed queue item for later reprocessing in case of * temporary failure. * - * @param QueueItem $qi + * @param Notice $object + * @param string $queue */ - protected function _fail($qi) + protected function _fail($object, $queue) { + // XXX: right now, we only handle notices + + $notice = $object; + + $qi = Queue_item::pkeyGet(array('notice_id' => $notice->id, + 'transport' => $queue)); + if (empty($qi)) { - $this->_log(LOG_INFO, "_fail passed an empty queue item"); + $this->_log(LOG_INFO, "[$queue:notice $notice->id] Cannot find queue item"); } else { if (empty($qi->claimed)) { - $this->_log(LOG_WARNING, "Ignoring failure for unclaimed queue item"); + $this->_log(LOG_WARNING, "[$queue:notice $notice->id] Ignoring failure for unclaimed queue item"); } else { $orig = clone($qi); $qi->claimed = null; @@ -163,7 +193,10 @@ class DBQueueManager extends QueueManager } } - $this->_log(LOG_INFO, "done with queue item"); + $this->_log(LOG_INFO, "[$queue:notice $notice->id] done with queue item"); + $this->stats('error', $queue); + + $notice->free(); } protected function _log($level, $msg) diff --git a/lib/jabberqueuehandler.php b/lib/jabberqueuehandler.php index 83471f2df..b1518866d 100644 --- a/lib/jabberqueuehandler.php +++ b/lib/jabberqueuehandler.php @@ -34,14 +34,14 @@ class JabberQueueHandler extends QueueHandler return 'jabber'; } - function handle($notice) + function handle_notice($notice) { require_once(INSTALLDIR.'/lib/jabber.php'); try { return jabber_broadcast_notice($notice); } catch (XMPPHP_Exception $e) { $this->log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - return false; + exit(1); } } } diff --git a/lib/ombqueuehandler.php b/lib/ombqueuehandler.php index 24896c784..3ffc1313b 100644 --- a/lib/ombqueuehandler.php +++ b/lib/ombqueuehandler.php @@ -36,7 +36,7 @@ class OmbQueueHandler extends QueueHandler * @fixme doesn't currently report failure back to the queue manager * because omb_broadcast_notice() doesn't report it to us */ - function handle($notice) + function handle_notice($notice) { if ($this->is_remote($notice)) { $this->log(LOG_DEBUG, 'Ignoring remote notice ' . $notice->id); diff --git a/lib/pingqueuehandler.php b/lib/pingqueuehandler.php index 4e4d74cb1..8bb218078 100644 --- a/lib/pingqueuehandler.php +++ b/lib/pingqueuehandler.php @@ -30,7 +30,7 @@ class PingQueueHandler extends QueueHandler { return 'ping'; } - function handle($notice) { + function handle_notice($notice) { require_once INSTALLDIR . '/lib/ping.php'; return ping_broadcast_notice($notice); } diff --git a/lib/pluginqueuehandler.php b/lib/pluginqueuehandler.php index 9653ccad4..24d504699 100644 --- a/lib/pluginqueuehandler.php +++ b/lib/pluginqueuehandler.php @@ -42,7 +42,7 @@ class PluginQueueHandler extends QueueHandler return 'plugin'; } - function handle($notice) + function handle_notice($notice) { Event::handle('HandleQueuedNotice', array(&$notice)); return true; diff --git a/lib/publicqueuehandler.php b/lib/publicqueuehandler.php index c9edb8d5d..9ea9ee73a 100644 --- a/lib/publicqueuehandler.php +++ b/lib/publicqueuehandler.php @@ -23,6 +23,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { /** * Queue handler for pushing new notices to public XMPP subscribers. + * @fixme correct this exception handling */ class PublicQueueHandler extends QueueHandler { @@ -32,14 +33,15 @@ class PublicQueueHandler extends QueueHandler return 'public'; } - function handle($notice) + function handle_notice($notice) { require_once(INSTALLDIR.'/lib/jabber.php'); try { return jabber_public_notice($notice); } catch (XMPPHP_Exception $e) { $this->log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - return false; + die($e->getMessage()); } + return true; } } diff --git a/lib/queuehandler.php b/lib/queuehandler.php index 2909cd83b..613be6e33 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -22,20 +22,51 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Base class for queue handlers. * - * As of 0.9, queue handlers are short-lived for items as they are - * dequeued by a QueueManager running in an IoMaster in a daemon - * such as queuedaemon.php. - * - * Extensions requiring long-running maintenance or polling should - * register an IoManager. + * As extensions of the Daemon class, each queue handler has the ability + * to launch itself in the background, at which point it'll pass control + * to the configured QueueManager class to poll for updates. * * Subclasses must override at least the following methods: * - transport - * - handle + * - handle_notice */ +#class QueueHandler extends Daemon class QueueHandler { +# function __construct($id=null, $daemonize=true) +# { +# parent::__construct($daemonize); +# +# if ($id) { +# $this->set_id($id); +# } +# } + + /** + * How many seconds a polling-based queue manager should wait between + * checks for new items to handle. + * + * Defaults to 60 seconds; override to speed up or slow down. + * + * @fixme not really compatible with global queue manager + * @return int timeout in seconds + */ +# function timeout() +# { +# return 60; +# } + +# function class_name() +# { +# return ucfirst($this->transport()) . 'Handler'; +# } + +# function name() +# { +# return strtolower($this->class_name().'.'.$this->get_id()); +# } + /** * Return transport keyword which identifies items this queue handler * services; must be defined for all subclasses. @@ -52,17 +83,61 @@ class QueueHandler /** * Here's the meat of your queue handler -- you're handed a Notice - * or other object, which you may do as you will with. + * object, which you may do as you will with. * * If this function indicates failure, a warning will be logged * and the item is placed back in the queue to be re-run. * - * @param mixed $object + * @param Notice $notice + * @return boolean true on success, false on failure + */ + function handle_notice($notice) + { + return true; + } + + /** + * Setup and start of run loop for this queue handler as a daemon. + * Most of the heavy lifting is passed on to the QueueManager's service() + * method, which passes control back to our handle_notice() method for + * each notice that comes in on the queue. + * + * Most of the time this won't need to be overridden in a subclass. + * * @return boolean true on success, false on failure */ - function handle($object) + function run() { + if (!$this->start()) { + $this->log(LOG_WARNING, 'failed to start'); + return false; + } + + $this->log(LOG_INFO, 'checking for queued notices'); + + $queue = $this->transport(); + $timeout = $this->timeout(); + + $qm = QueueManager::get(); + + $qm->service($queue, $this); + + $this->log(LOG_INFO, 'finished servicing the queue'); + + if (!$this->finish()) { + $this->log(LOG_WARNING, 'failed to clean up'); + return false; + } + + $this->log(LOG_INFO, 'terminating normally'); + return true; } + + + function log($level, $msg) + { + common_log($level, $this->class_name() . ' ('. $this->get_id() .'): '.$msg); + } } diff --git a/lib/smsqueuehandler.php b/lib/smsqueuehandler.php index 6085d2b4a..48a96409d 100644 --- a/lib/smsqueuehandler.php +++ b/lib/smsqueuehandler.php @@ -31,7 +31,7 @@ class SmsQueueHandler extends QueueHandler return 'sms'; } - function handle($notice) + function handle_notice($notice) { require_once(INSTALLDIR.'/lib/mail.php'); return mail_broadcast_notice_sms($notice); diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 6496b5cf1..00590fdb6 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -125,25 +125,28 @@ class StompQueueManager extends QueueManager } /** - * Saves an object into the queue item table. + * Saves a notice object reference into the queue item table. * @return boolean true on success */ public function enqueue($object, $queue) { - $msg = serialize($object); + $notice = $object; $this->_connect(); + // XXX: serialize and send entire notice + $result = $this->con->send($this->queueName($queue), - $msg, // BODY of the message - array ('created' => $timestamp)); + $notice->id, // BODY of the message + array ('created' => $notice->created)); if (!$result) { common_log(LOG_ERR, 'Error sending to '.$queue.' queue'); return false; } - common_log(LOG_DEBUG, "complete remote queueing $log for $queue"); + common_log(LOG_DEBUG, 'complete remote queueing notice ID = ' + . $notice->id . ' for ' . $queue); $this->stats('enqueued', $queue); } @@ -171,7 +174,7 @@ class StompQueueManager extends QueueManager $ok = true; $frames = $this->con->readFrames(); foreach ($frames as $frame) { - $ok = $ok && $this->_handleItem($frame); + $ok = $ok && $this->_handleNotice($frame); } return $ok; } @@ -262,10 +265,10 @@ class StompQueueManager extends QueueManager } /** - * Handle and acknowledge an event that's come in through a queue. + * Handle and acknowledge a notice event that's come in through a queue. * * If the queue handler reports failure, the message is requeued for later. - * Missing objects or handler classes will drop the message. + * Missing notices or handler classes will drop the message. * * Side effects: in multi-site mode, may reset site configuration to * match the site that queued the event. @@ -273,15 +276,24 @@ class StompQueueManager extends QueueManager * @param StompFrame $frame * @return bool */ - protected function _handleItem($frame) + protected function _handleNotice($frame) { list($site, $queue) = $this->parseDestination($frame->headers['destination']); if ($site != common_config('site', 'server')) { $this->stats('switch'); StatusNet::init($site); } - $info = "object posted at {$frame->headers['created']} in queue $queue"; - $item = unserialize($frame->body); + + $id = intval($frame->body); + $info = "notice $id posted at {$frame->headers['created']} in queue $queue"; + + $notice = Notice::staticGet('id', $id); + if (empty($notice)) { + $this->_log(LOG_WARNING, "Skipping missing $info"); + $this->con->ack($frame); + $this->stats('badnotice', $queue); + return false; + } $handler = $this->getHandler($queue); if (!$handler) { @@ -291,7 +303,7 @@ class StompQueueManager extends QueueManager return false; } - $ok = $handler->handle($item); + $ok = $handler->handle_notice($notice); if (!$ok) { $this->_log(LOG_WARNING, "Failed handling $info"); @@ -299,7 +311,7 @@ class StompQueueManager extends QueueManager // this kind of queue management ourselves; // if we don't ack, it should resend... $this->con->ack($frame); - $this->enqueue($item, $queue); + $this->enqueue($notice, $queue); $this->stats('requeued', $queue); return false; } diff --git a/lib/xmppmanager.php b/lib/xmppmanager.php index c49986854..dfff63a30 100644 --- a/lib/xmppmanager.php +++ b/lib/xmppmanager.php @@ -175,30 +175,6 @@ class XmppManager extends IoManager } } - /** - * For queue handlers to pass us a message to push out, - * if we're active. - * - * @fixme should this be blocking etc? - * - * @param string $msg XML stanza to send - * @return boolean success - */ - public function send($msg) - { - if ($this->conn && !$this->conn->isDisconnected()) { - $bytes = $this->conn->send($msg); - if ($bytes > 0) { - return true; - } else { - return false; - } - } else { - // Can't send right now... - return false; - } - } - /** * Send a keepalive ping to the XMPP server. */ diff --git a/plugins/Enjit/enjitqueuehandler.php b/plugins/Enjit/enjitqueuehandler.php index 14085cc5e..f0e706b92 100644 --- a/plugins/Enjit/enjitqueuehandler.php +++ b/plugins/Enjit/enjitqueuehandler.php @@ -32,7 +32,14 @@ class EnjitQueueHandler extends QueueHandler return 'enjit'; } - function handle($notice) + function start() + { + $this->log(LOG_INFO, "Starting EnjitQueueHandler"); + $this->log(LOG_INFO, "Broadcasting to ".common_config('enjit', 'apiurl')); + return true; + } + + function handle_notice($notice) { $profile = Profile::staticGet($notice->profile_id); diff --git a/plugins/Facebook/facebookqueuehandler.php b/plugins/Facebook/facebookqueuehandler.php index 524af7bc4..1778690e5 100644 --- a/plugins/Facebook/facebookqueuehandler.php +++ b/plugins/Facebook/facebookqueuehandler.php @@ -28,7 +28,7 @@ class FacebookQueueHandler extends QueueHandler return 'facebook'; } - function handle($notice) + function handle_notice($notice) { if ($this->_isLocal($notice)) { return facebookBroadcastNotice($notice); diff --git a/plugins/RSSCloud/RSSCloudPlugin.php b/plugins/RSSCloud/RSSCloudPlugin.php index 9f444c8bb..2de162628 100644 --- a/plugins/RSSCloud/RSSCloudPlugin.php +++ b/plugins/RSSCloud/RSSCloudPlugin.php @@ -138,9 +138,6 @@ class RSSCloudPlugin extends Plugin case 'RSSCloudNotifier': include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php'; return false; - case 'RSSCloudQueueHandler': - include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudQueueHandler.php'; - return false; case 'RSSCloudRequestNotifyAction': case 'LoggingAggregatorAction': include_once INSTALLDIR . '/plugins/RSSCloud/' . @@ -196,6 +193,32 @@ class RSSCloudPlugin extends Plugin return true; } + /** + * broadcast the message when not using queuehandler + * + * @param Notice &$notice the notice + * @param array $queue destination queue + * + * @return boolean hook return + */ + + function onUnqueueHandleNotice(&$notice, $queue) + { + if (($queue == 'rsscloud') && ($this->_isLocal($notice))) { + + common_debug('broadcasting rssCloud bound notice ' . $notice->id); + + $profile = $notice->getProfile(); + + $notifier = new RSSCloudNotifier(); + $notifier->notify($profile); + + return false; + } + + return true; + } + /** * Determine whether the notice was locally created * @@ -238,15 +261,19 @@ class RSSCloudPlugin extends Plugin } /** - * Register RSSCloud notice queue handler + * Add RSSCloudQueueHandler to the list of valid daemons to + * start * - * @param QueueManager $manager + * @param array $daemons the list of daemons to run * * @return boolean hook return + * */ - function onEndInitializeQueueManager($manager) + + function onGetValidDaemons($daemons) { - $manager->connect('rsscloud', 'RSSCloudQueueHandler'); + array_push($daemons, INSTALLDIR . + '/plugins/RSSCloud/RSSCloudQueueHandler.php'); return true; } diff --git a/plugins/RSSCloud/RSSCloudQueueHandler.php b/plugins/RSSCloud/RSSCloudQueueHandler.php old mode 100644 new mode 100755 index 295c26189..693dd27c1 --- a/plugins/RSSCloud/RSSCloudQueueHandler.php +++ b/plugins/RSSCloud/RSSCloudQueueHandler.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php . */ -if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } +define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..')); + +$shortoptions = 'i::'; +$longoptions = array('id::'); + +$helptext = <<log(LOG_INFO, "INITIALIZE"); + $this->notifier = new RSSCloudNotifier(); + return true; + } + + function handle_notice($notice) { $profile = $notice->getProfile(); - $notifier = new RSSCloudNotifier(); - return $notifier->notify($profile); + return $this->notifier->notify($profile); + } + + function finish() + { } + +} + +if (have_option('i')) { + $id = get_option_value('i'); +} else if (have_option('--id')) { + $id = get_option_value('--id'); +} else if (count($args) > 0) { + $id = $args[0]; +} else { + $id = null; } +$handler = new RSSCloudQueueHandler($id); + +$handler->runOnce(); diff --git a/plugins/TwitterBridge/twitterqueuehandler.php b/plugins/TwitterBridge/twitterqueuehandler.php index b5a624e83..5089ca7b7 100644 --- a/plugins/TwitterBridge/twitterqueuehandler.php +++ b/plugins/TwitterBridge/twitterqueuehandler.php @@ -28,7 +28,7 @@ class TwitterQueueHandler extends QueueHandler return 'twitter'; } - function handle($notice) + function handle_notice($notice) { return broadcast_twitter($notice); } diff --git a/scripts/handlequeued.php b/scripts/handlequeued.php index 815884969..9031437aa 100755 --- a/scripts/handlequeued.php +++ b/scripts/handlequeued.php @@ -50,7 +50,7 @@ if (empty($notice)) { exit(1); } -if (!$handler->handle($notice)) { +if (!$handler->handle_notice($notice)) { print "Failed to handle notice id $noticeId on queue '$queue'.\n"; exit(1); } -- cgit v1.2.3 From b34bbb0e8045008a0048829672af905385241735 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 22 Jan 2010 17:55:26 -0500 Subject: Store serialized representations of queue items in the queue --- lib/queuemanager.php | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/lib/queuemanager.php b/lib/queuemanager.php index 4eb39bfa8..8921b02cc 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -139,20 +139,13 @@ abstract class QueueManager extends IoManager /** * Encode an object for queued storage. - * Next gen may use serialization. * * @param mixed $object * @return string */ protected function encode($object) { - if ($object instanceof Notice) { - return $object->id; - } else if (is_string($object)) { - return $object; - } else { - throw new ServerException("Can't queue this type", 500); - } + return serialize($object); } /** @@ -164,11 +157,7 @@ abstract class QueueManager extends IoManager */ protected function decode($frame) { - if (is_numeric($frame)) { - return Notice::staticGet(intval($frame)); - } else { - return $frame; - } + return unserialize($frame); } /** -- cgit v1.2.3 From e9995b0f6ab0788162e22c996e5ee0af416dd519 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Sat, 23 Jan 2010 01:25:27 -0500 Subject: Create IM plugin, Pluginize XMPP, Create AIM plugin --- EVENTS.txt | 18 + actions/apiaccountupdatedeliverydevice.php | 10 +- actions/confirmaddress.php | 97 +- actions/imsettings.php | 317 ++-- actions/shownotice.php | 6 - actions/showstream.php | 6 - classes/User.php | 7 +- classes/User_im_prefs.php | 71 + classes/statusnet.ini | 22 +- db/statusnet.sql | 28 +- lib/channel.php | 57 - lib/command.php | 4 +- lib/imchannel.php | 104 ++ lib/immanager.php | 70 + lib/implugin.php | 612 +++++++ lib/imqueuehandler.php | 48 + lib/imreceiverqueuehandler.php | 42 + lib/imsenderqueuehandler.php | 44 + lib/jabber.php | 473 ----- lib/jabberqueuehandler.php | 47 - lib/publicqueuehandler.php | 45 - lib/queued_xmpp.php | 117 -- lib/queuehandler.php | 14 - lib/queuemanager.php | 14 +- lib/queuemonitor.php | 2 +- lib/util.php | 9 - lib/xmppmanager.php | 485 ------ lib/xmppoutqueuehandler.php | 55 - plugins/Aim/AimPlugin.php | 162 ++ plugins/Aim/Fake_Aim.php | 43 + plugins/Aim/README | 27 + plugins/Aim/aimmanager.php | 100 ++ plugins/Aim/extlib/phptoclib/README.txt | 169 ++ plugins/Aim/extlib/phptoclib/aimclassw.php | 2370 ++++++++++++++++++++++++++ plugins/Aim/extlib/phptoclib/dconnection.php | 229 +++ plugins/Imap/imapmanager.php | 8 +- plugins/Xmpp/Fake_XMPP.php | 104 ++ plugins/Xmpp/README | 35 + plugins/Xmpp/Sharing_XMPP.php | 43 + plugins/Xmpp/XmppPlugin.php | 247 +++ plugins/Xmpp/xmppmanager.php | 279 +++ scripts/getvaliddaemons.php | 4 +- scripts/imdaemon.php | 93 + scripts/queuedaemon.php | 9 +- scripts/stopdaemons.sh | 4 +- scripts/xmppdaemon.php | 98 -- 46 files changed, 5200 insertions(+), 1648 deletions(-) create mode 100644 classes/User_im_prefs.php create mode 100644 lib/imchannel.php create mode 100644 lib/immanager.php create mode 100644 lib/implugin.php create mode 100644 lib/imqueuehandler.php create mode 100644 lib/imreceiverqueuehandler.php create mode 100644 lib/imsenderqueuehandler.php delete mode 100644 lib/jabber.php delete mode 100644 lib/jabberqueuehandler.php delete mode 100644 lib/publicqueuehandler.php delete mode 100644 lib/queued_xmpp.php delete mode 100644 lib/xmppmanager.php delete mode 100644 lib/xmppoutqueuehandler.php create mode 100644 plugins/Aim/AimPlugin.php create mode 100644 plugins/Aim/Fake_Aim.php create mode 100644 plugins/Aim/README create mode 100644 plugins/Aim/aimmanager.php create mode 100755 plugins/Aim/extlib/phptoclib/README.txt create mode 100755 plugins/Aim/extlib/phptoclib/aimclassw.php create mode 100755 plugins/Aim/extlib/phptoclib/dconnection.php create mode 100644 plugins/Xmpp/Fake_XMPP.php create mode 100644 plugins/Xmpp/README create mode 100644 plugins/Xmpp/Sharing_XMPP.php create mode 100644 plugins/Xmpp/XmppPlugin.php create mode 100644 plugins/Xmpp/xmppmanager.php create mode 100755 scripts/imdaemon.php delete mode 100755 scripts/xmppdaemon.php diff --git a/EVENTS.txt b/EVENTS.txt index 1ed670697..45f1e9d70 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -699,3 +699,21 @@ StartShowContentLicense: Showing the default license for content EndShowContentLicense: Showing the default license for content - $action: the current action + +GetImTransports: Get IM transports that are available +- &$transports: append your transport to this array like so: $transports[transportName]=array('display'=>display) + +NormalizeImScreenname: Normalize an IM screenname +- $transport: transport the screenname is on +- &$screenname: screenname to be normalized + +ValidateImScreenname: Validate an IM screenname +- $transport: transport the screenname is on +- $screenname: screenname to be validated +- $valid: is the screenname valid? + +SendImConfirmationCode: Send a confirmation code to confirm a user owns an IM screenname +- $transport: transport the screenname exists on +- $screenname: screenname being confirmed +- $code: confirmation code for confirmation URL +- $user: user requesting the confirmation diff --git a/actions/apiaccountupdatedeliverydevice.php b/actions/apiaccountupdatedeliverydevice.php index 684906fe9..4bd6c326f 100644 --- a/actions/apiaccountupdatedeliverydevice.php +++ b/actions/apiaccountupdatedeliverydevice.php @@ -119,10 +119,16 @@ class ApiAccountUpdateDeliveryDeviceAction extends ApiAuthAction if (strtolower($this->device) == 'sms') { $this->user->smsnotify = true; } elseif (strtolower($this->device) == 'im') { - $this->user->jabbernotify = true; + //TODO IM is pluginized now, so what should we do? + //Enable notifications for all IM plugins? + //For now, don't do anything + //$this->user->jabbernotify = true; } elseif (strtolower($this->device == 'none')) { $this->user->smsnotify = false; - $this->user->jabbernotify = false; + //TODO IM is pluginized now, so what should we do? + //Disable notifications for all IM plugins? + //For now, don't do anything + //$this->user->jabbernotify = false; } $result = $this->user->update($original); diff --git a/actions/confirmaddress.php b/actions/confirmaddress.php index cc8351d8d..eaf1c91c1 100644 --- a/actions/confirmaddress.php +++ b/actions/confirmaddress.php @@ -49,7 +49,7 @@ class ConfirmaddressAction extends Action { /** type of confirmation. */ - var $type = null; + var $address; /** * Accept a confirmation code @@ -86,37 +86,75 @@ class ConfirmaddressAction extends Action return; } $type = $confirm->address_type; - if (!in_array($type, array('email', 'jabber', 'sms'))) { + $transports = array(); + Event::handle('GetImTransports', array(&$transports)); + if (!in_array($type, array('email', 'sms')) && !in_array($type, array_keys($transports))) { $this->serverError(sprintf(_('Unrecognized address type %s'), $type)); return; } - if ($cur->$type == $confirm->address) { - $this->clientError(_('That address has already been confirmed.')); - return; - } - + $this->address = $confirm->address; $cur->query('BEGIN'); + if (in_array($type, array('email', 'sms'))) + { + if ($cur->$type == $confirm->address) { + $this->clientError(_('That address has already been confirmed.')); + return; + } + + $orig_user = clone($cur); + + $cur->$type = $confirm->address; + + if ($type == 'sms') { + $cur->carrier = ($confirm->address_extra)+0; + $carrier = Sms_carrier::staticGet($cur->carrier); + $cur->smsemail = $carrier->toEmailAddress($cur->sms); + } + + $result = $cur->updateKeys($orig_user); + + if (!$result) { + common_log_db_error($cur, 'UPDATE', __FILE__); + $this->serverError(_('Couldn\'t update user.')); + return; + } + + if ($type == 'email') { + $cur->emailChanged(); + } + + } else { + + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->transport = $confirm->address_type; + $user_im_prefs->user_id = $cur->id; + if ($user_im_prefs->find() && $user_im_prefs->fetch()) { + if($user_im_prefs->screenname == $confirm->address){ + $this->clientError(_('That address has already been confirmed.')); + return; + } + $user_im_prefs->screenname = $confirm->address; + $result = $user_im_prefs->update(); + + if (!$result) { + common_log_db_error($user_im_prefs, 'UPDATE', __FILE__); + $this->serverError(_('Couldn\'t update user im preferences.')); + return; + } + }else{ + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->screenname = $confirm->address; + $user_im_prefs->transport = $confirm->address_type; + $user_im_prefs->user_id = $cur->id; + $result = $user_im_prefs->insert(); + + if (!$result) { + common_log_db_error($user_im_prefs, 'INSERT', __FILE__); + $this->serverError(_('Couldn\'t insert user im preferences.')); + return; + } + } - $orig_user = clone($cur); - - $cur->$type = $confirm->address; - - if ($type == 'sms') { - $cur->carrier = ($confirm->address_extra)+0; - $carrier = Sms_carrier::staticGet($cur->carrier); - $cur->smsemail = $carrier->toEmailAddress($cur->sms); - } - - $result = $cur->updateKeys($orig_user); - - if (!$result) { - common_log_db_error($cur, 'UPDATE', __FILE__); - $this->serverError(_('Couldn\'t update user.')); - return; - } - - if ($type == 'email') { - $cur->emailChanged(); } $result = $confirm->delete(); @@ -128,8 +166,6 @@ class ConfirmaddressAction extends Action } $cur->query('COMMIT'); - - $this->type = $type; $this->showPage(); } @@ -153,11 +189,10 @@ class ConfirmaddressAction extends Action function showContent() { $cur = common_current_user(); - $type = $this->type; $this->element('p', null, sprintf(_('The address "%s" has been '. 'confirmed for your account.'), - $cur->$type)); + $this->address)); } } diff --git a/actions/imsettings.php b/actions/imsettings.php index af4915843..fe1864f0d 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -31,9 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR.'/lib/connectsettingsaction.php'; -require_once INSTALLDIR.'/lib/jabber.php'; - /** * Settings for Jabber/XMPP integration * @@ -68,8 +65,8 @@ class ImsettingsAction extends ConnectSettingsAction function getInstructions() { return _('You can send and receive notices through '. - 'Jabber/GTalk [instant messages](%%doc.im%%). '. - 'Configure your address and settings below.'); + 'instant messaging [instant messages](%%doc.im%%). '. + 'Configure your addresses and settings below.'); } /** @@ -84,85 +81,108 @@ class ImsettingsAction extends ConnectSettingsAction function showContent() { - if (!common_config('xmpp', 'enabled')) { + $transports = array(); + Event::handle('GetImTransports', array(&$transports)); + if (! $transports) { $this->element('div', array('class' => 'error'), _('IM is not available.')); return; } $user = common_current_user(); - $this->elementStart('form', array('method' => 'post', - 'id' => 'form_settings_im', - 'class' => 'form_settings', - 'action' => - common_local_url('imsettings'))); - $this->elementStart('fieldset', array('id' => 'settings_im_address')); - $this->element('legend', null, _('Address')); - $this->hidden('token', common_session_token()); - - if ($user->jabber) { - $this->element('p', 'form_confirmed', $user->jabber); - $this->element('p', 'form_note', - _('Current confirmed Jabber/GTalk address.')); - $this->hidden('jabber', $user->jabber); - $this->submit('remove', _('Remove')); - } else { - $confirm = $this->getConfirmation(); - if ($confirm) { - $this->element('p', 'form_unconfirmed', $confirm->address); + + $user_im_prefs_by_transport = array(); + + foreach($transports as $transport=>$transport_info) + { + $this->elementStart('form', array('method' => 'post', + 'id' => 'form_settings_im', + 'class' => 'form_settings', + 'action' => + common_local_url('imsettings'))); + $this->elementStart('fieldset', array('id' => 'settings_im_address')); + $this->element('legend', null, $transport_info['display']); + $this->hidden('token', common_session_token()); + $this->hidden('transport', $transport); + + if ($user_im_prefs = User_im_prefs::pkeyGet( array('transport' => $transport, 'user_id' => $user->id) )) { + $user_im_prefs_by_transport[$transport] = $user_im_prefs; + $this->element('p', 'form_confirmed', $user_im_prefs->screenname); $this->element('p', 'form_note', - sprintf(_('Awaiting confirmation on this address. '. - 'Check your Jabber/GTalk account for a '. - 'message with further instructions. '. - '(Did you add %s to your buddy list?)'), - jabber_daemon_address())); - $this->hidden('jabber', $confirm->address); - $this->submit('cancel', _('Cancel')); + sprintf(_('Current confirmed %s address.'),$transport_info['display'])); + $this->hidden('screenname', $user_im_prefs->screenname); + $this->submit('remove', _('Remove')); } else { - $this->elementStart('ul', 'form_data'); - $this->elementStart('li'); - $this->input('jabber', _('IM address'), - ($this->arg('jabber')) ? $this->arg('jabber') : null, - sprintf(_('Jabber or GTalk address, '. - 'like "UserName@example.org". '. - 'First, make sure to add %s to your '. - 'buddy list in your IM client or on GTalk.'), - jabber_daemon_address())); - $this->elementEnd('li'); - $this->elementEnd('ul'); - $this->submit('add', _('Add')); + $confirm = $this->getConfirmation($transport); + if ($confirm) { + $this->element('p', 'form_unconfirmed', $confirm->address); + $this->element('p', 'form_note', + sprintf(_('Awaiting confirmation on this address. '. + 'Check your %s account for a '. + 'message with further instructions.'), + $transport_info['display'])); + $this->hidden('screenname', $confirm->address); + $this->submit('cancel', _('Cancel')); + } else { + $this->elementStart('ul', 'form_data'); + $this->elementStart('li'); + $this->input('screenname', _('IM address'), + ($this->arg('screenname')) ? $this->arg('screenname') : null, + sprintf(_('%s screenname.'), + $transport_info['display'])); + $this->elementEnd('li'); + $this->elementEnd('ul'); + $this->submit('add', _('Add')); + } } + $this->elementEnd('fieldset'); + $this->elementEnd('form'); + } + + if($user_im_prefs_by_transport) + { + $this->elementStart('form', array('method' => 'post', + 'id' => 'form_settings_im', + 'class' => 'form_settings', + 'action' => + common_local_url('imsettings'))); + $this->elementStart('fieldset', array('id' => 'settings_im_preferences')); + $this->element('legend', null, _('Preferences')); + $this->hidden('token', common_session_token()); + $this->elementStart('table'); + $this->elementStart('tr'); + $this->element('th', null, _('Preferences')); + foreach($user_im_prefs_by_transport as $transport=>$user_im_prefs) + { + $this->element('th', null, $transports[$transport]['display']); + } + $this->elementEnd('tr'); + $preferences = array( + array('name'=>'notify', 'description'=>_('Send me notices')), + array('name'=>'updatefrompresence', 'description'=>_('Post a notice when my status changes.')), + array('name'=>'replies', 'description'=>_('Send me replies '. + 'from people I\'m not subscribed to.')), + array('name'=>'microid', 'description'=>_('Publish a MicroID')) + ); + foreach($preferences as $preference) + { + $this->elementStart('tr'); + foreach($user_im_prefs_by_transport as $transport=>$user_im_prefs) + { + $preference_name = $preference['name']; + $this->elementStart('td'); + $this->checkbox($transport . '_' . $preference['name'], + $preference['description'], + $user_im_prefs->$preference_name); + $this->elementEnd('td'); + } + $this->elementEnd('tr'); + } + $this->elementEnd('table'); + $this->submit('save', _('Save')); + $this->elementEnd('fieldset'); + $this->elementEnd('form'); } - $this->elementEnd('fieldset'); - - $this->elementStart('fieldset', array('id' => 'settings_im_preferences')); - $this->element('legend', null, _('Preferences')); - $this->elementStart('ul', 'form_data'); - $this->elementStart('li'); - $this->checkbox('jabbernotify', - _('Send me notices through Jabber/GTalk.'), - $user->jabbernotify); - $this->elementEnd('li'); - $this->elementStart('li'); - $this->checkbox('updatefrompresence', - _('Post a notice when my Jabber/GTalk status changes.'), - $user->updatefrompresence); - $this->elementEnd('li'); - $this->elementStart('li'); - $this->checkbox('jabberreplies', - _('Send me replies through Jabber/GTalk '. - 'from people I\'m not subscribed to.'), - $user->jabberreplies); - $this->elementEnd('li'); - $this->elementStart('li'); - $this->checkbox('jabbermicroid', - _('Publish a MicroID for my Jabber/GTalk address.'), - $user->jabbermicroid); - $this->elementEnd('li'); - $this->elementEnd('ul'); - $this->submit('save', _('Save')); - $this->elementEnd('fieldset'); - $this->elementEnd('form'); } /** @@ -171,14 +191,14 @@ class ImsettingsAction extends ConnectSettingsAction * @return Confirm_address address object for this user */ - function getConfirmation() + function getConfirmation($transport) { $user = common_current_user(); $confirm = new Confirm_address(); $confirm->user_id = $user->id; - $confirm->address_type = 'jabber'; + $confirm->address_type = $transport; if ($confirm->find(true)) { return $confirm; @@ -232,35 +252,31 @@ class ImsettingsAction extends ConnectSettingsAction function savePreferences() { - - $jabbernotify = $this->boolean('jabbernotify'); - $updatefrompresence = $this->boolean('updatefrompresence'); - $jabberreplies = $this->boolean('jabberreplies'); - $jabbermicroid = $this->boolean('jabbermicroid'); - $user = common_current_user(); - assert(!is_null($user)); // should already be checked - - $user->query('BEGIN'); - - $original = clone($user); - - $user->jabbernotify = $jabbernotify; - $user->updatefrompresence = $updatefrompresence; - $user->jabberreplies = $jabberreplies; - $user->jabbermicroid = $jabbermicroid; - - $result = $user->update($original); - - if ($result === false) { - common_log_db_error($user, 'UPDATE', __FILE__); - $this->serverError(_('Couldn\'t update user.')); - return; + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->user_id = $user->id; + if($user_im_prefs->find() && $user_im_prefs->fetch()) + { + $preferences = array('notify', 'updatefrompresence', 'replies', 'microid'); + $user_im_prefs->query('BEGIN'); + do + { + $original = clone($user_im_prefs); + foreach($preferences as $preference) + { + $user_im_prefs->$preference = $this->boolean($user_im_prefs->transport . '_' . $preference); + } + $result = $user_im_prefs->update($original); + + if ($result === false) { + common_log_db_error($user, 'UPDATE', __FILE__); + $this->serverError(_('Couldn\'t update IM preferences.')); + return; + } + }while($user_im_prefs->fetch()); + $user_im_prefs->query('COMMIT'); } - - $user->query('COMMIT'); - $this->showForm(_('Preferences saved.'), true); } @@ -268,7 +284,7 @@ class ImsettingsAction extends ConnectSettingsAction * Sends a confirmation to the address given * * Stores a confirmation record and sends out a - * Jabber message with the confirmation info. + * message with the confirmation info. * * @return void */ @@ -277,36 +293,41 @@ class ImsettingsAction extends ConnectSettingsAction { $user = common_current_user(); - $jabber = $this->trimmed('jabber'); + $screenname = $this->trimmed('screenname'); + $transport = $this->trimmed('transport'); // Some validation - if (!$jabber) { - $this->showForm(_('No Jabber ID.')); + if (!$screenname) { + $this->showForm(_('No screenname.')); return; } - $jabber = jabber_normalize_jid($jabber); - - if (!$jabber) { - $this->showForm(_('Cannot normalize that Jabber ID')); + if (!$transport) { + $this->showForm(_('No transport.')); return; } - if (!jabber_valid_base_jid($jabber)) { - $this->showForm(_('Not a valid Jabber ID')); + + Event::handle('NormalizeImScreenname', array($transport, &$screenname)); + + if (!$screenname) { + $this->showForm(_('Cannot normalize that screenname')); return; - } else if ($user->jabber == $jabber) { - $this->showForm(_('That is already your Jabber ID.')); + } + $valid = false; + Event::handle('ValidateImScreenname', array($transport, $screenname, &$valid)); + if (!$valid) { + $this->showForm(_('Not a valid screenname')); return; - } else if ($this->jabberExists($jabber)) { - $this->showForm(_('Jabber ID already belongs to another user.')); + } else if ($this->screennameExists($transport, $screenname)) { + $this->showForm(_('Screenname already belongs to another user.')); return; } $confirm = new Confirm_address(); - $confirm->address = $jabber; - $confirm->address_type = 'jabber'; + $confirm->address = $screenname; + $confirm->address_type = $transport; $confirm->user_id = $user->id; $confirm->code = common_confirmation_code(64); $confirm->sent = common_sql_now(); @@ -320,15 +341,10 @@ class ImsettingsAction extends ConnectSettingsAction return; } - jabber_confirm_address($confirm->code, - $user->nickname, - $jabber); + Event::handle('SendImConfirmationCode', array($transport, $screenname, $confirm->code, $user)); - $msg = sprintf(_('A confirmation code was sent '. - 'to the IM address you added. '. - 'You must approve %s for '. - 'sending messages to you.'), - jabber_daemon_address()); + $msg = _('A confirmation code was sent '. + 'to the IM address you added.'); $this->showForm($msg, true); } @@ -343,15 +359,16 @@ class ImsettingsAction extends ConnectSettingsAction function cancelConfirmation() { - $jabber = $this->arg('jabber'); + $screenname = $this->trimmed('screenname'); + $transport = $this->trimmed('transport'); - $confirm = $this->getConfirmation(); + $confirm = $this->getConfirmation($transport); if (!$confirm) { $this->showForm(_('No pending confirmation to cancel.')); return; } - if ($confirm->address != $jabber) { + if ($confirm->address != $screenname) { $this->showForm(_('That is the wrong IM address.')); return; } @@ -360,7 +377,7 @@ class ImsettingsAction extends ConnectSettingsAction if (!$result) { common_log_db_error($confirm, 'DELETE', __FILE__); - $this->serverError(_('Couldn\'t delete email confirmation.')); + $this->serverError(_('Couldn\'t delete confirmation.')); return; } @@ -379,29 +396,25 @@ class ImsettingsAction extends ConnectSettingsAction { $user = common_current_user(); - $jabber = $this->arg('jabber'); + $screenname = $this->trimmed('screenname'); + $transport = $this->trimmed('transport'); // Maybe an old tab open...? - if ($user->jabber != $jabber) { - $this->showForm(_('That is not your Jabber ID.')); + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->user_id = $user->id; + if(! ($user_im_prefs->find() && $user_im_prefs->fetch())) { + $this->showForm(_('That is not your screenname.')); return; } - $user->query('BEGIN'); - - $original = clone($user); - - $user->jabber = null; - - $result = $user->updateKeys($original); + $result = $user_im_prefs->delete(); if (!$result) { common_log_db_error($user, 'UPDATE', __FILE__); - $this->serverError(_('Couldn\'t update user.')); + $this->serverError(_('Couldn\'t update user im prefs.')); return; } - $user->query('COMMIT'); // XXX: unsubscribe to the old address @@ -409,25 +422,27 @@ class ImsettingsAction extends ConnectSettingsAction } /** - * Does this Jabber ID exist? + * Does this screenname exist? * * Checks if we already have another user with this address. * - * @param string $jabber Address to check + * @param string $transport Transport to check + * @param string $screenname Screenname to check * - * @return boolean whether the Jabber ID exists + * @return boolean whether the screenname exists */ - function jabberExists($jabber) + function screennameExists($transport, $screenname) { $user = common_current_user(); - $other = User::staticGet('jabber', $jabber); - - if (!$other) { + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->transport = $transport; + $user_im_prefs->screenname = $screenname; + if($user_im_prefs->find() && $user_im_prefs->fetch()){ + return true; + }else{ return false; - } else { - return $other->id != $user->id; } } } diff --git a/actions/shownotice.php b/actions/shownotice.php index d09100f67..d0528a9f0 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -275,12 +275,6 @@ class ShownoticeAction extends OwnerDesignAction 'content' => $id->toString())); } - if ($user->jabbermicroid && $user->jabber && $this->notice->uri) { - $id = new Microid('xmpp:', $user->jabber, - $this->notice->uri); - $this->element('meta', array('name' => 'microid', - 'content' => $id->toString())); - } $this->element('link',array('rel'=>'alternate', 'type'=>'application/json+oembed', 'href'=>common_local_url( diff --git a/actions/showstream.php b/actions/showstream.php index 75e10858d..b9782a3f1 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -166,12 +166,6 @@ class ShowstreamAction extends ProfileAction $this->element('meta', array('name' => 'microid', 'content' => $id->toString())); } - if ($this->user->jabbermicroid && $this->user->jabber && $this->profile->profileurl) { - $id = new Microid('xmpp:'.$this->user->jabber, - $this->selfUrl()); - $this->element('meta', array('name' => 'microid', - 'content' => $id->toString())); - } // See https://wiki.mozilla.org/Microsummaries diff --git a/classes/User.php b/classes/User.php index 6ea975202..57c56849d 100644 --- a/classes/User.php +++ b/classes/User.php @@ -48,11 +48,6 @@ class User extends Memcached_DataObject public $language; // varchar(50) public $timezone; // varchar(50) public $emailpost; // tinyint(1) default_1 - public $jabber; // varchar(255) unique_key - public $jabbernotify; // tinyint(1) - public $jabberreplies; // tinyint(1) - public $jabbermicroid; // tinyint(1) default_1 - public $updatefrompresence; // tinyint(1) public $sms; // varchar(64) unique_key public $carrier; // int(4) public $smsnotify; // tinyint(1) @@ -92,7 +87,7 @@ class User extends Memcached_DataObject function updateKeys(&$orig) { $parts = array(); - foreach (array('nickname', 'email', 'jabber', 'incomingemail', 'sms', 'carrier', 'smsemail', 'language', 'timezone') as $k) { + foreach (array('nickname', 'email', 'incomingemail', 'sms', 'carrier', 'smsemail', 'language', 'timezone') as $k) { if (strcmp($this->$k, $orig->$k) != 0) { $parts[] = $k . ' = ' . $this->_quote($this->$k); } diff --git a/classes/User_im_prefs.php b/classes/User_im_prefs.php new file mode 100644 index 000000000..8ecdfe9fa --- /dev/null +++ b/classes/User_im_prefs.php @@ -0,0 +1,71 @@ +. + * + * @category Data + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 StatusNet Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; + +class User_im_prefs extends Memcached_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'user_im_prefs'; // table name + public $user_id; // int(4) primary_key not_null + public $screenname; // varchar(255) not_null + public $transport; // varchar(255) not_null + public $notify; // tinyint(1) + public $replies; // tinyint(1) + public $microid; // tinyint(1) + public $updatefrompresence; // tinyint(1) + public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00 + public $modified; // timestamp not_null default_CURRENT_TIMESTAMP + + /* Static get */ + function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_im_prefs',$k,$v); } + + function pkeyGet($kv) + { + return Memcached_DataObject::pkeyGet('User_im_prefs', $kv); + } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE + + /* + DB_DataObject calculates the sequence key(s) by taking the first key returned by the keys() function. + In this case, the keys() function returns user_id as the first key. user_id is not a sequence, but + DB_DataObject's sequenceKey() will incorrectly think it is. Then, since the sequenceKey() is a numeric + type, but is not set to autoincrement in the database, DB_DataObject will create a _seq table and + manage the sequence itself. This is not the correct behavior for the user_id in this class. + So we override that incorrect behavior, and simply say there is no sequence key. + */ + function sequenceKey() + { + return array(false,false); + } +} diff --git a/classes/statusnet.ini b/classes/statusnet.ini index 6203650a6..d8a817ebc 100644 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -540,11 +540,6 @@ emailmicroid = 17 language = 2 timezone = 2 emailpost = 17 -jabber = 2 -jabbernotify = 17 -jabberreplies = 17 -jabbermicroid = 17 -updatefrompresence = 17 sms = 2 carrier = 1 smsnotify = 17 @@ -564,7 +559,6 @@ id = K nickname = U email = U incomingemail = U -jabber = U sms = U uri = U @@ -616,3 +610,19 @@ modified = 384 [user_location_prefs__keys] user_id = K +[user_im_prefs] +user_id = 129 +screenname = 130 +transport = 130 +notify = 17 +replies = 17 +microid = 17 +updatefrompresence = 17 +created = 142 +modified = 384 + +[user_im_prefs__keys] +user_id = K +transport = K +transport = U +screenname = U diff --git a/db/statusnet.sql b/db/statusnet.sql index 17de4fd0d..63b50a3f7 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -62,11 +62,6 @@ create table user ( language varchar(50) comment 'preferred language', timezone varchar(50) comment 'timezone', emailpost tinyint default 1 comment 'Post by email', - jabber varchar(255) unique key comment 'jabber ID for notices', - jabbernotify tinyint default 0 comment 'whether to send notices to jabber', - jabberreplies tinyint default 0 comment 'whether to send notices to jabber on replies', - jabbermicroid tinyint default 1 comment 'whether to publish xmpp microid', - updatefrompresence tinyint default 0 comment 'whether to record updates from Jabber presence notices', sms varchar(64) unique key comment 'sms phone number', carrier integer comment 'foreign key to sms_carrier' references sms_carrier (id), smsnotify tinyint default 0 comment 'whether to send notices to SMS', @@ -259,9 +254,9 @@ create table oid_nonces ( create table confirm_address ( code varchar(32) not null primary key comment 'good random code', user_id integer not null comment 'user who requested confirmation' references user (id), - address varchar(255) not null comment 'address (email, Jabber, SMS, etc.)', + address varchar(255) not null comment 'address (email, xmpp, SMS, etc.)', address_extra varchar(255) not null comment 'carrier ID, for SMS', - address_type varchar(8) not null comment 'address type ("email", "jabber", "sms")', + address_type varchar(8) not null comment 'address type ("email", "xmpp", "sms")', claimed datetime comment 'date this was claimed for queueing', sent datetime comment 'date this was sent for queueing', modified timestamp comment 'date this record was modified' @@ -276,7 +271,7 @@ create table remember_me ( create table queue_item ( id integer auto_increment primary key comment 'unique identifier', frame blob not null comment 'data: object reference or opaque string', - transport varchar(8) not null comment 'queue for what? "email", "jabber", "sms", "irc", ...', + transport varchar(8) not null comment 'queue for what? "email", "xmpp", "sms", "irc", ...', created datetime not null comment 'date this record was created', claimed datetime comment 'date this item was claimed', @@ -348,7 +343,7 @@ create table invitation ( code varchar(32) not null primary key comment 'random code for an invitation', user_id int not null comment 'who sent the invitation' references user (id), address varchar(255) not null comment 'invitation sent to', - address_type varchar(8) not null comment 'address type ("email", "jabber", "sms")', + address_type varchar(8) not null comment 'address type ("email", "xmpp", "sms")', created datetime not null comment 'date this record was created', index invitation_address_idx (address, address_type), @@ -633,3 +628,18 @@ create table inbox ( constraint primary key (user_id) ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; + +create table user_im_prefs ( + user_id integer not null comment 'user' references user (id), + screenname varchar(255) not null comment 'screenname on this service', + transport varchar(255) not null comment 'transport (ex xmpp, aim)', + notify tinyint(1) not null default 0 comment 'Notify when a new notice is sent', + replies tinyint(1) not null default 0 comment 'Send replies from people not subscribed to', + microid tinyint(1) not null default 1 comment 'Publish a MicroID', + updatefrompresence tinyint(1) not null default 0 comment 'Send replies from people not subscribed to.', + created timestamp not null DEFAULT CURRENT_TIMESTAMP comment 'date this record was created', + modified timestamp comment 'date this record was modified', + + constraint primary key (user_id, transport), + constraint unique key `transport_screenname_key` ( `transport` , `screenname` ) +); diff --git a/lib/channel.php b/lib/channel.php index 3cd168786..05437b4e9 100644 --- a/lib/channel.php +++ b/lib/channel.php @@ -47,63 +47,6 @@ class Channel } } -class XMPPChannel extends Channel -{ - - var $conn = null; - - function source() - { - return 'xmpp'; - } - - function __construct($conn) - { - $this->conn = $conn; - } - - function on($user) - { - return $this->set_notify($user, 1); - } - - function off($user) - { - return $this->set_notify($user, 0); - } - - function output($user, $text) - { - $text = '['.common_config('site', 'name') . '] ' . $text; - jabber_send_message($user->jabber, $text); - } - - function error($user, $text) - { - $text = '['.common_config('site', 'name') . '] ' . $text; - jabber_send_message($user->jabber, $text); - } - - function set_notify(&$user, $notify) - { - $orig = clone($user); - $user->jabbernotify = $notify; - $result = $user->update($orig); - if (!$result) { - $last_error = &PEAR::getStaticProperty('DB_DataObject','lastError'); - common_log(LOG_ERR, - 'Could not set notify flag to ' . $notify . - ' for user ' . common_log_objstring($user) . - ': ' . $last_error->message); - return false; - } else { - common_log(LOG_INFO, - 'User ' . $user->nickname . ' set notify flag to ' . $notify); - return true; - } - } -} - class WebChannel extends Channel { var $out = null; diff --git a/lib/command.php b/lib/command.php index 2a51fd687..44b7b2274 100644 --- a/lib/command.php +++ b/lib/command.php @@ -596,7 +596,7 @@ class OffCommand extends Command } function execute($channel) { - if ($other) { + if ($this->other) { $channel->error($this->user, _("Command not yet implemented.")); } else { if ($channel->off($this->user)) { @@ -619,7 +619,7 @@ class OnCommand extends Command function execute($channel) { - if ($other) { + if ($this->other) { $channel->error($this->user, _("Command not yet implemented.")); } else { if ($channel->on($this->user)) { diff --git a/lib/imchannel.php b/lib/imchannel.php new file mode 100644 index 000000000..12354ce4b --- /dev/null +++ b/lib/imchannel.php @@ -0,0 +1,104 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +class IMChannel extends Channel +{ + + var $imPlugin; + + function source() + { + return $imPlugin->transport; + } + + function __construct($imPlugin) + { + $this->imPlugin = $imPlugin; + } + + function on($user) + { + return $this->set_notify($user, 1); + } + + function off($user) + { + return $this->set_notify($user, 0); + } + + function output($user, $text) + { + $text = '['.common_config('site', 'name') . '] ' . $text; + $this->imPlugin->send_message($this->imPlugin->get_screenname($user), $text); + } + + function error($user, $text) + { + $text = '['.common_config('site', 'name') . '] ' . $text; + + $screenname = $this->imPlugin->get_screenname($user); + if($screenname){ + $this->imPlugin->send_message($screenname, $text); + return true; + }else{ + common_log(LOG_ERR, + 'Could not send error message to user ' . common_log_objstring($user) . + ' on transport ' . $this->imPlugin->transport .' : user preference does not exist'); + return false; + } + } + + function set_notify($user, $notify) + { + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->transport = $this->imPlugin->transport; + $user_im_prefs->user_id = $user->id; + if($user_im_prefs->find() && $user_im_prefs->fetch()){ + if($user_im_prefs->notify == $notify){ + //notify is already set the way they want + return true; + }else{ + $original = clone($user_im_prefs); + $user_im_prefs->notify = $notify; + $result = $user_im_prefs->update($original); + + if (!$result) { + $last_error = &PEAR::getStaticProperty('DB_DataObject','lastError'); + common_log(LOG_ERR, + 'Could not set notify flag to ' . $notify . + ' for user ' . common_log_objstring($user) . + ' on transport ' . $this->imPlugin->transport .' : ' . $last_error->message); + return false; + } else { + common_log(LOG_INFO, + 'User ' . $user->nickname . ' set notify flag to ' . $notify); + return true; + } + } + }else{ + common_log(LOG_ERR, + 'Could not set notify flag to ' . $notify . + ' for user ' . common_log_objstring($user) . + ' on transport ' . $this->imPlugin->transport .' : user preference does not exist'); + return false; + } + } +} diff --git a/lib/immanager.php b/lib/immanager.php new file mode 100644 index 000000000..4c28ec0e6 --- /dev/null +++ b/lib/immanager.php @@ -0,0 +1,70 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +/** + * IKM background connection manager for IM-using queue handlers, + * allowing them to send outgoing messages on the right connection. + * + * In a multi-site queuedaemon.php run, one connection will be instantiated + * for each site being handled by the current process that has IM enabled. + * + * Implementations that extend this class will likely want to: + * 1) override start() with their connection process. + * 2) override handleInput() with what to do when data is waiting on + * one of the sockets + * 3) override idle($timeout) to do keepalives (if necessary) + * 4) implement send_raw_message() to send raw data that ImPlugin::enqueue_outgoing_raw + * enqueued + */ + +abstract class ImManager extends IoManager +{ + abstract function send_raw_message($data); + + function __construct($imPlugin) + { + $this->plugin = $imPlugin; + //TODO We only really want to register this event if this is the thread that runs the ImManager + Event::addHandler('EndInitializeQueueManager', array($this, 'onEndInitializeQueueManager')); + } + + /** + * Fetch the singleton manager for the current site. + * @return mixed ImManager, or false if unneeded + */ + public static function get() + { + throw new Exception('ImManager should be created using it\'s constructor, not the static get method'); + } + + /** + * Register notice queue handler + * + * @param QueueManager $manager + * + * @return boolean hook return + */ + function onEndInitializeQueueManager($manager) + { + $manager->connect($this->plugin->transport . '-out', new ImSenderQueueHandler($this->plugin, $this), 'imdaemon'); + return true; + } +} diff --git a/lib/implugin.php b/lib/implugin.php new file mode 100644 index 000000000..5d4d8949c --- /dev/null +++ b/lib/implugin.php @@ -0,0 +1,612 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Superclass for plugins that do authentication + * + * Implementations will likely want to override onStartIoManagerClasses() so that their + * IO manager is used + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +abstract class ImPlugin extends Plugin +{ + //name of this IM transport + public $transport = null; + //list of screennames that should get all public notices + public $public = array(); + + /** + * normalize a screenname for comparison + * + * @param string $screenname screenname to normalize + * + * @return string an equivalent screenname in normalized form + */ + abstract function normalize($screenname); + + + /** + * validate (ensure the validity of) a screenname + * + * @param string $screenname screenname to validate + * + * @return boolean + */ + abstract function validate($screenname); + + /** + * get the internationalized/translated display name of this IM service + * + * @return string + */ + abstract function getDisplayName(); + + /** + * send a single notice to a given screenname + * The implementation should put raw data, ready to send, into the outgoing + * queue using enqueue_outgoing_raw() + * + * @param string $screenname screenname to send to + * @param Notice $notice notice to send + * + * @return boolean success value + */ + function send_notice($screenname, $notice) + { + return $this->send_message($screenname, $this->format_notice($notice)); + } + + /** + * send a message (text) to a given screenname + * The implementation should put raw data, ready to send, into the outgoing + * queue using enqueue_outgoing_raw() + * + * @param string $screenname screenname to send to + * @param Notice $body text to send + * + * @return boolean success value + */ + abstract function send_message($screenname, $body); + + /** + * receive a raw message + * Raw IM data is taken from the incoming queue, and passed to this function. + * It should parse the raw message and call handle_incoming() + * + * @param object $data raw IM data + * + * @return boolean success value + */ + abstract function receive_raw_message($data); + + /** + * get the screenname of the daemon that sends and receives message for this service + * + * @return string screenname of this plugin + */ + abstract function daemon_screenname(); + + /** + * get the microid uri of a given screenname + * + * @param string $screenname screenname + * + * @return string microid uri + */ + function microiduri($screenname) + { + return $this->transport . ':' . $screenname; + } + //========================UTILITY FUNCTIONS USEFUL TO IMPLEMENTATIONS - MISC ========================\ + + /** + * Put raw message data (ready to send) into the outgoing queue + * + * @param object $data + */ + function enqueue_outgoing_raw($data) + { + $qm = QueueManager::get(); + $qm->enqueue($data, $this->transport . '-out'); + } + + /** + * Put raw message data (received, ready to be processed) into the incoming queue + * + * @param object $data + */ + function enqueue_incoming_raw($data) + { + $qm = QueueManager::get(); + $qm->enqueue($data, $this->transport . '-in'); + } + + /** + * given a screenname, get the corresponding user + * + * @param string $screenname + * + * @return User user + */ + function get_user($screenname) + { + $user_im_prefs = $this->get_user_im_prefs_from_screenname($screenname); + if($user_im_prefs){ + $user = User::staticGet('id', $user_im_prefs->user_id); + $user_im_prefs->free(); + return $user; + }else{ + return false; + } + } + + + /** + * given a screenname, get the User_im_prefs object for this transport + * + * @param string $screenname + * + * @return User_im_prefs user_im_prefs + */ + function get_user_im_prefs_from_screenname($screenname) + { + if($user_im_prefs = User_im_prefs::pkeyGet( array('transport' => $this->transport, 'screenname' => $screenname) )){ + return $user_im_prefs; + }else{ + return false; + } + } + + + /** + * given a User, get their screenname + * + * @param User $user + * + * @return string screenname of that user + */ + function get_screenname($user) + { + $user_im_prefs = $this->get_user_im_prefs_from_user($user); + if($user_im_prefs){ + return $user_im_prefs->screenname; + }else{ + return false; + } + } + + + /** + * given a User, get their User_im_prefs + * + * @param User $user + * + * @return User_im_prefs user_im_prefs of that user + */ + function get_user_im_prefs_from_user($user) + { + if($user_im_prefs = User_im_prefs::pkeyGet( array('transport' => $this->transport, 'user_id' => $user->id) )){ + return $user_im_prefs; + }else{ + return false; + } + } + //========================UTILITY FUNCTIONS USEFUL TO IMPLEMENTATIONS - SENDING ========================\ + /** + * Send a message to a given screenname from the site + * + * @param string $screenname screenname to send the message to + * @param string $msg message contents to send + * + * @param boolean success + */ + protected function send_from_site($screenname, $msg) + { + $text = '['.common_config('site', 'name') . '] ' . $msg; + $this->send_message($screenname, $text); + } + + /** + * send a confirmation code to a user + * + * @param string $screenname screenname sending to + * @param string $code the confirmation code + * @param User $user user sending to + * + * @return boolean success value + */ + function send_confirmation_code($screenname, $code, $user) + { + $body = sprintf(_('User "%s" on %s has said that your %s screenname belongs to them. ' . + 'If that\'s true, you can confirm by clicking on this URL: ' . + '%s' . + ' . (If you cannot click it, copy-and-paste it into the ' . + 'address bar of your browser). If that user isn\'t you, ' . + 'or if you didn\'t request this confirmation, just ignore this message.'), + $user->nickname, common_config('site', 'name'), $this->getDisplayName(), common_local_url('confirmaddress', array('code' => $code))); + + return $this->send_message($screenname, $body); + } + + /** + * send a notice to all public listeners + * + * For notices that are generated on the local system (by users), we can optionally + * forward them to remote listeners by XMPP. + * + * @param Notice $notice notice to broadcast + * + * @return boolean success flag + */ + + function public_notice($notice) + { + // Now, users who want everything + + // FIXME PRIV don't send out private messages here + // XXX: should we send out non-local messages if public,localonly + // = false? I think not + + foreach ($this->public as $screenname) { + common_log(LOG_INFO, + 'Sending notice ' . $notice->id . + ' to public listener ' . $screenname, + __FILE__); + $this->send_notice($screenname, $notice); + } + + return true; + } + + /** + * broadcast a notice to all subscribers and reply recipients + * + * This function will send a notice to all subscribers on the local server + * who have IM addresses, and have IM notification enabled, and + * have this subscription enabled for IM. It also sends the notice to + * all recipients of @-replies who have IM addresses and IM notification + * enabled. This is really the heart of IM distribution in StatusNet. + * + * @param Notice $notice The notice to broadcast + * + * @return boolean success flag + */ + + function broadcast_notice($notice) + { + + $ni = $notice->whoGets(); + + foreach ($ni as $user_id => $reason) { + $user = User::staticGet($user_id); + if (empty($user)) { + // either not a local user, or just not found + continue; + } + $user_im_prefs = $this->get_user_im_prefs_from_user($user); + if(!$user_im_prefs || !$user_im_prefs->notify){ + continue; + } + + switch ($reason) { + case NOTICE_INBOX_SOURCE_REPLY: + if (!$user_im_prefs->replies) { + continue 2; + } + break; + case NOTICE_INBOX_SOURCE_SUB: + $sub = Subscription::pkeyGet(array('subscriber' => $user->id, + 'subscribed' => $notice->profile_id)); + if (empty($sub) || !$sub->jabber) { + continue 2; + } + break; + case NOTICE_INBOX_SOURCE_GROUP: + break; + default: + throw new Exception(sprintf(_("Unknown inbox source %d."), $reason)); + } + + common_log(LOG_INFO, + 'Sending notice ' . $notice->id . ' to ' . $user_im_prefs->screenname, + __FILE__); + $this->send_notice($user_im_prefs->screenname, $notice); + $user_im_prefs->free(); + } + + return true; + } + + /** + * makes a plain-text formatted version of a notice, suitable for IM distribution + * + * @param Notice $notice notice being sent + * + * @return string plain-text version of the notice, with user nickname prefixed + */ + + function format_notice($notice) + { + $profile = $notice->getProfile(); + return $profile->nickname . ': ' . $notice->content . ' [' . $notice->id . ']'; + } + //========================UTILITY FUNCTIONS USEFUL TO IMPLEMENTATIONS - RECEIVING ========================\ + + /** + * Attempt to handle a message as a command + * @param User $user user the message is from + * @param string $body message text + * @return boolean true if the message was a command and was executed, false if it was not a command + */ + protected function handle_command($user, $body) + { + $inter = new CommandInterpreter(); + $cmd = $inter->handle_command($user, $body); + if ($cmd) { + $chan = new IMChannel($this); + $cmd->execute($chan); + return true; + } else { + return false; + } + } + + /** + * Is some text an autoreply message? + * @param string $txt message text + * @return boolean true if autoreply + */ + protected function is_autoreply($txt) + { + if (preg_match('/[\[\(]?[Aa]uto[-\s]?[Rr]e(ply|sponse)[\]\)]/', $txt)) { + return true; + } else if (preg_match('/^System: Message wasn\'t delivered. Offline storage size was exceeded.$/', $txt)) { + return true; + } else { + return false; + } + } + + /** + * Is some text an OTR message? + * @param string $txt message text + * @return boolean true if OTR + */ + protected function is_otr($txt) + { + if (preg_match('/^\?OTR/', $txt)) { + return true; + } else { + return false; + } + } + + /** + * Helper for handling incoming messages + * Your incoming message handler will probably want to call this function + * + * @param string $from screenname the message was sent from + * @param string $message message contents + * + * @param boolean success + */ + protected function handle_incoming($from, $notice_text) + { + $user = $this->get_user($from); + // For common_current_user to work + global $_cur; + $_cur = $user; + + if (!$user) { + $this->send_from_site($from, 'Unknown user; go to ' . + common_local_url('imsettings') . + ' to add your address to your account'); + common_log(LOG_WARNING, 'Message from unknown user ' . $from); + return; + } + if ($this->handle_command($user, $notice_text)) { + common_log(LOG_INFO, "Command message by $from handled."); + return; + } else if ($this->is_autoreply($notice_text)) { + common_log(LOG_INFO, 'Ignoring auto reply from ' . $from); + return; + } else if ($this->is_otr($notice_text)) { + common_log(LOG_INFO, 'Ignoring OTR from ' . $from); + return; + } else { + + common_log(LOG_INFO, 'Posting a notice from ' . $user->nickname); + + $this->add_notice($from, $user, $notice_text); + } + + $user->free(); + unset($user); + unset($_cur); + unset($message); + } + + /** + * Helper for handling incoming messages + * Your incoming message handler will probably want to call this function + * + * @param string $from screenname the message was sent from + * @param string $message message contents + * + * @param boolean success + */ + protected function add_notice($screenname, $user, $body) + { + $body = trim(strip_tags($body)); + $content_shortened = common_shorten_links($body); + if (Notice::contentTooLong($content_shortened)) { + $this->send_from_site($screenname, sprintf(_('Message too long - maximum is %1$d characters, you sent %2$d.'), + Notice::maxContent(), + mb_strlen($content_shortened))); + return; + } + + try { + $notice = Notice::saveNew($user->id, $content_shortened, $this->transport); + } catch (Exception $e) { + common_log(LOG_ERR, $e->getMessage()); + $this->send_from_site($from, $e->getMessage()); + return; + } + + common_broadcast_notice($notice); + common_log(LOG_INFO, + 'Added notice ' . $notice->id . ' from user ' . $user->nickname); + $notice->free(); + unset($notice); + } + + //========================EVENT HANDLERS========================\ + + /** + * Register notice queue handler + * + * @param QueueManager $manager + * + * @return boolean hook return + */ + function onEndInitializeQueueManager($manager) + { + $manager->connect($this->transport . '-in', new ImReceiverQueueHandler($this)); + $manager->connect($this->transport, new ImQueueHandler($this)); + return true; + } + + function onStartImDaemonIoManagers(&$classes) + { + //$classes[] = new ImManager($this); // handles sending/receiving/pings/reconnects + return true; + } + + function onStartEnqueueNotice($notice, &$transports) + { + $profile = Profile::staticGet($notice->profile_id); + + if (!$profile) { + common_log(LOG_WARNING, 'Refusing to broadcast notice with ' . + 'unknown profile ' . common_log_objstring($notice), + __FILE__); + }else{ + $transports[] = $this->transport; + } + + return true; + } + + function onEndShowHeadElements($action) + { + $aname = $action->trimmed('action'); + + if ($aname == 'shownotice') { + + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->user_id = $action->profile->id; + $user_im_prefs->transport = $this->transport; + + if ($user_im_prefs->find() && $user_im_prefs->fetch() && $user_im_prefs->microid && $action->notice->uri) { + $id = new Microid($this->microiduri($user_im_prefs->screenname), + $action->notice->uri); + $action->element('meta', array('name' => 'microid', + 'content' => $id->toString())); + } + + } else if ($aname == 'showstream') { + + $user_im_prefs = new User_im_prefs(); + $user_im_prefs->user_id = $action->user->id; + $user_im_prefs->transport = $this->transport; + + if ($user_im_prefs->find() && $user_im_prefs->fetch() && $user_im_prefs->microid && $action->profile->profileurl) { + $id = new Microid($this->microiduri($user_im_prefs->screenname), + $action->selfUrl()); + $action->element('meta', array('name' => 'microid', + 'content' => $id->toString())); + } + } + } + + function onNormalizeImScreenname($transport, &$screenname) + { + if($transport == $this->transport) + { + $screenname = $this->normalize($screenname); + return false; + } + } + + function onValidateImScreenname($transport, $screenname, &$valid) + { + if($transport == $this->transport) + { + $valid = $this->validate($screenname); + return false; + } + } + + function onGetImTransports(&$transports) + { + $transports[$this->transport] = array('display' => $this->getDisplayName()); + } + + function onSendImConfirmationCode($transport, $screenname, $code, $user) + { + if($transport == $this->transport) + { + $this->send_confirmation_code($screenname, $code, $user); + return false; + } + } + + function onUserDeleteRelated($user, &$tables) + { + $tables[] = 'User_im_prefs'; + return true; + } + + function initialize() + { + if(is_null($this->transport)){ + throw new Exception('transport cannot be null'); + } + } +} diff --git a/lib/imqueuehandler.php b/lib/imqueuehandler.php new file mode 100644 index 000000000..b42d8e7c0 --- /dev/null +++ b/lib/imqueuehandler.php @@ -0,0 +1,48 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +/** + * Common superclass for all IM sending queue handlers. + */ + +class ImQueueHandler extends QueueHandler +{ + function __construct($plugin) + { + $this->plugin = $plugin; + } + + /** + * Handle a notice + * @param Notice $notice + * @return boolean success + */ + function handle($notice) + { + $this->plugin->broadcast_notice($notice); + if ($notice->is_local == Notice::LOCAL_PUBLIC || + $notice->is_local == Notice::LOCAL_NONPUBLIC) { + $this->plugin->public_notice($notice); + } + return true; + } + +} diff --git a/lib/imreceiverqueuehandler.php b/lib/imreceiverqueuehandler.php new file mode 100644 index 000000000..269c7db91 --- /dev/null +++ b/lib/imreceiverqueuehandler.php @@ -0,0 +1,42 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +/** + * Common superclass for all IM receiving queue handlers. + */ + +class ImReceiverQueueHandler extends QueueHandler +{ + function __construct($plugin) + { + $this->plugin = $plugin; + } + + /** + * Handle incoming IM data sent by a user to the IM bot + * @param object $data + * @return boolean success + */ + function handle($data) + { + return $this->plugin->receive_raw_message($data); + } +} diff --git a/lib/imsenderqueuehandler.php b/lib/imsenderqueuehandler.php new file mode 100644 index 000000000..3dd96ff73 --- /dev/null +++ b/lib/imsenderqueuehandler.php @@ -0,0 +1,44 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +/** + * Common superclass for all IM sending queue handlers. + */ + +class ImSenderQueueHandler extends QueueHandler +{ + function __construct($plugin, $immanager) + { + $this->plugin = $plugin; + $this->immanager = $immanager; + } + + /** + * Handle outgoing IM data to be sent from the bot to a user + * @param object $data + * @return boolean success + */ + function handle($data) + { + return $this->immanager->send_raw_message($data); + } +} + diff --git a/lib/jabber.php b/lib/jabber.php deleted file mode 100644 index b6b23521b..000000000 --- a/lib/jabber.php +++ /dev/null @@ -1,473 +0,0 @@ -. - * - * @category Network - * @package StatusNet - * @author Evan Prodromou - * @copyright 2008 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once 'XMPPHP/XMPP.php'; - -/** - * checks whether a string is a syntactically valid Jabber ID (JID) - * - * @param string $jid string to check - * - * @return boolean whether the string is a valid JID - */ - -function jabber_valid_base_jid($jid) -{ - // Cheap but effective - return Validate::email($jid); -} - -/** - * normalizes a Jabber ID for comparison - * - * @param string $jid JID to check - * - * @return string an equivalent JID in normalized (lowercase) form - */ - -function jabber_normalize_jid($jid) -{ - if (preg_match("/(?:([^\@]+)\@)?([^\/]+)(?:\/(.*))?$/", $jid, $matches)) { - $node = $matches[1]; - $server = $matches[2]; - return strtolower($node.'@'.$server); - } else { - return null; - } -} - -/** - * the JID of the Jabber daemon for this StatusNet instance - * - * @return string JID of the Jabber daemon - */ - -function jabber_daemon_address() -{ - return common_config('xmpp', 'user') . '@' . common_config('xmpp', 'server'); -} - -class Sharing_XMPP extends XMPPHP_XMPP -{ - function getSocket() - { - return $this->socket; - } -} - -/** - * Build an XMPP proxy connection that'll save outgoing messages - * to the 'xmppout' queue to be picked up by xmppdaemon later. - */ -function jabber_proxy() -{ - $proxy = new Queued_XMPP(common_config('xmpp', 'host') ? - common_config('xmpp', 'host') : - common_config('xmpp', 'server'), - common_config('xmpp', 'port'), - common_config('xmpp', 'user'), - common_config('xmpp', 'password'), - common_config('xmpp', 'resource') . 'daemon', - common_config('xmpp', 'server'), - common_config('xmpp', 'debug') ? - true : false, - common_config('xmpp', 'debug') ? - XMPPHP_Log::LEVEL_VERBOSE : null); - return $proxy; -} - -/** - * Lazy-connect the configured Jabber account to the configured server; - * if already opened, the same connection will be returned. - * - * In a multi-site background process, each site configuration - * will get its own connection. - * - * @param string $resource Resource to connect (defaults to configured resource) - * - * @return XMPPHP connection to the configured server - */ - -function jabber_connect($resource=null) -{ - static $connections = array(); - $site = common_config('site', 'server'); - if (empty($connections[$site])) { - if (empty($resource)) { - $resource = common_config('xmpp', 'resource'); - } - $conn = new Sharing_XMPP(common_config('xmpp', 'host') ? - common_config('xmpp', 'host') : - common_config('xmpp', 'server'), - common_config('xmpp', 'port'), - common_config('xmpp', 'user'), - common_config('xmpp', 'password'), - $resource, - common_config('xmpp', 'server'), - common_config('xmpp', 'debug') ? - true : false, - common_config('xmpp', 'debug') ? - XMPPHP_Log::LEVEL_VERBOSE : null - ); - - if (!$conn) { - return false; - } - $connections[$site] = $conn; - - $conn->autoSubscribe(); - $conn->useEncryption(common_config('xmpp', 'encryption')); - - try { - common_log(LOG_INFO, __METHOD__ . ": connecting " . - common_config('xmpp', 'user') . '/' . $resource); - //$conn->connect(true); // true = persistent connection - $conn->connect(); // persistent connections break multisite - } catch (XMPPHP_Exception $e) { - common_log(LOG_ERR, $e->getMessage()); - return false; - } - - $conn->processUntil('session_start'); - } - return $connections[$site]; -} - -/** - * Queue send for a single notice to a given Jabber address - * - * @param string $to JID to send the notice to - * @param Notice $notice notice to send - * - * @return boolean success value - */ - -function jabber_send_notice($to, $notice) -{ - $conn = jabber_proxy(); - $profile = Profile::staticGet($notice->profile_id); - if (!$profile) { - common_log(LOG_WARNING, 'Refusing to send notice with ' . - 'unknown profile ' . common_log_objstring($notice), - __FILE__); - return false; - } - $msg = jabber_format_notice($profile, $notice); - $entry = jabber_format_entry($profile, $notice); - $conn->message($to, $msg, 'chat', null, $entry); - $profile->free(); - return true; -} - -/** - * extra information for XMPP messages, as defined by Twitter - * - * @param Profile $profile Profile of the sending user - * @param Notice $notice Notice being sent - * - * @return string Extra information (Atom, HTML, addresses) in string format - */ - -function jabber_format_entry($profile, $notice) -{ - $entry = $notice->asAtomEntry(true, true); - - $xs = new XMLStringer(); - $xs->elementStart('html', array('xmlns' => 'http://jabber.org/protocol/xhtml-im')); - $xs->elementStart('body', array('xmlns' => 'http://www.w3.org/1999/xhtml')); - $xs->element('a', array('href' => $profile->profileurl), - $profile->nickname); - $xs->text(": "); - if (!empty($notice->rendered)) { - $xs->raw($notice->rendered); - } else { - $xs->raw(common_render_content($notice->content, $notice)); - } - $xs->text(" "); - $xs->element('a', array( - 'href'=>common_local_url('conversation', - array('id' => $notice->conversation)).'#notice-'.$notice->id - ),sprintf(_('[%s]'),$notice->id)); - $xs->elementEnd('body'); - $xs->elementEnd('html'); - - $html = $xs->getString(); - - return $html . ' ' . $entry; -} - -/** - * sends a single text message to a given JID - * - * @param string $to JID to send the message to - * @param string $body body of the message - * @param string $type type of the message - * @param string $subject subject of the message - * - * @return boolean success flag - */ - -function jabber_send_message($to, $body, $type='chat', $subject=null) -{ - $conn = jabber_proxy(); - $conn->message($to, $body, $type, $subject); - return true; -} - -/** - * sends a presence stanza on the Jabber network - * - * @param string $status current status, free-form string - * @param string $show structured status value - * @param string $to recipient of presence, null for general - * @param string $type type of status message, related to $show - * @param int $priority priority of the presence - * - * @return boolean success value - */ - -function jabber_send_presence($status, $show='available', $to=null, - $type = 'available', $priority=null) -{ - $conn = jabber_connect(); - if (!$conn) { - return false; - } - $conn->presence($status, $show, $to, $type, $priority); - return true; -} - -/** - * sends a confirmation request to a JID - * - * @param string $code confirmation code for confirmation URL - * @param string $nickname nickname of confirming user - * @param string $address JID to send confirmation to - * - * @return boolean success flag - */ - -function jabber_confirm_address($code, $nickname, $address) -{ - $body = 'User "' . $nickname . '" on ' . common_config('site', 'name') . ' ' . - 'has said that your Jabber ID belongs to them. ' . - 'If that\'s true, you can confirm by clicking on this URL: ' . - common_local_url('confirmaddress', array('code' => $code)) . - ' . (If you cannot click it, copy-and-paste it into the ' . - 'address bar of your browser). If that user isn\'t you, ' . - 'or if you didn\'t request this confirmation, just ignore this message.'; - - return jabber_send_message($address, $body); -} - -/** - * sends a "special" presence stanza on the Jabber network - * - * @param string $type Type of presence - * @param string $to JID to send presence to - * @param string $show show value for presence - * @param string $status status value for presence - * - * @return boolean success flag - * - * @see jabber_send_presence() - */ - -function jabber_special_presence($type, $to=null, $show=null, $status=null) -{ - // FIXME: why use this instead of jabber_send_presence()? - $conn = jabber_connect(); - - $to = htmlspecialchars($to); - $status = htmlspecialchars($status); - - $out = "send($out); -} - -/** - * Queue broadcast of a notice to all subscribers and reply recipients - * - * This function will send a notice to all subscribers on the local server - * who have Jabber addresses, and have Jabber notification enabled, and - * have this subscription enabled for Jabber. It also sends the notice to - * all recipients of @-replies who have Jabber addresses and Jabber notification - * enabled. This is really the heart of Jabber distribution in StatusNet. - * - * @param Notice $notice The notice to broadcast - * - * @return boolean success flag - */ - -function jabber_broadcast_notice($notice) -{ - if (!common_config('xmpp', 'enabled')) { - return true; - } - $profile = Profile::staticGet($notice->profile_id); - - if (!$profile) { - common_log(LOG_WARNING, 'Refusing to broadcast notice with ' . - 'unknown profile ' . common_log_objstring($notice), - __FILE__); - return false; - } - - $msg = jabber_format_notice($profile, $notice); - $entry = jabber_format_entry($profile, $notice); - - $profile->free(); - unset($profile); - - $sent_to = array(); - - $conn = jabber_proxy(); - - $ni = $notice->whoGets(); - - foreach ($ni as $user_id => $reason) { - $user = User::staticGet($user_id); - if (empty($user) || - empty($user->jabber) || - !$user->jabbernotify) { - // either not a local user, or just not found - continue; - } - switch ($reason) { - case NOTICE_INBOX_SOURCE_REPLY: - if (!$user->jabberreplies) { - continue 2; - } - break; - case NOTICE_INBOX_SOURCE_SUB: - $sub = Subscription::pkeyGet(array('subscriber' => $user->id, - 'subscribed' => $notice->profile_id)); - if (empty($sub) || !$sub->jabber) { - continue 2; - } - break; - case NOTICE_INBOX_SOURCE_GROUP: - break; - default: - throw new Exception(sprintf(_("Unknown inbox source %d."), $reason)); - } - - common_log(LOG_INFO, - 'Sending notice ' . $notice->id . ' to ' . $user->jabber, - __FILE__); - $conn->message($user->jabber, $msg, 'chat', null, $entry); - } - - return true; -} - -/** - * Queue send of a notice to all public listeners - * - * For notices that are generated on the local system (by users), we can optionally - * forward them to remote listeners by XMPP. - * - * @param Notice $notice notice to broadcast - * - * @return boolean success flag - */ - -function jabber_public_notice($notice) -{ - // Now, users who want everything - - $public = common_config('xmpp', 'public'); - - // FIXME PRIV don't send out private messages here - // XXX: should we send out non-local messages if public,localonly - // = false? I think not - - if ($public && $notice->is_local == Notice::LOCAL_PUBLIC) { - $profile = Profile::staticGet($notice->profile_id); - - if (!$profile) { - common_log(LOG_WARNING, 'Refusing to broadcast notice with ' . - 'unknown profile ' . common_log_objstring($notice), - __FILE__); - return false; - } - - $msg = jabber_format_notice($profile, $notice); - $entry = jabber_format_entry($profile, $notice); - - $conn = jabber_proxy(); - - foreach ($public as $address) { - common_log(LOG_INFO, - 'Sending notice ' . $notice->id . - ' to public listener ' . $address, - __FILE__); - $conn->message($address, $msg, 'chat', null, $entry); - } - $profile->free(); - } - - return true; -} - -/** - * makes a plain-text formatted version of a notice, suitable for Jabber distribution - * - * @param Profile &$profile profile of the sending user - * @param Notice &$notice notice being sent - * - * @return string plain-text version of the notice, with user nickname prefixed - */ - -function jabber_format_notice(&$profile, &$notice) -{ - return $profile->nickname . ': ' . $notice->content . ' [' . $notice->id . ']'; -} diff --git a/lib/jabberqueuehandler.php b/lib/jabberqueuehandler.php deleted file mode 100644 index 83471f2df..000000000 --- a/lib/jabberqueuehandler.php +++ /dev/null @@ -1,47 +0,0 @@ -. - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -/** - * Queue handler for pushing new notices to Jabber users. - * @fixme this exception handling doesn't look very good. - */ -class JabberQueueHandler extends QueueHandler -{ - var $conn = null; - - function transport() - { - return 'jabber'; - } - - function handle($notice) - { - require_once(INSTALLDIR.'/lib/jabber.php'); - try { - return jabber_broadcast_notice($notice); - } catch (XMPPHP_Exception $e) { - $this->log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - return false; - } - } -} diff --git a/lib/publicqueuehandler.php b/lib/publicqueuehandler.php deleted file mode 100644 index c9edb8d5d..000000000 --- a/lib/publicqueuehandler.php +++ /dev/null @@ -1,45 +0,0 @@ -. - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -/** - * Queue handler for pushing new notices to public XMPP subscribers. - */ -class PublicQueueHandler extends QueueHandler -{ - - function transport() - { - return 'public'; - } - - function handle($notice) - { - require_once(INSTALLDIR.'/lib/jabber.php'); - try { - return jabber_public_notice($notice); - } catch (XMPPHP_Exception $e) { - $this->log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - return false; - } - } -} diff --git a/lib/queued_xmpp.php b/lib/queued_xmpp.php deleted file mode 100644 index 4b890c4ca..000000000 --- a/lib/queued_xmpp.php +++ /dev/null @@ -1,117 +0,0 @@ -. - * - * @category Network - * @package StatusNet - * @author Brion Vibber - * @copyright 2010 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR . '/lib/jabber.php'; - -class Queued_XMPP extends XMPPHP_XMPP -{ - /** - * Constructor - * - * @param string $host - * @param integer $port - * @param string $user - * @param string $password - * @param string $resource - * @param string $server - * @param boolean $printlog - * @param string $loglevel - */ - public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) - { - parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); - // Normally the fulljid isn't filled out until resource binding time; - // we need to save it here since we're not talking to a real server. - $this->fulljid = "{$this->basejid}/{$this->resource}"; - } - - /** - * Send a formatted message to the outgoing queue for later forwarding - * to a real XMPP connection. - * - * @param string $msg - */ - public function send($msg, $timeout=NULL) - { - $qm = QueueManager::get(); - $qm->enqueue(strval($msg), 'xmppout'); - } - - /** - * Since we'll be getting input through a queue system's run loop, - * we'll process one standalone message at a time rather than our - * own XMPP message pump. - * - * @param string $message - */ - public function processMessage($message) { - $frame = array_shift($this->frames); - xml_parse($this->parser, $frame->body, false); - } - - //@{ - /** - * Stream i/o functions disabled; push input through processMessage() - */ - public function connect($timeout = 30, $persistent = false, $sendinit = true) - { - throw new Exception("Can't connect to server from XMPP queue proxy."); - } - - public function disconnect() - { - throw new Exception("Can't connect to server from XMPP queue proxy."); - } - - public function process() - { - throw new Exception("Can't read stream from XMPP queue proxy."); - } - - public function processUntil($event, $timeout=-1) - { - throw new Exception("Can't read stream from XMPP queue proxy."); - } - - public function read() - { - throw new Exception("Can't read stream from XMPP queue proxy."); - } - - public function readyToProcess() - { - throw new Exception("Can't read stream from XMPP queue proxy."); - } - //@} -} - diff --git a/lib/queuehandler.php b/lib/queuehandler.php index 2909cd83b..2194dd161 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -36,20 +36,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } class QueueHandler { - /** - * Return transport keyword which identifies items this queue handler - * services; must be defined for all subclasses. - * - * Must be 8 characters or less to fit in the queue_item database. - * ex "email", "jabber", "sms", "irc", ... - * - * @return string - */ - function transport() - { - return null; - } - /** * Here's the meat of your queue handler -- you're handed a Notice * or other object, which you may do as you will with. diff --git a/lib/queuemanager.php b/lib/queuemanager.php index 61e28085a..0b405943d 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -213,18 +213,8 @@ abstract class QueueManager extends IoManager $this->connect('sms', 'SmsQueueHandler'); } - // XMPP output handlers... - $this->connect('jabber', 'JabberQueueHandler'); - $this->connect('public', 'PublicQueueHandler'); - - // @fixme this should get an actual queue - //$this->connect('confirm', 'XmppConfirmHandler'); - // For compat with old plugins not registering their own handlers. $this->connect('plugin', 'PluginQueueHandler'); - - $this->connect('xmppout', 'XmppOutQueueHandler', 'xmppdaemon'); - } Event::handle('EndInitializeQueueManager', array($this)); } @@ -251,8 +241,8 @@ abstract class QueueManager extends IoManager $group = 'queuedaemon'; if ($this->master) { // hack hack - if ($this->master instanceof XmppMaster) { - return 'xmppdaemon'; + if ($this->master instanceof ImMaster) { + return 'imdaemon'; } } return $group; diff --git a/lib/queuemonitor.php b/lib/queuemonitor.php index 1c306a629..3dc0ea65a 100644 --- a/lib/queuemonitor.php +++ b/lib/queuemonitor.php @@ -36,7 +36,7 @@ class QueueMonitor * Only explicitly listed thread/site/queue owners will be incremented. * * @param string $key counter name - * @param array $owners list of owner keys like 'queue:jabber' or 'site:stat01' + * @param array $owners list of owner keys like 'queue:xmpp' or 'site:stat01' */ public function stats($key, $owners=array()) { diff --git a/lib/util.php b/lib/util.php index 6c9f6316a..e60cb6765 100644 --- a/lib/util.php +++ b/lib/util.php @@ -994,18 +994,9 @@ function common_enqueue_notice($notice) $transports = $allTransports; - $xmpp = common_config('xmpp', 'enabled'); - - if ($xmpp) { - $transports[] = 'jabber'; - } - if ($notice->is_local == Notice::LOCAL_PUBLIC || $notice->is_local == Notice::LOCAL_NONPUBLIC) { $transports = array_merge($transports, $localTransports); - if ($xmpp) { - $transports[] = 'public'; - } } if (Event::handle('StartEnqueueNotice', array($notice, &$transports))) { diff --git a/lib/xmppmanager.php b/lib/xmppmanager.php deleted file mode 100644 index 985e7c32e..000000000 --- a/lib/xmppmanager.php +++ /dev/null @@ -1,485 +0,0 @@ -. - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } - -/** - * XMPP background connection manager for XMPP-using queue handlers, - * allowing them to send outgoing messages on the right connection. - * - * Input is handled during socket select loop, keepalive pings during idle. - * Any incoming messages will be forwarded to the main XmppDaemon process, - * which handles direct user interaction. - * - * In a multi-site queuedaemon.php run, one connection will be instantiated - * for each site being handled by the current process that has XMPP enabled. - */ - -class XmppManager extends IoManager -{ - protected $site = null; - protected $pingid = 0; - protected $lastping = null; - - static protected $singletons = array(); - - const PING_INTERVAL = 120; - - /** - * Fetch the singleton XmppManager for the current site. - * @return mixed XmppManager, or false if unneeded - */ - public static function get() - { - if (common_config('xmpp', 'enabled')) { - $site = common_config('site', 'server'); - if (empty(self::$singletons[$site])) { - self::$singletons[$site] = new XmppManager(); - } - return self::$singletons[$site]; - } else { - return false; - } - } - - /** - * Tell the i/o master we need one instance for each supporting site - * being handled in this process. - */ - public static function multiSite() - { - return IoManager::INSTANCE_PER_SITE; - } - - function __construct() - { - $this->site = common_config('site', 'server'); - $this->resource = common_config('xmpp', 'resource') . 'daemon'; - } - - /** - * Initialize connection to server. - * @return boolean true on success - */ - public function start($master) - { - parent::start($master); - $this->switchSite(); - - require_once INSTALLDIR . "/lib/jabber.php"; - - # Low priority; we don't want to receive messages - - common_log(LOG_INFO, "INITIALIZE"); - $this->conn = jabber_connect($this->resource); - - if (empty($this->conn)) { - common_log(LOG_ERR, "Couldn't connect to server."); - return false; - } - - $this->log(LOG_DEBUG, "Initializing stanza handlers."); - - $this->conn->addEventHandler('message', 'handle_message', $this); - $this->conn->addEventHandler('presence', 'handle_presence', $this); - $this->conn->addEventHandler('reconnect', 'handle_reconnect', $this); - - $this->conn->setReconnectTimeout(600); - jabber_send_presence("Send me a message to post a notice", 'available', null, 'available', 100); - - return !is_null($this->conn); - } - - /** - * Message pump is triggered on socket input, so we only need an idle() - * call often enough to trigger our outgoing pings. - */ - function timeout() - { - return self::PING_INTERVAL; - } - - /** - * Lists the XMPP connection socket to allow i/o master to wake - * when input comes in here as well as from the queue source. - * - * @return array of resources - */ - public function getSockets() - { - if ($this->conn) { - return array($this->conn->getSocket()); - } else { - return array(); - } - } - - /** - * Process XMPP events that have come in over the wire. - * Side effects: may switch site configuration - * @fixme may kill process on XMPP error - * @param resource $socket - */ - public function handleInput($socket) - { - $this->switchSite(); - - # Process the queue for as long as needed - try { - if ($this->conn) { - assert($socket === $this->conn->getSocket()); - - common_log(LOG_DEBUG, "Servicing the XMPP queue."); - $this->stats('xmpp_process'); - $this->conn->processTime(0); - } - } catch (XMPPHP_Exception $e) { - common_log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - die($e->getMessage()); - } - } - - /** - * Idle processing for io manager's execution loop. - * Send keepalive pings to server. - * - * Side effect: kills process on exception from XMPP library. - * - * @fixme non-dying error handling - */ - public function idle($timeout=0) - { - if ($this->conn) { - $now = time(); - if (empty($this->lastping) || $now - $this->lastping > self::PING_INTERVAL) { - $this->switchSite(); - try { - $this->sendPing(); - $this->lastping = $now; - } catch (XMPPHP_Exception $e) { - common_log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); - die($e->getMessage()); - } - } - } - } - - /** - * For queue handlers to pass us a message to push out, - * if we're active. - * - * @fixme should this be blocking etc? - * - * @param string $msg XML stanza to send - * @return boolean success - */ - public function send($msg) - { - if ($this->conn && !$this->conn->isDisconnected()) { - $bytes = $this->conn->send($msg); - if ($bytes > 0) { - $this->conn->processTime(0); - return true; - } else { - return false; - } - } else { - // Can't send right now... - return false; - } - } - - /** - * Send a keepalive ping to the XMPP server. - */ - protected function sendPing() - { - $jid = jabber_daemon_address().'/'.$this->resource; - $server = common_config('xmpp', 'server'); - - if (!isset($this->pingid)) { - $this->pingid = 0; - } else { - $this->pingid++; - } - - common_log(LOG_DEBUG, "Sending ping #{$this->pingid}"); - - $this->conn->send(""); - } - - /** - * Callback for Jabber reconnect event - * @param $pl - */ - function handle_reconnect(&$pl) - { - common_log(LOG_NOTICE, 'XMPP reconnected'); - - $this->conn->processUntil('session_start'); - $this->conn->presence(null, 'available', null, 'available', 100); - } - - - function get_user($from) - { - $user = User::staticGet('jabber', jabber_normalize_jid($from)); - return $user; - } - - /** - * XMPP callback for handling message input... - * @param array $pl XMPP payload - */ - function handle_message(&$pl) - { - $from = jabber_normalize_jid($pl['from']); - - if ($pl['type'] != 'chat') { - $this->log(LOG_WARNING, "Ignoring message of type ".$pl['type']." from $from."); - return; - } - - if (mb_strlen($pl['body']) == 0) { - $this->log(LOG_WARNING, "Ignoring message with empty body from $from."); - return; - } - - // Forwarded from another daemon for us to handle; this shouldn't - // happen any more but we might get some legacy items. - if ($this->is_self($from)) { - $this->log(LOG_INFO, "Got forwarded notice from self ($from)."); - $from = $this->get_ofrom($pl); - $this->log(LOG_INFO, "Originally sent by $from."); - if (is_null($from) || $this->is_self($from)) { - $this->log(LOG_INFO, "Ignoring notice originally sent by $from."); - return; - } - } - - $user = $this->get_user($from); - - // For common_current_user to work - global $_cur; - $_cur = $user; - - if (!$user) { - $this->from_site($from, 'Unknown user; go to ' . - common_local_url('imsettings') . - ' to add your address to your account'); - $this->log(LOG_WARNING, 'Message from unknown user ' . $from); - return; - } - if ($this->handle_command($user, $pl['body'])) { - $this->log(LOG_INFO, "Command message by $from handled."); - return; - } else if ($this->is_autoreply($pl['body'])) { - $this->log(LOG_INFO, 'Ignoring auto reply from ' . $from); - return; - } else if ($this->is_otr($pl['body'])) { - $this->log(LOG_INFO, 'Ignoring OTR from ' . $from); - return; - } else { - - $this->log(LOG_INFO, 'Posting a notice from ' . $user->nickname); - - $this->add_notice($user, $pl); - } - - $user->free(); - unset($user); - unset($_cur); - - unset($pl['xml']); - $pl['xml'] = null; - - $pl = null; - unset($pl); - } - - - function is_self($from) - { - return preg_match('/^'.strtolower(jabber_daemon_address()).'/', strtolower($from)); - } - - function get_ofrom($pl) - { - $xml = $pl['xml']; - $addresses = $xml->sub('addresses'); - if (!$addresses) { - $this->log(LOG_WARNING, 'Forwarded message without addresses'); - return null; - } - $address = $addresses->sub('address'); - if (!$address) { - $this->log(LOG_WARNING, 'Forwarded message without address'); - return null; - } - if (!array_key_exists('type', $address->attrs)) { - $this->log(LOG_WARNING, 'No type for forwarded message'); - return null; - } - $type = $address->attrs['type']; - if ($type != 'ofrom') { - $this->log(LOG_WARNING, 'Type of forwarded message is not ofrom'); - return null; - } - if (!array_key_exists('jid', $address->attrs)) { - $this->log(LOG_WARNING, 'No jid for forwarded message'); - return null; - } - $jid = $address->attrs['jid']; - if (!$jid) { - $this->log(LOG_WARNING, 'Could not get jid from address'); - return null; - } - $this->log(LOG_DEBUG, 'Got message forwarded from jid ' . $jid); - return $jid; - } - - function is_autoreply($txt) - { - if (preg_match('/[\[\(]?[Aa]uto[-\s]?[Rr]e(ply|sponse)[\]\)]/', $txt)) { - return true; - } else if (preg_match('/^System: Message wasn\'t delivered. Offline storage size was exceeded.$/', $txt)) { - return true; - } else { - return false; - } - } - - function is_otr($txt) - { - if (preg_match('/^\?OTR/', $txt)) { - return true; - } else { - return false; - } - } - - function from_site($address, $msg) - { - $text = '['.common_config('site', 'name') . '] ' . $msg; - jabber_send_message($address, $text); - } - - function handle_command($user, $body) - { - $inter = new CommandInterpreter(); - $cmd = $inter->handle_command($user, $body); - if ($cmd) { - $chan = new XMPPChannel($this->conn); - $cmd->execute($chan); - return true; - } else { - return false; - } - } - - function add_notice(&$user, &$pl) - { - $body = trim($pl['body']); - $content_shortened = common_shorten_links($body); - if (Notice::contentTooLong($content_shortened)) { - $from = jabber_normalize_jid($pl['from']); - $this->from_site($from, sprintf(_('Message too long - maximum is %1$d characters, you sent %2$d.'), - Notice::maxContent(), - mb_strlen($content_shortened))); - return; - } - - try { - $notice = Notice::saveNew($user->id, $content_shortened, 'xmpp'); - } catch (Exception $e) { - $this->log(LOG_ERR, $e->getMessage()); - $this->from_site($user->jabber, $e->getMessage()); - return; - } - - common_broadcast_notice($notice); - $this->log(LOG_INFO, - 'Added notice ' . $notice->id . ' from user ' . $user->nickname); - $notice->free(); - unset($notice); - } - - function handle_presence(&$pl) - { - $from = jabber_normalize_jid($pl['from']); - switch ($pl['type']) { - case 'subscribe': - # We let anyone subscribe - $this->subscribed($from); - $this->log(LOG_INFO, - 'Accepted subscription from ' . $from); - break; - case 'subscribed': - case 'unsubscribed': - case 'unsubscribe': - $this->log(LOG_INFO, - 'Ignoring "' . $pl['type'] . '" from ' . $from); - break; - default: - if (!$pl['type']) { - $user = User::staticGet('jabber', $from); - if (!$user) { - $this->log(LOG_WARNING, 'Presence from unknown user ' . $from); - return; - } - if ($user->updatefrompresence) { - $this->log(LOG_INFO, 'Updating ' . $user->nickname . - ' status from presence.'); - $this->add_notice($user, $pl); - } - $user->free(); - unset($user); - } - break; - } - unset($pl['xml']); - $pl['xml'] = null; - - $pl = null; - unset($pl); - } - - function log($level, $msg) - { - $text = 'XMPPDaemon('.$this->resource.'): '.$msg; - common_log($level, $text); - } - - function subscribed($to) - { - jabber_special_presence('subscribed', $to); - } - - /** - * Make sure we're on the right site configuration - */ - protected function switchSite() - { - if ($this->site != common_config('site', 'server')) { - common_log(LOG_DEBUG, __METHOD__ . ": switching to site $this->site"); - $this->stats('switch'); - StatusNet::init($this->site); - } - } -} diff --git a/lib/xmppoutqueuehandler.php b/lib/xmppoutqueuehandler.php deleted file mode 100644 index 2afa260f1..000000000 --- a/lib/xmppoutqueuehandler.php +++ /dev/null @@ -1,55 +0,0 @@ -. - */ - -/** - * Queue handler for pre-processed outgoing XMPP messages. - * Formatted XML stanzas will have been pushed into the queue - * via the Queued_XMPP connection proxy, probably from some - * other queue processor. - * - * Here, the XML stanzas are simply pulled out of the queue and - * pushed out over the wire; an XmppManager is needed to set up - * and maintain the actual server connection. - * - * This queue will be run via XmppDaemon rather than QueueDaemon. - * - * @author Brion Vibber - */ -class XmppOutQueueHandler extends QueueHandler -{ - function transport() { - return 'xmppout'; - } - - /** - * Take a previously-queued XMPP stanza and send it out ot the server. - * @param string $msg - * @return boolean true on success - */ - function handle($msg) - { - assert(is_string($msg)); - - $xmpp = XmppManager::get(); - $ok = $xmpp->send($msg); - - return $ok; - } -} - diff --git a/plugins/Aim/AimPlugin.php b/plugins/Aim/AimPlugin.php new file mode 100644 index 000000000..3855d1fb0 --- /dev/null +++ b/plugins/Aim/AimPlugin.php @@ -0,0 +1,162 @@ +. + * + * @category IM + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + // This check helps protect against security problems; + // your code file can't be executed directly from the web. + exit(1); +} +// We bundle the phptoclib library... +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/phptoclib'); + +/** + * Plugin for AIM + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class AimPlugin extends ImPlugin +{ + public $user = null; + public $password = null; + public $publicFeed = array(); + + public $transport = 'aim'; + + function getDisplayName() + { + return _m('AIM'); + } + + function normalize($screenname) + { + $screenname = str_replace(" ","", $screenname); + return strtolower($screenname); + } + + function daemon_screenname() + { + return $this->user; + } + + function validate($screenname) + { + if(preg_match('/^[a-z]\w{2,15}$/i', $screenname)) { + return true; + }else{ + return false; + } + } + + /** + * Load related modules when needed + * + * @param string $cls Name of the class to be loaded + * + * @return boolean hook value; true means continue processing, false means stop. + */ + function onAutoload($cls) + { + $dir = dirname(__FILE__); + + switch ($cls) + { + case 'Aim': + require_once(INSTALLDIR.'/plugins/Aim/extlib/phptoclib/aimclassw.php'); + return false; + case 'AimManager': + include_once $dir . '/'.strtolower($cls).'.php'; + return false; + case 'Fake_Aim': + include_once $dir . '/'. $cls .'.php'; + return false; + default: + return true; + } + } + + function onStartImDaemonIoManagers(&$classes) + { + parent::onStartImDaemonIoManagers(&$classes); + $classes[] = new AimManager($this); // handles sending/receiving + return true; + } + + function microiduri($screenname) + { + return 'aim:' . $screenname; + } + + function send_message($screenname, $body) + { + $this->fake_aim->sendIm($screenname, $body); + $this->enqueue_outgoing_raw($this->fake_aim->would_be_sent); + return true; + } + + function receive_raw_message($message) + { + $info=Aim::getMessageInfo($message); + $from = $info['from']; + $user = $this->get_user($from); + $notice_text = $info['message']; + + return $this->handle_incoming($from, $notice_text); + } + + function initialize(){ + if(!isset($this->user)){ + throw new Exception("must specify a user"); + } + if(!isset($this->password)){ + throw new Exception("must specify a password"); + } + + $this->fake_aim = new Fake_Aim($this->user,$this->password,4); + return true; + } + + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'AIM', + 'version' => STATUSNET_VERSION, + 'author' => 'Craig Andrews', + 'homepage' => 'http://status.net/wiki/Plugin:AIM', + 'rawdescription' => + _m('The AIM plugin allows users to send and receive notices over the AIM network.')); + return true; + } +} + diff --git a/plugins/Aim/Fake_Aim.php b/plugins/Aim/Fake_Aim.php new file mode 100644 index 000000000..139b68f82 --- /dev/null +++ b/plugins/Aim/Fake_Aim.php @@ -0,0 +1,43 @@ +. + * + * @category Network + * @package StatusNet + * @author Craig Andrews + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +class Fake_Aim extends Aim +{ + public $would_be_sent = null; + + function sflapSend($sflap_type, $sflap_data, $no_null, $formatted) + { + $this->would_be_sent = array($sflap_type, $sflap_data, $no_null, $formatted); + } +} + diff --git a/plugins/Aim/README b/plugins/Aim/README new file mode 100644 index 000000000..046591738 --- /dev/null +++ b/plugins/Aim/README @@ -0,0 +1,27 @@ +The AIM plugin allows users to send and receive notices over the AIM network. + +Installation +============ +add "addPlugin('aim', + array('setting'=>'value', 'setting2'=>'value2', ...);" +to the bottom of your config.php + +The daemon included with this plugin must be running. It will be started by +the plugin along with their other daemons when you run scripts/startdaemons.sh. +See the StatusNet README for more about queuing and daemons. + +Settings +======== +user*: username (screenname) to use when logging into AIM +password*: password for that user + +* required +default values are in (parenthesis) + +Example +======= +addPlugin('aim', array( + 'user=>'...', + 'password'=>'...' +)); + diff --git a/plugins/Aim/aimmanager.php b/plugins/Aim/aimmanager.php new file mode 100644 index 000000000..d9b7421fb --- /dev/null +++ b/plugins/Aim/aimmanager.php @@ -0,0 +1,100 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +/** + * AIM background connection manager for AIM-using queue handlers, + * allowing them to send outgoing messages on the right connection. + * + * Input is handled during socket select loop, keepalive pings during idle. + * Any incoming messages will be handled. + * + * In a multi-site queuedaemon.php run, one connection will be instantiated + * for each site being handled by the current process that has XMPP enabled. + */ + +class AimManager extends ImManager +{ + + public $conn = null; + /** + * Initialize connection to server. + * @return boolean true on success + */ + public function start($master) + { + if(parent::start($master)) + { + $this->connect(); + return true; + }else{ + return false; + } + } + + public function getSockets() + { + $this->connect(); + if($this->conn){ + return array($this->conn->myConnection); + }else{ + return array(); + } + } + + /** + * Process AIM events that have come in over the wire. + * @param resource $socket + */ + public function handleInput($socket) + { + common_log(LOG_DEBUG, "Servicing the AIM queue."); + $this->stats('aim_process'); + $this->conn->receive(); + } + + function connect() + { + if (!$this->conn) { + $this->conn=new Aim($this->plugin->user,$this->plugin->password,4); + $this->conn->registerHandler("IMIn",array($this,"handle_aim_message")); + $this->conn->myServer="toc.oscar.aol.com"; + $this->conn->signon(); + $this->conn->setProfile(_m('Send me a message to post a notice'),false); + } + return $this->conn; + } + + function handle_aim_message($data) + { + $this->plugin->enqueue_incoming_raw($data); + return true; + } + + function send_raw_message($data) + { + $this->connect(); + if (!$this->conn) { + return false; + } + $this->conn->sflapSend($data[0],$data[1],$data[2],$data[3]); + return true; + } +} diff --git a/plugins/Aim/extlib/phptoclib/README.txt b/plugins/Aim/extlib/phptoclib/README.txt new file mode 100755 index 000000000..0eec13af8 --- /dev/null +++ b/plugins/Aim/extlib/phptoclib/README.txt @@ -0,0 +1,169 @@ +phpTOCLib version 1.0 RC1 + +This is released under the LGPL. AIM,TOC,OSCAR, and all other related protocols/terms are +copyright AOL/Time Warner. This project is in no way affiliated with them, nor is this +project supported by them. + +Some of the code is loosely based off of a script by Jeffrey Grafton. Mainly the decoding of packets, and the +function for roasting passwords is entirly his. + +TOC documentation used is available at http://simpleaim.sourceforge.net/docs/TOC.txt + + +About: +phpTOCLib aims to be a PHP equivalent to the PERL module NET::AIM. Due to some limitations, +this is difficult. Many features have been excluded in the name of simplicity, and leaves +you alot of room to code with externally, providing function access to the variables that +need them. + +I have aimed to make this extensible, and easy to use, therefore taking away some built in +functionality that I had originally out in. This project comes after several months of +researching the TOC protocol. + +example.php is included with the class. It needs to be executed from the command line +(ie:php -q testscript.php) and you need to call php.exe with the -q +example is provided as a demonstaration only. Though it creats a very simple, functional bot, it lacks any sort of commands, it merely resends the message it recieves in reverse. + + +Revisions: + +----------------------------------- +by Rajiv Makhijani +(02/24/04) + - Fixed Bug in Setting Permit/Deny Mode + - Fixes so Uninitialized string offset notice doesn't appear + - Replaced New Lines Outputed for Each Flap Read with " . " so + that you can still tell it is active but it does not take so much space + - Removed "eh?" message + - Added MySQL Database Connection Message + - New Functions: + update_profile(profile data string, powered by boolean) + * The profile data string is the text that goes in the profile. + * The powered by boolean if set to true displays a link to the + sourceforge page of the script. +(02/28/04) + - Silent option added to set object not to output any information + - To follow silent rule use sEcho function instead of Echo +----------------------------------- +by Jeremy (pickleman78) +(05/26/04) beta 1 release + -Complete overhaul of class design and message handling + -Fixed bug involving sign off after long periods of idling + -Added new function $Aim->registerHandler + -Added the capability to handle all AIM messages + -Processing the messages is still the users responsibility + -Did a little bit of code cleanup + -Added a few internal functions to make the classes internal life easier + -Improved AIM server error message processing + -Updated this document (hopefully Rajiv will clean it up some, since I'm a terrible documenter) +------------------------------------------------------------------------------------------------------------- + + + +Functions: + +Several methods are provided in the class that allow for simple access to some of the +common features of AIM. Below are details. + +$Aim->Aim($sn,$password,$pdmode, $silent=false) +The constructor, it takes 4 arguments. +$sn is your screen name +$password is you password, in plain text +$pdmode is the permit deny mode. This can be as follows: +1 - Allow All +2 - Deny All +3 - Permit only those on your permit list +4 - Permit all those not on your deny list +$silent if set to true prints out nothing + +So, if your screen-name is JohnDoe746 and your password is fertu, and you want to allow +all users of the AIM server to contact you, you would code as follows +$myaim=new Aim("JohnDoe746","fertu",1); + + +$Aim->add_permit($buddy) +This adds the buddy passed to the function to your permit list. +ie: $myaim->add_permit("My friend22"); + +$Aim->block_buddy($buddy) +Blocks a user. This will switch your pd mode to 4. After using this, for the user to remain +out of contact with you, it is required to provide the constructor with a pd mode of 4 +ie:$myaim->block_buddy("Annoying guy 4"); + +$Aim->send_im($to,$message,$auto=false) +Sends $message to $user. If you set the 3rd argument to true, then the recipient will receive it in +the same format as an away message. (Auto Response from me:) +A message longer than 65535 will be truncated +ie:$myaim->send_im("myfriend","This is a happy message"); + +$Aim->set_my_info() +Sends an update buddy command to the server and allows some internal values about yourself +to be set. +ie:$myaim->set_my_info(); + +$Aim->signon() +Call this to connect to the server. This must be called before any other methods will work +properly +ie:$mybot->signon(); + +$Aim->getLastReceived() +Returns $this->myLastReceived['decoded']. This should be the only peice of the gotten data +you need to concern yourself with. This is a preferred method of accessing this variable to prevent +accidental modification of $this->myLastReceived. Accidently modifying this variable can +cause some internal failures. + +$Aim->read_from_aim() +This is a wrapper for $Aim->sflap_read(), and only returns the $this->myLastReceived['data'] +portion of the message. It is preferred that you do not call $Aim->sflap_read() and use this +function instead. This function has a return value. Calling this prevents the need to call +$Aim->getLastReceived() + +$Aim->setWarning($wl) +This allows you to update the bots warning level when warned. + +$Aim->getBuddies() +Returns the $this->myBuddyList array. Use this instead of modifying the internal variable + +$Aim->getPermit() +Returns the $this->myPermitList array. Use this instead of modifying the internal variable + +$Aim->getBlocked() +Returns the $this->myBlockedList array. Use this instead of modifying the internal variable + +$Aim->warn_user($user,$anon=false) +Warn $user. If anon is set to true, then it warns the user anonomously + +$Aim->update_profile($information, $poweredby=false) +Updates Profile to $information. If $poweredby is true a link to +sourceforge page for this script is appended to profile + +$Aim->registerHandler($function_name,$command) +This is by far the best thing about the new release. +For more information please reas supplement.txt. It is not included here because of the sheer size of the document. +supplement.txt contains full details on using registerHandler and what to expect for each input. + + +For convenience, I have provided some functions to simplify message processing. + +They can be read about in the file "supplement.txt". I chose not to include the text here because it +is a huge document + + + +There are a few things you should note about AIM +1)An incoming message has HTML tags in it. You are responsible for stripping those tags +2)Outgoing messages can have HTML tags, but will work fine if they don't. To include things + in the time feild next to the users name, send it as a comment + +Conclusion: +The class is released under the LGPL. If you have any bug reports, comments, questions +feature requests, or want to help/show me what you've created with this(I am very interested in this), +please drop me an email: pickleman78@users.sourceforge.net. This code was written by +Jeremy(a.k.a pickleman78) and Rajiv M (a.k.a compwiz562). + + +Special thanks: +I'd like to thank all of the people who have contributed ideas, testing, bug reports, and code additions to +this project. I'd like to especially thank Rajiv, who has done do much for the project, and has kept this documnet +looking nice. He also has done alot of testing of this script too. I'd also like to thank SpazLink for his help in +testing. And finally I'd like to thank Jeffery Grafton, whose script inspired me to start this project. diff --git a/plugins/Aim/extlib/phptoclib/aimclassw.php b/plugins/Aim/extlib/phptoclib/aimclassw.php new file mode 100755 index 000000000..0657910d9 --- /dev/null +++ b/plugins/Aim/extlib/phptoclib/aimclassw.php @@ -0,0 +1,2370 @@ + + * @author Rajiv Makhijani + * @package phptoclib + * @version 1.0RC1 + * @copyright 2005 + * @access public + * + */ +class Aim +{ + /** + * AIM ScreenName + * + * @var String + * @access private + */ + var $myScreenName; + + /** + * AIM Password (Plain Text) + * + * @var String + * @access private + */ + var $myPassword; + + + /** + * AIM TOC Server + * + * @var String + * @access public + */ + var $myServer="toc.oscar.aol.com"; + + /** + * AIM Formatted ScreenName + * + * @var String + * @access private + */ + var $myFormatSN; + + /** + * AIM TOC Server Port + * + * @var String + * @access public + */ + var $myPort="5190"; + + /** + * Profile Data + * Use setProfile() to update + * + * @var String + * @access private + */ + var $myProfile="Powered by phpTOCLib. Please visit http://sourceforge.net/projects/phptoclib for more information"; //The profile of the bot + + /** + * Socket Connection Resource ID + * + * @var Resource + * @access private + */ + var $myConnection; //Connection resource ID + + /** + * Roasted AIM Password + * + * @var String + * @access private + */ + var $myRoastedPass; + + /** + * Last Message Recieved From Server + * + * @var String + * @access private + */ + var $myLastReceived; + + /** + * Current Seq Number Used to Communicate with Server + * + * @var Integer + * @access private + */ + var $mySeqNum; + + /** + * Current Warning Level + * Getter: getWarning() + * Setter: setWarning() + * + * @var Integer + * @access private + */ + var $myWarnLevel; //Warning Level of the bot + + /** + * Auth Code + * + * @var Integer + * @access private + */ + var $myAuthCode; + + /** + * Buddies + * Getter: getBuddies() + * + * @var Array + * @access private + */ + var $myBuddyList; + + /** + * Blocked Buddies + * Getter: getBlocked() + * + * @var Array + * @access private + */ + var $myBlockedList; + + /** + * Permited Buddies + * Getter: getBlocked() + * + * @var Array + * @access private + */ + var $myPermitList; + + /** + * Permit/Deny Mode + * 1 - Allow All + * 2 - Deny All + * 3 - Permit only those on your permit list + * 4 - Permit all those not on your deny list + * + * @var Integer + * @access private + */ + var $myPdMode; + + //Below variables added 4-29 by Jeremy: Implementing chat + + /** + * Contains Chat Room Info + * $myChatRooms['roomid'] = people in room + * + * @var Array + * @access private + */ + var $myChatRooms; + + //End of chat implementation + + + /** + * Event Handler Functions + * + * @var Array + * @access private + */ + var $myEventHandlers = array(); + + /** + * Array of direct connection objects(including file transfers) + * + * @var Array + * @access private + */ + var $myDirectConnections = array(); + + /** + * Array of the actual connections + * + * @var Array + * @access private + */ + var $myConnections = array(); + + /** + * The current state of logging + * + * @var Boolean + * @access private + */ + + var $myLogging = false; + + /** + * Constructor + * + * Permit/Deny Mode Options + * 1 - Allow All + * 2 - Deny All + * 3 - Permit only those on your permit list + * 4 - Permit all those not on your deny list + * + * @param String $sn AIM Screenname + * @param String $password AIM Password + * @param Integer $pdmode Permit/Deny Mode + * @access public + */ + function Aim($sn, $password, $pdmode) + { + //Constructor assignment + $this->myScreenName = $this->normalize($sn); + $this->myPassword = $password; + $this->myRoastedPass = $this->roastPass($password); + $this->mySeqNum = 1; + $this->myConnection = 0; + $this->myWarnLevel = 0; + $this->myAuthCode = $this->makeCode(); + $this->myPdMode = $pdmode; + $this->myFormatSN = $this->myScreenName; + + $this->log("PHPTOCLIB v" . PHPTOCLIB_VERSION . " Object Created"); + + } + + /** + * Enables debug logging (Logging is disabled by default) + * + * + * @access public + * @return void + */ + + function setLogging($enable) + { + $this->myLogging=$enable; + } + + function log($data) + { + if($this->myLogging){ + error_log($data); + } + } + + /** + * Logs a packet + * + * + * @access private + * @param Array $packary Packet + * @param String $in Prepend + * @return void + */ + function logPacket($packary,$in) + { + if(!$this->myLogging || sizeof($packary)<=0 || (@strlen($packary['decoded'])<=0 && @isset($packary['decoded']))) + return; + $towrite=$in . ": "; + foreach($packary as $k=>$d) + { + $towrite.=$k . ":" . $d . "\r\n"; + } + $towrite.="\r\n\r\n"; + $this->log($towrite); + } + /** + * Roasts/Hashes Password + * + * @param String $password Password + * @access private + * @return String Roasted Password + */ + function roastPass($password) + { + $roaststring = 'Tic/Toc'; + $roasted_password = '0x'; + for ($i = 0; $i < strlen($password); $i++) + $roasted_password .= bin2hex($password[$i] ^ $roaststring[($i % 7)]); + return $roasted_password; + } + + /** + * Access Method for myScreenName + * + * @access public + * @param $formated Returns formatted Screenname if true as returned by server + * @return String Screenname + */ + function getMyScreenName($formated = false) + { + if ($formated) + { + return $this->myFormatSN; + } + else + { + return $this->normalize($this->myScreenName); + } + } + + /** + * Generated Authorization Code + * + * @access private + * @return Integer Auth Code + */ + function makeCode() + { + $sn = ord($this->myScreenName[0]) - 96; + $pw = ord($this->myPassword[0]) - 96; + $a = $sn * 7696 + 738816; + $b = $sn * 746512; + $c = $pw * $a; + + return $c - $a + $b + 71665152; + } + + + /** + * Reads from Socket + * + * @access private + * @return String Data + */ + function sflapRead() + { + if ($this->socketcheck($this->myConnection)) + { + $this->log("Disconnected.... Reconnecting in 60 seconds"); + sleep(60); + $this->signon(); + } + + $header = fread($this->myConnection,SFLAP_HEADER_LEN); + + if (strlen($header) == 0) + { + $this->myLastReceived = ""; + return ""; + } + $header_data = unpack("aast/Ctype/nseq/ndlen", $header); + $this->log(" . ", false); + $packet = fread($this->myConnection, $header_data['dlen']); + if (strlen($packet) <= 0 && $sockinfo['blocked']) + $this->derror("Could not read data"); + + if ($header_data['type'] == SFLAP_TYPE_SIGNON) + { + $packet_data=unpack("Ndecoded", $packet); + } + + if ($header_data['type'] == SFLAP_TYPE_KEEPALIVE) + { + $this->myLastReceived = ''; + return 0; + } + else if (strlen($packet)>0) + { + $packet_data = unpack("a*decoded", $packet); + } + $this->log("socketcheck check now"); + if ($this->socketcheck($this->myConnection)) + { + $this->derror("Connection ended unexpectedly"); + } + + $data = array_merge($header_data, $packet_data); + $this->myLastReceived = $data; + $this->logPacket($data,"in"); + return $data; + } + + /** + * Sends Data on Socket + * + * @param String $sflap_type Type + * @param String $sflap_data Data + * @param boolean $no_null No Null + * @param boolean $formatted Format + * @access private + * @return String Roasted Password + */ + function sflapSend($sflap_type, $sflap_data, $no_null, $formatted) + { + $packet = ""; + if (strlen($sflap_data) >= MAX_PACKLENGTH) + $sflap_data = substr($sflap_data,0,MAX_PACKLENGTH); + + if ($formatted) + { + $len = strlen($sflap_len); + $sflap_header = pack("aCnn",'*', $sflap_type, $this->mySeqNum, $len); + $packet = $sflap_header . $sflap_data; + } else { + if (!$no_null) + { + $sflap_data = str_replace("\0","", trim($sflap_data)); + $sflap_data .= "\0"; + } + $data = pack("a*", $sflap_data); + $len = strlen($sflap_data); + $header = pack("aCnn","*", $sflap_type, $this->mySeqNum, $len); + $packet = $header . $data; + } + + //Make sure we are still connected + if ($this->socketcheck($this->myConnection)) + { + $this->log("Disconnected.... reconnecting in 60 seconds"); + sleep(60); + $this->signon(); + } + $sent = fputs($this->myConnection, $packet) or $this->derror("Error sending packet to AIM"); + $this->mySeqNum++; + sleep(ceil($this->myWarnLevel/10)); + $this->logPacket(array($sflap_type,$sflap_data),"out"); + } + + /** + * Escape the thing that TOC doesn't like,that would be + * ",', $,{,},[,] + * + * @param String $data Data to Escape + * @see decodeData + * @access private + * @return String $data Escaped Data + */ + function encodeData($data) + { + $data = str_replace('"','\"', $data); + $data = str_replace('$','\$', $data); + $data = str_replace("'","\'", $data); + $data = str_replace('{','\{', $data); + $data = str_replace('}','\}', $data); + $data = str_replace('[','\[', $data); + $data = str_replace(']','\]', $data); + return $data; + } + + /** + * Unescape data TOC has escaped + * ",', $,{,},[,] + * + * @param String $data Data to Unescape + * @see encodeData + * @access private + * @return String $data Unescape Data + */ + function decodeData($data) + { + $data = str_replace('\"','"', $data); + $data = str_replace('\$','$', $data); + $data = str_replace("\'","'", $data); + $data = str_replace('\{','{', $data); + $data = str_replace('\}','}', $data); + $data = str_replace('\[','[', $data); + $data = str_replace('\]',']', $data); + $data = str_replace('"','"', $data); + $data = str_replace('&','&', $data); + return $data; + } + + /** + * Normalize ScreenName + * no spaces and all lowercase + * + * @param String $nick ScreenName + * @access public + * @return String $nick Normalized ScreenName + */ + function normalize($nick) + { + $nick = str_replace(" ","", $nick); + $nick = strtolower($nick); + return $nick; + } + + /** + * Sets internal info with update buddy + * Currently only sets warning level + * + * @access public + * @return void + */ + function setMyInfo() + { + //Sets internal values bvase on the update buddy command + $this->log("Setting my warning level ..."); + $this->sflapSend(SFLAP_TYPE_DATA,"toc_get_status " . $this->normalize($this->myScreenName),0,0); + //The rest of this will now be handled by the other functions. It is assumed + //that we may have other data queued in the socket, do we should just add this + //message to the queue instead of trying to set it in here + } + + /** + * Connects to AIM and Signs On Using Info Provided in Constructor + * + * @access public + * @return void + */ + function signon() + { + $this->log("Ready to sign on to the server"); + $this->myConnection = fsockopen($this->myServer, $this->myPort, $errno, $errstr,10) or die("$errorno:$errstr"); + $this->log("Connected to server"); + $this->mySeqNum = (time() % 65536); //Select an arbitrary starting point for + //sequence numbers + if (!$this->myConnection) + $this->derror("Error connecting to toc.oscar.aol.com"); + $this->log("Connected to AOL"); + //Send the flapon packet + fputs($this->myConnection,"FLAPON\r\n\n\0"); //send the initial handshake + $this->log("Sent flapon"); + $this->sflapRead(); //Make sure the server responds with what we expect + if (!$this->myLastReceived) + $this->derror("Error sending the initialization string"); + + //send the FLAP SIGNON packet back with what it needs + //There are 2 parts to the signon packet. They are sent in succession, there + //is no indication if either packet was correctly sent + $signon_packet = pack("Nnna".strlen($this->myScreenName),1,1,strlen($this->myScreenName), $this->myScreenName); + $this->sflapSend(SFLAP_TYPE_SIGNON, $signon_packet,1,0); + $this->log("sent signon packet part one"); + + $signon_packet_part2 = 'toc2_signon login.oscar.aol.com 29999 ' . $this->myScreenName . ' ' . $this->myRoastedPass . ' english-US "TIC:TOC2:REVISION" 160 ' . $this->myAuthCode; + $this->log($signon_packet_part2 . ""); + $this->sflapSend(SFLAP_TYPE_DATA, $signon_packet_part2,0,0); + $this->log("Sent signon packet part 2... Awaiting response..."); + + $this->sflapRead(); + $this->log("Received Sign on packet, beginning initilization..."); + $message = $this->getLastReceived(); + $this->log($message . "\n"); + if (strstr($message,"ERROR:")) + { + $this->onError($message); + die("Fatal signon error"); + } + stream_set_timeout($this->myConnection,2); + //The information sent before the config2 command is utterly useless to us + //So we will just skim through them until we reach it + + //Add the first entry to the connection array + $this->myConnections[] = $this->myConnection; + + + //UPDATED 4/12/03: Now this will use the receive function and send the + //received messaged to the assigned handlers. This is where the signon + //method has no more use + + $this->log("Done with signon proccess"); + //socket_set_blocking($this->myConnection,false); + } + + /** + * Sends Instant Message + * + * @param String $to Message Recipient SN + * @param String $message Message to Send + * @param boolean $auto Sent as Auto Response / Away Message Style + * @access public + * @return void + */ + function sendIM($to, $message, $auto = false) + { + if ($auto) $auto = "auto"; + else $auto = ""; + $to = $this->normalize($to); + $message = $this->encodeData($message); + $command = 'toc2_send_im "' . $to . '" "' . $message . '" ' . $auto; + $this->sflapSend(SFLAP_TYPE_DATA, trim($command),0,0); + $cleanedmessage = str_replace("
", " ", $this->decodeData($message)); + $cleanedmessage = strip_tags($cleanedmessage); + $this->log("TO - " . $to . " : " . $cleanedmessage); + } + + /** + * Set Away Message + * + * @param String $message Away message (some HTML supported). + * Use null to remove the away message + * @access public + * @return void + */ + function setAway($message) + { + $message = $this->encodeData($message); + $command = 'toc_set_away "' . $message . '"'; + $this->sflapSend(SFLAP_TYPE_DATA, trim($command),0,0); + $this->log("SET AWAY MESSAGE - " . $this->decodeData($message)); + } + + /** + * Fills Buddy List + * Not implemented fully yet + * + * @access public + * @return void + */ + function setBuddyList() + { + //This better be the right message + $message = $this->myLastReceived['decoded']; + if (strpos($message,"CONFIG2:") === false) + { + $this->log("setBuddyList cannot be called at this time because I got $message"); + return false; + } + $people = explode("\n",trim($message,"\n")); + //The first 3 elements of the array are who knows what, element 3 should be + //a letter followed by a person + for($i = 1; $imyPermitList[] = $name; + break; + case 'd': + $this->myBlockedList[] = $name; + break; + case 'b': + $this->myBuddyList[] = $name; + break; + case 'done': + break; + default: + // + } + } + } + + /** + * Adds buddy to Permit list + * + * @param String $buddy Buddy's Screenname + * @access public + * @return void + */ + function addPermit($buddy) + { + $this->sflapSend(SFLAP_TYPE_DATA,"toc2_add_permit " . $this->normalize($buddy),0,0); + $this->myPermitList[] = $this->normalize($buddy); + return 1; + } + + /** + * Blocks buddy + * + * @param String $buddy Buddy's Screenname + * @access public + * @return void + */ + function blockBuddy($buddy) + { + $this->sflapSend(SFLAP_TYPE_DATA,"toc2_add_deny " . $this->normalize($buddy),0,0); + $this->myBlockedList[] = $this->normalize($buddy); + return 1; + } + + /** + * Returns last message received from server + * + * @access private + * @return String Last Message from Server + */ + function getLastReceived() + { + if (@$instuff = $this->myLastReceived['decoded']){ + return $this->myLastReceived['decoded']; + }else{ + return; + } + } + + /** + * Returns Buddy List + * + * @access public + * @return array Buddy List + */ + function getBuddies() + { + return $this->myBuddyList; + } + + /** + * Returns Permit List + * + * @access public + * @return array Permit List + */ + function getPermit() + { + return $this->myPermitList; + } + + /** + * Returns Blocked Buddies + * + * @access public + * @return array Blocked List + */ + function getBlocked() + { + return $this->myBlockedList; + } + + + + + /** + * Reads and returns data from server + * + * This is a wrapper for $Aim->sflap_read(), and only returns the $this->myLastReceived['data'] + * portion of the message. It is preferred that you do not call $Aim->sflap_read() and use this + * function instead. This function has a return value. Calling this prevents the need to call + * $Aim->getLastReceived() + * + * @access public + * @return String Data recieved from server + */ + function read_from_aim() + { + $this->sflapRead(); + $returnme = $this->getLastReceived(); + return $returnme; + } + + /** + * Sets current internal warning level + * + * This allows you to update the bots warning level when warned. + * + * @param int Warning Level % + * @access private + * @return void + */ + function setWarningLevel($warnlevel) + { + $this->myWarnLevel = $warnlevel; + } + + /** + * Warns / "Evils" a User + * + * To successfully warn another user they must have sent you a message. + * There is a limit on how much and how often you can warn another user. + * Normally when you warn another user they are aware who warned them, + * however there is the option to warn anonymously. When warning anon. + * note that the warning is less severe. + * + * @param String $to Screenname to warn + * @param boolean $anon Warn's anonymously if true. (default = false) + * @access public + * @return void + */ + function warnUser($to, $anon = false) + { + if (!$anon) + $anon = '"norm"'; + + else + $anon = '"anon"'; + $this->sflapSend(SFLAP_TYPE_DATA,"toc_evil " . $this->normalize($to) . " $anon",0,0); + } + + /** + * Returns warning level of bot + * + * @access public + * @return void + */ + function getWarningLevel() + { + return $this->myWarningLevel; + } + + /** + * Sets bot's profile/info + * + * Limited to 1024 bytes. + * + * @param String $profiledata Profile Data (Can contain limited html: br,hr,font,b,i,u etc) + * @param boolean $poweredby If true, appends link to phpTOCLib project to profile + * @access public + * @return void + */ + function setProfile($profiledata, $poweredby = false) + { + if ($poweredby == false){ + $this->myProfile = $profiledata; + }else{ + $this->myProfile = $profiledata . "

Powered by phpTOCLib
http://sourceforge.net/projects/phptoclib
"; + } + + $this->sflapSend(SFLAP_TYPE_DATA,"toc_set_info \"" . $this->encodeData($this->myProfile) . "\"",0,0); + $this->setMyInfo(); + $this->log("Profile has been updated..."); + } + + //6/29/04 by Jeremy: + //Added mthod to accept a rvous,decline it, and + //read from the rvous socket + + //Decline + + /** + * Declines a direct connection request (rvous) + * + * @param String $nick ScreenName request was from + * @param String $cookie Request cookie (from server) + * @param String $uuid UUID + * + * @access public + * @return void + */ + function declineRvous($nick, $cookie, $uuid) + { + $nick = $this->normalize($nick); + $this->sflapSend(SFLAP_TYPE_DATA,"toc_rvous_cancel $nick $cookie $uuid",0,0); + } + + /** + * Accepts a direct connection request (rvous) + * + * @param String $nick ScreenName request was from + * @param String $cookie Request cookie (from server) + * @param String $uuid UUID + * @param String $vip IP of User DC with + * @param int $port Port number to connect to + * + * @access public + * @return void + */ + function acceptRvous($nick, $cookie, $uuid, $vip, $port) + { + $this->sflapSend(SFLAP_TYPE_DATA,"toc_rvous_accept $nick $cookie $uuid",0,0); + + //Now open the connection to that user + if ($uuid == IMAGE_UID) + { + $dcon = new Dconnect($vip, $port); + } + else if ($uuid == FILE_SEND_UID) + { + $dcon = new FileSendConnect($vip, $port); + } + if (!$dcon->connected) + { + $this->log("The connection failed"); + return false; + } + + //Place this dcon object inside the array + $this->myDirectConnections[] = $dcon; + //Place the socket in an array to + $this->myConnections[] = $dcon->sock; + + + //Get rid of the first packet because its worthless + //and confusing + $dcon->readDIM(); + //Assign the cookie + $dcon->cookie = $dcon->lastReceived['cookie']; + $dcon->connectedTo = $this->normalize($nick); + return $dcon; + } + + /** + * Sends a Message over a Direct Connection + * + * Only works if a direct connection is already established with user + * + * @param String $to Message Recipient SN + * @param String $message Message to Send + * + * @access public + * @return void + */ + function sendDim($to, $message) + { + //Find the connection + for($i = 0;$imyDirectConnections);$i++) + { + if ($this->normalize($to) == $this->myDirectConnections[$i]->connectedTo && $this->myDirectConnections[$i]->type == CONN_TYPE_DC) + { + $dcon = $this->myDirectConnections[$i]; + break; + } + } + if (!$dcon) + { + $this->log("Could not find a direct connection to $to"); + return false; + } + $dcon->sendMessage($message, $this->normalize($this->myScreenName)); + return true; + } + + /** + * Closes an established Direct Connection + * + * @param DConnect $dcon Direct Connection Object to Close + * + * @access public + * @return void + */ + function closeDcon($dcon) + { + + $nary = array(); + for($i = 0;$imyConnections);$i++) + { + if ($dcon->sock == $this->myConnections[$i]) + unset($this->myConnections[$i]); + } + + $this->myConnections = array_values($this->myConnections); + unset($nary); + $nary2 = array(); + + for($i = 0;$imyDirectConnections);$i++) + { + if ($dcon == $this->myDirectConnections[$i]) + unset($this->myDirectConnections[$i]); + } + $this->myDirectConnections = array_values($this->myDirectConnections); + $dcon->close(); + unset($dcon); + } + + //Added 4/29/04 by Jeremy: + //Various chat related methods + + /** + * Accepts a Chat Room Invitation (Joins room) + * + * @param String $chatid ID of Chat Room + * + * @access public + * @return void + */ + function joinChat($chatid) + { + $this->sflapSend(SFLAP_TYPE_DATA,"toc_chat_accept " . $chatid,0,0); + } + + /** + * Leaves a chat room + * + * @param String $chatid ID of Chat Room + * + * @access public + * @return void + */ + function leaveChat($chatid) + { + $this->sflapSend(SFLAP_TYPE_DATA,"toc_chat_leave " . $chatid,0,0); + } + + /** + * Sends a message in a chat room + * + * @param String $chatid ID of Chat Room + * @param String $message Message to send + * + * @access public + * @return void + */ + function chatSay($chatid, $message) + { + $this->sflapSend(SFLAP_TYPE_DATA,"toc_chat_send " . $chatid . " \"" . $this->encodeData($message) . "\"",0,0); + } + + /** + * Invites a user to a chat room + * + * @param String $chatid ID of Chat Room + * @param String $who Screenname of user + * @param String $message Note to include with invitiation + * + * @access public + * @return void + */ + function chatInvite($chatid, $who, $message) + { + $who = $this->normalize($who); + $this->sflapSend(SFLAP_TYPE_DATA,"toc_chat_invite " . $chatid . " \"" . $this->encodeData($message) . "\" " . $who,0,0); + } + + /** + * Joins/Creates a new chat room + * + * @param String $name Name of the new chat room + * @param String $exchange Exchange of new chat room + * + * @access public + * @return void + */ + function joinNewChat($name, $exchange) + { + //Creates a new chat + $this->sflapSend(SFLAP_TYPE_DATA,"toc_chat_join " . $exchange . " \"" . $name . "\"",0,0); + } + + /** + * Disconnect error handler, attempts to reconnect in 60 seconds + * + * @param String $message Error message (desc of where error encountered etc) + * + * @access private + * @return void + */ + function derror($message) + { + $this->log($message); + $this->log("Error"); + fclose($this->myConnection); + if ((time() - $GLOBALS['errortime']) < 600){ + $this->log("Reconnecting in 60 Seconds"); + sleep(60); + } + $this->signon(); + $GLOBALS['errortime'] = time(); + } + + /** + * Returns connection type of socket (main or rvous etc) + * + * Helper method for recieve() + * + * @param Resource $sock Socket to determine type for + * + * @access private + * @return void + * @see receive + */ + function connectionType($sock) + { + //Is it the main connection? + if ($sock == $this->myConnection) + return CONN_TYPE_NORMAL; + else + { + for($i = 0;$imyDirectConnections);$i++) + { + if ($sock == $this->myDirectConnections[$i]->sock) + return $this->myDirectConnections[$i]->type; + } + } + return false; + } + + /** + * Checks for new data and calls appropriate methods + * + * This method is usually called in an infinite loop to keep checking for new data + * + * @access public + * @return void + * @see connectionType + */ + function receive() + { + //This function will be used to get the incoming data + //and it will be used to call the event handlers + + //First, get an array of sockets that have data that is ready to be read + $ready = array(); + $ready = $this->myConnections; + $numrdy = stream_select($ready, $w = NULL, $x = NULL,NULL); + + //Now that we've waited for something, go through the $ready + //array and read appropriately + + for($i = 0;$iconnectionType($ready[$i]); + if ($type == CONN_TYPE_NORMAL) + { + //Next step:Get the data sitting in the socket + $message = $this->read_from_aim(); + if (strlen($message) <= 0) + { + return; + } + + //Third step: Get the command from the server + @list($cmd, $rest) = explode(":", $message); + + //Fourth step, take the command, test the type, and pass it off + //to the correct internal handler. The internal handler will + //do what needs to be done on the class internals to allow + //it to work, then proceed to pass it off to the user created handle + //if there is one + $this->log($cmd); + switch($cmd) + { + case 'SIGN_ON': + $this->onSignOn($message); + break; + case 'CONFIG2': + $this->onConfig($message); + break; + case 'ERROR': + $this->onError($message); + break; + case 'NICK': + $this->onNick($message); + break; + case 'IM_IN2': + $this->onImIn($message); + break; + case 'UPDATE_BUDDY2': + $this->onUpdateBuddy($message); + break; + case 'EVILED': + $this->onWarn($message); + break; + case 'CHAT_JOIN': + $this->onChatJoin($message); + break; + case 'CHAT_IN': + $this->onChatIn($message); + break; + case 'CHAT_UPDATE_BUDDY': + $this->onChatUpdate($message); + break; + case 'CHAT_INVITE': + $this->onChatInvite($message); + break; + case 'CHAT_LEFT': + $this->onChatLeft($message); + break; + case 'GOTO_URL': + $this->onGotoURL($message); + break; + case 'DIR_STATUS': + $this->onDirStatus($message); + break; + case 'ADMIN_NICK_STATUS': + $this->onAdminNick($message); + break; + case 'ADMIN_PASSWD_STATUS': + $this->onAdminPasswd($message); + break; + case 'PAUSE': + $this->onPause($message); + break; + case 'RVOUS_PROPOSE': + $this->onRvous($message); + break; + default: + $this->log("Fell through: $message"); + $this->CatchAll($message); + break; + } + } + else + { + for($j = 0;$jmyDirectConnections);$j++) + { + if ($this->myDirectConnections[$j]->sock == $ready[$i]) + { + $dcon = $this->myDirectConnections[$j]; + break; + } + } + //Now read from the dcon + if ($dcon->type == CONN_TYPE_DC) + { + if ($dcon->readDIM() == false) + { + $this->closeDcon($dcon); + continue; + } + + $message['message'] = $dcon->lastMessage; + if ($message['message'] == "too big") + { + $this->sendDim("Connection dropped because you sent a message larger that " . MAX_DCON_SIZE . " bytes.", $dcon->connectedTo); + $this->closeDcon($dcon); + continue; + } + $message['from'] = $dcon->connectedTo; + $this->onDimIn($message); + } + } + } + $this->conn->myLastReceived=""; + //Now get out of this function because the handlers should take care + //of everything + } + + //The next block of code is all the event handlers needed by the class + //Some are left blank and only call the users handler because the class + //either does not support the command, or cannot do anything with it + // --------------------------------------------------------------------- + + /** + * Direct IM In Event Handler + * + * Called when Direct IM is received. + * Call's user handler (if available) for DimIn. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onDimIn($data) + { + $this->callHandler("DimIn", $data); + } + + /** + * Sign On Event Handler + * + * Called when Sign On event occurs. + * Call's user handler (if available) for SIGN_ON. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onSignOn($data) + { + $this->callHandler("SignOn", $data); + } + + /** + * Config Event Handler + * + * Called when Config data received. + * Call's user handler (if available) for Config. + * + * Loads buddy list and other info + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onConfig($data) + { + $this->log("onConfig Message: " . $data); + + if (strpos($data,"CONFIG2:") === false) + { + $this->log("get_buddy_list cannot be called at this time because I got $data"); + //return false; + } + $people = explode("\n",trim($data,"\n")); + //The first 3 elements of the array are who knows what, element 3 should be + //a letter followed by a person + + //AIM decided to add this wonderful new feature, the recent buddy thing, this kind of + //messes this funtion up, so we need to adapt it... unfortuneately, its not really + //clear how this works, so we are just going to add their name to the permit list. + + //Recent buddies I believe are in the format + //number:name:number.... I think the first number counts down from 25 how long its + //been... but I don't know the second number,,,, + + //TODO: Figure out the new recent buddies system + + //Note: adding that at the bottom is a quick hack and may have adverse consequences... + for($i = 1;$imyPermitList[] = $name; + break; + case 'd': + $this->myBlockedList[] = $name; + break; + case 'b': + $this->myBuddyList[] = $name; + break; + case 'done': + break; + default: + //This is assumed to be recent buddies... + $this->myPermitList[]=$name; + } + } + + //We only get the config message once, so now we should send our pd mode + + $this->sflapSend(SFLAP_TYPE_DATA,"toc2_set_pdmode " . $this->myPdMode,0,0); + //Adds yourself to the permit list + //This is to fix an odd behavior if you have nobody on your list + //the server won't send the config command... so this takes care of it + $this->sflapSend(SFLAP_TYPE_DATA,"toc2_add_permit " . $this->normalize($this->myScreenName),0,0); + + //Now we allow the user to send a list, update anything they want, etc + $this->callHandler("Config", $data); + //Now that we have taken care of what the user wants, send the init_done message + $this->sflapSend(SFLAP_TYPE_DATA,"toc_init_done",0,0); + //'VOICE_UID' + //'FILE_GET_UID' + //'IMAGE_UID' + //'BUDDY_ICON_UID' + //'STOCKS_UID' + //'GAMES_UID' + $this->sflapSend(SFLAP_TYPE_DATA, "toc_set_caps " . IMAGE_UID . " " . FILE_SEND_UID ." " . FILE_GET_UID . " " . BUDDY_ICON_UID . "",0,0); + } + + + /** + * Error Event Handler + * + * Called when an Error occurs. + * Call's user handler (if available) for Error. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onError($data) + { + static $errarg = ''; + static $ERRORS = array( + 0=>'Success', + 901 =>'$errarg not currently available', + 902 =>'Warning of $errarg not currently available', + 903 =>'A message has been dropped, you are exceeding + the server speed limit', + 911 =>'Error validating input', + 912 =>'Invalid account', + 913 =>'Error encountered while processing request', + 914 =>'Service unavailable', + 950 =>'Chat in $errarg is unavailable.', + 960 =>'You are sending message too fast to $errarg', + 961 =>'You missed an im from $errarg because it was too big.', + 962 =>'You missed an im from $errarg because it was sent too fast.', + 970 =>'Failure', + 971 =>'Too many matches', + 972 =>'Need more qualifiers', + 973 =>'Dir service temporarily unavailable', + 974 =>'Email lookup restricted', + 975 =>'Keyword Ignored', + 976 =>'No Keywords', + 977 =>'Language not supported', + 978 =>'Country not supported', + 979 =>'Failure unknown $errarg', + 980 =>'Incorrect nickname or password.', + 981 =>'The service is temporarily unavailable.', + 982 =>'Your warning level is currently too high to sign on.', + 983 =>'You have been connecting and + disconnecting too frequently. Wait 10 minutes and try again. + If you continue to try, you will need to wait even longer.', + 989 =>'An unknown signon error has occurred $errarg' + ); + $data_array = explode(":", $data); + for($i=0; $ilog($errorstring . "\n"); + + $this->callHandler("Error", $data); + } + + /** + * Nick Event Handler + * + * Called when formatted own ScreenName is receieved + * Call's user handler (if available) for Nick. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onNick($data) + { + //This is our nick, so set a field called "myFormatSN" which will represent + //the actual name given by the server to us, NOT the normalized screen name + @list($cmd, $nick) = explode(":", $data); + $this->myFormatSN = $nick; + + $this->callHandler("Nick", $data); + } + + /** + * IM In Event Handler + * + * Called when an Instant Message is received. + * Call's user handler (if available) for IMIn. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onImIn($data) + { + //Perhaps we should add an internal log for debugging purposes?? + //But now, this should probably be handled by the user purely + + $this->callHandler("IMIn", $data); + } + + /** + * UpdateBuddy Event Handler + * + * Called when a Buddy Update is receieved. + * Call's user handler (if available) for UpdateBuddy. + * If info is about self, updates self info (Currently ownly warning). + * + * ToDo: Keep track of idle, warning etc on Buddy List + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onUpdateBuddy($data) + { + //Again, since our class currently does not deal with other people without + //outside help, then this is also probably best left to the user. Though + //we should probably allow this to replace the setMyInfo function above + //by handling the input if and only if it is us + //Check and see that this is the command expected + if (strpos($data,"UPDATE_BUDDY2:") == -1) + { + $this->log("A different message than expected was received"); + return false; + } + + //@list($cmd, $info['sn'], $info['online'], $info['warnlevel'], $info['signon'], $info['idle'], $info['uc']) = explode(":", $command['incoming']); + + //@list($cmd, $sn, $online, $warning, $starttime, $idletime, $uc) = explode(":", $data); + $info = $this->getMessageInfo($data); + if ($this->normalize($info['sn']) == $this->normalize($this->myScreenName)) + { + $warning = rtrim($info['warnlevel'],"%"); + $this->myWarnLevel = $warning; + $this->log("My warning level is $this->myWarnLevel %"); + } + + $this->callHandler("UpdateBuddy", $data); + } + + /** + * Warning Event Handler + * + * Called when bot is warned. + * Call's user handler (if available) for Warn. + * Updates internal warning level + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onWarn($data) + { + /* + For reference: + $command['incoming'] .= ":0"; + $it = explode(":", $command['incoming']); + $info['warnlevel'] = $it[1]; + $info['from'] = $it[2]; + */ + //SImply update our warning level + //@list($cmd, $newwarn, $user) = explode(":", $data); + + $info = $this->getMessageInfo($data); + + $this->setWarningLevel(trim($info['warnlevel'],"%")); + $this->log("My warning level is $this->myWarnLevel %"); + + $this->callHandler("Warned", $data); + } + + /** + * Chat Join Handler + * + * Called when bot joins a chat room. + * Call's user handler (if available) for ChatJoin. + * Adds chat room to internal chat room list. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onChatJoin($data) + { + @list($cmd, $rmid, $rmname) = explode(":", $data); + $this->myChatRooms[$rmid] = 0; + + $this->callHandler("ChatJoin", $data); + } + + /** + * Returns number of chat rooms bot is in + * + * @access public + * @param String $data Raw message from server + * @return int + */ + function getNumChats() + { + return count($this->myChatRooms); + } + + /** + * Chat Update Handler + * + * Called when bot received chat room data (user update). + * Call's user handler (if available) for ChatUpdate. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onChatUpdate($data) + { + $stuff = explode(":", $data); + $people = sizeof($stuff); + $people -= 2; + + $this->callHandler("ChatUpdate", $data); + } + + /** + * Chat Message In Handler + * + * Called when chat room message is received. + * Call's user handler (if available) for ChatIn. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onChatIn($data) + { + $this->callHandler("ChatIn", $data); + } + + + /** + * Chat Invite Handler + * + * Called when bot is invited to a chat room. + * Call's user handler (if available) for ChatInvite. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onChatInvite($data) + { + //@list($cmd, $name, $id, $from, $data) = explode(":", $data,6); + //$data = explode(":",$data,6); + //$nm = array(); + //@list($nm['cmd'],$nm['name'],$nm['id'],$nm['from'],$nm['message']) = $data; + + + $this->callHandler("ChatInvite", $data); + } + + /** + * Chat Left Handler + * + * Called when bot leaves a chat room + * Call's user handler (if available) for ChatLeft. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onChatLeft($data) + { + $info = $this->getMessageInfo($data); + unset($this->myChatRooms[$info['chatid']]); + $this->callHandler("ChatLeft", $data); + } + + /** + * Goto URL Handler + * + * Called on GotoURL. + * Call's user handler (if available) for GotoURL. + * No detailed info available for this / Unsupported. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onGotoURL($data) + { + //This is of no use to the internal class + + $this->callHandler("GotoURL", $data); + } + + /** + * Dir Status Handler + * + * Called on DirStatus. + * Call's user handler (if available) for DirStatus. + * No detailed info available for this / Unsupported. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onDirStatus($data) + { + //This is not currently suported + + $this->callHandler("DirStatus", $data); + } + + /** + * AdminNick Handler + * + * Called on AdminNick. + * Call's user handler (if available) for AdminNick. + * No detailed info available for this / Unsupported. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onAdminNick($data) + { + //NOt particularly useful to us + $this->callHandler("AdminNick", $data); + } + + /** + * AdminPasswd Handler + * + * Called on AdminPasswd. + * Call's user handler (if available) for AdminPasswd. + * No detailed info available for this / Unsupported. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onAdminPasswd($data) + { + //Also not particlualry useful to the internals + $this->callHandler("AdminPasswd", $data); + } + + /** + * Pause Handler + * + * Called on Pause. + * Call's user handler (if available) for Pause. + * No detailed info available for this / Unsupported. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onPause($data) + { + //This is pretty useless to us too... + + $this->callHandler("Pause", $data); + } + + /** + * Direct Connection Handler + * + * Called on Direct Connection Request(Rvous). + * Call's user handler (if available) for Rvous. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function onRvous($data) + { + $this->callHandler("Rvous", $data); + } + + /** + * CatchAll Handler + * + * Called for unrecognized commands. + * Logs unsupported messages to array. + * Call's user handler (if available) for CatchAll. + * + * @access private + * @param String $data Raw message from server + * @return void + */ + function CatchAll($data) + { + //Add to a log of unsupported messages. + + $this->unsupported[] = $data; + //$this->log($data); + //print_r($data); + + $this->callHandler("CatchAll", $data); + } + + /** + * Calls User Handler + * + * Calls registered handler for a specific event. + * + * @access private + * @param String $event Command (event) name (Rvous etc) + * @param String $data Raw message from server + * @see registerHandler + * @return void + */ + function callHandler($event, $data) + { + + if (isset($this->myEventHandlers[$event])) + { + //$function = $this->myEventHandlers[$event] . "(\$data);"; + //eval($function); + call_user_func($this->myEventHandlers[$event], $data); + } + else + { + $this->noHandler($data); + } + } + + /** + * Registers a user handler + * + * Handler List + * SignOn, Config, ERROR, NICK, IMIn, UpdateBuddy, Eviled, Warned, ChatJoin + * ChatIn, ChatUpdate, ChatInvite, ChatLeft, GotoURL, DirStatus, AdminNick + * AdminPasswd, Pause, Rvous, DimIn, CatchAll + * + * @access private + * @param String $event Event name + * @param String $handler User function to call + * @see callHandler + * @return boolean Returns true if successful + */ + function registerHandler($event, $handler) + { + if (is_callable($handler)) + { + $this->myEventHandlers[$event] = $handler; + return true; + } + else + { + return false; + } + } + + /** + * No user handler method fall back. + * + * Does nothing with message. + * + * @access public + * @param String $message Raw server message + * @return void + */ + function noHandler($message) + { + //This function intentionally left blank + //This is where the handlers will fall to for now. I plan on including a more + //efficent check to avoid the apparent stack jumps that this code will produce + //But for now, just fall into here, and be happy + return; + } + + //GLOBAL FUNCTIONS + + /** + * Finds type, and returns as part of array ['type'] + * Puts message in ['incoming'] + * + * Helper method for getMessageInfo. + * + * @access public + * @param String $message Raw server message + * @see msg_parse + * @see getMessageInfo + * @return array + */ + static function msg_type($message) + { + $command = array(); + @list($cmd, $rest) = explode(":", $message); + switch($cmd) + { + case 'IM_IN2': + $type = AIM_TYPE_MSG; + break; + + case 'UPDATE_BUDDY2': + $type = AIM_TYPE_UPDATEBUDDY; + break; + + case 'EVILED': + $type = AIM_TYPE_WARN; + break; + + case 'SIGN_ON': + $type = AIM_TYPE_SIGNON; + break; + + case 'NICK': + $type = AIM_TYPE_NICK; + break; + + case 'ERROR': + $type = AIM_TYPE_ERROR; + break; + + case 'CHAT_JOIN': + $type = AIM_TYPE_CHATJ; + break; + + case 'CHAT_IN': + $type = AIM_TYPE_CHATI; + break; + + case 'CHAT_UPDATE_BUDDY': + $type = AIM_TYPE_CHATUPDBUD; + break; + + case 'CHAT_INVITE': + $type = AIM_TYPE_CHATINV; + break; + + case 'CHAT_LEFT': + $type = AIM_TYPE_CHATLE; + break; + + case 'GOTO_URL': + $type = AIM_TYPE_URL; + break; + + case 'ADMIN_NICK_STATUS': + $type = AIM_TYPE_NICKSTAT; + break; + + case 'ADMIN_PASSWD_STATUS': + $type = AIM_TYPE_PASSSTAT; + break; + + case 'RVOUS_PROPOSE': + $type = AIM_TYPE_RVOUSP; + break; + + default: + $type = AIM_TYPE_NOT_IMPLEMENTED; + break; + } + $command['type'] = $type; + $command['incoming'] = $message; + return $command; + } + + /** + * Parses message and splits into info array + * + * Helper method for getMessageInfo. + * + * @access public + * @param String $command Message and type (after msg_type) + * @see msg_type + * @see getMessageInfo + * @return array + */ + static function msg_parse($command) + { + $info = array(); + switch($command['type']) + { + case AIM_TYPE_WARN: + $command['incoming'] .= ":0"; + $it = explode(":", $command['incoming']); + $info['warnlevel'] = $it[1]; + $info['from'] = $it[2]; + + break; + + case AIM_TYPE_MSG: + $it = explode(":", $command['incoming'],5); + $info['auto'] = $it[2]; + $info['from'] = $it[1]; + $info['message'] = $it[4]; + break; + + case AIM_TYPE_UPDATEBUDDY: + @list($cmd, $info['sn'], $info['online'], $info['warnlevel'], $info['signon'], $info['idle'], $info['uc']) = explode(":", $command['incoming']); + break; + + case AIM_TYPE_SIGNON: + @list($cmd, $info['version']) = explode(":", $command['incoming']); + break; + + case AIM_TYPE_NICK: + @list($cmd, $info['nickname']) = explode(":", $command['incoming']); + break; + case AIM_TYPE_ERROR: + @list($cmd, $info['errorcode'], $info['args']) = explode(":", $command['incoming']); + break; + + case AIM_TYPE_CHATJ: + @list($cmd, $info['chatid'], $info['chatname']) = explode(":", $command['incoming']); + break; + + case AIM_TYPE_CHATI: + @list($cmd, $info['chatid'], $info['user'], $info['whisper'], $info['message']) = explode(":", $command['incoming'],5); + break; + + case AIM_TYPE_CHATUPDBUD: + @list($cmd, $info['chatid'], $info['inside'], $info['userlist']) = explode(":", $command['incoming'],3); + break; + + case AIM_TYPE_CHATINV: + @list($cmd, $info['chatname'], $info['chatid'], $info['from'], $info['message']) = explode(":", $command['incoming'],5); + break; + + case AIM_TYPE_CHATLE: + @list($cmd, $info['chatid']) = explode(":", $command['incoming']); + break; + + case AIM_TYPE_URL: + @list($cmd, $info['windowname'], $info['url']) = explode(":", $command['incoming'],3); + break; + + case AIM_TYPE_RVOUSP: + @list($cmd,$info['user'],$info['uuid'],$info['cookie'],$info['seq'],$info['rip'],$info['pip'],$info['vip'],$info['port'],$info['tlvs']) = explode(":",$command['incoming'],10); + break; + + case AIM_TYPE_NICKSTAT: + case AIM_TYPE_PASSSTAT: + @list($cmd, $info['returncode'], $info['opt']) = explode(":", $command['incoming'],3); + break; + + default: + $info['command'] = $command['incoming']; + } + return $info; + } + + /** + * Returns a parsed message + * + * Calls msg_parse(msg_type( to first determine message type and then parse accordingly + * + * @access public + * @param String $command Raw server message + * @see msg_type + * @see msg_parse + * @return array + */ + static function getMessageInfo($message) + { + return self::msg_parse(self::msg_type($message)); + } + + /** + * Checks socket for end of file + * + * @access public + * @param Resource $socket Socket to check + * @return boolean true if end of file (socket) + */ + static function socketcheck($socket){ + $info = stream_get_meta_data($socket); + return $info['eof']; + //return(feof($socket)); + } +} + +?> diff --git a/plugins/Aim/extlib/phptoclib/dconnection.php b/plugins/Aim/extlib/phptoclib/dconnection.php new file mode 100755 index 000000000..c6be25ffb --- /dev/null +++ b/plugins/Aim/extlib/phptoclib/dconnection.php @@ -0,0 +1,229 @@ +connect($ip,$port)) + { + sEcho("Connection failed constructor"); + $this->connected=false; + } + else + $this->connected=true; + + $this->lastMessage=""; + $this->lastReceived=""; + } + + function readDIM() + { + /* + if(!$this->stuffToRead()) + { + sEcho("Nothing to read"); + $this->lastMessage=$this->lastReceived=""; + return false; + } + */ + $head=fread($this->sock,6); + if(strlen($head)<=0) + { + sEcho("The direct connection has been closed"); + return false; + } + $minihead=unpack("a4ver/nsize",$head); + if($minihead['size'] <=0) + return; + $headerinfo=unpack("nchan/nsix/nzero/a6cookie/Npt1/Npt2/npt3/Nlen/Npt/npt0/ntype/Nzerom/a*sn",fread($this->sock,($minihead['size']-6))); + $allheader=array_merge($minihead,$headerinfo); + sEcho($allheader); + if($allheader['len']>0 && $allheader['len'] <= MAX_DIM_SIZE) + { + $left=$allheader['len']; + $stuff=""; + $nonin=0; + while(strlen($stuff) < $allheader['len'] && $nonin<3) + { + $stuffg=fread($this->sock,$left); + if(strlen($stuffg)<0) + { + $nonin++; + continue; + } + $left=$left - strlen($stuffg); + $stuff.=$stuffg; + } + $data=unpack("a*decoded",$stuff); + } + + else if($allheader['len'] > MAX_DIM_SIZE) + { + $data['decoded']="too big"; + } + + else + $data['decoded']=""; + $all=array_merge($allheader,$data); + + $this->lastReceived=$all; + $this->lastMessage=$all['decoded']; + + //$function=$this->DimInf . "(\$all);"; + //eval($function); + + return $all; + } + + function sendMessage($message,$sn) + { + //Make the "mini header" + $minihead=pack("a4n","ODC2",76); + $header=pack("nnna6NNnNNnnNa*",1,6,0,$this->cookie,0,0,0,strlen($message),0,0,96,0,$sn); + $bighead=$minihead . $header; + while(strlen($bighead)<76) + $bighead.=pack("c",0); + + $tosend=$bighead . pack("a*",$message); + $w=array($this->sock); + stream_select($r=NULL,$w,$e=NULL,NULL); + //Now send it all + fputs($this->sock,$tosend,strlen($tosend)); + } + function stuffToRead() + { + //$info=stream_get_meta_data($this->sock); + //sEcho($info); + $s=array($this->sock); + $changed=stream_select($s,$fds=NULL,$m=NULL,0,20000); + return ($changed>0); + } + + function close() + { + $this->connected=false; + return fclose($this->sock); + } + + function connect($ip,$port) + { + $this->sock=fsockopen($ip,$port,$en,$es,3); + if(!$this->sock) + { sEcho("Connection failed"); + $this->sock=null; + return false; + } + return true; + } +} + + +class FileSendConnect +{ + var $sock; + var $lastReceived; + var $lastMessage; + var $connected; + var $cookie; + var $tpye=3; + + + function FileSendConnect($ip,$port) + { + if(!$this->connect($ip,$port)) + { + sEcho("Connection failed constructor"); + $this->connected=false; + } + else + $this->connected=true; + + $this->lastMessage=""; + $this->lastReceived=""; + } + + function readDIM() + { + + if(!$this->stuffToRead()) + { + sEcho("Nothing to read"); + $this->lastMessage=$this->lastReceived=""; + return; + } + + $minihead=unpack("a4ver/nsize",fread($this->sock,6)); + if($minihead['size'] <=0) + return; + $headerinfo=unpack("nchan/nsix/nzero/a6cookie/Npt1/Npt2/npt3/Nlen/Npt/npt0/ntype/Nzerom/a*sn",fread($this->sock,($minihead['size']-6))); + $allheader=array_merge($minihead,$headerinfo); + sEcho($allheader); + if($allheader['len']>0) + $data=unpack("a*decoded",fread($this->sock,$allheader['len'])); + else + $data['decoded']=""; + $all=array_merge($allheader,$data); + + $this->lastReceived=$all; + $this->lastMessage=$all['decoded']; + + //$function=$this->DimInf . "(\$all);"; + //eval($function); + + return $all; + } + + function sendMessage($message,$sn) + { + //Make the "mini header" + $minihead=pack("a4n","ODC2",76); + $header=pack("nnna6NNnNNnnNa*",1,6,0,$this->cookie,0,0,0,strlen($message),0,0,96,0,$sn); + $bighead=$minihead . $header; + while(strlen($bighead)<76) + $bighead.=pack("c",0); + + $tosend=$bighead . pack("a*",$message); + + //Now send it all + fwrite($this->sock,$tosend,strlen($tosend)); + } + function stuffToRead() + { + //$info=stream_get_meta_data($this->sock); + //sEcho($info); + $s=array($this->sock); + $changed=stream_select($s,$fds=NULL,$m=NULL,1); + return ($changed>0); + } + + function close() + { + $this->connected=false; + fclose($this->sock); + unset($this->sock); + return true; + } + + function connect($ip,$port) + { + $this->sock=fsockopen($ip,$port,$en,$es,3); + if(!$this->sock) + { sEcho("Connection failed to" . $ip . ":" . $port); + $this->sock=null; + return false; + } + return true; + } +} diff --git a/plugins/Imap/imapmanager.php b/plugins/Imap/imapmanager.php index e4fda5809..4c0edeaa1 100644 --- a/plugins/Imap/imapmanager.php +++ b/plugins/Imap/imapmanager.php @@ -57,12 +57,14 @@ class ImapManager extends IoManager } /** - * Tell the i/o master we need one instance for each supporting site - * being handled in this process. + * Tell the i/o master we need one instance globally. + * Since this is a plugin manager, the plugin class itself will + * create one instance per site. This prevents the IoMaster from + * making more instances. */ public static function multiSite() { - return IoManager::INSTANCE_PER_SITE; + return IoManager::GLOBAL_SINGLE_ONLY; } /** diff --git a/plugins/Xmpp/Fake_XMPP.php b/plugins/Xmpp/Fake_XMPP.php new file mode 100644 index 000000000..a0f329ca0 --- /dev/null +++ b/plugins/Xmpp/Fake_XMPP.php @@ -0,0 +1,104 @@ +. + * + * @category Network + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +class Fake_XMPP extends XMPPHP_XMPP +{ + public $would_be_sent = null; + + /** + * Constructor + * + * @param string $host + * @param integer $port + * @param string $user + * @param string $password + * @param string $resource + * @param string $server + * @param boolean $printlog + * @param string $loglevel + */ + public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) + { + parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); + // Normally the fulljid isn't filled out until resource binding time; + // we need to save it here since we're not talking to a real server. + $this->fulljid = "{$this->basejid}/{$this->resource}"; + } + + /** + * Send a formatted message to the outgoing queue for later forwarding + * to a real XMPP connection. + * + * @param string $msg + */ + public function send($msg, $timeout=NULL) + { + $this->would_be_sent = $msg; + } + + //@{ + /** + * Stream i/o functions disabled; only do output + */ + public function connect($timeout = 30, $persistent = false, $sendinit = true) + { + throw new Exception("Can't connect to server from fake XMPP."); + } + + public function disconnect() + { + throw new Exception("Can't connect to server from fake XMPP."); + } + + public function process() + { + throw new Exception("Can't read stream from fake XMPP."); + } + + public function processUntil($event, $timeout=-1) + { + throw new Exception("Can't read stream from fake XMPP."); + } + + public function read() + { + throw new Exception("Can't read stream from fake XMPP."); + } + + public function readyToProcess() + { + throw new Exception("Can't read stream from fake XMPP."); + } + //@} +} + diff --git a/plugins/Xmpp/README b/plugins/Xmpp/README new file mode 100644 index 000000000..9bd71e980 --- /dev/null +++ b/plugins/Xmpp/README @@ -0,0 +1,35 @@ +The XMPP plugin allows users to send and receive notices over the XMPP/Jabber/GTalk network. + +Installation +============ +add "addPlugin('xmpp', + array('setting'=>'value', 'setting2'=>'value2', ...);" +to the bottom of your config.php + +The daemon included with this plugin must be running. It will be started by +the plugin along with their other daemons when you run scripts/startdaemons.sh. +See the StatusNet README for more about queuing and daemons. + +Settings +======== +user*: user part of the jid +server*: server part of the jid +resource: resource part of the jid +port (5222): port on which to connect to the server +encryption (true): use encryption on the connection +host (same as server): host to connect to. Usually, you won't set this. +debug (false): log extra debug info +public: list of jid's that should get the public feed (firehose) + +* required +default values are in (parenthesis) + +Example +======= +addPlugin('xmpp', array( + 'user=>'update', + 'server=>'identi.ca', + 'password'=>'...', + 'public'=>array('bob@aol.com', 'sue@google.com') +)); + diff --git a/plugins/Xmpp/Sharing_XMPP.php b/plugins/Xmpp/Sharing_XMPP.php new file mode 100644 index 000000000..4b69125da --- /dev/null +++ b/plugins/Xmpp/Sharing_XMPP.php @@ -0,0 +1,43 @@ +. + * + * @category Jabber + * @package StatusNet + * @author Evan Prodromou + * @copyright 2009 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + // This check helps protect against security problems; + // your code file can't be executed directly from the web. + exit(1); +} + +class Sharing_XMPP extends XMPPHP_XMPP +{ + function getSocket() + { + return $this->socket; + } +} diff --git a/plugins/Xmpp/XmppPlugin.php b/plugins/Xmpp/XmppPlugin.php new file mode 100644 index 000000000..b9551b852 --- /dev/null +++ b/plugins/Xmpp/XmppPlugin.php @@ -0,0 +1,247 @@ +. + * + * @category IM + * @package StatusNet + * @author Evan Prodromou + * @copyright 2009 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + // This check helps protect against security problems; + // your code file can't be executed directly from the web. + exit(1); +} + +/** + * Plugin for XMPP + * + * @category Plugin + * @package StatusNet + * @author Evan Prodromou + * @copyright 2009 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class XmppPlugin extends ImPlugin +{ + public $server = null; + public $port = 5222; + public $user = 'update'; + public $resource = null; + public $encryption = true; + public $password = null; + public $host = null; // only set if != server + public $debug = false; // print extra debug info + + public $transport = 'xmpp'; + + protected $fake_xmpp; + + function getDisplayName(){ + return _m('XMPP/Jabber/GTalk'); + } + + function normalize($screenname) + { + if (preg_match("/(?:([^\@]+)\@)?([^\/]+)(?:\/(.*))?$/", $screenname, $matches)) { + $node = $matches[1]; + $server = $matches[2]; + return strtolower($node.'@'.$server); + } else { + return null; + } + } + + function daemon_screenname() + { + $ret = $this->user . '@' . $this->server; + if($this->resource) + { + return $ret . '/' . $this->resource; + }else{ + return $ret; + } + } + + function validate($screenname) + { + // Cheap but effective + return Validate::email($screenname); + } + + /** + * Load related modules when needed + * + * @param string $cls Name of the class to be loaded + * + * @return boolean hook value; true means continue processing, false means stop. + */ + + function onAutoload($cls) + { + $dir = dirname(__FILE__); + + switch ($cls) + { + case 'Sharing_XMPP': + case 'Fake_XMPP': + include_once $dir . '/'.$cls.'.php'; + return false; + case 'XmppManager': + include_once $dir . '/'.strtolower($cls).'.php'; + return false; + default: + return true; + } + } + + function onStartImDaemonIoManagers(&$classes) + { + parent::onStartImDaemonIoManagers(&$classes); + $classes[] = new XmppManager($this); // handles pings/reconnects + return true; + } + + function microiduri($screenname) + { + return 'xmpp:' . $screenname; + } + + function send_message($screenname, $body) + { + $this->fake_xmpp->message($screenname, $body, 'chat'); + $this->enqueue_outgoing_raw($this->fake_xmpp->would_be_sent); + return true; + } + + function send_notice($screenname, $notice) + { + $msg = $this->format_notice($notice); + $entry = $this->format_entry($notice); + + $this->fake_xmpp->message($screenname, $msg, 'chat', null, $entry); + $this->enqueue_outgoing_raw($this->fake_xmpp->would_be_sent); + return true; + } + + /** + * extra information for XMPP messages, as defined by Twitter + * + * @param Profile $profile Profile of the sending user + * @param Notice $notice Notice being sent + * + * @return string Extra information (Atom, HTML, addresses) in string format + */ + + function format_entry($notice) + { + $profile = $notice->getProfile(); + + $entry = $notice->asAtomEntry(true, true); + + $xs = new XMLStringer(); + $xs->elementStart('html', array('xmlns' => 'http://jabber.org/protocol/xhtml-im')); + $xs->elementStart('body', array('xmlns' => 'http://www.w3.org/1999/xhtml')); + $xs->element('a', array('href' => $profile->profileurl), + $profile->nickname); + $xs->text(": "); + if (!empty($notice->rendered)) { + $xs->raw($notice->rendered); + } else { + $xs->raw(common_render_content($notice->content, $notice)); + } + $xs->text(" "); + $xs->element('a', array( + 'href'=>common_local_url('conversation', + array('id' => $notice->conversation)).'#notice-'.$notice->id + ),sprintf(_('[%s]'),$notice->id)); + $xs->elementEnd('body'); + $xs->elementEnd('html'); + + $html = $xs->getString(); + + return $html . ' ' . $entry; + } + + function receive_raw_message($pl) + { + $from = $this->normalize($pl['from']); + + if ($pl['type'] != 'chat') { + common_log(LOG_WARNING, "Ignoring message of type ".$pl['type']." from $from."); + return true; + } + + if (mb_strlen($pl['body']) == 0) { + common_log(LOG_WARNING, "Ignoring message with empty body from $from."); + return true; + } + + return $this->handle_incoming($from, $pl['body']); + } + + function initialize(){ + if(!isset($this->server)){ + throw new Exception("must specify a server"); + } + if(!isset($this->port)){ + throw new Exception("must specify a port"); + } + if(!isset($this->user)){ + throw new Exception("must specify a user"); + } + if(!isset($this->password)){ + throw new Exception("must specify a password"); + } + + $this->fake_xmpp = new Fake_XMPP($this->host ? + $this->host : + $this->server, + $this->port, + $this->user, + $this->password, + $this->resource, + $this->server, + $this->debug ? + true : false, + $this->debug ? + XMPPHP_Log::LEVEL_VERBOSE : null + ); + return true; + } + + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'XMPP', + 'version' => STATUSNET_VERSION, + 'author' => 'Craig Andrews, Evan Prodromou', + 'homepage' => 'http://status.net/wiki/Plugin:XMPP', + 'rawdescription' => + _m('The XMPP plugin allows users to send and receive notices over the XMPP/Jabber network.')); + return true; + } +} + diff --git a/plugins/Xmpp/xmppmanager.php b/plugins/Xmpp/xmppmanager.php new file mode 100644 index 000000000..87d818668 --- /dev/null +++ b/plugins/Xmpp/xmppmanager.php @@ -0,0 +1,279 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } + +/** + * XMPP background connection manager for XMPP-using queue handlers, + * allowing them to send outgoing messages on the right connection. + * + * Input is handled during socket select loop, keepalive pings during idle. + * Any incoming messages will be handled. + * + * In a multi-site queuedaemon.php run, one connection will be instantiated + * for each site being handled by the current process that has XMPP enabled. + */ + +class XmppManager extends ImManager +{ + protected $lastping = null; + protected $pingid = null; + + public $conn = null; + + const PING_INTERVAL = 120; + + + /** + * Initialize connection to server. + * @return boolean true on success + */ + public function start($master) + { + if(parent::start($master)) + { + $this->connect(); + return true; + }else{ + return false; + } + } + + function send_raw_message($data) + { + $this->connect(); + if (!$this->conn || $this->conn->isDisconnected()) { + return false; + } + $this->conn->send($data); + return true; + } + + /** + * Message pump is triggered on socket input, so we only need an idle() + * call often enough to trigger our outgoing pings. + */ + function timeout() + { + return self::PING_INTERVAL; + } + + /** + * Process XMPP events that have come in over the wire. + * @fixme may kill process on XMPP error + * @param resource $socket + */ + public function handleInput($socket) + { + # Process the queue for as long as needed + try { + common_log(LOG_DEBUG, "Servicing the XMPP queue."); + $this->stats('xmpp_process'); + $this->conn->processTime(0); + } catch (XMPPHP_Exception $e) { + common_log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); + die($e->getMessage()); + } + } + + /** + * Lists the IM connection socket to allow i/o master to wake + * when input comes in here as well as from the queue source. + * + * @return array of resources + */ + public function getSockets() + { + $this->connect(); + if($this->conn){ + return array($this->conn->getSocket()); + }else{ + return array(); + } + } + + /** + * Idle processing for io manager's execution loop. + * Send keepalive pings to server. + * + * Side effect: kills process on exception from XMPP library. + * + * @fixme non-dying error handling + */ + public function idle($timeout=0) + { + $now = time(); + if (empty($this->lastping) || $now - $this->lastping > self::PING_INTERVAL) { + try { + $this->send_ping(); + } catch (XMPPHP_Exception $e) { + common_log(LOG_ERR, "Got an XMPPHP_Exception: " . $e->getMessage()); + die($e->getMessage()); + } + } + } + + function connect() + { + if (!$this->conn || $this->conn->isDisconnected()) { + $resource = 'queue' . posix_getpid(); + $this->conn = new Sharing_XMPP($this->plugin->host ? + $this->plugin->host : + $this->plugin->server, + $this->plugin->port, + $this->plugin->user, + $this->plugin->password, + $this->plugin->resource, + $this->plugin->server, + $this->plugin->debug ? + true : false, + $this->plugin->debug ? + XMPPHP_Log::LEVEL_VERBOSE : null + ); + + if (!$this->conn) { + return false; + } + $this->conn->addEventHandler('message', 'handle_xmpp_message', $this); + $this->conn->addEventHandler('reconnect', 'handle_xmpp_reconnect', $this); + $this->conn->setReconnectTimeout(600); + + $this->conn->autoSubscribe(); + $this->conn->useEncryption($this->plugin->encryption); + + try { + $this->conn->connect(true); // true = persistent connection + } catch (XMPPHP_Exception $e) { + common_log(LOG_ERR, $e->getMessage()); + return false; + } + + $this->conn->processUntil('session_start'); + $this->send_presence(_m('Send me a message to post a notice'), 'available', null, 'available', 100); + } + return $this->conn; + } + + function send_ping() + { + $this->connect(); + if (!$this->conn || $this->conn->isDisconnected()) { + return false; + } + $now = time(); + if (!isset($this->pingid)) { + $this->pingid = 0; + } else { + $this->pingid++; + } + + common_log(LOG_DEBUG, "Sending ping #{$this->pingid}"); + $this->conn->send(""); + $this->lastping = $now; + return true; + } + + function handle_xmpp_message(&$pl) + { + $this->plugin->enqueue_incoming_raw($pl); + return true; + } + + /** + * Callback for Jabber reconnect event + * @param $pl + */ + function handle_xmpp_reconnect(&$pl) + { + common_log(LOG_NOTICE, 'XMPP reconnected'); + + $this->conn->processUntil('session_start'); + $this->send_presence(_m('Send me a message to post a notice'), 'available', null, 'available', 100); + } + + /** + * sends a presence stanza on the XMPP network + * + * @param string $status current status, free-form string + * @param string $show structured status value + * @param string $to recipient of presence, null for general + * @param string $type type of status message, related to $show + * @param int $priority priority of the presence + * + * @return boolean success value + */ + + function send_presence($status, $show='available', $to=null, + $type = 'available', $priority=null) + { + $this->connect(); + if (!$this->conn || $this->conn->isDisconnected()) { + return false; + } + $this->conn->presence($status, $show, $to, $type, $priority); + return true; + } + + /** + * sends a "special" presence stanza on the XMPP network + * + * @param string $type Type of presence + * @param string $to JID to send presence to + * @param string $show show value for presence + * @param string $status status value for presence + * + * @return boolean success flag + * + * @see send_presence() + */ + + function special_presence($type, $to=null, $show=null, $status=null) + { + // FIXME: why use this instead of send_presence()? + $this->connect(); + if (!$this->conn || $this->conn->isDisconnected()) { + return false; + } + + $to = htmlspecialchars($to); + $status = htmlspecialchars($status); + + $out = "conn->send($out); + return true; + } +} diff --git a/scripts/getvaliddaemons.php b/scripts/getvaliddaemons.php index a332e06b5..80c21bce5 100755 --- a/scripts/getvaliddaemons.php +++ b/scripts/getvaliddaemons.php @@ -39,9 +39,7 @@ $daemons = array(); $daemons[] = INSTALLDIR.'/scripts/queuedaemon.php'; -if(common_config('xmpp','enabled')) { - $daemons[] = INSTALLDIR.'/scripts/xmppdaemon.php'; -} +$daemons[] = INSTALLDIR.'/scripts/imdaemon.php'; if (Event::handle('GetValidDaemons', array(&$daemons))) { foreach ($daemons as $daemon) { diff --git a/scripts/imdaemon.php b/scripts/imdaemon.php new file mode 100755 index 000000000..c37a26b7c --- /dev/null +++ b/scripts/imdaemon.php @@ -0,0 +1,93 @@ +#!/usr/bin/env php +. + */ + +define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); + +$shortoptions = 'fi::'; +$longoptions = array('id::', 'foreground'); + +$helptext = <<get_id()); + $master->init(); + $master->service(); + + common_log(LOG_INFO, 'terminating normally'); + + return true; + } + +} + +class ImMaster extends IoMaster +{ + /** + * Initialize IoManagers for the currently configured site + * which are appropriate to this instance. + */ + function initManagers() + { + $classes = array(); + if (Event::handle('StartImDaemonIoManagers', array(&$classes))) { + $classes[] = 'QueueManager'; + } + Event::handle('EndImDaemonIoManagers', array(&$classes)); + foreach ($classes as $class) { + $this->instantiate($class); + } + } +} + +if (have_option('i', 'id')) { + $id = get_option_value('i', 'id'); +} else if (count($args) > 0) { + $id = $args[0]; +} else { + $id = null; +} + +$foreground = have_option('f', 'foreground'); + +$daemon = new ImDaemon($id, !$foreground); + +$daemon->runOnce(); diff --git a/scripts/queuedaemon.php b/scripts/queuedaemon.php index a9cfda6d7..bedd14b1a 100755 --- a/scripts/queuedaemon.php +++ b/scripts/queuedaemon.php @@ -21,7 +21,7 @@ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); $shortoptions = 'fi:at:'; -$longoptions = array('id=', 'foreground', 'all', 'threads=', 'skip-xmpp', 'xmpp-only'); +$longoptions = array('id=', 'foreground', 'all', 'threads='); /** * Attempts to get a count of the processors available on the current system @@ -163,13 +163,6 @@ if (!$threads) { $daemonize = !(have_option('f') || have_option('--foreground')); $all = have_option('a') || have_option('--all'); -if (have_option('--skip-xmpp')) { - define('XMPP_EMERGENCY_FLAG', true); -} -if (have_option('--xmpp-only')) { - define('XMPP_ONLY_FLAG', true); -} - $daemon = new QueueDaemon($id, $daemonize, $threads, $all); $daemon->runOnce(); diff --git a/scripts/stopdaemons.sh b/scripts/stopdaemons.sh index c790f1f34..bc1230e64 100755 --- a/scripts/stopdaemons.sh +++ b/scripts/stopdaemons.sh @@ -23,8 +23,8 @@ SDIR=`dirname $0` DIR=`php $SDIR/getpiddir.php` -for f in jabberhandler ombhandler publichandler smshandler pinghandler \ - xmppconfirmhandler xmppdaemon twitterhandler facebookhandler \ +for f in ombhandler smshandler pinghandler \ + twitterhandler facebookhandler \ twitterstatusfetcher synctwitterfriends pluginhandler rsscloudhandler; do FILES="$DIR/$f.*.pid" diff --git a/scripts/xmppdaemon.php b/scripts/xmppdaemon.php deleted file mode 100755 index fd7cf055b..000000000 --- a/scripts/xmppdaemon.php +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env php -. - */ - -define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); - -$shortoptions = 'fi::'; -$longoptions = array('id::', 'foreground'); - -$helptext = <<get_id()); - $master->init(); - $master->service(); - - common_log(LOG_INFO, 'terminating normally'); - - return true; - } - -} - -class XmppMaster extends IoMaster -{ - /** - * Initialize IoManagers for the currently configured site - * which are appropriate to this instance. - */ - function initManagers() - { - // @fixme right now there's a hack in QueueManager to determine - // which queues to subscribe to based on the master class. - $this->instantiate('QueueManager'); - $this->instantiate('XmppManager'); - } -} - -// Abort immediately if xmpp is not enabled, otherwise the daemon chews up -// lots of CPU trying to connect to unconfigured servers -if (common_config('xmpp','enabled')==false) { - print "Aborting daemon - xmpp is disabled\n"; - exit(); -} - -if (have_option('i', 'id')) { - $id = get_option_value('i', 'id'); -} else if (count($args) > 0) { - $id = $args[0]; -} else { - $id = null; -} - -$foreground = have_option('f', 'foreground'); - -$daemon = new XMPPDaemon($id, !$foreground); - -$daemon->runOnce(); -- cgit v1.2.3 From 065140400018dec28ed82fd31a754c94b7b87521 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 28 Jan 2010 16:08:42 -0500 Subject: Add backwards compatibility for the XMPP configuration before XMPP was made into a plugin --- lib/statusnet.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/statusnet.php b/lib/statusnet.php index beeb26ccc..2654ba573 100644 --- a/lib/statusnet.php +++ b/lib/statusnet.php @@ -274,7 +274,6 @@ class StatusNet } // Backwards compatibility - if (array_key_exists('memcached', $config)) { if ($config['memcached']['enabled']) { addPlugin('Memcache', array('servers' => $config['memcached']['server'])); @@ -284,6 +283,21 @@ class StatusNet $config['cache']['base'] = $config['memcached']['base']; } } + if (array_key_exists('xmpp', $config)) { + if ($config['xmpp']['enabled']) { + addPlugin('xmpp', array( + 'server' => $config['xmpp']['server'], + 'port' => $config['xmpp']['port'], + 'user' => $config['xmpp']['user'], + 'resource' => $config['xmpp']['resource'], + 'encryption' => $config['xmpp']['encryption'], + 'password' => $config['xmpp']['password'], + 'host' => $config['xmpp']['host'], + 'debug' => $config['xmpp']['debug'], + 'public' => $config['xmpp']['public'] + )); + } + } } } -- cgit v1.2.3 From 886e28aaa9e4e9a524d5b1a933a2d2a13994aec9 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 16 Mar 2010 14:18:37 -0700 Subject: Stub plugins administration panel, allows for disabling/re-enabling plugins from the default plugins list. --- actions/plugindisable.php | 78 ++++++++++++++++ actions/pluginenable.php | 166 ++++++++++++++++++++++++++++++++ actions/pluginsadminpanel.php | 110 ++++++++++++++++++++++ lib/adminpanelaction.php | 8 ++ lib/default.php | 3 +- lib/plugindisableform.php | 93 ++++++++++++++++++ lib/pluginenableform.php | 114 ++++++++++++++++++++++ lib/pluginlist.php | 213 ++++++++++++++++++++++++++++++++++++++++++ lib/router.php | 7 ++ lib/statusnet.php | 5 + 10 files changed, 796 insertions(+), 1 deletion(-) create mode 100644 actions/plugindisable.php create mode 100644 actions/pluginenable.php create mode 100644 actions/pluginsadminpanel.php create mode 100644 lib/plugindisableform.php create mode 100644 lib/pluginenableform.php create mode 100644 lib/pluginlist.php diff --git a/actions/plugindisable.php b/actions/plugindisable.php new file mode 100644 index 000000000..7f107b333 --- /dev/null +++ b/actions/plugindisable.php @@ -0,0 +1,78 @@ +. + * + * PHP version 5 + * + * @category Action + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Plugin enable action. + * + * (Re)-enables a plugin from the default plugins list. + * + * Takes parameters: + * + * - plugin: plugin name + * - token: session token to prevent CSRF attacks + * - ajax: boolean; whether to return Ajax or full-browser results + * + * Only works if the current user is logged in. + * + * @category Action + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 + * @link http://status.net/ + */ + +class PluginDisableAction extends PluginEnableAction +{ + /** + * Value to save into $config['plugins']['disable-'] + */ + protected function overrideValue() + { + return 1; + } + + protected function successShortTitle() + { + // TRANS: Page title for AJAX form return when a disabling a plugin. + return _m('plugin', 'Disabled'); + } + + protected function successNextForm() + { + return new EnablePluginForm($this, $this->plugin); + } +} + + diff --git a/actions/pluginenable.php b/actions/pluginenable.php new file mode 100644 index 000000000..2dbb3e395 --- /dev/null +++ b/actions/pluginenable.php @@ -0,0 +1,166 @@ +. + * + * PHP version 5 + * + * @category Action + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Plugin enable action. + * + * (Re)-enables a plugin from the default plugins list. + * + * Takes parameters: + * + * - plugin: plugin name + * - token: session token to prevent CSRF attacks + * - ajax: boolean; whether to return Ajax or full-browser results + * + * Only works if the current user is logged in. + * + * @category Action + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 + * @link http://status.net/ + */ + +class PluginEnableAction extends Action +{ + var $user; + var $plugin; + + /** + * Check pre-requisites and instantiate attributes + * + * @param Array $args array of arguments (URL, GET, POST) + * + * @return boolean success flag + */ + + function prepare($args) + { + parent::prepare($args); + + // @fixme these are pretty common, should a parent class factor these out? + + // Only allow POST requests + + if ($_SERVER['REQUEST_METHOD'] != 'POST') { + $this->clientError(_('This action only accepts POST requests.')); + return false; + } + + // CSRF protection + + $token = $this->trimmed('token'); + + if (!$token || $token != common_session_token()) { + $this->clientError(_('There was a problem with your session token.'. + ' Try again, please.')); + return false; + } + + // Only for logged-in users + + $this->user = common_current_user(); + + if (empty($this->user)) { + $this->clientError(_('Not logged in.')); + return false; + } + + if (!AdminPanelAction::canAdmin('plugins')) { + $this->clientError(_('You cannot administer plugins.')); + return false; + } + + $this->plugin = $this->arg('plugin'); + $defaultPlugins = common_config('plugins', 'default'); + if (!array_key_exists($this->plugin, $defaultPlugins)) { + $this->clientError(_('No such plugin.')); + return false; + } + + return true; + } + + /** + * Handle request + * + * Does the subscription and returns results. + * + * @param Array $args unused. + * + * @return void + */ + + function handle($args) + { + $key = 'disable-' . $this->plugin; + Config::save('plugins', $key, $this->overrideValue()); + + // @fixme this is a pretty common pattern and should be refactored down + if ($this->boolean('ajax')) { + $this->startHTML('text/xml;charset=utf-8'); + $this->elementStart('head'); + $this->element('title', null, $this->successShortTitle()); + $this->elementEnd('head'); + $this->elementStart('body'); + $form = $this->successNextForm(); + $form->show(); + $this->elementEnd('body'); + $this->elementEnd('html'); + } else { + $url = common_local_url('pluginsadminpanel'); + common_redirect($url, 303); + } + } + + /** + * Value to save into $config['plugins']['disable-'] + */ + protected function overrideValue() + { + return 0; + } + + protected function successShortTitle() + { + // TRANS: Page title for AJAX form return when enabling a plugin. + return _m('plugin', 'Enabled'); + } + + protected function successNextForm() + { + return new DisablePluginForm($this, $this->plugin); + } +} diff --git a/actions/pluginsadminpanel.php b/actions/pluginsadminpanel.php new file mode 100644 index 000000000..bc400bd51 --- /dev/null +++ b/actions/pluginsadminpanel.php @@ -0,0 +1,110 @@ +. + * + * @category Settings + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Plugins settings + * + * @category Admin + * @package StatusNet + * @author Brion Vibber + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class PluginsadminpanelAction extends AdminPanelAction +{ + + /** + * Returns the page title + * + * @return string page title + */ + + function title() + { + // TRANS: Tab and title for plugins admin panel. + return _('Plugins'); + } + + /** + * Instructions for using this form. + * + * @return string instructions + */ + + function getInstructions() + { + // TRANS: Instructions at top of plugin admin page. + return _('Additional plugins can be enabled and configured manually. ' . + 'See the online plugin ' . + 'documentation for more details.'); + } + + /** + * Show the plugins admin panel form + * + * @return void + */ + + function showForm() + { + $this->elementStart('fieldset', array('id' => 'settings_plugins_default')); + + // TRANS: Admin form section header + $this->element('legend', null, _('Default plugins'), 'default'); + + $this->showDefaultPlugins(); + + $this->elementEnd('fieldset'); + } + + /** + * Until we have a general plugin metadata infrastructure, for now + * we'll just list up the ones we know from the global default + * plugins list. + */ + protected function showDefaultPlugins() + { + $plugins = array_keys(common_config('plugins', 'default')); + natsort($plugins); + + if ($plugins) { + $list = new PluginList($plugins, $this); + $list->show(); + } else { + $this->element('p', null, + _('All default plugins have been disabled from the ' . + 'site\'s configuration file.')); + } + } +} diff --git a/lib/adminpanelaction.php b/lib/adminpanelaction.php index a927e2333..d87981b6a 100644 --- a/lib/adminpanelaction.php +++ b/lib/adminpanelaction.php @@ -407,6 +407,14 @@ class AdminPanelNav extends Widget $menu_title, $action_name == 'snapshotadminpanel', 'nav_snapshot_admin_panel'); } + if (AdminPanelAction::canAdmin('plugins')) { + // TRANS: Menu item title/tooltip + $menu_title = _('Plugins configuration'); + // TRANS: Menu item for site administration + $this->out->menuItem(common_local_url('pluginsadminpanel'), _('Plugins'), + $menu_title, $action_name == 'pluginsadminpanel', 'nav_design_admin_panel'); + } + Event::handle('EndAdminPanelNav', array($this)); } $this->action->elementEnd('ul'); diff --git a/lib/default.php b/lib/default.php index 10f3f1a97..eb0cb0b64 100644 --- a/lib/default.php +++ b/lib/default.php @@ -285,8 +285,9 @@ $default = 'RSSCloud' => null, 'OpenID' => null), ), + 'pluginlist' => array(), 'admin' => - array('panels' => array('design', 'site', 'user', 'paths', 'access', 'sessions', 'sitenotice')), + array('panels' => array('design', 'site', 'user', 'paths', 'access', 'sessions', 'sitenotice', 'plugins')), 'singleuser' => array('enabled' => false, 'nickname' => null), diff --git a/lib/plugindisableform.php b/lib/plugindisableform.php new file mode 100644 index 000000000..3cbabdb2c --- /dev/null +++ b/lib/plugindisableform.php @@ -0,0 +1,93 @@ +. + * + * @category Form + * @package StatusNet + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Form for joining a group + * + * @category Form + * @package StatusNet + * @author Brion Vibber + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + * + * @see PluginEnableForm + */ + +class PluginDisableForm extends PluginEnableForm +{ + /** + * ID of the form + * + * @return string ID of the form + */ + + function id() + { + return 'plugin-disable-' . $this->plugin; + } + + /** + * class of the form + * + * @return string of the form class + */ + + function formClass() + { + return 'form_plugin_disable'; + } + + /** + * Action of the form + * + * @return string URL of the action + */ + + function action() + { + return common_local_url('plugindisable', + array('plugin' => $this->plugin)); + } + + /** + * Action elements + * + * @return void + */ + + function formActions() + { + // TRANS: Plugin admin panel controls + $this->out->submit('submit', _m('plugin', 'Disable')); + } + +} diff --git a/lib/pluginenableform.php b/lib/pluginenableform.php new file mode 100644 index 000000000..8683ffd0b --- /dev/null +++ b/lib/pluginenableform.php @@ -0,0 +1,114 @@ +. + * + * @category Form + * @package StatusNet + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +require_once INSTALLDIR.'/lib/form.php'; + +/** + * Form for joining a group + * + * @category Form + * @package StatusNet + * @author Brion Vibber + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + * + * @see PluginDisableForm + */ + +class PluginEnableForm extends Form +{ + /** + * Plugin to enable/disable + */ + + var $plugin = null; + + /** + * Constructor + * + * @param HTMLOutputter $out output channel + * @param string $plugin plugin to enable/disable + */ + + function __construct($out=null, $plugin=null) + { + parent::__construct($out); + + $this->plugin = $plugin; + } + + /** + * ID of the form + * + * @return string ID of the form + */ + + function id() + { + return 'plugin-enable-' . $this->plugin; + } + + /** + * class of the form + * + * @return string of the form class + */ + + function formClass() + { + return 'form_plugin_enable'; + } + + /** + * Action of the form + * + * @return string URL of the action + */ + + function action() + { + return common_local_url('pluginenable', + array('plugin' => $this->plugin)); + } + + /** + * Action elements + * + * @return void + */ + + function formActions() + { + // TRANS: Plugin admin panel controls + $this->out->submit('submit', _m('plugin', 'Enable')); + } +} diff --git a/lib/pluginlist.php b/lib/pluginlist.php new file mode 100644 index 000000000..07a17ba39 --- /dev/null +++ b/lib/pluginlist.php @@ -0,0 +1,213 @@ +. + * + * @category Settings + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +require INSTALLDIR . "/lib/pluginenableform.php"; +require INSTALLDIR . "/lib/plugindisableform.php"; + +/** + * Plugin list + * + * @category Admin + * @package StatusNet + * @author Brion Vibber + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class PluginList extends Widget +{ + var $plugins = array(); + + function __construct($plugins, $out) + { + parent::__construct($out); + $this->plugins = $plugins; + } + + function show() + { + $this->startList(); + $this->showPlugins(); + $this->endList(); + } + + function startList() + { + $this->out->elementStart('table', 'plugin_list'); + } + + function endList() + { + $this->out->elementEnd('table'); + } + + function showPlugins() + { + foreach ($this->plugins as $plugin) { + $pli = $this->newListItem($plugin); + $pli->show(); + } + } + + function newListItem($plugin) + { + return new PluginListItem($plugin, $this->out); + } +} + +class PluginListItem extends Widget +{ + /** Current plugin. */ + var $plugin = null; + + /** Local cache for plugin version info */ + protected static $versions = false; + + function __construct($plugin, $out) + { + parent::__construct($out); + $this->plugin = $plugin; + } + + function show() + { + $meta = $this->metaInfo(); + + $this->out->elementStart('tr', array('id' => 'plugin-' . $this->plugin)); + + // Name and controls + $this->out->elementStart('td'); + $this->out->elementStart('div'); + if (!empty($meta['homepage'])) { + $this->out->elementStart('a', array('href' => $meta['homepage'])); + } + $this->out->text($this->plugin); + if (!empty($meta['homepage'])) { + $this->out->elementEnd('a'); + } + $this->out->elementEnd('div'); + + $form = $this->getControlForm(); + $form->show(); + + $this->out->elementEnd('td'); + + // Version and authors + $this->out->elementStart('td'); + if (!empty($meta['version'])) { + $this->out->elementStart('div'); + $this->out->text($meta['version']); + $this->out->elementEnd('div'); + } + if (!empty($meta['author'])) { + $this->out->elementStart('div'); + $this->out->text($meta['author']); + $this->out->elementEnd('div'); + } + $this->out->elementEnd('td'); + + // Description + $this->out->elementStart('td'); + if (!empty($meta['rawdescription'])) { + $this->out->raw($meta['rawdescription']); + } + $this->out->elementEnd('td'); + + $this->out->elementEnd('tr'); + } + + /** + * Pull up the appropriate control form for this plugin, depending + * on its current state. + * + * @return Form + */ + protected function getControlForm() + { + $key = 'disable-' . $this->plugin; + if (common_config('plugins', $key)) { + return new PluginEnableForm($this->out, $this->plugin); + } else { + return new PluginDisableForm($this->out, $this->plugin); + } + } + + /** + * Grab metadata about this plugin... + * Warning: horribly inefficient and may explode! + * Doesn't work for disabled plugins either. + * + * @fixme pull structured data from plugin source + */ + function metaInfo() + { + $versions = self::getPluginVersions(); + $found = false; + + foreach ($versions as $info) { + // hack for URL shorteners... "LilUrl (ur1.ca)" etc + list($name, ) = explode(' ', $info['name']); + + if ($name == $this->plugin) { + if ($found) { + // hack for URL shorteners... + $found['rawdescription'] .= "
\n" . $info['rawdescription']; + } else { + $found = $info; + } + } + } + + if ($found) { + return $found; + } else { + return array('name' => $this->plugin, + 'rawdescription' => _m('plugin-description', + '(Plugin descriptions unavailable when disabled.)')); + } + } + + /** + * Lazy-load the set of active plugin version info + * @return array + */ + protected static function getPluginVersions() + { + if (!is_array(self::$versions)) { + $versions = array(); + Event::handle('PluginVersion', array(&$versions)); + self::$versions = $versions; + } + return self::$versions; + } +} diff --git a/lib/router.php b/lib/router.php index a48ee875e..9fe2f60ae 100644 --- a/lib/router.php +++ b/lib/router.php @@ -658,6 +658,13 @@ class Router $m->connect('admin/sessions', array('action' => 'sessionsadminpanel')); $m->connect('admin/sitenotice', array('action' => 'sitenoticeadminpanel')); $m->connect('admin/snapshot', array('action' => 'snapshotadminpanel')); + $m->connect('admin/plugins', array('action' => 'pluginsadminpanel')); + $m->connect('admin/plugins/enable/:plugin', + array('action' => 'pluginenable'), + array('plugin' => '[A-Za-z0-9_]+')); + $m->connect('admin/plugins/disable/:plugin', + array('action' => 'plugindisable'), + array('plugin' => '[A-Za-z0-9_]+')); $m->connect('getfile/:filename', array('action' => 'getfile'), diff --git a/lib/statusnet.php b/lib/statusnet.php index 776cfb579..98f25c8a0 100644 --- a/lib/statusnet.php +++ b/lib/statusnet.php @@ -163,6 +163,11 @@ class StatusNet { // Load default plugins foreach (common_config('plugins', 'default') as $name => $params) { + $key = 'disable-' . $name; + if (common_config('plugins', $key)) { + continue; + } + if (is_null($params)) { addPlugin($name); } else if (is_array($params)) { -- cgit v1.2.3 From 64b5ea2e6238017fba5ad53274d26d53ed2b5fb3 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 24 Mar 2010 14:18:06 -0700 Subject: Use InnoDB and UTF-8 options when creating user_im_prefs table, to match others --- db/statusnet.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/statusnet.sql b/db/statusnet.sql index d1cd67075..16d09a11f 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -647,7 +647,7 @@ create table user_im_prefs ( constraint primary key (user_id, transport), constraint unique key `transport_screenname_key` ( `transport` , `screenname` ) -); +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; create table conversation ( id integer auto_increment primary key comment 'unique identifier', -- cgit v1.2.3 From abf2ce873b23f238041c4b4190dc709b2d40774d Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 24 Mar 2010 14:18:25 -0700 Subject: Avoid notice when reporting DB errors for objects that don't have an 'id' field --- classes/Memcached_DataObject.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index bc4c3a000..af148ef69 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -502,7 +502,7 @@ class Memcached_DataObject extends Safe_DataObject function raiseError($message, $type = null, $behaviour = null) { $id = get_class($this); - if ($this->id) { + if (!empty($this->id)) { $id .= ':' . $this->id; } throw new ServerException("[$id] DB_DataObject error [$type]: $message"); -- cgit v1.2.3 From 9398c61ed321472ab7131c063ed319a51d2b2bef Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 1 Mar 2010 21:40:42 -0500 Subject: Use PHP exceptions for PEAR error handling. Allows for the common try/catch construct, which makes error handling cleaner and easier. --- index.php | 97 ++++++++++++++++++++++++++++++---------------------------- lib/common.php | 12 ++++++++ 2 files changed, 63 insertions(+), 46 deletions(-) diff --git a/index.php b/index.php index 6bfbc11da..78c4de62a 100644 --- a/index.php +++ b/index.php @@ -37,8 +37,6 @@ define('INSTALLDIR', dirname(__FILE__)); define('STATUSNET', true); define('LACONICA', true); // compatibility -require_once INSTALLDIR . '/lib/common.php'; - $user = null; $action = null; @@ -68,52 +66,63 @@ function getPath($req) */ function handleError($error) { - if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) { - return; - } + try { - $logmsg = "PEAR error: " . $error->getMessage(); - if (common_config('site', 'logdebug')) { - $logmsg .= " : ". $error->getDebugInfo(); - } - // DB queries often end up with a lot of newlines; merge to a single line - // for easier grepability... - $logmsg = str_replace("\n", " ", $logmsg); - common_log(LOG_ERR, $logmsg); - - // @fixme backtrace output should be consistent with exception handling - if (common_config('site', 'logdebug')) { - $bt = $error->getBacktrace(); - foreach ($bt as $n => $line) { - common_log(LOG_ERR, formatBacktraceLine($n, $line)); + if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) { + return; } - } - if ($error instanceof DB_DataObject_Error - || $error instanceof DB_Error - ) { - $msg = sprintf( - _( - 'The database for %s isn\'t responding correctly, '. - 'so the site won\'t work properly. '. - 'The site admins probably know about the problem, '. - 'but you can contact them at %s to make sure. '. - 'Otherwise, wait a few minutes and try again.' - ), - common_config('site', 'name'), - common_config('site', 'email') - ); - } else { - $msg = _( - 'An important error occured, probably related to email setup. '. - 'Check logfiles for more info..' - ); - } - $dac = new DBErrorAction($msg, 500); - $dac->showPage(); + $logmsg = "PEAR error: " . $error->getMessage(); + if ($error instanceof PEAR_Exception && common_config('site', 'logdebug')) { + $logmsg .= " : ". $error->toText(); + } + // DB queries often end up with a lot of newlines; merge to a single line + // for easier grepability... + $logmsg = str_replace("\n", " ", $logmsg); + common_log(LOG_ERR, $logmsg); + + // @fixme backtrace output should be consistent with exception handling + if (common_config('site', 'logdebug')) { + $bt = $error->getTrace(); + foreach ($bt as $n => $line) { + common_log(LOG_ERR, formatBacktraceLine($n, $line)); + } + } + if ($error instanceof DB_DataObject_Error + || $error instanceof DB_Error + || ($error instanceof PEAR_Exception && $error->getCode() == -24) + ) { + $msg = sprintf( + _( + 'The database for %s isn\'t responding correctly, '. + 'so the site won\'t work properly. '. + 'The site admins probably know about the problem, '. + 'but you can contact them at %s to make sure. '. + 'Otherwise, wait a few minutes and try again.' + ), + common_config('site', 'name'), + common_config('site', 'email') + ); + } else { + $msg = _( + 'An important error occured, probably related to email setup. '. + 'Check logfiles for more info..' + ); + } + + $dac = new DBErrorAction($msg, 500); + $dac->showPage(); + + } catch (Exception $e) { + echo _('An error occurred.'); + } exit(-1); } +set_exception_handler('handleError'); + +require_once INSTALLDIR . '/lib/common.php'; + /** * Format a backtrace line for debug output roughly like debug_print_backtrace() does. * Exceptions already have this built in, but PEAR error objects just give us the array. @@ -238,10 +247,6 @@ function main() return; } - // For database errors - - PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError'); - // Make sure RW database is setup setupRW(); diff --git a/lib/common.php b/lib/common.php index 8d2e6b420..45946c216 100644 --- a/lib/common.php +++ b/lib/common.php @@ -71,6 +71,7 @@ if (!function_exists('dl')) { # global configuration object require_once('PEAR.php'); +require_once('PEAR/Exception.php'); require_once('DB/DataObject.php'); require_once('DB/DataObject/Cast.php'); # for dates @@ -127,6 +128,17 @@ require_once INSTALLDIR.'/lib/subs.php'; require_once INSTALLDIR.'/lib/clientexception.php'; require_once INSTALLDIR.'/lib/serverexception.php'; + +//set PEAR error handling to use regular PHP exceptions +function PEAR_ErrorToPEAR_Exception($err) +{ + if ($err->getCode()) { + throw new PEAR_Exception($err->getMessage(), $err->getCode()); + } + throw new PEAR_Exception($err->getMessage()); +} +PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'PEAR_ErrorToPEAR_Exception'); + try { StatusNet::init(@$server, @$path, @$conffile); } catch (NoConfigException $e) { -- cgit v1.2.3 From d7d3a50d8751f071aa95541813af1d190e71430e Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 1 Mar 2010 21:53:10 -0500 Subject: Don't attempt to retrieve the current user from the DB while processing a DB error --- index.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/index.php b/index.php index 78c4de62a..66a9838d6 100644 --- a/index.php +++ b/index.php @@ -92,6 +92,12 @@ function handleError($error) || $error instanceof DB_Error || ($error instanceof PEAR_Exception && $error->getCode() == -24) ) { + //If we run into a DB error, assume we can't connect to the DB at all + //so set the current user to null, so we don't try to access the DB + //while rendering the error page. + global $_cur; + $_cur = null; + $msg = sprintf( _( 'The database for %s isn\'t responding correctly, '. -- cgit v1.2.3 From 14adb7cc41e3d5d4e543c1f13f7a60d3cadb5c71 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 26 Apr 2010 02:40:36 -0400 Subject: Give users more control over URL shortening Users and administrators can set how long an URL can be before it's shortened, and how long a notice can be before all its URLs are shortened. They can also turn off shortening altogether. Squashed commit of the following: commit d136b390115829c4391b3666bb1967f190a0de35 Author: Evan Prodromou Date: Mon Apr 26 02:39:00 2010 -0400 use site and user settings to determine when to shorten URLs commit 1e1c851ff3cb2da5e0dc3a0b06239a9d9c618488 Author: Evan Prodromou Date: Mon Apr 26 02:38:40 2010 -0400 add a method to force shortening URLs commit 4d29ca0b91201f6df42940297ed5b64b070efe49 Author: Evan Prodromou Date: Mon Apr 26 02:37:41 2010 -0400 static method for getting best URL shortening service commit a9c6a3bace0af44bcf38d1c790425a7be9c72147 Author: Evan Prodromou Date: Mon Apr 26 02:37:11 2010 -0400 allow 0 in numeric entries in othersettings commit 767ff2f7ecfd7e76e8418fc79d45e61898f09382 Author: Evan Prodromou Date: Mon Apr 26 02:36:46 2010 -0400 allow 0 or blank string in inputs commit 1e21af42a685f600f4a53f49a194013e78b12f20 Author: Evan Prodromou Date: Mon Apr 26 02:01:11 2010 -0400 add more URL-shortening options to othersettings commit 869a6be0f5779aff69018d02f9ac0273946040d9 Author: Evan Prodromou Date: Sat Apr 24 14:22:51 2010 -0400 move url shortener superclass to lib from plugin commit 9c0c9863d532942b99184f14e923fc3c050f8177 Author: Evan Prodromou Date: Sat Apr 24 14:20:28 2010 -0400 documentation and whitespace on UrlShortenerPlugin commit 7a1dd5798f0fcf2c03d1257a18ddcb9008879de0 Author: Evan Prodromou Date: Sat Apr 24 14:05:46 2010 -0400 add defaults for URL shortening commit d259c37ad231ca0010c60e5cfd397bb1732874a4 Author: Evan Prodromou Date: Sat Apr 24 13:40:10 2010 -0400 Add User_urlshortener_prefs Add a table for URL shortener prefs, a corresponding class, and the correct mumbo-jumbo in statusnet.ini to make everything work. --- README | 20 +++- actions/othersettings.php | 58 ++++++++++- classes/File_redirection.php | 38 ++++++- classes/User_urlshortener_prefs.php | 105 +++++++++++++++++++ classes/statusnet.ini | 11 ++ db/statusnet.sql | 13 +++ lib/default.php | 4 + lib/htmloutputter.php | 2 +- lib/urlshortenerplugin.php | 155 ++++++++++++++++++++++++++++ lib/util.php | 54 +++++++--- plugins/BitlyUrl/BitlyUrlPlugin.php | 2 - plugins/LilUrl/LilUrlPlugin.php | 2 - plugins/PtitUrl/PtitUrlPlugin.php | 1 - plugins/SimpleUrl/SimpleUrlPlugin.php | 2 - plugins/TightUrl/TightUrlPlugin.php | 2 - plugins/UrlShortener/UrlShortenerPlugin.php | 95 ----------------- 16 files changed, 435 insertions(+), 129 deletions(-) create mode 100755 classes/User_urlshortener_prefs.php create mode 100644 lib/urlshortenerplugin.php delete mode 100644 plugins/UrlShortener/UrlShortenerPlugin.php diff --git a/README b/README index 1e244c448..dcf305ea6 100644 --- a/README +++ b/README @@ -843,9 +843,7 @@ sslserver: use an alternate server name for SSL URLs, like parameters correctly so that both the SSL server and the "normal" server can access the session cookie and preferably other cookies as well. -shorturllength: Length of URL at which URLs in a message exceeding 140 - characters will be sent to the user's chosen - shortening service. +shorturllength: ignored. See 'url' section below. dupelimit: minimum time allowed for one person to say the same thing twice. Default 60s. Anything lower is considered a user or UI error. @@ -1468,6 +1466,22 @@ disallow: Array of (virtual) directories to disallow. Default is 'main', 'search', 'message', 'settings', 'admin'. Ignored when site is private, in which case the entire site ('/') is disallowed. +url +--- + +Everybody loves URL shorteners. These are some options for fine-tuning +how and when the server shortens URLs. + +shortener: URL shortening service to use by default. Users can override + individually. 'ur1.ca' by default. +maxlength: If an URL is strictly longer than this limit, it will be + shortened. Note that the URL shortener service may return an + URL longer than this limit. Defaults to 25. Users can + override. If set to 0, all URLs will be shortened. +maxnoticelength: If a notice is strictly longer than this limit, all + URLs in the notice will be shortened. Users can override. + -1 means the text limit for notices. + Plugins ======= diff --git a/actions/othersettings.php b/actions/othersettings.php index 10e9873b3..8d6e00404 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -98,8 +98,10 @@ class OthersettingsAction extends AccountSettingsAction $this->hidden('token', common_session_token()); $this->elementStart('ul', 'form_data'); - $shorteners = array(); + $shorteners = array(_('[none]') => array('freeService' => false)); + Event::handle('GetUrlShorteners', array(&$shorteners)); + $services = array(); foreach($shorteners as $name=>$value) { @@ -119,8 +121,22 @@ class OthersettingsAction extends AccountSettingsAction $this->elementEnd('li'); } $this->elementStart('li'); + $this->input('maxurllength', + _('URL longer than'), + (!is_null($this->arg('maxurllength'))) ? + $this->arg('maxurllength') : User_urlshortener_prefs::maxUrlLength($user), + _('URLs longer than this will be shortened.')); + $this->elementEnd('li'); + $this->elementStart('li'); + $this->input('maxnoticelength', + _('Text longer than'), + (!is_null($this->arg('maxnoticelength'))) ? + $this->arg('maxnoticelength') : User_urlshortener_prefs::maxNoticeLength($user), + _('URLs in notices longer than this will be shortened.')); + $this->elementEnd('li'); + $this->elementStart('li'); $this->checkbox('viewdesigns', _('View profile designs'), - $user->viewdesigns, _('Show or hide profile designs.')); + - $user->viewdesigns, _('Show or hide profile designs.')); $this->elementEnd('li'); $this->elementEnd('ul'); $this->submit('save', _('Save')); @@ -156,6 +172,18 @@ class OthersettingsAction extends AccountSettingsAction $viewdesigns = $this->boolean('viewdesigns'); + $maxurllength = $this->trimmed('maxurllength'); + + if (!Validate::number($maxurllength, array('min' => 0))) { + throw new ClientException(_('Invalid number for max url length.')); + } + + $maxnoticelength = $this->trimmed('maxnoticelength'); + + if (!Validate::number($maxnoticelength, array('min' => 0))) { + throw new ClientException(_('Invalid number for max notice length.')); + } + $user = common_current_user(); assert(!is_null($user)); // should already be checked @@ -175,6 +203,32 @@ class OthersettingsAction extends AccountSettingsAction return; } + $prefs = User_urlshortener_prefs::getPrefs($user); + $orig = null; + + if (empty($prefs)) { + $prefs = new User_urlshortener_prefs(); + + $prefs->user_id = $user->id; + $prefs->created = common_sql_now(); + } else { + $orig = clone($prefs); + } + + $prefs->urlshorteningservice = $urlshorteningservice; + $prefs->maxurllength = $maxurllength; + $prefs->maxnoticelength = $maxnoticelength; + + if (!empty($orig)) { + $result = $prefs->update($orig); + } else { + $result = $prefs->insert(); + } + + if (!$result) { + throw new ServerException(_('Error saving user URL shortening preferences.')); + } + $user->query('COMMIT'); $this->showForm(_('Preferences saved.'), true); diff --git a/classes/File_redirection.php b/classes/File_redirection.php index f128b3e07..00ec75309 100644 --- a/classes/File_redirection.php +++ b/classes/File_redirection.php @@ -176,22 +176,52 @@ class File_redirection extends Memcached_DataObject * @param string $long_url * @return string */ - function makeShort($long_url) { + function makeShort($long_url) + { $canon = File_redirection::_canonUrl($long_url); $short_url = File_redirection::_userMakeShort($canon); // Did we get one? Is it shorter? - if (!empty($short_url) && mb_strlen($short_url) < mb_strlen($long_url)) { + + if (!empty($short_url)) { + return $short_url; + } else { + return $long_url; + } + } + + /** + * Shorten a URL with the current user's configured shortening + * options, if applicable. + * + * If it cannot be shortened or the "short" URL is longer than the + * original, the original is returned. + * + * If the referenced item has not been seen before, embedding data + * may be saved. + * + * @param string $long_url + * @return string + */ + + function forceShort($long_url) + { + $canon = File_redirection::_canonUrl($long_url); + + $short_url = File_redirection::_userMakeShort($canon, true); + + // Did we get one? Is it shorter? + if (!empty($short_url)) { return $short_url; } else { return $long_url; } } - function _userMakeShort($long_url) { - $short_url = common_shorten_url($long_url); + function _userMakeShort($long_url, $force = false) { + $short_url = common_shorten_url($long_url, $force); if (!empty($short_url) && $short_url != $long_url) { $short_url = (string)$short_url; // store it diff --git a/classes/User_urlshortener_prefs.php b/classes/User_urlshortener_prefs.php new file mode 100755 index 000000000..e0f85af01 --- /dev/null +++ b/classes/User_urlshortener_prefs.php @@ -0,0 +1,105 @@ +. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +class User_urlshortener_prefs extends Memcached_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'user_urlshortener_prefs'; // table name + public $user_id; // int(4) primary_key not_null + public $urlshorteningservice; // varchar(50) default_ur1.ca + public $maxurllength; // int(4) not_null + public $maxnoticelength; // int(4) not_null + public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00 + public $modified; // timestamp not_null default_CURRENT_TIMESTAMP + + /* Static get */ + function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_urlshortener_prefs',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE + + function sequenceKey() + { + return array(false, false, false); + } + + static function maxUrlLength($user) + { + $def = common_config('url', 'maxlength'); + + $prefs = self::getPrefs($user); + + if (empty($prefs)) { + return $def; + } else { + return $prefs->maxurllength; + } + } + + static function maxNoticeLength($user) + { + $def = common_config('url', 'maxnoticelength'); + + if ($def == -1) { + $def = Notice::maxContent(); + } + + $prefs = self::getPrefs($user); + + if (empty($prefs)) { + return $def; + } else { + return $prefs->maxnoticelength; + } + } + + static function urlShorteningService($user) + { + $def = common_config('url', 'shortener'); + + $prefs = self::getPrefs($user); + + if (empty($prefs)) { + if (!empty($user)) { + return $user->urlshorteningservice; + } else { + return $def; + } + } else { + return $prefs->urlshorteningservice; + } + } + + static function getPrefs($user) + { + if (empty($user)) { + return null; + } + + $prefs = User_urlshortener_prefs::staticGet('user_id', $user->id); + + return $prefs; + } +} diff --git a/classes/statusnet.ini b/classes/statusnet.ini index 473bd6ff5..d13fdfa52 100644 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -649,3 +649,14 @@ user_id = K transport = K transport = U screenname = U + +[user_urlshortener_prefs] +user_id = 129 +urlshorteningservice = 2 +maxurllength = 129 +maxnoticelength = 129 +created = 142 +modified = 384 + +[user_urlshortener_prefs__keys] +user_id = K diff --git a/db/statusnet.sql b/db/statusnet.sql index 16d09a11f..a0c497fff 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -665,3 +665,16 @@ create table local_group ( modified timestamp comment 'date this record was modified' ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; + +create table user_urlshortener_prefs ( + + user_id integer not null comment 'user' references user (id), + urlshorteningservice varchar(50) default 'ur1.ca' comment 'service to use for auto-shortening URLs', + maxurllength integer not null comment 'urls greater than this length will be shortened, 0 = always, null = never', + maxnoticelength integer not null comment 'notices with content greater than this value will have all urls shortened, 0 = always, null = never', + + created datetime not null comment 'date this record was created', + modified timestamp comment 'date this record was modified', + + constraint primary key (user_id) +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; diff --git a/lib/default.php b/lib/default.php index c98f179ae..dec08fc06 100644 --- a/lib/default.php +++ b/lib/default.php @@ -304,4 +304,8 @@ $default = array('subscribers' => true, 'members' => true, 'peopletag' => true), + 'url' => + array('shortener' => 'ur1.ca', + 'maxlength' => 25, + 'maxnoticelength' => -1) ); diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 7786b5941..9d06ba23c 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -176,7 +176,7 @@ class HTMLOutputter extends XMLOutputter $attrs = array('name' => $id, 'type' => 'text', 'id' => $id); - if ($value) { + if (!is_null($value)) { // value can be 0 or '' $attrs['value'] = $value; } $this->element('input', $attrs); diff --git a/lib/urlshortenerplugin.php b/lib/urlshortenerplugin.php new file mode 100644 index 000000000..8acfac26f --- /dev/null +++ b/lib/urlshortenerplugin.php @@ -0,0 +1,155 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Superclass for plugins that do URL shortening + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +abstract class UrlShortenerPlugin extends Plugin +{ + public $shortenerName; + public $freeService = false; + + // Url Shortener plugins should implement some (or all) + // of these methods + + /** + * Make an URL shorter. + * + * @param string $url URL to shorten + * + * @return string shortened version of the url, or null on failure + */ + + protected abstract function shorten($url); + + /** + * Utility to get the data at an URL + * + * @param string $url URL to fetch + * + * @return string response body + * + * @todo rename to code-standard camelCase httpGet() + */ + + protected function http_get($url) + { + $request = HTTPClient::start(); + $response = $request->get($url); + return $response->getBody(); + } + + /** + * Utility to post a request and get a response URL + * + * @param string $url URL to fetch + * @param array $data post parameters + * + * @return string response body + * + * @todo rename to code-standard httpPost() + */ + + protected function http_post($url, $data) + { + $request = HTTPClient::start(); + $response = $request->post($url, null, $data); + return $response->getBody(); + } + + // Hook handlers + + /** + * Called when all plugins have been initialized + * + * @return boolean hook value + */ + + function onInitializePlugin() + { + if (!isset($this->shortenerName)) { + throw new Exception("must specify a shortenerName"); + } + return true; + } + + /** + * Called when a showing the URL shortener drop-down box + * + * Properties of the shortening service currently only + * include whether it's a free service. + * + * @param array &$shorteners array mapping shortener name to properties + * + * @return boolean hook value + */ + + function onGetUrlShorteners(&$shorteners) + { + $shorteners[$this->shortenerName] = + array('freeService' => $this->freeService); + return true; + } + + /** + * Called to shorten an URL + * + * @param string $url URL to shorten + * @param string $shortenerName Shortening service. Don't handle if it's + * not you! + * @param string &$shortenedUrl URL after shortening; out param. + * + * @return boolean hook value + */ + + function onStartShortenUrl($url, $shortenerName, &$shortenedUrl) + { + if ($shortenerName == $this->shortenerName) { + $result = $this->shorten($url); + if (isset($result) && $result != null && $result !== false) { + $shortenedUrl = $result; + common_log(LOG_INFO, + __CLASS__ . ": $this->shortenerName ". + "shortened $url to $shortenedUrl"); + return false; + } + } + return true; + } +} diff --git a/lib/util.php b/lib/util.php index 96d21bc59..c78ed33bd 100644 --- a/lib/util.php +++ b/lib/util.php @@ -828,9 +828,21 @@ function common_linkify($url) { function common_shorten_links($text) { - $maxLength = Notice::maxContent(); - if ($maxLength == 0 || mb_strlen($text) <= $maxLength) return $text; - return common_replace_urls_callback($text, array('File_redirection', 'makeShort')); + common_debug("common_shorten_links() called"); + + $user = common_current_user(); + + $maxLength = User_urlshortener_prefs::maxNoticeLength($user); + + common_debug("maxLength = $maxLength"); + + if (mb_strlen($text) > $maxLength) { + common_debug("Forcing shortening"); + return common_replace_urls_callback($text, array('File_redirection', 'forceShort')); + } else { + common_debug("Not forcing shortening"); + return common_replace_urls_callback($text, array('File_redirection', 'makeShort')); + } } function common_xml_safe_str($str) @@ -1392,7 +1404,7 @@ function common_valid_tag($tag) * Determine if given domain or address literal is valid * eg for use in JIDs and URLs. Does not check if the domain * exists! - * + * * @param string $domain * @return boolean valid or not */ @@ -1734,30 +1746,42 @@ function common_database_tablename($tablename) /** * Shorten a URL with the current user's configured shortening service, * or ur1.ca if configured, or not at all if no shortening is set up. - * Length is not considered. * - * @param string $long_url + * @param string $long_url original URL + * @param boolean $force Force shortening (used when notice is too long) + * * @return string may return the original URL if shortening failed * * @fixme provide a way to specify a particular shortener * @fixme provide a way to specify to use a given user's shortening preferences */ -function common_shorten_url($long_url) + +function common_shorten_url($long_url, $force = false) { + common_debug("Shortening URL '$long_url' (force = $force)"); + $long_url = trim($long_url); + $user = common_current_user(); - if (empty($user)) { - // common current user does not find a user when called from the XMPP daemon - // therefore we'll set one here fix, so that XMPP given URLs may be shortened - $shortenerName = 'ur1.ca'; - } else { - $shortenerName = $user->urlshorteningservice; + + $maxUrlLength = User_urlshortener_prefs::maxUrlLength($user); + common_debug("maxUrlLength = $maxUrlLength"); + + // $force forces shortening even if it's not strictly needed + + if (mb_strlen($long_url) < $maxUrlLength && !$force) { + common_debug("Skipped shortening URL."); + return $long_url; } - if(Event::handle('StartShortenUrl', array($long_url,$shortenerName,&$shortenedUrl))){ + $shortenerName = User_urlshortener_prefs::urlShorteningService($user); + + common_debug("Shortener name = '$shortenerName'"); + + if (Event::handle('StartShortenUrl', array($long_url, $shortenerName, &$shortenedUrl))) { //URL wasn't shortened, so return the long url return $long_url; - }else{ + } else { //URL was shortened, so return the result return trim($shortenedUrl); } diff --git a/plugins/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php index f7f28b4d6..b649d3d0b 100644 --- a/plugins/BitlyUrl/BitlyUrlPlugin.php +++ b/plugins/BitlyUrl/BitlyUrlPlugin.php @@ -31,8 +31,6 @@ if (!defined('STATUSNET')) { exit(1); } -require_once INSTALLDIR.'/plugins/UrlShortener/UrlShortenerPlugin.php'; - class BitlyUrlPlugin extends UrlShortenerPlugin { public $serviceUrl; diff --git a/plugins/LilUrl/LilUrlPlugin.php b/plugins/LilUrl/LilUrlPlugin.php index c3e37c0c0..cdff9f4e6 100644 --- a/plugins/LilUrl/LilUrlPlugin.php +++ b/plugins/LilUrl/LilUrlPlugin.php @@ -31,8 +31,6 @@ if (!defined('STATUSNET')) { exit(1); } -require_once INSTALLDIR.'/plugins/UrlShortener/UrlShortenerPlugin.php'; - class LilUrlPlugin extends UrlShortenerPlugin { public $serviceUrl; diff --git a/plugins/PtitUrl/PtitUrlPlugin.php b/plugins/PtitUrl/PtitUrlPlugin.php index ddba942e6..cdf46846b 100644 --- a/plugins/PtitUrl/PtitUrlPlugin.php +++ b/plugins/PtitUrl/PtitUrlPlugin.php @@ -30,7 +30,6 @@ if (!defined('STATUSNET')) { exit(1); } -require_once INSTALLDIR.'/plugins/UrlShortener/UrlShortenerPlugin.php'; class PtitUrlPlugin extends UrlShortenerPlugin { diff --git a/plugins/SimpleUrl/SimpleUrlPlugin.php b/plugins/SimpleUrl/SimpleUrlPlugin.php index 6eac7dbb1..5d3f97d33 100644 --- a/plugins/SimpleUrl/SimpleUrlPlugin.php +++ b/plugins/SimpleUrl/SimpleUrlPlugin.php @@ -31,8 +31,6 @@ if (!defined('STATUSNET')) { exit(1); } -require_once INSTALLDIR.'/plugins/UrlShortener/UrlShortenerPlugin.php'; - class SimpleUrlPlugin extends UrlShortenerPlugin { public $serviceUrl; diff --git a/plugins/TightUrl/TightUrlPlugin.php b/plugins/TightUrl/TightUrlPlugin.php index e2d494a7b..f242db6c8 100644 --- a/plugins/TightUrl/TightUrlPlugin.php +++ b/plugins/TightUrl/TightUrlPlugin.php @@ -31,8 +31,6 @@ if (!defined('STATUSNET')) { exit(1); } -require_once INSTALLDIR.'/plugins/UrlShortener/UrlShortenerPlugin.php'; - class TightUrlPlugin extends UrlShortenerPlugin { public $serviceUrl; diff --git a/plugins/UrlShortener/UrlShortenerPlugin.php b/plugins/UrlShortener/UrlShortenerPlugin.php deleted file mode 100644 index 027624b7a..000000000 --- a/plugins/UrlShortener/UrlShortenerPlugin.php +++ /dev/null @@ -1,95 +0,0 @@ -. - * - * @category Plugin - * @package StatusNet - * @author Craig Andrews - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -/** - * Superclass for plugins that do URL shortening - * - * @category Plugin - * @package StatusNet - * @author Craig Andrews - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -abstract class UrlShortenerPlugin extends Plugin -{ - public $shortenerName; - public $freeService=false; - //------------Url Shortener plugin should implement some (or all) of these methods------------\\ - - /** - * Short a URL - * @param url - * @return string shortened version of the url, or null if URL shortening failed - */ - protected abstract function shorten($url); - - //------------These methods may help you implement your plugin------------\\ - protected function http_get($url) - { - $request = HTTPClient::start(); - $response = $request->get($url); - return $response->getBody(); - } - - protected function http_post($url,$data) - { - $request = HTTPClient::start(); - $response = $request->post($url, null, $data); - return $response->getBody(); - } - - //------------Below are the methods that connect StatusNet to the implementing Url Shortener plugin------------\\ - - function onInitializePlugin(){ - if(!isset($this->shortenerName)){ - throw new Exception("must specify a shortenerName"); - } - } - - function onGetUrlShorteners(&$shorteners) - { - $shorteners[$this->shortenerName]=array('freeService'=>$this->freeService); - } - - function onStartShortenUrl($url,$shortenerName,&$shortenedUrl) - { - if($shortenerName == $this->shortenerName && strlen($url) >= common_config('site', 'shorturllength')){ - $result = $this->shorten($url); - if(isset($result) && $result != null && $result !== false){ - $shortenedUrl=$result; - common_log(LOG_INFO, __CLASS__ . ": $this->shortenerName shortened $url to $shortenedUrl"); - return false; - } - } - } -} -- cgit v1.2.3 From 5414396a2ee9f1401d69b60969e04a1941e24e21 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Fri, 30 Apr 2010 14:41:54 -0700 Subject: IM cleanup on 1.0.x branch: * Fake_XMPP back to Queued_XMPP, refactor how we use it and don't create objects and load classes until we need them. * fix fatal error in IM settings while waiting for a Jabber confirmation. * Caching fix for user_im_prefs * fix for saving multiple transport settings * some fixes for AIM & using normalized addresses for lookups --- actions/imsettings.php | 17 +++--- classes/User_im_prefs.php | 23 ++++++++ classes/statusnet.ini | 6 ++- lib/implugin.php | 25 ++++++--- plugins/Aim/AimPlugin.php | 9 +++- plugins/Aim/README | 2 +- plugins/Xmpp/Fake_XMPP.php | 114 ---------------------------------------- plugins/Xmpp/Queued_XMPP.php | 121 +++++++++++++++++++++++++++++++++++++++++++ plugins/Xmpp/XmppPlugin.php | 27 +++++----- 9 files changed, 198 insertions(+), 146 deletions(-) delete mode 100644 plugins/Xmpp/Fake_XMPP.php create mode 100644 plugins/Xmpp/Queued_XMPP.php diff --git a/actions/imsettings.php b/actions/imsettings.php index 2c2606b76..662b1063e 100644 --- a/actions/imsettings.php +++ b/actions/imsettings.php @@ -133,8 +133,7 @@ class ImsettingsAction extends ConnectSettingsAction 'message with further instructions. '. '(Did you add %s to your buddy list?)'), $transport_info['display'], - $transport_info['daemon_screenname'], - jabber_daemon_address())); + $transport_info['daemon_screenname'])); $this->hidden('screenname', $confirm->address); // TRANS: Button label to cancel an IM address confirmation procedure. $this->submit('cancel', _m('BUTTON','Cancel')); @@ -163,12 +162,11 @@ class ImsettingsAction extends ConnectSettingsAction 'action' => common_local_url('imsettings'))); $this->elementStart('fieldset', array('id' => 'settings_im_preferences')); - $this->element('legend', null, _('Preferences')); + // TRANS: Header for IM preferences form. + $this->element('legend', null, _('IM Preferences')); $this->hidden('token', common_session_token()); $this->elementStart('table'); $this->elementStart('tr'); - // TRANS: Header for IM preferences form. - $this->element('th', null, _('IM Preferences')); foreach($user_im_prefs_by_transport as $transport=>$user_im_prefs) { $this->element('th', null, $transports[$transport]['display']); @@ -278,19 +276,20 @@ class ImsettingsAction extends ConnectSettingsAction $user = common_current_user(); $user_im_prefs = new User_im_prefs(); + $user_im_prefs->query('BEGIN'); $user_im_prefs->user_id = $user->id; if($user_im_prefs->find() && $user_im_prefs->fetch()) { $preferences = array('notify', 'updatefrompresence', 'replies', 'microid'); - $user_im_prefs->query('BEGIN'); do { $original = clone($user_im_prefs); + $new = clone($user_im_prefs); foreach($preferences as $preference) { - $user_im_prefs->$preference = $this->boolean($user_im_prefs->transport . '_' . $preference); + $new->$preference = $this->boolean($new->transport . '_' . $preference); } - $result = $user_im_prefs->update($original); + $result = $new->update($original); if ($result === false) { common_log_db_error($user, 'UPDATE', __FILE__); @@ -299,8 +298,8 @@ class ImsettingsAction extends ConnectSettingsAction return; } }while($user_im_prefs->fetch()); - $user_im_prefs->query('COMMIT'); } + $user_im_prefs->query('COMMIT'); // TRANS: Confirmation message for successful IM preferences save. $this->showForm(_('Preferences saved.'), true); } diff --git a/classes/User_im_prefs.php b/classes/User_im_prefs.php index 8ecdfe9fa..75be8969e 100644 --- a/classes/User_im_prefs.php +++ b/classes/User_im_prefs.php @@ -68,4 +68,27 @@ class User_im_prefs extends Memcached_DataObject { return array(false,false); } + + /** + * We have two compound keys with unique constraints: + * (transport, user_id) which is our primary key, and + * (transport, screenname) which is an additional constraint. + * + * Currently there's not a way to represent that second key + * in the general keys list, so we're adding it here to the + * list of keys to use for caching, ensuring that it gets + * cleared as well when we change. + * + * @return array of cache keys + */ + function _allCacheKeys() + { + $ukeys = 'transport,screenname'; + $uvals = $this->transport . ',' . $this->screenname; + + $ckeys = parent::_allCacheKeys(); + $ckeys[] = $this->cacheKey($this->tableName(), $ukeys, $uvals); + return $ckeys; + } + } diff --git a/classes/statusnet.ini b/classes/statusnet.ini index d13fdfa52..b57d86226 100644 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -647,8 +647,10 @@ modified = 384 [user_im_prefs__keys] user_id = K transport = K -transport = U -screenname = U +; There's another unique index on (transport, screenname) +; but we have no way to represent a compound index other than +; the primary key in here. To ensure proper cache purging, +; we need to tweak the class. [user_urlshortener_prefs] user_id = 129 diff --git a/lib/implugin.php b/lib/implugin.php index 7302859a4..7125aaee8 100644 --- a/lib/implugin.php +++ b/lib/implugin.php @@ -107,10 +107,15 @@ abstract class ImPlugin extends Plugin * receive a raw message * Raw IM data is taken from the incoming queue, and passed to this function. * It should parse the raw message and call handle_incoming() + * + * Returning false may CAUSE REPROCESSING OF THE QUEUE ITEM, and should + * be used for temporary failures only. For permanent failures such as + * unrecognized addresses, return true to indicate your processing has + * completed. * * @param object $data raw IM data * - * @return boolean success value + * @return boolean true if processing completed, false for temporary failures */ abstract function receive_raw_message($data); @@ -185,9 +190,12 @@ abstract class ImPlugin extends Plugin */ function get_user_im_prefs_from_screenname($screenname) { - if($user_im_prefs = User_im_prefs::pkeyGet( array('transport' => $this->transport, 'screenname' => $screenname) )){ + $user_im_prefs = User_im_prefs::pkeyGet( + array('transport' => $this->transport, + 'screenname' => $this->normalize($screenname))); + if ($user_im_prefs) { return $user_im_prefs; - }else{ + } else { return false; } } @@ -203,9 +211,9 @@ abstract class ImPlugin extends Plugin function get_screenname($user) { $user_im_prefs = $this->get_user_im_prefs_from_user($user); - if($user_im_prefs){ + if ($user_im_prefs) { return $user_im_prefs->screenname; - }else{ + } else { return false; } } @@ -220,9 +228,12 @@ abstract class ImPlugin extends Plugin */ function get_user_im_prefs_from_user($user) { - if($user_im_prefs = User_im_prefs::pkeyGet( array('transport' => $this->transport, 'user_id' => $user->id) )){ + $user_im_prefs = User_im_prefs::pkeyGet( + array('transport' => $this->transport, + 'user_id' => $user->id)); + if ($user_im_prefs){ return $user_im_prefs; - }else{ + } else { return false; } } diff --git a/plugins/Aim/AimPlugin.php b/plugins/Aim/AimPlugin.php index 3855d1fb0..30da1dbc7 100644 --- a/plugins/Aim/AimPlugin.php +++ b/plugins/Aim/AimPlugin.php @@ -126,6 +126,11 @@ class AimPlugin extends ImPlugin return true; } + /** + * Accept a queued input message. + * + * @return true if processing completed, false if message should be reprocessed + */ function receive_raw_message($message) { $info=Aim::getMessageInfo($message); @@ -133,7 +138,9 @@ class AimPlugin extends ImPlugin $user = $this->get_user($from); $notice_text = $info['message']; - return $this->handle_incoming($from, $notice_text); + $this->handle_incoming($from, $notice_text); + + return true; } function initialize(){ diff --git a/plugins/Aim/README b/plugins/Aim/README index 046591738..7d486a036 100644 --- a/plugins/Aim/README +++ b/plugins/Aim/README @@ -6,7 +6,7 @@ add "addPlugin('aim', array('setting'=>'value', 'setting2'=>'value2', ...);" to the bottom of your config.php -The daemon included with this plugin must be running. It will be started by +scripts/imdaemon.php included with StatusNet must be running. It will be started by the plugin along with their other daemons when you run scripts/startdaemons.sh. See the StatusNet README for more about queuing and daemons. diff --git a/plugins/Xmpp/Fake_XMPP.php b/plugins/Xmpp/Fake_XMPP.php deleted file mode 100644 index 0f7cfd3b4..000000000 --- a/plugins/Xmpp/Fake_XMPP.php +++ /dev/null @@ -1,114 +0,0 @@ -. - * - * @category Network - * @package StatusNet - * @author Brion Vibber - * @copyright 2010 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -class Fake_XMPP extends XMPPHP_XMPP -{ - public $would_be_sent = null; - - /** - * Constructor - * - * @param string $host - * @param integer $port - * @param string $user - * @param string $password - * @param string $resource - * @param string $server - * @param boolean $printlog - * @param string $loglevel - */ - public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) - { - parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); - - // We use $host to connect, but $server to build JIDs if specified. - // This seems to fix an upstream bug where $host was used to build - // $this->basejid, never seen since it isn't actually used in the base - // classes. - if (!$server) { - $server = $this->host; - } - $this->basejid = $this->user . '@' . $server; - - // Normally the fulljid is filled out by the server at resource binding - // time, but we need to do it since we're not talking to a real server. - $this->fulljid = "{$this->basejid}/{$this->resource}"; - } - - /** - * Send a formatted message to the outgoing queue for later forwarding - * to a real XMPP connection. - * - * @param string $msg - */ - public function send($msg, $timeout=NULL) - { - $this->would_be_sent = $msg; - } - - //@{ - /** - * Stream i/o functions disabled; only do output - */ - public function connect($timeout = 30, $persistent = false, $sendinit = true) - { - throw new Exception("Can't connect to server from fake XMPP."); - } - - public function disconnect() - { - throw new Exception("Can't connect to server from fake XMPP."); - } - - public function process() - { - throw new Exception("Can't read stream from fake XMPP."); - } - - public function processUntil($event, $timeout=-1) - { - throw new Exception("Can't read stream from fake XMPP."); - } - - public function read() - { - throw new Exception("Can't read stream from fake XMPP."); - } - - public function readyToProcess() - { - throw new Exception("Can't read stream from fake XMPP."); - } - //@} -} - diff --git a/plugins/Xmpp/Queued_XMPP.php b/plugins/Xmpp/Queued_XMPP.php new file mode 100644 index 000000000..73eff2246 --- /dev/null +++ b/plugins/Xmpp/Queued_XMPP.php @@ -0,0 +1,121 @@ +. + * + * @category Network + * @package StatusNet + * @author Brion Vibber + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +class Queued_XMPP extends XMPPHP_XMPP +{ + /** + * Reference to the XmppPlugin object we're hooked up to. + */ + public $plugin; + + /** + * Constructor + * + * @param XmppPlugin $plugin + * @param string $host + * @param integer $port + * @param string $user + * @param string $password + * @param string $resource + * @param string $server + * @param boolean $printlog + * @param string $loglevel + */ + public function __construct($plugin, $host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) + { + $this->plugin = $plugin; + + parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); + + // We use $host to connect, but $server to build JIDs if specified. + // This seems to fix an upstream bug where $host was used to build + // $this->basejid, never seen since it isn't actually used in the base + // classes. + if (!$server) { + $server = $this->host; + } + $this->basejid = $this->user . '@' . $server; + + // Normally the fulljid is filled out by the server at resource binding + // time, but we need to do it since we're not talking to a real server. + $this->fulljid = "{$this->basejid}/{$this->resource}"; + } + + /** + * Send a formatted message to the outgoing queue for later forwarding + * to a real XMPP connection. + * + * @param string $msg + */ + public function send($msg, $timeout=NULL) + { + $this->plugin->enqueue_outgoing_raw($msg); + } + + //@{ + /** + * Stream i/o functions disabled; only do output + */ + public function connect($timeout = 30, $persistent = false, $sendinit = true) + { + throw new Exception("Can't connect to server from fake XMPP."); + } + + public function disconnect() + { + throw new Exception("Can't connect to server from fake XMPP."); + } + + public function process() + { + throw new Exception("Can't read stream from fake XMPP."); + } + + public function processUntil($event, $timeout=-1) + { + throw new Exception("Can't read stream from fake XMPP."); + } + + public function read() + { + throw new Exception("Can't read stream from fake XMPP."); + } + + public function readyToProcess() + { + throw new Exception("Can't read stream from fake XMPP."); + } + //@} + +} + diff --git a/plugins/Xmpp/XmppPlugin.php b/plugins/Xmpp/XmppPlugin.php index 03bf47fea..a2521536b 100644 --- a/plugins/Xmpp/XmppPlugin.php +++ b/plugins/Xmpp/XmppPlugin.php @@ -60,8 +60,6 @@ class XmppPlugin extends ImPlugin public $transport = 'xmpp'; - protected $fake_xmpp; - function getDisplayName(){ return _m('XMPP/Jabber/GTalk'); } @@ -292,7 +290,7 @@ class XmppPlugin extends ImPlugin require_once 'XMPP.php'; return false; case 'Sharing_XMPP': - case 'Fake_XMPP': + case 'Queued_XMPP': require_once $dir . '/'.$cls.'.php'; return false; case 'XmppManager': @@ -317,9 +315,7 @@ class XmppPlugin extends ImPlugin function send_message($screenname, $body) { - $this->fake_xmpp->message($screenname, $body, 'chat'); - $this->enqueue_outgoing_raw($this->fake_xmpp->would_be_sent); - return true; + $this->queuedConnection()->message($screenname, $body, 'chat'); } function send_notice($screenname, $notice) @@ -327,8 +323,7 @@ class XmppPlugin extends ImPlugin $msg = $this->format_notice($notice); $entry = $this->format_entry($notice); - $this->fake_xmpp->message($screenname, $msg, 'chat', null, $entry); - $this->enqueue_outgoing_raw($this->fake_xmpp->would_be_sent); + $this->queuedConnection()->message($screenname, $msg, 'chat', null, $entry); return true; } @@ -385,10 +380,19 @@ class XmppPlugin extends ImPlugin return true; } - return $this->handle_incoming($from, $pl['body']); + $this->handle_incoming($from, $pl['body']); + + return true; } - function initialize(){ + /** + * Build a queue-proxied XMPP interface object. Any outgoing messages + * will be run back through us for enqueing rather than sent directly. + * + * @return Queued_XMPP + * @throws Exception if server settings are invalid. + */ + function queuedConnection(){ if(!isset($this->server)){ throw new Exception("must specify a server"); } @@ -402,7 +406,7 @@ class XmppPlugin extends ImPlugin throw new Exception("must specify a password"); } - $this->fake_xmpp = new Fake_XMPP($this->host ? + return new Queued_XMPP($this, $this->host ? $this->host : $this->server, $this->port, @@ -415,7 +419,6 @@ class XmppPlugin extends ImPlugin $this->debug ? XMPPHP_Log::LEVEL_VERBOSE : null ); - return true; } function onPluginVersion(&$versions) -- cgit v1.2.3 From 081ee9b29c7e4b207633aec0219b5a5b1ef36800 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 3 May 2010 16:49:59 -0700 Subject: extlibs updates: PEAR::Mail to 1.2.0, PEAR::Net_SMTP to 1.4.2 (need to go together as a pair) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PEAR::Mail updated to 1.2.0 from 1.1.4, fixes deprecation warnings on PHP 5.3, as well as: 1.2.0: • QA release - stable. • Updated minimum dependencies (Net_SMTP, PEAR, PHP) • Doc Bug #15620 Licence change to BSD • Bug #13659 Mail parse error in special condition • Bug #16200 - Security hole allow to read/write Arbitrary File _hasUnclosedQuotes() doesn't properly handle a double slash before an end quote (slusarz@curecanti.org, Bug #9137). • Make sure Net_SMTP is defined when calling getSMTPObject() directly (slusarz@curecanti.org, Bug #13772). • Add addServiceExtensionParameter() to the SMTP driver (slusarz@curecanti.org, Bug #13764). • Add a method to obtain the Net_SMTP object from the SMTP driver (slusarz@curecanti.org, Bug #13766). PEAR::Net_SMTP updated to 1.4.2 from 1.3.1, needed to support updated PEAR::Mail: 1.4.2: • Fixing header string quoting in data(). (Bug #17199) 1.4.1: • The auth() method now includes an optional $tls parameter that determines whether or not TLS should be attempted (if supported by the PHP runtime and the remote SMTP server). This parameter defaults to true. (Bug #16349) • Header data can be specified separately from message body data by passing it as the optional second parameter to ``data()``. This is especially useful when an open file resource is being used to supply message data because it allows header fields (like *Subject:*) to be built dynamically at runtime. (Request #17012) 1.4.0: • The data() method now accepts either a string or a file resource containing the message data. (Request #16962) 1.3.4: • All Net_Socket write failures are now recognized. (Bug #16831) 1.3.3: • Added getGreeting(), for retrieving the server's greeting string. (Request #16066) [needed for PEAR::Mail] • We no longer attempt a TLS connection if we're already using a secure socket. (Bug #16254) • You can now specify a debug output handler via setDebug(). (Request #16420) 1.3.2: • TLS connection only gets started if no AUTH methods are sent. (Bug #14944) --- extlib/Mail.php | 82 ++++++++++++++------ extlib/Mail/RFC822.php | 83 +++++++++++--------- extlib/Mail/mail.php | 63 ++++++++++----- extlib/Mail/mock.php | 64 ++++++++++----- extlib/Mail/null.php | 64 ++++++++++----- extlib/Mail/sendmail.php | 7 +- extlib/Mail/smtp.php | 73 ++++++++++++----- extlib/Mail/smtpmx.php | 44 ++++++++--- extlib/Net/SMTP.php | 198 ++++++++++++++++++++++++++++++++++++----------- 9 files changed, 481 insertions(+), 197 deletions(-) mode change 100644 => 100755 extlib/Mail.php mode change 100644 => 100755 extlib/Mail/RFC822.php mode change 100644 => 100755 extlib/Mail/mail.php mode change 100644 => 100755 extlib/Mail/mock.php mode change 100644 => 100755 extlib/Mail/null.php mode change 100644 => 100755 extlib/Mail/sendmail.php mode change 100644 => 100755 extlib/Mail/smtp.php mode change 100644 => 100755 extlib/Mail/smtpmx.php diff --git a/extlib/Mail.php b/extlib/Mail.php old mode 100644 new mode 100755 index 3a0c1a9cb..75132ac2a --- a/extlib/Mail.php +++ b/extlib/Mail.php @@ -1,22 +1,47 @@ | -// +----------------------------------------------------------------------+ -// -// $Id: Mail.php,v 1.17 2006/09/15 03:41:18 jon Exp $ +/** + * PEAR's Mail:: interface. + * + * PHP versions 4 and 5 + * + * LICENSE: + * + * Copyright (c) 2002-2007, Richard Heyes + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * o Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * o Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * o The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @category Mail + * @package Mail + * @author Chuck Hagenbuch + * @copyright 1997-2010 Chuck Hagenbuch + * @license http://opensource.org/licenses/bsd-license.php New BSD License + * @version CVS: $Id: Mail.php 294747 2010-02-08 08:18:33Z clockwerx $ + * @link http://pear.php.net/package/Mail/ + */ require_once 'PEAR.php'; @@ -26,7 +51,7 @@ require_once 'PEAR.php'; * useful in multiple mailer backends. * * @access public - * @version $Revision: 1.17 $ + * @version $Revision: 294747 $ * @package Mail */ class Mail @@ -82,12 +107,20 @@ class Mail * @return mixed Returns true on success, or a PEAR_Error * containing a descriptive error message on * failure. + * * @access public * @deprecated use Mail_mail::send instead */ function send($recipients, $headers, $body) { - $this->_sanitizeHeaders($headers); + if (!is_array($headers)) { + return PEAR::raiseError('$headers must be an array'); + } + + $result = $this->_sanitizeHeaders($headers); + if (is_a($result, 'PEAR_Error')) { + return $result; + } // if we're passed an array of recipients, implode it. if (is_array($recipients)) { @@ -103,10 +136,9 @@ class Mail } // flatten the headers out. - list(,$text_headers) = Mail::prepareHeaders($headers); + list(, $text_headers) = Mail::prepareHeaders($headers); return mail($recipients, $subject, $body, $text_headers); - } /** @@ -151,9 +183,9 @@ class Mail foreach ($headers as $key => $value) { if (strcasecmp($key, 'From') === 0) { include_once 'Mail/RFC822.php'; - $parser = &new Mail_RFC822(); + $parser = new Mail_RFC822(); $addresses = $parser->parseAddressList($value, 'localhost', false); - if (PEAR::isError($addresses)) { + if (is_a($addresses, 'PEAR_Error')) { return $addresses; } @@ -221,7 +253,7 @@ class Mail $addresses = Mail_RFC822::parseAddressList($recipients, 'localhost', false); // If parseAddressList() returned a PEAR_Error object, just return it. - if (PEAR::isError($addresses)) { + if (is_a($addresses, 'PEAR_Error')) { return $addresses; } diff --git a/extlib/Mail/RFC822.php b/extlib/Mail/RFC822.php old mode 100644 new mode 100755 index 8714df2e2..58d36465c --- a/extlib/Mail/RFC822.php +++ b/extlib/Mail/RFC822.php @@ -1,37 +1,48 @@ | -// | Chuck Hagenbuch | -// +-----------------------------------------------------------------------+ +/** + * RFC 822 Email address list validation Utility + * + * PHP versions 4 and 5 + * + * LICENSE: + * + * Copyright (c) 2001-2010, Richard Heyes + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * o Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * o Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * o The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @category Mail + * @package Mail + * @author Richard Heyes + * @author Chuck Hagenbuch * @author Chuck Hagenbuch - * @version $Revision: 1.24 $ + * @version $Revision: 294749 $ * @license BSD * @package Mail */ @@ -635,8 +646,8 @@ class Mail_RFC822 { $comment = $this->_splitCheck($parts, ')'); $comments[] = $comment; - // +1 is for the trailing ) - $_mailbox = substr($_mailbox, strpos($_mailbox, $comment)+strlen($comment)+1); + // +2 is for the brackets + $_mailbox = substr($_mailbox, strpos($_mailbox, '('.$comment)+strlen($comment)+2); } else { break; } diff --git a/extlib/Mail/mail.php b/extlib/Mail/mail.php old mode 100644 new mode 100755 index b13d69565..a8b4b5dbe --- a/extlib/Mail/mail.php +++ b/extlib/Mail/mail.php @@ -1,27 +1,52 @@ | -// +----------------------------------------------------------------------+ -// -// $Id: mail.php,v 1.20 2007/10/06 17:00:00 chagenbu Exp $ +/** + * internal PHP-mail() implementation of the PEAR Mail:: interface. + * + * PHP versions 4 and 5 + * + * LICENSE: + * + * Copyright (c) 2010 Chuck Hagenbuch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * o Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * o Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * o The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @category Mail + * @package Mail + * @author Chuck Hagenbuch + * @copyright 2010 Chuck Hagenbuch + * @license http://opensource.org/licenses/bsd-license.php New BSD License + * @version CVS: $Id: mail.php 294747 2010-02-08 08:18:33Z clockwerx $ + * @link http://pear.php.net/package/Mail/ + */ /** * internal PHP-mail() implementation of the PEAR Mail:: interface. * @package Mail - * @version $Revision: 1.20 $ + * @version $Revision: 294747 $ */ class Mail_mail extends Mail { diff --git a/extlib/Mail/mock.php b/extlib/Mail/mock.php old mode 100644 new mode 100755 index 971dae6a0..61570ba40 --- a/extlib/Mail/mock.php +++ b/extlib/Mail/mock.php @@ -1,29 +1,53 @@ | -// +----------------------------------------------------------------------+ -// -// $Id: mock.php,v 1.1 2007/12/08 17:57:54 chagenbu Exp $ -// +/** + * Mock implementation + * + * PHP versions 4 and 5 + * + * LICENSE: + * + * Copyright (c) 2010 Chuck Hagenbuch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * o Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * o Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * o The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @category Mail + * @package Mail + * @author Chuck Hagenbuch + * @copyright 2010 Chuck Hagenbuch + * @license http://opensource.org/licenses/bsd-license.php New BSD License + * @version CVS: $Id: mock.php 294747 2010-02-08 08:18:33Z clockwerx $ + * @link http://pear.php.net/package/Mail/ + */ /** * Mock implementation of the PEAR Mail:: interface for testing. * @access public * @package Mail - * @version $Revision: 1.1 $ + * @version $Revision: 294747 $ */ class Mail_mock extends Mail { diff --git a/extlib/Mail/null.php b/extlib/Mail/null.php old mode 100644 new mode 100755 index 982bfa45b..f8d58272e --- a/extlib/Mail/null.php +++ b/extlib/Mail/null.php @@ -1,29 +1,53 @@ | -// +----------------------------------------------------------------------+ -// -// $Id: null.php,v 1.2 2004/04/06 05:19:03 jon Exp $ -// +/** + * Null implementation of the PEAR Mail interface + * + * PHP versions 4 and 5 + * + * LICENSE: + * + * Copyright (c) 2010 Phil Kernick + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * o Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * o Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * o The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @category Mail + * @package Mail + * @author Phil Kernick + * @copyright 2010 Phil Kernick + * @license http://opensource.org/licenses/bsd-license.php New BSD License + * @version CVS: $Id: null.php 294747 2010-02-08 08:18:33Z clockwerx $ + * @link http://pear.php.net/package/Mail/ + */ /** * Null implementation of the PEAR Mail:: interface. * @access public * @package Mail - * @version $Revision: 1.2 $ + * @version $Revision: 294747 $ */ class Mail_null extends Mail { diff --git a/extlib/Mail/sendmail.php b/extlib/Mail/sendmail.php old mode 100644 new mode 100755 index cd248e61d..b056575e9 --- a/extlib/Mail/sendmail.php +++ b/extlib/Mail/sendmail.php @@ -20,7 +20,7 @@ * Sendmail implementation of the PEAR Mail:: interface. * @access public * @package Mail - * @version $Revision: 1.19 $ + * @version $Revision: 294744 $ */ class Mail_sendmail extends Mail { @@ -117,7 +117,7 @@ class Mail_sendmail extends Mail { if (is_a($recipients, 'PEAR_Error')) { return $recipients; } - $recipients = escapeShellCmd(implode(' ', $recipients)); + $recipients = implode(' ', array_map('escapeshellarg', $recipients)); $headerElements = $this->prepareHeaders($headers); if (is_a($headerElements, 'PEAR_Error')) { @@ -141,7 +141,8 @@ class Mail_sendmail extends Mail { return PEAR::raiseError('From address specified with dangerous characters.'); } - $from = escapeShellCmd($from); + $from = escapeshellarg($from); // Security bug #16200 + $mail = @popen($this->sendmail_path . (!empty($this->sendmail_args) ? ' ' . $this->sendmail_args : '') . " -f$from -- $recipients", 'w'); if (!$mail) { return PEAR::raiseError('Failed to open sendmail [' . $this->sendmail_path . '] for execution.'); diff --git a/extlib/Mail/smtp.php b/extlib/Mail/smtp.php old mode 100644 new mode 100755 index baf3a962b..52ea60208 --- a/extlib/Mail/smtp.php +++ b/extlib/Mail/smtp.php @@ -1,21 +1,48 @@ | -// | Jon Parise | -// +----------------------------------------------------------------------+ +/** + * SMTP implementation of the PEAR Mail interface. Requires the Net_SMTP class. + * + * PHP versions 4 and 5 + * + * LICENSE: + * + * Copyright (c) 2010, Chuck Hagenbuch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * o Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * o Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * o The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @category HTTP + * @package HTTP_Request + * @author Jon Parise + * @author Chuck Hagenbuch + * @copyright 2010 Chuck Hagenbuch + * @license http://opensource.org/licenses/bsd-license.php New BSD License + * @version CVS: $Id: smtp.php 294747 2010-02-08 08:18:33Z clockwerx $ + * @link http://pear.php.net/package/Mail/ + */ /** Error: Failed to create a Net_SMTP object */ define('PEAR_MAIL_SMTP_ERROR_CREATE', 10000); @@ -42,7 +69,7 @@ define('PEAR_MAIL_SMTP_ERROR_DATA', 10006); * SMTP implementation of the PEAR Mail interface. Requires the Net_SMTP class. * @access public * @package Mail - * @version $Revision: 1.33 $ + * @version $Revision: 294747 $ */ class Mail_smtp extends Mail { @@ -278,6 +305,16 @@ class Mail_smtp extends Mail { /* Send the message's headers and the body as SMTP data. */ $res = $this->_smtp->data($textHeaders . "\r\n\r\n" . $body); + list(,$args) = $this->_smtp->getResponse(); + + if (preg_match("/Ok: queued as (.*)/", $args, $queued)) { + $this->queued_as = $queued[1]; + } + + /* we need the greeting; from it we can extract the authorative name of the mail server we've really connected to. + * ideal if we're connecting to a round-robin of relay servers and need to track which exact one took the email */ + $this->greeting = $this->_smtp->getGreeting(); + if (is_a($res, 'PEAR_Error')) { $error = $this->_error('Failed to send data', $res); $this->_smtp->rset(); diff --git a/extlib/Mail/smtpmx.php b/extlib/Mail/smtpmx.php old mode 100644 new mode 100755 index 9d2dccfb1..f0b694086 --- a/extlib/Mail/smtpmx.php +++ b/extlib/Mail/smtpmx.php @@ -8,19 +8,43 @@ * * PHP versions 4 and 5 * - * LICENSE: This source file is subject to version 3.0 of the PHP license - * that is available through the world-wide-web at the following URI: - * http://www.php.net/license/3_0.txt. If you did not receive a copy of - * the PHP License and are unable to obtain it through the web, please - * send a note to license@php.net so we can mail you a copy immediately. + * LICENSE: + * + * Copyright (c) 2010, gERD Schaufelberger + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * o Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * o Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * o The names of the authors may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * @category Mail * @package Mail_smtpmx * @author gERD Schaufelberger - * @copyright 1997-2005 The PHP Group - * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: smtpmx.php,v 1.2 2007/10/06 17:00:00 chagenbu Exp $ - * @see Mail + * @copyright 2010 gERD Schaufelberger + * @license http://opensource.org/licenses/bsd-license.php New BSD License + * @version CVS: $Id: smtpmx.php 294747 2010-02-08 08:18:33Z clockwerx $ + * @link http://pear.php.net/package/Mail/ */ require_once 'Net/SMTP.php'; @@ -32,7 +56,7 @@ require_once 'Net/SMTP.php'; * @access public * @author gERD Schaufelberger * @package Mail - * @version $Revision: 1.2 $ + * @version $Revision: 294747 $ */ class Mail_smtpmx extends Mail { diff --git a/extlib/Net/SMTP.php b/extlib/Net/SMTP.php index d632258d6..ea4b55e8d 100644 --- a/extlib/Net/SMTP.php +++ b/extlib/Net/SMTP.php @@ -18,7 +18,7 @@ // | Damian Alejandro Fernandez Sosa | // +----------------------------------------------------------------------+ // -// $Id: SMTP.php,v 1.63 2008/06/10 05:39:12 jon Exp $ +// $Id: SMTP.php 293948 2010-01-24 21:46:00Z jon $ require_once 'PEAR.php'; require_once 'Net/Socket.php'; @@ -91,6 +91,13 @@ class Net_SMTP */ var $_debug = false; + /** + * Debug output handler. + * @var callback + * @access private + */ + var $_debug_handler = null; + /** * The socket resource being used to connect to the SMTP server. * @var resource @@ -112,6 +119,13 @@ class Net_SMTP */ var $_arguments = array(); + /** + * Stores the SMTP server's greeting string. + * @var string + * @access private + */ + var $_greeting = null; + /** * Stores detected features of the SMTP server. * @var array @@ -172,9 +186,30 @@ class Net_SMTP * @access public * @since 1.1.0 */ - function setDebug($debug) + function setDebug($debug, $handler = null) { $this->_debug = $debug; + $this->_debug_handler = $handler; + } + + /** + * Write the given debug text to the current debug output handler. + * + * @param string $message Debug mesage text. + * + * @access private + * @since 1.3.3 + */ + function _debug($message) + { + if ($this->_debug) { + if ($this->_debug_handler) { + call_user_func_array($this->_debug_handler, + array(&$this, $message)); + } else { + echo "DEBUG: $message\n"; + } + } } /** @@ -189,13 +224,12 @@ class Net_SMTP */ function _send($data) { - if ($this->_debug) { - echo "DEBUG: Send: $data\n"; - } + $this->_debug("Send: $data"); - if (PEAR::isError($error = $this->_socket->write($data))) { - return PEAR::raiseError('Failed to write to socket: ' . - $error->getMessage()); + $error = $this->_socket->write($data); + if ($error === false || PEAR::isError($error)) { + $msg = ($error) ? $error->getMessage() : "unknown error"; + return PEAR::raiseError("Failed to write to socket: $msg"); } return true; @@ -262,9 +296,7 @@ class Net_SMTP for ($i = 0; $i <= $this->_pipelined_commands; $i++) { while ($line = $this->_socket->readLine()) { - if ($this->_debug) { - echo "DEBUG: Recv: $line\n"; - } + $this->_debug("Recv: $line"); /* If we receive an empty line, the connection has been closed. */ if (empty($line)) { @@ -319,6 +351,20 @@ class Net_SMTP return array($this->_code, join("\n", $this->_arguments)); } + /** + * Return the SMTP server's greeting string. + * + * @return string A string containing the greeting string, or null if a + * greeting has not been received. + * + * @access public + * @since 1.3.3 + */ + function getGreeting() + { + return $this->_greeting; + } + /** * Attempt to connect to the SMTP server. * @@ -334,6 +380,7 @@ class Net_SMTP */ function connect($timeout = null, $persistent = false) { + $this->_greeting = null; $result = $this->_socket->connect($this->host, $this->port, $persistent, $timeout); if (PEAR::isError($result)) { @@ -344,6 +391,10 @@ class Net_SMTP if (PEAR::isError($error = $this->_parseResponse(220))) { return $error; } + + /* Extract and store a copy of the server's greeting string. */ + list(, $this->_greeting) = $this->getResponse(); + if (PEAR::isError($error = $this->_negotiate())) { return $error; } @@ -452,40 +503,43 @@ class Net_SMTP * @param string The password to authenticate with. * @param string The requested authentication method. If none is * specified, the best supported method will be used. + * @param bool Flag indicating whether or not TLS should be attempted. * * @return mixed Returns a PEAR_Error with an error message on any * kind of failure, or true on success. * @access public * @since 1.0 */ - function auth($uid, $pwd , $method = '') + function auth($uid, $pwd , $method = '', $tls = true) { - if (empty($this->_esmtp['AUTH'])) { - if (version_compare(PHP_VERSION, '5.1.0', '>=')) { - if (!isset($this->_esmtp['STARTTLS'])) { - return PEAR::raiseError('SMTP server does not support authentication'); - } - if (PEAR::isError($result = $this->_put('STARTTLS'))) { - return $result; - } - if (PEAR::isError($result = $this->_parseResponse(220))) { - return $result; - } - if (PEAR::isError($result = $this->_socket->enableCrypto(true, STREAM_CRYPTO_METHOD_TLS_CLIENT))) { - return $result; - } elseif ($result !== true) { - return PEAR::raiseError('STARTTLS failed'); - } - - /* Send EHLO again to recieve the AUTH string from the - * SMTP server. */ - $this->_negotiate(); - if (empty($this->_esmtp['AUTH'])) { - return PEAR::raiseError('SMTP server does not support authentication'); - } - } else { - return PEAR::raiseError('SMTP server does not support authentication'); + /* We can only attempt a TLS connection if one has been requested, + * we're running PHP 5.1.0 or later, have access to the OpenSSL + * extension, are connected to an SMTP server which supports the + * STARTTLS extension, and aren't already connected over a secure + * (SSL) socket connection. */ + if ($tls && version_compare(PHP_VERSION, '5.1.0', '>=') && + extension_loaded('openssl') && isset($this->_esmtp['STARTTLS']) && + strncasecmp($this->host, 'ssl://', 6) !== 0) { + /* Start the TLS connection attempt. */ + if (PEAR::isError($result = $this->_put('STARTTLS'))) { + return $result; + } + if (PEAR::isError($result = $this->_parseResponse(220))) { + return $result; + } + if (PEAR::isError($result = $this->_socket->enableCrypto(true, STREAM_CRYPTO_METHOD_TLS_CLIENT))) { + return $result; + } elseif ($result !== true) { + return PEAR::raiseError('STARTTLS failed'); } + + /* Send EHLO again to recieve the AUTH string from the + * SMTP server. */ + $this->_negotiate(); + } + + if (empty($this->_esmtp['AUTH'])) { + return PEAR::raiseError('SMTP server does not support authentication'); } /* If no method has been specified, get the name of the best @@ -844,30 +898,51 @@ class Net_SMTP /** * Send the DATA command. * - * @param string $data The message body to send. + * @param mixed $data The message data, either as a string or an open + * file resource. + * @param string $headers The message headers. If $headers is provided, + * $data is assumed to contain only body data. * * @return mixed Returns a PEAR_Error with an error message on any * kind of failure, or true on success. * @access public * @since 1.0 */ - function data($data) + function data($data, $headers = null) { + /* Verify that $data is a supported type. */ + if (!is_string($data) && !is_resource($data)) { + return PEAR::raiseError('Expected a string or file resource'); + } + /* RFC 1870, section 3, subsection 3 states "a value of zero * indicates that no fixed maximum message size is in force". * Furthermore, it says that if "the parameter is omitted no * information is conveyed about the server's fixed maximum * message size". */ if (isset($this->_esmtp['SIZE']) && ($this->_esmtp['SIZE'] > 0)) { - if (strlen($data) >= $this->_esmtp['SIZE']) { + /* Start by considering the size of the optional headers string. + * We also account for the addition 4 character "\r\n\r\n" + * separator sequence. */ + $size = (is_null($headers)) ? 0 : strlen($headers) + 4; + + if (is_resource($data)) { + $stat = fstat($data); + if ($stat === false) { + return PEAR::raiseError('Failed to get file size'); + } + $size += $stat['size']; + } else { + $size += strlen($data); + } + + if ($size >= $this->_esmtp['SIZE']) { $this->disconnect(); - return PEAR::raiseError('Message size excedes the server limit'); + return PEAR::raiseError('Message size exceeds server limit'); } } - /* Quote the data based on the SMTP standards. */ - $this->quotedata($data); - + /* Initiate the DATA command. */ if (PEAR::isError($error = $this->_put('DATA'))) { return $error; } @@ -875,9 +950,40 @@ class Net_SMTP return $error; } - if (PEAR::isError($result = $this->_send($data . "\r\n.\r\n"))) { - return $result; + /* If we have a separate headers string, send it first. */ + if (!is_null($headers)) { + $this->quotedata($headers); + if (PEAR::isError($result = $this->_send($headers . "\r\n\r\n"))) { + return $result; + } } + + /* Now we can send the message body data. */ + if (is_resource($data)) { + /* Stream the contents of the file resource out over our socket + * connection, line by line. Each line must be run through the + * quoting routine. */ + while ($line = fgets($data, 1024)) { + $this->quotedata($line); + if (PEAR::isError($result = $this->_send($line))) { + return $result; + } + } + + /* Finally, send the DATA terminator sequence. */ + if (PEAR::isError($result = $this->_send("\r\n.\r\n"))) { + return $result; + } + } else { + /* Just send the entire quoted string followed by the DATA + * terminator. */ + $this->quotedata($data); + if (PEAR::isError($result = $this->_send($data . "\r\n.\r\n"))) { + return $result; + } + } + + /* Verify that the data was successfully received by the server. */ if (PEAR::isError($error = $this->_parseResponse(250, $this->pipelining))) { return $error; } -- cgit v1.2.3 From ecf9dc6d1b5a068b2e5ba23debf2b7bec04d3d2c Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 3 May 2010 21:25:10 -0400 Subject: use the new maxNoticeLength and maxUrlLength functionality introduced in commit 14adb7cc41e3d5d4e543c1f13f7a60d3cadb5c71 --- plugins/ClientSideShorten/ClientSideShortenPlugin.php | 4 +++- plugins/ClientSideShorten/shorten.js | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/plugins/ClientSideShorten/ClientSideShortenPlugin.php b/plugins/ClientSideShorten/ClientSideShortenPlugin.php index ba1f7d3a7..454bedb08 100644 --- a/plugins/ClientSideShorten/ClientSideShortenPlugin.php +++ b/plugins/ClientSideShorten/ClientSideShortenPlugin.php @@ -51,8 +51,10 @@ class ClientSideShortenPlugin extends Plugin } function onEndShowScripts($action){ - $action->inlineScript('var Notice_maxContent = ' . Notice::maxContent()); if (common_logged_in()) { + $user = common_current_user(); + $action->inlineScript('var maxNoticeLength = ' . User_urlshortener_prefs::maxNoticeLength($user)); + $action->inlineScript('var maxUrlLength = ' . User_urlshortener_prefs::maxUrlLength($user)); $action->script('plugins/ClientSideShorten/shorten.js'); } } diff --git a/plugins/ClientSideShorten/shorten.js b/plugins/ClientSideShorten/shorten.js index 856c7f05f..bdffb81e2 100644 --- a/plugins/ClientSideShorten/shorten.js +++ b/plugins/ClientSideShorten/shorten.js @@ -31,10 +31,21 @@ })(jQuery,'smartkeypress'); + function longestWordInString(string) + { + var words = string.split(/\s/); + var longestWord = 0; + for(var i=0;i longestWord) longestWord = words[i].length; + return longestWord; + } + function shorten() { - $noticeDataText = $('#'+SN.C.S.NoticeDataText); - if(Notice_maxContent > 0 && $noticeDataText.val().length > Notice_maxContent){ + var $noticeDataText = $('#'+SN.C.S.NoticeDataText); + var noticeText = $noticeDataText.val(); + + if(noticeText.length > maxNoticeLength || longestWordInString(noticeText) > maxUrlLength) { var original = $noticeDataText.val(); shortenAjax = $.ajax({ url: $('address .url')[0].href+'/plugins/ClientSideShorten/shorten', -- cgit v1.2.3 From f803c1fbfecbe31d30441c695e44b7f62b02cebf Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 4 May 2010 12:31:55 -0700 Subject: Add Emacs Identica-mode to notice sources --- db/notice_source.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/db/notice_source.sql b/db/notice_source.sql index 50660e948..f9c525679 100644 --- a/db/notice_source.sql +++ b/db/notice_source.sql @@ -12,7 +12,8 @@ VALUES ('deskbar','Deskbar-Applet','http://www.gnome.org/projects/deskbar-applet/', now()), ('Do','Gnome Do','http://do.davebsd.com/wiki/index.php?title=Microblog_Plugin', now()), ('drupal','Drupal','http://drupal.org/', now()), - ('eventbox','EventBox','http://thecosmicmachine.com/eventbox/ ', now()), + ('eventbox','EventBox','http://thecosmicmachine.com/eventbox/', now()), + ('identica-mode','Emacs Identica-mode','http://nongnu.org/identica-mode/', now()), ('Facebook','Facebook','http://apps.facebook.com/identica/', now()), ('feed2omb','feed2omb','http://projects.ciarang.com/p/feed2omb/', now()), ('get2gnow', 'get2gnow', 'http://uberchicgeekchick.com/?projects=get2gnow', now()), -- cgit v1.2.3 From ddc7811a7b412c9c3c4b6bfb9350dd18a62fdf51 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 5 May 2010 16:52:31 -0700 Subject: Move XMPPHP from core extlibs to Xmpp plugin extlibs --- extlib/XMPPHP/BOSH.php | 188 -------- extlib/XMPPHP/Exception.php | 41 -- extlib/XMPPHP/Log.php | 119 ----- extlib/XMPPHP/Roster.php | 163 ------- extlib/XMPPHP/XMLObj.php | 158 ------- extlib/XMPPHP/XMLStream.php | 763 ------------------------------- extlib/XMPPHP/XMPP.php | 432 ----------------- extlib/XMPPHP/XMPP_Old.php | 114 ----- plugins/Xmpp/XmppPlugin.php | 4 +- plugins/Xmpp/extlib/XMPPHP/BOSH.php | 188 ++++++++ plugins/Xmpp/extlib/XMPPHP/Exception.php | 41 ++ plugins/Xmpp/extlib/XMPPHP/Log.php | 119 +++++ plugins/Xmpp/extlib/XMPPHP/Roster.php | 163 +++++++ plugins/Xmpp/extlib/XMPPHP/XMLObj.php | 158 +++++++ plugins/Xmpp/extlib/XMPPHP/XMLStream.php | 763 +++++++++++++++++++++++++++++++ plugins/Xmpp/extlib/XMPPHP/XMPP.php | 432 +++++++++++++++++ plugins/Xmpp/extlib/XMPPHP/XMPP_Old.php | 114 +++++ 17 files changed, 1979 insertions(+), 1981 deletions(-) delete mode 100644 extlib/XMPPHP/BOSH.php delete mode 100644 extlib/XMPPHP/Exception.php delete mode 100644 extlib/XMPPHP/Log.php delete mode 100644 extlib/XMPPHP/Roster.php delete mode 100644 extlib/XMPPHP/XMLObj.php delete mode 100644 extlib/XMPPHP/XMLStream.php delete mode 100644 extlib/XMPPHP/XMPP.php delete mode 100644 extlib/XMPPHP/XMPP_Old.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/BOSH.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/Exception.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/Log.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/Roster.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/XMLObj.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/XMLStream.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/XMPP.php create mode 100644 plugins/Xmpp/extlib/XMPPHP/XMPP_Old.php diff --git a/extlib/XMPPHP/BOSH.php b/extlib/XMPPHP/BOSH.php deleted file mode 100644 index befaf60a7..000000000 --- a/extlib/XMPPHP/BOSH.php +++ /dev/null @@ -1,188 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** XMPPHP_XMLStream */ -require_once dirname(__FILE__) . "/XMPP.php"; - -/** - * XMPPHP Main Class - * - * @category xmpphp - * @package XMPPHP - * @author Nathanael C. Fritz - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - * @version $Id$ - */ -class XMPPHP_BOSH extends XMPPHP_XMPP { - - protected $rid; - protected $sid; - protected $http_server; - protected $http_buffer = Array(); - protected $session = false; - - public function connect($server, $wait='1', $session=false) { - $this->http_server = $server; - $this->use_encryption = false; - $this->session = $session; - - $this->rid = 3001; - $this->sid = null; - if($session) - { - $this->loadSession(); - } - if(!$this->sid) { - $body = $this->__buildBody(); - $body->addAttribute('hold','1'); - $body->addAttribute('to', $this->host); - $body->addAttribute('route', "xmpp:{$this->host}:{$this->port}"); - $body->addAttribute('secure','true'); - $body->addAttribute('xmpp:version','1.6', 'urn:xmpp:xbosh'); - $body->addAttribute('wait', strval($wait)); - $body->addAttribute('ack','1'); - $body->addAttribute('xmlns:xmpp','urn:xmpp:xbosh'); - $buff = ""; - xml_parse($this->parser, $buff, false); - $response = $this->__sendBody($body); - $rxml = new SimpleXMLElement($response); - $this->sid = $rxml['sid']; - - } else { - $buff = ""; - xml_parse($this->parser, $buff, false); - } - } - - public function __sendBody($body=null, $recv=true) { - if(!$body) { - $body = $this->__buildBody(); - } - $ch = curl_init($this->http_server); - curl_setopt($ch, CURLOPT_HEADER, 0); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, $body->asXML()); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); - $header = array('Accept-Encoding: gzip, deflate','Content-Type: text/xml; charset=utf-8'); - curl_setopt($ch, CURLOPT_HTTPHEADER, $header ); - curl_setopt($ch, CURLOPT_VERBOSE, 0); - $output = ''; - if($recv) { - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - $output = curl_exec($ch); - $this->http_buffer[] = $output; - } - curl_close($ch); - return $output; - } - - public function __buildBody($sub=null) { - $xml = new SimpleXMLElement(""); - $xml->addAttribute('content', 'text/xml; charset=utf-8'); - $xml->addAttribute('rid', $this->rid); - $this->rid += 1; - if($this->sid) $xml->addAttribute('sid', $this->sid); - #if($this->sid) $xml->addAttribute('xmlns', 'http://jabber.org/protocol/httpbind'); - $xml->addAttribute('xml:lang', 'en'); - if($sub) { // ok, so simplexml is lame - $p = dom_import_simplexml($xml); - $c = dom_import_simplexml($sub); - $cn = $p->ownerDocument->importNode($c, true); - $p->appendChild($cn); - $xml = simplexml_import_dom($p); - } - return $xml; - } - - public function __process() { - if($this->http_buffer) { - $this->__parseBuffer(); - } else { - $this->__sendBody(); - $this->__parseBuffer(); - } - } - - public function __parseBuffer() { - while ($this->http_buffer) { - $idx = key($this->http_buffer); - $buffer = $this->http_buffer[$idx]; - unset($this->http_buffer[$idx]); - if($buffer) { - $xml = new SimpleXMLElement($buffer); - $children = $xml->xpath('child::node()'); - foreach ($children as $child) { - $buff = $child->asXML(); - $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); - xml_parse($this->parser, $buff, false); - } - } - } - } - - public function send($msg) { - $this->log->log("SEND: $msg", XMPPHP_Log::LEVEL_VERBOSE); - $msg = new SimpleXMLElement($msg); - #$msg->addAttribute('xmlns', 'jabber:client'); - $this->__sendBody($this->__buildBody($msg), true); - #$this->__parseBuffer(); - } - - public function reset() { - $this->xml_depth = 0; - unset($this->xmlobj); - $this->xmlobj = array(); - $this->setupParser(); - #$this->send($this->stream_start); - $body = $this->__buildBody(); - $body->addAttribute('to', $this->host); - $body->addAttribute('xmpp:restart', 'true', 'urn:xmpp:xbosh'); - $buff = ""; - $response = $this->__sendBody($body); - $this->been_reset = true; - xml_parse($this->parser, $buff, false); - } - - public function loadSession() { - if(isset($_SESSION['XMPPHP_BOSH_RID'])) $this->rid = $_SESSION['XMPPHP_BOSH_RID']; - if(isset($_SESSION['XMPPHP_BOSH_SID'])) $this->sid = $_SESSION['XMPPHP_BOSH_SID']; - if(isset($_SESSION['XMPPHP_BOSH_authed'])) $this->authed = $_SESSION['XMPPHP_BOSH_authed']; - if(isset($_SESSION['XMPPHP_BOSH_jid'])) $this->jid = $_SESSION['XMPPHP_BOSH_jid']; - if(isset($_SESSION['XMPPHP_BOSH_fulljid'])) $this->fulljid = $_SESSION['XMPPHP_BOSH_fulljid']; - } - - public function saveSession() { - $_SESSION['XMPPHP_BOSH_RID'] = (string) $this->rid; - $_SESSION['XMPPHP_BOSH_SID'] = (string) $this->sid; - $_SESSION['XMPPHP_BOSH_authed'] = (boolean) $this->authed; - $_SESSION['XMPPHP_BOSH_jid'] = (string) $this->jid; - $_SESSION['XMPPHP_BOSH_fulljid'] = (string) $this->fulljid; - } -} diff --git a/extlib/XMPPHP/Exception.php b/extlib/XMPPHP/Exception.php deleted file mode 100644 index da59bc791..000000000 --- a/extlib/XMPPHP/Exception.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** - * XMPPHP Exception - * - * @category xmpphp - * @package XMPPHP - * @author Nathanael C. Fritz - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - * @version $Id$ - */ -class XMPPHP_Exception extends Exception { -} diff --git a/extlib/XMPPHP/Log.php b/extlib/XMPPHP/Log.php deleted file mode 100644 index a9bce3d84..000000000 --- a/extlib/XMPPHP/Log.php +++ /dev/null @@ -1,119 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** - * XMPPHP Log - * - * @package XMPPHP - * @author Nathanael C. Fritz - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - * @version $Id$ - */ -class XMPPHP_Log { - - const LEVEL_ERROR = 0; - const LEVEL_WARNING = 1; - const LEVEL_INFO = 2; - const LEVEL_DEBUG = 3; - const LEVEL_VERBOSE = 4; - - /** - * @var array - */ - protected $data = array(); - - /** - * @var array - */ - protected $names = array('ERROR', 'WARNING', 'INFO', 'DEBUG', 'VERBOSE'); - - /** - * @var integer - */ - protected $runlevel; - - /** - * @var boolean - */ - protected $printout; - - /** - * Constructor - * - * @param boolean $printout - * @param string $runlevel - */ - public function __construct($printout = false, $runlevel = self::LEVEL_INFO) { - $this->printout = (boolean)$printout; - $this->runlevel = (int)$runlevel; - } - - /** - * Add a message to the log data array - * If printout in this instance is set to true, directly output the message - * - * @param string $msg - * @param integer $runlevel - */ - public function log($msg, $runlevel = self::LEVEL_INFO) { - $time = time(); - #$this->data[] = array($this->runlevel, $msg, $time); - if($this->printout and $runlevel <= $this->runlevel) { - $this->writeLine($msg, $runlevel, $time); - } - } - - /** - * Output the complete log. - * Log will be cleared if $clear = true - * - * @param boolean $clear - * @param integer $runlevel - */ - public function printout($clear = true, $runlevel = null) { - if($runlevel === null) { - $runlevel = $this->runlevel; - } - foreach($this->data as $data) { - if($runlevel <= $data[0]) { - $this->writeLine($data[1], $runlevel, $data[2]); - } - } - if($clear) { - $this->data = array(); - } - } - - protected function writeLine($msg, $runlevel, $time) { - //echo date('Y-m-d H:i:s', $time)." [".$this->names[$runlevel]."]: ".$msg."\n"; - echo $time." [".$this->names[$runlevel]."]: ".$msg."\n"; - flush(); - } -} diff --git a/extlib/XMPPHP/Roster.php b/extlib/XMPPHP/Roster.php deleted file mode 100644 index 2e459e2a2..000000000 --- a/extlib/XMPPHP/Roster.php +++ /dev/null @@ -1,163 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** - * XMPPHP Roster Object - * - * @category xmpphp - * @package XMPPHP - * @author Nathanael C. Fritz - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - * @version $Id$ - */ - -class Roster { - /** - * Roster array, handles contacts and presence. Indexed by jid. - * Contains array with potentially two indexes 'contact' and 'presence' - * @var array - */ - protected $roster_array = array(); - /** - * Constructor - * - */ - public function __construct($roster_array = array()) { - if ($this->verifyRoster($roster_array)) { - $this->roster_array = $roster_array; //Allow for prepopulation with existing roster - } else { - $this->roster_array = array(); - } - } - - /** - * - * Check that a given roster array is of a valid structure (empty is still valid) - * - * @param array $roster_array - */ - protected function verifyRoster($roster_array) { - #TODO once we know *what* a valid roster array looks like - return True; - } - - /** - * - * Add given contact to roster - * - * @param string $jid - * @param string $subscription - * @param string $name - * @param array $groups - */ - public function addContact($jid, $subscription, $name='', $groups=array()) { - $contact = array('jid' => $jid, 'subscription' => $subscription, 'name' => $name, 'groups' => $groups); - if ($this->isContact($jid)) { - $this->roster_array[$jid]['contact'] = $contact; - } else { - $this->roster_array[$jid] = array('contact' => $contact); - } - } - - /** - * - * Retrieve contact via jid - * - * @param string $jid - */ - public function getContact($jid) { - if ($this->isContact($jid)) { - return $this->roster_array[$jid]['contact']; - } - } - - /** - * - * Discover if a contact exists in the roster via jid - * - * @param string $jid - */ - public function isContact($jid) { - return (array_key_exists($jid, $this->roster_array)); - } - - /** - * - * Set presence - * - * @param string $presence - * @param integer $priority - * @param string $show - * @param string $status - */ - public function setPresence($presence, $priority, $show, $status) { - list($jid, $resource) = split("/", $presence); - if ($show != 'unavailable') { - if (!$this->isContact($jid)) { - $this->addContact($jid, 'not-in-roster'); - } - $resource = $resource ? $resource : ''; - $this->roster_array[$jid]['presence'][$resource] = array('priority' => $priority, 'show' => $show, 'status' => $status); - } else { //Nuke unavailable resources to save memory - unset($this->roster_array[$jid]['resource'][$resource]); - } - } - - /* - * - * Return best presence for jid - * - * @param string $jid - */ - public function getPresence($jid) { - $split = split("/", $jid); - $jid = $split[0]; - if($this->isContact($jid)) { - $current = array('resource' => '', 'active' => '', 'priority' => -129, 'show' => '', 'status' => ''); //Priorities can only be -128 = 127 - foreach($this->roster_array[$jid]['presence'] as $resource => $presence) { - //Highest available priority or just highest priority - if ($presence['priority'] > $current['priority'] and (($presence['show'] == "chat" or $presence['show'] == "available") or ($current['show'] != "chat" or $current['show'] != "available"))) { - $current = $presence; - $current['resource'] = $resource; - } - } - return $current; - } - } - /** - * - * Get roster - * - */ - public function getRoster() { - return $this->roster_array; - } -} -?> diff --git a/extlib/XMPPHP/XMLObj.php b/extlib/XMPPHP/XMLObj.php deleted file mode 100644 index 0d3e21991..000000000 --- a/extlib/XMPPHP/XMLObj.php +++ /dev/null @@ -1,158 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** - * XMPPHP XML Object - * - * @category xmpphp - * @package XMPPHP - * @author Nathanael C. Fritz - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - * @version $Id$ - */ -class XMPPHP_XMLObj { - /** - * Tag name - * - * @var string - */ - public $name; - - /** - * Namespace - * - * @var string - */ - public $ns; - - /** - * Attributes - * - * @var array - */ - public $attrs = array(); - - /** - * Subs? - * - * @var array - */ - public $subs = array(); - - /** - * Node data - * - * @var string - */ - public $data = ''; - - /** - * Constructor - * - * @param string $name - * @param string $ns - * @param array $attrs - * @param string $data - */ - public function __construct($name, $ns = '', $attrs = array(), $data = '') { - $this->name = strtolower($name); - $this->ns = $ns; - if(is_array($attrs) && count($attrs)) { - foreach($attrs as $key => $value) { - $this->attrs[strtolower($key)] = $value; - } - } - $this->data = $data; - } - - /** - * Dump this XML Object to output. - * - * @param integer $depth - */ - public function printObj($depth = 0) { - print str_repeat("\t", $depth) . $this->name . " " . $this->ns . ' ' . $this->data; - print "\n"; - foreach($this->subs as $sub) { - $sub->printObj($depth + 1); - } - } - - /** - * Return this XML Object in xml notation - * - * @param string $str - */ - public function toString($str = '') { - $str .= "<{$this->name} xmlns='{$this->ns}' "; - foreach($this->attrs as $key => $value) { - if($key != 'xmlns') { - $value = htmlspecialchars($value); - $str .= "$key='$value' "; - } - } - $str .= ">"; - foreach($this->subs as $sub) { - $str .= $sub->toString(); - } - $body = htmlspecialchars($this->data); - $str .= "$bodyname}>"; - return $str; - } - - /** - * Has this XML Object the given sub? - * - * @param string $name - * @return boolean - */ - public function hasSub($name, $ns = null) { - foreach($this->subs as $sub) { - if(($name == "*" or $sub->name == $name) and ($ns == null or $sub->ns == $ns)) return true; - } - return false; - } - - /** - * Return a sub - * - * @param string $name - * @param string $attrs - * @param string $ns - */ - public function sub($name, $attrs = null, $ns = null) { - #TODO attrs is ignored - foreach($this->subs as $sub) { - if($sub->name == $name and ($ns == null or $sub->ns == $ns)) { - return $sub; - } - } - } -} diff --git a/extlib/XMPPHP/XMLStream.php b/extlib/XMPPHP/XMLStream.php deleted file mode 100644 index d33411ec5..000000000 --- a/extlib/XMPPHP/XMLStream.php +++ /dev/null @@ -1,763 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** XMPPHP_Exception */ -require_once dirname(__FILE__) . '/Exception.php'; - -/** XMPPHP_XMLObj */ -require_once dirname(__FILE__) . '/XMLObj.php'; - -/** XMPPHP_Log */ -require_once dirname(__FILE__) . '/Log.php'; - -/** - * XMPPHP XML Stream - * - * @category xmpphp - * @package XMPPHP - * @author Nathanael C. Fritz - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - * @version $Id$ - */ -class XMPPHP_XMLStream { - /** - * @var resource - */ - protected $socket; - /** - * @var resource - */ - protected $parser; - /** - * @var string - */ - protected $buffer; - /** - * @var integer - */ - protected $xml_depth = 0; - /** - * @var string - */ - protected $host; - /** - * @var integer - */ - protected $port; - /** - * @var string - */ - protected $stream_start = ''; - /** - * @var string - */ - protected $stream_end = ''; - /** - * @var boolean - */ - protected $disconnected = false; - /** - * @var boolean - */ - protected $sent_disconnect = false; - /** - * @var array - */ - protected $ns_map = array(); - /** - * @var array - */ - protected $current_ns = array(); - /** - * @var array - */ - protected $xmlobj = null; - /** - * @var array - */ - protected $nshandlers = array(); - /** - * @var array - */ - protected $xpathhandlers = array(); - /** - * @var array - */ - protected $idhandlers = array(); - /** - * @var array - */ - protected $eventhandlers = array(); - /** - * @var integer - */ - protected $lastid = 0; - /** - * @var string - */ - protected $default_ns; - /** - * @var string - */ - protected $until = ''; - /** - * @var string - */ - protected $until_count = ''; - /** - * @var array - */ - protected $until_happened = false; - /** - * @var array - */ - protected $until_payload = array(); - /** - * @var XMPPHP_Log - */ - protected $log; - /** - * @var boolean - */ - protected $reconnect = true; - /** - * @var boolean - */ - protected $been_reset = false; - /** - * @var boolean - */ - protected $is_server; - /** - * @var float - */ - protected $last_send = 0; - /** - * @var boolean - */ - protected $use_ssl = false; - /** - * @var integer - */ - protected $reconnectTimeout = 30; - - /** - * Constructor - * - * @param string $host - * @param string $port - * @param boolean $printlog - * @param string $loglevel - * @param boolean $is_server - */ - public function __construct($host = null, $port = null, $printlog = false, $loglevel = null, $is_server = false) { - $this->reconnect = !$is_server; - $this->is_server = $is_server; - $this->host = $host; - $this->port = $port; - $this->setupParser(); - $this->log = new XMPPHP_Log($printlog, $loglevel); - } - - /** - * Destructor - * Cleanup connection - */ - public function __destruct() { - if(!$this->disconnected && $this->socket) { - $this->disconnect(); - } - } - - /** - * Return the log instance - * - * @return XMPPHP_Log - */ - public function getLog() { - return $this->log; - } - - /** - * Get next ID - * - * @return integer - */ - public function getId() { - $this->lastid++; - return $this->lastid; - } - - /** - * Set SSL - * - * @return integer - */ - public function useSSL($use=true) { - $this->use_ssl = $use; - } - - /** - * Add ID Handler - * - * @param integer $id - * @param string $pointer - * @param string $obj - */ - public function addIdHandler($id, $pointer, $obj = null) { - $this->idhandlers[$id] = array($pointer, $obj); - } - - /** - * Add Handler - * - * @param string $name - * @param string $ns - * @param string $pointer - * @param string $obj - * @param integer $depth - */ - public function addHandler($name, $ns, $pointer, $obj = null, $depth = 1) { - #TODO deprication warning - $this->nshandlers[] = array($name,$ns,$pointer,$obj, $depth); - } - - /** - * Add XPath Handler - * - * @param string $xpath - * @param string $pointer - * @param - */ - public function addXPathHandler($xpath, $pointer, $obj = null) { - if (preg_match_all("/\(?{[^\}]+}\)?(\/?)[^\/]+/", $xpath, $regs)) { - $ns_tags = $regs[0]; - } else { - $ns_tags = array($xpath); - } - foreach($ns_tags as $ns_tag) { - list($l, $r) = split("}", $ns_tag); - if ($r != null) { - $xpart = array(substr($l, 1), $r); - } else { - $xpart = array(null, $l); - } - $xpath_array[] = $xpart; - } - $this->xpathhandlers[] = array($xpath_array, $pointer, $obj); - } - - /** - * Add Event Handler - * - * @param integer $id - * @param string $pointer - * @param string $obj - */ - public function addEventHandler($name, $pointer, $obj) { - $this->eventhandlers[] = array($name, $pointer, $obj); - } - - /** - * Connect to XMPP Host - * - * @param integer $timeout - * @param boolean $persistent - * @param boolean $sendinit - */ - public function connect($timeout = 30, $persistent = false, $sendinit = true) { - $this->sent_disconnect = false; - $starttime = time(); - - do { - $this->disconnected = false; - $this->sent_disconnect = false; - if($persistent) { - $conflag = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT; - } else { - $conflag = STREAM_CLIENT_CONNECT; - } - $conntype = 'tcp'; - if($this->use_ssl) $conntype = 'ssl'; - $this->log->log("Connecting to $conntype://{$this->host}:{$this->port}"); - try { - $this->socket = @stream_socket_client("$conntype://{$this->host}:{$this->port}", $errno, $errstr, $timeout, $conflag); - } catch (Exception $e) { - throw new XMPPHP_Exception($e->getMessage()); - } - if(!$this->socket) { - $this->log->log("Could not connect.", XMPPHP_Log::LEVEL_ERROR); - $this->disconnected = true; - # Take it easy for a few seconds - sleep(min($timeout, 5)); - } - } while (!$this->socket && (time() - $starttime) < $timeout); - - if ($this->socket) { - stream_set_blocking($this->socket, 1); - if($sendinit) $this->send($this->stream_start); - } else { - throw new XMPPHP_Exception("Could not connect before timeout."); - } - } - - /** - * Reconnect XMPP Host - */ - public function doReconnect() { - if(!$this->is_server) { - $this->log->log("Reconnecting ($this->reconnectTimeout)...", XMPPHP_Log::LEVEL_WARNING); - $this->connect($this->reconnectTimeout, false, false); - $this->reset(); - $this->event('reconnect'); - } - } - - public function setReconnectTimeout($timeout) { - $this->reconnectTimeout = $timeout; - } - - /** - * Disconnect from XMPP Host - */ - public function disconnect() { - $this->log->log("Disconnecting...", XMPPHP_Log::LEVEL_VERBOSE); - if(false == (bool) $this->socket) { - return; - } - $this->reconnect = false; - $this->send($this->stream_end); - $this->sent_disconnect = true; - $this->processUntil('end_stream', 5); - $this->disconnected = true; - } - - /** - * Are we are disconnected? - * - * @return boolean - */ - public function isDisconnected() { - return $this->disconnected; - } - - /** - * Core reading tool - * 0 -> only read if data is immediately ready - * NULL -> wait forever and ever - * integer -> process for this amount of time - */ - - private function __process($maximum=5) { - - $remaining = $maximum; - - do { - $starttime = (microtime(true) * 1000000); - $read = array($this->socket); - $write = array(); - $except = array(); - if (is_null($maximum)) { - $secs = NULL; - $usecs = NULL; - } else if ($maximum == 0) { - $secs = 0; - $usecs = 0; - } else { - $usecs = $remaining % 1000000; - $secs = floor(($remaining - $usecs) / 1000000); - } - $updated = @stream_select($read, $write, $except, $secs, $usecs); - if ($updated === false) { - $this->log->log("Error on stream_select()", XMPPHP_Log::LEVEL_VERBOSE); - if ($this->reconnect) { - $this->doReconnect(); - } else { - fclose($this->socket); - $this->socket = NULL; - return false; - } - } else if ($updated > 0) { - # XXX: Is this big enough? - $buff = @fread($this->socket, 4096); - if(!$buff) { - if($this->reconnect) { - $this->doReconnect(); - } else { - fclose($this->socket); - $this->socket = NULL; - return false; - } - } - $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); - xml_parse($this->parser, $buff, false); - } else { - # $updated == 0 means no changes during timeout. - } - $endtime = (microtime(true)*1000000); - $time_past = $endtime - $starttime; - $remaining = $remaining - $time_past; - } while (is_null($maximum) || $remaining > 0); - return true; - } - - /** - * Process - * - * @return string - */ - public function process() { - $this->__process(NULL); - } - - /** - * Process until a timeout occurs - * - * @param integer $timeout - * @return string - */ - public function processTime($timeout=NULL) { - if (is_null($timeout)) { - return $this->__process(NULL); - } else { - return $this->__process($timeout * 1000000); - } - } - - /** - * Process until a specified event or a timeout occurs - * - * @param string|array $event - * @param integer $timeout - * @return string - */ - public function processUntil($event, $timeout=-1) { - $start = time(); - if(!is_array($event)) $event = array($event); - $this->until[] = $event; - end($this->until); - $event_key = key($this->until); - reset($this->until); - $this->until_count[$event_key] = 0; - $updated = ''; - while(!$this->disconnected and $this->until_count[$event_key] < 1 and (time() - $start < $timeout or $timeout == -1)) { - $this->__process(); - } - if(array_key_exists($event_key, $this->until_payload)) { - $payload = $this->until_payload[$event_key]; - unset($this->until_payload[$event_key]); - unset($this->until_count[$event_key]); - unset($this->until[$event_key]); - } else { - $payload = array(); - } - return $payload; - } - - /** - * Obsolete? - */ - public function Xapply_socket($socket) { - $this->socket = $socket; - } - - /** - * XML start callback - * - * @see xml_set_element_handler - * - * @param resource $parser - * @param string $name - */ - public function startXML($parser, $name, $attr) { - if($this->been_reset) { - $this->been_reset = false; - $this->xml_depth = 0; - } - $this->xml_depth++; - if(array_key_exists('XMLNS', $attr)) { - $this->current_ns[$this->xml_depth] = $attr['XMLNS']; - } else { - $this->current_ns[$this->xml_depth] = $this->current_ns[$this->xml_depth - 1]; - if(!$this->current_ns[$this->xml_depth]) $this->current_ns[$this->xml_depth] = $this->default_ns; - } - $ns = $this->current_ns[$this->xml_depth]; - foreach($attr as $key => $value) { - if(strstr($key, ":")) { - $key = explode(':', $key); - $key = $key[1]; - $this->ns_map[$key] = $value; - } - } - if(!strstr($name, ":") === false) - { - $name = explode(':', $name); - $ns = $this->ns_map[$name[0]]; - $name = $name[1]; - } - $obj = new XMPPHP_XMLObj($name, $ns, $attr); - if($this->xml_depth > 1) { - $this->xmlobj[$this->xml_depth - 1]->subs[] = $obj; - } - $this->xmlobj[$this->xml_depth] = $obj; - } - - /** - * XML end callback - * - * @see xml_set_element_handler - * - * @param resource $parser - * @param string $name - */ - public function endXML($parser, $name) { - #$this->log->log("Ending $name", XMPPHP_Log::LEVEL_DEBUG); - #print "$name\n"; - if($this->been_reset) { - $this->been_reset = false; - $this->xml_depth = 0; - } - $this->xml_depth--; - if($this->xml_depth == 1) { - #clean-up old objects - #$found = false; #FIXME This didn't appear to be in use --Gar - foreach($this->xpathhandlers as $handler) { - if (is_array($this->xmlobj) && array_key_exists(2, $this->xmlobj)) { - $searchxml = $this->xmlobj[2]; - $nstag = array_shift($handler[0]); - if (($nstag[0] == null or $searchxml->ns == $nstag[0]) and ($nstag[1] == "*" or $nstag[1] == $searchxml->name)) { - foreach($handler[0] as $nstag) { - if ($searchxml !== null and $searchxml->hasSub($nstag[1], $ns=$nstag[0])) { - $searchxml = $searchxml->sub($nstag[1], $ns=$nstag[0]); - } else { - $searchxml = null; - break; - } - } - if ($searchxml !== null) { - if($handler[2] === null) $handler[2] = $this; - $this->log->log("Calling {$handler[1]}", XMPPHP_Log::LEVEL_DEBUG); - $handler[2]->$handler[1]($this->xmlobj[2]); - } - } - } - } - foreach($this->nshandlers as $handler) { - if($handler[4] != 1 and array_key_exists(2, $this->xmlobj) and $this->xmlobj[2]->hasSub($handler[0])) { - $searchxml = $this->xmlobj[2]->sub($handler[0]); - } elseif(is_array($this->xmlobj) and array_key_exists(2, $this->xmlobj)) { - $searchxml = $this->xmlobj[2]; - } - if($searchxml !== null and $searchxml->name == $handler[0] and ($searchxml->ns == $handler[1] or (!$handler[1] and $searchxml->ns == $this->default_ns))) { - if($handler[3] === null) $handler[3] = $this; - $this->log->log("Calling {$handler[2]}", XMPPHP_Log::LEVEL_DEBUG); - $handler[3]->$handler[2]($this->xmlobj[2]); - } - } - foreach($this->idhandlers as $id => $handler) { - if(array_key_exists('id', $this->xmlobj[2]->attrs) and $this->xmlobj[2]->attrs['id'] == $id) { - if($handler[1] === null) $handler[1] = $this; - $handler[1]->$handler[0]($this->xmlobj[2]); - #id handlers are only used once - unset($this->idhandlers[$id]); - break; - } - } - if(is_array($this->xmlobj)) { - $this->xmlobj = array_slice($this->xmlobj, 0, 1); - if(isset($this->xmlobj[0]) && $this->xmlobj[0] instanceof XMPPHP_XMLObj) { - $this->xmlobj[0]->subs = null; - } - } - unset($this->xmlobj[2]); - } - if($this->xml_depth == 0 and !$this->been_reset) { - if(!$this->disconnected) { - if(!$this->sent_disconnect) { - $this->send($this->stream_end); - } - $this->disconnected = true; - $this->sent_disconnect = true; - fclose($this->socket); - if($this->reconnect) { - $this->doReconnect(); - } - } - $this->event('end_stream'); - } - } - - /** - * XML character callback - * @see xml_set_character_data_handler - * - * @param resource $parser - * @param string $data - */ - public function charXML($parser, $data) { - if(array_key_exists($this->xml_depth, $this->xmlobj)) { - $this->xmlobj[$this->xml_depth]->data .= $data; - } - } - - /** - * Event? - * - * @param string $name - * @param string $payload - */ - public function event($name, $payload = null) { - $this->log->log("EVENT: $name", XMPPHP_Log::LEVEL_DEBUG); - foreach($this->eventhandlers as $handler) { - if($name == $handler[0]) { - if($handler[2] === null) { - $handler[2] = $this; - } - $handler[2]->$handler[1]($payload); - } - } - foreach($this->until as $key => $until) { - if(is_array($until)) { - if(in_array($name, $until)) { - $this->until_payload[$key][] = array($name, $payload); - if(!isset($this->until_count[$key])) { - $this->until_count[$key] = 0; - } - $this->until_count[$key] += 1; - #$this->until[$key] = false; - } - } - } - } - - /** - * Read from socket - */ - public function read() { - $buff = @fread($this->socket, 1024); - if(!$buff) { - if($this->reconnect) { - $this->doReconnect(); - } else { - fclose($this->socket); - return false; - } - } - $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); - xml_parse($this->parser, $buff, false); - } - - /** - * Send to socket - * - * @param string $msg - */ - public function send($msg, $timeout=NULL) { - - if (is_null($timeout)) { - $secs = NULL; - $usecs = NULL; - } else if ($timeout == 0) { - $secs = 0; - $usecs = 0; - } else { - $maximum = $timeout * 1000000; - $usecs = $maximum % 1000000; - $secs = floor(($maximum - $usecs) / 1000000); - } - - $read = array(); - $write = array($this->socket); - $except = array(); - - $select = @stream_select($read, $write, $except, $secs, $usecs); - - if($select === False) { - $this->log->log("ERROR sending message; reconnecting."); - $this->doReconnect(); - # TODO: retry send here - return false; - } elseif ($select > 0) { - $this->log->log("Socket is ready; send it.", XMPPHP_Log::LEVEL_VERBOSE); - } else { - $this->log->log("Socket is not ready; break.", XMPPHP_Log::LEVEL_ERROR); - return false; - } - - $sentbytes = @fwrite($this->socket, $msg); - $this->log->log("SENT: " . mb_substr($msg, 0, $sentbytes, '8bit'), XMPPHP_Log::LEVEL_VERBOSE); - if($sentbytes === FALSE) { - $this->log->log("ERROR sending message; reconnecting.", XMPPHP_Log::LEVEL_ERROR); - $this->doReconnect(); - return false; - } - $this->log->log("Successfully sent $sentbytes bytes.", XMPPHP_Log::LEVEL_VERBOSE); - return $sentbytes; - } - - public function time() { - list($usec, $sec) = explode(" ", microtime()); - return (float)$sec + (float)$usec; - } - - /** - * Reset connection - */ - public function reset() { - $this->xml_depth = 0; - unset($this->xmlobj); - $this->xmlobj = array(); - $this->setupParser(); - if(!$this->is_server) { - $this->send($this->stream_start); - } - $this->been_reset = true; - } - - /** - * Setup the XML parser - */ - public function setupParser() { - $this->parser = xml_parser_create('UTF-8'); - xml_parser_set_option($this->parser, XML_OPTION_SKIP_WHITE, 1); - xml_parser_set_option($this->parser, XML_OPTION_TARGET_ENCODING, 'UTF-8'); - xml_set_object($this->parser, $this); - xml_set_element_handler($this->parser, 'startXML', 'endXML'); - xml_set_character_data_handler($this->parser, 'charXML'); - } - - public function readyToProcess() { - $read = array($this->socket); - $write = array(); - $except = array(); - $updated = @stream_select($read, $write, $except, 0); - return (($updated !== false) && ($updated > 0)); - } -} diff --git a/extlib/XMPPHP/XMPP.php b/extlib/XMPPHP/XMPP.php deleted file mode 100644 index c0f896339..000000000 --- a/extlib/XMPPHP/XMPP.php +++ /dev/null @@ -1,432 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** XMPPHP_XMLStream */ -require_once dirname(__FILE__) . "/XMLStream.php"; -require_once dirname(__FILE__) . "/Roster.php"; - -/** - * XMPPHP Main Class - * - * @category xmpphp - * @package XMPPHP - * @author Nathanael C. Fritz - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - * @version $Id$ - */ -class XMPPHP_XMPP extends XMPPHP_XMLStream { - /** - * @var string - */ - public $server; - - /** - * @var string - */ - public $user; - - /** - * @var string - */ - protected $password; - - /** - * @var string - */ - protected $resource; - - /** - * @var string - */ - protected $fulljid; - - /** - * @var string - */ - protected $basejid; - - /** - * @var boolean - */ - protected $authed = false; - protected $session_started = false; - - /** - * @var boolean - */ - protected $auto_subscribe = false; - - /** - * @var boolean - */ - protected $use_encryption = true; - - /** - * @var boolean - */ - public $track_presence = true; - - /** - * @var object - */ - public $roster; - - /** - * Constructor - * - * @param string $host - * @param integer $port - * @param string $user - * @param string $password - * @param string $resource - * @param string $server - * @param boolean $printlog - * @param string $loglevel - */ - public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) { - parent::__construct($host, $port, $printlog, $loglevel); - - $this->user = $user; - $this->password = $password; - $this->resource = $resource; - if(!$server) $server = $host; - $this->basejid = $this->user . '@' . $this->host; - - $this->roster = new Roster(); - $this->track_presence = true; - - $this->stream_start = ''; - $this->stream_end = ''; - $this->default_ns = 'jabber:client'; - - $this->addXPathHandler('{http://etherx.jabber.org/streams}features', 'features_handler'); - $this->addXPathHandler('{urn:ietf:params:xml:ns:xmpp-sasl}success', 'sasl_success_handler'); - $this->addXPathHandler('{urn:ietf:params:xml:ns:xmpp-sasl}failure', 'sasl_failure_handler'); - $this->addXPathHandler('{urn:ietf:params:xml:ns:xmpp-tls}proceed', 'tls_proceed_handler'); - $this->addXPathHandler('{jabber:client}message', 'message_handler'); - $this->addXPathHandler('{jabber:client}presence', 'presence_handler'); - $this->addXPathHandler('iq/{jabber:iq:roster}query', 'roster_iq_handler'); - } - - /** - * Turn encryption on/ff - * - * @param boolean $useEncryption - */ - public function useEncryption($useEncryption = true) { - $this->use_encryption = $useEncryption; - } - - /** - * Turn on auto-authorization of subscription requests. - * - * @param boolean $autoSubscribe - */ - public function autoSubscribe($autoSubscribe = true) { - $this->auto_subscribe = $autoSubscribe; - } - - /** - * Send XMPP Message - * - * @param string $to - * @param string $body - * @param string $type - * @param string $subject - */ - public function message($to, $body, $type = 'chat', $subject = null, $payload = null) { - if(is_null($type)) - { - $type = 'chat'; - } - - $to = htmlspecialchars($to); - $body = htmlspecialchars($body); - $subject = htmlspecialchars($subject); - - $out = "fulljid}\" to=\"$to\" type='$type'>"; - if($subject) $out .= "$subject"; - $out .= "$body"; - if($payload) $out .= $payload; - $out .= ""; - - $this->send($out); - } - - /** - * Set Presence - * - * @param string $status - * @param string $show - * @param string $to - */ - public function presence($status = null, $show = 'available', $to = null, $type='available', $priority=0) { - if($type == 'available') $type = ''; - $to = htmlspecialchars($to); - $status = htmlspecialchars($status); - if($show == 'unavailable') $type = 'unavailable'; - - $out = "send($out); - } - /** - * Send Auth request - * - * @param string $jid - */ - public function subscribe($jid) { - $this->send(""); - #$this->send(""); - } - - /** - * Message handler - * - * @param string $xml - */ - public function message_handler($xml) { - if(isset($xml->attrs['type'])) { - $payload['type'] = $xml->attrs['type']; - } else { - $payload['type'] = 'chat'; - } - $payload['from'] = $xml->attrs['from']; - $payload['body'] = $xml->sub('body')->data; - $payload['xml'] = $xml; - $this->log->log("Message: {$xml->sub('body')->data}", XMPPHP_Log::LEVEL_DEBUG); - $this->event('message', $payload); - } - - /** - * Presence handler - * - * @param string $xml - */ - public function presence_handler($xml) { - $payload['type'] = (isset($xml->attrs['type'])) ? $xml->attrs['type'] : 'available'; - $payload['show'] = (isset($xml->sub('show')->data)) ? $xml->sub('show')->data : $payload['type']; - $payload['from'] = $xml->attrs['from']; - $payload['status'] = (isset($xml->sub('status')->data)) ? $xml->sub('status')->data : ''; - $payload['priority'] = (isset($xml->sub('priority')->data)) ? intval($xml->sub('priority')->data) : 0; - $payload['xml'] = $xml; - if($this->track_presence) { - $this->roster->setPresence($payload['from'], $payload['priority'], $payload['show'], $payload['status']); - } - $this->log->log("Presence: {$payload['from']} [{$payload['show']}] {$payload['status']}", XMPPHP_Log::LEVEL_DEBUG); - if(array_key_exists('type', $xml->attrs) and $xml->attrs['type'] == 'subscribe') { - if($this->auto_subscribe) { - $this->send(""); - $this->send(""); - } - $this->event('subscription_requested', $payload); - } elseif(array_key_exists('type', $xml->attrs) and $xml->attrs['type'] == 'subscribed') { - $this->event('subscription_accepted', $payload); - } else { - $this->event('presence', $payload); - } - } - - /** - * Features handler - * - * @param string $xml - */ - protected function features_handler($xml) { - if($xml->hasSub('starttls') and $this->use_encryption) { - $this->send(""); - } elseif($xml->hasSub('bind') and $this->authed) { - $id = $this->getId(); - $this->addIdHandler($id, 'resource_bind_handler'); - $this->send("{$this->resource}"); - } else { - $this->log->log("Attempting Auth..."); - if ($this->password) { - $this->send("" . base64_encode("\x00" . $this->user . "\x00" . $this->password) . ""); - } else { - $this->send(""); - } - } - } - - /** - * SASL success handler - * - * @param string $xml - */ - protected function sasl_success_handler($xml) { - $this->log->log("Auth success!"); - $this->authed = true; - $this->reset(); - } - - /** - * SASL feature handler - * - * @param string $xml - */ - protected function sasl_failure_handler($xml) { - $this->log->log("Auth failed!", XMPPHP_Log::LEVEL_ERROR); - $this->disconnect(); - - throw new XMPPHP_Exception('Auth failed!'); - } - - /** - * Resource bind handler - * - * @param string $xml - */ - protected function resource_bind_handler($xml) { - if($xml->attrs['type'] == 'result') { - $this->log->log("Bound to " . $xml->sub('bind')->sub('jid')->data); - $this->fulljid = $xml->sub('bind')->sub('jid')->data; - $jidarray = explode('/',$this->fulljid); - $this->jid = $jidarray[0]; - } - $id = $this->getId(); - $this->addIdHandler($id, 'session_start_handler'); - $this->send(""); - } - - /** - * Retrieves the roster - * - */ - public function getRoster() { - $id = $this->getID(); - $this->send(""); - } - - /** - * Roster iq handler - * Gets all packets matching XPath "iq/{jabber:iq:roster}query' - * - * @param string $xml - */ - protected function roster_iq_handler($xml) { - $status = "result"; - $xmlroster = $xml->sub('query'); - foreach($xmlroster->subs as $item) { - $groups = array(); - if ($item->name == 'item') { - $jid = $item->attrs['jid']; //REQUIRED - $name = $item->attrs['name']; //MAY - $subscription = $item->attrs['subscription']; - foreach($item->subs as $subitem) { - if ($subitem->name == 'group') { - $groups[] = $subitem->data; - } - } - $contacts[] = array($jid, $subscription, $name, $groups); //Store for action if no errors happen - } else { - $status = "error"; - } - } - if ($status == "result") { //No errors, add contacts - foreach($contacts as $contact) { - $this->roster->addContact($contact[0], $contact[1], $contact[2], $contact[3]); - } - } - if ($xml->attrs['type'] == 'set') { - $this->send("attrs['id']}\" to=\"{$xml->attrs['from']}\" />"); - } - } - - /** - * Session start handler - * - * @param string $xml - */ - protected function session_start_handler($xml) { - $this->log->log("Session started"); - $this->session_started = true; - $this->event('session_start'); - } - - /** - * TLS proceed handler - * - * @param string $xml - */ - protected function tls_proceed_handler($xml) { - $this->log->log("Starting TLS encryption"); - stream_socket_enable_crypto($this->socket, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT); - $this->reset(); - } - - /** - * Retrieves the vcard - * - */ - public function getVCard($jid = Null) { - $id = $this->getID(); - $this->addIdHandler($id, 'vcard_get_handler'); - if($jid) { - $this->send(""); - } else { - $this->send(""); - } - } - - /** - * VCard retrieval handler - * - * @param XML Object $xml - */ - protected function vcard_get_handler($xml) { - $vcard_array = array(); - $vcard = $xml->sub('vcard'); - // go through all of the sub elements and add them to the vcard array - foreach ($vcard->subs as $sub) { - if ($sub->subs) { - $vcard_array[$sub->name] = array(); - foreach ($sub->subs as $sub_child) { - $vcard_array[$sub->name][$sub_child->name] = $sub_child->data; - } - } else { - $vcard_array[$sub->name] = $sub->data; - } - } - $vcard_array['from'] = $xml->attrs['from']; - $this->event('vcard', $vcard_array); - } -} diff --git a/extlib/XMPPHP/XMPP_Old.php b/extlib/XMPPHP/XMPP_Old.php deleted file mode 100644 index 43f56b154..000000000 --- a/extlib/XMPPHP/XMPP_Old.php +++ /dev/null @@ -1,114 +0,0 @@ - - * @author Stephan Wentz - * @author Michael Garvin - * @copyright 2008 Nathanael C. Fritz - */ - -/** XMPPHP_XMPP - * - * This file is unnecessary unless you need to connect to older, non-XMPP-compliant servers like Dreamhost's. - * In this case, use instead of XMPPHP_XMPP, otherwise feel free to delete it. - * The old Jabber protocol wasn't standardized, so use at your own risk. - * - */ -require_once "XMPP.php"; - - class XMPPHP_XMPPOld extends XMPPHP_XMPP { - /** - * - * @var string - */ - protected $session_id; - - public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) { - parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); - if(!$server) $server = $host; - $this->stream_start = ''; - $this->fulljid = "{$user}@{$server}/{$resource}"; - } - - /** - * Override XMLStream's startXML - * - * @param parser $parser - * @param string $name - * @param array $attr - */ - public function startXML($parser, $name, $attr) { - if($this->xml_depth == 0) { - $this->session_id = $attr['ID']; - $this->authenticate(); - } - parent::startXML($parser, $name, $attr); - } - - /** - * Send Authenticate Info Request - * - */ - public function authenticate() { - $id = $this->getId(); - $this->addidhandler($id, 'authfieldshandler'); - $this->send("{$this->user}"); - } - - /** - * Retrieve auth fields and send auth attempt - * - * @param XMLObj $xml - */ - public function authFieldsHandler($xml) { - $id = $this->getId(); - $this->addidhandler($id, 'oldAuthResultHandler'); - if($xml->sub('query')->hasSub('digest')) { - $hash = sha1($this->session_id . $this->password); - print "{$this->session_id} {$this->password}\n"; - $out = "{$this->user}{$hash}{$this->resource}"; - } else { - $out = "{$this->user}{$this->password}{$this->resource}"; - } - $this->send($out); - - } - - /** - * Determine authenticated or failure - * - * @param XMLObj $xml - */ - public function oldAuthResultHandler($xml) { - if($xml->attrs['type'] != 'result') { - $this->log->log("Auth failed!", XMPPHP_Log::LEVEL_ERROR); - $this->disconnect(); - throw new XMPPHP_Exception('Auth failed!'); - } else { - $this->log->log("Session started"); - $this->event('session_start'); - } - } - } - - -?> diff --git a/plugins/Xmpp/XmppPlugin.php b/plugins/Xmpp/XmppPlugin.php index a2521536b..9d75e2475 100644 --- a/plugins/Xmpp/XmppPlugin.php +++ b/plugins/Xmpp/XmppPlugin.php @@ -34,8 +34,6 @@ if (!defined('STATUSNET')) { exit(1); } -set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/XMPPHP'); - /** * Plugin for XMPP * @@ -287,7 +285,7 @@ class XmppPlugin extends ImPlugin switch ($cls) { case 'XMPPHP_XMPP': - require_once 'XMPP.php'; + require_once $dir . '/extlib/XMPPHP/XMPP.php'; return false; case 'Sharing_XMPP': case 'Queued_XMPP': diff --git a/plugins/Xmpp/extlib/XMPPHP/BOSH.php b/plugins/Xmpp/extlib/XMPPHP/BOSH.php new file mode 100644 index 000000000..befaf60a7 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/BOSH.php @@ -0,0 +1,188 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** XMPPHP_XMLStream */ +require_once dirname(__FILE__) . "/XMPP.php"; + +/** + * XMPPHP Main Class + * + * @category xmpphp + * @package XMPPHP + * @author Nathanael C. Fritz + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + * @version $Id$ + */ +class XMPPHP_BOSH extends XMPPHP_XMPP { + + protected $rid; + protected $sid; + protected $http_server; + protected $http_buffer = Array(); + protected $session = false; + + public function connect($server, $wait='1', $session=false) { + $this->http_server = $server; + $this->use_encryption = false; + $this->session = $session; + + $this->rid = 3001; + $this->sid = null; + if($session) + { + $this->loadSession(); + } + if(!$this->sid) { + $body = $this->__buildBody(); + $body->addAttribute('hold','1'); + $body->addAttribute('to', $this->host); + $body->addAttribute('route', "xmpp:{$this->host}:{$this->port}"); + $body->addAttribute('secure','true'); + $body->addAttribute('xmpp:version','1.6', 'urn:xmpp:xbosh'); + $body->addAttribute('wait', strval($wait)); + $body->addAttribute('ack','1'); + $body->addAttribute('xmlns:xmpp','urn:xmpp:xbosh'); + $buff = ""; + xml_parse($this->parser, $buff, false); + $response = $this->__sendBody($body); + $rxml = new SimpleXMLElement($response); + $this->sid = $rxml['sid']; + + } else { + $buff = ""; + xml_parse($this->parser, $buff, false); + } + } + + public function __sendBody($body=null, $recv=true) { + if(!$body) { + $body = $this->__buildBody(); + } + $ch = curl_init($this->http_server); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $body->asXML()); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); + $header = array('Accept-Encoding: gzip, deflate','Content-Type: text/xml; charset=utf-8'); + curl_setopt($ch, CURLOPT_HTTPHEADER, $header ); + curl_setopt($ch, CURLOPT_VERBOSE, 0); + $output = ''; + if($recv) { + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + $output = curl_exec($ch); + $this->http_buffer[] = $output; + } + curl_close($ch); + return $output; + } + + public function __buildBody($sub=null) { + $xml = new SimpleXMLElement(""); + $xml->addAttribute('content', 'text/xml; charset=utf-8'); + $xml->addAttribute('rid', $this->rid); + $this->rid += 1; + if($this->sid) $xml->addAttribute('sid', $this->sid); + #if($this->sid) $xml->addAttribute('xmlns', 'http://jabber.org/protocol/httpbind'); + $xml->addAttribute('xml:lang', 'en'); + if($sub) { // ok, so simplexml is lame + $p = dom_import_simplexml($xml); + $c = dom_import_simplexml($sub); + $cn = $p->ownerDocument->importNode($c, true); + $p->appendChild($cn); + $xml = simplexml_import_dom($p); + } + return $xml; + } + + public function __process() { + if($this->http_buffer) { + $this->__parseBuffer(); + } else { + $this->__sendBody(); + $this->__parseBuffer(); + } + } + + public function __parseBuffer() { + while ($this->http_buffer) { + $idx = key($this->http_buffer); + $buffer = $this->http_buffer[$idx]; + unset($this->http_buffer[$idx]); + if($buffer) { + $xml = new SimpleXMLElement($buffer); + $children = $xml->xpath('child::node()'); + foreach ($children as $child) { + $buff = $child->asXML(); + $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); + xml_parse($this->parser, $buff, false); + } + } + } + } + + public function send($msg) { + $this->log->log("SEND: $msg", XMPPHP_Log::LEVEL_VERBOSE); + $msg = new SimpleXMLElement($msg); + #$msg->addAttribute('xmlns', 'jabber:client'); + $this->__sendBody($this->__buildBody($msg), true); + #$this->__parseBuffer(); + } + + public function reset() { + $this->xml_depth = 0; + unset($this->xmlobj); + $this->xmlobj = array(); + $this->setupParser(); + #$this->send($this->stream_start); + $body = $this->__buildBody(); + $body->addAttribute('to', $this->host); + $body->addAttribute('xmpp:restart', 'true', 'urn:xmpp:xbosh'); + $buff = ""; + $response = $this->__sendBody($body); + $this->been_reset = true; + xml_parse($this->parser, $buff, false); + } + + public function loadSession() { + if(isset($_SESSION['XMPPHP_BOSH_RID'])) $this->rid = $_SESSION['XMPPHP_BOSH_RID']; + if(isset($_SESSION['XMPPHP_BOSH_SID'])) $this->sid = $_SESSION['XMPPHP_BOSH_SID']; + if(isset($_SESSION['XMPPHP_BOSH_authed'])) $this->authed = $_SESSION['XMPPHP_BOSH_authed']; + if(isset($_SESSION['XMPPHP_BOSH_jid'])) $this->jid = $_SESSION['XMPPHP_BOSH_jid']; + if(isset($_SESSION['XMPPHP_BOSH_fulljid'])) $this->fulljid = $_SESSION['XMPPHP_BOSH_fulljid']; + } + + public function saveSession() { + $_SESSION['XMPPHP_BOSH_RID'] = (string) $this->rid; + $_SESSION['XMPPHP_BOSH_SID'] = (string) $this->sid; + $_SESSION['XMPPHP_BOSH_authed'] = (boolean) $this->authed; + $_SESSION['XMPPHP_BOSH_jid'] = (string) $this->jid; + $_SESSION['XMPPHP_BOSH_fulljid'] = (string) $this->fulljid; + } +} diff --git a/plugins/Xmpp/extlib/XMPPHP/Exception.php b/plugins/Xmpp/extlib/XMPPHP/Exception.php new file mode 100644 index 000000000..da59bc791 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/Exception.php @@ -0,0 +1,41 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** + * XMPPHP Exception + * + * @category xmpphp + * @package XMPPHP + * @author Nathanael C. Fritz + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + * @version $Id$ + */ +class XMPPHP_Exception extends Exception { +} diff --git a/plugins/Xmpp/extlib/XMPPHP/Log.php b/plugins/Xmpp/extlib/XMPPHP/Log.php new file mode 100644 index 000000000..a9bce3d84 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/Log.php @@ -0,0 +1,119 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** + * XMPPHP Log + * + * @package XMPPHP + * @author Nathanael C. Fritz + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + * @version $Id$ + */ +class XMPPHP_Log { + + const LEVEL_ERROR = 0; + const LEVEL_WARNING = 1; + const LEVEL_INFO = 2; + const LEVEL_DEBUG = 3; + const LEVEL_VERBOSE = 4; + + /** + * @var array + */ + protected $data = array(); + + /** + * @var array + */ + protected $names = array('ERROR', 'WARNING', 'INFO', 'DEBUG', 'VERBOSE'); + + /** + * @var integer + */ + protected $runlevel; + + /** + * @var boolean + */ + protected $printout; + + /** + * Constructor + * + * @param boolean $printout + * @param string $runlevel + */ + public function __construct($printout = false, $runlevel = self::LEVEL_INFO) { + $this->printout = (boolean)$printout; + $this->runlevel = (int)$runlevel; + } + + /** + * Add a message to the log data array + * If printout in this instance is set to true, directly output the message + * + * @param string $msg + * @param integer $runlevel + */ + public function log($msg, $runlevel = self::LEVEL_INFO) { + $time = time(); + #$this->data[] = array($this->runlevel, $msg, $time); + if($this->printout and $runlevel <= $this->runlevel) { + $this->writeLine($msg, $runlevel, $time); + } + } + + /** + * Output the complete log. + * Log will be cleared if $clear = true + * + * @param boolean $clear + * @param integer $runlevel + */ + public function printout($clear = true, $runlevel = null) { + if($runlevel === null) { + $runlevel = $this->runlevel; + } + foreach($this->data as $data) { + if($runlevel <= $data[0]) { + $this->writeLine($data[1], $runlevel, $data[2]); + } + } + if($clear) { + $this->data = array(); + } + } + + protected function writeLine($msg, $runlevel, $time) { + //echo date('Y-m-d H:i:s', $time)." [".$this->names[$runlevel]."]: ".$msg."\n"; + echo $time." [".$this->names[$runlevel]."]: ".$msg."\n"; + flush(); + } +} diff --git a/plugins/Xmpp/extlib/XMPPHP/Roster.php b/plugins/Xmpp/extlib/XMPPHP/Roster.php new file mode 100644 index 000000000..2e459e2a2 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/Roster.php @@ -0,0 +1,163 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** + * XMPPHP Roster Object + * + * @category xmpphp + * @package XMPPHP + * @author Nathanael C. Fritz + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + * @version $Id$ + */ + +class Roster { + /** + * Roster array, handles contacts and presence. Indexed by jid. + * Contains array with potentially two indexes 'contact' and 'presence' + * @var array + */ + protected $roster_array = array(); + /** + * Constructor + * + */ + public function __construct($roster_array = array()) { + if ($this->verifyRoster($roster_array)) { + $this->roster_array = $roster_array; //Allow for prepopulation with existing roster + } else { + $this->roster_array = array(); + } + } + + /** + * + * Check that a given roster array is of a valid structure (empty is still valid) + * + * @param array $roster_array + */ + protected function verifyRoster($roster_array) { + #TODO once we know *what* a valid roster array looks like + return True; + } + + /** + * + * Add given contact to roster + * + * @param string $jid + * @param string $subscription + * @param string $name + * @param array $groups + */ + public function addContact($jid, $subscription, $name='', $groups=array()) { + $contact = array('jid' => $jid, 'subscription' => $subscription, 'name' => $name, 'groups' => $groups); + if ($this->isContact($jid)) { + $this->roster_array[$jid]['contact'] = $contact; + } else { + $this->roster_array[$jid] = array('contact' => $contact); + } + } + + /** + * + * Retrieve contact via jid + * + * @param string $jid + */ + public function getContact($jid) { + if ($this->isContact($jid)) { + return $this->roster_array[$jid]['contact']; + } + } + + /** + * + * Discover if a contact exists in the roster via jid + * + * @param string $jid + */ + public function isContact($jid) { + return (array_key_exists($jid, $this->roster_array)); + } + + /** + * + * Set presence + * + * @param string $presence + * @param integer $priority + * @param string $show + * @param string $status + */ + public function setPresence($presence, $priority, $show, $status) { + list($jid, $resource) = split("/", $presence); + if ($show != 'unavailable') { + if (!$this->isContact($jid)) { + $this->addContact($jid, 'not-in-roster'); + } + $resource = $resource ? $resource : ''; + $this->roster_array[$jid]['presence'][$resource] = array('priority' => $priority, 'show' => $show, 'status' => $status); + } else { //Nuke unavailable resources to save memory + unset($this->roster_array[$jid]['resource'][$resource]); + } + } + + /* + * + * Return best presence for jid + * + * @param string $jid + */ + public function getPresence($jid) { + $split = split("/", $jid); + $jid = $split[0]; + if($this->isContact($jid)) { + $current = array('resource' => '', 'active' => '', 'priority' => -129, 'show' => '', 'status' => ''); //Priorities can only be -128 = 127 + foreach($this->roster_array[$jid]['presence'] as $resource => $presence) { + //Highest available priority or just highest priority + if ($presence['priority'] > $current['priority'] and (($presence['show'] == "chat" or $presence['show'] == "available") or ($current['show'] != "chat" or $current['show'] != "available"))) { + $current = $presence; + $current['resource'] = $resource; + } + } + return $current; + } + } + /** + * + * Get roster + * + */ + public function getRoster() { + return $this->roster_array; + } +} +?> diff --git a/plugins/Xmpp/extlib/XMPPHP/XMLObj.php b/plugins/Xmpp/extlib/XMPPHP/XMLObj.php new file mode 100644 index 000000000..0d3e21991 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/XMLObj.php @@ -0,0 +1,158 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** + * XMPPHP XML Object + * + * @category xmpphp + * @package XMPPHP + * @author Nathanael C. Fritz + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + * @version $Id$ + */ +class XMPPHP_XMLObj { + /** + * Tag name + * + * @var string + */ + public $name; + + /** + * Namespace + * + * @var string + */ + public $ns; + + /** + * Attributes + * + * @var array + */ + public $attrs = array(); + + /** + * Subs? + * + * @var array + */ + public $subs = array(); + + /** + * Node data + * + * @var string + */ + public $data = ''; + + /** + * Constructor + * + * @param string $name + * @param string $ns + * @param array $attrs + * @param string $data + */ + public function __construct($name, $ns = '', $attrs = array(), $data = '') { + $this->name = strtolower($name); + $this->ns = $ns; + if(is_array($attrs) && count($attrs)) { + foreach($attrs as $key => $value) { + $this->attrs[strtolower($key)] = $value; + } + } + $this->data = $data; + } + + /** + * Dump this XML Object to output. + * + * @param integer $depth + */ + public function printObj($depth = 0) { + print str_repeat("\t", $depth) . $this->name . " " . $this->ns . ' ' . $this->data; + print "\n"; + foreach($this->subs as $sub) { + $sub->printObj($depth + 1); + } + } + + /** + * Return this XML Object in xml notation + * + * @param string $str + */ + public function toString($str = '') { + $str .= "<{$this->name} xmlns='{$this->ns}' "; + foreach($this->attrs as $key => $value) { + if($key != 'xmlns') { + $value = htmlspecialchars($value); + $str .= "$key='$value' "; + } + } + $str .= ">"; + foreach($this->subs as $sub) { + $str .= $sub->toString(); + } + $body = htmlspecialchars($this->data); + $str .= "$bodyname}>"; + return $str; + } + + /** + * Has this XML Object the given sub? + * + * @param string $name + * @return boolean + */ + public function hasSub($name, $ns = null) { + foreach($this->subs as $sub) { + if(($name == "*" or $sub->name == $name) and ($ns == null or $sub->ns == $ns)) return true; + } + return false; + } + + /** + * Return a sub + * + * @param string $name + * @param string $attrs + * @param string $ns + */ + public function sub($name, $attrs = null, $ns = null) { + #TODO attrs is ignored + foreach($this->subs as $sub) { + if($sub->name == $name and ($ns == null or $sub->ns == $ns)) { + return $sub; + } + } + } +} diff --git a/plugins/Xmpp/extlib/XMPPHP/XMLStream.php b/plugins/Xmpp/extlib/XMPPHP/XMLStream.php new file mode 100644 index 000000000..d33411ec5 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/XMLStream.php @@ -0,0 +1,763 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** XMPPHP_Exception */ +require_once dirname(__FILE__) . '/Exception.php'; + +/** XMPPHP_XMLObj */ +require_once dirname(__FILE__) . '/XMLObj.php'; + +/** XMPPHP_Log */ +require_once dirname(__FILE__) . '/Log.php'; + +/** + * XMPPHP XML Stream + * + * @category xmpphp + * @package XMPPHP + * @author Nathanael C. Fritz + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + * @version $Id$ + */ +class XMPPHP_XMLStream { + /** + * @var resource + */ + protected $socket; + /** + * @var resource + */ + protected $parser; + /** + * @var string + */ + protected $buffer; + /** + * @var integer + */ + protected $xml_depth = 0; + /** + * @var string + */ + protected $host; + /** + * @var integer + */ + protected $port; + /** + * @var string + */ + protected $stream_start = ''; + /** + * @var string + */ + protected $stream_end = ''; + /** + * @var boolean + */ + protected $disconnected = false; + /** + * @var boolean + */ + protected $sent_disconnect = false; + /** + * @var array + */ + protected $ns_map = array(); + /** + * @var array + */ + protected $current_ns = array(); + /** + * @var array + */ + protected $xmlobj = null; + /** + * @var array + */ + protected $nshandlers = array(); + /** + * @var array + */ + protected $xpathhandlers = array(); + /** + * @var array + */ + protected $idhandlers = array(); + /** + * @var array + */ + protected $eventhandlers = array(); + /** + * @var integer + */ + protected $lastid = 0; + /** + * @var string + */ + protected $default_ns; + /** + * @var string + */ + protected $until = ''; + /** + * @var string + */ + protected $until_count = ''; + /** + * @var array + */ + protected $until_happened = false; + /** + * @var array + */ + protected $until_payload = array(); + /** + * @var XMPPHP_Log + */ + protected $log; + /** + * @var boolean + */ + protected $reconnect = true; + /** + * @var boolean + */ + protected $been_reset = false; + /** + * @var boolean + */ + protected $is_server; + /** + * @var float + */ + protected $last_send = 0; + /** + * @var boolean + */ + protected $use_ssl = false; + /** + * @var integer + */ + protected $reconnectTimeout = 30; + + /** + * Constructor + * + * @param string $host + * @param string $port + * @param boolean $printlog + * @param string $loglevel + * @param boolean $is_server + */ + public function __construct($host = null, $port = null, $printlog = false, $loglevel = null, $is_server = false) { + $this->reconnect = !$is_server; + $this->is_server = $is_server; + $this->host = $host; + $this->port = $port; + $this->setupParser(); + $this->log = new XMPPHP_Log($printlog, $loglevel); + } + + /** + * Destructor + * Cleanup connection + */ + public function __destruct() { + if(!$this->disconnected && $this->socket) { + $this->disconnect(); + } + } + + /** + * Return the log instance + * + * @return XMPPHP_Log + */ + public function getLog() { + return $this->log; + } + + /** + * Get next ID + * + * @return integer + */ + public function getId() { + $this->lastid++; + return $this->lastid; + } + + /** + * Set SSL + * + * @return integer + */ + public function useSSL($use=true) { + $this->use_ssl = $use; + } + + /** + * Add ID Handler + * + * @param integer $id + * @param string $pointer + * @param string $obj + */ + public function addIdHandler($id, $pointer, $obj = null) { + $this->idhandlers[$id] = array($pointer, $obj); + } + + /** + * Add Handler + * + * @param string $name + * @param string $ns + * @param string $pointer + * @param string $obj + * @param integer $depth + */ + public function addHandler($name, $ns, $pointer, $obj = null, $depth = 1) { + #TODO deprication warning + $this->nshandlers[] = array($name,$ns,$pointer,$obj, $depth); + } + + /** + * Add XPath Handler + * + * @param string $xpath + * @param string $pointer + * @param + */ + public function addXPathHandler($xpath, $pointer, $obj = null) { + if (preg_match_all("/\(?{[^\}]+}\)?(\/?)[^\/]+/", $xpath, $regs)) { + $ns_tags = $regs[0]; + } else { + $ns_tags = array($xpath); + } + foreach($ns_tags as $ns_tag) { + list($l, $r) = split("}", $ns_tag); + if ($r != null) { + $xpart = array(substr($l, 1), $r); + } else { + $xpart = array(null, $l); + } + $xpath_array[] = $xpart; + } + $this->xpathhandlers[] = array($xpath_array, $pointer, $obj); + } + + /** + * Add Event Handler + * + * @param integer $id + * @param string $pointer + * @param string $obj + */ + public function addEventHandler($name, $pointer, $obj) { + $this->eventhandlers[] = array($name, $pointer, $obj); + } + + /** + * Connect to XMPP Host + * + * @param integer $timeout + * @param boolean $persistent + * @param boolean $sendinit + */ + public function connect($timeout = 30, $persistent = false, $sendinit = true) { + $this->sent_disconnect = false; + $starttime = time(); + + do { + $this->disconnected = false; + $this->sent_disconnect = false; + if($persistent) { + $conflag = STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT; + } else { + $conflag = STREAM_CLIENT_CONNECT; + } + $conntype = 'tcp'; + if($this->use_ssl) $conntype = 'ssl'; + $this->log->log("Connecting to $conntype://{$this->host}:{$this->port}"); + try { + $this->socket = @stream_socket_client("$conntype://{$this->host}:{$this->port}", $errno, $errstr, $timeout, $conflag); + } catch (Exception $e) { + throw new XMPPHP_Exception($e->getMessage()); + } + if(!$this->socket) { + $this->log->log("Could not connect.", XMPPHP_Log::LEVEL_ERROR); + $this->disconnected = true; + # Take it easy for a few seconds + sleep(min($timeout, 5)); + } + } while (!$this->socket && (time() - $starttime) < $timeout); + + if ($this->socket) { + stream_set_blocking($this->socket, 1); + if($sendinit) $this->send($this->stream_start); + } else { + throw new XMPPHP_Exception("Could not connect before timeout."); + } + } + + /** + * Reconnect XMPP Host + */ + public function doReconnect() { + if(!$this->is_server) { + $this->log->log("Reconnecting ($this->reconnectTimeout)...", XMPPHP_Log::LEVEL_WARNING); + $this->connect($this->reconnectTimeout, false, false); + $this->reset(); + $this->event('reconnect'); + } + } + + public function setReconnectTimeout($timeout) { + $this->reconnectTimeout = $timeout; + } + + /** + * Disconnect from XMPP Host + */ + public function disconnect() { + $this->log->log("Disconnecting...", XMPPHP_Log::LEVEL_VERBOSE); + if(false == (bool) $this->socket) { + return; + } + $this->reconnect = false; + $this->send($this->stream_end); + $this->sent_disconnect = true; + $this->processUntil('end_stream', 5); + $this->disconnected = true; + } + + /** + * Are we are disconnected? + * + * @return boolean + */ + public function isDisconnected() { + return $this->disconnected; + } + + /** + * Core reading tool + * 0 -> only read if data is immediately ready + * NULL -> wait forever and ever + * integer -> process for this amount of time + */ + + private function __process($maximum=5) { + + $remaining = $maximum; + + do { + $starttime = (microtime(true) * 1000000); + $read = array($this->socket); + $write = array(); + $except = array(); + if (is_null($maximum)) { + $secs = NULL; + $usecs = NULL; + } else if ($maximum == 0) { + $secs = 0; + $usecs = 0; + } else { + $usecs = $remaining % 1000000; + $secs = floor(($remaining - $usecs) / 1000000); + } + $updated = @stream_select($read, $write, $except, $secs, $usecs); + if ($updated === false) { + $this->log->log("Error on stream_select()", XMPPHP_Log::LEVEL_VERBOSE); + if ($this->reconnect) { + $this->doReconnect(); + } else { + fclose($this->socket); + $this->socket = NULL; + return false; + } + } else if ($updated > 0) { + # XXX: Is this big enough? + $buff = @fread($this->socket, 4096); + if(!$buff) { + if($this->reconnect) { + $this->doReconnect(); + } else { + fclose($this->socket); + $this->socket = NULL; + return false; + } + } + $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); + xml_parse($this->parser, $buff, false); + } else { + # $updated == 0 means no changes during timeout. + } + $endtime = (microtime(true)*1000000); + $time_past = $endtime - $starttime; + $remaining = $remaining - $time_past; + } while (is_null($maximum) || $remaining > 0); + return true; + } + + /** + * Process + * + * @return string + */ + public function process() { + $this->__process(NULL); + } + + /** + * Process until a timeout occurs + * + * @param integer $timeout + * @return string + */ + public function processTime($timeout=NULL) { + if (is_null($timeout)) { + return $this->__process(NULL); + } else { + return $this->__process($timeout * 1000000); + } + } + + /** + * Process until a specified event or a timeout occurs + * + * @param string|array $event + * @param integer $timeout + * @return string + */ + public function processUntil($event, $timeout=-1) { + $start = time(); + if(!is_array($event)) $event = array($event); + $this->until[] = $event; + end($this->until); + $event_key = key($this->until); + reset($this->until); + $this->until_count[$event_key] = 0; + $updated = ''; + while(!$this->disconnected and $this->until_count[$event_key] < 1 and (time() - $start < $timeout or $timeout == -1)) { + $this->__process(); + } + if(array_key_exists($event_key, $this->until_payload)) { + $payload = $this->until_payload[$event_key]; + unset($this->until_payload[$event_key]); + unset($this->until_count[$event_key]); + unset($this->until[$event_key]); + } else { + $payload = array(); + } + return $payload; + } + + /** + * Obsolete? + */ + public function Xapply_socket($socket) { + $this->socket = $socket; + } + + /** + * XML start callback + * + * @see xml_set_element_handler + * + * @param resource $parser + * @param string $name + */ + public function startXML($parser, $name, $attr) { + if($this->been_reset) { + $this->been_reset = false; + $this->xml_depth = 0; + } + $this->xml_depth++; + if(array_key_exists('XMLNS', $attr)) { + $this->current_ns[$this->xml_depth] = $attr['XMLNS']; + } else { + $this->current_ns[$this->xml_depth] = $this->current_ns[$this->xml_depth - 1]; + if(!$this->current_ns[$this->xml_depth]) $this->current_ns[$this->xml_depth] = $this->default_ns; + } + $ns = $this->current_ns[$this->xml_depth]; + foreach($attr as $key => $value) { + if(strstr($key, ":")) { + $key = explode(':', $key); + $key = $key[1]; + $this->ns_map[$key] = $value; + } + } + if(!strstr($name, ":") === false) + { + $name = explode(':', $name); + $ns = $this->ns_map[$name[0]]; + $name = $name[1]; + } + $obj = new XMPPHP_XMLObj($name, $ns, $attr); + if($this->xml_depth > 1) { + $this->xmlobj[$this->xml_depth - 1]->subs[] = $obj; + } + $this->xmlobj[$this->xml_depth] = $obj; + } + + /** + * XML end callback + * + * @see xml_set_element_handler + * + * @param resource $parser + * @param string $name + */ + public function endXML($parser, $name) { + #$this->log->log("Ending $name", XMPPHP_Log::LEVEL_DEBUG); + #print "$name\n"; + if($this->been_reset) { + $this->been_reset = false; + $this->xml_depth = 0; + } + $this->xml_depth--; + if($this->xml_depth == 1) { + #clean-up old objects + #$found = false; #FIXME This didn't appear to be in use --Gar + foreach($this->xpathhandlers as $handler) { + if (is_array($this->xmlobj) && array_key_exists(2, $this->xmlobj)) { + $searchxml = $this->xmlobj[2]; + $nstag = array_shift($handler[0]); + if (($nstag[0] == null or $searchxml->ns == $nstag[0]) and ($nstag[1] == "*" or $nstag[1] == $searchxml->name)) { + foreach($handler[0] as $nstag) { + if ($searchxml !== null and $searchxml->hasSub($nstag[1], $ns=$nstag[0])) { + $searchxml = $searchxml->sub($nstag[1], $ns=$nstag[0]); + } else { + $searchxml = null; + break; + } + } + if ($searchxml !== null) { + if($handler[2] === null) $handler[2] = $this; + $this->log->log("Calling {$handler[1]}", XMPPHP_Log::LEVEL_DEBUG); + $handler[2]->$handler[1]($this->xmlobj[2]); + } + } + } + } + foreach($this->nshandlers as $handler) { + if($handler[4] != 1 and array_key_exists(2, $this->xmlobj) and $this->xmlobj[2]->hasSub($handler[0])) { + $searchxml = $this->xmlobj[2]->sub($handler[0]); + } elseif(is_array($this->xmlobj) and array_key_exists(2, $this->xmlobj)) { + $searchxml = $this->xmlobj[2]; + } + if($searchxml !== null and $searchxml->name == $handler[0] and ($searchxml->ns == $handler[1] or (!$handler[1] and $searchxml->ns == $this->default_ns))) { + if($handler[3] === null) $handler[3] = $this; + $this->log->log("Calling {$handler[2]}", XMPPHP_Log::LEVEL_DEBUG); + $handler[3]->$handler[2]($this->xmlobj[2]); + } + } + foreach($this->idhandlers as $id => $handler) { + if(array_key_exists('id', $this->xmlobj[2]->attrs) and $this->xmlobj[2]->attrs['id'] == $id) { + if($handler[1] === null) $handler[1] = $this; + $handler[1]->$handler[0]($this->xmlobj[2]); + #id handlers are only used once + unset($this->idhandlers[$id]); + break; + } + } + if(is_array($this->xmlobj)) { + $this->xmlobj = array_slice($this->xmlobj, 0, 1); + if(isset($this->xmlobj[0]) && $this->xmlobj[0] instanceof XMPPHP_XMLObj) { + $this->xmlobj[0]->subs = null; + } + } + unset($this->xmlobj[2]); + } + if($this->xml_depth == 0 and !$this->been_reset) { + if(!$this->disconnected) { + if(!$this->sent_disconnect) { + $this->send($this->stream_end); + } + $this->disconnected = true; + $this->sent_disconnect = true; + fclose($this->socket); + if($this->reconnect) { + $this->doReconnect(); + } + } + $this->event('end_stream'); + } + } + + /** + * XML character callback + * @see xml_set_character_data_handler + * + * @param resource $parser + * @param string $data + */ + public function charXML($parser, $data) { + if(array_key_exists($this->xml_depth, $this->xmlobj)) { + $this->xmlobj[$this->xml_depth]->data .= $data; + } + } + + /** + * Event? + * + * @param string $name + * @param string $payload + */ + public function event($name, $payload = null) { + $this->log->log("EVENT: $name", XMPPHP_Log::LEVEL_DEBUG); + foreach($this->eventhandlers as $handler) { + if($name == $handler[0]) { + if($handler[2] === null) { + $handler[2] = $this; + } + $handler[2]->$handler[1]($payload); + } + } + foreach($this->until as $key => $until) { + if(is_array($until)) { + if(in_array($name, $until)) { + $this->until_payload[$key][] = array($name, $payload); + if(!isset($this->until_count[$key])) { + $this->until_count[$key] = 0; + } + $this->until_count[$key] += 1; + #$this->until[$key] = false; + } + } + } + } + + /** + * Read from socket + */ + public function read() { + $buff = @fread($this->socket, 1024); + if(!$buff) { + if($this->reconnect) { + $this->doReconnect(); + } else { + fclose($this->socket); + return false; + } + } + $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); + xml_parse($this->parser, $buff, false); + } + + /** + * Send to socket + * + * @param string $msg + */ + public function send($msg, $timeout=NULL) { + + if (is_null($timeout)) { + $secs = NULL; + $usecs = NULL; + } else if ($timeout == 0) { + $secs = 0; + $usecs = 0; + } else { + $maximum = $timeout * 1000000; + $usecs = $maximum % 1000000; + $secs = floor(($maximum - $usecs) / 1000000); + } + + $read = array(); + $write = array($this->socket); + $except = array(); + + $select = @stream_select($read, $write, $except, $secs, $usecs); + + if($select === False) { + $this->log->log("ERROR sending message; reconnecting."); + $this->doReconnect(); + # TODO: retry send here + return false; + } elseif ($select > 0) { + $this->log->log("Socket is ready; send it.", XMPPHP_Log::LEVEL_VERBOSE); + } else { + $this->log->log("Socket is not ready; break.", XMPPHP_Log::LEVEL_ERROR); + return false; + } + + $sentbytes = @fwrite($this->socket, $msg); + $this->log->log("SENT: " . mb_substr($msg, 0, $sentbytes, '8bit'), XMPPHP_Log::LEVEL_VERBOSE); + if($sentbytes === FALSE) { + $this->log->log("ERROR sending message; reconnecting.", XMPPHP_Log::LEVEL_ERROR); + $this->doReconnect(); + return false; + } + $this->log->log("Successfully sent $sentbytes bytes.", XMPPHP_Log::LEVEL_VERBOSE); + return $sentbytes; + } + + public function time() { + list($usec, $sec) = explode(" ", microtime()); + return (float)$sec + (float)$usec; + } + + /** + * Reset connection + */ + public function reset() { + $this->xml_depth = 0; + unset($this->xmlobj); + $this->xmlobj = array(); + $this->setupParser(); + if(!$this->is_server) { + $this->send($this->stream_start); + } + $this->been_reset = true; + } + + /** + * Setup the XML parser + */ + public function setupParser() { + $this->parser = xml_parser_create('UTF-8'); + xml_parser_set_option($this->parser, XML_OPTION_SKIP_WHITE, 1); + xml_parser_set_option($this->parser, XML_OPTION_TARGET_ENCODING, 'UTF-8'); + xml_set_object($this->parser, $this); + xml_set_element_handler($this->parser, 'startXML', 'endXML'); + xml_set_character_data_handler($this->parser, 'charXML'); + } + + public function readyToProcess() { + $read = array($this->socket); + $write = array(); + $except = array(); + $updated = @stream_select($read, $write, $except, 0); + return (($updated !== false) && ($updated > 0)); + } +} diff --git a/plugins/Xmpp/extlib/XMPPHP/XMPP.php b/plugins/Xmpp/extlib/XMPPHP/XMPP.php new file mode 100644 index 000000000..c0f896339 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/XMPP.php @@ -0,0 +1,432 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** XMPPHP_XMLStream */ +require_once dirname(__FILE__) . "/XMLStream.php"; +require_once dirname(__FILE__) . "/Roster.php"; + +/** + * XMPPHP Main Class + * + * @category xmpphp + * @package XMPPHP + * @author Nathanael C. Fritz + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + * @version $Id$ + */ +class XMPPHP_XMPP extends XMPPHP_XMLStream { + /** + * @var string + */ + public $server; + + /** + * @var string + */ + public $user; + + /** + * @var string + */ + protected $password; + + /** + * @var string + */ + protected $resource; + + /** + * @var string + */ + protected $fulljid; + + /** + * @var string + */ + protected $basejid; + + /** + * @var boolean + */ + protected $authed = false; + protected $session_started = false; + + /** + * @var boolean + */ + protected $auto_subscribe = false; + + /** + * @var boolean + */ + protected $use_encryption = true; + + /** + * @var boolean + */ + public $track_presence = true; + + /** + * @var object + */ + public $roster; + + /** + * Constructor + * + * @param string $host + * @param integer $port + * @param string $user + * @param string $password + * @param string $resource + * @param string $server + * @param boolean $printlog + * @param string $loglevel + */ + public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) { + parent::__construct($host, $port, $printlog, $loglevel); + + $this->user = $user; + $this->password = $password; + $this->resource = $resource; + if(!$server) $server = $host; + $this->basejid = $this->user . '@' . $this->host; + + $this->roster = new Roster(); + $this->track_presence = true; + + $this->stream_start = ''; + $this->stream_end = ''; + $this->default_ns = 'jabber:client'; + + $this->addXPathHandler('{http://etherx.jabber.org/streams}features', 'features_handler'); + $this->addXPathHandler('{urn:ietf:params:xml:ns:xmpp-sasl}success', 'sasl_success_handler'); + $this->addXPathHandler('{urn:ietf:params:xml:ns:xmpp-sasl}failure', 'sasl_failure_handler'); + $this->addXPathHandler('{urn:ietf:params:xml:ns:xmpp-tls}proceed', 'tls_proceed_handler'); + $this->addXPathHandler('{jabber:client}message', 'message_handler'); + $this->addXPathHandler('{jabber:client}presence', 'presence_handler'); + $this->addXPathHandler('iq/{jabber:iq:roster}query', 'roster_iq_handler'); + } + + /** + * Turn encryption on/ff + * + * @param boolean $useEncryption + */ + public function useEncryption($useEncryption = true) { + $this->use_encryption = $useEncryption; + } + + /** + * Turn on auto-authorization of subscription requests. + * + * @param boolean $autoSubscribe + */ + public function autoSubscribe($autoSubscribe = true) { + $this->auto_subscribe = $autoSubscribe; + } + + /** + * Send XMPP Message + * + * @param string $to + * @param string $body + * @param string $type + * @param string $subject + */ + public function message($to, $body, $type = 'chat', $subject = null, $payload = null) { + if(is_null($type)) + { + $type = 'chat'; + } + + $to = htmlspecialchars($to); + $body = htmlspecialchars($body); + $subject = htmlspecialchars($subject); + + $out = "fulljid}\" to=\"$to\" type='$type'>"; + if($subject) $out .= "$subject"; + $out .= "$body"; + if($payload) $out .= $payload; + $out .= ""; + + $this->send($out); + } + + /** + * Set Presence + * + * @param string $status + * @param string $show + * @param string $to + */ + public function presence($status = null, $show = 'available', $to = null, $type='available', $priority=0) { + if($type == 'available') $type = ''; + $to = htmlspecialchars($to); + $status = htmlspecialchars($status); + if($show == 'unavailable') $type = 'unavailable'; + + $out = "send($out); + } + /** + * Send Auth request + * + * @param string $jid + */ + public function subscribe($jid) { + $this->send(""); + #$this->send(""); + } + + /** + * Message handler + * + * @param string $xml + */ + public function message_handler($xml) { + if(isset($xml->attrs['type'])) { + $payload['type'] = $xml->attrs['type']; + } else { + $payload['type'] = 'chat'; + } + $payload['from'] = $xml->attrs['from']; + $payload['body'] = $xml->sub('body')->data; + $payload['xml'] = $xml; + $this->log->log("Message: {$xml->sub('body')->data}", XMPPHP_Log::LEVEL_DEBUG); + $this->event('message', $payload); + } + + /** + * Presence handler + * + * @param string $xml + */ + public function presence_handler($xml) { + $payload['type'] = (isset($xml->attrs['type'])) ? $xml->attrs['type'] : 'available'; + $payload['show'] = (isset($xml->sub('show')->data)) ? $xml->sub('show')->data : $payload['type']; + $payload['from'] = $xml->attrs['from']; + $payload['status'] = (isset($xml->sub('status')->data)) ? $xml->sub('status')->data : ''; + $payload['priority'] = (isset($xml->sub('priority')->data)) ? intval($xml->sub('priority')->data) : 0; + $payload['xml'] = $xml; + if($this->track_presence) { + $this->roster->setPresence($payload['from'], $payload['priority'], $payload['show'], $payload['status']); + } + $this->log->log("Presence: {$payload['from']} [{$payload['show']}] {$payload['status']}", XMPPHP_Log::LEVEL_DEBUG); + if(array_key_exists('type', $xml->attrs) and $xml->attrs['type'] == 'subscribe') { + if($this->auto_subscribe) { + $this->send(""); + $this->send(""); + } + $this->event('subscription_requested', $payload); + } elseif(array_key_exists('type', $xml->attrs) and $xml->attrs['type'] == 'subscribed') { + $this->event('subscription_accepted', $payload); + } else { + $this->event('presence', $payload); + } + } + + /** + * Features handler + * + * @param string $xml + */ + protected function features_handler($xml) { + if($xml->hasSub('starttls') and $this->use_encryption) { + $this->send(""); + } elseif($xml->hasSub('bind') and $this->authed) { + $id = $this->getId(); + $this->addIdHandler($id, 'resource_bind_handler'); + $this->send("{$this->resource}"); + } else { + $this->log->log("Attempting Auth..."); + if ($this->password) { + $this->send("" . base64_encode("\x00" . $this->user . "\x00" . $this->password) . ""); + } else { + $this->send(""); + } + } + } + + /** + * SASL success handler + * + * @param string $xml + */ + protected function sasl_success_handler($xml) { + $this->log->log("Auth success!"); + $this->authed = true; + $this->reset(); + } + + /** + * SASL feature handler + * + * @param string $xml + */ + protected function sasl_failure_handler($xml) { + $this->log->log("Auth failed!", XMPPHP_Log::LEVEL_ERROR); + $this->disconnect(); + + throw new XMPPHP_Exception('Auth failed!'); + } + + /** + * Resource bind handler + * + * @param string $xml + */ + protected function resource_bind_handler($xml) { + if($xml->attrs['type'] == 'result') { + $this->log->log("Bound to " . $xml->sub('bind')->sub('jid')->data); + $this->fulljid = $xml->sub('bind')->sub('jid')->data; + $jidarray = explode('/',$this->fulljid); + $this->jid = $jidarray[0]; + } + $id = $this->getId(); + $this->addIdHandler($id, 'session_start_handler'); + $this->send(""); + } + + /** + * Retrieves the roster + * + */ + public function getRoster() { + $id = $this->getID(); + $this->send(""); + } + + /** + * Roster iq handler + * Gets all packets matching XPath "iq/{jabber:iq:roster}query' + * + * @param string $xml + */ + protected function roster_iq_handler($xml) { + $status = "result"; + $xmlroster = $xml->sub('query'); + foreach($xmlroster->subs as $item) { + $groups = array(); + if ($item->name == 'item') { + $jid = $item->attrs['jid']; //REQUIRED + $name = $item->attrs['name']; //MAY + $subscription = $item->attrs['subscription']; + foreach($item->subs as $subitem) { + if ($subitem->name == 'group') { + $groups[] = $subitem->data; + } + } + $contacts[] = array($jid, $subscription, $name, $groups); //Store for action if no errors happen + } else { + $status = "error"; + } + } + if ($status == "result") { //No errors, add contacts + foreach($contacts as $contact) { + $this->roster->addContact($contact[0], $contact[1], $contact[2], $contact[3]); + } + } + if ($xml->attrs['type'] == 'set') { + $this->send("attrs['id']}\" to=\"{$xml->attrs['from']}\" />"); + } + } + + /** + * Session start handler + * + * @param string $xml + */ + protected function session_start_handler($xml) { + $this->log->log("Session started"); + $this->session_started = true; + $this->event('session_start'); + } + + /** + * TLS proceed handler + * + * @param string $xml + */ + protected function tls_proceed_handler($xml) { + $this->log->log("Starting TLS encryption"); + stream_socket_enable_crypto($this->socket, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT); + $this->reset(); + } + + /** + * Retrieves the vcard + * + */ + public function getVCard($jid = Null) { + $id = $this->getID(); + $this->addIdHandler($id, 'vcard_get_handler'); + if($jid) { + $this->send(""); + } else { + $this->send(""); + } + } + + /** + * VCard retrieval handler + * + * @param XML Object $xml + */ + protected function vcard_get_handler($xml) { + $vcard_array = array(); + $vcard = $xml->sub('vcard'); + // go through all of the sub elements and add them to the vcard array + foreach ($vcard->subs as $sub) { + if ($sub->subs) { + $vcard_array[$sub->name] = array(); + foreach ($sub->subs as $sub_child) { + $vcard_array[$sub->name][$sub_child->name] = $sub_child->data; + } + } else { + $vcard_array[$sub->name] = $sub->data; + } + } + $vcard_array['from'] = $xml->attrs['from']; + $this->event('vcard', $vcard_array); + } +} diff --git a/plugins/Xmpp/extlib/XMPPHP/XMPP_Old.php b/plugins/Xmpp/extlib/XMPPHP/XMPP_Old.php new file mode 100644 index 000000000..43f56b154 --- /dev/null +++ b/plugins/Xmpp/extlib/XMPPHP/XMPP_Old.php @@ -0,0 +1,114 @@ + + * @author Stephan Wentz + * @author Michael Garvin + * @copyright 2008 Nathanael C. Fritz + */ + +/** XMPPHP_XMPP + * + * This file is unnecessary unless you need to connect to older, non-XMPP-compliant servers like Dreamhost's. + * In this case, use instead of XMPPHP_XMPP, otherwise feel free to delete it. + * The old Jabber protocol wasn't standardized, so use at your own risk. + * + */ +require_once "XMPP.php"; + + class XMPPHP_XMPPOld extends XMPPHP_XMPP { + /** + * + * @var string + */ + protected $session_id; + + public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null) { + parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); + if(!$server) $server = $host; + $this->stream_start = ''; + $this->fulljid = "{$user}@{$server}/{$resource}"; + } + + /** + * Override XMLStream's startXML + * + * @param parser $parser + * @param string $name + * @param array $attr + */ + public function startXML($parser, $name, $attr) { + if($this->xml_depth == 0) { + $this->session_id = $attr['ID']; + $this->authenticate(); + } + parent::startXML($parser, $name, $attr); + } + + /** + * Send Authenticate Info Request + * + */ + public function authenticate() { + $id = $this->getId(); + $this->addidhandler($id, 'authfieldshandler'); + $this->send("{$this->user}"); + } + + /** + * Retrieve auth fields and send auth attempt + * + * @param XMLObj $xml + */ + public function authFieldsHandler($xml) { + $id = $this->getId(); + $this->addidhandler($id, 'oldAuthResultHandler'); + if($xml->sub('query')->hasSub('digest')) { + $hash = sha1($this->session_id . $this->password); + print "{$this->session_id} {$this->password}\n"; + $out = "{$this->user}{$hash}{$this->resource}"; + } else { + $out = "{$this->user}{$this->password}{$this->resource}"; + } + $this->send($out); + + } + + /** + * Determine authenticated or failure + * + * @param XMLObj $xml + */ + public function oldAuthResultHandler($xml) { + if($xml->attrs['type'] != 'result') { + $this->log->log("Auth failed!", XMPPHP_Log::LEVEL_ERROR); + $this->disconnect(); + throw new XMPPHP_Exception('Auth failed!'); + } else { + $this->log->log("Session started"); + $this->event('session_start'); + } + } + } + + +?> -- cgit v1.2.3 From 3e8af172d636cc7ca3a9e2301b928f6ca79b9eb2 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 5 May 2010 17:30:42 -0700 Subject: Add ?uselang=xx language override option (only valid, locally-enabled languages supported, just as with headers and user settings). Great aid for debugging & translation testing --- lib/util.php | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/lib/util.php b/lib/util.php index e7ea9df61..e15c69f95 100644 --- a/lib/util.php +++ b/lib/util.php @@ -138,23 +138,38 @@ function common_timezone() return common_config('site', 'timezone'); } +function common_valid_language($lang) +{ + if ($lang) { + // Validate -- we don't want to end up with a bogus code + // left over from some old junk. + foreach (common_config('site', 'languages') as $code => $info) { + if ($info['lang'] == $lang) { + return true; + } + } + } + return false; +} + function common_language() { + // Allow ?uselang=xx override, very useful for debugging + // and helping translators check usage and context. + if (isset($_GET['uselang'])) { + $uselang = strval($_GET['uselang']); + if (common_valid_language($uselang)) { + return $uselang; + } + } // If there is a user logged in and they've set a language preference // then return that one... if (_have_config() && common_logged_in()) { $user = common_current_user(); - $user_language = $user->language; - - if ($user->language) { - // Validate -- we don't want to end up with a bogus code - // left over from some old junk. - foreach (common_config('site', 'languages') as $code => $info) { - if ($info['lang'] == $user_language) { - return $user_language; - } - } + + if (common_valid_language($user->language)) { + return $user->language; } } -- cgit v1.2.3 From 30328fc1666b9e3a6651c5d8881933debaf5ecc6 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 6 May 2010 23:33:27 -0400 Subject: Enable ClientSideShorten plugin by default --- lib/default.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/default.php b/lib/default.php index 449d2b3bb..52a4ec783 100644 --- a/lib/default.php +++ b/lib/default.php @@ -287,6 +287,7 @@ $default = 'OStatus' => null, 'WikiHashtags' => null, 'RSSCloud' => null, + 'ClientSideShorten' => null, 'OpenID' => null), ), 'pluginlist' => array(), -- cgit v1.2.3 From 4b0458801af03b40fa636849da0a7e96bbd3e860 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 6 May 2010 23:40:07 -0400 Subject: Ignore PEAR errors with code DB_DATAOBJECT_ERROR_NODATA --- lib/common.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/common.php b/lib/common.php index 2bda88c97..72a1b7075 100644 --- a/lib/common.php +++ b/lib/common.php @@ -132,6 +132,12 @@ require_once INSTALLDIR.'/lib/serverexception.php'; //set PEAR error handling to use regular PHP exceptions function PEAR_ErrorToPEAR_Exception($err) { + //DB_DataObject throws error when an empty set would be returned + //That behavior is weird, and not how the rest of StatusNet works. + //So just ignore those errors. + if ($err->getCode() == DB_DATAOBJECT_ERROR_NODATA) { + return; + } if ($err->getCode()) { throw new PEAR_Exception($err->getMessage(), $err->getCode()); } -- cgit v1.2.3 From b407665b983297078f5361db24c60a7d46e0f4ba Mon Sep 17 00:00:00 2001 From: Zachary Copley Date: Tue, 20 Apr 2010 11:29:13 -0700 Subject: Initial work on API method for updating a group's profile info --- actions/apigroupprofileupdate.php | 370 ++++++++++++++++++++++++++++++++++++++ lib/router.php | 6 + 2 files changed, 376 insertions(+) create mode 100644 actions/apigroupprofileupdate.php diff --git a/actions/apigroupprofileupdate.php b/actions/apigroupprofileupdate.php new file mode 100644 index 000000000..0d3620c26 --- /dev/null +++ b/actions/apigroupprofileupdate.php @@ -0,0 +1,370 @@ +. + * + * @category API + * @package StatusNet + * @author Zach Copley + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +require_once INSTALLDIR . '/lib/apiauth.php'; + +class ApiValidationException extends Exception { } + +/** + * API analog to the group edit page + * + * @category API + * @package StatusNet + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class ApiGroupProfileUpdateAction extends ApiAuthAction +{ + + /** + * Take arguments for running + * + * @param array $args $_REQUEST args + * + * @return boolean success flag + * + */ + + function prepare($args) + { + parent::prepare($args); + + $this->nickname = common_canonical_nickname($this->trimmed('nickname')); + $this->fullname = $this->trimmed('fullname'); + $this->homepage = $this->trimmed('homepage'); + $this->description = $this->trimmed('description'); + $this->location = $this->trimmed('location'); + $this->aliasstring = $this->trimmed('aliases'); + + $this->user = $this->auth_user; + $this->group = $this->getTargetGroup($this->arg('id')); + + return true; + } + + /** + * Handle the request + * + * See which request params have been set, and update the profile + * + * @param array $args $_REQUEST data (unused) + * + * @return void + */ + + function handle($args) + { + parent::handle($args); + + if ($_SERVER['REQUEST_METHOD'] != 'POST') { + $this->clientError( + _('This method requires a POST.'), + 400, $this->format + ); + return; + } + + if (!in_array($this->format, array('xml', 'json'))) { + $this->clientError( + _('API method not found.'), + 404, + $this->format + ); + return; + } + + if (empty($this->user)) { + $this->clientError(_('No such user.'), 404, $this->format); + return; + } + + if (empty($this->group)) { + $this->clientError(_('Group not found.'), 404, $this->format); + return false; + } + + if (!$this->user->isAdmin($this->group)) { + $this->clientError(_('You must be an admin to edit the group.'), 403); + return false; + } + + $this->group->query('BEGIN'); + + $orig = clone($this->group); + + try { + + if (!empty($this->nickname)) { + if ($this->validateNickname()) { + $this->group->nickname = $this->nickname; + $this->group->mainpage = common_local_url( + 'showgroup', + array('nickname' => $this->nickname) + ); + } + } + + if (!empty($this->fullname)) { + $this->validateFullname(); + $this->group->fullname = $this->fullname; + } + + if (!empty($this->homepage)) { + $this->validateHomepage(); + $this->group->homepage = $this->hompage; + } + + if (!empty($this->description)) { + $this->validateDescription(); + $this->group->description = $this->decription; + } + + if (!empty($this->location)) { + $this->validateLocation(); + $this->group->location = $this->location; + } + + } catch (ApiValidationException $ave) { + $this->clientError( + $ave->getMessage(), + 403, + $this->format + ); + return; + } + + $result = $this->group->update($orig); + + if (!$result) { + common_log_db_error($this->group, 'UPDATE', __FILE__); + $this->serverError(_('Could not update group.')); + } + + $aliases = null; + + try { + + if (!empty($this->aliasstring)) { + $aliases = $this->parseAliases(); + } + + } catch (ApiValidationException $ave) { + $this->clientError( + $ave->getMessage(), + 403, + $this->format + ); + return; + } + + $result = $this->group->setAliases($aliases); + + if (!$result) { + $this->serverError(_('Could not create aliases.')); + } + + if (!empty($this->nickname) && $this->nickname != $orig->nickname) { + common_log(LOG_INFO, "Saving local group info."); + $local = Local_group::staticGet('group_id', $this->group->id); + $local->setNickname($this->nickname); + } + + $this->group->query('COMMIT'); + + switch($this->format) { + case 'xml': + $this->showSingleXmlGroup($this->group); + break; + case 'json': + $this->showSingleJsonGroup($this->group); + break; + default: + $this->clientError(_('API method not found.'), 404, $this->format); + break; + } + } + + function nicknameExists($nickname) + { + $group = Local_group::staticGet('nickname', $nickname); + + if (!empty($group) && + $group->group_id != $this->group->id) { + return true; + } + + $alias = Group_alias::staticGet('alias', $nickname); + + if (!empty($alias) && + $alias->group_id != $this->group->id) { + return true; + } + + return false; + } + + function validateNickname() + { + if (!Validate::string( + $this->nickname, array( + 'min_length' => 1, + 'max_length' => 64, + 'format' => NICKNAME_FMT + ) + ) + ) { + throw new ApiValidationException( + _( + 'Nickname must have only lowercase letters ' . + 'and numbers and no spaces.' + ) + ); + } else if ($this->nicknameExists($this->nickname)) { + throw new ApiValidationException( + _('Nickname already in use. Try another one.') + ); + } else if (!User_group::allowedNickname($this->nickname)) { + throw new ApiValidationException( + _('Not a valid nickname.') + ); + } + } + + function validateHomepage() + { + if (!is_null($this->homepage) + && (strlen($this->homepage) > 0) + && !Validate::uri( + $this->homepage, + array('allowed_schemes' => array('http', 'https') + ) + ) + ) { + throw new ApiValidationException( + _('Homepage is not a valid URL.') + ); + } + } + + function validateFullname() + { + if (!is_null($this->fullname) && mb_strlen($this->fullname) > 255) { + throw new ApiValidationException( + _('Full name is too long (max 255 chars).') + ); + } + } + + function validateDescription() + { + if (User_group::descriptionTooLong($this->description)) { + throw new ApiValidationException( + sprintf( + _('description is too long (max %d chars).'), + User_group::maxDescription() + ) + ); + } + } + + function validateLocation() + { + if (!is_null($this->location) && mb_strlen($this->location) > 255) { + throw new ApiValidationException( + _('Location is too long (max 255 chars).') + ); + } + } + + function validateAliases() + { + $aliases = array_map( + 'common_canonical_nickname', + array_unique( + preg_split('/[\s,]+/', + $this->aliasstring + ) + ) + ); + + if (empty($aliases)) { + $aliases = array(); + } + + if (count($aliases) > common_config('group', 'maxaliases')) { + throw new ApiValidationException( + sprintf( + _('Too many aliases! Maximum %d.'), + common_config('group', 'maxaliases') + ) + ); + } + + foreach ($aliases as $alias) { + if (!Validate::string( + $alias, array( + 'min_length' => 1, + 'max_length' => 64, + 'format' => NICKNAME_FMT) + ) + ) { + throw new ApiValidationException( + sprintf( + _('Invalid alias: "%s"'), + $alias + ) + ); + } + + if ($this->nicknameExists($alias)) { + throw new ApiValidationException( + sprintf( + _('Alias "%s" already in use. Try another one.'), + $alias) + ); + } + + // XXX assumes alphanum nicknames + if (strcmp($alias, $nickname) == 0) { + throw new ApiValidationException( + _('Alias can\'t be the same as nickname.') + ); + } + } + + return $aliases; + } + +} \ No newline at end of file diff --git a/lib/router.php b/lib/router.php index a040abb83..faa26c861 100644 --- a/lib/router.php +++ b/lib/router.php @@ -650,6 +650,12 @@ class Router $m->connect('api/statusnet/groups/create.:format', array('action' => 'ApiGroupCreate', 'format' => '(xml|json)')); + + $m->connect('api/statusnet/groups/update/:id.:format', + array('action' => 'ApiGroupProfileUpdate', + 'id' => '[a-zA-Z0-9]+', + 'format' => '(xml|json)')); + // Tags $m->connect('api/statusnet/tags/timeline/:tag.:format', array('action' => 'ApiTimelineTag', -- cgit v1.2.3 From 06a63b0404aa96efc1118563482c11567b048961 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 7 May 2010 00:52:54 -0700 Subject: Finish api/statusnet/groups/update --- actions/apigroupprofileupdate.php | 19 ++++++++----------- lib/apiaction.php | 2 ++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/actions/apigroupprofileupdate.php b/actions/apigroupprofileupdate.php index 0d3620c26..6ac4b5a4b 100644 --- a/actions/apigroupprofileupdate.php +++ b/actions/apigroupprofileupdate.php @@ -33,8 +33,6 @@ if (!defined('STATUSNET')) { require_once INSTALLDIR . '/lib/apiauth.php'; -class ApiValidationException extends Exception { } - /** * API analog to the group edit page * @@ -62,6 +60,7 @@ class ApiGroupProfileUpdateAction extends ApiAuthAction parent::prepare($args); $this->nickname = common_canonical_nickname($this->trimmed('nickname')); + $this->fullname = $this->trimmed('fullname'); $this->homepage = $this->trimmed('homepage'); $this->description = $this->trimmed('description'); @@ -172,12 +171,12 @@ class ApiGroupProfileUpdateAction extends ApiAuthAction $this->serverError(_('Could not update group.')); } - $aliases = null; + $aliases = array(); try { - if (!empty($this->aliasstring)) { - $aliases = $this->parseAliases(); + if (!empty($this->aliasstring)) { + $aliases = $this->validateAliases(); } } catch (ApiValidationException $ave) { @@ -195,7 +194,7 @@ class ApiGroupProfileUpdateAction extends ApiAuthAction $this->serverError(_('Could not create aliases.')); } - if (!empty($this->nickname) && $this->nickname != $orig->nickname) { + if (!empty($this->nickname) && ($this->nickname != $orig->nickname)) { common_log(LOG_INFO, "Saving local group info."); $local = Local_group::staticGet('group_id', $this->group->id); $local->setNickname($this->nickname); @@ -260,6 +259,8 @@ class ApiGroupProfileUpdateAction extends ApiAuthAction _('Not a valid nickname.') ); } + + return true; } function validateHomepage() @@ -319,10 +320,6 @@ class ApiGroupProfileUpdateAction extends ApiAuthAction ) ); - if (empty($aliases)) { - $aliases = array(); - } - if (count($aliases) > common_config('group', 'maxaliases')) { throw new ApiValidationException( sprintf( @@ -357,7 +354,7 @@ class ApiGroupProfileUpdateAction extends ApiAuthAction } // XXX assumes alphanum nicknames - if (strcmp($alias, $nickname) == 0) { + if (strcmp($alias, $this->nickname) == 0) { throw new ApiValidationException( _('Alias can\'t be the same as nickname.') ); diff --git a/lib/apiaction.php b/lib/apiaction.php index 42aa08ef7..d35391d4e 100644 --- a/lib/apiaction.php +++ b/lib/apiaction.php @@ -97,6 +97,8 @@ if (!defined('STATUSNET')) { exit(1); } +class ApiValidationException extends Exception { } + /** * Contains most of the Twitter-compatible API output functions. * -- cgit v1.2.3 From da18701394ef717cd68dad11f5a830719ad675e6 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 7 May 2010 16:32:24 -0700 Subject: Fix for repeats from the API having null source attribution --- actions/apidirectmessagenew.php | 8 -------- actions/apistatusesretweet.php | 2 +- actions/apistatusesupdate.php | 12 ------------ lib/apiaction.php | 9 +++++++++ lib/apiauth.php | 3 +-- 5 files changed, 11 insertions(+), 23 deletions(-) diff --git a/actions/apidirectmessagenew.php b/actions/apidirectmessagenew.php index b9ac92d77..65d065648 100644 --- a/actions/apidirectmessagenew.php +++ b/actions/apidirectmessagenew.php @@ -52,7 +52,6 @@ require_once INSTALLDIR . '/lib/apiauth.php'; class ApiDirectMessageNewAction extends ApiAuthAction { - var $source = null; var $other = null; var $content = null; @@ -76,13 +75,6 @@ class ApiDirectMessageNewAction extends ApiAuthAction return; } - $this->source = $this->trimmed('source'); // Not supported by Twitter. - - $reserved_sources = array('web', 'omb', 'mail', 'xmpp', 'api'); - if (empty($this->source) || in_array($this->source, $reserved_sources)) { - $source = 'api'; - } - $this->content = $this->trimmed('text'); $this->user = $this->auth_user; diff --git a/actions/apistatusesretweet.php b/actions/apistatusesretweet.php index 128c881e2..9aa337485 100644 --- a/actions/apistatusesretweet.php +++ b/actions/apistatusesretweet.php @@ -79,7 +79,7 @@ class ApiStatusesRetweetAction extends ApiAuthAction $this->user = $this->auth_user; - if ($this->user->id == $notice->profile_id) { + if ($this->user->id == $this->original->profile_id) { $this->clientError(_('Cannot repeat your own notice.'), 400, $this->format); return false; diff --git a/actions/apistatusesupdate.php b/actions/apistatusesupdate.php index 5f3a447c2..a0a81f336 100644 --- a/actions/apistatusesupdate.php +++ b/actions/apistatusesupdate.php @@ -155,8 +155,6 @@ class ApiStatusesUpdateAction extends ApiAuthAction var $lat = null; var $lon = null; - static $reserved_sources = array('web', 'omb', 'mail', 'xmpp', 'api'); - /** * Take arguments for running * @@ -171,19 +169,9 @@ class ApiStatusesUpdateAction extends ApiAuthAction parent::prepare($args); $this->status = $this->trimmed('status'); - $this->source = $this->trimmed('source'); $this->lat = $this->trimmed('lat'); $this->lon = $this->trimmed('long'); - // try to set the source attr from OAuth app - if (empty($this->source)) { - $this->source = $this->oauth_source; - } - - if (empty($this->source) || in_array($this->source, self::$reserved_sources)) { - $this->source = 'api'; - } - $this->in_reply_to_status_id = intval($this->trimmed('in_reply_to_status_id')); diff --git a/lib/apiaction.php b/lib/apiaction.php index d35391d4e..e481a1ef2 100644 --- a/lib/apiaction.php +++ b/lib/apiaction.php @@ -126,9 +126,12 @@ class ApiAction extends Action var $count = null; var $max_id = null; var $since_id = null; + var $source = null; var $access = self::READ_ONLY; // read (default) or read-write + static $reserved_sources = array('web', 'omb', 'ostatus', 'mail', 'xmpp', 'api'); + /** * Initialization. * @@ -152,6 +155,12 @@ class ApiAction extends Action header('X-StatusNet-Warning: since parameter is disabled; use since_id'); } + $this->source = $this->trimmed('source'); + + if (empty($this->source) || in_array($this->source, self::$reserved_sources)) { + $this->source = 'api'; + } + return true; } diff --git a/lib/apiauth.php b/lib/apiauth.php index 8c3998888..9c68e2771 100644 --- a/lib/apiauth.php +++ b/lib/apiauth.php @@ -72,7 +72,6 @@ class ApiAuthAction extends ApiAction { var $auth_user_nickname = null; var $auth_user_password = null; - var $oauth_source = null; /** * Take arguments for running, looks for an OAuth request, @@ -181,7 +180,7 @@ class ApiAuthAction extends ApiAction // set the source attr - $this->oauth_source = $app->name; + $this->source = $app->name; $appUser = Oauth_application_user::staticGet('token', $access_token); -- cgit v1.2.3 From cef2ded9e79b2d84fddd6e7f5af09c02c50315a8 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 21 May 2010 10:29:28 -0700 Subject: Add TweetDeck to notice sources --- db/notice_source.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/db/notice_source.sql b/db/notice_source.sql index f9c525679..fbcdd6568 100644 --- a/db/notice_source.sql +++ b/db/notice_source.sql @@ -54,6 +54,7 @@ VALUES ('tr.im','tr.im','http://tr.im/', now()), ('triklepost', 'Tricklepost', 'http://github.com/zcopley/tricklepost/tree/master', now()), ('tweenky','Tweenky','http://beta.tweenky.com/', now()), + ('TweetDeck', 'TweetDeck', 'http://www.tweetdeck.com/', now()), ('twhirl','Twhirl','http://www.twhirl.org/', now()), ('twibble','twibble','http://www.twibble.de/', now()), ('Twidge','Twidge','http://software.complete.org/twidge', now()), -- cgit v1.2.3 From bcca10f5268ac2c2945479dd93d2f302478e02f9 Mon Sep 17 00:00:00 2001 From: Marcel van der Boom Date: Thu, 27 May 2010 19:25:45 +0200 Subject: Add implementation of API method home_timeline method --- plugins/TwitterBridge/twitteroauthclient.php | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/plugins/TwitterBridge/twitteroauthclient.php b/plugins/TwitterBridge/twitteroauthclient.php index d895d8c73..6b821ba18 100644 --- a/plugins/TwitterBridge/twitteroauthclient.php +++ b/plugins/TwitterBridge/twitteroauthclient.php @@ -217,6 +217,36 @@ class TwitterOAuthClient extends OAuthClient return $statuses; } + /** + * Calls Twitter's /statuses/home_timeline API method + * + * @param int $since_id show statuses after this id + * @param int $max_id show statuses before this id + * @param int $cnt number of statuses to show + * @param int $page page number + * + * @return mixed an array of statuses, similare to friends_timeline, except including retweets + */ + function statusesHomeTimeline($since_id = null, $max_id = null, + $cnt = null, $page = null) + { + + $url = 'https://twitter.com/statuses/home_timeline.json'; + $params = array('since_id' => $since_id, + 'max_id' => $max_id, + 'count' => $cnt, + 'page' => $page); + $qry = http_build_query($params); + + if (!empty($qry)) { + $url .= "?$qry"; + } + + $response = $this->oAuthGet($url); + $statuses = json_decode($response); + return $statuses; + } + /** * Calls Twitter's /statuses/friends API method * -- cgit v1.2.3 From 4211b7f01188b4ab64407e32b380366a048102f4 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Thu, 27 May 2010 11:21:52 -0700 Subject: - Implement statusesHomeTimeline() in TwitterBasicAuthClient - Make TwitterStatusFetcher pull home_timeline (includes retweets) instead of friends_timeline --- .../TwitterBridge/daemons/twitterstatusfetcher.php | 2 +- plugins/TwitterBridge/twitterbasicauthclient.php | 31 +++++++++++++++++++++- plugins/TwitterBridge/twitteroauthclient.php | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php index 7c624fdb3..03a4bd3f3 100755 --- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php +++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php @@ -186,7 +186,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon $timeline = null; try { - $timeline = $client->statusesFriendsTimeline(); + $timeline = $client->statusesHomeTimeline(); } catch (Exception $e) { common_log(LOG_WARNING, $this->name() . ' - Twitter client unable to get friends timeline for user ' . diff --git a/plugins/TwitterBridge/twitterbasicauthclient.php b/plugins/TwitterBridge/twitterbasicauthclient.php index 2c18c9469..cc68b5010 100644 --- a/plugins/TwitterBridge/twitterbasicauthclient.php +++ b/plugins/TwitterBridge/twitterbasicauthclient.php @@ -2,7 +2,7 @@ /** * StatusNet, the distributed open-source microblogging tool * - * Class for doing OAuth calls against Twitter + * Class for doing HTTP basic auth calls against Twitter * * PHP version 5 * @@ -125,6 +125,35 @@ class TwitterBasicAuthClient return $statuses; } + /** + * Calls Twitter's /statuses/home_timeline API method + * + * @param int $since_id show statuses after this id + * @param int $max_id show statuses before this id + * @param int $cnt number of statuses to show + * @param int $page page number + * + * @return mixed an array of statuses similar to friends timeline but including retweets + */ + function statusesFriendsTimeline($since_id = null, $max_id = null, + $cnt = null, $page = null) + { + $url = 'https://twitter.com/statuses/home_timeline.json'; + $params = array('since_id' => $since_id, + 'max_id' => $max_id, + 'count' => $cnt, + 'page' => $page); + $qry = http_build_query($params); + + if (!empty($qry)) { + $url .= "?$qry"; + } + + $response = $this->httpRequest($url); + $statuses = json_decode($response); + return $statuses; + } + /** * Calls Twitter's /statuses/friends API method * diff --git a/plugins/TwitterBridge/twitteroauthclient.php b/plugins/TwitterBridge/twitteroauthclient.php index 6b821ba18..f6ef78675 100644 --- a/plugins/TwitterBridge/twitteroauthclient.php +++ b/plugins/TwitterBridge/twitteroauthclient.php @@ -225,7 +225,7 @@ class TwitterOAuthClient extends OAuthClient * @param int $cnt number of statuses to show * @param int $page page number * - * @return mixed an array of statuses, similare to friends_timeline, except including retweets + * @return mixed an array of statuses, similar to friends_timeline but including retweets */ function statusesHomeTimeline($since_id = null, $max_id = null, $cnt = null, $page = null) -- cgit v1.2.3 From d2234580357349a6887a2321e69d11de7bb29106 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 31 May 2010 08:49:14 -0700 Subject: Widgetize the design form Squashed commit of the following: commit a4610db66974866fdeb98184ce7e2be1470fb4d7 Author: Evan Prodromou Date: Mon May 31 08:48:35 2010 -0700 use selfUrl for designform action commit fd9f46ab33caa2c2d0df90d1d596c7b8c6453ce3 Author: Evan Prodromou Date: Mon May 31 08:29:43 2010 -0700 fix design settings syntax commit d1797ef9f90bf038665463424ad962bfe039c9f0 Author: Evan Prodromou Date: Mon Nov 9 23:23:53 2009 -0500 widgetizing design form --- lib/designform.php | 293 +++++++++++++++++++++++++++++++++++++++++++++++++ lib/designsettings.php | 173 +---------------------------- 2 files changed, 295 insertions(+), 171 deletions(-) create mode 100644 lib/designform.php diff --git a/lib/designform.php b/lib/designform.php new file mode 100644 index 000000000..b22d77f31 --- /dev/null +++ b/lib/designform.php @@ -0,0 +1,293 @@ +. + * + * @category Form + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @copyright 2009 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Form for choosing a design + * + * Used for choosing a site design, user design, or group design. + * + * @category Form + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + * + */ + +class DesignForm extends Form +{ + /** + * Return-to args + */ + + var $design = null; + var $actionurl = null; + + /** + * Constructor + * + * @param HTMLOutputter $out output channel + * @param Design $design initial design + * @param Design $actionurl url of action (for form posting) + */ + + function __construct($out, $design, $actionurl) + { + parent::__construct($out); + + $this->design = $design; + $this->actionurl = $actionurl; + } + + /** + * ID of the form + * + * @return int ID of the form + */ + + function id() + { + return 'design'; + } + + /** + * class of the form + * + * @return string class of the form + */ + + function formClass() + { + return 'form_design'; + } + + /** + * Action of the form + * + * @return string URL of the action + */ + + function action() + { + return $this->actionurl; + } + + /** + * Legend of the Form + * + * @return void + */ + function formLegend() + { + $this->out->element('legend', null, _('Change design')); + } + + /** + * Data elements of the form + * + * @return void + */ + + function formData() + { + $this->out->elementStart('ul', 'form_data'); + $this->out->elementStart('li'); + $this->out->element('label', array('for' => 'design_background-image_file'), + _('Upload file')); + $this->out->element('input', array('name' => 'design_background-image_file', + 'type' => 'file', + 'id' => 'design_background-image_file')); + $this->out->element('p', 'form_guide', _('You can upload your personal ' . + 'background image. The maximum file size is 2Mb.')); + $this->out->element('input', array('name' => 'MAX_FILE_SIZE', + 'type' => 'hidden', + 'id' => 'MAX_FILE_SIZE', + 'value' => ImageFile::maxFileSizeInt())); + $this->out->elementEnd('li'); + + if (!empty($design->backgroundimage)) { + + $this->out->elementStart('li', array('id' => + 'design_background-image_onoff')); + + $this->out->element('img', array('src' => + Design::url($design->backgroundimage))); + + $attrs = array('name' => 'design_background-image_onoff', + 'type' => 'radio', + 'id' => 'design_background-image_on', + 'class' => 'radio', + 'value' => 'on'); + + if ($design->disposition & BACKGROUND_ON) { + $attrs['checked'] = 'checked'; + } + + $this->out->element('input', $attrs); + + $this->out->element('label', array('for' => 'design_background-image_on', + 'class' => 'radio'), + _('On')); + + $attrs = array('name' => 'design_background-image_onoff', + 'type' => 'radio', + 'id' => 'design_background-image_off', + 'class' => 'radio', + 'value' => 'off'); + + if ($design->disposition & BACKGROUND_OFF) { + $attrs['checked'] = 'checked'; + } + + $this->out->element('input', $attrs); + + $this->out->element('label', array('for' => 'design_background-image_off', + 'class' => 'radio'), + _('Off')); + $this->out->element('p', 'form_guide', _('Turn background image on or off.')); + $this->out->elementEnd('li'); + + $this->out->elementStart('li'); + $this->out->checkbox('design_background-image_repeat', + _('Tile background image'), + ($design->disposition & BACKGROUND_TILE) ? true : false); + $this->out->elementEnd('li'); + } + + $this->out->elementEnd('ul'); + $this->out->elementEnd('fieldset'); + + $this->out->elementStart('fieldset', array('id' => 'settings_design_color')); + $this->out->element('legend', null, _('Change colours')); + $this->out->elementStart('ul', 'form_data'); + + try { + + $bgcolor = new WebColor($design->backgroundcolor); + + $this->out->elementStart('li'); + $this->out->element('label', array('for' => 'swatch-1'), _('Background')); + $this->out->element('input', array('name' => 'design_background', + 'type' => 'text', + 'id' => 'swatch-1', + 'class' => 'swatch', + 'maxlength' => '7', + 'size' => '7', + 'value' => '')); + $this->out->elementEnd('li'); + + $ccolor = new WebColor($design->contentcolor); + + $this->out->elementStart('li'); + $this->out->element('label', array('for' => 'swatch-2'), _('Content')); + $this->out->element('input', array('name' => 'design_content', + 'type' => 'text', + 'id' => 'swatch-2', + 'class' => 'swatch', + 'maxlength' => '7', + 'size' => '7', + 'value' => '')); + $this->out->elementEnd('li'); + + $sbcolor = new WebColor($design->sidebarcolor); + + $this->out->elementStart('li'); + $this->out->element('label', array('for' => 'swatch-3'), _('Sidebar')); + $this->out->element('input', array('name' => 'design_sidebar', + 'type' => 'text', + 'id' => 'swatch-3', + 'class' => 'swatch', + 'maxlength' => '7', + 'size' => '7', + 'value' => '')); + $this->out->elementEnd('li'); + + $tcolor = new WebColor($design->textcolor); + + $this->out->elementStart('li'); + $this->out->element('label', array('for' => 'swatch-4'), _('Text')); + $this->out->element('input', array('name' => 'design_text', + 'type' => 'text', + 'id' => 'swatch-4', + 'class' => 'swatch', + 'maxlength' => '7', + 'size' => '7', + 'value' => '')); + $this->out->elementEnd('li'); + + $lcolor = new WebColor($design->linkcolor); + + $this->out->elementStart('li'); + $this->out->element('label', array('for' => 'swatch-5'), _('Links')); + $this->out->element('input', array('name' => 'design_links', + 'type' => 'text', + 'id' => 'swatch-5', + 'class' => 'swatch', + 'maxlength' => '7', + 'size' => '7', + 'value' => '')); + $this->out->elementEnd('li'); + + } catch (WebColorException $e) { + common_log(LOG_ERR, 'Bad color values in design ID: ' .$design->id); + } + + $this->out->elementEnd('ul'); + $this->out->elementEnd('fieldset'); + + $this->out->elementStart('fieldset'); + + $this->out->submit('defaults', _('Use defaults'), 'submit form_action-default', + 'defaults', _('Restore default designs')); + + $this->out->element('input', array('id' => 'settings_design_reset', + 'type' => 'reset', + 'value' => 'Reset', + 'class' => 'submit form_action-primary', + 'title' => _('Reset back to default'))); + } + + /** + * Action elements + * + * @return void + */ + + function formActions() + { + $this->out->submit('save', _('Save'), 'submit form_action-secondary', + 'save', _('Save design')); + } +} diff --git a/lib/designsettings.php b/lib/designsettings.php index 4955e9219..98ef8256c 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -87,177 +87,8 @@ class DesignSettingsAction extends AccountSettingsAction function showDesignForm($design) { - - $this->elementStart('form', array('method' => 'post', - 'enctype' => 'multipart/form-data', - 'id' => 'form_settings_design', - 'class' => 'form_settings', - 'action' => $this->submitaction)); - $this->elementStart('fieldset'); - $this->hidden('token', common_session_token()); - - $this->elementStart('fieldset', array('id' => - 'settings_design_background-image')); - $this->element('legend', null, _('Change background image')); - $this->elementStart('ul', 'form_data'); - $this->elementStart('li'); - $this->element('label', array('for' => 'design_background-image_file'), - _('Upload file')); - $this->element('input', array('name' => 'design_background-image_file', - 'type' => 'file', - 'id' => 'design_background-image_file')); - $this->element('p', 'form_guide', _('You can upload your personal ' . - 'background image. The maximum file size is 2MB.')); - $this->element('input', array('name' => 'MAX_FILE_SIZE', - 'type' => 'hidden', - 'id' => 'MAX_FILE_SIZE', - 'value' => ImageFile::maxFileSizeInt())); - $this->elementEnd('li'); - - if (!empty($design->backgroundimage)) { - - $this->elementStart('li', array('id' => - 'design_background-image_onoff')); - - $this->element('img', array('src' => - Design::url($design->backgroundimage))); - - $attrs = array('name' => 'design_background-image_onoff', - 'type' => 'radio', - 'id' => 'design_background-image_on', - 'class' => 'radio', - 'value' => 'on'); - - if ($design->disposition & BACKGROUND_ON) { - $attrs['checked'] = 'checked'; - } - - $this->element('input', $attrs); - - $this->element('label', array('for' => 'design_background-image_on', - 'class' => 'radio'), - _('On')); - - $attrs = array('name' => 'design_background-image_onoff', - 'type' => 'radio', - 'id' => 'design_background-image_off', - 'class' => 'radio', - 'value' => 'off'); - - if ($design->disposition & BACKGROUND_OFF) { - $attrs['checked'] = 'checked'; - } - - $this->element('input', $attrs); - - $this->element('label', array('for' => 'design_background-image_off', - 'class' => 'radio'), - _('Off')); - $this->element('p', 'form_guide', _('Turn background image on or off.')); - $this->elementEnd('li'); - - $this->elementStart('li'); - $this->checkbox('design_background-image_repeat', - _('Tile background image'), - ($design->disposition & BACKGROUND_TILE) ? true : false); - $this->elementEnd('li'); - } - - $this->elementEnd('ul'); - $this->elementEnd('fieldset'); - - $this->elementStart('fieldset', array('id' => 'settings_design_color')); - $this->element('legend', null, _('Change colours')); - $this->elementStart('ul', 'form_data'); - - try { - - $bgcolor = new WebColor($design->backgroundcolor); - - $this->elementStart('li'); - $this->element('label', array('for' => 'swatch-1'), _('Background')); - $this->element('input', array('name' => 'design_background', - 'type' => 'text', - 'id' => 'swatch-1', - 'class' => 'swatch', - 'maxlength' => '7', - 'size' => '7', - 'value' => '')); - $this->elementEnd('li'); - - $ccolor = new WebColor($design->contentcolor); - - $this->elementStart('li'); - $this->element('label', array('for' => 'swatch-2'), _('Content')); - $this->element('input', array('name' => 'design_content', - 'type' => 'text', - 'id' => 'swatch-2', - 'class' => 'swatch', - 'maxlength' => '7', - 'size' => '7', - 'value' => '')); - $this->elementEnd('li'); - - $sbcolor = new WebColor($design->sidebarcolor); - - $this->elementStart('li'); - $this->element('label', array('for' => 'swatch-3'), _('Sidebar')); - $this->element('input', array('name' => 'design_sidebar', - 'type' => 'text', - 'id' => 'swatch-3', - 'class' => 'swatch', - 'maxlength' => '7', - 'size' => '7', - 'value' => '')); - $this->elementEnd('li'); - - $tcolor = new WebColor($design->textcolor); - - $this->elementStart('li'); - $this->element('label', array('for' => 'swatch-4'), _('Text')); - $this->element('input', array('name' => 'design_text', - 'type' => 'text', - 'id' => 'swatch-4', - 'class' => 'swatch', - 'maxlength' => '7', - 'size' => '7', - 'value' => '')); - $this->elementEnd('li'); - - $lcolor = new WebColor($design->linkcolor); - - $this->elementStart('li'); - $this->element('label', array('for' => 'swatch-5'), _('Links')); - $this->element('input', array('name' => 'design_links', - 'type' => 'text', - 'id' => 'swatch-5', - 'class' => 'swatch', - 'maxlength' => '7', - 'size' => '7', - 'value' => '')); - $this->elementEnd('li'); - - } catch (WebColorException $e) { - common_log(LOG_ERR, 'Bad color values in design ID: ' .$design->id); - } - - $this->elementEnd('ul'); - $this->elementEnd('fieldset'); - - $this->submit('defaults', _('Use defaults'), 'submit form_action-default', - 'defaults', _('Restore default designs')); - - $this->element('input', array('id' => 'settings_design_reset', - 'type' => 'reset', - 'value' => 'Reset', - 'class' => 'submit form_action-primary', - 'title' => _('Reset back to default'))); - - $this->submit('save', _('Save'), 'submit form_action-secondary', - 'save', _('Save design')); - - $this->elementEnd('fieldset'); - $this->elementEnd('form'); + $form = new DesignForm($this, $design, $this->selfUrl()); + $form->show(); } /** -- cgit v1.2.3 From 7cc58b97feb822ab999b7fefa3a50ce53a7838d5 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 10 Jun 2010 15:23:57 -0700 Subject: Fix for compile error (misnamed function) in 4211b7f01188b4ab64407e32b380366a048102f4 --- plugins/TwitterBridge/twitterbasicauthclient.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/TwitterBridge/twitterbasicauthclient.php b/plugins/TwitterBridge/twitterbasicauthclient.php index cc68b5010..23828ed4a 100644 --- a/plugins/TwitterBridge/twitterbasicauthclient.php +++ b/plugins/TwitterBridge/twitterbasicauthclient.php @@ -135,7 +135,7 @@ class TwitterBasicAuthClient * * @return mixed an array of statuses similar to friends timeline but including retweets */ - function statusesFriendsTimeline($since_id = null, $max_id = null, + function statusesHomeTimeline($since_id = null, $max_id = null, $cnt = null, $page = null) { $url = 'https://twitter.com/statuses/home_timeline.json'; -- cgit v1.2.3 From 4ee2c12507b046e048ff023b94872cbbe9bde9a4 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 15 Jun 2010 17:04:15 -0400 Subject: Use presence of IM plugins to decide if "IM" menu option should be shown in Connect --- lib/connectsettingsaction.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index b9c14799e..c3a88be55 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -105,7 +105,7 @@ class ConnectSettingsNav extends Widget # action => array('prompt', 'title') $menu = array(); - if (common_config('xmpp', 'enabled')) { + if (Event::handle('GetImTransports', array(&$transports))) { $menu['imsettings'] = array(_('IM'), _('Updates by instant messenger (IM)')); -- cgit v1.2.3 From 1a62d1b49378bba4b69476282b9a5d0e03073405 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 16 Jun 2010 16:00:54 -0400 Subject: Use presence of IM plugins to decide if "IM" options should be available --- actions/subscriptions.php | 8 +++++--- lib/connectsettingsaction.php | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/actions/subscriptions.php b/actions/subscriptions.php index 7b10b3425..da563a218 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -185,7 +185,9 @@ class SubscriptionsListItem extends SubscriptionListItem return; } - if (!common_config('xmpp', 'enabled') && !common_config('sms', 'enabled')) { + $transports = array(); + Event::handle('GetImTransports', array(&$transports)); + if (!$transports && !common_config('sms', 'enabled')) { return; } @@ -195,7 +197,7 @@ class SubscriptionsListItem extends SubscriptionListItem 'action' => common_local_url('subedit'))); $this->out->hidden('token', common_session_token()); $this->out->hidden('profile', $this->profile->id); - if (common_config('xmpp', 'enabled')) { + if ($transports) { $attrs = array('name' => 'jabber', 'type' => 'checkbox', 'class' => 'checkbox', @@ -205,7 +207,7 @@ class SubscriptionsListItem extends SubscriptionListItem } $this->out->element('input', $attrs); - $this->out->element('label', array('for' => 'jabber-'.$this->profile->id), _('Jabber')); + $this->out->element('label', array('for' => 'jabber-'.$this->profile->id), _('IM')); } else { $this->out->hidden('jabber', $sub->jabber); } diff --git a/lib/connectsettingsaction.php b/lib/connectsettingsaction.php index c3a88be55..5d62fc56b 100644 --- a/lib/connectsettingsaction.php +++ b/lib/connectsettingsaction.php @@ -105,7 +105,9 @@ class ConnectSettingsNav extends Widget # action => array('prompt', 'title') $menu = array(); - if (Event::handle('GetImTransports', array(&$transports))) { + $transports = array(); + Event::handle('GetImTransports', array(&$transports)); + if ($transports) { $menu['imsettings'] = array(_('IM'), _('Updates by instant messenger (IM)')); -- cgit v1.2.3 From dad0b06a386092b159118780a6a6801f3cf674de Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 22 Jun 2010 22:01:13 -0400 Subject: Throw an error if queueing is disable when using an IM plugin --- lib/implugin.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/implugin.php b/lib/implugin.php index 7125aaee8..dafb8a416 100644 --- a/lib/implugin.php +++ b/lib/implugin.php @@ -619,8 +619,13 @@ abstract class ImPlugin extends Plugin function initialize() { + if( ! common_config('queue', 'enabled')) + { + throw new ServerException("Queueing must be enabled to use IM plugins"); + } + if(is_null($this->transport)){ - throw new Exception('transport cannot be null'); + throw new ServerException('transport cannot be null'); } } } -- cgit v1.2.3 From 43dd6cca633b09f29b480b63e9b9cbae080542d9 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Thu, 1 Jul 2010 18:57:55 +0200 Subject: Localisation updates from http://translatewiki.net --- locale/af/LC_MESSAGES/statusnet.po | 6 ++--- locale/ar/LC_MESSAGES/statusnet.po | 50 +++++++++++++++-------------------- locale/arz/LC_MESSAGES/statusnet.po | 6 ++--- locale/bg/LC_MESSAGES/statusnet.po | 16 +++++------ locale/br/LC_MESSAGES/statusnet.po | 6 ++--- locale/ca/LC_MESSAGES/statusnet.po | 8 +++--- locale/cs/LC_MESSAGES/statusnet.po | 9 +++---- locale/de/LC_MESSAGES/statusnet.po | 9 +++---- locale/el/LC_MESSAGES/statusnet.po | 6 ++--- locale/en_GB/LC_MESSAGES/statusnet.po | 9 +++---- locale/es/LC_MESSAGES/statusnet.po | 8 +++--- locale/fa/LC_MESSAGES/statusnet.po | 9 +++---- locale/fi/LC_MESSAGES/statusnet.po | 9 +++---- locale/fr/LC_MESSAGES/statusnet.po | 8 +++--- locale/ga/LC_MESSAGES/statusnet.po | 9 +++---- locale/gl/LC_MESSAGES/statusnet.po | 8 +++--- locale/he/LC_MESSAGES/statusnet.po | 9 +++---- locale/hsb/LC_MESSAGES/statusnet.po | 8 +++--- locale/ia/LC_MESSAGES/statusnet.po | 6 ++--- locale/is/LC_MESSAGES/statusnet.po | 9 +++---- locale/it/LC_MESSAGES/statusnet.po | 8 +++--- locale/ja/LC_MESSAGES/statusnet.po | 9 +++---- locale/ko/LC_MESSAGES/statusnet.po | 9 +++---- locale/mk/LC_MESSAGES/statusnet.po | 8 +++--- locale/nb/LC_MESSAGES/statusnet.po | 9 +++---- locale/nl/LC_MESSAGES/statusnet.po | 8 +++--- locale/nn/LC_MESSAGES/statusnet.po | 9 +++---- locale/pl/LC_MESSAGES/statusnet.po | 8 +++--- locale/pt/LC_MESSAGES/statusnet.po | 37 ++++++++++++++------------ locale/pt_BR/LC_MESSAGES/statusnet.po | 9 +++---- locale/ru/LC_MESSAGES/statusnet.po | 8 +++--- locale/statusnet.pot | 2 +- locale/sv/LC_MESSAGES/statusnet.po | 9 +++---- locale/te/LC_MESSAGES/statusnet.po | 6 ++--- locale/tr/LC_MESSAGES/statusnet.po | 9 +++---- locale/uk/LC_MESSAGES/statusnet.po | 8 +++--- locale/vi/LC_MESSAGES/statusnet.po | 9 +++---- locale/zh_CN/LC_MESSAGES/statusnet.po | 9 +++---- locale/zh_TW/LC_MESSAGES/statusnet.po | 6 ++--- 39 files changed, 182 insertions(+), 206 deletions(-) diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po index aa82c30f6..b43c404fd 100644 --- a/locale/af/LC_MESSAGES/statusnet.po +++ b/locale/af/LC_MESSAGES/statusnet.po @@ -9,11 +9,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:02:38+0000\n" +"PO-Revision-Date: 2010-07-01 16:30:55+0000\n" "Language-Team: Afrikaans\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: af\n" "X-Message-Group: out-statusnet\n" @@ -6443,7 +6443,7 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po index 3f9f58275..e57574ef5 100644 --- a/locale/ar/LC_MESSAGES/statusnet.po +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:02:42+0000\n" +"PO-Revision-Date: 2010-07-01 16:30:59+0000\n" "Language-Team: Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ar\n" "X-Message-Group: out-statusnet\n" @@ -429,9 +429,9 @@ msgid "Too many aliases! Maximum %d." msgstr "كنيات كيرة! العدد الأقصى هو %d." #: actions/apigroupcreate.php:267 -#, fuzzy, php-format +#, php-format msgid "Invalid alias: \"%s\"." -msgstr "كنية غير صالحة: \"%s\"" +msgstr "كنية غير صالحة: \"%s\"." #: actions/apigroupcreate.php:276 actions/editgroup.php:232 #: actions/newgroup.php:172 @@ -480,9 +480,9 @@ msgstr "مجموعات %s" #. TRANS: Meant to convey the user %2$s is a member of each of the groups listed on site %1$s #: actions/apigrouplist.php:108 -#, fuzzy, php-format +#, php-format msgid "%1$s groups %2$s is a member of." -msgstr "المجموعات التي %s عضو فيها" +msgstr "مجموعات %1$s التي %2$s عضو فيها." #. TRANS: Message is used as a title. %s is a site name. #. TRANS: Message is used as a page title. %s is a nick name. @@ -528,9 +528,8 @@ msgid "Invalid nickname / password!" msgstr "اسم/كلمة سر غير صحيحة!" #: actions/apioauthauthorize.php:159 -#, fuzzy msgid "Database error deleting OAuth application user." -msgstr "خطأ قاعدة البيانات أثناء حذف المستخدم OAuth app" +msgstr "خطأ في قاعدة البيانات أثناء حذف مستخدم تطبيق OAuth." #: actions/apioauthauthorize.php:185 #, fuzzy @@ -641,7 +640,7 @@ msgstr "لا حالة وُجدت بهذه الهوية." #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." -msgstr "" +msgstr "هذه طويلة جدًا. أطول حجم للإشعار %d حرفًا." #: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 msgid "Not found." @@ -1099,9 +1098,8 @@ msgid "Theme for the site." msgstr "سمة الموقع." #: actions/designadminpanel.php:467 -#, fuzzy msgid "Custom theme" -msgstr "سمة الموقع" +msgstr "سمة مخصصة" #: actions/designadminpanel.php:471 msgid "You can upload a custom StatusNet theme as a .ZIP archive." @@ -1163,11 +1161,11 @@ msgstr "وصلات" #: actions/designadminpanel.php:651 msgid "Advanced" -msgstr "" +msgstr "متقدم" #: actions/designadminpanel.php:655 msgid "Custom CSS" -msgstr "" +msgstr "CSS مخصصة" #: actions/designadminpanel.php:676 lib/designsettings.php:247 msgid "Use defaults" @@ -1650,9 +1648,8 @@ msgid "Remote service uses unknown version of OMB protocol." msgstr "" #: actions/finishremotesubscribe.php:138 -#, fuzzy msgid "Error updating remote profile." -msgstr "خطأ أثناء تحديث الملف الشخصي البعيد" +msgstr "خطأ أثناء تحديث الملف الشخصي البعيد." #: actions/getfile.php:79 msgid "No such file." @@ -1677,9 +1674,8 @@ msgid "You cannot grant user roles on this site." msgstr "لا يمكنك إسكات المستخدمين على هذا الموقع." #: actions/grantrole.php:82 -#, fuzzy msgid "User already has this role." -msgstr "المستخدم مسكت من قبل." +msgstr "لدى المستخدم هذا الدور من قبل." #: actions/groupblock.php:71 actions/groupunblock.php:71 #: actions/makeadmin.php:71 actions/subedit.php:46 @@ -3226,7 +3222,7 @@ msgstr "" #. TRANS: Copyright checkbox label in registration dialog, for all rights reserved. #: actions/register.php:535 msgid "All rights reserved." -msgstr "" +msgstr "جميع الحقوق محفوظة." #. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses. #: actions/register.php:540 @@ -3308,7 +3304,7 @@ msgstr "" #: actions/remotesubscribe.php:176 msgid "That’s a local profile! Login to subscribe." -msgstr "" +msgstr "هذا ملف شخصي محلي! لُج لتشترك." #: actions/remotesubscribe.php:183 msgid "Couldn’t get a request token." @@ -3391,14 +3387,12 @@ msgid "Replies to %1$s on %2$s!" msgstr "" #: actions/revokerole.php:75 -#, fuzzy msgid "You cannot revoke user roles on this site." -msgstr "لا يمكنك إسكات المستخدمين على هذا الموقع." +msgstr "لا يمكنك سحب أدوار المستخدمين على هذا الموقع." #: actions/revokerole.php:82 -#, fuzzy msgid "User doesn't have this role." -msgstr "المستخدم بدون ملف مطابق." +msgstr "ليس للمستخدم هذا الدور." #: actions/rsd.php:146 actions/version.php:159 msgid "StatusNet" @@ -4802,10 +4796,9 @@ msgstr "غير بريدك الإلكتروني وكلمة سرّك وأفتار #. TRANS: Tooltip for main menu option "Services" #: lib/action.php:452 -#, fuzzy msgctxt "TOOLTIP" msgid "Connect to services" -msgstr "اتصالات" +msgstr "اتصل بالخدمات" #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services #: lib/action.php:455 @@ -6168,7 +6161,7 @@ msgstr "فشل في كتابة الملف إلى القرص." #: lib/mediafile.php:165 msgid "File upload stopped by extension." -msgstr "" +msgstr "أوقفت إضافة رفع الملف." #: lib/mediafile.php:179 lib/mediafile.php:216 msgid "File exceeds user's quota." @@ -6543,7 +6536,7 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 @@ -6648,9 +6641,8 @@ msgid "Moderate" msgstr "راقب" #: lib/userprofile.php:364 -#, fuzzy msgid "User role" -msgstr "ملف المستخدم الشخصي" +msgstr "دور المستخدم" #: lib/userprofile.php:366 msgctxt "role" diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po index 8fc629453..1a5a3fd21 100644 --- a/locale/arz/LC_MESSAGES/statusnet.po +++ b/locale/arz/LC_MESSAGES/statusnet.po @@ -11,11 +11,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:02:48+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:05+0000\n" "Language-Team: Egyptian Spoken Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: arz\n" "X-Message-Group: out-statusnet\n" @@ -6529,7 +6529,7 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po index 6f87d49be..1afe404d6 100644 --- a/locale/bg/LC_MESSAGES/statusnet.po +++ b/locale/bg/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:02:52+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:09+0000\n" "Language-Team: Bulgarian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: bg\n" "X-Message-Group: out-statusnet\n" @@ -575,7 +575,7 @@ msgstr "" #: actions/apioauthauthorize.php:276 msgid "Allow or deny access" -msgstr "" +msgstr "Разрешение или забрана на достъпа" #: actions/apioauthauthorize.php:292 #, php-format @@ -606,12 +606,11 @@ msgstr "Парола" #: actions/apioauthauthorize.php:328 msgid "Deny" -msgstr "" +msgstr "Забрана" #: actions/apioauthauthorize.php:334 -#, fuzzy msgid "Allow" -msgstr "Всички" +msgstr "Разрешение" #: actions/apioauthauthorize.php:351 msgid "Allow or deny access to your account information." @@ -6708,9 +6707,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Системна грешка при качване на файл." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po index 098967713..056b6e456 100644 --- a/locale/br/LC_MESSAGES/statusnet.po +++ b/locale/br/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:02:56+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:13+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: out-statusnet\n" @@ -6471,7 +6471,7 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po index 2b5a2076d..54b3b3fa7 100644 --- a/locale/ca/LC_MESSAGES/statusnet.po +++ b/locale/ca/LC_MESSAGES/statusnet.po @@ -11,11 +11,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:01+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:20+0000\n" "Language-Team: Catalan\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ca\n" "X-Message-Group: out-statusnet\n" @@ -6878,8 +6878,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "El servidor no pot gestionar la pujada de temes si no pot tractar ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "La pujada del tema ha fallat o no hi és." +msgid "The theme file is missing or the upload failed." +msgstr "Manca el fitxer del tema o la pujada ha fallat." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po index f9bd7ded9..82b74b814 100644 --- a/locale/cs/LC_MESSAGES/statusnet.po +++ b/locale/cs/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:06+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:24+0000\n" "Language-Team: Czech\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: cs\n" "X-Message-Group: out-statusnet\n" @@ -6772,9 +6772,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Chyba systému při nahrávání souboru" +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po index 3f16402f2..6d4101779 100644 --- a/locale/de/LC_MESSAGES/statusnet.po +++ b/locale/de/LC_MESSAGES/statusnet.po @@ -18,11 +18,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:12+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:28+0000\n" "Language-Team: German\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: out-statusnet\n" @@ -6893,9 +6893,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Systemfehler beim hochladen der Datei." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po index 803c3b34b..62702c4d1 100644 --- a/locale/el/LC_MESSAGES/statusnet.po +++ b/locale/el/LC_MESSAGES/statusnet.po @@ -11,11 +11,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:17+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:32+0000\n" "Language-Team: Greek\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: el\n" "X-Message-Group: out-statusnet\n" @@ -6644,7 +6644,7 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index 96dc69be6..68494a841 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -12,11 +12,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:21+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:36+0000\n" "Language-Team: British English\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: en-gb\n" "X-Message-Group: out-statusnet\n" @@ -6670,9 +6670,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "System error uploading file." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index 56f866af8..39e3d011c 100644 --- a/locale/es/LC_MESSAGES/statusnet.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -16,11 +16,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:25+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:42+0000\n" "Language-Team: Spanish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: out-statusnet\n" @@ -6888,8 +6888,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "Este servidor no puede manejar cargas de temas sin soporte ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Sudida del tema perdido o errado." +msgid "The theme file is missing or the upload failed." +msgstr "El archivo de tema está perdido o la carga falló." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po index 22997fc91..252f10b96 100644 --- a/locale/fa/LC_MESSAGES/statusnet.po +++ b/locale/fa/LC_MESSAGES/statusnet.po @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:35+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:50+0000\n" "Last-Translator: Ahmad Sufi Mahmudi\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" "X-Language-Code: fa\n" "X-Message-Group: out-statusnet\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" #. TRANS: Page title @@ -6806,9 +6806,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "هنگام بارگذاری پرونده خطای سیستمی رخ داد." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index 2b5f91e41..e9db35d8c 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -11,11 +11,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:30+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:46+0000\n" "Language-Team: Finnish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fi\n" "X-Message-Group: out-statusnet\n" @@ -6884,9 +6884,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Tiedoston lähetyksessä tapahtui järjestelmävirhe." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po index 5adb8b360..138433aac 100644 --- a/locale/fr/LC_MESSAGES/statusnet.po +++ b/locale/fr/LC_MESSAGES/statusnet.po @@ -16,11 +16,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:40+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:55+0000\n" "Language-Team: French\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: out-statusnet\n" @@ -6923,8 +6923,8 @@ msgstr "" "ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Le thème est manquant ou son import a échoué." +msgid "The theme file is missing or the upload failed." +msgstr "Le fichier de thème est manquant ou le téléversement a échoué." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po index ac7ad1b5f..5ff4b2639 100644 --- a/locale/ga/LC_MESSAGES/statusnet.po +++ b/locale/ga/LC_MESSAGES/statusnet.po @@ -9,11 +9,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:45+0000\n" +"PO-Revision-Date: 2010-07-01 16:31:59+0000\n" "Language-Team: Irish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ga\n" "X-Message-Group: out-statusnet\n" @@ -7049,9 +7049,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Aconteceu un erro no sistema namentras se estaba cargando o ficheiro." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po index 14cbd03c7..c13be54db 100644 --- a/locale/gl/LC_MESSAGES/statusnet.po +++ b/locale/gl/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:49+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:03+0000\n" "Language-Team: Galician\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: out-statusnet\n" @@ -6882,8 +6882,8 @@ msgstr "" "formato ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Houbo un erro no sistema ao cargar o tema visual." +msgid "The theme file is missing or the upload failed." +msgstr "O ficheiro do tema visual non existe ou a subida fallou." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po index d1b13a29a..165593ae7 100644 --- a/locale/he/LC_MESSAGES/statusnet.po +++ b/locale/he/LC_MESSAGES/statusnet.po @@ -8,11 +8,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:54+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:06+0000\n" "Language-Team: Hebrew\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: he\n" "X-Message-Group: out-statusnet\n" @@ -6776,9 +6776,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "שגיאת מערכת בהעלאת הקובץ." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po index 1c5781d51..fccb3f82c 100644 --- a/locale/hsb/LC_MESSAGES/statusnet.po +++ b/locale/hsb/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:03:58+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:10+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: hsb\n" "X-Message-Group: out-statusnet\n" @@ -6438,8 +6438,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Nahraće šata faluje abo je so njeporadźiło." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po index cc699cef4..7ca27fa13 100644 --- a/locale/ia/LC_MESSAGES/statusnet.po +++ b/locale/ia/LC_MESSAGES/statusnet.po @@ -9,11 +9,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:03+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:14+0000\n" "Language-Team: Interlingua\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: out-statusnet\n" @@ -6853,7 +6853,7 @@ msgstr "" "ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "Le file del apparentia manca o le incargamento ha fallite." #: lib/themeuploader.php:91 lib/themeuploader.php:102 diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po index c76c4e95f..f8ad6feba 100644 --- a/locale/is/LC_MESSAGES/statusnet.po +++ b/locale/is/LC_MESSAGES/statusnet.po @@ -9,11 +9,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:07+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:18+0000\n" "Language-Team: Icelandic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: is\n" "X-Message-Group: out-statusnet\n" @@ -6816,9 +6816,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Kerfisvilla kom upp við upphal skráar." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po index 1b6b39f03..768669de8 100644 --- a/locale/it/LC_MESSAGES/statusnet.po +++ b/locale/it/LC_MESSAGES/statusnet.po @@ -11,11 +11,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:12+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:21+0000\n" "Language-Team: Italian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: it\n" "X-Message-Group: out-statusnet\n" @@ -6857,8 +6857,8 @@ msgstr "" "Questo server non è in grado di gestire caricamenti senza il supporto ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Tema caricato mancante o caricamento non riuscito." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po index e0e1ef021..bfe9dc26c 100644 --- a/locale/ja/LC_MESSAGES/statusnet.po +++ b/locale/ja/LC_MESSAGES/statusnet.po @@ -12,11 +12,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:16+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:27+0000\n" "Language-Team: Japanese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ja\n" "X-Message-Group: out-statusnet\n" @@ -6842,9 +6842,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "ファイルのアップロードでシステムエラー" +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po index ce2db363a..4524fd9f2 100644 --- a/locale/ko/LC_MESSAGES/statusnet.po +++ b/locale/ko/LC_MESSAGES/statusnet.po @@ -9,11 +9,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:21+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:31+0000\n" "Language-Team: Korean\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ko\n" "X-Message-Group: out-statusnet\n" @@ -6788,9 +6788,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "파일을 올리는데 시스템 오류 발생" +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po index 09836ffa5..6bd34f303 100644 --- a/locale/mk/LC_MESSAGES/statusnet.po +++ b/locale/mk/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:26+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:36+0000\n" "Language-Team: Macedonian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: out-statusnet\n" @@ -6879,8 +6879,8 @@ msgstr "" "Опслужувачот не може да се справи со подигања на изгледи без ZIP-поддршка." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Подигањето на мотивот недостасува или не успеа." +msgid "The theme file is missing or the upload failed." +msgstr "Податотеката за изгледот недостасува или подигањето не успеало." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po index 112ca76c8..36a0ab395 100644 --- a/locale/nb/LC_MESSAGES/statusnet.po +++ b/locale/nb/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:30+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:40+0000\n" "Language-Team: Norwegian (bokmål)‬\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: out-statusnet\n" @@ -6737,9 +6737,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Systemfeil ved opplasting av fil." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po index a69a7c7ea..35bedff33 100644 --- a/locale/nl/LC_MESSAGES/statusnet.po +++ b/locale/nl/LC_MESSAGES/statusnet.po @@ -11,11 +11,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:39+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:47+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: out-statusnet\n" @@ -6931,8 +6931,8 @@ msgstr "" "ondersteuning." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Het uploaden van het bestand met de vormgeving is mislukt." +msgid "The theme file is missing or the upload failed." +msgstr "Het vormgevingsbestand ontbreekt of is de upload mislukt." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po index dc166d820..18cd10e65 100644 --- a/locale/nn/LC_MESSAGES/statusnet.po +++ b/locale/nn/LC_MESSAGES/statusnet.po @@ -9,11 +9,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:35+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:43+0000\n" "Language-Team: Norwegian Nynorsk\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nn\n" "X-Message-Group: out-statusnet\n" @@ -6866,9 +6866,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Systemfeil ved opplasting av fil." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po index 95146156b..f57cce944 100644 --- a/locale/pl/LC_MESSAGES/statusnet.po +++ b/locale/pl/LC_MESSAGES/statusnet.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:44+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:51+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pl\n" "X-Message-Group: out-statusnet\n" @@ -6850,8 +6850,8 @@ msgstr "" "Ten serwer nie może obsługiwać wysyłania motywu bez obsługi archiwów zip." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Brak wysłania motywu lub nie powiodło się." +msgid "The theme file is missing or the upload failed." +msgstr "Brak pliku motywu lub wysłanie nie powiodło się." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index d2b2720bb..33e1bf040 100644 --- a/locale/pt/LC_MESSAGES/statusnet.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -12,11 +12,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:48+0000\n" +"PO-Revision-Date: 2010-07-01 16:32:56+0000\n" "Language-Team: Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt\n" "X-Message-Group: out-statusnet\n" @@ -1122,13 +1122,14 @@ msgid "Theme for the site." msgstr "O tema para o site." #: actions/designadminpanel.php:467 -#, fuzzy msgid "Custom theme" -msgstr "Tema do site" +msgstr "Tema personalizado" #: actions/designadminpanel.php:471 msgid "You can upload a custom StatusNet theme as a .ZIP archive." msgstr "" +"Pode fazer o upload de um tema personalizado para o StatusNet, na forma de " +"um arquivo .ZIP." #: actions/designadminpanel.php:486 lib/designsettings.php:101 msgid "Change background image" @@ -1188,11 +1189,11 @@ msgstr "Links" #: actions/designadminpanel.php:651 msgid "Advanced" -msgstr "" +msgstr "Avançado" #: actions/designadminpanel.php:655 msgid "Custom CSS" -msgstr "" +msgstr "CSS personalizado" #: actions/designadminpanel.php:676 lib/designsettings.php:247 msgid "Use defaults" @@ -4854,7 +4855,7 @@ msgstr "Não foi possível actualizar a mensagem com a nova URI." #: classes/Notice.php:182 #, php-format msgid "Database error inserting hashtag: %s" -msgstr "Erro na base de dados ao inserir a marca: %s" +msgstr "Erro na base de dados ao inserir o elemento criptográfico: %s" #: classes/Notice.php:251 msgid "Problem saving notice. Too long." @@ -6845,47 +6846,49 @@ msgstr "Nenhum" #: lib/themeuploader.php:50 msgid "This server cannot handle theme uploads without ZIP support." msgstr "" +"Este servidor não pode processar uploads de temas sem suporte do formato ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Ocorreu um erro de sistema ao transferir o ficheiro." +msgid "The theme file is missing or the upload failed." +msgstr "O ficheiro do tema não foi localizado ou o upload falhou." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 #: lib/themeuploader.php:265 lib/themeuploader.php:272 -#, fuzzy msgid "Failed saving theme." -msgstr "Falha ao actualizar avatar." +msgstr "Não foi possível gravar o tema." #: lib/themeuploader.php:139 msgid "Invalid theme: bad directory structure." -msgstr "" +msgstr "Tema inválido: estrutura de directórios incorrecta." #: lib/themeuploader.php:166 #, php-format msgid "Uploaded theme is too large; must be less than %d bytes uncompressed." msgstr "" +"O tema carregado é demasiado grande; tem de ter menos de %d bytes " +"descomprimido." #: lib/themeuploader.php:178 msgid "Invalid theme archive: missing file css/display.css" -msgstr "" +msgstr "Arquivo do tema inválido: falta o ficheiro css/display.css" #: lib/themeuploader.php:205 msgid "" "Theme contains invalid file or folder name. Stick with ASCII letters, " "digits, underscore, and minus sign." msgstr "" +"Tema contém um nome de ficheiro ou de directório inválido. Use somente " +"letras ASCII, algarismos, sublinhados e o sinal de menos." #: lib/themeuploader.php:216 #, php-format msgid "Theme contains file of type '.%s', which is not allowed." -msgstr "" +msgstr "Tema contém um ficheiro do tipo '.%s', o que não é permitido." #: lib/themeuploader.php:234 -#, fuzzy msgid "Error opening theme archive." -msgstr "Erro ao actualizar o perfil remoto." +msgstr "Ocorreu um erro ao abrir o arquivo do tema." #: lib/topposterssection.php:74 msgid "Top posters" diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index a12a309f3..b9f5db519 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -13,11 +13,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:52+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:00+0000\n" "Language-Team: Brazilian Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: out-statusnet\n" @@ -6883,9 +6883,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Erro no sistema durante o envio do arquivo." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po index d276b197a..b2a33370d 100644 --- a/locale/ru/LC_MESSAGES/statusnet.po +++ b/locale/ru/LC_MESSAGES/statusnet.po @@ -13,11 +13,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:04:57+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:05+0000\n" "Language-Team: Russian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: out-statusnet\n" @@ -6864,8 +6864,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "Этот сервер не может обработать загруженные темы без поддержки ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Ошибка при загрузке файла темы." +msgid "The theme file is missing or the upload failed." +msgstr "Файл темы отсутствует или произошёл сбой при загрузке." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/statusnet.pot b/locale/statusnet.pot index c81149288..c4e06d2dd 100644 --- a/locale/statusnet.pot +++ b/locale/statusnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-21 18:15+0000\n" +"POT-Creation-Date: 2010-07-01 16:30+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po index 5d8461ca0..0f5c7a819 100644 --- a/locale/sv/LC_MESSAGES/statusnet.po +++ b/locale/sv/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:05:03+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:09+0000\n" "Language-Team: Swedish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: sv\n" "X-Message-Group: out-statusnet\n" @@ -6828,9 +6828,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Systemfel vid uppladdning av fil." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po index c5d30c58a..4eab29aae 100644 --- a/locale/te/LC_MESSAGES/statusnet.po +++ b/locale/te/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:05:08+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:13+0000\n" "Language-Team: Telugu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: te\n" "X-Message-Group: out-statusnet\n" @@ -6684,7 +6684,7 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po index 8f59d8476..092c77dd5 100644 --- a/locale/tr/LC_MESSAGES/statusnet.po +++ b/locale/tr/LC_MESSAGES/statusnet.po @@ -10,11 +10,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:05:12+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:17+0000\n" "Language-Team: Turkish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tr\n" "X-Message-Group: out-statusnet\n" @@ -6779,9 +6779,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Dosya yüklemede sistem hatası." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po index 93ef6b48a..a9745dcf5 100644 --- a/locale/uk/LC_MESSAGES/statusnet.po +++ b/locale/uk/LC_MESSAGES/statusnet.po @@ -12,11 +12,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:05:17+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:20+0000\n" "Language-Team: Ukrainian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: out-statusnet\n" @@ -6846,8 +6846,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "Цей сервер не може опрацювати завантаження теми без підтримки ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." -msgstr "Завантажити тему не вдалося або процес завантаження перервано." +msgid "The theme file is missing or the upload failed." +msgstr "Файл теми відсутній, або стався збій при завантаженні." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po index cc5899b9e..113ba4fe6 100644 --- a/locale/vi/LC_MESSAGES/statusnet.po +++ b/locale/vi/LC_MESSAGES/statusnet.po @@ -8,11 +8,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:05:22+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:24+0000\n" "Language-Team: Vietnamese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: vi\n" "X-Message-Group: out-statusnet\n" @@ -7018,9 +7018,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "Hệ thống xảy ra lỗi trong khi tải file." +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index d9afdf9e9..02e92e5bd 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -11,11 +11,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:05:26+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:28+0000\n" "Language-Team: Simplified Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: out-statusnet\n" @@ -6890,9 +6890,8 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -#, fuzzy -msgid "Theme upload missing or failed." -msgstr "上传文件时出错。" +msgid "The theme file is missing or the upload failed." +msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index e002fd55d..16f8a2d34 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -8,11 +8,11 @@ msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-06-21 18:05:30+0000\n" +"PO-Revision-Date: 2010-07-01 16:33:32+0000\n" "Language-Team: Traditional Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68367); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hant\n" "X-Message-Group: out-statusnet\n" @@ -6658,7 +6658,7 @@ msgid "This server cannot handle theme uploads without ZIP support." msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 -msgid "Theme upload missing or failed." +msgid "The theme file is missing or the upload failed." msgstr "" #: lib/themeuploader.php:91 lib/themeuploader.php:102 -- cgit v1.2.3 From 974c4df0293afe43d763b7d888c7d92b22b67c56 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 12 Jul 2010 09:56:32 -0700 Subject: Ticket 2433: Skip locale fallback list check on Windows ('locale -a' shell-out doesn't work there) --- lib/util.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/util.php b/lib/util.php index 2a90b56a9..9f62097d5 100644 --- a/lib/util.php +++ b/lib/util.php @@ -88,8 +88,8 @@ function common_init_language() // don't do the job. en_US.UTF-8 should be there most of the // time, but not guaranteed. $ok = common_init_locale("en_US"); - if (!$ok) { - // Try to find a complete, working locale... + if (!$ok && strtolower(substr(PHP_OS, 0, 3)) != 'win') { + // Try to find a complete, working locale on Unix/Linux... // @fixme shelling out feels awfully inefficient // but I don't think there's a more standard way. $all = `locale -a`; @@ -101,9 +101,9 @@ function common_init_language() } } } - if (!$ok) { - common_log(LOG_ERR, "Unable to find a UTF-8 locale on this system; UI translations may not work."); - } + } + if (!$ok) { + common_log(LOG_ERR, "Unable to find a UTF-8 locale on this system; UI translations may not work."); } $locale_set = common_init_locale($language); } -- cgit v1.2.3 From 1b3b7f9a422f6b703ec36d43e2283f91a9835f3b Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 12 Jul 2010 10:27:23 -0700 Subject: Ticket 2427: fix regression in plugin i18n --- lib/language.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/language.php b/lib/language.php index 1805707ad..6840148d2 100644 --- a/lib/language.php +++ b/lib/language.php @@ -213,16 +213,16 @@ function _mdomain($backtrace) $plug = strpos($path, '/plugins/'); if ($plug === false) { // We're not in a plugin; return default domain. - return 'statusnet'; + $final = 'statusnet'; } else { $cut = $plug + 9; $cut2 = strpos($path, '/', $cut); if ($cut2) { - $cached[$path] = substr($path, $cut, $cut2 - $cut); + $final = substr($path, $cut, $cut2 - $cut); } else { // We might be running directly from the plugins dir? // If so, there's no place to store locale info. - return 'statusnet'; + $final = 'statusnet'; } } $cached[$path] = $final; -- cgit v1.2.3 From d645b342ac4a678b9f7932ee38858e25cd611f35 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 12 Jul 2010 14:22:36 -0700 Subject: Commit hubprepqueuehandler.php -- fix for OStatus bulk output. --- plugins/OStatus/lib/hubprepqueuehandler.php | 87 +++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 plugins/OStatus/lib/hubprepqueuehandler.php diff --git a/plugins/OStatus/lib/hubprepqueuehandler.php b/plugins/OStatus/lib/hubprepqueuehandler.php new file mode 100644 index 000000000..0d585938f --- /dev/null +++ b/plugins/OStatus/lib/hubprepqueuehandler.php @@ -0,0 +1,87 @@ +. + */ + +/** + * When we have a large batch of PuSH consumers, we break the data set + * into smaller chunks. Enqueue final destinations... + * + * @package Hub + * @author Brion Vibber + */ +class HubPrepQueueHandler extends QueueHandler +{ + // Enqueue this many low-level distributions before re-queueing the rest + // of the batch to be processed later. Helps to keep latency down for other + // things happening during a particularly long OStatus delivery session. + // + // [Could probably ditch this if we had working message delivery priorities + // for queueing, but this isn't supported in ActiveMQ 5.3.] + const ROLLING_BATCH = 20; + + function transport() + { + return 'hubprep'; + } + + function handle($data) + { + $topic = $data['topic']; + $atom = $data['atom']; + $pushCallbacks = $data['pushCallbacks']; + + assert(is_string($atom)); + assert(is_string($topic)); + assert(is_array($pushCallbacks)); + + // Set up distribution for the first n subscribing sites... + // If we encounter an uncatchable error, queue handling should + // automatically re-run the batch, which could lead to some dupe + // distributions. + // + // Worst case is if one of these hubprep entries dies too many + // times and gets dropped; the rest of the batch won't get processed. + try { + $n = 0; + while (count($pushCallbacks) && $n < self::ROLLING_BATCH) { + $n++; + $callback = array_shift($pushCallbacks); + $sub = HubSub::staticGet($topic, $callback); + if (!$sub) { + common_log(LOG_ERR, "Skipping PuSH delivery for deleted(?) consumer $callback on $topic"); + continue; + } + + $sub->distribute($atom); + } + } catch (Exception $e) { + common_log(LOG_ERR, "Exception during PuSH batch out: " . + $e->getMessage() . + " prepping $topic to $callback"); + } + + // And re-queue the rest of the batch! + if (count($pushCallbacks) > 0) { + $sub = new HubSub(); + $sub->topic = $topic; + $sub->bulkDistribute($atom, $pushCallbacks); + } + + return true; + } +} -- cgit v1.2.3 From 7065450f03078fb1ac2105b75f9c7a4e052bca9c Mon Sep 17 00:00:00 2001 From: James Walker Date: Tue, 20 Jul 2010 17:34:58 -0700 Subject: normalizing tags for status_network --- classes/Status_network.php | 52 +++++++++++++++++++++++++++++-- classes/Status_network_tag.php | 69 +++++++++++++++++++++++++++++++++++++++++ classes/status_network.ini | 15 +++++++-- db/site.sql | 16 +++++++--- scripts/settag.php | 12 ++----- scripts/setup_status_network.sh | 6 ++-- 6 files changed, 150 insertions(+), 20 deletions(-) create mode 100644 classes/Status_network_tag.php diff --git a/classes/Status_network.php b/classes/Status_network.php index 64016dd79..d1ca454e2 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -27,7 +27,8 @@ class Status_network extends Safe_DataObject /* the code below is auto generated do not remove the above tag */ public $__table = 'status_network'; // table name - public $nickname; // varchar(64) primary_key not_null + public $site_id; // int(4) primary_key not_null + public $nickname; // varchar(64) unique_key not_null public $hostname; // varchar(255) unique_key public $pathname; // varchar(255) unique_key public $dbhost; // varchar(255) @@ -39,7 +40,6 @@ class Status_network extends Safe_DataObject public $logo; // varchar(255) public $created; // datetime() not_null public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP - public $tags; // text /* Static get */ function staticGet($k,$v=NULL) { @@ -308,9 +308,55 @@ class Status_network extends Safe_DataObject */ function getTags() { - return array_filter(explode("|", strval($this->tags))); + $result = array(); + + $tags = new Status_network_tag(); + $tags->site_id = $this->site_id; + if ($tags->find()) { + while ($tags->fetch()) { + $result[] = $tags->tag; + } + } + + return $result; } + /** + * Save a given set of tags + * @param array tags + */ + function setTags($tags) + { + $this->clearTags(); + foreach ($tags as $tag) { + $snt = new Status_network_tag(); + $snt->site_id = $this->site_id; + $snt->tag = $tag; + $snt->created = common_sql_now(); + + $id = $snt->insert(); + if (!$id) { + throw new Exception(_("Unable to save tag.")); + } + } + + return true; + } + + function clearTags() + { + $tag = new Status_network_tag(); + $tag->site_id = $this->site_id; + + if ($tag->find()) { + while($tag->fetch()) { + $tag->delete(); + } + } + + $tag->free(); + } + /** * Check if this site record has a particular meta-info tag attached. * @param string $tag diff --git a/classes/Status_network_tag.php b/classes/Status_network_tag.php new file mode 100644 index 000000000..18c508bc8 --- /dev/null +++ b/classes/Status_network_tag.php @@ -0,0 +1,69 @@ +. + */ + +if (!defined('STATUSNET')) { exit(1); } + +class Status_network_tag extends Safe_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'status_network_tag'; // table name + public $site_id; // int(4) primary_key not_null + public $tag; // varchar(64) primary_key not_null + public $created; // datetime() not_null + + + function __construct() + { + global $config; + global $_DB_DATAOBJECT; + + $sn = new Status_network(); + $sn->_connect(); + + $config['db']['table_'. $this->__table] = $sn->_database; + + $this->_connect(); + } + + + /* Static get */ + function staticGet($k,$v=null) + { + $i = DB_DataObject::staticGet('Status_network_tag',$k,$v); + + // Don't use local process cache; if we're fetching multiple + // times it's because we're reloading it in a long-running + // process; we need a fresh copy! + global $_DB_DATAOBJECT; + unset($_DB_DATAOBJECT['CACHE']['status_network_tag']); + return $i; + } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE + + + + function pkeyGet($kv) + { + return Memcached_DataObject::pkeyGet('Status_network_tag', $kv); + } +} diff --git a/classes/status_network.ini b/classes/status_network.ini index adb71cba7..83226e915 100644 --- a/classes/status_network.ini +++ b/classes/status_network.ini @@ -1,4 +1,5 @@ [status_network] +side_id = 129 nickname = 130 hostname = 2 pathname = 2 @@ -11,9 +12,19 @@ theme = 2 logo = 2 created = 142 modified = 384 -tags = 34 [status_network__keys] -nickname = K +site_id = K +nickname = U hostname = U pathname = U + +[status_network_tag] +site_id = 129 +tag = 130 +created = 142 + +[status_network_tag__keys] +site_id = K +tag = K + diff --git a/db/site.sql b/db/site.sql index 791303bd5..bc425841d 100644 --- a/db/site.sql +++ b/db/site.sql @@ -1,8 +1,9 @@ /* For managing multiple sites */ create table status_network ( - - nickname varchar(64) primary key comment 'nickname', + + site_id integer auto_increment primary key comment 'unique id', + nickname varchar(64) unique key comment 'nickname', hostname varchar(255) unique key comment 'alternate hostname if any', pathname varchar(255) unique key comment 'alternate pathname if any', @@ -15,9 +16,16 @@ create table status_network ( theme varchar(255) comment 'theme name', logo varchar(255) comment 'site logo', - tags text comment 'site meta-info tags (pipe-separated)', - created datetime not null comment 'date this record was created', modified timestamp comment 'date this record was modified' ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; + +create table status_network_tag ( + site_id integer comment 'unique id', + tag varchar(64) comment 'tag name', + created datetime not null comment 'date the record was created', + + constraint primary key (site_id, tag) +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; + diff --git a/scripts/settag.php b/scripts/settag.php index d1b06ff10..ca260f7bf 100644 --- a/scripts/settag.php +++ b/scripts/settag.php @@ -39,11 +39,10 @@ if (count($args) < 1) { } $nickname = $args[0]; - $sn = Status_network::memGet('nickname', $nickname); if (empty($sn)) { - print "No such site.\n"; + print "No such site ($nickname).\n"; exit(-1); } @@ -54,16 +53,13 @@ if (count($args) == 1) { exit(0); } $tag = $args[1]; - $i = array_search($tag, $tags); if ($i !== false) { if (have_option('d', 'delete')) { // Delete unset($tags[$i]); - $orig = clone($sn); - $sn->tags = implode('|', $tags); - $result = $sn->update($orig); + $result = $sn->setTags($tags); if (!$result) { print "Couldn't update.\n"; exit(-1); @@ -78,9 +74,7 @@ if ($i !== false) { exit(-1); } else { $tags[] = $tag; - $orig = clone($sn); - $sn->tags = implode('|', $tags); - $result = $sn->update($orig); + $result = $sn->setTags($tags); if (!$result) { print "Couldn't update.\n"; exit(-1); diff --git a/scripts/setup_status_network.sh b/scripts/setup_status_network.sh index 4ebb696c7..3dd739030 100755 --- a/scripts/setup_status_network.sh +++ b/scripts/setup_status_network.sh @@ -44,8 +44,8 @@ mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $SITEDB << ENDOFCOMMANDS GRANT ALL ON $database.* TO '$username'@'localhost' IDENTIFIED BY '$password'; GRANT ALL ON $database.* TO '$username'@'%' IDENTIFIED BY '$password'; -INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created, tags) -VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now(), '$tags'); +INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created) +VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now()); ENDOFCOMMANDS @@ -56,6 +56,8 @@ done php $PHPBASE/scripts/checkschema.php -s"$server" +php $PHPBASE/scripts/settag.php -s"$server" "$nickname" "$tags" + php $PHPBASE/scripts/registeruser.php \ -s"$server" \ -n"$nickname" \ -- cgit v1.2.3 From a6b1feb08cbd3f7bd3f83a31c449b5a4ca8965f0 Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 11:43:47 -0400 Subject: leaving tags column in (for now) --- db/site.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/db/site.sql b/db/site.sql index bc425841d..f87995b94 100644 --- a/db/site.sql +++ b/db/site.sql @@ -16,6 +16,8 @@ create table status_network ( theme varchar(255) comment 'theme name', logo varchar(255) comment 'site logo', + tags text comment 'site meta-info tags (pipe-separated)', + created datetime not null comment 'date this record was created', modified timestamp comment 'date this record was modified' -- cgit v1.2.3 From dd7647aa9538abdc24edf9c89b8e563bbdbb519e Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 11:49:09 -0400 Subject: script to normalize status_network tags --- scripts/fixup_status_network.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 scripts/fixup_status_network.php diff --git a/scripts/fixup_status_network.php b/scripts/fixup_status_network.php new file mode 100644 index 000000000..dae492a86 --- /dev/null +++ b/scripts/fixup_status_network.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +. + */ + +print "BEGIN\n"; +define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); + +require_once INSTALLDIR.'/scripts/commandline.inc'; + +common_log(LOG_INFO, 'Beginning conversion...'); + +$sn = new Status_network(); +$sn->find(); +while ($sn->fetch()) { + $sn->setTags(explode('|', $sn->tags)); +} -- cgit v1.2.3 From 4853b1e2a029a844d0c92e6ad5f2a9e8c51b785c Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 11:50:04 -0400 Subject: SQL script to update status_network table --- db/site_093to094.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 db/site_093to094.sql diff --git a/db/site_093to094.sql b/db/site_093to094.sql new file mode 100644 index 000000000..30cea31df --- /dev/null +++ b/db/site_093to094.sql @@ -0,0 +1,13 @@ +alter table status_network + drop primary key, + add column site_id integer auto_increment primary key first, + add unique key (nickname); + +create table status_network_tag ( + site_id integer comment 'unique id', + tag varchar(64) comment 'tag name', + created datetime not null comment 'date the record was created', + + constraint primary key (site_id, tag) +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; + -- cgit v1.2.3 From 29b8a6a18f67de74fb6adb9e91c10e7d1577c067 Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 11:57:54 -0400 Subject: don't try to save empty tags --- classes/Status_network.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/classes/Status_network.php b/classes/Status_network.php index d1ca454e2..339f4c813 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -329,14 +329,16 @@ class Status_network extends Safe_DataObject { $this->clearTags(); foreach ($tags as $tag) { - $snt = new Status_network_tag(); - $snt->site_id = $this->site_id; - $snt->tag = $tag; - $snt->created = common_sql_now(); - - $id = $snt->insert(); - if (!$id) { - throw new Exception(_("Unable to save tag.")); + if (!empty($tag)) { + $snt = new Status_network_tag(); + $snt->site_id = $this->site_id; + $snt->tag = $tag; + $snt->created = common_sql_now(); + + $id = $snt->insert(); + if (!$id) { + throw new Exception(_("Unable to save tag.")); + } } } -- cgit v1.2.3 From 5daa5bc2af4bb6a56bcd71e8da01115200864ecd Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 12:04:37 -0400 Subject: try/catch just in case.. --- scripts/fixup_status_network.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/fixup_status_network.php b/scripts/fixup_status_network.php index dae492a86..def1eaa88 100644 --- a/scripts/fixup_status_network.php +++ b/scripts/fixup_status_network.php @@ -18,15 +18,20 @@ * along with this program. If not, see . */ -print "BEGIN\n"; define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); require_once INSTALLDIR.'/scripts/commandline.inc'; -common_log(LOG_INFO, 'Beginning conversion...'); +common_log(LOG_INFO, 'Beginning status_network conversion...'); $sn = new Status_network(); $sn->find(); while ($sn->fetch()) { - $sn->setTags(explode('|', $sn->tags)); + try { + $sn->setTags(explode('|', $sn->tags)); + } catch (Exception $e) { + common_log(LOG_ERR, $e->getMessage()); + } } + +common_log(LOG_INFO, 'Completed status_network conversion...'); -- cgit v1.2.3 From 5688c635a62ea109a9aa9565e40e994ea984cd95 Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 12:13:53 -0400 Subject: backwards compatibility for old tags format in hasTag --- classes/Status_network.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/classes/Status_network.php b/classes/Status_network.php index 339f4c813..a0f3ba5f7 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -318,6 +318,11 @@ class Status_network extends Safe_DataObject } } + // XXX : for backwards compatibility + if (empty($result)) { + return explode('|', $this->tags); + } + return $result; } -- cgit v1.2.3 From 97728791a16a74937d07b88bd22ea5cc6cd54cdd Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Wed, 28 Jul 2010 22:13:37 +0200 Subject: Localisation updates from http://translatewiki.net --- locale/af/LC_MESSAGES/statusnet.po | 149 ++++++++++---------- locale/ar/LC_MESSAGES/statusnet.po | 155 +++++++++++---------- locale/arz/LC_MESSAGES/statusnet.po | 155 +++++++++++---------- locale/bg/LC_MESSAGES/statusnet.po | 165 ++++++++++++----------- locale/br/LC_MESSAGES/statusnet.po | 157 +++++++++++---------- locale/ca/LC_MESSAGES/statusnet.po | 247 ++++++++++++++++++---------------- locale/cs/LC_MESSAGES/statusnet.po | 147 ++++++++++---------- locale/de/LC_MESSAGES/statusnet.po | 186 +++++++++++++------------ locale/el/LC_MESSAGES/statusnet.po | 149 ++++++++++---------- locale/en_GB/LC_MESSAGES/statusnet.po | 161 ++++++++++++---------- locale/es/LC_MESSAGES/statusnet.po | 161 ++++++++++++---------- locale/fa/LC_MESSAGES/statusnet.po | 161 ++++++++++++---------- locale/fi/LC_MESSAGES/statusnet.po | 148 ++++++++++---------- locale/fr/LC_MESSAGES/statusnet.po | 163 +++++++++++----------- locale/ga/LC_MESSAGES/statusnet.po | 147 +++++++++++--------- locale/gl/LC_MESSAGES/statusnet.po | 161 ++++++++++++---------- locale/he/LC_MESSAGES/statusnet.po | 147 ++++++++++---------- locale/hsb/LC_MESSAGES/statusnet.po | 148 ++++++++++---------- locale/ia/LC_MESSAGES/statusnet.po | 175 +++++++++++++----------- locale/is/LC_MESSAGES/statusnet.po | 147 +++++++++++--------- locale/it/LC_MESSAGES/statusnet.po | 163 +++++++++++----------- locale/ja/LC_MESSAGES/statusnet.po | 161 ++++++++++++---------- locale/ko/LC_MESSAGES/statusnet.po | 151 +++++++++++---------- locale/mk/LC_MESSAGES/statusnet.po | 164 +++++++++++----------- locale/nb/LC_MESSAGES/statusnet.po | 170 ++++++++++++----------- locale/nl/LC_MESSAGES/statusnet.po | 161 ++++++++++++---------- locale/nn/LC_MESSAGES/statusnet.po | 147 +++++++++++--------- locale/pl/LC_MESSAGES/statusnet.po | 161 ++++++++++++---------- locale/pt/LC_MESSAGES/statusnet.po | 167 ++++++++++++----------- locale/pt_BR/LC_MESSAGES/statusnet.po | 182 +++++++++++++------------ locale/ru/LC_MESSAGES/statusnet.po | 171 ++++++++++++----------- locale/statusnet.pot | 139 ++++++++++--------- locale/sv/LC_MESSAGES/statusnet.po | 192 ++++++++++++++------------ locale/te/LC_MESSAGES/statusnet.po | 166 ++++++++++++----------- locale/tr/LC_MESSAGES/statusnet.po | 147 ++++++++++---------- locale/uk/LC_MESSAGES/statusnet.po | 165 ++++++++++++----------- locale/vi/LC_MESSAGES/statusnet.po | 172 +++++++++++------------ locale/zh_CN/LC_MESSAGES/statusnet.po | 147 +++++++++++--------- locale/zh_TW/LC_MESSAGES/statusnet.po | 147 ++++++++++---------- 39 files changed, 3390 insertions(+), 2912 deletions(-) diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po index b43c404fd..b155631c8 100644 --- a/locale/af/LC_MESSAGES/statusnet.po +++ b/locale/af/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:30:55+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:01+0000\n" "Language-Team: Afrikaans\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: af\n" "X-Message-Group: out-statusnet\n" @@ -167,15 +167,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -355,7 +355,8 @@ msgstr "" "Dit was nie moontlik om die boodskap van u gunstelinge te verwyder nie." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "U kan nie die gebruiker volg nie: die gebruiker bestaan nie." #: actions/apifriendshipscreate.php:118 @@ -373,8 +374,8 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "U kan nie ophou om uself te volg nie." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -658,7 +659,7 @@ msgstr "Nie gevind nie." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Nie-ondersteunde formaat." @@ -712,6 +713,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Die aanhangsel bestaan nie." @@ -764,7 +769,7 @@ msgid "Preview" msgstr "Voorskou" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Skrap" @@ -1039,7 +1044,7 @@ msgid "Do not delete this notice" msgstr "Moenie hierdie kennisgewing verwyder nie" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Verwyder hierdie kennisgewing" @@ -1314,7 +1319,7 @@ msgstr "Ongeldige alias: \"%s\"" msgid "Could not update group." msgstr "Dit was nie moontlik om die groep by te werk nie." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Dit was nie moontlik om die aliasse te skep nie." @@ -2400,7 +2405,7 @@ msgstr "" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2476,8 +2481,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3332,7 +3337,7 @@ msgstr "" msgid "You already repeated that notice." msgstr "" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Herhalend" @@ -3367,11 +3372,13 @@ msgid "Replies feed for %s (Atom)" msgstr "" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" +"Hierdie is die tydslyn vir %s en vriende, maar niemand het nog iets gepos " +"nie." #: actions/replies.php:204 #, php-format @@ -3383,8 +3390,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3473,7 +3480,7 @@ msgstr "Organisasie" msgid "Description" msgstr "Beskrywing" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistieke" @@ -3558,16 +3565,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3626,7 +3633,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "Vriend van 'n vriend vir die groep %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Lede" @@ -3640,11 +3647,11 @@ msgstr "(geen)" msgid "All members" msgstr "Alle lede" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Geskep" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3654,7 +3661,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3663,7 +3670,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administrateurs" @@ -3738,8 +3745,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4276,10 +4283,6 @@ msgstr "" msgid "No such tag." msgstr "Onbekende etiket." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "" @@ -4616,50 +4619,60 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Dit was nie moontlik om u ontwerp-instellings te stoor nie." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4693,19 +4706,19 @@ msgstr "" msgid "Welcome to %1$s, @%2$s!" msgstr "Welkom by %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Kon nie die groep skep nie." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "" -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "" -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "" @@ -6015,7 +6028,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "van" @@ -6070,24 +6083,24 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6141,51 +6154,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "O" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "W" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "op" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "in konteks" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Herhaal deur" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Antwoord" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "" diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po index e57574ef5..dd870798c 100644 --- a/locale/ar/LC_MESSAGES/statusnet.po +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:30:59+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:02+0000\n" "Language-Team: Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ar\n" "X-Message-Group: out-statusnet\n" @@ -166,16 +166,18 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" +"%s لم يضف أي إشعارات إلى مفضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action." +"register%%%%) وترسل شيئًا شيقًا ليضيفه إلى مفضلته. :)" #. TRANS: H1 text #: actions/all.php:182 @@ -351,8 +353,9 @@ msgid "Could not delete favorite." msgstr "تعذّر حذف المفضلة." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." -msgstr "" +#, fuzzy +msgid "Could not follow user: profile not found." +msgstr "لم يمكن حفظ الملف." #: actions/apifriendshipscreate.php:118 #, php-format @@ -367,8 +370,8 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "لا يمكنك عدم متابعة نفسك." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -651,7 +654,7 @@ msgstr "لم يوجد." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "نسق غير مدعوم." @@ -705,6 +708,10 @@ msgstr "الإشعارات الموسومة ب%s" msgid "Updates tagged with %1$s on %2$s!" msgstr "" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "لا مرفق كهذا." @@ -757,7 +764,7 @@ msgid "Preview" msgstr "معاينة" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "احذف" @@ -1030,7 +1037,7 @@ msgid "Do not delete this notice" msgstr "لا تحذف هذا الإشعار" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "احذف هذا الإشعار" @@ -1304,7 +1311,7 @@ msgstr "كنية غير صالحة: \"%s\"" msgid "Could not update group." msgstr "تعذر تحديث المجموعة." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "تعذّر إنشاء الكنى." @@ -2386,7 +2393,7 @@ msgstr "" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2462,8 +2469,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "ليس نسق بيانات مدعوم." @@ -3326,7 +3333,7 @@ msgstr "لا يمكنك تكرار ملاحظتك الشخصية." msgid "You already repeated that notice." msgstr "أنت كررت هذه الملاحظة بالفعل." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "مكرر" @@ -3364,7 +3371,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3377,8 +3384,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3467,7 +3474,7 @@ msgstr "المنظمة" msgid "Description" msgstr "الوصف" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "إحصاءات" @@ -3550,20 +3557,20 @@ msgid "" msgstr "" #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s لم يضف أي إشعارات إلى مفضلته إلى الآن. أرسل شيئًا شيقًا ليضيفه إلى " "مفضلته. :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s لم يضف أي إشعارات إلى مفضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action." "register%%%%) وترسل شيئًا شيقًا ليضيفه إلى مفضلته. :)" @@ -3624,7 +3631,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "الأعضاء" @@ -3638,11 +3645,11 @@ msgstr "(لا شيء)" msgid "All members" msgstr "جميع الأعضاء" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "أنشئت" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3657,7 +3664,7 @@ msgstr "" "[انضم الآن](%%%%action.register%%%%) لتصبح عضوًا في هذه المجموعة ومجموعات " "أخرى عديدة! ([اقرأ المزيد](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3669,7 +3676,7 @@ msgstr "" "en.wikipedia.org/wiki/Micro-blogging) المبنية على البرنامج الحر [StatusNet]" "(http://status.net/). يتشارك أعضاؤها رسائل قصيرة عن حياتهم واهتماماتهم. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "الإداريون" @@ -3744,8 +3751,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4286,10 +4293,6 @@ msgstr "" msgid "No such tag." msgstr "لا وسم كهذا." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "لم تمنع هذا المستخدم." @@ -4628,51 +4631,61 @@ msgstr "تعذّر إدراج الرسالة." msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "خطأ قاعدة البيانات أثناء إدخال المستخدم OAuth app" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "مشكلة في حفظ الإشعار. طويل جدًا." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "مشكلة في حفظ الإشعار. مستخدم غير معروف." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "مشكلة أثناء حفظ الإشعار." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "مشكلة أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تي @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "تعذّر حفظ إشعار الموقع." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4707,20 +4720,20 @@ msgstr "تعذّر حذف الاشتراك." msgid "Welcome to %1$s, @%2$s!" msgstr "أهلا بكم في %1$s يا @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "تعذّر إنشاء المجموعة." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "تعذّر ضبط عضوية المجموعة." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "تعذّر ضبط عضوية المجموعة." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "تعذّر حفظ الاشتراك." @@ -6108,7 +6121,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "من" @@ -6163,24 +6176,24 @@ msgstr "فشل في كتابة الملف إلى القرص." msgid "File upload stopped by extension." msgstr "أوقفت إضافة رفع الملف." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "لم يمكن تحديد نوع MIME للملف." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6234,51 +6247,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "ش" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "ج" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "ر" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "غ" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "في" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "في السياق" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "مكرر بواسطة" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "رُد على هذا الإشعار" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "رُد" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "الإشعار مكرر" diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po index 1a5a3fd21..5ff6f9013 100644 --- a/locale/arz/LC_MESSAGES/statusnet.po +++ b/locale/arz/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:05+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:04+0000\n" "Language-Team: Egyptian Spoken Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: arz\n" "X-Message-Group: out-statusnet\n" @@ -173,16 +173,18 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" +"%s لم يضف أى إشعارات إلى مفضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action." +"register%%%%) وترسل شيئًا شيقًا ليضيفه إلى مفضلته. :)" #. TRANS: H1 text #: actions/all.php:182 @@ -358,8 +360,9 @@ msgid "Could not delete favorite." msgstr "تعذّر حذف المفضله." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." -msgstr "" +#, fuzzy +msgid "Could not follow user: profile not found." +msgstr "لم يمكن حفظ الملف." #: actions/apifriendshipscreate.php:118 #, php-format @@ -374,8 +377,8 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "ما ينفعش عدم متابعة نفسك." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -660,7 +663,7 @@ msgstr "لم يوجد." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "نسق غير مدعوم." @@ -714,6 +717,10 @@ msgstr "الإشعارات الموسومه ب%s" msgid "Updates tagged with %1$s on %2$s!" msgstr "" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "لا مرفق كهذا." @@ -766,7 +773,7 @@ msgid "Preview" msgstr "عاين" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "احذف" @@ -1047,7 +1054,7 @@ msgid "Do not delete this notice" msgstr "لا تحذف هذا الإشعار" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "احذف هذا الإشعار" @@ -1323,7 +1330,7 @@ msgstr "كنيه غير صالحة: \"%s\"" msgid "Could not update group." msgstr "تعذر تحديث المجموعه." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "تعذّر إنشاء الكنى." @@ -2414,7 +2421,7 @@ msgstr "" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2490,8 +2497,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr " مش نظام بيانات مدعوم." @@ -3352,7 +3359,7 @@ msgstr "ما ينفعش تكرر الملاحظه بتاعتك." msgid "You already repeated that notice." msgstr "انت عيدت الملاحظه دى فعلا." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "مكرر" @@ -3390,7 +3397,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3403,8 +3410,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3496,7 +3503,7 @@ msgstr "المنظمه" msgid "Description" msgstr "الوصف" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "إحصاءات" @@ -3580,20 +3587,20 @@ msgid "" msgstr "" #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s لم يضف أى إشعارات إلى مفضلته إلى الآن. أرسل شيئًا شيقًا ليضيفه إلى " "مفضلته. :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s لم يضف أى إشعارات إلى مفضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action." "register%%%%) وترسل شيئًا شيقًا ليضيفه إلى مفضلته. :)" @@ -3654,7 +3661,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "الأعضاء" @@ -3668,11 +3675,11 @@ msgstr "(لا شيء)" msgid "All members" msgstr "جميع الأعضاء" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "أنشئ" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3682,7 +3689,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3691,7 +3698,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "الإداريون" @@ -3766,8 +3773,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4315,10 +4322,6 @@ msgstr "" msgid "No such tag." msgstr "لا وسم كهذا." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "لم تمنع هذا المستخدم." @@ -4657,51 +4660,61 @@ msgstr "تعذّر إدراج الرساله." msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "خطأ قاعده البيانات أثناء إدخال المستخدم OAuth app" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "مشكله فى حفظ الإشعار. طويل جدًا." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "مشكله فى حفظ الإشعار. مستخدم غير معروف." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "مشكله أثناء حفظ الإشعار." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "مشكله أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تى @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "مشكله أثناء حفظ الإشعار." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4736,20 +4749,20 @@ msgstr "تعذّر حذف الاشتراك." msgid "Welcome to %1$s, @%2$s!" msgstr "أهلا بكم فى %1$s يا @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "تعذّر إنشاء المجموعه." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "تعذّر ضبط عضويه المجموعه." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "تعذّر ضبط عضويه المجموعه." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "تعذّر حفظ الاشتراك." @@ -6100,7 +6113,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "من" @@ -6155,24 +6168,24 @@ msgstr "فشل فى كتابه الملف إلى القرص." msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "مش نافع يتحدد نوع الـMIME بتاع الفايل." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6227,51 +6240,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "ش" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "ج" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "ر" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "غ" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "في" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "فى السياق" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "متكرر من" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "رُد على هذا الإشعار" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "رُد" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "الإشعار مكرر" diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po index 1afe404d6..32e9d615b 100644 --- a/locale/bg/LC_MESSAGES/statusnet.po +++ b/locale/bg/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:09+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:06+0000\n" "Language-Team: Bulgarian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: bg\n" "X-Message-Group: out-statusnet\n" @@ -87,7 +87,6 @@ msgstr "Запазване" #. TRANS: Server error when page not found (404) #: actions/all.php:68 actions/public.php:98 actions/replies.php:93 #: actions/showfavorites.php:138 actions/tag.php:52 -#, fuzzy msgid "No such page." msgstr "Няма такака страница." @@ -167,15 +166,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -356,7 +355,8 @@ msgid "Could not delete favorite." msgstr "Грешка при изтриване на любима бележка." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Грешка при проследяване — потребителят не е намерен." #: actions/apifriendshipscreate.php:118 @@ -372,8 +372,9 @@ msgstr "Грешка при спиране на проследяването — msgid "You cannot unfollow yourself." msgstr "Не можете да спрете да следите себе си." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Трябва да се дадат два идентификатора или имена на потребители." #: actions/apifriendshipsshow.php:134 @@ -437,7 +438,7 @@ msgid "Too many aliases! Maximum %d." msgstr "" #: actions/apigroupcreate.php:267 -#, fuzzy, php-format +#, php-format msgid "Invalid alias: \"%s\"." msgstr "Неправилен псевдоним: \"%s\"" @@ -660,7 +661,7 @@ msgstr "Не е открито." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Неподдържан формат." @@ -714,6 +715,10 @@ msgstr "Бележки с етикет %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Бележки от %1$s в %2$s." +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Методът в API все още се разработва." + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -769,7 +774,7 @@ msgid "Preview" msgstr "Преглед" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Изтриване" @@ -1043,7 +1048,7 @@ msgid "Do not delete this notice" msgstr "Да не се изтрива бележката" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Изтриване на бележката" @@ -1329,7 +1334,7 @@ msgstr "Неправилен псевдоним: \"%s\"" msgid "Could not update group." msgstr "Грешка при обновяване на групата." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "Грешка при отбелязване като любима." @@ -1387,7 +1392,6 @@ msgstr "" #. TRANS: Button label #: actions/emailsettings.php:127 actions/imsettings.php:131 #: actions/smssettings.php:137 lib/applicationeditform.php:357 -#, fuzzy msgctxt "BUTTON" msgid "Cancel" msgstr "Отказ" @@ -1434,9 +1438,8 @@ msgstr "Ново" #. TRANS: Form legend for e-mail preferences form. #: actions/emailsettings.php:174 -#, fuzzy msgid "Email preferences" -msgstr "Настройки" +msgstr "Настройки на е-поща" #. TRANS: Checkbox label in e-mail preferences form. #: actions/emailsettings.php:180 @@ -1476,9 +1479,8 @@ msgstr "Публикуване на MicroID за адреса на е-пощат #. TRANS: Confirmation message for successful e-mail preferences save. #: actions/emailsettings.php:334 -#, fuzzy msgid "Email preferences saved." -msgstr "Настройките са запазени." +msgstr "Настройките на е-поща са запазени." #. TRANS: Message given saving e-mail address without having provided one. #: actions/emailsettings.php:353 @@ -2495,7 +2497,7 @@ msgstr "Бележки, съдържащи търсеното \"%1$s\" в %2$s!" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2574,8 +2576,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Неподдържан формат на данните" @@ -3470,7 +3472,7 @@ msgstr "Не можете да повтаряте собствена бележ msgid "You already repeated that notice." msgstr "Вече сте повторили тази бележка." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Повторено" @@ -3508,7 +3510,7 @@ msgstr "Емисия с отговори на %s (Atom)" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3521,8 +3523,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3616,7 +3618,7 @@ msgstr "Организация" msgid "Description" msgstr "Описание" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Статистики" @@ -3703,16 +3705,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3771,7 +3773,7 @@ msgstr "Емисия с бележки на %s" msgid "FOAF for %s group" msgstr "Изходяща кутия за %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Членове" @@ -3779,17 +3781,17 @@ msgstr "Членове" #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71 msgid "(None)" -msgstr "" +msgstr "(Без)" #: actions/showgroup.php:404 msgid "All members" msgstr "Всички членове" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Създадена на" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3799,7 +3801,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3808,7 +3810,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Администратори" @@ -3883,8 +3885,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4446,10 +4448,6 @@ msgstr "" msgid "No such tag." msgstr "Няма такъв етикет." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Методът в API все още се разработва." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Не сте блокирали този потребител." @@ -4808,29 +4806,34 @@ msgstr "Грешка при вмъкване на съобщението." msgid "Could not update message with new URI." msgstr "Грешка при обновяване на бележката с нов URL-адрес." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Грешка в базата от данни — отговор при вмъкването: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Проблем при записване на бележката." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Грешка при записване на бележката. Непознат потребител." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Твърде много бележки за кратко време. Спрете, поемете дъх и публикувайте " "отново след няколко минути." -#: classes/Notice.php:266 +#: classes/Notice.php:272 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -4839,26 +4842,31 @@ msgstr "" "Твърде много бележки за кратко време. Спрете, поемете дъх и публикувайте " "отново след няколко минути." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Забранено ви е да публикувате бележки в този сайт." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Проблем при записване на бележката." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Проблем при записване на бележката." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Грешка при записване настройките за Twitter" + #: classes/Subscription.php:74 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." @@ -4896,21 +4904,21 @@ msgstr "Грешка при изтриване на абонамента." msgid "Welcome to %1$s, @%2$s!" msgstr "Добре дошли в %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Грешка при създаване на групата." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Грешка при създаване на нов абонамент." -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "Грешка при създаване на нов абонамент." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Грешка при създаване на нов абонамент." @@ -5066,7 +5074,6 @@ msgid "Help me!" msgstr "Помощ" #: lib/action.php:497 -#, fuzzy msgctxt "MENU" msgid "Help" msgstr "Помощ" @@ -6271,7 +6278,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "от" @@ -6326,25 +6333,25 @@ msgstr "Грешка при записване файла на диска." msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Грешка при изтегляне на общия поток" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6399,51 +6406,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "С" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "Ю" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "И" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "З" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "в контекст" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Повторено от" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Отговаряне на тази бележка" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Отговор" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Бележката е повторена." @@ -6518,9 +6525,8 @@ msgid "Tags in %s's notices" msgstr "Етикети в бележките на %s" #: lib/plugin.php:115 -#, fuzzy msgid "Unknown" -msgstr "Непознато действие" +msgstr "Непознато" #: lib/profileaction.php:109 lib/profileaction.php:205 lib/subgroupnav.php:82 msgid "Subscriptions" @@ -6616,9 +6622,8 @@ msgid "Sandbox this user" msgstr "Разблокиране на този потребител" #: lib/searchaction.php:120 -#, fuzzy msgid "Search site" -msgstr "Търсене" +msgstr "Търсене в сайта" #: lib/searchaction.php:126 msgid "Keyword(s)" diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po index 056b6e456..5fb66c0b8 100644 --- a/locale/br/LC_MESSAGES/statusnet.po +++ b/locale/br/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:13+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:07+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: out-statusnet\n" @@ -165,16 +165,18 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" +"Perak ne [groufec'h ket ur gont](%%action.register%%) ha bezañ an hini " +"gentañ da embann un dra !" #. TRANS: H1 text #: actions/all.php:182 @@ -352,7 +354,8 @@ msgid "Could not delete favorite." msgstr "Diposupl eo dilemel ar pennroll-mañ." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Diposupl eo heuliañ an implijer : N'eo ket bet kavet an implijer." #: actions/apifriendshipscreate.php:118 @@ -369,8 +372,9 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "Ne c'hallit ket chom hep ho heuliañ hoc'h-unan." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Rankout a reoc'h reiñ daou id pe lesanv." #: actions/apifriendshipsshow.php:134 @@ -651,7 +655,7 @@ msgstr "N'eo ket bet kavet." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Diembreget eo ar furmad-se." @@ -705,6 +709,10 @@ msgstr "Alioù merket gant %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Hizivadennoù merket gant %1$s e %2$s !" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "N'eo ket bet kavet ar restr stag." @@ -757,7 +765,7 @@ msgid "Preview" msgstr "Rakwelet" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Diverkañ" @@ -1031,7 +1039,7 @@ msgid "Do not delete this notice" msgstr "Arabat dilemel an ali-mañ" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Dilemel an ali-mañ" @@ -1099,9 +1107,8 @@ msgid "Theme for the site." msgstr "Dodenn evit al lec'hienn." #: actions/designadminpanel.php:467 -#, fuzzy msgid "Custom theme" -msgstr "Dodenn al lec'hienn" +msgstr "Dodenn personelaet" #: actions/designadminpanel.php:471 msgid "You can upload a custom StatusNet theme as a .ZIP archive." @@ -1163,11 +1170,11 @@ msgstr "Liammoù" #: actions/designadminpanel.php:651 msgid "Advanced" -msgstr "" +msgstr "Araokaet" #: actions/designadminpanel.php:655 msgid "Custom CSS" -msgstr "" +msgstr "CSS personelaet" #: actions/designadminpanel.php:676 lib/designsettings.php:247 msgid "Use defaults" @@ -1306,7 +1313,7 @@ msgstr "Alias fall : \"%s\"" msgid "Could not update group." msgstr "Diposubl eo hizivaat ar strollad." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Diposubl eo krouiñ an aliasoù." @@ -2391,7 +2398,7 @@ msgstr "" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2466,8 +2473,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3346,7 +3353,7 @@ msgstr "Ne c'helloc'h ket adkemer ho ali deoc'h." msgid "You already repeated that notice." msgstr "Adkemeret o peus dija an ali-mañ." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Adlavaret" @@ -3384,7 +3391,7 @@ msgstr "Gwazh respontoù evit %s (Atom)" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3397,8 +3404,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3488,7 +3495,7 @@ msgstr "Aozadur" msgid "Description" msgstr "Deskrivadur" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Stadegoù" @@ -3574,16 +3581,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3642,7 +3649,7 @@ msgstr "Neudenn alioù ar strollad %s (Atom)" msgid "FOAF for %s group" msgstr "Mignon ur mignon evit ar strollad %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Izili" @@ -3656,11 +3663,11 @@ msgstr "(Hini ebet)" msgid "All members" msgstr "An holl izili" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Krouet" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3670,7 +3677,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3679,7 +3686,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Merourien" @@ -3756,8 +3763,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4296,10 +4303,6 @@ msgstr "" msgid "No such tag." msgstr "" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "N'o peus ket stanket an implijer-mañ." @@ -4635,50 +4638,60 @@ msgstr "Diposubl eo ensoc'hañ ur gemenadenn" msgid "Could not update message with new URI." msgstr "Dibosupl eo hizivaat ar gemennadenn gant un URI nevez." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Ur gudenn 'zo bet pa veze enrollet an ali." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Ur gudenn 'zo bet pa veze enrollet boest degemer ar strollad." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Diposubl eo enrollañ ali al lec'hienn." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Nac'het ez eus bet deoc'h en em goumanantiñ." @@ -4713,19 +4726,19 @@ msgstr "Dibosupl eo paouez gant ar c'houmanant." msgid "Welcome to %1$s, @%2$s!" msgstr "Deuet mat da %1$s, @%2$s !" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Dibosupl eo krouiñ ar strollad." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Dibosupl eo termeniñ URI ar strollad." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Dibosupl eo en em enskrivañ d'ar strollad." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Dibosupl eo enrollañ titouroù ar strollad lec'hel." @@ -6043,7 +6056,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "eus" @@ -6098,24 +6111,24 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Klaskit implijout ur furmad %s all." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6169,51 +6182,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "R" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "K" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "e" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "en amdro" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Adkemeret gant" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Respont d'an ali-mañ" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Respont" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Ali adkemeret" diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po index 54b3b3fa7..5d18cda46 100644 --- a/locale/ca/LC_MESSAGES/statusnet.po +++ b/locale/ca/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:20+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:09+0000\n" "Language-Team: Catalan\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ca\n" "X-Message-Group: out-statusnet\n" @@ -170,20 +170,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Podeu provar d'[avisar %1$s](../%2$s) des del seu perfil o [publiqueu " -"quelcom per reclamar-li l'atenció](%%%%action.newnotice%%%%?status_textarea=%" -"3$s)." +"quelcom per cridar-li l'atenció](%%%%action.newnotice%%%%?status_textarea=%3" +"$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Per què no [registreu un compte](%%%%action.register%%%%) i aviseu %s o " "publiqueu un avís a la seva atenció." @@ -368,7 +368,8 @@ msgid "Could not delete favorite." msgstr "No s'ha pogut eliminar el preferit." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "No s'ha pogut seguir l'usuari: l'usuari no existeix." #: actions/apifriendshipscreate.php:118 @@ -384,8 +385,9 @@ msgstr "No es pot deixar de seguir l'usuari: no s'ha trobat l'usuari." msgid "You cannot unfollow yourself." msgstr "No podeu deixar de seguir-vos a un mateix." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Cal proporcionar dos ids d'usuari o screen_names." #: actions/apifriendshipsshow.php:134 @@ -675,7 +677,7 @@ msgstr "No s'ha trobat." msgid "Max notice size is %d chars, including attachment URL." msgstr "La mida màxima de l'avís és %d caràcters, incloent l'URL de l'adjunt." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "El format no està implementat." @@ -722,13 +724,17 @@ msgstr "Repeticions de %s" #: actions/apitimelinetag.php:105 actions/tag.php:67 #, php-format msgid "Notices tagged with %s" -msgstr "Aviso etiquetats amb %s" +msgstr "Avisos etiquetats amb %s" #: actions/apitimelinetag.php:107 actions/tagrss.php:65 #, php-format msgid "Updates tagged with %1$s on %2$s!" msgstr "Actualitzacions etiquetades amb %1$s el %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Mètode API en construcció." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "No existeix l'adjunció." @@ -782,7 +788,7 @@ msgid "Preview" msgstr "Vista prèvia" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Elimina" @@ -1065,7 +1071,7 @@ msgid "Do not delete this notice" msgstr "No eliminis aquest avís" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Elimina aquest avís" @@ -1226,7 +1232,7 @@ msgstr "Torna a restaurar al valor per defecte" #: actions/useradminpanel.php:294 lib/applicationeditform.php:363 #: lib/designsettings.php:256 lib/groupeditform.php:202 msgid "Save" -msgstr "Guardar" +msgstr "Desa" #: actions/designadminpanel.php:686 lib/designsettings.php:257 msgid "Save design" @@ -1342,7 +1348,7 @@ msgstr "L'àlies no és vàlid «%s»" msgid "Could not update group." msgstr "No s'ha pogut actualitzar el grup." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "No s'han pogut crear els àlies." @@ -1471,7 +1477,8 @@ msgstr "Envia'm un correu electrònic quan algú m'enviï una resposta amb @." #. TRANS: Checkbox label in e-mail preferences form. #: actions/emailsettings.php:205 msgid "Allow friends to nudge me and send me an email." -msgstr "Permetre que els amics em reclamin i m'enviïn un correu electrònic." +msgstr "" +"Permetre que els amics em cridin l'atenció i m'enviïn un correu electrònic." #. TRANS: Checkbox label in e-mail preferences form. #: actions/emailsettings.php:212 @@ -2164,8 +2171,7 @@ msgstr "%1$s (%2$s)" #: actions/invite.php:136 msgid "" "These people are already users and you were automatically subscribed to them:" -msgstr "" -"Aquestes persona ja són usuaris i tu estàs subscrit automàticament a ells:" +msgstr "Aquestes persones ja són usuaris i se us ha subscrit automàticament:" #: actions/invite.php:144 msgid "Invitation(s) sent to the following people:" @@ -2176,8 +2182,8 @@ msgid "" "You will be notified when your invitees accept the invitation and register " "on the site. Thanks for growing the community!" msgstr "" -"Seràs avisat quan les teves invitacions siguin acceptades i els teus " -"convidats es registrin al lloc. Gràcies per fer créixer la comunitat." +"Se us notificarà quan els vostres convidats acceptin la invitació i es " +"registrin al lloc. Gràcies per fer créixer la comunitat!" #: actions/invite.php:162 msgid "" @@ -2304,7 +2310,7 @@ msgstr "%1$s ha abandonat el grup %2$s" #: actions/login.php:102 actions/otp.php:62 actions/register.php:144 msgid "Already logged in." -msgstr "Ja estàs connectat." +msgstr "Ja hi heu iniciat una sessió." #: actions/login.php:148 msgid "Incorrect username or password." @@ -2500,19 +2506,20 @@ msgstr "" "Les actualitzacions que coincideixen amb el terme de cerca «%1$s» el %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" -"Aquest usuari no permet reclamacions o no ha confirmar encara cap correu " -"electrònic." +"Aquest usuari no permet que li cridin l'atenció o no ha confirmat encara cap " +"correu electrònic." #: actions/nudge.php:94 msgid "Nudge sent" -msgstr "Reclamació enviada" +msgstr "S'ha cridat l'atenció" #: actions/nudge.php:97 msgid "Nudge sent!" -msgstr "Reclamació enviada!" +msgstr "S'ha cridat l'atenció!" #: actions/oauthappssettings.php:59 msgid "You must be logged in to list your applications." @@ -2580,8 +2587,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Si us plau, només URL %s sobre HTTP pla." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Format de data no suportat." @@ -2689,7 +2696,7 @@ msgstr "6 o més caràcters" #: actions/passwordsettings.php:112 actions/recoverpassword.php:239 #: actions/register.php:440 msgid "Confirm" -msgstr "Confirmar" +msgstr "Confirma" #: actions/passwordsettings.php:113 actions/recoverpassword.php:240 msgid "Same as password above" @@ -2697,7 +2704,7 @@ msgstr "Igual a la contrasenya de dalt" #: actions/passwordsettings.php:117 msgid "Change" -msgstr "Canviar" +msgstr "Canvia" #: actions/passwordsettings.php:154 actions/register.php:237 msgid "Password must be 6 or more characters." @@ -3017,11 +3024,11 @@ msgstr "La biografia és massa llarga (màx. %d caràcters)." #: actions/profilesettings.php:235 actions/siteadminpanel.php:151 msgid "Timezone not selected." -msgstr "Franja horària no seleccionada." +msgstr "No s'ha seleccionat el fus horari." #: actions/profilesettings.php:241 msgid "Language is too long (max 50 chars)." -msgstr "L'idioma és massa llarg (màx 50 caràcters)." +msgstr "La llengua és massa llarga (màx. 50 caràcters)." #: actions/profilesettings.php:253 actions/tagother.php:178 #, php-format @@ -3047,7 +3054,7 @@ msgstr "No s'han pogut desar les etiquetes." #. TRANS: Message after successful saving of administrative settings. #: actions/profilesettings.php:391 lib/adminpanelaction.php:141 msgid "Settings saved." -msgstr "Configuració guardada." +msgstr "S'ha desat la configuració." #: actions/public.php:83 #, php-format @@ -3158,7 +3165,7 @@ msgstr "Núvol d'etiquetes" #: actions/recoverpassword.php:36 msgid "You are already logged in!" -msgstr "Ja t'has connectat!" +msgstr "Ja heu iniciat una sessió!" #: actions/recoverpassword.php:62 msgid "No such recovery code." @@ -3207,7 +3214,7 @@ msgstr "Sobrenom o adreça electrònica" #: actions/recoverpassword.php:193 msgid "Your nickname on this server, or your registered email address." msgstr "" -"El teu nom d'usuari en aquest servidor, o la teva adreça de correu " +"El vostre nom d'usuari en aquest servidor, o la vostra adreça de correu " "electrònic registrada." #: actions/recoverpassword.php:199 actions/recoverpassword.php:200 @@ -3236,11 +3243,11 @@ msgstr "6 o més caràcters, i no te n'oblidis!" #: actions/recoverpassword.php:243 msgid "Reset" -msgstr "Restablir" +msgstr "Reinicialitza" #: actions/recoverpassword.php:252 msgid "Enter a nickname or email address." -msgstr "Escriu un sobrenom o una adreça de correu electrònic." +msgstr "Escriviu un sobrenom o una adreça de correu electrònic." #: actions/recoverpassword.php:282 msgid "No user with that email address or username." @@ -3252,7 +3259,7 @@ msgstr "No hi ha cap adreça de correu electrònic registrada d'aquest usuari." #: actions/recoverpassword.php:313 msgid "Error saving address confirmation." -msgstr "Error en guardar confirmació de l'adreça." +msgstr "S'ha produït un error en desar la confirmació de l'adreça." #: actions/recoverpassword.php:338 msgid "" @@ -3312,7 +3319,7 @@ msgstr "L'adreça de correu electrònic ja existeix." #: actions/register.php:250 actions/register.php:272 msgid "Invalid username or password." -msgstr "Nom d'usuari o contrasenya invàlids." +msgstr "El nom d'usuari o la contrasenya no són vàlids." #: actions/register.php:350 msgid "" @@ -3463,7 +3470,7 @@ msgstr "URL del teu perfil en un altre servei de microblogging compatible" #: actions/remotesubscribe.php:137 lib/subscribeform.php:139 #: lib/userprofile.php:406 msgid "Subscribe" -msgstr "Subscriure's" +msgstr "Subscriu-m'hi" #: actions/remotesubscribe.php:159 msgid "Invalid profile URL (bad format)" @@ -3499,7 +3506,7 @@ msgstr "No podeu repetir el vostre propi avís." msgid "You already repeated that notice." msgstr "Ja havíeu repetit l'avís." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repetit" @@ -3534,10 +3541,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Canal de respostes de %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Aquesta és la línia temporal que mostra les respostes a %1$s, però %2$s " "encara no ha rebut cap avís a la seva atenció." @@ -3552,13 +3559,13 @@ msgstr "" "[uniu-vos a grups](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Podeu provar d'[avisar %1$s](../%2$s) o [enviar quelcom per reclamar la seva " -"atenció](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"Podeu provar d'[avisar %1$s](../%2$s) o [enviar quelcom per cridar-li " +"l'atenció](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/repliesrss.php:72 #, php-format @@ -3646,7 +3653,7 @@ msgstr "Organització" msgid "Description" msgstr "Descripció" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Estadístiques" @@ -3734,20 +3741,20 @@ msgstr "" "avisos que us agraden per arxivar-los per a més endavant i fer-los conèixer." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s no ha afegit cap avís als seus preferits encara. Envieu quelcom " "interessant que pugui afegir-hi." #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s no ha afegit cap avís als seus preferits encara. Per què no [registreu un " "compte](%%%%action.register%%%%) i llavors envieu quelcom interessant que " @@ -3809,7 +3816,7 @@ msgstr "Canal d'avisos del grup %s (Atom)" msgid "FOAF for %s group" msgstr "Safata de sortida per %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Membres" @@ -3823,11 +3830,11 @@ msgstr "(Cap)" msgid "All members" msgstr "Tots els membres" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "S'ha creat" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3843,7 +3850,7 @@ msgstr "" "%) per formar part del grup i molt més! ([Més informació...](%%%%doc.help%%%" "%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3856,7 +3863,7 @@ msgstr "" "[StatusNet](http://status.net/). Els seus membre comparteixen missatges " "curts sobre llur vida i interessos. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administradors" @@ -3932,13 +3939,13 @@ msgstr "" "podria ser un bon moment per començar :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" -"Podeu provar d'avisar %1$s o [enviar quelcom per reclamar la seva atenció](%%" -"%%action.newnotice%%%%?status_textarea=%2$s)." +"Podeu provar d'avisar %1$s o [enviar quelcom per cridar-li l'atenció](%%%%" +"action.newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4119,8 +4126,8 @@ msgstr "Paràmetres de l'SMS" #, php-format msgid "You can receive SMS messages through email from %%site.name%%." msgstr "" -"Pots rebre missatges SMS a través del teu coreu electrònic des de %%site.name" -"%%." +"Podeu rebre missatges SMS a través del vostre correu electrònic des de %%" +"site.name%%." #. TRANS: Message given in the SMS settings if SMS is not enabled on the site. #: actions/smssettings.php:97 @@ -4179,7 +4186,7 @@ msgid "" "Send me notices through SMS; I understand I may incur exorbitant charges " "from my carrier." msgstr "" -"Enviar-me avisos a través de SMS; puc entendre que això repercutirà en una " +"Envia'm avisos a través de l'SMS; puc entendre que això repercutirà en una " "exorbitant càrrega del meu transport." #. TRANS: Confirmation message for successful SMS preferences save. @@ -4200,7 +4207,7 @@ msgstr "No s'ha sel·leccionat cap transport." #. TRANS: Message given saving SMS phone number that is already set. #: actions/smssettings.php:352 msgid "That is already your phone number." -msgstr "Aquest ja és el teu número de telèfon." +msgstr "Aquest ja és el vostre número de telèfon." #. TRANS: Message given saving SMS phone number that is already set for another user. #: actions/smssettings.php:356 @@ -4507,10 +4514,6 @@ msgstr "" msgid "No such tag." msgstr "No existeix aquesta etiqueta." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Mètode API en construcció." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "No heu blocat l'usuari." @@ -4611,7 +4614,7 @@ msgstr "Si es permet als usuaris invitar-ne de nous." #: actions/userauthorization.php:105 msgid "Authorize subscription" -msgstr "Autoritzar subscripció" +msgstr "Autoritza la subscripció" #: actions/userauthorization.php:110 msgid "" @@ -4876,29 +4879,34 @@ msgstr "No s'ha pogut inserir el missatge." msgid "Could not update message with new URI." msgstr "No s'ha pogut inserir el missatge amb la nova URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" "S'ha produït un error de la base de dades en inserir una etiqueta de " "coixinet (%): %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "S'ha produït un problema en desar l'avís. És massa llarg." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "S'ha produït un problema en desar l'avís. Usuari desconegut." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Massa avisos massa ràpid; pren un respir i publica de nou en uns minuts." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4906,25 +4914,30 @@ msgstr "" "Massa missatges duplicats en massa poc temps; preneu un respir i torneu a " "enviar en uns minuts." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Ha estat bandejat de publicar avisos en aquest lloc." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." -msgstr "Problema en guardar l'avís." +msgstr "S'ha produït un problema en desar l'avís." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "S'ha produït un problema en desar la safata d'entrada del grup." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "No s'ha pogut desar l'avís del lloc." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Se us ha banejat la subscripció." @@ -4958,19 +4971,19 @@ msgstr "No s'ha pogut eliminar la subscripció." msgid "Welcome to %1$s, @%2$s!" msgstr "Us donem la benvinguda a %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "No s'ha pogut crear el grup." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "No es pot definir l'URI del grup." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "No s'ha pogut establir la pertinença d'aquest grup." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "No s'ha pogut desar la informació del grup local." @@ -5572,7 +5585,7 @@ msgstr "No té massa sentit avisar-se a un mateix!" #: lib/command.php:234 #, php-format msgid "Nudge sent to %s" -msgstr "S'ha enviat un avís a %s" +msgstr "S'ha cridat l'atenció a %s" #: lib/command.php:260 #, php-format @@ -6248,7 +6261,7 @@ msgstr "%s: confirmeu-ho si teniu aquest número de telèfon amb aquest codi:" #: lib/mail.php:484 #, php-format msgid "You've been nudged by %s" -msgstr "Has estat reclamat per %s" +msgstr "%s us ha cridat l'atenció" #. TRANS: Body for 'nudge' notification email #: lib/mail.php:489 @@ -6405,8 +6418,8 @@ msgid "" "\n" "P.S. You can turn off these email notifications here: %8$s\n" msgstr "" -"1$s (@%9$s) acaba d'enviar un avís un avís a la vostra atenció (una resposta " -"amb @) a %2$s.\n" +"%1$s (@%9$s) acaba d'enviar un avís un avís a la vostra atenció (una " +"resposta amb @) a %2$s.\n" "\n" "L'avís és a continuació:\n" "\n" @@ -6442,7 +6455,7 @@ msgstr "" "usuaris en la conversa. La gent pot enviar-vos missatges només per als " "vostres ulls." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "de" @@ -6503,24 +6516,24 @@ msgstr "No s'ha pogut escriure el fitxer al disc." msgid "File upload stopped by extension." msgstr "L'extensió ha aturat la càrrega del fitxer." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "El fitxer excedeix la quota de l'usuari." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "No s'ha pogut moure el fitxer al directori de destinació." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "No s'ha pogut determinar el tipus MIME del fitxer." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Proveu d'emprar un altre format %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s no és un tipus de fitxer permès al servidor." @@ -6576,65 +6589,65 @@ msgstr "" "l'esperat; torneu-ho a provar més tard" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "E" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "O" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "a" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "en context" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repetit per" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "respondre a aquesta nota" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Respon" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Avís repetit" #: lib/nudgeform.php:116 msgid "Nudge this user" -msgstr "Reclamar aquest usuari" +msgstr "Crida l'atenció a l'usuari" #: lib/nudgeform.php:128 msgid "Nudge" -msgstr "Reclamar" +msgstr "Crida l'atenció" #: lib/nudgeform.php:128 msgid "Send a nudge to this user" -msgstr "Enviar una reclamació a aquest usuari" +msgstr "Crida l'atenció a l'usuari" #: lib/oauthstore.php:283 msgid "Error inserting new profile" diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po index 82b74b814..b61fecef8 100644 --- a/locale/cs/LC_MESSAGES/statusnet.po +++ b/locale/cs/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:24+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:14+0000\n" "Language-Team: Czech\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: cs\n" "X-Message-Group: out-statusnet\n" @@ -173,15 +173,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -365,8 +365,9 @@ msgid "Could not delete favorite." msgstr "Nelze smazat oblíbenou položku." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." -msgstr "" +#, fuzzy +msgid "Could not follow user: profile not found." +msgstr "Nelze přesměrovat na server: %s" #: actions/apifriendshipscreate.php:118 #, php-format @@ -383,8 +384,8 @@ msgstr "Nelze přesměrovat na server: %s" msgid "You cannot unfollow yourself." msgstr "Nelze aktualizovat uživatele" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -680,7 +681,7 @@ msgstr "Žádný požadavek nebyl nalezen!" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "Nepodporovaný formát obrázku." @@ -735,6 +736,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "Mikroblog od %s" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -790,7 +795,7 @@ msgid "Preview" msgstr "" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Odstranit" @@ -1081,7 +1086,7 @@ msgid "Do not delete this notice" msgstr "Žádné takové oznámení." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Odstranit toto oznámení" @@ -1373,7 +1378,7 @@ msgstr "Neplatná adresa '%s'" msgid "Could not update group." msgstr "Nelze aktualizovat uživatele" -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "Nelze uložin informace o obrázku" @@ -2515,7 +2520,7 @@ msgstr "Všechny položky obsahující \"%s\"" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2592,8 +2597,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3492,7 +3497,7 @@ msgstr "Nemůžete se registrovat, pokud nesouhlasíte s licencí." msgid "You already repeated that notice." msgstr "Již jste přihlášen" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Vytvořit" @@ -3532,7 +3537,7 @@ msgstr "Feed sdělení pro %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3545,8 +3550,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3645,7 +3650,7 @@ msgstr "Umístění" msgid "Description" msgstr "Odběry" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistiky" @@ -3730,16 +3735,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3799,7 +3804,7 @@ msgstr "Feed sdělení pro %s" msgid "FOAF for %s group" msgstr "Feed sdělení pro %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 #, fuzzy msgid "Members" msgstr "Členem od" @@ -3814,12 +3819,12 @@ msgstr "" msgid "All members" msgstr "" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "Vytvořit" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3829,7 +3834,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3838,7 +3843,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -3914,8 +3919,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4477,10 +4482,6 @@ msgstr "" msgid "No such tag." msgstr "Žádné takové oznámení." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4843,53 +4844,63 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Chyba v DB při vkládání odpovědi: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Problém při ukládání sdělení" -#: classes/Notice.php:255 +#: classes/Notice.php:261 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "Problém při ukládání sdělení" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problém při ukládání sdělení" -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Problém při ukládání sdělení" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Problém při ukládání sdělení" + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4927,22 +4938,22 @@ msgstr "Nelze smazat odebírání" msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:480 +#: classes/User_group.php:495 #, fuzzy msgid "Could not create group." msgstr "Nelze uložin informace o obrázku" -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Nelze vytvořit odebírat" -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "Nelze vytvořit odebírat" -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Nelze vytvořit odebírat" @@ -6323,7 +6334,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr " od " @@ -6379,25 +6390,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Nelze aktualizovat uživatele" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6456,54 +6467,54 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "Žádný obsah!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "Vytvořit" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 #, fuzzy msgid "Reply" msgstr "odpověď" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Sdělení" diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po index 6d4101779..acd78fc1f 100644 --- a/locale/de/LC_MESSAGES/statusnet.po +++ b/locale/de/LC_MESSAGES/statusnet.po @@ -17,12 +17,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:28+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:16+0000\n" "Language-Team: German\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: out-statusnet\n" @@ -176,20 +176,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kannst [%1$s in seinem Profil einen Stups geben](../%2$s) oder [ihm etwas " "posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit " "zu erregen." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Warum [registrierst Du nicht einen Account](%%%%action.register%%%%) und " "gibst %s dann einen Stups oder postest ihm etwas, um seine Aufmerksamkeit zu " @@ -376,7 +376,8 @@ msgid "Could not delete favorite." msgstr "Konnte Favoriten nicht löschen." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Konnte Nutzer nicht folgen: Nutzer nicht gefunden" #: actions/apifriendshipscreate.php:118 @@ -392,8 +393,9 @@ msgstr "Kann Benutzer nicht entfolgen: Benutzer nicht gefunden." msgid "You cannot unfollow yourself." msgstr "Du kannst dich nicht selbst entfolgen!" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Zwei IDs oder Benutzernamen müssen angegeben werden." #: actions/apifriendshipsshow.php:134 @@ -685,7 +687,7 @@ msgstr "" "Die maximale Größe von Nachrichten ist %d Zeichen, inklusive der URL der " "Anhänge" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Bildformat wird nicht unterstützt." @@ -739,6 +741,10 @@ msgstr "Nachrichten, die mit %s getagt sind" msgid "Updates tagged with %1$s on %2$s!" msgstr "Aktualisierungen mit %1$s getagt auf %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API-Methode im Aufbau." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Kein solcher Anhang." @@ -792,7 +798,7 @@ msgid "Preview" msgstr "Vorschau" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Löschen" @@ -1073,7 +1079,7 @@ msgid "Do not delete this notice" msgstr "Diese Nachricht nicht löschen" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Nachricht löschen" @@ -1143,13 +1149,12 @@ msgid "Theme for the site." msgstr "Theme dieser Seite." #: actions/designadminpanel.php:467 -#, fuzzy msgid "Custom theme" -msgstr "Seitentheme" +msgstr "Angepasster Skin" #: actions/designadminpanel.php:471 msgid "You can upload a custom StatusNet theme as a .ZIP archive." -msgstr "" +msgstr "Du kannst ein angepasstes StatusNet-Theme als .ZIP-Archiv hochladen." #: actions/designadminpanel.php:486 lib/designsettings.php:101 msgid "Change background image" @@ -1353,7 +1358,7 @@ msgstr "Ungültiges Stichwort: „%s“" msgid "Could not update group." msgstr "Konnte Gruppe nicht aktualisieren." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Konnte keinen Favoriten erstellen." @@ -2518,8 +2523,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Alle Aktualisierungen, die den Suchbegriff „%s“ enthalten" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Dieser Benutzer erlaubt keine Stupser oder hat seine E-Mail-Adresse noch " "nicht bestätigt." @@ -2600,8 +2606,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Bitte nur %s URLs über einfaches HTTP." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Kein unterstütztes Datenformat." @@ -3519,7 +3525,7 @@ msgstr "Du kannst deine eigene Nachricht nicht wiederholen." msgid "You already repeated that notice." msgstr "Nachricht bereits wiederholt" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Wiederholt" @@ -3554,10 +3560,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Feed der Nachrichten von %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Dies ist die Zeitleiste für %1$s und Freunde aber bisher hat niemand etwas " "gepostet." @@ -3572,10 +3578,10 @@ msgstr "" "beitreten](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kannst [%1$s in seinem Profil einen Stups geben](../%s) oder [ihm etwas " "posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit " @@ -3667,7 +3673,7 @@ msgstr "Organisation" msgid "Description" msgstr "Beschreibung" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistiken" @@ -3755,20 +3761,20 @@ msgstr "" "richten und sie in deine Lesezeichen aufzunehmen." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s hat noch keine Nachricht zu den Favoriten hinzugefügt. Sende du doch " "einfach eine interessante Nachricht, damit sich daran etwas ändert :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s hat noch keine Nachrichten zu seinen Favoriten hinzugefügt. Warum meldest " "du dich nicht an ( [anmelden](%%%%action.register%%%%) ) und schreibst " @@ -3830,7 +3836,7 @@ msgstr "Nachrichtenfeed der Gruppe %s (Atom)" msgid "FOAF for %s group" msgstr "Postausgang von %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Mitglieder" @@ -3844,11 +3850,11 @@ msgstr "(Kein)" msgid "All members" msgstr "Alle Mitglieder" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Erstellt" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3863,7 +3869,7 @@ msgstr "" "und werde Teil der Gruppe und vielen anderen! ([Mehr Informationen](%%%%doc." "help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3876,7 +3882,7 @@ msgstr "" "Freien Software [StatusNet](http://status.net/). Seine Mitglieder erstellen " "kurze Nachrichten über Ihr Leben und Interessen. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administratoren" @@ -3953,10 +3959,10 @@ msgstr "" "geschrieben, jetzt wäre doch ein guter Zeitpunkt los zu legen :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Du kannst %1$s in seinem Profil einen Stups geben oder [ihm etwas posten](%%%" "%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit zu erregen." @@ -4526,10 +4532,6 @@ msgstr "" msgid "No such tag." msgstr "Stichwort nicht vorhanden." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API-Methode im Aufbau." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Du hast diesen Benutzer nicht blockiert." @@ -4895,28 +4897,33 @@ msgstr "Konnte Nachricht nicht einfügen." msgid "Could not update message with new URI." msgstr "Konnte Nachricht nicht mit neuer URI versehen." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Datenbankfehler beim Einfügen des Hashtags: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problem bei Speichern der Nachricht. Sie ist zu lang." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problem bei Speichern der Nachricht. Unbekannter Benutzer." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Zu schnell zu viele Nachrichten; atme kurz durch und schicke sie erneut in " "ein paar Minuten ab." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4924,26 +4931,31 @@ msgstr "" "Zu schnell zu viele Nachrichten; atme kurz durch und schicke sie erneut in " "ein paar Minuten ab." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" "Du wurdest für das Schreiben von Nachrichten auf dieser Seite gesperrt." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problem bei Speichern der Nachricht." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problem bei Speichern der Nachricht." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Konnte Seitenbenachrichtigung nicht speichern" + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Dieser Benutzer erlaubt dir nicht ihn zu abonnieren." @@ -4978,19 +4990,19 @@ msgstr "Konnte Abonnement nicht löschen." msgid "Welcome to %1$s, @%2$s!" msgstr "Herzlich willkommen bei %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Konnte Gruppe nicht erstellen." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Konnte die Gruppen URI nicht setzen." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Konnte Gruppenmitgliedschaft nicht setzen." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Konnte die lokale Gruppen Information nicht speichern." @@ -6457,7 +6469,7 @@ msgstr "" "schicken, um sie in eine Konversation zu verwickeln. Andere Leute können Dir " "Nachrichten schicken, die nur Du sehen kannst." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "von" @@ -6518,24 +6530,24 @@ msgstr "Konnte die Datei nicht auf die Festplatte schreiben." msgid "File upload stopped by extension." msgstr "Upload der Datei wurde wegen der Dateiendung gestoppt." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Dateigröße liegt über dem Benutzerlimit" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Datei konnte nicht in das Zielverzeichnis verschoben werden." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Konnte den MIME-Typ nicht feststellen." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Versuche ein anderes %s Format." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s ist kein unterstütztes Dateiformat auf diesem Server." @@ -6591,51 +6603,51 @@ msgstr "" "Bitte versuche es später wieder." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "O" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "W" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "in" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "im Zusammenhang" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Wiederholt von" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Auf diese Nachricht antworten" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Antworten" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Nachricht wiederholt" @@ -6890,47 +6902,47 @@ msgstr "Nichts" #: lib/themeuploader.php:50 msgid "This server cannot handle theme uploads without ZIP support." -msgstr "" +msgstr "Dieser Server kann nicht mit Theme-Uploads ohne ZIP-Support umgehen." #: lib/themeuploader.php:58 lib/themeuploader.php:61 msgid "The theme file is missing or the upload failed." -msgstr "" +msgstr "Die Theme-Datei fehlt oder das Hochladen ist fehlgeschlagen." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 #: lib/themeuploader.php:265 lib/themeuploader.php:272 -#, fuzzy msgid "Failed saving theme." -msgstr "Aktualisierung des Avatars fehlgeschlagen." +msgstr "Speicherung des Themes fehlgeschlagen." #: lib/themeuploader.php:139 msgid "Invalid theme: bad directory structure." -msgstr "" +msgstr "Ungültiger Theme: schlechte Ordner-Struktur." #: lib/themeuploader.php:166 #, php-format msgid "Uploaded theme is too large; must be less than %d bytes uncompressed." -msgstr "" +msgstr "Der hochgeladene Theme ist zu groß; er muss unter %d Bytes sein." #: lib/themeuploader.php:178 msgid "Invalid theme archive: missing file css/display.css" -msgstr "" +msgstr "Ungültigges Theme-Archiv: fehlende Datei css/display.css" #: lib/themeuploader.php:205 msgid "" "Theme contains invalid file or folder name. Stick with ASCII letters, " "digits, underscore, and minus sign." msgstr "" +"Der Theme enthält einen ungültigen Datei- oder Ordnernamen. Bleib bei ASCII-" +"Buchstaben, Zahlen, Unterstrichen und Minuszeichen." #: lib/themeuploader.php:216 #, php-format msgid "Theme contains file of type '.%s', which is not allowed." -msgstr "" +msgstr "Das Theme enthält Dateien des Types „.%s“, die nicht erlaubt sind." #: lib/themeuploader.php:234 -#, fuzzy msgid "Error opening theme archive." -msgstr "Fehler beim Aktualisieren des entfernten Profils." +msgstr "Fehler beim Öffnen des Theme-Archives." #: lib/topposterssection.php:74 msgid "Top posters" diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po index 62702c4d1..8fac99192 100644 --- a/locale/el/LC_MESSAGES/statusnet.po +++ b/locale/el/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:32+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:17+0000\n" "Language-Team: Greek\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: el\n" "X-Message-Group: out-statusnet\n" @@ -172,15 +172,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -361,7 +361,8 @@ msgid "Could not delete favorite." msgstr "" #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Δε μπορώ να ακολουθήσω το χρήστη: ο χρήστης δε βρέθηκε." #: actions/apifriendshipscreate.php:118 @@ -380,8 +381,8 @@ msgstr "Δε μπορώ να ακολουθήσω το χρήστη: ο χρήσ msgid "You cannot unfollow yourself." msgstr "Δεν μπορείτε να εμποδίσετε τον εαυτό σας!" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -670,7 +671,7 @@ msgstr "" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "" @@ -724,6 +725,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Η μέθοδος του ΑΡΙ είναι υπό κατασκευή." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "" @@ -776,7 +781,7 @@ msgid "Preview" msgstr "" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Διαγραφή" @@ -1064,7 +1069,7 @@ msgid "Do not delete this notice" msgstr "Αδυναμία διαγραφής αυτού του μηνύματος." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "" @@ -1352,7 +1357,7 @@ msgstr "" msgid "Could not update group." msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "Αδύνατη η αποθήκευση του προφίλ." @@ -2471,7 +2476,7 @@ msgstr "Όλες οι ενημερώσεις που ταιριάζουν με τ #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2548,8 +2553,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3450,7 +3455,7 @@ msgstr "" msgid "You already repeated that notice." msgstr "Αδυναμία διαγραφής αυτού του μηνύματος." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Δημιουργία" @@ -3487,11 +3492,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Ροή φίλων του/της %s" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" +"Αυτό είναι το χρονοδιάγραμμα για %s και φίλους, αλλά κανείς δεν έχει κάνει " +"καμία αποστολή ακόμα." #: actions/replies.php:204 #, php-format @@ -3503,8 +3510,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3598,7 +3605,7 @@ msgstr "Προσκλήσεις" msgid "Description" msgstr "Περιγραφή" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "" @@ -3684,16 +3691,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3753,7 +3760,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Μέλη" @@ -3767,11 +3774,11 @@ msgstr "" msgid "All members" msgstr "" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Δημιουργημένος" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3781,7 +3788,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3790,7 +3797,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Διαχειριστές" @@ -3866,8 +3873,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4419,10 +4426,6 @@ msgstr "" msgid "No such tag." msgstr "" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Η μέθοδος του ΑΡΙ είναι υπό κατασκευή." - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4769,50 +4772,60 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Σφάλμα στη βάση δεδομένων κατά την εισαγωγή hashtag: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Αδύνατη η αποθήκευση του προφίλ." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4849,21 +4862,21 @@ msgstr "Απέτυχε η διαγραφή συνδρομής." msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Δεν ήταν δυνατή η δημιουργία ομάδας." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ" -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ" -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ" @@ -6207,7 +6220,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "από" @@ -6262,25 +6275,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Απέτυχε η ενημέρωση του χρήστη." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6336,51 +6349,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Επαναλαμβάνεται από" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Ρυθμίσεις OpenID" diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index 68494a841..609e56409 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:36+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:19+0000\n" "Language-Team: British English\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: en-gb\n" "X-Message-Group: out-statusnet\n" @@ -168,19 +168,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "You can try to [nudge %1$s](../%2$s) from his profile or [post something to " "his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to his or her attention." @@ -365,7 +365,8 @@ msgid "Could not delete favorite." msgstr "Could not delete favourite." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Could not follow user: User not found." #: actions/apifriendshipscreate.php:118 @@ -381,8 +382,9 @@ msgstr "Could not unfollow user: User not found." msgid "You cannot unfollow yourself." msgstr "You cannot unfollow yourself." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Two user ids or screen_names must be supplied." #: actions/apifriendshipsshow.php:134 @@ -668,7 +670,7 @@ msgstr "Not found." msgid "Max notice size is %d chars, including attachment URL." msgstr "Max notice size is %d chars, including attachment URL." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Unsupported format." @@ -722,6 +724,10 @@ msgstr "Notices tagged with %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Updates tagged with %1$s on %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API method under construction." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "No such attachment." @@ -774,7 +780,7 @@ msgid "Preview" msgstr "Preview" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Delete" @@ -1055,7 +1061,7 @@ msgid "Do not delete this notice" msgstr "Do not delete this notice" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Delete this notice" @@ -1334,7 +1340,7 @@ msgstr "Invalid alias: \"%s\"" msgid "Could not update group." msgstr "Could not update group." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Could not create aliases" @@ -2477,8 +2483,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Updates matching search term \"%1$s\" on %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "This user doesn't allow nudges or hasn't confirmed or set his e-mail yet." @@ -2554,8 +2561,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Not a supported data format." @@ -3446,7 +3453,7 @@ msgstr "You can't repeat your own notice." msgid "You already repeated that notice." msgstr "You already repeated that notice." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repeated" @@ -3481,10 +3488,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Notice feed for %s" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to his attention yet." @@ -3497,10 +3504,10 @@ msgid "" msgstr "" #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "You can try to [nudge %1$s](../%2$s) or [post something to his or her " "attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3591,7 +3598,7 @@ msgstr "Organization" msgid "Description" msgstr "Description" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistics" @@ -3676,20 +3683,20 @@ msgstr "" "notices you like to bookmark them for later or shed a spotlight on them." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s hasn't added any notices to his favourites yet. Post something " "interesting they would add to their favourites :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s hasn't added any notices to his favourites yet. Why not [register an " "account](%%%%action.register%%%%) and then post something interesting they " @@ -3751,7 +3758,7 @@ msgstr "Notice feed for %s group (Atom)" msgid "FOAF for %s group" msgstr "Outbox for %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Members" @@ -3765,11 +3772,11 @@ msgstr "(None)" msgid "All members" msgstr "All members" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Created" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3784,7 +3791,7 @@ msgstr "" "their life and interests. [Join now](%%%%action.register%%%%) to become part " "of this group and many more! ([Read more](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3797,7 +3804,7 @@ msgstr "" "[StatusNet](http://status.net/) tool. Its members share short messages about " "their life and interests. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Admins" @@ -3870,10 +3877,10 @@ msgid "" msgstr "" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "You can try to nudge %1$s or [post something to his or her attention](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." @@ -4420,10 +4427,6 @@ msgstr "Use this form to add tags to your subscribers or subscriptions." msgid "No such tag." msgstr "No such tag." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API method under construction." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "You haven't blocked that user." @@ -4781,27 +4784,32 @@ msgstr "Could not insert message." msgid "Could not update message with new URI." msgstr "Could not update message with new URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Database error inserting hashtag: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problem saving notice. Too long." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problem saving notice. Unknown user." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Too many notices too fast; take a breather and post again in a few minutes." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4809,25 +4817,30 @@ msgstr "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "You are banned from posting notices on this site." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problem saving notice." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problem saving group inbox." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Unable to save site notice." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "You have been banned from subscribing." @@ -4862,19 +4875,19 @@ msgstr "Couldn't delete subscription." msgid "Welcome to %1$s, @%2$s!" msgstr "Welcome to %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Could not create group." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Could not set group URI." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Could not set group membership." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Could not save local group info." @@ -6242,7 +6255,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "from" @@ -6297,24 +6310,24 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Could not determine file's MIME type." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6368,51 +6381,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "in context" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repeated by" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Reply to this notice" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Reply" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Notice repeated" diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index 39e3d011c..8290f7cbe 100644 --- a/locale/es/LC_MESSAGES/statusnet.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:42+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:21+0000\n" "Language-Team: Spanish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: out-statusnet\n" @@ -173,19 +173,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puedes intentar [darle un toque a %1$s](../%2$s) desde su perfil o [publicar " "algo a su atención](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "¿Por qué no [registrar una cuenta](%%%%action.register%%%%) y luego darle un " "toque a %s o publicar algo a su atención?" @@ -368,7 +368,8 @@ msgid "Could not delete favorite." msgstr "No se pudo borrar favorito." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "No puede seguir al usuario. Usuario no encontrado" #: actions/apifriendshipscreate.php:118 @@ -384,8 +385,9 @@ msgstr "No se pudo dejar de seguir al usuario. Usuario no encontrado" msgid "You cannot unfollow yourself." msgstr "No puedes dejar de seguirte a ti mismo." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Deben proveerse dos identificaciones de usuario o nombres en pantalla." #: actions/apifriendshipsshow.php:134 @@ -678,7 +680,7 @@ msgstr "" "El tamaño máximo de la notificación es %d caracteres, incluyendo el URL " "adjunto." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formato no soportado." @@ -732,6 +734,10 @@ msgstr "Avisos etiquetados con %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Actualizaciones etiquetadas con %1$s en %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Método API en construcción." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "No existe tal archivo adjunto." @@ -784,7 +790,7 @@ msgid "Preview" msgstr "Vista previa" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Borrar" @@ -1066,7 +1072,7 @@ msgid "Do not delete this notice" msgstr "No eliminar este mensaje" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Borrar este aviso" @@ -1344,7 +1350,7 @@ msgstr "Alias inválido: \"%s\"" msgid "Could not update group." msgstr "No se pudo actualizar el grupo." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "No fue posible crear alias." @@ -2504,8 +2510,9 @@ msgstr "" "¡Actualizaciones que contienen el término de búsqueda \"%1$s\" en %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Este usuario no permite toques o todavía no confirma o configura su correo " "electrónico." @@ -2584,8 +2591,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Solamente %s URLs sobre HTTP simples por favor." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "No es un formato de dato soportado" @@ -3508,7 +3515,7 @@ msgstr "No puedes repetir tus propios mensajes." msgid "You already repeated that notice." msgstr "Ya has repetido este mensaje." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repetido" @@ -3543,10 +3550,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Feed de avisos de %s" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Esta es la línea temporal que muestra las respuestas a a %1$s, pero %2$s aún " "no ha recibido ningún aviso a su atención." @@ -3561,10 +3568,10 @@ msgstr "" "o [unirte a grupos](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puedes intentar [darle un toque a %1$s](../%2$s) o [publicar algo en su " "atención](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3655,7 +3662,7 @@ msgstr "Organización" msgid "Description" msgstr "Descripción" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Estadísticas" @@ -3742,20 +3749,20 @@ msgstr "" "los avisos que quieras para ponerles un marcador o resaltarlos." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s aún no ha añadido ningún aviso a sus favoritos. ¡Publica algo interesante " "que pueda añadir a sus favoritos! :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s aún no ha añadido ningún aviso a sus favoritos. ¿Por qué no [registras " "una cuenta] (%%%%action.register%%%%) y publicas algo interesante que pueda " @@ -3817,7 +3824,7 @@ msgstr "Canal de avisos del grupo %s (Atom)" msgid "FOAF for %s group" msgstr "Amistades de amistades del grupo %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Miembros" @@ -3831,11 +3838,11 @@ msgstr "(Ninguno)" msgid "All members" msgstr "Todos los miembros" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Creado" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3851,7 +3858,7 @@ msgstr "" "action.register%%%%) para formar parte de este y muchos más grupos! ([Más " "información](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3864,7 +3871,7 @@ msgstr "" "herramienta de software libre [StatusNet](http://status.net/). Sus miembros " "comparten mensajes cortos acerca de su vida e intereses. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administradores" @@ -3939,10 +3946,10 @@ msgstr "" "publicación, así que este puede ser un buen momento para empezar :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Puedes intentar darle un toque a %1$s o [publicar algo a su atención](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." @@ -4514,10 +4521,6 @@ msgstr "" msgid "No such tag." msgstr "No existe tal etiqueta." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Método API en construcción." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "No has bloqueado ese usuario." @@ -4881,28 +4884,33 @@ msgstr "No se pudo insertar mensaje." msgid "Could not update message with new URI." msgstr "No se pudo actualizar mensaje con nuevo URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Error de la BD al insertar la etiqueta clave: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Ha habido un problema al guardar el mensaje. Es muy largo." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Ha habido un problema al guardar el mensaje. Usuario desconocido." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Demasiados avisos demasiado rápido; para y publicar nuevamente en unos " "minutos." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4910,25 +4918,30 @@ msgstr "" "Muchos mensajes, enviados muy rápido; espera un poco e intenta publicar " "pasados unos minutos." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Tienes prohibido publicar avisos en este sitio." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Hubo un problema al guardar el aviso." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Hubo un problema al guarda la bandeja de entrada del grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "No se pudo guarda el aviso del sitio." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Se te ha prohibido la suscripción." @@ -4963,19 +4976,19 @@ msgstr "No se pudo eliminar la suscripción." msgid "Welcome to %1$s, @%2$s!" msgstr "Bienvenido a %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "No se pudo crear grupo." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "No se pudo configurar el URI del grupo." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "No se pudo configurar la membresía del grupo." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "No se ha podido guardar la información del grupo local." @@ -6453,7 +6466,7 @@ msgstr "" "otros usuarios partícipes de la conversación. La gente puede enviarte " "mensajes que sólo puedas leer tú." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "desde" @@ -6513,24 +6526,24 @@ msgstr "No se pudo escribir el archivo en el disco." msgid "File upload stopped by extension." msgstr "La subida de archivos se detuvo por extensión." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Archivo sobrepasa la cuota del usuario." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "El archivo no se pudo mover al directorio de destino." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "No se pudo determinar tipo MIME del archivo" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Pruebe a usar otro formato %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s no es un tipo de archivo soportado en este servidor." @@ -6586,51 +6599,51 @@ msgstr "" "favor, inténtalo más tarde." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "E" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "W" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "en" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "en contexto" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repetido por" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Responder este aviso." -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Responder" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Aviso repetido" diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po index 252f10b96..3c36dc1bd 100644 --- a/locale/fa/LC_MESSAGES/statusnet.po +++ b/locale/fa/LC_MESSAGES/statusnet.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:50+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:25+0000\n" "Last-Translator: Ahmad Sufi Mahmudi\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" "X-Language-Code: fa\n" "X-Message-Group: out-statusnet\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" #. TRANS: Page title @@ -170,19 +170,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "شما می‌توانید [یادآوری‌کردن %1$s](../%2$s) را از نمایه‌اش امتحان کنید یا [به " "توجه او چیزی بفرستید](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "چرا [ثبت‌نام](%%%%action.register%%%%) نمی‌کنید و سپس به %s یادآوری کنید یا یک " "پیام به توجه‌اش بفرستید." @@ -363,7 +363,8 @@ msgid "Could not delete favorite." msgstr "نمی‌توان پیام برگزیده را حذف کرد." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "نمی‌توان کاربر را دنبال کرد: کاربر یافت نشد." #: actions/apifriendshipscreate.php:118 @@ -379,8 +380,9 @@ msgstr "نمی‌توان کاربر را دنبال نکرد: کاربر یاف msgid "You cannot unfollow yourself." msgstr "نمی‌توانید خودتان را دنبال کنید." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "باید ۲ شناسه‌ی کاربر یا نام ظاهری وارد کنید." #: actions/apifriendshipsshow.php:134 @@ -666,7 +668,7 @@ msgstr "یافت نشد." msgid "Max notice size is %d chars, including attachment URL." msgstr "بیشینهٔ طول پیام %d نویسه که شامل نشانی اینترنتی پیوست هم هست." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "قالب پشتیبانی نشده." @@ -720,6 +722,10 @@ msgstr "پیام‌هایی که با %s نشانه گزاری شده اند." msgid "Updates tagged with %1$s on %2$s!" msgstr "پیام‌های نشانه گزاری شده با %1$s در %2$s" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "روش API در دست ساخت." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "چنین پیوستی وجود ندارد." @@ -773,7 +779,7 @@ msgid "Preview" msgstr "پیش‌نمایش" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "حذف" @@ -1055,7 +1061,7 @@ msgid "Do not delete this notice" msgstr "این پیام را پاک نکن" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "این پیام را پاک کن" @@ -1334,7 +1340,7 @@ msgstr "نام‌مستعار غیر مجاز: «%s»" msgid "Could not update group." msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "نمی‌توان نام‌های مستعار را ساخت." @@ -2476,8 +2482,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "پیام‌هایی که با جست‌و‌جوی عبارت »%1$s« در %s یافت شدند." #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "این کاربر اجازه‌ی یادآوری‌کردن را نداده است یا پست‌الکترونیک خود را تایید یا " "تعیین نکرده است." @@ -2555,8 +2562,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "لطفا تنها از نشانی‌های اینترنتی %s از راه HTTP ساده استفاده کنید." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "یک قالب دادهٔ پشتیبانی‌شده نیست." @@ -3460,7 +3467,7 @@ msgstr "شما نمی‌توانید پیام خودتان را تکرار کن msgid "You already repeated that notice." msgstr "شما قبلا آن پیام را تکرار کرده‌اید." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "تکرار شده" @@ -3495,10 +3502,10 @@ msgid "Replies feed for %s (Atom)" msgstr "خوراک پاسخ‌ها برای %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "این خط‌زمانی است که پاسخ‌ها به %1$s را نشان می‌دهد، اما %2$s هنوز یک پیام به " "توجه‌اش دریافت نکرده است." @@ -3513,10 +3520,10 @@ msgstr "" "شوید یا [به گروه‌ها بپیوندید](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "شما می‌توانید [یادآوری %1$s](../%2$s) را امتحان کنید یا [به توجه او چیزی " "بفرستید](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3608,7 +3615,7 @@ msgstr "سازمان" msgid "Description" msgstr "توصیف" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "آمار" @@ -3696,20 +3703,20 @@ msgstr "" "آن‌ها بگذارید." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s تاکنون هیچ پیامی را به برگزیده‌هایش اضافه نکرده است. چیز جالبی بفرستید که " "ممکن است به برگزیده‌هایشان اضافه کنند :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s تاکنون هیچ پیامی را به برگزیده‌هایش اضافه نکرده است. چرا به [ثبت کردن یک " "حساب](%%%%action.register%%%%) اقدام نمی‌کنید و سپس چیز جالبی را که ممکن است " @@ -3771,7 +3778,7 @@ msgstr "خوراک پیام برای گروه %s (Atom)" msgid "FOAF for %s group" msgstr "FOAF برای گروه %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "اعضا" @@ -3785,11 +3792,11 @@ msgstr "هیچ" msgid "All members" msgstr "همهٔ اعضا" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "ساخته شد" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3805,7 +3812,7 @@ msgstr "" "می‌گذارند. [اکنون بپیوندید ](%%%%action.register%%%%) تا یکی از اعضای این " "گروه و بلکه بیش‌تر بشوید! ([بیش‌تر بخوانید](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3819,7 +3826,7 @@ msgstr "" "است. کاربران آن پیام‌های کوتاهی را دربارهٔ زندگی و علاقه‌مندی‌هایشان به اشتراک " "می‌گذارند. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "مدیران" @@ -3894,10 +3901,10 @@ msgstr "" "زمان خوبی برای شروع باشد :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "شما می‌توانید یادآوری %1$s را امتحان کنید یا [به توجه او چیزی بفرستید](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." @@ -4460,10 +4467,6 @@ msgstr "از این روش برای افزودن برچسب به مشترک‌ه msgid "No such tag." msgstr "چنین برچسبی وجود ندارد." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "روش API در دست ساخت." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "شما آن کاربر را مسدود نکرده اید." @@ -4820,28 +4823,33 @@ msgstr "پیغام نمی تواند درج گردد" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "هنگام افزودن برچسب خطا در پایگاه داده رخ داد: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "مشکل در ذخیره کردن پیام. بسیار طولانی." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "مشکل در ذخیره کردن پیام. کاربر نا شناخته." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "تعداد زیادی پیام و خیلی سریع فرستاده شده‌اند؛ استراحت کنید و دقایقی دیگر " "دوباره بفرستید." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4849,25 +4857,30 @@ msgstr "" "تعداد زیاد پیام های دو نسخه ای و بسرعت؛ استراحت کنید و دقایقی دیگر مجددا " "ارسال کنید." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "شما از فرستادن پیام در این وب‌گاه منع شده‌اید." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "هنگام ذخیرهٔ پیام مشکلی ایجاد شد." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "هنگام ذخیرهٔ صندوق ورودی گروه مشکلی رخ داد." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "نمی‌توان پیام وب‌گاه را ذخیره کرد." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "شما از اشتراک منع شده‌اید." @@ -4901,20 +4914,20 @@ msgstr "نمی‌توان اشتراک را لغو کرد." msgid "Welcome to %1$s, @%2$s!" msgstr "@%2$s، به %1$s خوش آمدید!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "نمیتوان گروه را تشکیل داد" -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "نمیتوان گروه را تشکیل داد" -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "نمی‌توان عضویت گروه را تعیین کرد." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "نمی‌توان اطلاعات گروه محلی را ذخیره کرد." @@ -6375,7 +6388,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "از" @@ -6431,24 +6444,24 @@ msgstr "شکست خوردن در نوشتن فایل روی دیسک." msgid "File upload stopped by extension." msgstr "بارگذاری پرونده توسط افزونه متوقف شد." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "پرونده از سهمیهٔ کاربر می‌گذرد." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "فایل نتوانست به دایرکتوری مقصد منتقل شود." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "نمی‌توان فرمت پرونده را تعیین کرد." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "تلاش برای امتحان نوع دیگر %s" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s یک گونهٔ پروندهٔ پیشتیبانی شده روی این کارگزار نیست." @@ -6504,51 +6517,51 @@ msgstr "" "دوباره تلاش کنید." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "در" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "در زمینه" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "تکرار از" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "به این پیام پاسخ دهید" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "پاسخ" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "پیام تکرار شد" diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index e9db35d8c..1f587c350 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:46+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:23+0000\n" "Language-Team: Finnish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fi\n" "X-Message-Group: out-statusnet\n" @@ -178,8 +178,8 @@ msgstr "" #: actions/all.php:146 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action." "newnotice%%%%?status_textarea=%s)!" @@ -188,7 +188,7 @@ msgstr "" #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -374,7 +374,8 @@ msgid "Could not delete favorite." msgstr "Ei voitu poistaa suosikkia." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Ei voitu tilata käyttäjää: Käyttäjää ei löytynyt." #: actions/apifriendshipscreate.php:118 @@ -391,8 +392,9 @@ msgstr "Ei voitu lopettaa tilausta: Käyttäjää ei löytynyt." msgid "You cannot unfollow yourself." msgstr "Et voi lopettaa itsesi tilausta!" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Kaksi käyttäjätunnusta tai nimeä täytyy antaa." #: actions/apifriendshipsshow.php:134 @@ -688,7 +690,7 @@ msgstr "Ei löytynyt." msgid "Max notice size is %d chars, including attachment URL." msgstr "Maksimikoko päivitykselle on %d merkkiä, mukaan lukien URL-osoite." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formaattia ei ole tuettu." @@ -743,6 +745,10 @@ msgstr "Päivitykset joilla on tagi %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Käyttäjän %1$s päivitykset palvelussa %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API-metodi on työn alla!" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Liitettä ei ole." @@ -796,7 +802,7 @@ msgid "Preview" msgstr "Esikatselu" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Poista" @@ -1083,7 +1089,7 @@ msgid "Do not delete this notice" msgstr "Älä poista tätä päivitystä" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Poista tämä päivitys" @@ -1380,7 +1386,7 @@ msgstr "Virheellinen alias: \"%s\"" msgid "Could not update group." msgstr "Ei voitu päivittää ryhmää." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Ei voitu lisätä aliasta." @@ -1421,7 +1427,6 @@ msgstr "Tämän hetken vahvistettu sähköpostiosoite." #: actions/emailsettings.php:115 actions/emailsettings.php:158 #: actions/imsettings.php:116 actions/smssettings.php:124 #: actions/smssettings.php:180 -#, fuzzy msgctxt "BUTTON" msgid "Remove" msgstr "Poista" @@ -2555,8 +2560,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Kaikki päivitykset hakuehdolla \"%s\"" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Käyttäjä ei ole sallinut tönäisyjä tai ei ole vahvistanut " "sähköpostiosoitettaan." @@ -2638,8 +2644,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Tuo ei ole tuettu tietomuoto." @@ -3568,7 +3574,7 @@ msgstr "Et voi rekisteröityä, jos et hyväksy lisenssiehtoja." msgid "You already repeated that notice." msgstr "Sinä olet jo estänyt tämän käyttäjän." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Luotu" @@ -3608,7 +3614,7 @@ msgstr "Päivityksien syöte käyttäjälle %s" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Tämä on käyttäjän %s aikajana, mutta %s ei ole lähettänyt vielä yhtään " "päivitystä." @@ -3623,8 +3629,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action." "newnotice%%%%?status_textarea=%s)!" @@ -3726,7 +3732,7 @@ msgstr "Sivutus" msgid "Description" msgstr "Kuvaus" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Tilastot" @@ -3812,16 +3818,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3880,7 +3886,7 @@ msgstr "Syöte ryhmän %s päivityksille (Atom)" msgid "FOAF for %s group" msgstr "Käyttäjän %s lähetetyt viestit" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Jäsenet" @@ -3894,11 +3900,11 @@ msgstr "(Tyhjä)" msgid "All members" msgstr "Kaikki jäsenet" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Luotu" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3908,7 +3914,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, fuzzy, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3919,7 +3925,7 @@ msgstr "" "**%s** on ryhmä palvelussa %%%%site.name%%%%, joka on [mikroblogauspalvelu]" "(http://en.wikipedia.org/wiki/Micro-blogging)" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Ylläpitäjät" @@ -3996,8 +4002,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action." "newnotice%%%%?status_textarea=%s)!" @@ -4572,10 +4578,6 @@ msgstr "" msgid "No such tag." msgstr "Tuota tagia ei ole." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API-metodi on työn alla!" - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4942,29 +4944,34 @@ msgstr "Viestin tallennus ei onnistunut." msgid "Could not update message with new URI." msgstr "Viestin päivittäminen uudella URI-osoitteella ei onnistunut." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Tietokantavirhe tallennettaessa risutagiä: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Ongelma päivityksen tallentamisessa." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Virhe tapahtui päivityksen tallennuksessa. Tuntematon käyttäjä." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Liian monta päivitystä liian nopeasti; pidä pieni hengähdystauko ja jatka " "päivityksien lähettämista muutaman minuutin päästä." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4972,26 +4979,31 @@ msgstr "" "Liian monta päivitystä liian nopeasti; pidä pieni hengähdystauko ja jatka " "päivityksien lähettämista muutaman minuutin päästä." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Päivityksesi tähän palveluun on estetty." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Ongelma päivityksen tallentamisessa." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Ongelma päivityksen tallentamisessa." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Twitter-asetuksia ei voitu tallentaa!" + #: classes/Subscription.php:74 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." @@ -5029,20 +5041,20 @@ msgstr "Ei voitu poistaa tilausta." msgid "Welcome to %1$s, @%2$s!" msgstr "Viesti käyttäjälle %1$s, %2$s" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Ryhmän luonti ei onnistunut." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Ryhmän jäsenyystietoja ei voitu asettaa." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Ryhmän jäsenyystietoja ei voitu asettaa." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Tilausta ei onnistuttu tallentamaan." @@ -6435,7 +6447,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr " lähteestä " @@ -6491,25 +6503,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Julkista päivitysvirtaa ei saatu." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6566,54 +6578,54 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "Ei" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "Ei sisältöä!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "Luotu" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Vastaa tähän päivitykseen" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Vastaus" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Päivitys on poistettu." diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po index 138433aac..4d0a500e3 100644 --- a/locale/fr/LC_MESSAGES/statusnet.po +++ b/locale/fr/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:55+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:26+0000\n" "Language-Team: French\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: out-statusnet\n" @@ -173,20 +173,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Vous pouvez essayer de [faire un clin d’œil à %1$s](../%2$s) depuis son " "profil ou [poster quelque chose à son intention](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Pourquoi ne pas [créer un compte](%%%%action.register%%%%) et ensuite faire " "un clin d’œil à %s ou poster un avis à son intention." @@ -371,7 +371,8 @@ msgid "Could not delete favorite." msgstr "Impossible de supprimer le favori." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Impossible de suivre l’utilisateur : Utilisateur non trouvé." #: actions/apifriendshipscreate.php:118 @@ -387,8 +388,9 @@ msgstr "Impossible de ne plus suivre l’utilisateur : utilisateur non trouvé." msgid "You cannot unfollow yourself." msgstr "Vous ne pouvez pas ne plus vous suivre vous-même." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Vous devez fournir 2 identifiants ou pseudos." #: actions/apifriendshipsshow.php:134 @@ -685,7 +687,7 @@ msgstr "" "La taille maximale de l’avis est de %d caractères, en incluant l’URL de la " "pièce jointe." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Format non supporté." @@ -739,6 +741,10 @@ msgstr "Avis marqués avec %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Mises à jour marquées avec %1$s dans %2$s !" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Méthode API en construction." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Pièce jointe non trouvée." @@ -793,7 +799,7 @@ msgid "Preview" msgstr "Aperçu" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Supprimer" @@ -1074,7 +1080,7 @@ msgid "Do not delete this notice" msgstr "Ne pas supprimer cet avis" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Supprimer cet avis" @@ -1353,7 +1359,7 @@ msgstr "Alias invalide : « %s »" msgid "Could not update group." msgstr "Impossible de mettre à jour le groupe." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Impossible de créer les alias." @@ -1503,7 +1509,7 @@ msgstr "Préférences de courrier électronique enregistrées." #. TRANS: Message given saving e-mail address without having provided one. #: actions/emailsettings.php:353 msgid "No email address." -msgstr "Aucune adresse courriel." +msgstr "Aucune adresse électronique." #. TRANS: Message given saving e-mail address that cannot be normalised. #: actions/emailsettings.php:361 @@ -2523,8 +2529,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "mises à jour correspondant au(x) terme(s) « %1$s » sur %2$s !" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Cet utilisateur n’accepte pas les clins d’œil ou n’a pas encore validé son " "adresse électronique." @@ -2604,8 +2611,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Veuillez n'utiliser que des URL HTTP complètes en %s." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Format de données non supporté." @@ -3525,7 +3532,7 @@ msgstr "Vous ne pouvez pas reprendre votre propre avis." msgid "You already repeated that notice." msgstr "Vous avez déjà repris cet avis." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repris" @@ -3560,10 +3567,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Flux des réponses pour %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Ceci est la chronologie des réponses à %1$s mais %2$s n’a encore reçu aucun " "avis à son intention." @@ -3579,10 +3586,10 @@ msgstr "" "%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Vous pouvez essayer de [faire un clin d’œil à %1$s](../%2$s) ou de [poster " "quelque chose à son intention](%%%%action.newnotice%%%%?status_textarea=%3" @@ -3675,7 +3682,7 @@ msgstr "Organisation" msgid "Description" msgstr "Description" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistiques" @@ -3763,20 +3770,20 @@ msgstr "" "mettre en lumière." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s n’a pas ajouté d’avis à ses favoris pour le moment. Publiez quelque chose " "d’intéressant, et cela pourrait être ajouté à ses favoris :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s n’a pas ajouté d’avis à ses favoris pour le moment. Vous pourriez [créer " "un compte](%%%%action.register%%%%), puis poster quelque chose " @@ -3838,7 +3845,7 @@ msgstr "Fil des avis du groupe %s (Atom)" msgid "FOAF for %s group" msgstr "ami d’un ami pour le groupe %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Membres" @@ -3852,11 +3859,11 @@ msgstr "(aucun)" msgid "All members" msgstr "Tous les membres" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Créé" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3872,7 +3879,7 @@ msgstr "" "action.register%%%%) pour devenir membre de ce groupe et bien plus ! ([En " "lire plus](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3885,7 +3892,7 @@ msgstr "" "logiciel libre [StatusNet](http://status.net/). Ses membres partagent des " "messages courts à propos de leur vie et leurs intérêts. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administrateurs" @@ -3963,10 +3970,10 @@ msgstr "" "d’avis pour le moment, vous pourriez commencer maintenant :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Vous pouvez essayer de faire un clin d’œil à %1$s ou de [poster quelque " "chose à son intention](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4540,10 +4547,6 @@ msgstr "" msgid "No such tag." msgstr "Cette marque n’existe pas." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Méthode API en construction." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Vous n’avez pas bloqué cet utilisateur." @@ -4911,28 +4914,33 @@ msgstr "Impossible d’insérer le message." msgid "Could not update message with new URI." msgstr "Impossible de mettre à jour le message avec un nouvel URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Erreur de base de donnée en insérant la marque (hashtag) : %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problème lors de l’enregistrement de l’avis ; trop long." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Erreur lors de l’enregistrement de l’avis. Utilisateur inconnu." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Trop d’avis, trop vite ! Faites une pause et publiez à nouveau dans quelques " "minutes." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4940,25 +4948,30 @@ msgstr "" "Trop de messages en double trop vite ! Prenez une pause et publiez à nouveau " "dans quelques minutes." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Il vous est interdit de poster des avis sur ce site." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problème lors de l’enregistrement de l’avis." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problème lors de l’enregistrement de la boîte de réception du groupe." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Impossible d'enregistrer l'avis du site." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Il vous a été interdit de vous abonner." @@ -4992,19 +5005,19 @@ msgstr "Impossible de cesser l’abonnement" msgid "Welcome to %1$s, @%2$s!" msgstr "Bienvenue à %1$s, @%2$s !" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Impossible de créer le groupe." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Impossible de définir l'URI du groupe." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Impossible d’établir l’inscription au groupe." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Impossible d’enregistrer les informations du groupe local." @@ -6487,7 +6500,7 @@ msgstr "" "pour démarrer des conversations avec d’autres utilisateurs. Ceux-ci peuvent " "vous envoyer des messages destinés à vous seul(e)." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "de" @@ -6546,24 +6559,24 @@ msgstr "Impossible d’écrire sur le disque." msgid "File upload stopped by extension." msgstr "Import de fichier stoppé par une extension." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Le fichier dépasse le quota de l’utilisateur." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Le fichier n’a pas pu être déplacé dans le dossier de destination." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Impossible de déterminer le type MIME du fichier." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Essayez d’utiliser un autre %s format." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s n’est pas un type de fichier supporté sur ce serveur." @@ -6619,51 +6632,51 @@ msgstr "" "Veuillez réessayer plus tard." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "E" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "O" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u° %2$u' %3$u\" %4$s %5$u° %6$u' %7$u\" %8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "chez" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "dans le contexte" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repris par" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Répondre à cet avis" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Répondre" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Avis repris" diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po index 5ff4b2639..f0929d4ec 100644 --- a/locale/ga/LC_MESSAGES/statusnet.po +++ b/locale/ga/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:31:59+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:28+0000\n" "Language-Team: Irish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ga\n" "X-Message-Group: out-statusnet\n" @@ -174,15 +174,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -370,7 +370,8 @@ msgid "Could not delete favorite." msgstr "Non se puido eliminar o favorito." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Non podes seguir a este usuario: o Usuario non se atopa." #: actions/apifriendshipscreate.php:118 @@ -388,8 +389,9 @@ msgstr "Non podes seguir a este usuario: o Usuario non se atopa." msgid "You cannot unfollow yourself." msgstr "Non se puido actualizar o usuario." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "" "Dous identificadores de usuario ou nomes_en_pantalla deben ser " "proporcionados." @@ -685,7 +687,7 @@ msgstr "Non atopado" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "Formato de ficheiro de imaxe non soportado." @@ -740,6 +742,10 @@ msgstr "Chíos tagueados con %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Actualizacións dende %1$s en %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Método da API en contrución." + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -795,7 +801,7 @@ msgid "Preview" msgstr "" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 #, fuzzy msgid "Delete" msgstr "eliminar" @@ -1095,7 +1101,7 @@ msgid "Do not delete this notice" msgstr "Non se pode eliminar este chíos." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 #, fuzzy msgid "Delete this notice" msgstr "Eliminar chío" @@ -1400,7 +1406,7 @@ msgstr "Etiqueta inválida: '%s'" msgid "Could not update group." msgstr "Non se puido actualizar o usuario." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "Non se puido crear o favorito." @@ -2586,8 +2592,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Tódalas actualizacións que coinciden co termo de procura \"%s\"" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Este usuario non permite toques, ou non confirmou ainda o seu correo " "electrónico." @@ -2668,8 +2675,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Non é un formato de datos soportado." @@ -3608,7 +3615,7 @@ msgstr "Non podes rexistrarte se non estas de acordo coa licenza." msgid "You already repeated that notice." msgstr "Xa bloqueaches a este usuario." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Crear" @@ -3648,7 +3655,7 @@ msgstr "Fonte de chíos para %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3661,8 +3668,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3762,7 +3769,7 @@ msgstr "Invitación(s) enviada(s)." msgid "Description" msgstr "Subscricións" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Estatísticas" @@ -3848,16 +3855,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3919,7 +3926,7 @@ msgstr "Fonte de chíos para %s" msgid "FOAF for %s group" msgstr "Band. Saída para %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 #, fuzzy msgid "Members" msgstr "Membro dende" @@ -3935,12 +3942,12 @@ msgstr "(nada)" msgid "All members" msgstr "" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "Crear" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, fuzzy, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3954,7 +3961,7 @@ msgstr "" "(http://status.net/). [Únete agora](%%action.register%%) para compartir " "chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, fuzzy, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3967,7 +3974,7 @@ msgstr "" "(http://status.net/). [Únete agora](%%action.register%%) para compartir " "chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -4043,8 +4050,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4625,10 +4632,6 @@ msgstr "" msgid "No such tag." msgstr "Non existe a etiqueta." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Método da API en contrución." - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4997,29 +5000,34 @@ msgstr "Non se pode inserir unha mensaxe." msgid "Could not update message with new URI." msgstr "Non se puido actualizar a mensaxe coa nova URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Erro ó inserir o hashtag na BD: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Aconteceu un erro ó gardar o chío." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Aconteceu un erro ó gardar o chío. Usuario descoñecido." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Demasiados chíos en pouco tempo; tomate un respiro e envíao de novo dentro " "duns minutos." -#: classes/Notice.php:266 +#: classes/Notice.php:272 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -5028,26 +5036,31 @@ msgstr "" "Demasiados chíos en pouco tempo; tomate un respiro e envíao de novo dentro " "duns minutos." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Tes restrinxido o envio de chíos neste sitio." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Aconteceu un erro ó gardar o chío." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Aconteceu un erro ó gardar o chío." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Non se puideron gardar os teus axustes de Twitter!" + #: classes/Subscription.php:74 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." @@ -5085,22 +5098,22 @@ msgstr "Non se pode eliminar a subscrición." msgid "Welcome to %1$s, @%2$s!" msgstr "Mensaxe de %1$s en %2$s" -#: classes/User_group.php:480 +#: classes/User_group.php:495 #, fuzzy msgid "Could not create group." msgstr "Non se puido crear o favorito." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Non se pode gardar a subscrición." -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "Non se pode gardar a subscrición." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Non se pode gardar a subscrición." @@ -6585,7 +6598,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr " dende " @@ -6641,25 +6654,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Non se pudo recuperar a liña de tempo publica." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6719,56 +6732,56 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "No" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "Sen contido!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "Crear" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 #, fuzzy msgid "Reply to this notice" msgstr "Non se pode eliminar este chíos." -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 #, fuzzy msgid "Reply" msgstr "contestar" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Chío publicado" diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po index c13be54db..3dec92ace 100644 --- a/locale/gl/LC_MESSAGES/statusnet.po +++ b/locale/gl/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:03+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:31+0000\n" "Language-Team: Galician\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: out-statusnet\n" @@ -166,20 +166,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode probar a [facerlle un aceno a %1$s](../%2$s) dende o seu perfil ou " "[publicar algo dirixido a el ou ela](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Por que non [rexistrar unha conta](%%%%action.register%%%%) e entón facerlle " "un aceno a %s ou publicar unha nota dirixida a el ou ela?" @@ -364,7 +364,8 @@ msgid "Could not delete favorite." msgstr "Non se puido eliminar o favorito." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Non se puido seguir o usuario: non se atopou." #: actions/apifriendshipscreate.php:118 @@ -380,8 +381,9 @@ msgstr "Non se puido deixar de seguir o usuario: non se atopou." msgid "You cannot unfollow yourself." msgstr "Non pode deixar de seguirse a si mesmo." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Deben fornecerse dúas identificacións ou nomes de usuario." #: actions/apifriendshipsshow.php:134 @@ -673,7 +675,7 @@ msgstr "" "A lonxitude máxima das notas é de %d caracteres, incluído o URL do dato " "adxunto." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formato non soportado." @@ -727,6 +729,10 @@ msgstr "Notas etiquetadas con %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Actualizacións etiquetadas con %1$s en %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Método API en desenvolvemento." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Non existe tal dato adxunto." @@ -781,7 +787,7 @@ msgid "Preview" msgstr "Vista previa" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Borrar" @@ -1062,7 +1068,7 @@ msgid "Do not delete this notice" msgstr "Non borrar esta nota" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Borrar esta nota" @@ -1341,7 +1347,7 @@ msgstr "Pseudónimo inválido: \"%s\"" msgid "Could not update group." msgstr "Non se puido actualizar o grupo." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Non se puideron crear os pseudónimos." @@ -2500,8 +2506,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Actualizacións que conteñen o termo \"%1$s\" en %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Este usuario non permite acenos ou aínda non corfirmou ou configurou o seu " "enderezo de correo electrónico." @@ -2580,8 +2587,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Só %s enderezos URL sobre HTTP simple." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Non se soporta ese formato de datos." @@ -3506,7 +3513,7 @@ msgstr "Non pode repetir a súa propia nota." msgid "You already repeated that notice." msgstr "Xa repetiu esa nota." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repetida" @@ -3541,10 +3548,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de novas coas respostas a %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Esta é a liña do tempo coas respostas a %1$s, pero a %2$s aínda non lle " "mandaron ningunha nota." @@ -3559,10 +3566,10 @@ msgstr "" "grupos](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode probar a [facerlle un aceno a %1$s](../%2$s) ou [publicar algo dirixido " "a el ou ela](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3653,7 +3660,7 @@ msgstr "Organización" msgid "Description" msgstr "Descrición" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Estatísticas" @@ -3742,20 +3749,20 @@ msgstr "" "naquelas notas que lle gusten para marcalas para logo ou para salientalas." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s aínda non marcou ningunha nota como favorita. Publique algo interesante " "que poida querer engadir aos seus favoritos :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s aínda non marcou ningunha nota como favorita. Por que non [rexistrar unha " "conta](%%%%action.register%%%%) e publicar algo interesante que puidese " @@ -3817,7 +3824,7 @@ msgstr "Fonte de novas das notas do grupo %s (Atom)" msgid "FOAF for %s group" msgstr "Amigo dun amigo para o grupo %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Membros" @@ -3831,11 +3838,11 @@ msgstr "(Ningún)" msgid "All members" msgstr "Todos os membros" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Creado" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3851,7 +3858,7 @@ msgstr "" "[Únase agora](%%%%action.register%%%%) para pasar a formar parte deste grupo " "e de moitos máis! ([Máis información](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3864,7 +3871,7 @@ msgstr "" "baseado na ferramenta de software libre [StatusNet](http://status.net/). Os " "seus membros comparten mensaxes curtas sobre as súas vidas e intereses. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administradores" @@ -3939,10 +3946,10 @@ msgstr "" "bo momento para comezar :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Pode probar a facerlle un aceno a %1$s ou [publicar algo dirixido a el ou " "ela](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4514,10 +4521,6 @@ msgstr "" msgid "No such tag." msgstr "Esa etiqueta non existe." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Método API en desenvolvemento." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Non bloqueou a ese usuario." @@ -4881,28 +4884,33 @@ msgstr "Non se puido inserir a mensaxe." msgid "Could not update message with new URI." msgstr "Non se puido actualizar a mensaxe co novo URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Houbo un erro na base de datos ao intentar inserir a etiqueta: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Houbo un problema ao gardar a nota. É longa de máis." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Houbo un problema ao gardar a nota. Descoñécese o usuario." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Escribiu demasiadas notas en moi pouco tempo. Tómese un respiro e volva " "publicar nuns minutos." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4910,25 +4918,30 @@ msgstr "" "Repetiu demasiadas mensaxes en moi pouco tempo. Tómese un respiro e volva " "publicar nuns minutos." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Prohibíuselle publicar notas neste sitio de momento." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Houbo un problema ao gardar a nota." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Houbo un problema ao gardar a caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "♻ @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Non se puido gardar a nota do sitio." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Prohibíuselle realizar subscricións de momento." @@ -4962,19 +4975,19 @@ msgstr "Non se puido borrar a subscrición." msgid "Welcome to %1$s, @%2$s!" msgstr "Benvido a %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Non se puido crear o grupo." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Non se puido establecer o URI do grupo." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Non se puido establecer a pertenza ao grupo." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Non se puido gardar a información do grupo local." @@ -6447,7 +6460,7 @@ msgstr "" "Non ten mensaxes privadas. Pode enviar mensaxes privadas para conversar con " "outros usuarios. A xente pode enviarlle mensaxes para que só as lea vostede." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "de" @@ -6505,24 +6518,24 @@ msgstr "Non se puido escribir o ficheiro no disco." msgid "File upload stopped by extension." msgstr "Interrompeuse a carga do ficheiro por mor da extensión." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "O ficheiro supera a cota do usuario." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Non se puido mover o ficheiro ao directorio de destino." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Non se puido determinar o tipo MIME do ficheiro." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Inténteo utilizando outro formato %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "Neste servidor non se soporta o tipo de ficheiro %s." @@ -6578,51 +6591,51 @@ msgstr "" "intentar máis tarde" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "L" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "O" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "en" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "no contexto" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repetida por" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Responder a esta nota" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Responder" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Repetiuse a nota" diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po index 165593ae7..b32c65ef5 100644 --- a/locale/he/LC_MESSAGES/statusnet.po +++ b/locale/he/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:06+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:33+0000\n" "Language-Team: Hebrew\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: he\n" "X-Message-Group: out-statusnet\n" @@ -171,15 +171,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -363,8 +363,9 @@ msgid "Could not delete favorite." msgstr "" #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." -msgstr "" +#, fuzzy +msgid "Could not follow user: profile not found." +msgstr "נכשלה ההפניה לשרת: %s" #: actions/apifriendshipscreate.php:118 #, php-format @@ -381,8 +382,8 @@ msgstr "נכשלה ההפניה לשרת: %s" msgid "You cannot unfollow yourself." msgstr "עידכון המשתמש נכשל." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -677,7 +678,7 @@ msgstr "לא נמצא" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "פורמט התמונה אינו נתמך." @@ -732,6 +733,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "מיקרובלוג מאת %s" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -787,7 +792,7 @@ msgid "Preview" msgstr "" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 #, fuzzy msgid "Delete" msgstr "מחק" @@ -1081,7 +1086,7 @@ msgid "Do not delete this notice" msgstr "אין הודעה כזו." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "" @@ -1379,7 +1384,7 @@ msgstr "כתובת אתר הבית '%s' אינה חוקית" msgid "Could not update group." msgstr "עידכון המשתמש נכשל." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "שמירת מידע התמונה נכשל" @@ -2523,7 +2528,7 @@ msgstr "כל העידכונים התואמים את החיפוש אחרי \"%s\" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2600,8 +2605,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3496,7 +3501,7 @@ msgstr "לא ניתן להירשם ללא הסכמה לרשיון" msgid "You already repeated that notice." msgstr "כבר נכנסת למערכת!" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "צור" @@ -3536,7 +3541,7 @@ msgstr "הזנת הודעות של %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3549,8 +3554,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3649,7 +3654,7 @@ msgstr "מיקום" msgid "Description" msgstr "הרשמות" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "סטטיסטיקה" @@ -3734,16 +3739,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3804,7 +3809,7 @@ msgstr "הזנת הודעות של %s" msgid "FOAF for %s group" msgstr "הזנת הודעות של %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 #, fuzzy msgid "Members" msgstr "חבר מאז" @@ -3819,12 +3824,12 @@ msgstr "" msgid "All members" msgstr "" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "צור" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3834,7 +3839,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3843,7 +3848,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -3919,8 +3924,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4480,10 +4485,6 @@ msgstr "" msgid "No such tag." msgstr "אין הודעה כזו." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4846,53 +4847,63 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "שגיאת מסד נתונים בהכנסת התגובה: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "בעיה בשמירת ההודעה." -#: classes/Notice.php:255 +#: classes/Notice.php:261 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "בעיה בשמירת ההודעה." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "בעיה בשמירת ההודעה." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "בעיה בשמירת ההודעה." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "בעיה בשמירת ההודעה." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4930,22 +4941,22 @@ msgstr "מחיקת המנוי לא הצליחה." msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:480 +#: classes/User_group.php:495 #, fuzzy msgid "Could not create group." msgstr "שמירת מידע התמונה נכשל" -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "יצירת המנוי נכשלה." -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "יצירת המנוי נכשלה." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "יצירת המנוי נכשלה." @@ -6324,7 +6335,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "" @@ -6379,25 +6390,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "עידכון המשתמש נכשל." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6456,55 +6467,55 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "לא" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "אין תוכן!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "צור" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 #, fuzzy msgid "Reply" msgstr "הגב" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "הודעות" diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po index fccb3f82c..bba1d098a 100644 --- a/locale/hsb/LC_MESSAGES/statusnet.po +++ b/locale/hsb/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:10+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:34+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: hsb\n" "X-Message-Group: out-statusnet\n" @@ -166,15 +166,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -353,8 +353,9 @@ msgid "Could not delete favorite." msgstr "Faworit njeda so zhašeć." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." -msgstr "" +#, fuzzy +msgid "Could not follow user: profile not found." +msgstr "Profil njeje so składować dał." #: actions/apifriendshipscreate.php:118 #, php-format @@ -369,8 +370,9 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "Njemóžeš slědowanje swójskich aktiwitow blokować." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Dwaj wužiwarskej ID abo wužiwarskej mjenje dyrbitej so podać." #: actions/apifriendshipsshow.php:134 @@ -651,7 +653,7 @@ msgstr "Njenamakany." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Njepodpěrany format." @@ -705,6 +707,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Přiwěšk njeeksistuje." @@ -758,7 +764,7 @@ msgid "Preview" msgstr "Přehlad" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Zničić" @@ -1031,7 +1037,7 @@ msgid "Do not delete this notice" msgstr "Tutu zdźělenku njewušmórnyć" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Tutu zdźělenku wušmórnyć" @@ -1306,7 +1312,7 @@ msgstr "Njepłaćiwy alias: \"%s\"" msgid "Could not update group." msgstr "Skupina njeje so dała aktualizować." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Aliasy njejsu so dali wutworić." @@ -2387,7 +2393,7 @@ msgstr "" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2462,8 +2468,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Njeje podpěrany datowy format." @@ -3321,7 +3327,7 @@ msgstr "Njemóžeš swójsku zdźělenku wospjetować." msgid "You already repeated that notice." msgstr "Sy tutu zdźělenku hižo wospjetował." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Wospjetowany" @@ -3359,7 +3365,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3372,8 +3378,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3462,7 +3468,7 @@ msgstr "Organizacija" msgid "Description" msgstr "Wopisanje" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistika" @@ -3547,16 +3553,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3615,7 +3621,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Čłonojo" @@ -3629,11 +3635,11 @@ msgstr "(Žadyn)" msgid "All members" msgstr "Wšitcy čłonojo" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Wutworjeny" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3643,7 +3649,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3652,7 +3658,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administratorojo" @@ -3727,8 +3733,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4259,10 +4265,6 @@ msgstr "" msgid "No such tag." msgstr "" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Njejsy toho wužiwarja zablokował." @@ -4598,50 +4600,60 @@ msgstr "Powěsć njeda so zasunyć." msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Zmylk datoweje banki při zasunjenju hašeje taflički: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Njeje móžno, sydłowu zdźělenku składować." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4675,19 +4687,19 @@ msgstr "Abonoment njeje so dał zničić." msgid "Welcome to %1$s, @%2$s!" msgstr "Witaj do %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Skupina njeda so wutowrić." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "URI skupiny njeda so nastajić." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Skupinske čłonstwo njeda so stajić." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Informacije wo lokalnej skupinje njedachu so składować." @@ -6008,7 +6020,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "wot" @@ -6065,24 +6077,24 @@ msgstr "Dataju njeda so na tačel pisać." msgid "File upload stopped by extension." msgstr "Datajowe nahraće přez rozšěrjenje zastajene." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Dataja njeda so do ciloweho zapisa přesunyć." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "MIME-typ dataje njeda so zwěsćić." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Spytaj druhi format %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s njeje podpěrany datajowy typ na tutym serwerje." @@ -6136,51 +6148,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "S" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "J" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "W" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "Z" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "w konteksće" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Wospjetowany wot" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Na tutu zdźělenku wotmołwić" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Wotmołwić" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Zdźělenka wospjetowana" diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po index 7ca27fa13..bce06be88 100644 --- a/locale/ia/LC_MESSAGES/statusnet.po +++ b/locale/ia/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:14+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:36+0000\n" "Language-Team: Interlingua\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: out-statusnet\n" @@ -166,19 +166,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Tu pote tentar [dar un pulsata a %1$s](../%2$s) in su profilo o [publicar un " "message a su attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Proque non [registrar un conto](%%%%action.register%%%%) e postea dar un " "pulsata a %s o publicar un message a su attention." @@ -361,7 +361,8 @@ msgid "Could not delete favorite." msgstr "Non poteva deler le favorite." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Non poteva sequer le usator: Usator non trovate." #: actions/apifriendshipscreate.php:118 @@ -377,8 +378,9 @@ msgstr "Non poteva cessar de sequer le usator: Usator non trovate." msgid "You cannot unfollow yourself." msgstr "Tu non pote cessar de sequer te mesme." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Duo IDs de usator o pseudonymos debe esser fornite." #: actions/apifriendshipsshow.php:134 @@ -670,7 +672,7 @@ msgstr "" "Le longitude maximal del notas es %d characteres, includente le URL " "adjungite." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formato non supportate." @@ -725,6 +727,10 @@ msgstr "Notas con etiquetta %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Actualisationes con etiquetta %1$s in %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Methodo API in construction." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Annexo non existe." @@ -778,7 +784,7 @@ msgid "Preview" msgstr "Previsualisation" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Deler" @@ -1031,7 +1037,7 @@ msgstr "Deler iste application" #: lib/adminpanelaction.php:73 lib/profileformaction.php:64 #: lib/settingsaction.php:72 msgid "Not logged in." -msgstr "Non identificate." +msgstr "Tu non ha aperite un session." #: actions/deletenotice.php:71 msgid "Can't delete this notice." @@ -1059,7 +1065,7 @@ msgid "Do not delete this notice" msgstr "Non deler iste nota" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Deler iste nota" @@ -1339,7 +1345,7 @@ msgstr "Alias invalide: \"%s\"" msgid "Could not update group." msgstr "Non poteva actualisar gruppo." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Non poteva crear aliases." @@ -2299,7 +2305,7 @@ msgstr "%1$s quitava le gruppo %2$s" #: actions/login.php:102 actions/otp.php:62 actions/register.php:144 msgid "Already logged in." -msgstr "Tu es ja identificate." +msgstr "Tu es jam authenticate." #: actions/login.php:148 msgid "Incorrect username or password." @@ -2316,7 +2322,7 @@ msgstr "Aperir session" #: actions/login.php:249 msgid "Login to site" -msgstr "Identificar te a iste sito" +msgstr "Authenticar te a iste sito" #: actions/login.php:258 actions/register.php:485 msgid "Remember me" @@ -2495,8 +2501,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Actualisationes correspondente al termino de recerca \"%1$s\" in %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Iste usator non accepta pulsatas o non ha ancora confirmate o fornite su " "adresse de e-mail." @@ -2575,8 +2582,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Solmente le URLs %s es permittite super HTTP simple." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Formato de datos non supportate." @@ -3148,7 +3155,7 @@ msgstr "Etiquettario" #: actions/recoverpassword.php:36 msgid "You are already logged in!" -msgstr "Tu es ja identificate!" +msgstr "Tu es jam authenticate!" #: actions/recoverpassword.php:62 msgid "No such recovery code." @@ -3472,7 +3479,7 @@ msgstr "Non poteva obtener un indicio de requesta." #: actions/repeat.php:57 msgid "Only logged-in users can repeat notices." -msgstr "Solmente usatores identificate pote repeter notas." +msgstr "Solmente usatores authenticate pote repeter notas." #: actions/repeat.php:64 actions/repeat.php:71 msgid "No notice specified." @@ -3486,7 +3493,7 @@ msgstr "Tu non pote repeter tu proprie nota." msgid "You already repeated that notice." msgstr "Tu ha ja repetite iste nota." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repetite" @@ -3521,10 +3528,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Syndication de responsas pro %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Isto es le chronologia de responsas a %1$s, ma %2$s non ha ancora recipite " "alcun nota a su attention." @@ -3539,10 +3546,10 @@ msgstr "" "personas o [devenir membro de gruppos](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Tu pote tentar [pulsar %1$s](../%2$s) o [publicar alique a su attention](%%%%" "action.newnotice%%%%?status_textarea=%3$s)." @@ -3633,7 +3640,7 @@ msgstr "Organisation" msgid "Description" msgstr "Description" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statisticas" @@ -3721,20 +3728,20 @@ msgstr "" "mitter los in evidentia." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s non ha ancora addite alcun nota a su favorites. Publica alique " "interessante que ille favoritisarea :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s non ha ancora addite alcun nota a su favorites. Proque non [registrar un " "conto](%%%%action.register%%%%) e postea publicar alique interessante que " @@ -3796,7 +3803,7 @@ msgstr "Syndication de notas pro le gruppo %s (Atom)" msgid "FOAF for %s group" msgstr "Amico de un amico pro le gruppo %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Membros" @@ -3810,11 +3817,11 @@ msgstr "(Nulle)" msgid "All members" msgstr "Tote le membros" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Create" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3829,7 +3836,7 @@ msgstr "" "lor vita e interesses. [Crea un conto](%%%%action.register%%%%) pro devenir " "parte de iste gruppo e multe alteres! ([Lege plus](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3842,7 +3849,7 @@ msgstr "" "[StatusNet](http://status.net/). Su membros condivide breve messages super " "lor vita e interesses. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administratores" @@ -3918,10 +3925,10 @@ msgstr "" "alcun nota, dunque iste es un bon momento pro comenciar :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Tu pote tentar pulsar %1$s o [publicar un nota a su attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4053,7 +4060,7 @@ msgstr "Limite de texto" #: actions/siteadminpanel.php:274 msgid "Maximum number of characters for notices." -msgstr "Numero maximal de characteres pro notas." +msgstr "Numero maxime de characteres pro notas." #: actions/siteadminpanel.php:278 msgid "Dupe limit" @@ -4489,10 +4496,6 @@ msgstr "" msgid "No such tag." msgstr "Etiquetta non existe." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Methodo API in construction." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Tu non ha blocate iste usator." @@ -4855,28 +4858,33 @@ msgstr "Non poteva inserer message." msgid "Could not update message with new URI." msgstr "Non poteva actualisar message con nove URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Error in base de datos durante insertion del marca (hashtag): %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problema salveguardar nota. Troppo longe." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problema salveguardar nota. Usator incognite." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Troppo de notas troppo rapidemente; face un pausa e publica de novo post " "alcun minutas." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4884,25 +4892,30 @@ msgstr "" "Troppo de messages duplicate troppo rapidemente; face un pausa e publica de " "novo post alcun minutas." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Il te es prohibite publicar notas in iste sito." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problema salveguardar nota." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problema salveguardar le cassa de entrata del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Impossibile salveguardar le aviso del sito." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Tu ha essite blocate del subscription." @@ -4936,19 +4949,19 @@ msgstr "Non poteva deler subscription." msgid "Welcome to %1$s, @%2$s!" msgstr "Benvenite a %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Non poteva crear gruppo." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Non poteva definir le URL del gruppo." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Non poteva configurar le membrato del gruppo." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Non poteva salveguardar le informationes del gruppo local." @@ -5085,7 +5098,7 @@ msgstr "Crear conto" #: lib/action.php:488 msgctxt "TOOLTIP" msgid "Login to the site" -msgstr "Identificar te a iste sito" +msgstr "Authenticar te a iste sito" #: lib/action.php:491 msgctxt "MENU" @@ -6417,7 +6430,7 @@ msgstr "" "altere usatores in conversation. Altere personas pote inviar te messages que " "solmente tu pote leger." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "de" @@ -6476,24 +6489,24 @@ msgstr "Falleva de scriber le file in disco." msgid "File upload stopped by extension." msgstr "Incargamento de file stoppate per un extension." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "File excede quota del usator." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "File non poteva esser displaciate in le directorio de destination." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Non poteva determinar le typo MIME del file." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Tenta usar un altere formato %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s non es un typo de file supportate in iste servitor." @@ -6549,51 +6562,51 @@ msgstr "" "previste. Per favor reproba plus tarde." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "E" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "W" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "a" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "in contexto" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repetite per" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Responder a iste nota" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Responder" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Nota repetite" diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po index f8ad6feba..fa07d1ead 100644 --- a/locale/is/LC_MESSAGES/statusnet.po +++ b/locale/is/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:18+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:38+0000\n" "Language-Team: Icelandic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: is\n" "X-Message-Group: out-statusnet\n" @@ -174,15 +174,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -366,7 +366,8 @@ msgid "Could not delete favorite." msgstr "Gat ekki eytt uppáhaldi." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Get ekki fylgst með notanda: Notandinn finnst ekki." #: actions/apifriendshipscreate.php:118 @@ -385,8 +386,9 @@ msgstr "Get ekki fylgst með notanda: Notandinn finnst ekki." msgid "You cannot unfollow yourself." msgstr "Gat ekki uppfært notanda." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Tvo notendakenni eða skjáarnöfn verða að vera uppgefin." #: actions/apifriendshipsshow.php:134 @@ -677,7 +679,7 @@ msgstr "Fannst ekki." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "Skráarsnið myndar ekki stutt." @@ -732,6 +734,10 @@ msgstr "Babl merkt með %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Aðferð í forritsskilum er í þróun." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "" @@ -785,7 +791,7 @@ msgid "Preview" msgstr "Forsýn" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Eyða" @@ -1072,7 +1078,7 @@ msgid "Do not delete this notice" msgstr "" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Eyða þessu babli" @@ -1369,7 +1375,7 @@ msgstr "" msgid "Could not update group." msgstr "Gat ekki uppfært hóp." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "" @@ -2538,8 +2544,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Allar færslur sem passa við \"%s\"" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Þessi notandi leyfir ekki að ýta við sér eða hefur ekki staðfest eða skráð " "tölvupóstinn sinn." @@ -2620,8 +2627,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Enginn stuðningur við gagnasnið." @@ -3542,7 +3549,7 @@ msgstr "Þú getur ekki nýskráð þig nema þú samþykkir leyfið." msgid "You already repeated that notice." msgstr "Þú hefur nú þegar lokað á þennan notanda." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Í sviðsljósinu" @@ -3581,7 +3588,7 @@ msgstr "Bablveita fyrir hópinn %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3594,8 +3601,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3693,7 +3700,7 @@ msgstr "Uppröðun" msgid "Description" msgstr "Lýsing" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Tölfræði" @@ -3779,16 +3786,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3847,7 +3854,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "%s hópurinn" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Meðlimir" @@ -3861,11 +3868,11 @@ msgstr "(Ekkert)" msgid "All members" msgstr "Allir meðlimir" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3875,7 +3882,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3884,7 +3891,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -3960,8 +3967,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4528,10 +4535,6 @@ msgstr "" msgid "No such tag." msgstr "Ekkert þannig merki." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Aðferð í forritsskilum er í þróun." - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4896,53 +4899,63 @@ msgstr "Gat ekki skeytt skilaboðum inn í." msgid "Could not update message with new URI." msgstr "Gat ekki uppfært skilaboð með nýju veffangi." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Gagnagrunnsvilla við innsetningu myllumerkis: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Gat ekki vistað babl. Óþekktur notandi." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Of mikið babl í einu; slakaðu aðeins á og haltu svo áfram eftir nokkrar " "mínútur." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Það hefur verið lagt bann við babli frá þér á þessari síðu." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Vandamál komu upp við að vista babl." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Vandamál komu upp við að vista babl." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Vandamál komu upp við að vista babl." + #: classes/Subscription.php:74 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." @@ -4980,20 +4993,20 @@ msgstr "Gat ekki eytt áskrift." msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Gat ekki búið til hóp." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Gat ekki skráð hópmeðlimi." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Gat ekki skráð hópmeðlimi." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Gat ekki vistað áskrift." @@ -6371,7 +6384,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr "frá" @@ -6427,25 +6440,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Gat ekki eytt uppáhaldi." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6502,53 +6515,53 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "Nei" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "Í sviðsljósinu" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Svara þessu babli" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Svara" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Babl sent inn" diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po index 768669de8..5de73a64c 100644 --- a/locale/it/LC_MESSAGES/statusnet.po +++ b/locale/it/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:21+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:40+0000\n" "Language-Team: Italian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: it\n" "X-Message-Group: out-statusnet\n" @@ -170,20 +170,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puoi provare a [richiamare %1$s](../%2$s) dal suo profilo o [scrivere " "qualche cosa alla sua attenzione](%%%%action.newnotice%%%%?status_textarea=%3" "$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Perché non [crei un account](%%%%action.register%%%%) e richiami %s o scrivi " "un messaggio alla sua attenzione." @@ -366,7 +366,8 @@ msgid "Could not delete favorite." msgstr "Impossibile eliminare un preferito." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Impossibile seguire l'utente: utente non trovato." #: actions/apifriendshipscreate.php:118 @@ -382,8 +383,9 @@ msgstr "Impossibile non seguire l'utente: utente non trovato." msgid "You cannot unfollow yourself." msgstr "Non puoi non seguirti." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Devono essere forniti due ID utente o nominativi." #: actions/apifriendshipsshow.php:134 @@ -673,7 +675,7 @@ msgid "Max notice size is %d chars, including attachment URL." msgstr "" "La dimensione massima di un messaggio è di %d caratteri, compreso l'URL." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formato non supportato." @@ -727,6 +729,10 @@ msgstr "Messaggi etichettati con %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Messaggi etichettati con %1$s su %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Metodo delle API in lavorazione." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Nessun allegato." @@ -780,7 +786,7 @@ msgid "Preview" msgstr "Anteprima" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Elimina" @@ -1060,7 +1066,7 @@ msgid "Do not delete this notice" msgstr "Non eliminare il messaggio" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Elimina questo messaggio" @@ -1338,7 +1344,7 @@ msgstr "Alias non valido: \"%s\"" msgid "Could not update group." msgstr "Impossibile aggiornare il gruppo." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Impossibile creare gli alias." @@ -2492,8 +2498,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Messaggi che corrispondono al termine \"%1$s\" su %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Questo utente non consente i richiami oppure non ha confermato o impostato " "ancora il suo indirizzo email." @@ -2572,8 +2579,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Solo URL %s attraverso HTTP semplice." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Non è un formato di dati supportato." @@ -3485,7 +3492,7 @@ msgstr "Non puoi ripetere i tuoi stessi messaggi." msgid "You already repeated that notice." msgstr "Hai già ripetuto quel messaggio." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Ripetuti" @@ -3520,10 +3527,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Feed delle risposte di %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Questa è l'attività delle risposte a %1$s, ma %2$s non ha ricevuto ancora " "alcun messaggio." @@ -3538,10 +3545,10 @@ msgstr "" "[entrare in qualche gruppo](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puoi provare a [richiamare %1$s](../%2$s) o [scrivere qualche cosa alla sua " "attenzione](%%%%action.newnotice%%%%?status_textarea=%s)." @@ -3632,7 +3639,7 @@ msgstr "Organizzazione" msgid "Description" msgstr "Descrizione" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistiche" @@ -3719,20 +3726,20 @@ msgstr "" "forma di cuore per salvare i messaggi e rileggerli in un altro momento." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s non ha aggiunto alcun messaggio tra i suoi preferiti. Scrivi qualche cosa " "di interessante in modo che lo inserisca tra i suoi preferiti. :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s non ha aggiunto alcun messaggio tra i suoi preferiti. Perché non [crei un " "account](%%%%action.register%%%%) e quindi scrivi qualche cosa di " @@ -3794,7 +3801,7 @@ msgstr "Feed dei messaggi per il gruppo %s (Atom)" msgid "FOAF for %s group" msgstr "FOAF per il gruppo %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Membri" @@ -3808,11 +3815,11 @@ msgstr "(nessuno)" msgid "All members" msgstr "Tutti i membri" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Creato" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3828,7 +3835,7 @@ msgstr "" "stesso](%%%%action.register%%%%) per far parte di questo gruppo e di molti " "altri! ([Maggiori informazioni](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3840,7 +3847,7 @@ msgstr "" "(http://it.wikipedia.org/wiki/Microblogging) basato sul software libero " "[StatusNet](http://status.net/)." -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Amministratori" @@ -3915,10 +3922,10 @@ msgstr "" "potrebbe essere un buon momento per iniziare! :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Puoi provare a richiamare %1$s o [scrivere qualche cosa che attiri la sua " "attenzione](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4486,10 +4493,6 @@ msgstr "" msgid "No such tag." msgstr "Nessuna etichetta." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Metodo delle API in lavorazione." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Non hai bloccato quell'utente." @@ -4854,28 +4857,33 @@ msgstr "Impossibile inserire il messaggio." msgid "Could not update message with new URI." msgstr "Impossibile aggiornare il messaggio con il nuovo URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Errore del database nell'inserire un hashtag: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problema nel salvare il messaggio. Troppo lungo." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problema nel salvare il messaggio. Utente sconosciuto." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Troppi messaggi troppo velocemente; fai una pausa e scrivi di nuovo tra " "qualche minuto." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4883,25 +4891,30 @@ msgstr "" "Troppi messaggi duplicati troppo velocemente; fai una pausa e scrivi di " "nuovo tra qualche minuto." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Ti è proibito inviare messaggi su questo sito." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problema nel salvare il messaggio." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problema nel salvare la casella della posta del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Impossibile salvare il messaggio del sito." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Non ti è possibile abbonarti." @@ -4935,19 +4948,19 @@ msgstr "Impossibile eliminare l'abbonamento." msgid "Welcome to %1$s, @%2$s!" msgstr "Benvenuti su %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Impossibile creare il gruppo." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Impossibile impostare l'URI del gruppo." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Impossibile impostare la membership al gruppo." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Impossibile salvare le informazioni del gruppo locale." @@ -6423,7 +6436,7 @@ msgstr "" "iniziare una conversazione con altri utenti. Altre persone possono mandare " "messaggi riservati solamente a te." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "via" @@ -6481,24 +6494,24 @@ msgstr "Scrittura del file su disco non riuscita." msgid "File upload stopped by extension." msgstr "Caricamento del file bloccato dall'estensione." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Il file supera la quota dell'utente." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Impossibile spostare il file nella directory di destinazione." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Impossibile determinare il tipo MIME del file." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Prova a usare un altro formato per %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s non è un tipo di file supportato su server." @@ -6554,51 +6567,51 @@ msgstr "" "previsto. Riprova più tardi." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "E" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "O" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "presso" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "in una discussione" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Ripetuto da" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Rispondi a questo messaggio" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Rispondi" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Messaggio ripetuto" @@ -6858,7 +6871,7 @@ msgstr "" #: lib/themeuploader.php:58 lib/themeuploader.php:61 msgid "The theme file is missing or the upload failed." -msgstr "" +msgstr "Manca il file del tema o il caricamento non è riuscito." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po index bfe9dc26c..2fc89531f 100644 --- a/locale/ja/LC_MESSAGES/statusnet.po +++ b/locale/ja/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:27+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:42+0000\n" "Language-Team: Japanese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ja\n" "X-Message-Group: out-statusnet\n" @@ -170,19 +170,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "プロフィールから [%1$s さんに合図](../%2$s) したり、[知らせたいことについて投" "稿](%%%%action.newnotice%%%%?status_textarea=%3$s) したりできます。" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "[アカウントを登録](%%%%action.register%%%%) して %s さんに合図したり、お知ら" "せを送ってみませんか。" @@ -366,7 +366,8 @@ msgid "Could not delete favorite." msgstr "お気に入りを取り消すことができません。" #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "ユーザをフォローできませんでした: ユーザが見つかりません。" #: actions/apifriendshipscreate.php:118 @@ -383,8 +384,9 @@ msgstr "ユーザのフォローを停止できませんでした: ユーザが msgid "You cannot unfollow yourself." msgstr "自分自身をフォロー停止することはできません。" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "ふたつのIDかスクリーンネームが必要です。" #: actions/apifriendshipsshow.php:134 @@ -670,7 +672,7 @@ msgstr "見つかりません。" msgid "Max notice size is %d chars, including attachment URL." msgstr "つぶやきは URL を含めて最大 %d 字までです。" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "サポート外の形式です。" @@ -724,6 +726,10 @@ msgstr "%s とタグ付けされたつぶやき" msgid "Updates tagged with %1$s on %2$s!" msgstr "%2$s に %1$s による更新があります!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API メソッドが工事中です。" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "そのような添付はありません。" @@ -776,7 +782,7 @@ msgid "Preview" msgstr "プレビュー" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "削除" @@ -1061,7 +1067,7 @@ msgid "Do not delete this notice" msgstr "このつぶやきを削除できません。" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "このつぶやきを削除" @@ -1340,7 +1346,7 @@ msgstr "不正な別名: \"%s\"" msgid "Could not update group." msgstr "グループを更新できません。" -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "別名を作成できません。" @@ -2513,8 +2519,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "\"%2$s\" 上の検索語 \"$1$s\" に一致するすべての更新" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "このユーザは、合図を許可していないか、確認されていた状態でないか、メール設定" "をしていません。" @@ -2594,8 +2601,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "サポートされていないデータ形式。" @@ -3503,7 +3510,7 @@ msgstr "自分のつぶやきは繰り返せません。" msgid "You already repeated that notice." msgstr "すでにそのつぶやきを繰り返しています。" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "繰り返された" @@ -3538,10 +3545,10 @@ msgid "Replies feed for %s (Atom)" msgstr "%s の返信フィード (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "これは %1$s への返信を表示したタイムラインです、しかし %2$s はまだつぶやきを" "受け取っていません。" @@ -3556,10 +3563,10 @@ msgstr "" "ループに加わる](%%action.groups%%)ことができます。" #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "あなたは [%1$s に合図](../%2$s) するか、[その人宛てに何かを投稿](%%%%action." "newnotice%%%%?status_textarea=%3$s)することができます。" @@ -3652,7 +3659,7 @@ msgstr "組織" msgid "Description" msgstr "概要" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "統計データ" @@ -3741,20 +3748,20 @@ msgstr "" "するか、またはそれらの上でスポットライトをはじいてください。" #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s はまだ彼のお気に入りに少しのつぶやきも加えていません。 彼らがお気に入りに" "加えることおもしろいものを投稿してください:)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s はまだお気に入りに少しのつぶやきも加えていません。 なぜ [アカウント登録](%" "%%%action.register%%%%) しないのですか。そして、彼らがお気に入りに加えるおも" @@ -3816,7 +3823,7 @@ msgstr "%s グループのつぶやきフィード (Atom)" msgid "FOAF for %s group" msgstr "%s グループの FOAF" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "メンバー" @@ -3830,11 +3837,11 @@ msgstr "(なし)" msgid "All members" msgstr "全てのメンバー" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "作成日" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3849,7 +3856,7 @@ msgstr "" "する短いメッセージを共有します。[今すぐ参加](%%%%action.register%%%%) してこ" "のグループの一員になりましょう! ([もっと読む](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3862,7 +3869,7 @@ msgstr "" "wikipedia.org/wiki/Micro-blogging) サービス。メンバーは彼らの暮らしと興味に関" "する短いメッセージを共有します。" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "管理者" @@ -3937,10 +3944,10 @@ msgstr "" "いまは始める良い時でしょう:)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "あなたは、%1$s に合図するか、[またはその人宛に何かを投稿](%%%%action." "newnotice%%%%?status_textarea=%2$s) することができます。" @@ -4526,10 +4533,6 @@ msgstr "このフォームを使用して、フォロー者かフォローにタ msgid "No such tag." msgstr "そのようなタグはありません。" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API メソッドが工事中です。" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "あなたはそのユーザをブロックしていません。" @@ -4888,27 +4891,32 @@ msgstr "メッセージを追加できません。" msgid "Could not update message with new URI." msgstr "新しいURIでメッセージをアップデートできませんでした。" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "ハッシュタグ追加 DB エラー: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "つぶやきを保存する際に問題が発生しました。長すぎです。" -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "つぶやきを保存する際に問題が発生しました。不明なユーザです。" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "多すぎるつぶやきが速すぎます; 数分間の休みを取ってから再投稿してください。" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4916,25 +4924,30 @@ msgstr "" "多すぎる重複メッセージが速すぎます; 数分間休みを取ってから再度投稿してくださ" "い。" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "あなたはこのサイトでつぶやきを投稿するのが禁止されています。" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "つぶやきを保存する際に問題が発生しました。" -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "グループ受信箱を保存する際に問題が発生しました。" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "あなたのデザイン設定を保存できません。" + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "あなたはフォローが禁止されました。" @@ -4969,20 +4982,20 @@ msgstr "フォローを削除できません" msgid "Welcome to %1$s, @%2$s!" msgstr "ようこそ %1$s、@%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "グループを作成できません。" -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "グループメンバーシップをセットできません。" -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "グループメンバーシップをセットできません。" -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "フォローを保存できません。" @@ -6401,7 +6414,7 @@ msgstr "" "に引き込むプライベートメッセージを送ることができます。人々はあなただけへの" "メッセージを送ることができます。" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "from" @@ -6462,24 +6475,24 @@ msgstr "ディスクへのファイル書き込みに失敗しました。" msgid "File upload stopped by extension." msgstr "エクステンションによってファイルアップロードを中止しました。" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "ファイルはユーザの割当てを超えています。" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "ファイルを目的ディレクトリに動かすことができませんでした。" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "ファイルのMIMEタイプを決定できません。" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "別の %s フォーマットを試してください。" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s はこのサーバのサポートしているファイルタイプではありません。" @@ -6536,55 +6549,55 @@ msgstr "" "度試みてください" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "北" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 #, fuzzy msgid "S" msgstr "南" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 #, fuzzy msgid "E" msgstr "東" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 #, fuzzy msgid "W" msgstr "西" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "at" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "このつぶやきへ返信" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "返信" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "つぶやきを繰り返しました" diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po index 4524fd9f2..fbe19c66e 100644 --- a/locale/ko/LC_MESSAGES/statusnet.po +++ b/locale/ko/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:31+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:44+0000\n" "Language-Team: Korean\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ko\n" "X-Message-Group: out-statusnet\n" @@ -166,15 +166,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -353,7 +353,8 @@ msgid "Could not delete favorite." msgstr "관심소식을 삭제할 수 없습니다." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "팔로우할 수 없습니다: 이용자 없음." #: actions/apifriendshipscreate.php:118 @@ -369,8 +370,9 @@ msgstr "언팔로우할 수 없습니다: 이용자 없음." msgid "You cannot unfollow yourself." msgstr "자기 자신을 언팔로우할 수 없습니다." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "두 개의 사용자 ID나 대화명을 입력해야 합니다." #: actions/apifriendshipsshow.php:134 @@ -659,7 +661,7 @@ msgstr "찾을 수가 없습니다." msgid "Max notice size is %d chars, including attachment URL." msgstr "소식의 최대 길이는 첨부 URL을 포함하여 %d 글자입니다." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "지원하지 않는 형식입니다." @@ -713,6 +715,10 @@ msgstr "%s 태그된 통지" msgid "Updates tagged with %1$s on %2$s!" msgstr "%2$s에 있는 %1$s의 업데이트!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API 메서드를 구성중 입니다." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "해당하는 첨부파일이 없습니다." @@ -766,7 +772,7 @@ msgid "Preview" msgstr "미리보기" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "삭제" @@ -1054,7 +1060,7 @@ msgid "Do not delete this notice" msgstr "이 통지를 지울 수 없습니다." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "이 게시글 삭제하기" @@ -1344,7 +1350,7 @@ msgstr "사용할 수 없는 별명 : \"%s\"" msgid "Could not update group." msgstr "그룹을 업데이트 할 수 없습니다." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "좋아하는 게시글을 생성할 수 없습니다." @@ -2508,8 +2514,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "\"%s\" 에 일치하는 모든 업데이트" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "이 사용자는 nudge를 허용하지 않았고, 아직 그의 이메일을 인증하지 않았습니다." @@ -2589,8 +2596,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "지원하는 형식의 데이터가 아닙니다." @@ -3506,7 +3513,7 @@ msgstr "자신의 글은 재전송할 수 없습니다." msgid "You already repeated that notice." msgstr "당신은 이미 이 사용자를 차단하고 있습니다." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "재전송됨" @@ -3541,11 +3548,11 @@ msgid "Replies feed for %s (Atom)" msgstr "%s의 통지 피드" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." -msgstr "" +"notice to their attention yet." +msgstr "%s 및 친구들의 타임라인이지만, 아직 아무도 글을 작성하지 않았습니다." #: actions/replies.php:204 #, php-format @@ -3557,8 +3564,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3656,7 +3663,7 @@ msgstr "페이지수" msgid "Description" msgstr "설명" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "통계" @@ -3742,16 +3749,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3810,7 +3817,7 @@ msgstr "%s 그룹을 위한 공지피드 (Atom)" msgid "FOAF for %s group" msgstr "%s의 보낸쪽지함" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "회원" @@ -3824,12 +3831,12 @@ msgstr "(없습니다.)" msgid "All members" msgstr "모든 회원" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "생성" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3839,7 +3846,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, fuzzy, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3850,7 +3857,7 @@ msgstr "" "**%s** 는 %%%%site.name%%%% [마이크로블로깅)(http://en.wikipedia.org/wiki/" "Micro-blogging)의 사용자 그룹입니다. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 #, fuzzy msgid "Admins" msgstr "관리자" @@ -3929,8 +3936,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4498,10 +4505,6 @@ msgstr "당신의 구독자나 구독하는 사람에 태깅을 위해 이 양 msgid "No such tag." msgstr "그러한 태그가 없습니다." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API 메서드를 구성중 입니다." - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4864,29 +4867,34 @@ msgstr "메시지를 삽입할 수 없습니다." msgid "Could not update message with new URI." msgstr "새 URI와 함께 메시지를 업데이트할 수 없습니다." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "해쉬테그를 추가 할 때에 데이타베이스 에러 : %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "통지를 저장하는데 문제가 발생했습니다." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "게시글 저장문제. 알려지지않은 회원" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "너무 많은 게시글이 너무 빠르게 올라옵니다. 한숨고르고 몇분후에 다시 포스트를 " "해보세요." -#: classes/Notice.php:266 +#: classes/Notice.php:272 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -4895,26 +4903,31 @@ msgstr "" "너무 많은 게시글이 너무 빠르게 올라옵니다. 한숨고르고 몇분후에 다시 포스트를 " "해보세요." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "이 사이트에 게시글 포스팅으로부터 당신은 금지되었습니다." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "통지를 저장하는데 문제가 발생했습니다." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "통지를 저장하는데 문제가 발생했습니다." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "트위터 환경설정을 저장할 수 없습니다." + #: classes/Subscription.php:74 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." @@ -4952,20 +4965,20 @@ msgstr "예약 구독을 삭제 할 수 없습니다." msgid "Welcome to %1$s, @%2$s!" msgstr "%2$s에서 %1$s까지 메시지" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "새 그룹을 만들 수 없습니다." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "그룹 맴버십을 세팅할 수 없습니다." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "그룹 맴버십을 세팅할 수 없습니다." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "구독을 저장할 수 없습니다." @@ -6339,7 +6352,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr "다음에서:" @@ -6395,25 +6408,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "공개 stream을 불러올 수 없습니다." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6470,54 +6483,54 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "아니오" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "내용이 없습니다!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "생성" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "이 게시글에 대해 답장하기" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "답장하기" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "게시글이 등록되었습니다." diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po index 6bd34f303..33cb46719 100644 --- a/locale/mk/LC_MESSAGES/statusnet.po +++ b/locale/mk/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:36+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:45+0000\n" "Language-Team: Macedonian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: out-statusnet\n" @@ -168,20 +168,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Можете да се обидете да го [подбуцнете корисникот %1$s](../%2$s) од профилот " "на корисникот или да [објавите нешто што сакате тој да го прочита](%%%%" "action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "А зошто не [регистрирате сметка](%%%%action.register%%%%), за да можете да " "го подбуцнете корисникот %s или да објавите забелешка што сакате тој да ја " @@ -366,7 +366,8 @@ msgid "Could not delete favorite." msgstr "Не можам да ја избришам омилената забелешка." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Не можам да го следам корисникот: Корисникот не е пронајден." #: actions/apifriendshipscreate.php:118 @@ -383,8 +384,9 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "Не можете да престанете да се следите самите себеси." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "" "Мора да бидат наведени два кориснички идентификатора (ID) или две имиња." @@ -673,7 +675,7 @@ msgstr "" "Максималната големина на забелешката е %d знаци, вклучувајќи ја URL-адресата " "на прилогот." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Неподдржан формат." @@ -727,6 +729,10 @@ msgstr "Забелешки означени со %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Подновувањата се означени со %1$s на %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API-методот е во изработка." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Нема таков прилог." @@ -781,7 +787,7 @@ msgid "Preview" msgstr "Преглед" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Бриши" @@ -1063,7 +1069,7 @@ msgid "Do not delete this notice" msgstr "Не ја бриши оваа забелешка" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Бриши ја оваа забелешка" @@ -1341,7 +1347,7 @@ msgstr "Неважечки алијас: „%s“" msgid "Could not update group." msgstr "Не можев да ја подновам групата." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Не можеше да се создадат алијаси." @@ -2332,8 +2338,7 @@ msgstr "Запамети ме" #: actions/login.php:259 actions/register.php:487 msgid "Automatically login in the future; not for shared computers!" msgstr "" -"Следниот пат најавете се автоматски; не е за компјутери кои ги делите со " -"други!" +"Отсега врши автоматска најава. Не треба да се користи за јавни сметачи!" #: actions/login.php:269 msgid "Lost or forgotten password?" @@ -2502,8 +2507,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Подновувања кои се совпаѓаат со пребараниот израз „%1$s“ на %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Овој корисник не дозволува подбуцнувања или сè уште нема потврдено или " "поставено своја е-пошта." @@ -2581,8 +2587,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Ве молиме користете само %s URL-адреси врз прост HTTP-код." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Ова не е поддржан формат на податотека." @@ -3499,7 +3505,7 @@ msgstr "Не можете да повторувате сопствена заб msgid "You already repeated that notice." msgstr "Веќе ја имате повторено таа забелешка." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Повторено" @@ -3534,10 +3540,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Канал со одговори за %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Ова е историјата на која се прикажани одговорите на %1$s, но %2$s сè уште " "нема добиено порака од некој што сака да ја прочита." @@ -3552,10 +3558,10 @@ msgstr "" "други луѓе или да [се зачленувате во групи](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Можете да го [подбуцнете корисникот 1$s](../%2$s) или да [објавите нешто што " "сакате тој да го прочита](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3646,7 +3652,7 @@ msgstr "Организација" msgid "Description" msgstr "Опис" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Статистики" @@ -3736,20 +3742,20 @@ msgstr "" "обележите за подоцна, или за да ѝ дадете на важност." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s сè уште нема додадено забелешки како омилени. Објавете нешто интересно, " "што корисникот би го обележал како омилено :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s сè уште нема додадено омилени забелешки. Зошто не [регистрирате сметка](%%" "%%action.register%%%%) и потоа објавите нешто интересно што корисникот би го " @@ -3811,7 +3817,7 @@ msgstr "Канал со забелешки за групата%s (Atom)" msgid "FOAF for %s group" msgstr "FOAF за групата %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Членови" @@ -3825,11 +3831,11 @@ msgstr "(Нема)" msgid "All members" msgstr "Сите членови" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Создадено" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3845,7 +3851,7 @@ msgstr "" "се](%%%%action.register%%%%) за да станете дел од оваа група и многу повеќе! " "([Прочитајте повеќе](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3858,7 +3864,7 @@ msgstr "" "слободната програмска алатка [StatusNet](http://status.net/). Нејзините " "членови си разменуваат кратки пораки за нивниот живот и интереси. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Администратори" @@ -3933,10 +3939,10 @@ msgstr "" "ниедна забелешка, но сега е добро време за да почнете :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Можете да го подбуцнете корисникот %1$s или [да објавите нешто што сакате да " "го прочита](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4507,10 +4513,6 @@ msgstr "Со овој образец додавајте ознаки во Ваш msgid "No such tag." msgstr "Нема таква ознака." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API-методот е во изработка." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Го немате блокирано тој корисник." @@ -4876,28 +4878,33 @@ msgstr "Не можев да ја испратам пораката." msgid "Could not update message with new URI." msgstr "Не можев да ја подновам пораката со нов URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Грешка во базата на податоци при вметнувањето на хеш-ознаката: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Проблем со зачувувањето на белешката. Премногу долго." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Проблем со зачувувањето на белешката. Непознат корисник." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Премногу забелњшки за прекратко време; здивнете малку и продолжете за " "неколку минути." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4905,25 +4912,30 @@ msgstr "" "Премногу дуплирани пораки во прекратко време; здивнете малку и продолжете за " "неколку минути." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Забрането Ви е да објавувате забелешки на ова мрежно место." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Проблем во зачувувањето на белешката." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Проблем при зачувувањето на групното приемно сандаче." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Не можам да ја зачувам објавата за мрежното место." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Блокирани сте од претплаќање." @@ -4958,19 +4970,19 @@ msgstr "Претплата не може да се избрише." msgid "Welcome to %1$s, @%2$s!" msgstr "Добредојдовте на %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Не можев да ја создадам групата." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Не можев да поставам URI на групата." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Не можев да назначам членство во групата." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Не можев да ги зачувам информациите за локалните групи." @@ -6442,7 +6454,7 @@ msgstr "" "впуштите во разговор со други корисници. Луѓето можат да ви испраќаат пораки " "што ќе можете да ги видите само Вие." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "од" @@ -6503,24 +6515,24 @@ msgstr "Податотеката не може да се запише на ди msgid "File upload stopped by extension." msgstr "Подигањето на податотеката е запрено од проширувањето." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Податотеката ја надминува квотата на корисникот." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Податотеката не може да се премести во целниот директориум." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Не можев да го утврдам mime-типот на податотеката." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Обидете се со друг формат на %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s не е поддржан тип на податотека на овој опслужувач." @@ -6576,51 +6588,51 @@ msgstr "" "Обидете се подоцна." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "С" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "Ј" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "И" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "З" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "во" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "во контекст" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Повторено од" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Одговори на забелешкава" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Одговор" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Забелешката е повторена" diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po index 36a0ab395..fdecf0c5d 100644 --- a/locale/nb/LC_MESSAGES/statusnet.po +++ b/locale/nb/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:40+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:47+0000\n" "Language-Team: Norwegian (bokmål)‬\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: out-statusnet\n" @@ -165,20 +165,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prøve å [knuffe %1$s](../%2$s) fra dennes profil eller [poste noe for " "å få hans eller hennes oppmerksomhet](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Hvorfor ikke [opprette en konto](%%%%action.register%%%%) og så knuff %s " "eller post en notis for å få hans eller hennes oppmerksomhet." @@ -363,7 +363,8 @@ msgid "Could not delete favorite." msgstr "Kunne ikke slette favoritt." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Kunne ikke følge brukeren: Fant ikke brukeren." #: actions/apifriendshipscreate.php:118 @@ -379,8 +380,9 @@ msgstr "Kunne ikke slutte å følge brukeren: Fant ikke brukeren." msgid "You cannot unfollow yourself." msgstr "Du kan ikke slutte å følge deg selv." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "To bruker ID-er eller kallenavn må oppgis." #: actions/apifriendshipsshow.php:134 @@ -664,7 +666,7 @@ msgstr "Ikke funnet." msgid "Max notice size is %d chars, including attachment URL." msgstr "Maks notisstørrelse er %d tegn, inklusive vedleggs-URL." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formatet støttes ikke." @@ -718,6 +720,10 @@ msgstr "Notiser merket med %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Oppdateringer merket med %1$s på %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API-metode under utvikling." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Ingen slike vedlegg." @@ -770,7 +776,7 @@ msgid "Preview" msgstr "Forhåndsvis" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Slett" @@ -1051,7 +1057,7 @@ msgid "Do not delete this notice" msgstr "Ikke slett denne notisen" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Slett denne notisen" @@ -1186,11 +1192,11 @@ msgstr "Lenker" #: actions/designadminpanel.php:651 msgid "Advanced" -msgstr "" +msgstr "Avansert" #: actions/designadminpanel.php:655 msgid "Custom CSS" -msgstr "" +msgstr "Egendefinert CSS" #: actions/designadminpanel.php:676 lib/designsettings.php:247 msgid "Use defaults" @@ -1329,7 +1335,7 @@ msgstr "Ugyldig alias: «%s»" msgid "Could not update group." msgstr "Kunne ikke oppdatere gruppe." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Kunne ikke opprette alias." @@ -2470,8 +2476,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Oppdateringer som samsvarer søkestrengen «%1$s» på %2$s." #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Denne brukeren tillater ikke knuffing eller har ikke bekreftet eller angitt " "sin e-post ennå." @@ -2548,8 +2555,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Bare %s-nettadresser over vanlig HTTP." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Ikke et støttet dataformat." @@ -3457,7 +3464,7 @@ msgstr "Du kan ikke gjenta din egen notis." msgid "You already repeated that notice." msgstr "Du har allerede gjentatt den notisen." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Gjentatt" @@ -3492,10 +3499,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Svarstrøm for %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Dette er tidslinjen som viser svar til %1$s men %2$s har ikke mottat en " "notis for hans oppmerksomhet ennå." @@ -3510,10 +3517,10 @@ msgstr "" "eller [bli med i grupper](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prøve å [knuffe %1$s](../%2$s) eller [post noe for å få hans eller " "hennes oppmerksomhet](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3604,7 +3611,7 @@ msgstr "Organisasjon" msgid "Description" msgstr "Beskrivelse" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistikk" @@ -3692,20 +3699,20 @@ msgstr "" "du liker for å bokmerke dem for senere eller for å kaste et søkelys på dem." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s har ikke lagt til noen notiser til sine favoritter ennå. Post noe " "interessant som de vil legge til sine favoritter :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s har ikke lagt noen notiser til sine favoritter ennå. Hvorfor ikke " "[registrere en konto](%%%%action.register%%%%) og post noe interessant som " @@ -3767,7 +3774,7 @@ msgstr "Notismating for %s gruppe (Atom)" msgid "FOAF for %s group" msgstr "FOAF for gruppen %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Medlemmer" @@ -3781,11 +3788,11 @@ msgstr "(Ingen)" msgid "All members" msgstr "Alle medlemmer" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Opprettet" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3801,7 +3808,7 @@ msgstr "" "%%%) for å bli medlem av denne gruppen og mange fler. ([Les mer](%%%%doc.help" "%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3814,7 +3821,7 @@ msgstr "" "programvareverktøyet [StatusNet](http://status.net/). Dets medlemmer deler " "korte meldinger om deres liv og interesser. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administratorer" @@ -3889,10 +3896,10 @@ msgstr "" "ikke begynne nå? :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Du kan prøve å knuffe %1$s eller [poste noe for å få hans eller hennes " "oppmerksomhet](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4042,9 +4049,8 @@ msgid "Edit site-wide message" msgstr "" #: actions/sitenoticeadminpanel.php:103 -#, fuzzy msgid "Unable to save site notice." -msgstr "Kunne ikke lagre dine innstillinger for utseende." +msgstr "Kunne ikke lagre nettstedsnotis." #: actions/sitenoticeadminpanel.php:113 msgid "Max length for the site-wide notice is 255 chars." @@ -4118,7 +4124,7 @@ msgstr "Telefonnummer for SMS" #. TRANS: SMS phone number input field instructions in SMS settings form. #: actions/smssettings.php:156 msgid "Phone number, no punctuation or spaces, with area code" -msgstr "" +msgstr "Telefonnummer, ingen tegnsetting eller mellomrom, med retningsnummer" #. TRANS: Form legend for SMS preferences form. #: actions/smssettings.php:195 @@ -4445,10 +4451,6 @@ msgstr "" msgid "No such tag." msgstr "" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API-metode under utvikling." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Du har ikke blokkert den brukeren." @@ -4792,50 +4794,60 @@ msgstr "Kunne ikke sette inn melding." msgid "Could not update message with new URI." msgstr "Kunne ikke oppdatere melding med ny nettadresse." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Databasefeil ved innsetting av bruker i programmet OAuth." -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problem ved lagring av notis. For lang." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problem ved lagring av notis. Ukjent bruker." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problem ved lagring av notis." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problem ved lagring av gruppeinnboks." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Kunne ikke lagre nettstedsnotis." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4872,19 +4884,19 @@ msgstr "" msgid "Welcome to %1$s, @%2$s!" msgstr "Velkommen til %1$s, @%2$s." -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Kunne ikke opprette gruppe." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Kunne ikke stille inn gruppe-URI." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Kunne ikke stille inn gruppemedlemskap." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Kunne ikke lagre lokal gruppeinformasjon." @@ -6304,7 +6316,7 @@ msgstr "" "engasjere andre brukere i en samtale. Personer kan sende deg meldinger som " "bare du kan se." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "fra" @@ -6359,24 +6371,24 @@ msgstr "" msgid "File upload stopped by extension." msgstr "Filopplasting stoppet grunnet filendelse." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Fil overgår brukers kvote." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Filen kunne ikke flyttes til målmappen." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Kunne ikke avgjøre filens MIME-type." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Prøv å bruke et annet %s-format." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "filtypen %s støttes ikke på denne tjeneren." @@ -6432,51 +6444,51 @@ msgstr "" "igjen senere" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "Ø" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "V" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "på" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repetert av" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Svar på denne notisen" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Svar" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Notis repetert" diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po index 35bedff33..7fc6cdf05 100644 --- a/locale/nl/LC_MESSAGES/statusnet.po +++ b/locale/nl/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:47+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:54+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: out-statusnet\n" @@ -168,20 +168,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "U kunt proberen [%1$s te porren](../%2$s) op de eigen profielpagina of [een " "bericht voor die gebruiker plaatsen](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "U kunt een [gebruiker aanmaken](%%%%action.register%%%%) en %s dan porren of " "een bericht sturen." @@ -367,7 +367,8 @@ msgstr "" "Het was niet mogelijk deze mededeling van uw favorietenlijst te verwijderen." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "U kunt deze gebruiker niet volgen, omdat deze niet bestaat." #: actions/apifriendshipscreate.php:118 @@ -385,8 +386,9 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "U kunt het abonnement op uzelf niet opzeggen." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Er moeten twee gebruikersnamen of ID's opgegeven worden." #: actions/apifriendshipsshow.php:134 @@ -683,7 +685,7 @@ msgstr "" "De maximale mededelingenlengte is %d tekens, inclusief de URL voor de " "bijlage." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Niet-ondersteund bestandsformaat." @@ -737,6 +739,10 @@ msgstr "Mededelingen met het label %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Updates met het label %1$s op %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "De API-functie is in bewerking." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Deze bijlage bestaat niet." @@ -790,7 +796,7 @@ msgid "Preview" msgstr "Voorvertoning" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Verwijderen" @@ -1072,7 +1078,7 @@ msgid "Do not delete this notice" msgstr "Deze mededeling niet verwijderen" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Deze mededeling verwijderen" @@ -1351,7 +1357,7 @@ msgstr "Ongeldige alias: \"%s\"" msgid "Could not update group." msgstr "Het was niet mogelijk de groep bij te werken." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Het was niet mogelijk de aliassen aan te maken." @@ -2518,8 +2524,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Updates die overeenkomen met de zoekterm \"%1$s\" op %2$s." #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Deze gebruiker is niet te porren of heeft zijn e-mailadres nog niet " "bevestigd." @@ -2603,8 +2610,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Alleen URL's voor %s via normale HTTP alstublieft." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Geen ondersteund gegevensformaat." @@ -3523,7 +3530,7 @@ msgstr "U kunt uw eigen mededeling niet herhalen." msgid "You already repeated that notice." msgstr "U hent die mededeling al herhaald." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Herhaald" @@ -3558,10 +3565,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Antwoordenfeed voor %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Dit is de tijdlijn met de antwoorden aan %1$s, maar %2$s heeft nog geen " "antwoorden ontvangen." @@ -3576,10 +3583,10 @@ msgstr "" "abonneren of [lid worden van groepen](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "U kunt proberen [%1$s te porren](../%2$s) of [een bericht voor die gebruiker " "plaatsen](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3670,7 +3677,7 @@ msgstr "Organisatie" msgid "Description" msgstr "Beschrijving" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistieken" @@ -3759,21 +3766,21 @@ msgstr "" "ze uit te lichten." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s heeff nog geen mededelingen op de eigen favorietenlijst geplaatst. Plaats " "een interessant bericht, en dan komt u misschien wel op de " "favorietenlijst. :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s heeft nog geen favorietenlijst. U kunt een [gebruiker registeren](%%%%" "action.register%%%%) en dan interessante mededelingen plaatsten die " @@ -3835,7 +3842,7 @@ msgstr "Mededelingenfeed voor groep %s (Atom)" msgid "FOAF for %s group" msgstr "Vriend van een vriend voor de groep %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Leden" @@ -3849,11 +3856,11 @@ msgstr "(geen)" msgid "All members" msgstr "Alle leden" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Aangemaakt" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3869,7 +3876,7 @@ msgstr "" "lid te worden van deze groep en nog veel meer! [Meer lezen...](%%%%doc.help%%" "%%)" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3882,7 +3889,7 @@ msgstr "" "[StatusNet](http://status.net/). De leden wisselen korte mededelingen uit " "over hun ervaringen en interesses. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Beheerders" @@ -3958,10 +3965,10 @@ msgstr "" "verstuurd, dus dit is een ideaal moment om daarmee te beginnen!" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "U kunt proberen %1$s te porren of [een bericht voor die gebruiker plaatsen](%" "%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4539,10 +4546,6 @@ msgstr "" msgid "No such tag." msgstr "Onbekend label." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "De API-functie is in bewerking." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "U hebt deze gebruiker niet geblokkeerd." @@ -4909,32 +4912,37 @@ msgstr "Het was niet mogelijk het bericht in te voegen." msgid "Could not update message with new URI." msgstr "Het was niet mogelijk het bericht bij te werken met de nieuwe URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Er is een databasefout opgetreden bij de invoer van de hashtag: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "" "Er is een probleem opgetreden bij het opslaan van de mededeling. Deze is te " "lang." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "" "Er was een probleem bij het opslaan van de mededeling. De gebruiker is " "onbekend." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "U hebt te snel te veel mededelingen verstuurd. Kom even op adem en probeer " "het over enige tijd weer." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4942,16 +4950,16 @@ msgstr "" "Te veel duplicaatberichten te snel achter elkaar. Neem een adempauze en " "plaats over een aantal minuten pas weer een bericht." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" "U bent geblokkeerd en mag geen mededelingen meer achterlaten op deze site." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "" "Er is een probleem opgetreden bij het opslaan van het Postvak IN van de " @@ -4959,11 +4967,16 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Het was niet mogelijk om de websitebrede mededeling op te slaan." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "U mag zich niet abonneren." @@ -4998,19 +5011,19 @@ msgstr "Kon abonnement niet verwijderen." msgid "Welcome to %1$s, @%2$s!" msgstr "Welkom bij %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Het was niet mogelijk de groep aan te maken." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Het was niet mogelijk de groeps-URI in te stellen." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Het was niet mogelijk het groepslidmaatschap in te stellen." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Het was niet mogelijk de lokale groepsinformatie op te slaan." @@ -6491,7 +6504,7 @@ msgstr "" "U hebt geen privéberichten. U kunt privéberichten verzenden aan andere " "gebruikers. Mensen kunnen u privéberichten sturen die alleen u kunt lezen." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "van" @@ -6552,24 +6565,24 @@ msgstr "Het was niet mogelijk naar schijf te schrijven." msgid "File upload stopped by extension." msgstr "Het uploaden van het bestand is tegengehouden door een uitbreiding." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Met dit bestand wordt het quotum van de gebruiker overschreden." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Het bestand kon niet verplaatst worden naar de doelmap." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Het was niet mogelijk het MIME-type van het bestand te bepalen." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Probeer een ander %s-formaat te gebruiken." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "Het bestandstype %s wordt door deze server niet ondersteund." @@ -6625,51 +6638,51 @@ msgstr "" "nog eens" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "Z" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "O" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "W" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "op" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "in context" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Herhaald door" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Op deze mededeling antwoorden" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Antwoorden" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Mededeling herhaald" diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po index 18cd10e65..b191e3fc3 100644 --- a/locale/nn/LC_MESSAGES/statusnet.po +++ b/locale/nn/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:43+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:51+0000\n" "Language-Team: Norwegian Nynorsk\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nn\n" "X-Message-Group: out-statusnet\n" @@ -173,15 +173,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -367,7 +367,8 @@ msgid "Could not delete favorite." msgstr "Kunne ikkje slette favoritt." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Fann ikkje brukaren, so han kan ikkje fylgjast" #: actions/apifriendshipscreate.php:118 @@ -385,8 +386,9 @@ msgstr "Fann ikkje brukaren, so han kan ikkje fylgjast" msgid "You cannot unfollow yourself." msgstr "Kan ikkje oppdatera brukar." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "To brukar IDer eller kallenamn er naudsynte." #: actions/apifriendshipsshow.php:134 @@ -680,7 +682,7 @@ msgstr "Finst ikkje." msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "Støttar ikkje bileteformatet." @@ -735,6 +737,10 @@ msgstr "Notisar merka med %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Oppdateringar frå %1$s på %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API-metoden er ikkje ferdig enno." + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -789,7 +795,7 @@ msgid "Preview" msgstr "Forhandsvis" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Slett" @@ -1082,7 +1088,7 @@ msgid "Do not delete this notice" msgstr "Kan ikkje sletta notisen." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Slett denne notisen" @@ -1382,7 +1388,7 @@ msgstr "Ugyldig merkelapp: %s" msgid "Could not update group." msgstr "Kann ikkje oppdatera gruppa." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "Kunne ikkje lagre favoritt." @@ -2560,8 +2566,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Alle oppdateringer frå søket «%s»" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Denne brukaren tillét ikkje å bli dytta, eller har ikkje stadfasta eller sat " "e-postadressa si enno." @@ -2642,8 +2649,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Ikkje eit støtta dataformat." @@ -3566,7 +3573,7 @@ msgstr "Du kan ikkje registrera deg om du ikkje godtek vilkåra i lisensen." msgid "You already repeated that notice." msgstr "Du har allereie blokkert denne brukaren." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Lag" @@ -3606,7 +3613,7 @@ msgstr "Notisstraum for %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3619,8 +3626,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3719,7 +3726,7 @@ msgstr "Paginering" msgid "Description" msgstr "Beskriving" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistikk" @@ -3805,16 +3812,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3873,7 +3880,7 @@ msgstr "Notisstraum for %s gruppa" msgid "FOAF for %s group" msgstr "Utboks for %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Medlemmar" @@ -3887,12 +3894,12 @@ msgstr "(Ingen)" msgid "All members" msgstr "Alle medlemmar" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "Lag" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3902,7 +3909,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, fuzzy, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3913,7 +3920,7 @@ msgstr "" "**%s** er ei brukargruppe på %%%%site.name%%%%, ei [mikroblogging](http://en." "wikipedia.org/wiki/Micro-blogging)-teneste" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 #, fuzzy msgid "Admins" msgstr "Administrator" @@ -3990,8 +3997,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4563,10 +4570,6 @@ msgstr "" msgid "No such tag." msgstr "Dette emneord finst ikkje." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API-metoden er ikkje ferdig enno." - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4933,28 +4936,33 @@ msgstr "Kunne ikkje lagre melding." msgid "Could not update message with new URI." msgstr "Kunne ikkje oppdatere melding med ny URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "databasefeil ved innsetjing av skigardmerkelapp (#merkelapp): %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Eit problem oppstod ved lagring av notis." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Feil ved lagring av notis. Ukjend brukar." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt." -#: classes/Notice.php:266 +#: classes/Notice.php:272 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -4962,26 +4970,31 @@ msgid "" msgstr "" "For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Du kan ikkje lengre legge inn notisar på denne sida." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Eit problem oppstod ved lagring av notis." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Eit problem oppstod ved lagring av notis." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Klarte ikkje å lagra Twitter-innstillingane dine!" + #: classes/Subscription.php:74 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." @@ -5019,20 +5032,20 @@ msgstr "Kan ikkje sletta tinging." msgid "Welcome to %1$s, @%2$s!" msgstr "Melding til %1$s på %2$s" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Kunne ikkje laga gruppa." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Kunne ikkje bli med i gruppa." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Kunne ikkje bli med i gruppa." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Kunne ikkje lagra abonnement." @@ -6417,7 +6430,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr " frå " @@ -6473,25 +6486,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Kan ikkje hente offentleg straum." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6548,54 +6561,54 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "Nei" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "Ingen innhald." -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "Lag" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Svar på denne notisen" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Svar" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Melding lagra" diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po index f57cce944..f5f3fb6d2 100644 --- a/locale/pl/LC_MESSAGES/statusnet.po +++ b/locale/pl/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:51+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:55+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pl\n" "X-Message-Group: out-statusnet\n" @@ -172,20 +172,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Można spróbować [szturchnąć użytkownika %1$s](../%2$s) z jego profilu lub " "[wysłać coś wymagającego jego uwagi](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Dlaczego nie [zarejestrujesz konta](%%%%action.register%%%%) i wtedy " "szturchniesz użytkownika %s lub wyślesz wpis wymagającego jego uwagi." @@ -369,7 +369,8 @@ msgid "Could not delete favorite." msgstr "Nie można usunąć ulubionego wpisu." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Nie można obserwować użytkownika: nie odnaleziono użytkownika." #: actions/apifriendshipscreate.php:118 @@ -386,8 +387,9 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "Nie można zrezygnować z obserwacji samego siebie." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Należy dostarczyć dwa identyfikatory lub nazwy użytkowników." #: actions/apifriendshipsshow.php:134 @@ -672,7 +674,7 @@ msgstr "Nie odnaleziono." msgid "Max notice size is %d chars, including attachment URL." msgstr "Maksymalny rozmiar wpisu wynosi %d znaków, w tym adres URL załącznika." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Nieobsługiwany format." @@ -726,6 +728,10 @@ msgstr "Wpisy ze znacznikiem %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Aktualizacje ze znacznikiem %1$s na %2$s." +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Metoda API jest w trakcie tworzenia." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Nie ma takiego załącznika." @@ -778,7 +784,7 @@ msgid "Preview" msgstr "Podgląd" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Usuń" @@ -1058,7 +1064,7 @@ msgid "Do not delete this notice" msgstr "Nie usuwaj tego wpisu" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Usuń ten wpis" @@ -1334,7 +1340,7 @@ msgstr "Nieprawidłowy alias: \"%s\"" msgid "Could not update group." msgstr "Nie można zaktualizować grupy." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Nie można utworzyć aliasów." @@ -2484,8 +2490,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Aktualizacje pasujące do wyszukiwanego terminu \"%1$s\" na %2$s." #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Ten użytkownik nie pozwala na szturchnięcia albo nie potwierdził lub nie " "ustawił jeszcze swojego adresu e-mail." @@ -2562,8 +2569,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Dozwolone są tylko adresy URL %s przez zwykły protokół HTTP." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "To nie jest obsługiwany format danych." @@ -3472,7 +3479,7 @@ msgstr "Nie można powtórzyć własnego wpisu." msgid "You already repeated that notice." msgstr "Już powtórzono ten wpis." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Powtórzono" @@ -3507,10 +3514,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Kanał odpowiedzi dla użytkownika %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "To jest oś czasu wyświetlająca odpowiedzi na wpisy użytkownika %1$s, ale %2" "$s nie otrzymał jeszcze wpisów wymagających jego uwagi." @@ -3525,10 +3532,10 @@ msgstr "" "[dołączyć do grup](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Można spróbować [szturchnąć użytkownika %1$s](../%2$s) lub [wysłać coś " "wymagającego jego uwagi](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3619,7 +3626,7 @@ msgstr "Organizacja" msgid "Description" msgstr "Opis" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statystyki" @@ -3707,20 +3714,20 @@ msgstr "" "trochę światła." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "Użytkownik %s nie dodał jeszcze żadnych wpisów do ulubionych. Wyślij coś " "interesującego, aby chcieli dodać to do swoich ulubionych. :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "Użytkownik %s nie dodał jeszcze żadnych wpisów do ulubionych. Dlaczego nie " "[zarejestrujesz konta](%%%%action.register%%%%) i wyślesz coś " @@ -3782,7 +3789,7 @@ msgstr "Kanał wpisów dla grupy %s (Atom)" msgid "FOAF for %s group" msgstr "FOAF dla grupy %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Członkowie" @@ -3796,11 +3803,11 @@ msgstr "(Brak)" msgid "All members" msgstr "Wszyscy członkowie" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Utworzono" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3816,7 +3823,7 @@ msgstr "" "action.register%%%%), aby stać się częścią tej grupy i wiele więcej. " "([Przeczytaj więcej](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3829,7 +3836,7 @@ msgstr "" "narzędziu [StatusNet](http://status.net/). Jej członkowie dzielą się " "krótkimi wiadomościami o swoim życiu i zainteresowaniach. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administratorzy" @@ -3905,10 +3912,10 @@ msgstr "" "teraz jest dobry czas, aby zacząć. :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Można spróbować szturchnąć użytkownika %1$s lub [wysłać coś, co wymaga jego " "uwagi](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4478,10 +4485,6 @@ msgstr "" msgid "No such tag." msgstr "Nie ma takiego znacznika." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Metoda API jest w trakcie tworzenia." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Ten użytkownik nie został zablokowany." @@ -4846,28 +4849,33 @@ msgstr "Nie można wprowadzić wiadomości." msgid "Could not update message with new URI." msgstr "Nie można zaktualizować wiadomości za pomocą nowego adresu URL." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Błąd bazy danych podczas wprowadzania znacznika mieszania: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problem podczas zapisywania wpisu. Za długi." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problem podczas zapisywania wpisu. Nieznany użytkownik." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Za dużo wpisów w za krótkim czasie, weź głęboki oddech i wyślij ponownie za " "kilka minut." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4875,25 +4883,30 @@ msgstr "" "Za dużo takich samych wiadomości w za krótkim czasie, weź głęboki oddech i " "wyślij ponownie za kilka minut." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Zabroniono ci wysyłania wpisów na tej witrynie." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problem podczas zapisywania wpisu." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Nie można zapisać wpisu witryny." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Zablokowano subskrybowanie." @@ -4927,19 +4940,19 @@ msgstr "Nie można usunąć subskrypcji." msgid "Welcome to %1$s, @%2$s!" msgstr "Witaj w %1$s, @%2$s." -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Nie można utworzyć grupy." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Nie można ustawić adresu URI grupy." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Nie można ustawić członkostwa w grupie." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Nie można zapisać informacji o lokalnej grupie." @@ -6417,7 +6430,7 @@ msgstr "" "rozmowę z innymi użytkownikami. Inni mogą wysyłać ci wiadomości tylko dla " "twoich oczu." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "z" @@ -6473,24 +6486,24 @@ msgstr "Zapisanie pliku na dysku nie powiodło się." msgid "File upload stopped by extension." msgstr "Wysłanie pliku zostało zatrzymane przez rozszerzenie." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Plik przekracza przydział użytkownika." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Nie można przenieść pliku do katalogu docelowego." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Nie można określić typu MIME pliku." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Spróbuj innego formatu %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s nie jest obsługiwanym typem pliku na tym serwerze." @@ -6546,51 +6559,51 @@ msgstr "" "ponownie później" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "Północ" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "Południe" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "Wschód" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "Zachód" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "w" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "w rozmowie" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Powtórzone przez" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Odpowiedz na ten wpis" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Odpowiedz" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Powtórzono wpis" diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index 33e1bf040..22b11805d 100644 --- a/locale/pt/LC_MESSAGES/statusnet.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:32:56+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:57+0000\n" "Language-Team: Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt\n" "X-Message-Group: out-statusnet\n" @@ -168,19 +168,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode tentar [dar um toque em %1$s](../%2$s) a partir do perfil ou [publicar " "qualquer coisa à sua atenção](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Podia [registar uma conta](%%action.register%%) e depois tocar %s ou " "publicar uma nota à sua atenção." @@ -363,7 +363,8 @@ msgid "Could not delete favorite." msgstr "Não foi possível eliminar o favorito." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Não foi possível seguir utilizador: Utilizador não encontrado." #: actions/apifriendshipscreate.php:118 @@ -380,8 +381,9 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "Não pode deixar de seguir-se a si próprio." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Devem ser fornecidos dois nomes de utilizador ou utilizadors." #: actions/apifriendshipsshow.php:134 @@ -665,7 +667,7 @@ msgstr "Não encontrado." msgid "Max notice size is %d chars, including attachment URL." msgstr "Tamanho máx. das notas é %d caracteres, incluíndo a URL do anexo." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formato não suportado." @@ -719,6 +721,10 @@ msgstr "Notas categorizadas com %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Actualizações categorizadas com %1$s em %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Método da API em desenvolvimento." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Anexo não foi encontrado." @@ -771,7 +777,7 @@ msgid "Preview" msgstr "Antevisão" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Apagar" @@ -1052,7 +1058,7 @@ msgid "Do not delete this notice" msgstr "Não apagar esta nota" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Apagar esta nota" @@ -1332,7 +1338,7 @@ msgstr "Nome alternativo inválido: \"%s\"" msgid "Could not update group." msgstr "Não foi possível actualizar o grupo." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Não foi possível criar os nomes alternativos." @@ -2486,8 +2492,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Actualizações que contêm o termo \"%1$s\" em %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Este utilizador não aceita toques ou ainda não confirmou ou forneceu o " "endereço electrónico." @@ -2565,8 +2572,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Só URLs %s sobre HTTP simples, por favor." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Formato de dados não suportado." @@ -2733,7 +2740,7 @@ msgstr "Sem acesso de escrita no directório do fundo: %s." #: actions/pathsadminpanel.php:177 #, php-format msgid "Locales directory not readable: %s." -msgstr "Sem acesso de leitura ao directório de idiomas: %s." +msgstr "Sem acesso de leitura ao directório das línguas: %s." #: actions/pathsadminpanel.php:183 msgid "Invalid SSL server. The maximum length is 255 characters." @@ -2761,11 +2768,11 @@ msgstr "Localização do site" #: actions/pathsadminpanel.php:246 msgid "Path to locales" -msgstr "Localização de idiomas" +msgstr "Localização das línguas" #: actions/pathsadminpanel.php:246 msgid "Directory path to locales" -msgstr "Localização do directório de idiomas" +msgstr "Localização do directório das línguas" #: actions/pathsadminpanel.php:250 msgid "Fancy URLs" @@ -3482,7 +3489,7 @@ msgstr "Não pode repetir a sua própria nota." msgid "You already repeated that notice." msgstr "Já repetiu essa nota." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repetida" @@ -3517,10 +3524,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de respostas a %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Estas são as notas de resposta a %1$s, mas %2$s ainda não recebeu nenhuma " "resposta." @@ -3535,10 +3542,10 @@ msgstr "" "[juntar-se a grupos](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode tentar [dar um toque em %1$s](../%2$s) ou [publicar algo à sua atenção]" "(%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3629,7 +3636,7 @@ msgstr "Organização" msgid "Description" msgstr "Descrição" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Estatísticas" @@ -3718,20 +3725,20 @@ msgstr "" "relevância." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s ainda não adicionou nenhuma nota às favoritas. Publique algo interessante " "que mude este estado de coisas :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s ainda não adicionou nenhuma nota às favoritas. Que tal [registar uma " "conta](%%action.register%%) e publicar algo interessante que mude este " @@ -3793,7 +3800,7 @@ msgstr "Fonte de notas do grupo %s (Atom)" msgid "FOAF for %s group" msgstr "FOAF do grupo %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Membros" @@ -3807,11 +3814,11 @@ msgstr "(Nenhum)" msgid "All members" msgstr "Todos os membros" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Criado" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3827,7 +3834,7 @@ msgstr "" "[Registe-se agora](%%action.register%%) para se juntar a este grupo e a " "muitos mais! ([Saber mais](%%doc.help%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3840,7 +3847,7 @@ msgstr "" "programa de Software Livre [StatusNet](http://status.net/). Os membros deste " "grupo partilham mensagens curtas acerca das suas vidas e interesses. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Gestores" @@ -3915,10 +3922,10 @@ msgstr "" "esta seria uma óptima altura para começar :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Pode tentar dar um toque em %1$s ou [publicar algo à sua atenção](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4485,10 +4492,6 @@ msgstr "" msgid "No such tag." msgstr "Categoria não foi encontrada." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Método da API em desenvolvimento." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Não bloqueou esse utilizador." @@ -4851,28 +4854,33 @@ msgstr "Não foi possível inserir a mensagem." msgid "Could not update message with new URI." msgstr "Não foi possível actualizar a mensagem com a nova URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Erro na base de dados ao inserir o elemento criptográfico: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problema na gravação da nota. Demasiado longa." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problema na gravação da nota. Utilizador desconhecido." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Demasiadas notas, demasiado rápido; descanse e volte a publicar daqui a " "alguns minutos." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4880,25 +4888,30 @@ msgstr "" "Demasiadas mensagens duplicadas, demasiado rápido; descanse e volte a " "publicar daqui a alguns minutos." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Está proibido de publicar notas neste site." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problema na gravação da nota." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problema na gravação da caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Não foi possível gravar o aviso do site." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Foi bloqueado de fazer subscrições" @@ -4932,19 +4945,19 @@ msgstr "Não foi possível apagar a subscrição." msgid "Welcome to %1$s, @%2$s!" msgstr "%1$s dá-lhe as boas-vindas, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Não foi possível criar o grupo." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Não foi possível configurar a URI do grupo." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Não foi possível configurar membros do grupo." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Não foi possível gravar a informação do grupo local." @@ -6414,7 +6427,7 @@ msgstr "" "conversa com outros utilizadores. Outros podem enviar-lhe mensagens, a que " "só você terá acesso." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "de" @@ -6473,24 +6486,24 @@ msgstr "Não foi possível gravar o ficheiro no disco." msgid "File upload stopped by extension." msgstr "Transferência do ficheiro interrompida pela extensão." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Ficheiro excede quota do utilizador." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Não foi possível mover o ficheiro para o directório de destino." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Não foi possível determinar o tipo MIME do ficheiro." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Tente usar outro tipo de %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s não é um tipo de ficheiro suportado neste servidor." @@ -6546,51 +6559,51 @@ msgstr "" "tente novamente mais tarde" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "E" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "O" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "coords." -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "no contexto" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repetida por" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Responder a esta nota" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Responder" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Nota repetida" diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index b9f5db519..c38c063fa 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -2,6 +2,7 @@ # # Author@translatewiki.net: Aracnus # Author@translatewiki.net: Ewout +# Author@translatewiki.net: Giro720 # Author@translatewiki.net: Luckas Blade # Author@translatewiki.net: McDutchie # Author@translatewiki.net: Vuln @@ -12,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:00+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 19:59:59+0000\n" "Language-Team: Brazilian Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: out-statusnet\n" @@ -170,20 +171,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Você pode tentar [chamar a atenção de %1$s](../%2$s) em seu perfil ou " "[publicar alguma coisa que desperte seu interesse](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Por que não [registrar uma conta](%%%%action.register%%%%) e então chamar a " "atenção de %s ou publicar uma mensagem para sua atenção." @@ -368,7 +369,8 @@ msgid "Could not delete favorite." msgstr "Não foi possível excluir a favorita." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Não é possível seguir o usuário: Usuário não encontrado." #: actions/apifriendshipscreate.php:118 @@ -384,8 +386,9 @@ msgstr "Não é possível deixar de seguir o usuário: Usuário não encontrado. msgid "You cannot unfollow yourself." msgstr "Você não pode deixar de seguir você mesmo!" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Duas IDs de usuário ou screen_names devem ser informados." #: actions/apifriendshipsshow.php:134 @@ -677,7 +680,7 @@ msgstr "Não encontrado." msgid "Max notice size is %d chars, including attachment URL." msgstr "O tamanho máximo da mensagem é de %s caracteres" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Formato não suportado." @@ -731,6 +734,10 @@ msgstr "Mensagens etiquetadas como %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Mensagens etiquetadas como %1$s no %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "O método da API está em construção." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Este anexo não existe." @@ -784,7 +791,7 @@ msgid "Preview" msgstr "Visualização" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Excluir" @@ -1066,7 +1073,7 @@ msgid "Do not delete this notice" msgstr "Não excluir esta mensagem." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Excluir esta mensagem" @@ -1346,7 +1353,7 @@ msgstr "Apelido inválido: \"%s\"" msgid "Could not update group." msgstr "Não foi possível atualizar o grupo." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Não foi possível criar os apelidos." @@ -2511,8 +2518,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Mensagens correspondentes aos termos \"%1$s\" no %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Esse usuário não permite ser chamado à atenção ou ainda não confirmou ou " "configurou seu e-mail." @@ -2591,8 +2599,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Por favor, somente URLs %s sobre HTTP puro." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Não é um formato de dados suportado." @@ -3508,7 +3516,7 @@ msgstr "Você não pode repetir sua própria mensagem." msgid "You already repeated that notice." msgstr "Você já repetiu essa mensagem." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Repetida" @@ -3543,10 +3551,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de respostas para %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Esse é o fluxo de mensagens de resposta para %1$s, mas %2$s ainda não " "recebeu nenhuma mensagem direcionada a ele(a)." @@ -3561,10 +3569,10 @@ msgstr "" "pessoas ou [associe-se a grupos](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Você pode tentar [chamar a atenção de %1$s](../%2$s) ou [publicar alguma " "coisa que desperte seu interesse](%%%%action.newnotice%%%%?status_textarea=%3" @@ -3656,7 +3664,7 @@ msgstr "Organização" msgid "Description" msgstr "Descrição" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Estatísticas" @@ -3744,20 +3752,20 @@ msgstr "" "para destacar." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s não adicionou nenhuma mensagem às suas favoritas. Publique alguma coisa " "interessante para para as pessoas marcarem como favorita. :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s não adicionou nenhuma mensagem às suas favoritas. Por que você não " "[registra uma conta](%%%%action.register%%%%) e publica alguma coisa " @@ -3819,7 +3827,7 @@ msgstr "Fonte de mensagens do grupo %s (Atom)" msgid "FOAF for %s group" msgstr "FOAF para o grupo %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Membros" @@ -3833,11 +3841,11 @@ msgstr "(Nenhum)" msgid "All members" msgstr "Todos os membros" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Criado" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3853,7 +3861,7 @@ msgstr "" "para se tornar parte deste grupo e muito mais! ([Saiba mais](%%%%doc.help%%%" "%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3866,7 +3874,7 @@ msgstr "" "[StatusNet](http://status.net/). Seus membros compartilham mensagens curtas " "sobre suas vidas e interesses. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administradores" @@ -3943,10 +3951,10 @@ msgstr "" "mensagem. Que tal começar agora? :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Você pode tentar chamar a atenção de %1$s ou [publicar alguma coisa que " "desperte seu interesse](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4511,10 +4519,6 @@ msgstr "" msgid "No such tag." msgstr "Esta etiqueta não existe." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "O método da API está em construção." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Você não bloqueou esse usuário." @@ -4880,28 +4884,33 @@ msgstr "Não foi possível inserir a mensagem." msgid "Could not update message with new URI." msgstr "Não foi possível atualizar a mensagem com a nova URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Erro no banco de dados durante a inserção da hashtag: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problema no salvamento da mensagem. Ela é muito extensa." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problema no salvamento da mensagem. Usuário desconhecido." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Muitas mensagens em um período curto de tempo; dê uma respirada e publique " "novamente daqui a alguns minutos." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4909,25 +4918,30 @@ msgstr "" "Muitas mensagens duplicadas em um período curto de tempo; dê uma respirada e " "publique novamente daqui a alguns minutos." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Você está proibido de publicar mensagens neste site." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problema no salvamento da mensagem." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problema no salvamento das mensagens recebidas do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Não foi possível salvar os avisos do site." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Você está proibido de assinar." @@ -4961,19 +4975,19 @@ msgstr "Não foi possível excluir a assinatura." msgid "Welcome to %1$s, @%2$s!" msgstr "Bem vindo(a) a %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Não foi possível criar o grupo." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Não foi possível definir a URI do grupo." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Não foi possível configurar a associação ao grupo." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Não foi possível salvar a informação do grupo local." @@ -6447,7 +6461,7 @@ msgstr "" "privadas para envolver outras pessoas em uma conversa. Você também pode " "receber mensagens privadas." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "de" @@ -6508,24 +6522,24 @@ msgstr "Erro ao salvar o arquivo no disco." msgid "File upload stopped by extension." msgstr "O arquivo a ser enviado foi barrado por causa de sua extensão." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "O arquivo excede a quota do usuário." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Não foi possível mover o arquivo para o diretório de destino." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Não foi possível determinar o tipo MIME do arquivo." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Tente usar outro formato %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s não é um tipo de arquivo suportado neste servidor." @@ -6581,51 +6595,51 @@ msgstr "" "esperado. Por favor, tente novamente mais tarde." #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "L" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "O" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "em" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "no contexto" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Repetida por" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Responder a esta mensagem" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Responder" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Mensagem repetida" @@ -6675,7 +6689,7 @@ msgstr "Respostas" #: lib/personalgroupnav.php:114 msgid "Favorites" -msgstr "Favoritas" +msgstr "Favoritos" #: lib/personalgroupnav.php:125 msgid "Inbox" @@ -6881,46 +6895,48 @@ msgstr "Nenhuma" #: lib/themeuploader.php:50 msgid "This server cannot handle theme uploads without ZIP support." msgstr "" +"Este servidor não pode processar o envio de temas sem suporte ao formato ZIP." #: lib/themeuploader.php:58 lib/themeuploader.php:61 msgid "The theme file is missing or the upload failed." -msgstr "" +msgstr "O arquivo do tema não foi localizado ou ocorreu uma erro no envio." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 #: lib/themeuploader.php:265 lib/themeuploader.php:272 -#, fuzzy msgid "Failed saving theme." -msgstr "Não foi possível atualizar o avatar." +msgstr "Não foi possível salvar o tema." #: lib/themeuploader.php:139 msgid "Invalid theme: bad directory structure." -msgstr "" +msgstr "Tema inválido: estrutura de diretórios incorreta." #: lib/themeuploader.php:166 #, php-format msgid "Uploaded theme is too large; must be less than %d bytes uncompressed." msgstr "" +"O tema enviado é muito grande; ele deve ter menos de %d bytes descomprimido." #: lib/themeuploader.php:178 msgid "Invalid theme archive: missing file css/display.css" -msgstr "" +msgstr "Arquivo de tema inválido: está faltando o arquivo css/display.css" #: lib/themeuploader.php:205 msgid "" "Theme contains invalid file or folder name. Stick with ASCII letters, " "digits, underscore, and minus sign." msgstr "" +"O tema contém um nome de arquivo ou de diretório inválido. Use somente " +"caracteres ASCII, números e os sinais de sublinhado e hífen." #: lib/themeuploader.php:216 #, php-format msgid "Theme contains file of type '.%s', which is not allowed." -msgstr "" +msgstr "O tema contém um arquivo do tipo '.%s', que não é permitido." #: lib/themeuploader.php:234 -#, fuzzy msgid "Error opening theme archive." -msgstr "Ocorreu um erro durante a atualização do perfil remoto." +msgstr "Ocorreu um erro ao abrir o arquivo do tema." #: lib/topposterssection.php:74 msgid "Top posters" diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po index b2a33370d..26ee993da 100644 --- a/locale/ru/LC_MESSAGES/statusnet.po +++ b/locale/ru/LC_MESSAGES/statusnet.po @@ -12,12 +12,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:05+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:01+0000\n" "Language-Team: Russian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: out-statusnet\n" @@ -170,20 +170,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Вы можете попробовать [«подтолкнуть» %1$s](../%2$s) из профиля или [написать " "что-нибудь для привлечения его или её внимания](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Почему бы не [зарегистрироваться](%%action.register%%), чтобы «подтолкнуть» %" "s или отправить запись для привлечения его или её внимания?" @@ -368,7 +368,8 @@ msgid "Could not delete favorite." msgstr "Не удаётся удалить любимую запись." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "" "Не удаётся следовать за пользователем, т. к. такого пользователя не " "существует." @@ -388,8 +389,9 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "Вы не можете перестать следовать за собой." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Надо представить два имени пользователя или кода." #: actions/apifriendshipsshow.php:134 @@ -676,7 +678,7 @@ msgstr "Не найдено." msgid "Max notice size is %d chars, including attachment URL." msgstr "Максимальная длина записи — %d символов, включая URL вложения." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Неподдерживаемый формат." @@ -730,6 +732,10 @@ msgstr "Записи с тегом %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Обновления с тегом %1$s на %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Метод API реконструируется." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Нет такого вложения." @@ -783,7 +789,7 @@ msgid "Preview" msgstr "Просмотр" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Удалить" @@ -1064,7 +1070,7 @@ msgid "Do not delete this notice" msgstr "Не удалять эту запись" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Удалить эту запись" @@ -1342,7 +1348,7 @@ msgstr "Неверный алиас: «%s»" msgid "Could not update group." msgstr "Не удаётся обновить информацию о группе." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Не удаётся создать алиасы." @@ -2505,8 +2511,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Все обновления, соответствующие поисковому запросу «%s»" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Этот пользователь не разрешает \"подталкивать\" его, или ещё не подтверждён " "или ещё не представил свой электронный адрес." @@ -2583,8 +2590,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Только %s URL в простом HTTP, пожалуйста." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Неподдерживаемый формат данных." @@ -3018,7 +3025,7 @@ msgstr "Часовой пояс не выбран." #: actions/profilesettings.php:241 msgid "Language is too long (max 50 chars)." -msgstr "Слишком длинный язык (более 50 символов). " +msgstr "Слишком длинный язык (не может быть более 50 символов)." #: actions/profilesettings.php:253 actions/tagother.php:178 #, php-format @@ -3491,7 +3498,7 @@ msgstr "Вы не можете повторить собственную зап msgid "You already repeated that notice." msgstr "Вы уже повторили эту запись." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Повторено" @@ -3526,10 +3533,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Лента записей для %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Эта лента содержит ответы на записи %1$s, однако %2$s пока не получал их." @@ -3543,10 +3550,10 @@ msgstr "" "число людей или [присоединившись к группам](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Вы можете попробовать [«подтолкнуть» %1$s](../%2$s) или [написать что-нибудь " "для привлечения его или её внимания](%%%%action.newnotice%%%%?" @@ -3639,7 +3646,7 @@ msgstr "Организация" msgid "Description" msgstr "Описание" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Статистика" @@ -3727,20 +3734,20 @@ msgstr "" "любимые рядом с понравившейся записью, чтобы позже уделить ей внимание." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s пока не выбрал ни одной любимой записи. Напишите такую интересную запись, " "которую он добавит её в число любимых :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s пока не добавил ни одноз записи в любимые. Почему бы не " "[зарегистрироваться](%%%%action.register%%%%) и не написать что-нибудь " @@ -3802,7 +3809,7 @@ msgstr "Лента записей группы %s (Atom)" msgid "FOAF for %s group" msgstr "FOAF для группы %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Участники" @@ -3816,11 +3823,11 @@ msgstr "(пока ничего нет)" msgid "All members" msgstr "Все участники" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Создано" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3836,7 +3843,7 @@ msgstr "" "action.register%%%%), чтобы стать участником группы и получить множество " "других возможностей! ([Читать далее](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3849,7 +3856,7 @@ msgstr "" "обеспечении [StatusNet](http://status.net/). Участники обмениваются " "короткими сообщениями о своей жизни и интересах. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Администраторы" @@ -3924,10 +3931,10 @@ msgstr "" "сейчас хорошее время для начала :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Вы можете попробовать «подтолкнуть» %1$s или [написать что-нибудь для " "привлечения его или её внимания](%%%%action.newnotice%%%%?status_textarea=%2" @@ -3955,10 +3962,10 @@ msgid "" "wikipedia.org/wiki/Micro-blogging) service based on the Free Software " "[StatusNet](http://status.net/) tool. " msgstr "" -"**%s** является зарегистрированным участником %%%%site.name%%%% - сайта для " +"**%s** является зарегистрированным участником %%%%site.name%%%% — сайта для " "[микроблогинга](http://ru.wikipedia.org/wiki/Микроблоггинг), созданного с " "использованием свободного программного обеспечения [StatusNet](http://status." -"net/)." +"net/). " #: actions/showstream.php:305 #, php-format @@ -4501,10 +4508,6 @@ msgstr "" msgid "No such tag." msgstr "Нет такого тега." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Метод API реконструируется." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Вы не заблокировали этого пользователя." @@ -4866,28 +4869,33 @@ msgstr "Не удаётся вставить сообщение." msgid "Could not update message with new URI." msgstr "Не удаётся обновить сообщение с новым URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Ошибка баз данных при вставке хеш-тегов: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Проблемы с сохранением записи. Слишком длинно." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Проблема при сохранении записи. Неизвестный пользователь." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Слишком много записей за столь короткий срок; передохните немного и " "попробуйте вновь через пару минут." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4895,25 +4903,30 @@ msgstr "" "Слишком много одинаковых записей за столь короткий срок; передохните немного " "и попробуйте вновь через пару минут." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Вам запрещено поститься на этом сайте (бан)" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Проблемы с сохранением записи." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Проблемы с сохранением входящих сообщений группы." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Не удаётся сохранить уведомление сайта." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Вы заблокированы от подписки." @@ -4947,19 +4960,19 @@ msgstr "Не удаётся удалить подписку." msgid "Welcome to %1$s, @%2$s!" msgstr "Добро пожаловать на %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Не удаётся создать группу." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Не удаётся назначить URI группы." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Не удаётся назначить членство в группе." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Не удаётся сохранить информацию о локальной группе." @@ -6431,9 +6444,9 @@ msgstr "" "вовлечения других пользователей в разговор. Сообщения, получаемые от других " "людей, видите только вы." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" -msgstr "от " +msgstr "от" #: lib/mailhandler.php:37 msgid "Could not parse message." @@ -6489,24 +6502,24 @@ msgstr "Не удаётся записать файл на диск." msgid "File upload stopped by extension." msgstr "Загрузка файла остановлена по расширению." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Файл превышает пользовательскую квоту." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Файл не может быть перемещён в целевую директорию." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Не удаётся определить mime-тип файла." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Попробуйте использовать другой формат %s." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "Тип файла %s не поддерживается не этом сервере." @@ -6562,51 +6575,51 @@ msgstr "" "времени, чем ожидалось; повторите попытку позже" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "с. ш." #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "ю. ш." #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "в. д." #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "з. д." -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\" %4$s %5$u°%6$u'%7$u\" %8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" -msgstr "на" +msgstr "из" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "в контексте" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Повторено" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Ответить на эту запись" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Ответить" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Запись повторена" diff --git a/locale/statusnet.pot b/locale/statusnet.pot index c4e06d2dd..81ed07d11 100644 --- a/locale/statusnet.pot +++ b/locale/statusnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-01 16:30+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -162,15 +162,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -347,7 +347,7 @@ msgid "Could not delete favorite." msgstr "" #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +msgid "Could not follow user: profile not found." msgstr "" #: actions/apifriendshipscreate.php:118 @@ -363,8 +363,8 @@ msgstr "" msgid "You cannot unfollow yourself." msgstr "" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -645,7 +645,7 @@ msgstr "" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "" @@ -699,6 +699,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "" @@ -751,7 +755,7 @@ msgid "Preview" msgstr "" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "" @@ -1024,7 +1028,7 @@ msgid "Do not delete this notice" msgstr "" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "" @@ -1298,7 +1302,7 @@ msgstr "" msgid "Could not update group." msgstr "" -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "" @@ -2367,7 +2371,7 @@ msgstr "" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2442,8 +2446,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3297,7 +3301,7 @@ msgstr "" msgid "You already repeated that notice." msgstr "" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "" @@ -3335,7 +3339,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3348,8 +3352,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3438,7 +3442,7 @@ msgstr "" msgid "Description" msgstr "" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "" @@ -3523,16 +3527,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3591,7 +3595,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "" @@ -3605,11 +3609,11 @@ msgstr "" msgid "All members" msgstr "" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3619,7 +3623,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3628,7 +3632,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -3703,8 +3707,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4235,10 +4239,6 @@ msgstr "" msgid "No such tag." msgstr "" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "" @@ -4574,50 +4574,59 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +msgid "Unable to save tag." +msgstr "" + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4651,19 +4660,19 @@ msgstr "" msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "" -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "" -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "" -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "" @@ -5968,7 +5977,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "" @@ -6023,24 +6032,24 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6094,51 +6103,51 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "" diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po index 0f5c7a819..21e6a9aa8 100644 --- a/locale/sv/LC_MESSAGES/statusnet.po +++ b/locale/sv/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:09+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:05+0000\n" "Language-Team: Swedish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: sv\n" "X-Message-Group: out-statusnet\n" @@ -166,20 +166,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prova att [knuffa %1$s](../%2$s) från dennes profil eller [skriva " "någonting för hans eller hennes uppmärksamhet](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Varför inte [registrera ett konto](%%%%action.register%%%%) och sedan knuffa " "%s eller skriva en notis för hans eller hennes uppmärksamhet." @@ -360,7 +360,8 @@ msgid "Could not delete favorite." msgstr "Kunde inte ta bort favoriten." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Kunde inte följa användare: användare hittades inte." #: actions/apifriendshipscreate.php:118 @@ -376,8 +377,9 @@ msgstr "Kunde inte sluta följa användaren: användaren hittades inte." msgid "You cannot unfollow yourself." msgstr "Du kan inte sluta följa dig själv." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Två användar-ID:n eller screen_names måste tillhandahållas." #: actions/apifriendshipsshow.php:134 @@ -662,7 +664,7 @@ msgstr "Hittades inte." msgid "Max notice size is %d chars, including attachment URL." msgstr "Maximal notisstorlek är %d tecken, inklusive webbadress för bilaga." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Format som inte stödjs." @@ -716,6 +718,10 @@ msgstr "Notiser taggade med %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Uppdateringar taggade med %1$s på %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API-metoden är under uppbyggnad." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Ingen sådan bilaga." @@ -769,7 +775,7 @@ msgid "Preview" msgstr "Förhandsgranska" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Ta bort" @@ -1051,7 +1057,7 @@ msgid "Do not delete this notice" msgstr "Ta inte bort denna notis" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Ta bort denna notis" @@ -1121,13 +1127,12 @@ msgid "Theme for the site." msgstr "Tema för webbplatsen." #: actions/designadminpanel.php:467 -#, fuzzy msgid "Custom theme" -msgstr "Webbplatstema" +msgstr "Anpassat tema" #: actions/designadminpanel.php:471 msgid "You can upload a custom StatusNet theme as a .ZIP archive." -msgstr "" +msgstr "Du kan ladda upp ett eget StatusNet-tema som ett .ZIP-arkiv." #: actions/designadminpanel.php:486 lib/designsettings.php:101 msgid "Change background image" @@ -1187,11 +1192,11 @@ msgstr "Länkar" #: actions/designadminpanel.php:651 msgid "Advanced" -msgstr "" +msgstr "Avancerat" #: actions/designadminpanel.php:655 msgid "Custom CSS" -msgstr "" +msgstr "Anpassad CSS" #: actions/designadminpanel.php:676 lib/designsettings.php:247 msgid "Use defaults" @@ -1330,7 +1335,7 @@ msgstr "Ogiltigt alias: \"%s\"" msgid "Could not update group." msgstr "Kunde inte uppdatera grupp." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Kunde inte skapa alias." @@ -2483,8 +2488,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Uppdateringar som matchar söksträngen \"%1$s\" på %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Denna användare har inte tillåtit knuffar eller har inte bekräftat eller " "angett sitt e-post än." @@ -2562,8 +2568,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "Endast %s-webbadresser över vanlig HTTP." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Ett dataformat som inte stödjs" @@ -3475,7 +3481,7 @@ msgstr "Du kan inte upprepa din egna notis." msgid "You already repeated that notice." msgstr "Du har redan upprepat denna notis." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Upprepad" @@ -3510,10 +3516,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Flöde med svar för %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Detta är tidslinjen som visar svar till %s1$ men %2$s har inte tagit emot en " "notis för dennes uppmärksamhet än." @@ -3528,10 +3534,10 @@ msgstr "" "personer eller [gå med i grupper](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prova att [knuffa %1$s](../%2$s) eller [posta någonting för hans " "eller hennes uppmärksamhet](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3622,7 +3628,7 @@ msgstr "Organisation" msgid "Description" msgstr "Beskrivning" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Statistik" @@ -3711,20 +3717,20 @@ msgstr "" "att sätta strålkastarljuset på." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s har inte lagt till några notiser till sina favoriter ännu. Posta något " "intressant de skulle lägga till sina favoriter :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s har inte lagt till några notiser till sina favoriter ännu. Varför inte " "[registrera ett konto](%%%%action.register%%%%) och posta något intressant " @@ -3786,7 +3792,7 @@ msgstr "Flöde av notiser för %s grupp (Atom)" msgid "FOAF for %s group" msgstr "FOAF för %s grupp" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Medlemmar" @@ -3800,11 +3806,11 @@ msgstr "(Ingen)" msgid "All members" msgstr "Alla medlemmar" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Skapad" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3819,7 +3825,7 @@ msgstr "" "sina liv och intressen. [Gå med nu](%%%%action.register%%%%) för att bli en " "del av denna grupp och många fler! ([Läs mer](%%%%doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3832,7 +3838,7 @@ msgstr "" "[StatusNet](http://status.net/). Dess medlemmar delar korta meddelande om " "sina liv och intressen. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Administratörer" @@ -3907,10 +3913,10 @@ msgstr "" "inte börja nu?" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Du kan prova att knuffa %1$s eller [posta något för hans eller hennes " "uppmärksamhet](%%%%action.newnotice%%%%?status_textarea=%2$s)." @@ -4475,10 +4481,6 @@ msgstr "" msgid "No such tag." msgstr "Ingen sådan tagg." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API-metoden är under uppbyggnad." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Du har inte blockerat denna användared." @@ -4843,28 +4845,33 @@ msgstr "Kunde inte infoga meddelande." msgid "Could not update message with new URI." msgstr "Kunde inte uppdatera meddelande med ny URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Databasfel vid infogning av hashtag: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Problem vid sparande av notis. För långt." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Problem vid sparande av notis. Okänd användare." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "För många notiser för snabbt; ta en vilopaus och posta igen om ett par " "minuter." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4872,25 +4879,30 @@ msgstr "" "För många duplicerade meddelanden för snabbt; ta en vilopaus och posta igen " "om ett par minuter." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Du är utestängd från att posta notiser på denna webbplats." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Problem med att spara notis." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Problem med att spara gruppinkorg." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Kunde inte spara webbplatsnotis." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Du har blivit utestängd från att prenumerera." @@ -4924,19 +4936,19 @@ msgstr "Kunde inte ta bort prenumeration." msgid "Welcome to %1$s, @%2$s!" msgstr "Välkommen till %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Kunde inte skapa grupp." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Kunde inte ställa in grupp-URI." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Kunde inte ställa in gruppmedlemskap." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Kunde inte spara lokal gruppinformation." @@ -6118,6 +6130,9 @@ msgid "" "If you believe this account is being used abusively, you can block them from " "your subscribers list and report as spam to site administrators at %s" msgstr "" +"Om du anser att kontot används oriktigt kan du blockera det från listan över " +"dina prenumeranter och rapportera det som skräppost till administratörer på %" +"s" #. TRANS: Main body of new-subscriber notification e-mail #: lib/mail.php:254 @@ -6394,7 +6409,7 @@ msgstr "" "engagera andra användare i konversationen. Folk kan skicka meddelanden till " "dig som bara du ser." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "från" @@ -6453,24 +6468,24 @@ msgstr "Misslyckades att skriva fil till disk." msgid "File upload stopped by extension." msgstr "Filuppladdningen stoppad pga filändelse" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Fil överstiger användaren kvot." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Fil kunde inte flyttas till destinationskatalog." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Kunde inte fastställa filens MIME-typ." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "Försök använda ett annat %s-format." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s är en filtyp som saknar stöd på denna server." @@ -6526,51 +6541,51 @@ msgstr "" "god försök igen senare" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "N" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "S" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "Ö" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "V" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "på" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "i sammanhang" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Upprepad av" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Svara på denna notis" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Svara" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Notis upprepad" @@ -6825,47 +6840,48 @@ msgstr "Ingen" #: lib/themeuploader.php:50 msgid "This server cannot handle theme uploads without ZIP support." -msgstr "" +msgstr "Denna server kan inte hantera temauppladdningar utan ZIP-stöd." #: lib/themeuploader.php:58 lib/themeuploader.php:61 msgid "The theme file is missing or the upload failed." -msgstr "" +msgstr "Temafilen saknas eller uppladdningen misslyckades." #: lib/themeuploader.php:91 lib/themeuploader.php:102 #: lib/themeuploader.php:253 lib/themeuploader.php:257 #: lib/themeuploader.php:265 lib/themeuploader.php:272 -#, fuzzy msgid "Failed saving theme." -msgstr "Misslyckades uppdatera avatar." +msgstr "Kunde inte spara tema." #: lib/themeuploader.php:139 msgid "Invalid theme: bad directory structure." -msgstr "" +msgstr "Ogiltigt tema: dålig katalogstruktur." #: lib/themeuploader.php:166 #, php-format msgid "Uploaded theme is too large; must be less than %d bytes uncompressed." msgstr "" +"Uppladdat tema är för stort, måste vara mindre än %d byte okomprimerat." #: lib/themeuploader.php:178 msgid "Invalid theme archive: missing file css/display.css" -msgstr "" +msgstr "Ogiltigt temaarkiv: css fil / display.css saknas" #: lib/themeuploader.php:205 msgid "" "Theme contains invalid file or folder name. Stick with ASCII letters, " "digits, underscore, and minus sign." msgstr "" +"Tema innehåller ogiltigt fil- eller mappnamn. Använd bara ASCII-bokstäver, " +"siffror, understreck och minustecken." #: lib/themeuploader.php:216 #, php-format msgid "Theme contains file of type '.%s', which is not allowed." -msgstr "" +msgstr "Tema innehåller fil av typen '.%s', vilket inte är tillåtet." #: lib/themeuploader.php:234 -#, fuzzy msgid "Error opening theme archive." -msgstr "Fel vid uppdatering av fjärrprofil." +msgstr "Fel vid öppning temaarkiv." #: lib/topposterssection.php:74 msgid "Top posters" diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po index 4eab29aae..6dbf3e505 100644 --- a/locale/te/LC_MESSAGES/statusnet.po +++ b/locale/te/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:13+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:08+0000\n" "Language-Team: Telugu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: te\n" "X-Message-Group: out-statusnet\n" @@ -163,18 +163,19 @@ msgstr "ఇతరులకి చందా చేరండి, [ఏదైనా #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" +"[ఈ విషయంపై](%%%%action.newnotice%%%%?status_textarea=%s) వ్రాసే మొదటివారు మీరే అవ్వండి!" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." -msgstr "" +"post a notice to their attention." +msgstr "[ఒక ఖాతాని నమోదుచేసుకుని](%%action.register%%) మీరే మొదట వ్రాసేవారు ఎందుకు కాకూడదు!" #. TRANS: H1 text #: actions/all.php:182 @@ -354,7 +355,8 @@ msgid "Could not delete favorite." msgstr "ఇష్టాంశాన్ని తొలగించలేకపోయాం." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "వాడుకరిని అనుసరించలేకపోయాం: వాడుకరి కనబడలేదు." #: actions/apifriendshipscreate.php:118 @@ -371,8 +373,8 @@ msgstr "ఓపెన్ఐడీ ఫారమును సృష్టించ msgid "You cannot unfollow yourself." msgstr "మిమ్మల్ని మీరే అననుసరించలేరు." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -657,7 +659,7 @@ msgstr "కనబడలేదు." msgid "Max notice size is %d chars, including attachment URL." msgstr "గరిష్ఠ నోటీసు పొడవు %d అక్షరాలు, జోడింపు URLని కలుపుకుని." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "" @@ -711,6 +713,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "%2$sలో %1$s అనే ట్యాగుతో ఉన్న నోటీసులు!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 msgid "No such attachment." msgstr "అటువంటి జోడింపు లేదు." @@ -765,7 +771,7 @@ msgid "Preview" msgstr "మునుజూపు" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "తొలగించు" @@ -1044,7 +1050,7 @@ msgid "Do not delete this notice" msgstr "ఈ నోటీసుని తొలగించకు" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "ఈ నోటీసుని తొలగించు" @@ -1178,7 +1184,7 @@ msgstr "లంకెలు" #: actions/designadminpanel.php:651 msgid "Advanced" -msgstr "" +msgstr "ఉన్నత" #: actions/designadminpanel.php:655 msgid "Custom CSS" @@ -1322,7 +1328,7 @@ msgstr "తప్పుడు మారుపేరు: \"%s\"" msgid "Could not update group." msgstr "గుంపుని తాజాకరించలేకున్నాం." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "మారుపేర్లని సృష్టించలేకపోయాం." @@ -2442,7 +2448,7 @@ msgstr "\"%s\"తో సరిపోలే అన్ని తాజాకరణ #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2517,8 +2523,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3414,7 +3420,7 @@ msgstr "మీ నోటీసుని మీరే పునరావృతి msgid "You already repeated that notice." msgstr "మీరు ఇప్పటికే ఆ నోటీసుని పునరావృతించారు." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "సృష్టితం" @@ -3451,10 +3457,10 @@ msgid "Replies feed for %s (Atom)" msgstr "%s కొరకు స్పందనల ఫీడు (ఆటమ్)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "ఇది %1$sకి వచ్చిన స్పందనలని చూపించే కాలరేఖ కానీ %2$s దృష్టికి ఇంకా ఎవరూ ఏమీ పంపించలేదు." #: actions/replies.php:204 @@ -3467,11 +3473,12 @@ msgstr "" "(%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" +"[ఈ విషయంపై](%%%%action.newnotice%%%%?status_textarea=%s) వ్రాసే మొదటివారు మీరే అవ్వండి!" #: actions/repliesrss.php:72 #, php-format @@ -3563,7 +3570,7 @@ msgstr "సంస్ధ" msgid "Description" msgstr "వివరణ" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "గణాంకాలు" @@ -3650,17 +3657,19 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" +"%sకి చందాదార్లు ఎవరూ లేరు. [ఒక ఖాతాని నమోదు చేసుకుని](%%%%action.register%%%%) మీరు " +"ఎందుకు మొదటి చందాదారు కాకూడదు?" #: actions/showfavorites.php:243 msgid "This is a way to share what you like." @@ -3718,7 +3727,7 @@ msgstr "%s యొక్క సందేశముల ఫీడు" msgid "FOAF for %s group" msgstr "%s గుంపు" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "సభ్యులు" @@ -3732,11 +3741,11 @@ msgstr "(ఏమీలేదు)" msgid "All members" msgstr "అందరు సభ్యులూ" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "సృష్టితం" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3752,7 +3761,7 @@ msgstr "" "చాల వాటిలో భాగస్తులవ్వడానికి [ఇప్పుడే చేరండి](%%%%action.register%%%%)! ([మరింత చదవండి](%%%%" "doc.help%%%%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3761,7 +3770,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "నిర్వాహకులు" @@ -3835,11 +3844,12 @@ msgstr "" "ఈమధ్యే ఏదైనా ఆసక్తికరమైనది చూసారా? మీరు ఇంకా నోటీసులేమీ వ్రాయలేదు, మొదలుపెట్టడానికి ఇదే మంచి సమయం :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" +"[ఈ విషయంపై](%%%%action.newnotice%%%%?status_textarea=%s) వ్రాసే మొదటివారు మీరే అవ్వండి!" #: actions/showstream.php:243 #, php-format @@ -4385,10 +4395,6 @@ msgstr "" msgid "No such tag." msgstr "అటువంటి ట్యాగు లేదు." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "మీరు ఆ వాడుకరిని నిరోధించలేదు." @@ -4729,51 +4735,61 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "అవతారాన్ని పెట్టడంలో పొరపాటు" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "నోటీసుని భద్రపరచడంలో పొరపాటు. చాలా పొడవుగా ఉంది." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "నోటీసుని భద్రపరచడంలో పొరపాటు. గుర్తుతెలియని వాడుకరి." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "చాలా ఎక్కువ నోటీసులు అంత వేగంగా; కాస్త ఊపిరి తీసుకుని మళ్ళీ కొన్ని నిమిషాల తర్వాత వ్రాయండి." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "ఈ సైటులో నోటీసులు రాయడం నుండి మిమ్మల్ని నిషేధించారు." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "చందాచేరడం నుండి మిమ్మల్ని నిషేధించారు." @@ -4810,20 +4826,20 @@ msgstr "చందాని తొలగించలేకపోయాం." msgid "Welcome to %1$s, @%2$s!" msgstr "@%2$s, %1$sకి స్వాగతం!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "గుంపుని సృష్టించలేకపోయాం." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "గుంపు సభ్యత్వాన్ని అమర్చలేకపోయాం." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "గుంపు సభ్యత్వాన్ని అమర్చలేకపోయాం." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "చందాని సృష్టించలేకపోయాం." @@ -6245,7 +6261,7 @@ msgstr "" "మీకు అంతరంగిక సందేశాలు లేవు. ఇతర వాడుకరులతో సంభాషణకై మీరు వారికి అంతరంగిక సందేశాలు " "పంపించవచ్చు. మీ కంటికి మాత్రమే కనబడేలా వారు మీకు సందేశాలు పంపవచ్చు." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "నుండి" @@ -6300,25 +6316,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "వాడుకరిని తాజాకరించలేకున్నాం." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6375,52 +6391,52 @@ msgstr "" "కాసేపాగి ప్రయత్నించండి" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "ఉ" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "ద" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "తూ" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "ప" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "సందర్భంలో" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "సృష్టితం" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "ఈ నోటీసుపై స్పందించండి" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "స్పందించండి" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "నోటీసుని పునరావృతించారు" diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po index 092c77dd5..9b25c9b5a 100644 --- a/locale/tr/LC_MESSAGES/statusnet.po +++ b/locale/tr/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:17+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:09+0000\n" "Language-Team: Turkish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tr\n" "X-Message-Group: out-statusnet\n" @@ -173,15 +173,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -366,8 +366,9 @@ msgid "Could not delete favorite." msgstr "" #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." -msgstr "" +#, fuzzy +msgid "Could not follow user: profile not found." +msgstr "Sunucuya yönlendirme yapılamadı: %s" #: actions/apifriendshipscreate.php:118 #, php-format @@ -384,8 +385,8 @@ msgstr "Sunucuya yönlendirme yapılamadı: %s" msgid "You cannot unfollow yourself." msgstr "Kullanıcı güncellenemedi." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -683,7 +684,7 @@ msgstr "İstek bulunamadı!" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "Desteklenmeyen görüntü dosyası biçemi." @@ -738,6 +739,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "%s adli kullanicinin durum mesajlari" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -793,7 +798,7 @@ msgid "Preview" msgstr "" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "" @@ -1085,7 +1090,7 @@ msgid "Do not delete this notice" msgstr "Böyle bir durum mesajı yok." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "" @@ -1382,7 +1387,7 @@ msgstr "%s Geçersiz başlangıç sayfası" msgid "Could not update group." msgstr "Kullanıcı güncellenemedi." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "Avatar bilgisi kaydedilemedi" @@ -2527,7 +2532,7 @@ msgstr "\"%s\" kelimesinin geçtiği tüm güncellemeler" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2604,8 +2609,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3505,7 +3510,7 @@ msgstr "Eğer lisansı kabul etmezseniz kayıt olamazsınız." msgid "You already repeated that notice." msgstr "Zaten giriş yapmış durumdasıznız!" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Yarat" @@ -3545,7 +3550,7 @@ msgstr "%s için durum RSS beslemesi" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3558,8 +3563,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3658,7 +3663,7 @@ msgstr "Yer" msgid "Description" msgstr "Abonelikler" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "İstatistikler" @@ -3743,16 +3748,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3813,7 +3818,7 @@ msgstr "%s için durum RSS beslemesi" msgid "FOAF for %s group" msgstr "%s için durum RSS beslemesi" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 #, fuzzy msgid "Members" msgstr "Üyelik başlangıcı" @@ -3828,12 +3833,12 @@ msgstr "" msgid "All members" msgstr "" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "Yarat" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3843,7 +3848,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3852,7 +3857,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -3928,8 +3933,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4490,10 +4495,6 @@ msgstr "" msgid "No such tag." msgstr "Böyle bir durum mesajı yok." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4849,53 +4850,63 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Cevap eklenirken veritabanı hatası: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Durum mesajını kaydederken hata oluştu." -#: classes/Notice.php:255 +#: classes/Notice.php:261 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "Durum mesajını kaydederken hata oluştu." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Durum mesajını kaydederken hata oluştu." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Durum mesajını kaydederken hata oluştu." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Durum mesajını kaydederken hata oluştu." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4933,22 +4944,22 @@ msgstr "Abonelik silinemedi." msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:480 +#: classes/User_group.php:495 #, fuzzy msgid "Could not create group." msgstr "Avatar bilgisi kaydedilemedi" -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Abonelik oluşturulamadı." -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "Abonelik oluşturulamadı." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Abonelik oluşturulamadı." @@ -6330,7 +6341,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "" @@ -6385,25 +6396,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Kullanıcı güncellenemedi." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6462,54 +6473,54 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "İçerik yok!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "Yarat" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 #, fuzzy msgid "Reply" msgstr "cevapla" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Durum mesajları" diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po index a9745dcf5..c8b26bf8d 100644 --- a/locale/uk/LC_MESSAGES/statusnet.po +++ b/locale/uk/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:20+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:11+0000\n" "Language-Team: Ukrainian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: out-statusnet\n" @@ -170,19 +170,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ви можете [«розштовхати» %1$s](../%2$s) зі сторінки його профілю або [щось " "йому написати](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" "Чому б не [зареєструватись](%%%%action.register%%%%) і не спробувати " "«розштовхати» %s або щось йому написати." @@ -365,7 +365,8 @@ msgid "Could not delete favorite." msgstr "Не можна видалити зі списку обраних." #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "Не вдалося додати користувача: користувача не знайдено." #: actions/apifriendshipscreate.php:118 @@ -381,8 +382,9 @@ msgstr "Не вдалося відмінити підписку: користу msgid "You cannot unfollow yourself." msgstr "Ви не можете відписатись від самого себе." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "Два ID або імені_у_мережі повинні підтримуватись." #: actions/apifriendshipsshow.php:134 @@ -674,7 +676,7 @@ msgstr "" "Максимальна довжина допису становить %d знаків, включно з URL-адресою " "вкладення." -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "Формат не підтримується." @@ -728,6 +730,10 @@ msgstr "Дописи позначені з %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Оновлення позначені з %1$s на %2$s!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API метод наразі знаходиться у розробці." + #: actions/attachment.php:73 msgid "No such attachment." msgstr "Такого вкладення немає." @@ -780,7 +786,7 @@ msgid "Preview" msgstr "Перегляд" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "Видалити" @@ -1059,7 +1065,7 @@ msgid "Do not delete this notice" msgstr "Не видаляти цей допис" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "Видалити допис" @@ -1337,7 +1343,7 @@ msgstr "Помилкове додаткове ім’я: «%s»" msgid "Could not update group." msgstr "Не вдалося оновити групу." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 msgid "Could not create aliases." msgstr "Неможна призначити додаткові імена." @@ -2492,8 +2498,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Всі оновлення за збігом з «%s» на %2$s!" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Цей користувач не дозволив себе «розштовхувати», або не підтвердив чи не " "налаштував преференції електронної пошти." @@ -2571,8 +2578,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "URL-адреса %s лише в простому HTTP, будь ласка." #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Такий формат даних не підтримується." @@ -2598,7 +2605,7 @@ msgstr " (вільний сервіс)" #: actions/othersettings.php:116 msgid "Shorten URLs with" -msgstr "Скорочення URL-адрес" +msgstr "Скорочення URL" #: actions/othersettings.php:117 msgid "Automatic shortening service to use." @@ -3481,7 +3488,7 @@ msgstr "Ви не можете повторювати свої власні до msgid "You already repeated that notice." msgstr "Ви вже повторили цей допис." -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 msgid "Repeated" msgstr "Повторено" @@ -3516,10 +3523,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Стрічка відповідей до %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" "Ця стрічка дописів містить відповіді для %1$s, але %2$s поки що нічого не " "отримав у відповідь." @@ -3534,10 +3541,10 @@ msgstr "" "більшої кількості людей або [приєднавшись до груп](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ви можете [«розштовхати» %1$s](../%2$s) або [написати дещо варте його уваги](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3628,7 +3635,7 @@ msgstr "Організація" msgid "Description" msgstr "Опис" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Статистика" @@ -3716,20 +3723,20 @@ msgstr "" "нього увагу інших." #: actions/showfavorites.php:208 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" "%s поки що не вподобав жодних дописів. Може Ви б написали йому щось " "цікаве? :)" #: actions/showfavorites.php:212 -#, php-format +#, fuzzy, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" "%s поки що не вподобав жодних дописів. Чому б не [зареєструватись](%%%%" "action.register%%%%) і не написати щось цікаве, що мало б сподобатись цьому " @@ -3791,7 +3798,7 @@ msgstr "Стрічка дописів групи %s (Atom)" msgid "FOAF for %s group" msgstr "FOAF для групи %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Учасники" @@ -3805,11 +3812,11 @@ msgstr "(Пусто)" msgid "All members" msgstr "Всі учасники" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 msgid "Created" msgstr "Створено" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3825,7 +3832,7 @@ msgstr "" "%%%%) зараз і долучіться до спілкування! ([Дізнатися більше](%%%%doc.help%%%" "%))" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3838,7 +3845,7 @@ msgstr "" "програмному забезпеченні [StatusNet](http://status.net/). Члени цієї групи " "роблять короткі дописи про своє життя та інтереси. " -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "Адміни" @@ -3913,10 +3920,10 @@ msgstr "" "аби розпочати! :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" "Ви можете «розштовхати» %1$s або [щось йому написати](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." @@ -4485,10 +4492,6 @@ msgstr "Скористайтесь цією формою, щоб додати т msgid "No such tag." msgstr "Такого теґу немає." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API метод наразі знаходиться у розробці." - #: actions/unblock.php:59 msgid "You haven't blocked that user." msgstr "Цього користувача блокувати неможливо." @@ -4851,28 +4854,33 @@ msgstr "Не можна долучити повідомлення." msgid "Could not update message with new URI." msgstr "Не можна оновити повідомлення з новим URI." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Помилка бази даних при додаванні хеш-теґу: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 msgid "Problem saving notice. Too long." msgstr "Проблема при збереженні допису. Надто довге." -#: classes/Notice.php:255 +#: classes/Notice.php:261 msgid "Problem saving notice. Unknown user." msgstr "Проблема при збереженні допису. Невідомий користувач." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Дуже багато дописів за короткий термін; ходіть подихайте повітрям і " "повертайтесь за кілька хвилин." -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4880,25 +4888,30 @@ msgstr "" "Дуже багато повідомлень за короткий термін; ходіть подихайте повітрям і " "повертайтесь за кілька хвилин." -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "Вам заборонено надсилати дописи до цього сайту." -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Проблема при збереженні допису." -#: classes/Notice.php:973 +#: classes/Notice.php:979 msgid "Problem saving group inbox." msgstr "Проблема при збереженні вхідних дописів для групи." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Не вдається зберегти повідомлення сайту." + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Вас позбавлено можливості підписатись." @@ -4932,19 +4945,19 @@ msgstr "Не вдалося видалити підписку." msgid "Welcome to %1$s, @%2$s!" msgstr "Вітаємо на %1$s, @%2$s!" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "Не вдалося створити нову групу." -#: classes/User_group.php:489 +#: classes/User_group.php:504 msgid "Could not set group URI." msgstr "Не вдалося встановити URI групи." -#: classes/User_group.php:510 +#: classes/User_group.php:525 msgid "Could not set group membership." msgstr "Не вдалося встановити членство." -#: classes/User_group.php:524 +#: classes/User_group.php:539 msgid "Could not save local group info." msgstr "Не вдалося зберегти інформацію про локальну групу." @@ -6413,7 +6426,7 @@ msgstr "" "повідомлення аби долучити користувачів до розмови. Такі повідомлення бачите " "лише Ви." -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "від" @@ -6471,24 +6484,24 @@ msgstr "Запис файлу на диск скасовано." msgid "File upload stopped by extension." msgstr "Завантаження файлу зупинено розширенням." -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "Файл перевищив квоту користувача." -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "Файл не може бути переміщений у директорію призначення." -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 msgid "Could not determine file's MIME type." msgstr "Не вдається визначити MIME-тип файлу." -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr " Спробуйте використати інший %s формат." -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "%s не підтримується як тип файлів на цьому сервері." @@ -6544,51 +6557,51 @@ msgstr "" "часу, ніж очікувалось; будь ласка, спробуйте пізніше" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "Півн." #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "Півд." #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "Сх." #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "Зах." -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "в" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 msgid "in context" msgstr "в контексті" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 msgid "Repeated by" msgstr "Повторено" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "Відповісти на цей допис" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Відповісти" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 msgid "Notice repeated" msgstr "Допис повторили" @@ -6692,7 +6705,7 @@ msgstr "Реєстрація" #. TRANS: Average count of posts made per day since account registration #: lib/profileaction.php:235 msgid "Daily average" -msgstr "Середньодобове" +msgstr "За добу" #: lib/profileaction.php:264 msgid "All groups" diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po index 113ba4fe6..746cd4184 100644 --- a/locale/vi/LC_MESSAGES/statusnet.po +++ b/locale/vi/LC_MESSAGES/statusnet.po @@ -1,5 +1,6 @@ # Translation of StatusNet to Vietnamese # +# Author@translatewiki.net: Minh Nguyen # -- # This file is distributed under the same license as the StatusNet package. # @@ -7,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:24+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:13+0000\n" "Language-Team: Vietnamese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: vi\n" "X-Message-Group: out-statusnet\n" @@ -21,9 +22,8 @@ msgstr "" #. TRANS: Page title #. TRANS: Menu item for site administration #: actions/accessadminpanel.php:55 lib/adminpanelaction.php:376 -#, fuzzy msgid "Access" -msgstr "Chấp nhận" +msgstr "Truy cập" #. TRANS: Page notice #: actions/accessadminpanel.php:67 @@ -33,7 +33,6 @@ msgstr "Thay đổi hình đại diện" #. TRANS: Form legend for registration form. #: actions/accessadminpanel.php:161 -#, fuzzy msgid "Registration" msgstr "Đăng ký" @@ -44,7 +43,6 @@ msgstr "" #. TRANS: Checkbox label for prohibiting anonymous users from viewing site. #: actions/accessadminpanel.php:167 -#, fuzzy msgctxt "LABEL" msgid "Private" msgstr "Riêng tư" @@ -67,9 +65,8 @@ msgstr "" #. TRANS: Checkbox label for disabling new user registrations. #: actions/accessadminpanel.php:185 -#, fuzzy msgid "Closed" -msgstr "Ban user" +msgstr "Đóng" #. TRANS: Title / tooltip for button to save access settings in site admin panel #: actions/accessadminpanel.php:202 @@ -84,7 +81,6 @@ msgstr "Thay đổi hình đại diện" #: actions/accessadminpanel.php:203 actions/emailsettings.php:224 #: actions/imsettings.php:184 actions/smssettings.php:209 #: lib/applicationeditform.php:361 -#, fuzzy msgctxt "BUTTON" msgid "Save" msgstr "Lưu" @@ -172,22 +168,21 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text #: actions/all.php:182 -#, fuzzy msgid "You and friends" -msgstr "%s và bạn bè" +msgstr "Bạn và bạn bè" #. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name. #. TRANS: Message is used as a subtitle. %1$s is a user nickname, %2$s is a site name. @@ -370,7 +365,7 @@ msgstr "Không thể tạo favorite." #: actions/apifriendshipscreate.php:109 #, fuzzy -msgid "Could not follow user: User not found." +msgid "Could not follow user: profile not found." msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè của bạn rồi." #: actions/apifriendshipscreate.php:118 @@ -388,8 +383,8 @@ msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè c msgid "You cannot unfollow yourself." msgstr "Không thể cập nhật thành viên." -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -470,9 +465,8 @@ msgstr "" #: actions/apigroupismember.php:96 actions/apigroupjoin.php:105 #: actions/apigroupleave.php:105 actions/apigroupmembership.php:92 #: actions/apigroupshow.php:83 actions/apitimelinegroup.php:92 -#, fuzzy msgid "Group not found." -msgstr "Phương thức API không tìm thấy!" +msgstr "Không tìm thấy nhóm." #: actions/apigroupjoin.php:111 actions/joingroup.php:100 #, fuzzy @@ -606,9 +600,8 @@ msgstr "" #. TRANS: Main menu option when logged in for access to user settings #: actions/apioauthauthorize.php:310 lib/action.php:450 -#, fuzzy msgid "Account" -msgstr "Giới thiệu" +msgstr "Tài khoản" #: actions/apioauthauthorize.php:313 actions/login.php:252 #: actions/profilesettings.php:106 actions/register.php:431 @@ -675,16 +668,15 @@ msgid "That's too long. Max notice size is %d chars." msgstr "Quá dài. Tối đa là 140 ký tự." #: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 -#, fuzzy msgid "Not found." -msgstr "Không tìm thấy" +msgstr "Không tìm thấy." #: actions/apistatusesupdate.php:305 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "Không hỗ trợ kiểu file ảnh này." @@ -739,6 +731,10 @@ msgstr "Thông báo được gắn thẻ %s" msgid "Updates tagged with %1$s on %2$s!" msgstr "Dòng tin nhắn cho %s" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "Phương thức API dưới cấu trúc có sẵn." + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -795,10 +791,9 @@ msgid "Preview" msgstr "Xem trước" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 -#, fuzzy +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" -msgstr "Xóa tin nhắn" +msgstr "Xóa" #: actions/avatarsettings.php:166 actions/grouplogo.php:236 msgid "Upload" @@ -841,9 +836,8 @@ msgid "You already blocked that user." msgstr "Bạn đã theo những người này:" #: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158 -#, fuzzy msgid "Block user" -msgstr "Ban user" +msgstr "Chặn người dùng" #: actions/block.php:138 msgid "" @@ -1091,7 +1085,7 @@ msgid "Do not delete this notice" msgstr "Không thể xóa tin nhắn này." #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 #, fuzzy msgid "Delete this notice" msgstr "Xóa tin nhắn" @@ -1401,7 +1395,7 @@ msgstr "Trang chủ '%s' không hợp lệ" msgid "Could not update group." msgstr "Không thể cập nhật thành viên." -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "Không thể tạo favorite." @@ -2614,7 +2608,7 @@ msgstr "Các thay đổi phù hợp với từ \"%s\"" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2694,8 +2688,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "Không hỗ trợ định dạng dữ liệu này." @@ -3625,7 +3619,7 @@ msgstr "Bạn không thể đăng ký nếu không đồng ý các điều kho msgid "You already repeated that notice." msgstr "Bạn đã theo những người này:" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "Tạo" @@ -3665,7 +3659,7 @@ msgstr "Dòng tin nhắn cho %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3678,8 +3672,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3778,7 +3772,7 @@ msgstr "Thư mời đã gửi" msgid "Description" msgstr "Mô tả" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "Số liệu thống kê" @@ -3864,16 +3858,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3935,7 +3929,7 @@ msgstr "Dòng tin nhắn cho %s" msgid "FOAF for %s group" msgstr "Hộp thư đi của %s" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 msgid "Members" msgstr "Thành viên" @@ -3950,12 +3944,12 @@ msgstr "" msgid "All members" msgstr "Thành viên" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "Tạo" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3965,7 +3959,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3974,7 +3968,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -4051,8 +4045,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4632,10 +4626,6 @@ msgstr "" msgid "No such tag." msgstr "Không có tin nhắn nào." -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "Phương thức API dưới cấu trúc có sẵn." - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -5003,53 +4993,63 @@ msgstr "Không thể chèn thêm vào đăng nhận." msgid "Could not update message with new URI." msgstr "Không thể cập nhật thông tin user với địa chỉ email đã được xác nhận." +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Lỗi cơ sở dữ liệu khi chèn trả lời: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Có lỗi xảy ra khi lưu tin nhắn." -#: classes/Notice.php:255 +#: classes/Notice.php:261 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "Có lỗi xảy ra khi lưu tin nhắn." -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "Có lỗi xảy ra khi lưu tin nhắn." -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "Có lỗi xảy ra khi lưu tin nhắn." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%s (%s)" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "Không thể lưu thông tin Twitter của bạn!" + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -5087,22 +5087,22 @@ msgstr "Không thể xóa đăng nhận." msgid "Welcome to %1$s, @%2$s!" msgstr "%s chào mừng bạn " -#: classes/User_group.php:480 +#: classes/User_group.php:495 #, fuzzy msgid "Could not create group." msgstr "Không thể tạo favorite." -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "Không thể tạo đăng nhận." -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "Không thể tạo đăng nhận." -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "Không thể tạo đăng nhận." @@ -6553,7 +6553,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr " từ " @@ -6610,25 +6610,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "Không thể lấy lại các tin nhắn ưa thích" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6688,55 +6688,55 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "Không" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "Không có nội dung!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "Tạo" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 #, fuzzy msgid "Reply to this notice" msgstr "Trả lời tin nhắn này" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "Trả lời" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "Tin đã gửi" diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index 02e92e5bd..9ea14ca08 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:28+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:15+0000\n" "Language-Team: Simplified Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: out-statusnet\n" @@ -175,15 +175,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -368,7 +368,8 @@ msgid "Could not delete favorite." msgstr "无法删除收藏。" #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." +#, fuzzy +msgid "Could not follow user: profile not found." msgstr "无法订阅用户:未找到。" #: actions/apifriendshipscreate.php:118 @@ -386,8 +387,9 @@ msgstr "无法订阅用户:未找到。" msgid "You cannot unfollow yourself." msgstr "无法更新用户。" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +#, fuzzy +msgid "Two valid IDs or screen_names must be supplied." msgstr "必须提供两个用户帐号或昵称。" #: actions/apifriendshipsshow.php:134 @@ -682,7 +684,7 @@ msgstr "未找到" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 #, fuzzy msgid "Unsupported format." msgstr "不支持这种图像格式。" @@ -737,6 +739,10 @@ msgstr "带 %s 标签的通告" msgid "Updates tagged with %1$s on %2$s!" msgstr "%2$s 上 %1$s 的更新!" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "API 方法尚未实现。" + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -791,7 +797,7 @@ msgid "Preview" msgstr "预览" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 #, fuzzy msgid "Delete" msgstr "删除" @@ -1089,7 +1095,7 @@ msgid "Do not delete this notice" msgstr "无法删除通告。" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 #, fuzzy msgid "Delete this notice" msgstr "删除通告" @@ -1391,7 +1397,7 @@ msgstr "主页'%s'不正确" msgid "Could not update group." msgstr "无法更新组" -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "无法创建收藏。" @@ -2566,8 +2572,9 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "所有匹配搜索条件\"%s\"的消息" #: actions/nudge.php:85 +#, fuzzy msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "此用户不允许振铃呼叫或者还没有确认或设置TA的电子邮件。" #: actions/nudge.php:94 @@ -2646,8 +2653,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "不支持的数据格式。" @@ -3561,7 +3568,7 @@ msgstr "您必须同意此授权方可注册。" msgid "You already repeated that notice." msgstr "您已成功阻止该用户:" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "创建" @@ -3601,7 +3608,7 @@ msgstr "%s 的通告聚合" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "这是 %s 和好友的时间线,但是没有任何人发布内容。" #: actions/replies.php:204 @@ -3614,8 +3621,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3715,7 +3722,7 @@ msgstr "分页" msgid "Description" msgstr "描述" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "统计" @@ -3801,16 +3808,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3871,7 +3878,7 @@ msgstr "%s 的通告聚合" msgid "FOAF for %s group" msgstr "%s 的发件箱" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 #, fuzzy msgid "Members" msgstr "注册于" @@ -3886,12 +3893,12 @@ msgstr "(没有)" msgid "All members" msgstr "所有成员" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "创建" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3901,7 +3908,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, fuzzy, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3912,7 +3919,7 @@ msgstr "" "**%s** 是一个 %%%%site.name%%%% 的用户组,一个微博客服务 [micro-blogging]" "(http://en.wikipedia.org/wiki/Micro-blogging)" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 #, fuzzy msgid "Admins" msgstr "admin管理员" @@ -3989,8 +3996,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4564,10 +4571,6 @@ msgstr "使用这个表格给你的关注者或你的订阅加注标签。" msgid "No such tag." msgstr "未找到此消息。" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "API 方法尚未实现。" - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4931,54 +4934,64 @@ msgstr "无法添加信息。" msgid "Could not update message with new URI." msgstr "无法添加新URI的信息。" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "添加标签时数据库出错:%s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "保存通告时出错。" -#: classes/Notice.php:255 +#: classes/Notice.php:261 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "保存通告时出错。" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "你在短时间里发布了过多的消息,请深呼吸,过几分钟再发消息。" -#: classes/Notice.php:266 +#: classes/Notice.php:272 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "你在短时间里发布了过多的消息,请深呼吸,过几分钟再发消息。" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "在这个网站你被禁止发布消息。" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "保存通告时出错。" -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "保存通告时出错。" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "无法保存 Twitter 设置!" + #: classes/Subscription.php:74 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." @@ -5017,21 +5030,21 @@ msgstr "无法删除订阅。" msgid "Welcome to %1$s, @%2$s!" msgstr "发送给 %1$s 的 %2$s 消息" -#: classes/User_group.php:480 +#: classes/User_group.php:495 msgid "Could not create group." msgstr "无法创建组。" -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "无法删除订阅。" -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "无法删除订阅。" -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "无法删除订阅。" @@ -6430,7 +6443,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 #, fuzzy msgid "from" msgstr " 从 " @@ -6486,25 +6499,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "无法获取收藏的通告。" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6564,56 +6577,56 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 #, fuzzy msgid "N" msgstr "否" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "没有内容!" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "创建" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 #, fuzzy msgid "Reply to this notice" msgstr "无法删除通告。" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 #, fuzzy msgid "Reply" msgstr "回复" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "消息已发布。" diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index 16f8a2d34..cbe946a18 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-16 22:18+0000\n" -"PO-Revision-Date: 2010-07-01 16:33:32+0000\n" +"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"PO-Revision-Date: 2010-07-28 20:00:17+0000\n" "Language-Team: Traditional Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r68839); Translate extension (2010-06-12)\n" +"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hant\n" "X-Message-Group: out-statusnet\n" @@ -169,15 +169,15 @@ msgstr "" #: actions/all.php:146 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) from his profile or [post something to " -"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to his or her attention." +"post a notice to their attention." msgstr "" #. TRANS: H1 text @@ -360,8 +360,9 @@ msgid "Could not delete favorite." msgstr "" #: actions/apifriendshipscreate.php:109 -msgid "Could not follow user: User not found." -msgstr "" +#, fuzzy +msgid "Could not follow user: profile not found." +msgstr "無法連結到伺服器:%s" #: actions/apifriendshipscreate.php:118 #, php-format @@ -378,8 +379,8 @@ msgstr "無法連結到伺服器:%s" msgid "You cannot unfollow yourself." msgstr "無法更新使用者" -#: actions/apifriendshipsexists.php:94 -msgid "Two user ids or screen_names must be supplied." +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." msgstr "" #: actions/apifriendshipsshow.php:134 @@ -673,7 +674,7 @@ msgstr "目前無請求" msgid "Max notice size is %d chars, including attachment URL." msgstr "" -#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 msgid "Unsupported format." msgstr "" @@ -727,6 +728,10 @@ msgstr "" msgid "Updates tagged with %1$s on %2$s!" msgstr "&s的微型部落格" +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + #: actions/attachment.php:73 #, fuzzy msgid "No such attachment." @@ -781,7 +786,7 @@ msgid "Preview" msgstr "" #: actions/avatarsettings.php:149 actions/showapplication.php:252 -#: lib/deleteuserform.php:66 lib/noticelist.php:648 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 msgid "Delete" msgstr "" @@ -1071,7 +1076,7 @@ msgid "Do not delete this notice" msgstr "無此通知" #. TRANS: Submit button title for 'Yes' when deleting a notice. -#: actions/deletenotice.php:158 lib/noticelist.php:648 +#: actions/deletenotice.php:158 lib/noticelist.php:656 msgid "Delete this notice" msgstr "" @@ -1366,7 +1371,7 @@ msgstr "個人首頁連結%s無效" msgid "Could not update group." msgstr "無法更新使用者" -#: actions/editgroup.php:264 classes/User_group.php:496 +#: actions/editgroup.php:264 classes/User_group.php:511 #, fuzzy msgid "Could not create aliases." msgstr "無法存取個人圖像資料" @@ -2477,7 +2482,7 @@ msgstr "所有符合 \"%s\"的更新" #: actions/nudge.php:85 msgid "" -"This user doesn't allow nudges or hasn't confirmed or set his email yet." +"This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" #: actions/nudge.php:94 @@ -2554,8 +2559,8 @@ msgid "Only %s URLs over plain HTTP please." msgstr "" #. TRANS: Client error on an API request with an unsupported data format. -#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1179 -#: lib/apiaction.php:1208 lib/apiaction.php:1325 +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 msgid "Not a supported data format." msgstr "" @@ -3432,7 +3437,7 @@ msgstr "" msgid "You already repeated that notice." msgstr "無此使用者" -#: actions/repeat.php:114 lib/noticelist.php:667 +#: actions/repeat.php:114 lib/noticelist.php:675 #, fuzzy msgid "Repeated" msgstr "新增" @@ -3472,7 +3477,7 @@ msgstr "發送給%s好友的訂閱" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to his attention yet." +"notice to their attention yet." msgstr "" #: actions/replies.php:204 @@ -3485,8 +3490,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to his or her " -"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3582,7 +3587,7 @@ msgstr "地點" msgid "Description" msgstr "所有訂閱" -#: actions/showapplication.php:192 actions/showgroup.php:444 +#: actions/showapplication.php:192 actions/showgroup.php:436 #: lib/profileaction.php:187 msgid "Statistics" msgstr "" @@ -3667,16 +3672,16 @@ msgstr "" #: actions/showfavorites.php:208 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Post something interesting " -"they would add to their favorites :)" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" msgstr "" #: actions/showfavorites.php:212 #, php-format msgid "" -"%s hasn't added any notices to his favorites yet. Why not [register an " -"account](%%%%action.register%%%%) and then post something interesting they " -"would add to their favorites :)" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" msgstr "" #: actions/showfavorites.php:243 @@ -3736,7 +3741,7 @@ msgstr "" msgid "FOAF for %s group" msgstr "無此通知" -#: actions/showgroup.php:393 actions/showgroup.php:453 lib/groupnav.php:91 +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 #, fuzzy msgid "Members" msgstr "何時加入會員的呢?" @@ -3751,12 +3756,12 @@ msgstr "" msgid "All members" msgstr "" -#: actions/showgroup.php:447 +#: actions/showgroup.php:439 #, fuzzy msgid "Created" msgstr "新增" -#: actions/showgroup.php:463 +#: actions/showgroup.php:455 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3766,7 +3771,7 @@ msgid "" "of this group and many more! ([Read more](%%%%doc.help%%%%))" msgstr "" -#: actions/showgroup.php:469 +#: actions/showgroup.php:461 #, php-format msgid "" "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." @@ -3775,7 +3780,7 @@ msgid "" "their life and interests. " msgstr "" -#: actions/showgroup.php:497 +#: actions/showgroup.php:489 msgid "Admins" msgstr "" @@ -3851,8 +3856,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to his or her attention](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 @@ -4407,10 +4412,6 @@ msgstr "" msgid "No such tag." msgstr "無此通知" -#: actions/twitapitrends.php:85 -msgid "API method under construction." -msgstr "" - #: actions/unblock.php:59 #, fuzzy msgid "You haven't blocked that user." @@ -4757,53 +4758,63 @@ msgstr "" msgid "Could not update message with new URI." msgstr "" +#: classes/Notice.php:96 +#, php-format +msgid "No such profile (%d) for notice (%d)" +msgstr "" + #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:182 +#: classes/Notice.php:188 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "增加回覆時,資料庫發生錯誤: %s" -#: classes/Notice.php:251 +#: classes/Notice.php:257 #, fuzzy msgid "Problem saving notice. Too long." msgstr "儲存使用者發生錯誤" -#: classes/Notice.php:255 +#: classes/Notice.php:261 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "儲存使用者發生錯誤" -#: classes/Notice.php:260 +#: classes/Notice.php:266 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:266 +#: classes/Notice.php:272 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:272 +#: classes/Notice.php:278 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:338 classes/Notice.php:364 +#: classes/Notice.php:344 classes/Notice.php:370 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:973 +#: classes/Notice.php:979 #, fuzzy msgid "Problem saving group inbox." msgstr "儲存使用者發生錯誤" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1564 +#: classes/Notice.php:1586 #, php-format msgid "RT @%1$s %2$s" msgstr "" +#: classes/Status_network.php:345 +#, fuzzy +msgid "Unable to save tag." +msgstr "新訊息" + #: classes/Subscription.php:74 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" @@ -4840,22 +4851,22 @@ msgstr "無法刪除帳號" msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:480 +#: classes/User_group.php:495 #, fuzzy msgid "Could not create group." msgstr "無法存取個人圖像資料" -#: classes/User_group.php:489 +#: classes/User_group.php:504 #, fuzzy msgid "Could not set group URI." msgstr "註冊失敗" -#: classes/User_group.php:510 +#: classes/User_group.php:525 #, fuzzy msgid "Could not set group membership." msgstr "註冊失敗" -#: classes/User_group.php:524 +#: classes/User_group.php:539 #, fuzzy msgid "Could not save local group info." msgstr "註冊失敗" @@ -6214,7 +6225,7 @@ msgid "" "users in conversation. People can send you messages for your eyes only." msgstr "" -#: lib/mailbox.php:227 lib/noticelist.php:497 +#: lib/mailbox.php:227 lib/noticelist.php:505 msgid "from" msgstr "" @@ -6269,25 +6280,25 @@ msgstr "" msgid "File upload stopped by extension." msgstr "" -#: lib/mediafile.php:179 lib/mediafile.php:216 +#: lib/mediafile.php:179 lib/mediafile.php:217 msgid "File exceeds user's quota." msgstr "" -#: lib/mediafile.php:196 lib/mediafile.php:233 +#: lib/mediafile.php:197 lib/mediafile.php:234 msgid "File could not be moved to destination directory." msgstr "" -#: lib/mediafile.php:201 lib/mediafile.php:237 +#: lib/mediafile.php:202 lib/mediafile.php:238 #, fuzzy msgid "Could not determine file's MIME type." msgstr "無法更新使用者" -#: lib/mediafile.php:270 +#: lib/mediafile.php:318 #, php-format msgid " Try using another %s format." msgstr "" -#: lib/mediafile.php:275 +#: lib/mediafile.php:323 #, php-format msgid "%s is not a supported file type on this server." msgstr "" @@ -6345,53 +6356,53 @@ msgid "" msgstr "" #. TRANS: Used in coordinates as abbreviation of north -#: lib/noticelist.php:430 +#: lib/noticelist.php:436 msgid "N" msgstr "" #. TRANS: Used in coordinates as abbreviation of south -#: lib/noticelist.php:432 +#: lib/noticelist.php:438 msgid "S" msgstr "" #. TRANS: Used in coordinates as abbreviation of east -#: lib/noticelist.php:434 +#: lib/noticelist.php:440 msgid "E" msgstr "" #. TRANS: Used in coordinates as abbreviation of west -#: lib/noticelist.php:436 +#: lib/noticelist.php:442 msgid "W" msgstr "" -#: lib/noticelist.php:438 +#: lib/noticelist.php:444 #, php-format msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" msgstr "" -#: lib/noticelist.php:447 +#: lib/noticelist.php:453 msgid "at" msgstr "" -#: lib/noticelist.php:559 +#: lib/noticelist.php:567 #, fuzzy msgid "in context" msgstr "無內容" -#: lib/noticelist.php:594 +#: lib/noticelist.php:602 #, fuzzy msgid "Repeated by" msgstr "新增" -#: lib/noticelist.php:621 +#: lib/noticelist.php:629 msgid "Reply to this notice" msgstr "" -#: lib/noticelist.php:622 +#: lib/noticelist.php:630 msgid "Reply" msgstr "" -#: lib/noticelist.php:666 +#: lib/noticelist.php:674 #, fuzzy msgid "Notice repeated" msgstr "更新個人圖像" -- cgit v1.2.3 From e694da24a9b6ec242fd49b5ce6e012d0a2a28679 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Wed, 28 Jul 2010 22:17:54 +0200 Subject: Number parameters --- classes/File.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/File.php b/classes/File.php index 0f230a6ee..ba8cea9d9 100644 --- a/classes/File.php +++ b/classes/File.php @@ -182,8 +182,8 @@ class File extends Memcached_DataObject function isRespectsQuota($user,$fileSize) { if ($fileSize > common_config('attachments', 'file_quota')) { - return sprintf(_('No file may be larger than %d bytes ' . - 'and the file you sent was %d bytes. Try to upload a smaller version.'), + return sprintf(_('No file may be larger than %1$d bytes ' . + 'and the file you sent was %2$d bytes. Try to upload a smaller version.'), common_config('attachments', 'file_quota'), $fileSize); } -- cgit v1.2.3 From cb09b5c62adb8db5f57cd2f1c97ac024bcd01dc3 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Wed, 28 Jul 2010 22:38:48 +0200 Subject: Update pot --- locale/statusnet.pot | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locale/statusnet.pot b/locale/statusnet.pot index 81ed07d11..4efa8c4c8 100644 --- a/locale/statusnet.pot +++ b/locale/statusnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4527,8 +4527,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 -- cgit v1.2.3 From 81d562d4b73f5f1d2bc3b6ac1aba4eeed3ccedce Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Wed, 28 Jul 2010 22:40:22 +0200 Subject: Update po files --- locale/af/LC_MESSAGES/statusnet.po | 8 ++++---- locale/ar/LC_MESSAGES/statusnet.po | 8 ++++---- locale/arz/LC_MESSAGES/statusnet.po | 8 ++++---- locale/bg/LC_MESSAGES/statusnet.po | 8 ++++---- locale/br/LC_MESSAGES/statusnet.po | 8 ++++---- locale/ca/LC_MESSAGES/statusnet.po | 10 +++++----- locale/cs/LC_MESSAGES/statusnet.po | 8 ++++---- locale/de/LC_MESSAGES/statusnet.po | 11 +++++------ locale/el/LC_MESSAGES/statusnet.po | 8 ++++---- locale/en_GB/LC_MESSAGES/statusnet.po | 8 ++++---- locale/es/LC_MESSAGES/statusnet.po | 10 +++++----- locale/fa/LC_MESSAGES/statusnet.po | 10 +++++----- locale/fi/LC_MESSAGES/statusnet.po | 8 ++++---- locale/fr/LC_MESSAGES/statusnet.po | 10 +++++----- locale/ga/LC_MESSAGES/statusnet.po | 8 ++++---- locale/gl/LC_MESSAGES/statusnet.po | 10 +++++----- locale/he/LC_MESSAGES/statusnet.po | 8 ++++---- locale/hsb/LC_MESSAGES/statusnet.po | 8 ++++---- locale/ia/LC_MESSAGES/statusnet.po | 10 +++++----- locale/is/LC_MESSAGES/statusnet.po | 8 ++++---- locale/it/LC_MESSAGES/statusnet.po | 10 +++++----- locale/ja/LC_MESSAGES/statusnet.po | 10 +++++----- locale/ko/LC_MESSAGES/statusnet.po | 8 ++++---- locale/mk/LC_MESSAGES/statusnet.po | 10 +++++----- locale/nb/LC_MESSAGES/statusnet.po | 8 ++++---- locale/nl/LC_MESSAGES/statusnet.po | 10 +++++----- locale/nn/LC_MESSAGES/statusnet.po | 8 ++++---- locale/pl/LC_MESSAGES/statusnet.po | 10 +++++----- locale/pt/LC_MESSAGES/statusnet.po | 10 +++++----- locale/pt_BR/LC_MESSAGES/statusnet.po | 10 +++++----- locale/ru/LC_MESSAGES/statusnet.po | 10 +++++----- locale/sv/LC_MESSAGES/statusnet.po | 10 +++++----- locale/te/LC_MESSAGES/statusnet.po | 8 ++++---- locale/tr/LC_MESSAGES/statusnet.po | 8 ++++---- locale/uk/LC_MESSAGES/statusnet.po | 10 +++++----- locale/vi/LC_MESSAGES/statusnet.po | 8 ++++---- locale/zh_CN/LC_MESSAGES/statusnet.po | 8 ++++---- locale/zh_TW/LC_MESSAGES/statusnet.po | 8 ++++---- 38 files changed, 169 insertions(+), 170 deletions(-) diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po index b155631c8..41198d0aa 100644 --- a/locale/af/LC_MESSAGES/statusnet.po +++ b/locale/af/LC_MESSAGES/statusnet.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:01+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:32+0000\n" "Language-Team: Afrikaans\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4572,8 +4572,8 @@ msgstr "Outeur(s)" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po index dd870798c..74054d335 100644 --- a/locale/ar/LC_MESSAGES/statusnet.po +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:02+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:34+0000\n" "Language-Team: Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4584,8 +4584,8 @@ msgstr "المؤلف(ون)" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po index 5ff6f9013..557187d16 100644 --- a/locale/arz/LC_MESSAGES/statusnet.po +++ b/locale/arz/LC_MESSAGES/statusnet.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:04+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:36+0000\n" "Language-Team: Egyptian Spoken Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4612,8 +4612,8 @@ msgstr "المؤلف/ين" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po index 32e9d615b..9b1d2862b 100644 --- a/locale/bg/LC_MESSAGES/statusnet.po +++ b/locale/bg/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:06+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:38+0000\n" "Language-Team: Bulgarian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4754,8 +4754,8 @@ msgstr "Автор(и)" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po index 5fb66c0b8..bacbc9c1e 100644 --- a/locale/br/LC_MESSAGES/statusnet.po +++ b/locale/br/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:07+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:40+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4591,8 +4591,8 @@ msgstr "Aozer(ien)" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po index 5d18cda46..0ba1506c0 100644 --- a/locale/ca/LC_MESSAGES/statusnet.po +++ b/locale/ca/LC_MESSAGES/statusnet.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:09+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:42+0000\n" "Language-Team: Catalan\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4826,10 +4826,10 @@ msgid "Author(s)" msgstr "Autoria" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Cap fitxer pot ser major de %d bytes i el fitxer que heu enviat era de %d " "bytes. Proveu de pujar una versió de mida menor." diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po index b61fecef8..814d6a108 100644 --- a/locale/cs/LC_MESSAGES/statusnet.po +++ b/locale/cs/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:14+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:43+0000\n" "Language-Team: Czech\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4793,8 +4793,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po index acd78fc1f..dc4d0807e 100644 --- a/locale/de/LC_MESSAGES/statusnet.po +++ b/locale/de/LC_MESSAGES/statusnet.po @@ -7,7 +7,6 @@ # Author@translatewiki.net: McDutchie # Author@translatewiki.net: Michael # Author@translatewiki.net: Michi -# Author@translatewiki.net: Pill # Author@translatewiki.net: The Evil IP address # Author@translatewiki.net: Umherirrender # -- @@ -17,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:16+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:45+0000\n" "Language-Team: German\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4844,10 +4843,10 @@ msgid "Author(s)" msgstr "Autor(en)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Keine Datei darf größer als %d Bytes sein und die Datei die du verschicken " "wolltest ist %d Bytes groß. Bitte eine kleinere Datei hoch laden." diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po index 8fac99192..06a6b82c6 100644 --- a/locale/el/LC_MESSAGES/statusnet.po +++ b/locale/el/LC_MESSAGES/statusnet.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:17+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:46+0000\n" "Language-Team: Greek\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4721,8 +4721,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index 609e56409..122222fb8 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:19+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:48+0000\n" "Language-Team: British English\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4737,8 +4737,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index 8290f7cbe..f29928d07 100644 --- a/locale/es/LC_MESSAGES/statusnet.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:21+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:50+0000\n" "Language-Team: Spanish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4832,10 +4832,10 @@ msgid "Author(s)" msgstr "Autor(es)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "No puede haber un archivo de tamaño mayor a %d bytes y el archivo subido es " "de %d bytes. Por favor, intenta subir una versión más ligera." diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po index 3c36dc1bd..df0d3afb7 100644 --- a/locale/fa/LC_MESSAGES/statusnet.po +++ b/locale/fa/LC_MESSAGES/statusnet.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:25+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:53+0000\n" "Last-Translator: Ahmad Sufi Mahmudi\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -4769,10 +4769,10 @@ msgid "Author(s)" msgstr "مؤلف(ها)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "هیچ پرونده‌ای نباید بزرگ‌تر از %d بایت باشد و پرونده‌ای که شما فرستادید %d بایت " "بود. بارگذاری یک نسخهٔ کوچک‌تر را امتحان کنید." diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index 1f587c350..4fc543dec 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:23+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:51+0000\n" "Language-Team: Finnish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4892,8 +4892,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po index 4d0a500e3..603bc3c21 100644 --- a/locale/fr/LC_MESSAGES/statusnet.po +++ b/locale/fr/LC_MESSAGES/statusnet.po @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:26+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:55+0000\n" "Language-Team: French\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4863,10 +4863,10 @@ msgid "Author(s)" msgstr "Auteur(s)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Un fichier ne peut pas être plus gros que %d octets et le fichier que vous " "avez envoyé pesait %d octets. Essayez d’importer une version moins grosse." diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po index f0929d4ec..89c753c56 100644 --- a/locale/ga/LC_MESSAGES/statusnet.po +++ b/locale/ga/LC_MESSAGES/statusnet.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:28+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:56+0000\n" "Language-Team: Irish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4948,8 +4948,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po index 3dec92ace..453897cf0 100644 --- a/locale/gl/LC_MESSAGES/statusnet.po +++ b/locale/gl/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:31+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:33:58+0000\n" "Language-Team: Galician\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4832,10 +4832,10 @@ msgid "Author(s)" msgstr "Autores" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Ningún ficheiro pode superar os %d bytes e o que enviou ocupaba %d. Probe a " "subir un ficheiro máis pequeno." diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po index b32c65ef5..2281bfd55 100644 --- a/locale/he/LC_MESSAGES/statusnet.po +++ b/locale/he/LC_MESSAGES/statusnet.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:33+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:00+0000\n" "Language-Team: Hebrew\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4796,8 +4796,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po index bba1d098a..3e7bc31fc 100644 --- a/locale/hsb/LC_MESSAGES/statusnet.po +++ b/locale/hsb/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:34+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:01+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4553,8 +4553,8 @@ msgstr "Awtorojo" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po index bce06be88..7416177b2 100644 --- a/locale/ia/LC_MESSAGES/statusnet.po +++ b/locale/ia/LC_MESSAGES/statusnet.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:36+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:03+0000\n" "Language-Team: Interlingua\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4807,10 +4807,10 @@ msgid "Author(s)" msgstr "Autor(es)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Nulle file pote esser plus grande que %d bytes e le file que tu inviava ha %" "d bytes. Tenta incargar un version minus grande." diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po index fa07d1ead..5a8c282d1 100644 --- a/locale/is/LC_MESSAGES/statusnet.po +++ b/locale/is/LC_MESSAGES/statusnet.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:38+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:06+0000\n" "Language-Team: Icelandic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4847,8 +4847,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po index 5de73a64c..37f691b68 100644 --- a/locale/it/LC_MESSAGES/statusnet.po +++ b/locale/it/LC_MESSAGES/statusnet.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:40+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:08+0000\n" "Language-Team: Italian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4804,10 +4804,10 @@ msgid "Author(s)" msgstr "Autori" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Nessun file può superare %d byte e il file inviato era di %d byte. Prova a " "caricarne una versione più piccola." diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po index 2fc89531f..641e75235 100644 --- a/locale/ja/LC_MESSAGES/statusnet.po +++ b/locale/ja/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:42+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:10+0000\n" "Language-Team: Japanese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4836,10 +4836,10 @@ msgid "Author(s)" msgstr "作者" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "どんなファイルも %d バイトより大きくてはいけません、そして、あなたが送った" "ファイルは %d バイトでした。より小さいバージョンをアップロードするようにして" diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po index fbe19c66e..7e13ad7ca 100644 --- a/locale/ko/LC_MESSAGES/statusnet.po +++ b/locale/ko/LC_MESSAGES/statusnet.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:44+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:12+0000\n" "Language-Team: Korean\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4816,8 +4816,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po index 33cb46719..9ebc37f20 100644 --- a/locale/mk/LC_MESSAGES/statusnet.po +++ b/locale/mk/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:45+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:14+0000\n" "Language-Team: Macedonian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4826,10 +4826,10 @@ msgid "Author(s)" msgstr "Автор(и)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Ниедна податотека не смее да биде поголема од %d бајти, а подаотеката што ја " "испративте содржи %d бајти. Подигнете помала верзија." diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po index fdecf0c5d..66ff92528 100644 --- a/locale/nb/LC_MESSAGES/statusnet.po +++ b/locale/nb/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:47+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:15+0000\n" "Language-Team: Norwegian (bokmål)‬\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4743,8 +4743,8 @@ msgstr "Forfatter(e)" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po index 7fc6cdf05..f7d4d3fd8 100644 --- a/locale/nl/LC_MESSAGES/statusnet.po +++ b/locale/nl/LC_MESSAGES/statusnet.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:54+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:18+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4859,10 +4859,10 @@ msgid "Author(s)" msgstr "Auteur(s)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Bestanden mogen niet groter zijn dan %d bytes, en uw bestand was %d bytes. " "Probeer een kleinere versie te uploaden." diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po index b191e3fc3..e618e0562 100644 --- a/locale/nn/LC_MESSAGES/statusnet.po +++ b/locale/nn/LC_MESSAGES/statusnet.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:51+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:17+0000\n" "Language-Team: Norwegian Nynorsk\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4884,8 +4884,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po index f5f3fb6d2..b6fdbc0b0 100644 --- a/locale/pl/LC_MESSAGES/statusnet.po +++ b/locale/pl/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:55+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:20+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -4795,10 +4795,10 @@ msgid "Author(s)" msgstr "Autorzy" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Żaden plik nie może być większy niż %d bajty, a wysłany plik miał %d bajty. " "Spróbuj wysłać mniejszą wersję." diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index 22b11805d..1591492ac 100644 --- a/locale/pt/LC_MESSAGES/statusnet.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:57+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:22+0000\n" "Language-Team: Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4802,10 +4802,10 @@ msgid "Author(s)" msgstr "Autores" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Nenhum ficheiro pode ter mais de %d bytes e o que enviou tinha %d bytes. " "Tente carregar uma versão menor." diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index c38c063fa..d0897340b 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 19:59:59+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:24+0000\n" "Language-Team: Brazilian Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4833,10 +4833,10 @@ msgid "Author(s)" msgstr "Autor(es)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Nenhum arquivo pode ser maior que %d bytes e o arquivo que você enviou " "possui %d bytes. Experimente enviar uma versão menor." diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po index 26ee993da..0fbf8a37c 100644 --- a/locale/ru/LC_MESSAGES/statusnet.po +++ b/locale/ru/LC_MESSAGES/statusnet.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:01+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:25+0000\n" "Language-Team: Russian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4818,10 +4818,10 @@ msgid "Author(s)" msgstr "Автор(ы)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Файл не может быть больше %d байт, тогда как отправленный вами файл содержал " "%d байт. Попробуйте загрузить меньшую версию." diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po index 21e6a9aa8..2a161e626 100644 --- a/locale/sv/LC_MESSAGES/statusnet.po +++ b/locale/sv/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:05+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:27+0000\n" "Language-Team: Swedish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4794,10 +4794,10 @@ msgid "Author(s)" msgstr "Författare" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Inga filer får vara större än %d byte och filen du skickade var %d byte. " "Prova att ladda upp en mindre version." diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po index 6dbf3e505..d3fda5823 100644 --- a/locale/te/LC_MESSAGES/statusnet.po +++ b/locale/te/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:08+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:29+0000\n" "Language-Team: Telugu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4688,8 +4688,8 @@ msgstr "రచయిత(లు)" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po index 9b25c9b5a..e3a63e80e 100644 --- a/locale/tr/LC_MESSAGES/statusnet.po +++ b/locale/tr/LC_MESSAGES/statusnet.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:09+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:30+0000\n" "Language-Team: Turkish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4799,8 +4799,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po index c8b26bf8d..0413684ca 100644 --- a/locale/uk/LC_MESSAGES/statusnet.po +++ b/locale/uk/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:11+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:32+0000\n" "Language-Team: Ukrainian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4803,10 +4803,10 @@ msgid "Author(s)" msgstr "Автор(и)" #: classes/File.php:185 -#, php-format +#, fuzzy, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" "Ні, файл не може бути більшим за %d байтів, а те, що Ви хочете надіслати, " "важить %d байтів. Спробуйте меншу версію." diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po index 746cd4184..b84f746d8 100644 --- a/locale/vi/LC_MESSAGES/statusnet.po +++ b/locale/vi/LC_MESSAGES/statusnet.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:13+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:33+0000\n" "Language-Team: Vietnamese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4939,8 +4939,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index 9ea14ca08..80b843c65 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:15+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:35+0000\n" "Language-Team: Simplified Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4882,8 +4882,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index cbe946a18..500f913a4 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 19:58+0000\n" -"PO-Revision-Date: 2010-07-28 20:00:17+0000\n" +"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"PO-Revision-Date: 2010-07-28 20:34:36+0000\n" "Language-Team: Traditional Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4707,8 +4707,8 @@ msgstr "" #: classes/File.php:185 #, php-format msgid "" -"No file may be larger than %d bytes and the file you sent was %d bytes. Try " -"to upload a smaller version." +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." msgstr "" #: classes/File.php:195 -- cgit v1.2.3 From 659e8b26acffd3bfbe097693d3f75e20d2f78a0f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 28 Jul 2010 17:50:36 -0400 Subject: add admin panel for Adsense --- plugins/Adsense/AdsensePlugin.php | 48 ++++++++ plugins/Adsense/adsenseadminpanel.php | 223 ++++++++++++++++++++++++++++++++++ 2 files changed, 271 insertions(+) create mode 100644 plugins/Adsense/adsenseadminpanel.php diff --git a/plugins/Adsense/AdsensePlugin.php b/plugins/Adsense/AdsensePlugin.php index ab2b9a6fb..cd6fc3503 100644 --- a/plugins/Adsense/AdsensePlugin.php +++ b/plugins/Adsense/AdsensePlugin.php @@ -83,6 +83,21 @@ class AdsensePlugin extends UAPPlugin public $adScript = 'http://pagead2.googlesyndication.com/pagead/show_ads.js'; public $client = null; + function initialize() + { + parent::initialize(); + + // A little bit of chicanery so we avoid overwriting values that + // are passed in with the constructor + + foreach (array('mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper', 'adScript', 'client') as $setting) { + $value = common_config('adsense', strtolower($setting)); + if (!empty($value)) { // not found + $this->$setting = $value; + } + } + } + /** * Show a medium rectangle 'ad' * @@ -157,4 +172,37 @@ class AdsensePlugin extends UAPPlugin $action->script($this->adScript); } + + function onRouterInitialized($m) + { + $m->connect('admin/adsense', + array('action' => 'adsenseadminpanel')); + + return true; + } + + function onAutoload($cls) + { + $dir = dirname(__FILE__); + + switch ($cls) + { + case 'AdsenseadminpanelAction': + require_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php'; + return false; + default: + return true; + } + } + + function onEndAdminPanelNav($menu) { + if (AdminPanelAction::canAdmin('adsense')) { + // TRANS: Menu item title/tooltip + $menu_title = _('Adsense configuration'); + // TRANS: Menu item for site administration + $menu->out->menuItem(common_local_url('adsenseadminpanel'), _('Adsense'), + $menu_title, $action_name == 'adsenseadminpanel', 'nav_adsense_admin_panel'); + } + return true; + } } \ No newline at end of file diff --git a/plugins/Adsense/adsenseadminpanel.php b/plugins/Adsense/adsenseadminpanel.php new file mode 100644 index 000000000..7b99cf805 --- /dev/null +++ b/plugins/Adsense/adsenseadminpanel.php @@ -0,0 +1,223 @@ +. + * + * @category Adsense + * @package StatusNet + * @author Evan Prodromou + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Administer adsense settings + * + * @category Adsense + * @package StatusNet + * @author Evan Prodromou + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class AdsenseadminpanelAction extends AdminPanelAction +{ + /** + * Returns the page title + * + * @return string page title + */ + + function title() + { + return _('Adsense'); + } + + /** + * Instructions for using this form. + * + * @return string instructions + */ + + function getInstructions() + { + return _('Adsense settings for this StatusNet site'); + } + + /** + * Show the site admin panel form + * + * @return void + */ + + function showForm() + { + $form = new AdsenseAdminPanelForm($this); + $form->show(); + return; + } + + /** + * Save settings from the form + * + * @return void + */ + + function saveSettings() + { + static $settings = array('adsense' => array('adScript', 'client', 'mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper')); + + $values = array(); + + foreach ($settings as $section => $parts) { + foreach ($parts as $setting) { + $values[$section][$setting] = $this->trimmed($setting); + } + } + + // This throws an exception on validation errors + + $this->validate($values); + + // assert(all values are valid); + + $config = new Config(); + + $config->query('BEGIN'); + + foreach ($settings as $section => $parts) { + foreach ($parts as $setting) { + Config::save($section, $setting, $values[$section][$setting]); + } + } + + $config->query('COMMIT'); + + return; + } + + function validate(&$values) + { + } +} + +/** + * Form for the adsense admin panel + */ + +class AdsenseAdminPanelForm extends AdminForm +{ + /** + * ID of the form + * + * @return int ID of the form + */ + + function id() + { + return 'form_adsense_admin_panel'; + } + + /** + * class of the form + * + * @return string class of the form + */ + + function formClass() + { + return 'form_adsense'; + } + + /** + * Action of the form + * + * @return string URL of the action + */ + + function action() + { + return common_local_url('adsenseadminpanel'); + } + + /** + * Data elements of the form + * + * @return void + */ + + function formData() + { + $this->out->elementStart('fieldset', array('id' => 'adsense_admin')); + $this->out->elementStart('ul', 'form_data'); + $this->li(); + $this->input('client', + _('Client ID'), + _('Google client ID'), + 'adsense'); + $this->unli(); + $this->li(); + $this->input('adScript', + _('Ad Script URL'), + _('Script URL (advanced)'), + 'adsense'); + $this->unli(); + $this->li(); + $this->input('mediumRectangle', + _('Medium rectangle'), + _('Medium rectangle slot code'), + 'adsense'); + $this->unli(); + $this->li(); + $this->input('rectangle', + _('Rectangle'), + _('Rectangle slot code'), + 'adsense'); + $this->unli(); + $this->li(); + $this->input('leaderboard', + _('Leaderboard'), + _('Leaderboard slot code'), + 'adsense'); + $this->unli(); + $this->li(); + $this->input('wideSkyscraper', + _('Skyscraper'), + _('Wide skyscraper slot code'), + 'adsense'); + $this->unli(); + $this->out->elementEnd('ul'); + } + + /** + * Action elements + * + * @return void + */ + + function formActions() + { + $this->out->submit('submit', _('Save'), 'submit', null, _('Save AdSense settings')); + } +} -- cgit v1.2.3 From a44641bdb692c4bcf03d9dea07773ac1511dd8da Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 23:59:46 -0400 Subject: oops. really embarassing typo (that explains some weird behaviour) --- classes/status_network.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/status_network.ini b/classes/status_network.ini index 83226e915..b298daae4 100644 --- a/classes/status_network.ini +++ b/classes/status_network.ini @@ -1,5 +1,5 @@ [status_network] -side_id = 129 +site_id = 129 nickname = 130 hostname = 2 pathname = 2 -- cgit v1.2.3 From f241cdcbb3485c353bee8d5ee106ebc48e69ed01 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Thu, 29 Jul 2010 11:34:58 +0200 Subject: * mark two untranslatable server exceptions as translatable * number parameters when multiple are user in a message * update translator documentation --- classes/Notice.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/classes/Notice.php b/classes/Notice.php index 8552248ba..606803b6f 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -93,7 +93,9 @@ class Notice extends Memcached_DataObject $profile = Profile::staticGet('id', $this->profile_id); if (empty($profile)) { - throw new ServerException(sprintf(_('No such profile (%d) for notice (%d)'), $this->profile_id, $this->id)); + // TRANS: Server exception thrown when a user profile for a notice cannot be found. + // TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). + throw new ServerException(sprintf(_('No such profile (%1$d) for notice (%2$d).'), $this->profile_id, $this->id)); } return $profile; @@ -254,27 +256,32 @@ class Notice extends Memcached_DataObject $final = common_shorten_links($content); if (Notice::contentTooLong($final)) { + // TRANS: Client exception thrown if a notice contains too many characters. throw new ClientException(_('Problem saving notice. Too long.')); } if (empty($profile)) { + // TRANS: Client exception thrown when trying to save a notice for an unknown user. throw new ClientException(_('Problem saving notice. Unknown user.')); } if (common_config('throttle', 'enabled') && !Notice::checkEditThrottle($profile_id)) { common_log(LOG_WARNING, 'Excessive posting by profile #' . $profile_id . '; throttled.'); + // TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. throw new ClientException(_('Too many notices too fast; take a breather '. 'and post again in a few minutes.')); } if (common_config('site', 'dupelimit') > 0 && !Notice::checkDupes($profile_id, $final)) { common_log(LOG_WARNING, 'Dupe posting by profile #' . $profile_id . '; throttled.'); + // TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. throw new ClientException(_('Too many duplicate messages too quickly;'. ' take a breather and post again in a few minutes.')); } if (!$profile->hasRight(Right::NEWNOTICE)) { common_log(LOG_WARNING, "Attempted post from user disallowed to post: " . $profile->nickname); + // TRANS: Client exception thrown when a user tries to post while being banned. throw new ClientException(_('You are banned from posting notices on this site.')); } @@ -341,6 +348,7 @@ class Notice extends Memcached_DataObject if (!$id) { common_log_db_error($notice, 'INSERT', __FILE__); + // TRANS: Server exception thrown when a notice cannot be saved. throw new ServerException(_('Problem saving notice.')); } @@ -367,6 +375,7 @@ class Notice extends Memcached_DataObject if ($changed) { if (!$notice->update($orig)) { common_log_db_error($notice, 'UPDATE', __FILE__); + // TRANS: Server exception thrown when a notice cannot be updated. throw new ServerException(_('Problem saving notice.')); } } @@ -878,7 +887,8 @@ class Notice extends Memcached_DataObject function saveKnownGroups($group_ids) { if (!is_array($group_ids)) { - throw new ServerException("Bad type provided to saveKnownGroups"); + // TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). + throw new ServerException(_("Bad type provided to saveKnownGroups")); } $groups = array(); @@ -976,6 +986,7 @@ class Notice extends Memcached_DataObject if (!$result) { common_log_db_error($gi, 'INSERT', __FILE__); + // TRANS: Server exception thrown when an update for a group inbox fails. throw new ServerException(_('Problem saving group inbox.')); } @@ -1081,7 +1092,9 @@ class Notice extends Memcached_DataObject if (!$id) { common_log_db_error($reply, 'INSERT', __FILE__); - throw new ServerException("Couldn't save reply for {$this->id}, {$mentioned->id}"); + // TRANS: Server exception thrown when a reply cannot be saved. + // TRANS: First arg is a notice ID, second ID is the ID of the mentioned user. + throw new ServerException(_("Couldn't save reply for {$this->id}, {$mentioned->id}")); } else { $replied[$mentioned->id] = 1; self::blow('reply:stream:%d', $mentioned->id); -- cgit v1.2.3 From e7acb45b5733e97ab9504aff5e4255a17fe5c6de Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Thu, 29 Jul 2010 12:58:48 +0200 Subject: * add string for translation with translator documentation * add FIXMEs for strings that may need i18n, but leaving decision to other dev(s) --- classes/Memcached_DataObject.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index a7fec365e..04cd6c120 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -235,6 +235,7 @@ class Memcached_DataObject extends Safe_DataObject $pkey[] = $key; $pval[] = self::valueString($this->$key); } else { + // FIXME: i18n? throw new Exception("Unknown key type $key => $type for " . $this->tableName()); } } @@ -282,6 +283,7 @@ class Memcached_DataObject extends Safe_DataObject } else if ($type == 'fulltext') { $search_engine = new MySQLSearch($this, $table); } else { + // FIXME: i18n? throw new ServerException('Unknown search type: ' . $type); } } else { @@ -527,7 +529,8 @@ class Memcached_DataObject extends Safe_DataObject } if (!$dsn) { - throw new Exception("No database name / dsn found anywhere"); + // TRANS: Exception thrown when database name or Data Source Name could not be found. + throw new Exception(_("No database name / DSN found anywhere")); } return $dsn; @@ -577,6 +580,7 @@ class Memcached_DataObject extends Safe_DataObject if ($message instanceof PEAR_Error) { $message = $message->getMessage(); } + // FIXME: i18n? throw new ServerException("[$id] DB_DataObject error [$type]: $message"); } @@ -619,9 +623,11 @@ class Memcached_DataObject extends Safe_DataObject case 'sql': case 'datetime': case 'time': + // FIXME: i18n? throw new ServerException("Unhandled DB_DataObject_Cast type passed as cacheKey value: '$v->type'"); break; default: + // FIXME: i18n? throw new ServerException("Unknown DB_DataObject_Cast type passed as cacheKey value: '$v->type'"); break; } -- cgit v1.2.3 From 5813ecada276147d120d42ce2a92343313cf0029 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Thu, 29 Jul 2010 13:01:04 +0200 Subject: * add translator documentation * mark strings for translation * add FIXME for unclear/confusing message --- classes/File.php | 20 +++++++++++++++----- classes/Group_member.php | 3 +++ classes/Local_group.php | 1 + classes/Login_token.php | 2 ++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/classes/File.php b/classes/File.php index ba8cea9d9..18ad82892 100644 --- a/classes/File.php +++ b/classes/File.php @@ -139,7 +139,8 @@ class File extends Memcached_DataObject $redir_url = $redir_data; $redir_data = array(); } else { - throw new ServerException("Can't process url '$given_url'"); + // TRANS: Server exception thrown when a URL cannot be processed. + throw new ServerException(_("Cannot process URL '$given_url'")); } // TODO: max field length if ($redir_url === $given_url || strlen($redir_url) > 255 || !$followRedirects) { @@ -169,7 +170,9 @@ class File extends Memcached_DataObject if (empty($x)) { $x = File::staticGet($file_id); if (empty($x)) { - throw new ServerException("Robin thinks something is impossible."); + // FIXME: This could possibly be a clearer message :) + // TRANS: Server exception thrown when... Robin thinks something is impossible! + throw new ServerException(_("Robin thinks something is impossible.")); } } @@ -182,6 +185,8 @@ class File extends Memcached_DataObject function isRespectsQuota($user,$fileSize) { if ($fileSize > common_config('attachments', 'file_quota')) { + // TRANS: Message given if an upload is larger than the configured maximum. + // TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. return sprintf(_('No file may be larger than %1$d bytes ' . 'and the file you sent was %2$d bytes. Try to upload a smaller version.'), common_config('attachments', 'file_quota'), $fileSize); @@ -192,6 +197,8 @@ class File extends Memcached_DataObject $this->fetch(); $total = $this->total + $fileSize; if ($total > common_config('attachments', 'user_quota')) { + // TRANS: Message given if an upload would exceed user quota. + // TRANS: %d (number) is the user quota in bytes. return sprintf(_('A file this large would exceed your user quota of %d bytes.'), common_config('attachments', 'user_quota')); } $query .= ' AND EXTRACT(month FROM file.modified) = EXTRACT(month FROM now()) and EXTRACT(year FROM file.modified) = EXTRACT(year FROM now())'; @@ -199,6 +206,8 @@ class File extends Memcached_DataObject $this->fetch(); $total = $this->total + $fileSize; if ($total > common_config('attachments', 'monthly_quota')) { + // TRANS: Message given id an upload would exceed a user's monthly quota. + // TRANS: $d (number) is the monthly user quota in bytes. return sprintf(_('A file this large would exceed your monthly quota of %d bytes.'), common_config('attachments', 'monthly_quota')); } return true; @@ -235,7 +244,8 @@ class File extends Memcached_DataObject static function path($filename) { if (!self::validFilename($filename)) { - throw new ClientException("Invalid filename"); + // TRANS: Client exception thrown if a file upload does not have a valid name. + throw new ClientException(_("Invalid filename.")); } $dir = common_config('attachments', 'dir'); @@ -249,7 +259,8 @@ class File extends Memcached_DataObject static function url($filename) { if (!self::validFilename($filename)) { - throw new ClientException("Invalid filename"); + // TRANS: Client exception thrown if a file upload does not have a valid name. + throw new ClientException(_("Invalid filename.")); } if(common_config('site','private')) { @@ -342,4 +353,3 @@ class File extends Memcached_DataObject return !empty($enclosure); } } - diff --git a/classes/Group_member.php b/classes/Group_member.php index 7b1760f76..2239461be 100644 --- a/classes/Group_member.php +++ b/classes/Group_member.php @@ -38,6 +38,7 @@ class Group_member extends Memcached_DataObject if (!$result) { common_log_db_error($member, 'INSERT', __FILE__); + // TRANS: Exception thrown when joining a group fails. throw new Exception(_("Group join failed.")); } @@ -50,6 +51,7 @@ class Group_member extends Memcached_DataObject 'profile_id' => $profile_id)); if (empty($member)) { + // TRANS: Exception thrown when trying to leave a group the user is not a member of. throw new Exception(_("Not part of group.")); } @@ -57,6 +59,7 @@ class Group_member extends Memcached_DataObject if (!$result) { common_log_db_error($member, 'INSERT', __FILE__); + // TRANS: Exception thrown when trying to leave a group fails. throw new Exception(_("Group leave failed.")); } diff --git a/classes/Local_group.php b/classes/Local_group.php index 42312ec63..ccd0125cf 100644 --- a/classes/Local_group.php +++ b/classes/Local_group.php @@ -38,6 +38,7 @@ class Local_group extends Memcached_DataObject $this->encache(); } else { common_log_db_error($local, 'UPDATE', __FILE__); + // TRANS: Server exception thrown when updating a local group fails. throw new ServerException(_('Could not update local group.')); } diff --git a/classes/Login_token.php b/classes/Login_token.php index 51dc61262..20d5d9dbc 100644 --- a/classes/Login_token.php +++ b/classes/Login_token.php @@ -73,6 +73,8 @@ class Login_token extends Memcached_DataObject if (!$result) { common_log_db_error($login_token, 'INSERT', __FILE__); + // TRANS: Exception thrown when trying creating a login token failed. + // TRANS: %s is the user nickname for which token creation failed. throw new Exception(sprintf(_('Could not create login token for %s'), $user->nickname)); } -- cgit v1.2.3 From 312c6b68654a6bc5239526c61f23636833e5b502 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Thu, 29 Jul 2010 13:18:41 +0200 Subject: * add FIXME for messages that may need i18n. * trailing whitespace removed. --- classes/Safe_DataObject.php | 71 ++++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 37 deletions(-) diff --git a/classes/Safe_DataObject.php b/classes/Safe_DataObject.php index e926cb0d5..16d7165d6 100644 --- a/classes/Safe_DataObject.php +++ b/classes/Safe_DataObject.php @@ -116,6 +116,7 @@ class Safe_DataObject extends DB_DataObject if ($this->_call($method, $params, $return)) { return $return; } else { + // FIXME: i18n? throw new Exception('Call to undefined method ' . get_class($this) . '::' . $method); } @@ -125,7 +126,7 @@ class Safe_DataObject extends DB_DataObject * Work around memory-leak bugs... * Had to copy-paste the whole function in order to patch a couple lines of it. * Would be nice if this code was better factored. - * + * * @param optional string name of database to assign / read * @param optional array structure of database, and keys * @param optional array table links @@ -136,108 +137,103 @@ class Safe_DataObject extends DB_DataObject */ function databaseStructure() { - global $_DB_DATAOBJECT; - - // Assignment code - + + // Assignment code + if ($args = func_get_args()) { - + if (count($args) == 1) { - + // this returns all the tables and their structure.. if (!empty($_DB_DATAOBJECT['CONFIG']['debug'])) { $this->debug("Loading Generator as databaseStructure called with args",1); } - + $x = new DB_DataObject; $x->_database = $args[0]; $this->_connect(); $DB = &$_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5]; - + $tables = $DB->getListOf('tables'); - class_exists('DB_DataObject_Generator') ? '' : + class_exists('DB_DataObject_Generator') ? '' : require_once 'DB/DataObject/Generator.php'; - + foreach($tables as $table) { $y = new DB_DataObject_Generator; $y->fillTableSchema($x->_database,$table); } - return $_DB_DATAOBJECT['INI'][$x->_database]; + return $_DB_DATAOBJECT['INI'][$x->_database]; } else { - + $_DB_DATAOBJECT['INI'][$args[0]] = isset($_DB_DATAOBJECT['INI'][$args[0]]) ? $_DB_DATAOBJECT['INI'][$args[0]] + $args[1] : $args[1]; - + if (isset($args[1])) { $_DB_DATAOBJECT['LINKS'][$args[0]] = isset($_DB_DATAOBJECT['LINKS'][$args[0]]) ? $_DB_DATAOBJECT['LINKS'][$args[0]] + $args[2] : $args[2]; } return true; } - + } - - - + if (!$this->_database) { $this->_connect(); } - + // loaded already? if (!empty($_DB_DATAOBJECT['INI'][$this->_database])) { - + // database loaded - but this is table is not available.. if ( - empty($_DB_DATAOBJECT['INI'][$this->_database][$this->__table]) + empty($_DB_DATAOBJECT['INI'][$this->_database][$this->__table]) && !empty($_DB_DATAOBJECT['CONFIG']['proxy']) ) { if (!empty($_DB_DATAOBJECT['CONFIG']['debug'])) { $this->debug("Loading Generator to fetch Schema",1); } - class_exists('DB_DataObject_Generator') ? '' : + class_exists('DB_DataObject_Generator') ? '' : require_once 'DB/DataObject/Generator.php'; - - + + $x = new DB_DataObject_Generator; $x->fillTableSchema($this->_database,$this->__table); } return true; } - - + if (empty($_DB_DATAOBJECT['CONFIG'])) { DB_DataObject::_loadConfig(); } - + // if you supply this with arguments, then it will take those // as the database and links array... - + $schemas = isset($_DB_DATAOBJECT['CONFIG']['schema_location']) ? array("{$_DB_DATAOBJECT['CONFIG']['schema_location']}/{$this->_database}.ini") : array() ; - + if (isset($_DB_DATAOBJECT['CONFIG']["ini_{$this->_database}"])) { $schemas = is_array($_DB_DATAOBJECT['CONFIG']["ini_{$this->_database}"]) ? $_DB_DATAOBJECT['CONFIG']["ini_{$this->_database}"] : explode(PATH_SEPARATOR,$_DB_DATAOBJECT['CONFIG']["ini_{$this->_database}"]); } - - + /* BEGIN CHANGED FROM UPSTREAM */ $_DB_DATAOBJECT['INI'][$this->_database] = $this->parseIniFiles($schemas); /* END CHANGED FROM UPSTREAM */ - // now have we loaded the structure.. - + // now have we loaded the structure.. + if (!empty($_DB_DATAOBJECT['INI'][$this->_database][$this->__table])) { return true; } // - if not try building it.. if (!empty($_DB_DATAOBJECT['CONFIG']['proxy'])) { - class_exists('DB_DataObject_Generator') ? '' : + class_exists('DB_DataObject_Generator') ? '' : require_once 'DB/DataObject/Generator.php'; - + $x = new DB_DataObject_Generator; $x->fillTableSchema($this->_database,$this->__table); // should this fail!!!??? @@ -245,7 +241,8 @@ class Safe_DataObject extends DB_DataObject } $this->debug("Cant find database schema: {$this->_database}/{$this->__table} \n". "in links file data: " . print_r($_DB_DATAOBJECT['INI'],true),"databaseStructure",5); - // we have to die here!! - it causes chaos if we dont (including looping forever!) + // we have to die here!! - it causes chaos if we don't (including looping forever!) + // FIXME: i18n? $this->raiseError( "Unable to load schema for database and table (turn debugging up to 5 for full error message)", DB_DATAOBJECT_ERROR_INVALIDARGS, PEAR_ERROR_DIE); return false; } @@ -271,7 +268,7 @@ class Safe_DataObject extends DB_DataObject if (file_exists($ini) && is_file($ini)) { $data = array_merge($data, parse_ini_file($ini, true)); - if (!empty($_DB_DATAOBJECT['CONFIG']['debug'])) { + if (!empty($_DB_DATAOBJECT['CONFIG']['debug'])) { if (!is_readable ($ini)) { $this->debug("ini file is not readable: $ini","databaseStructure",1); } else { -- cgit v1.2.3 From 125ff142e871d4cde780335d6a4f16d5f59bca83 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Thu, 29 Jul 2010 13:36:08 +0200 Subject: * mark a few message for translation * add translator documentation --- classes/Message.php | 3 +++ classes/Profile.php | 8 ++++++-- classes/Remote_profile.php | 3 ++- classes/Status_network.php | 1 + classes/Subscription.php | 15 +++++++++++---- classes/User.php | 4 ++-- classes/User_group.php | 5 +++++ 7 files changed, 30 insertions(+), 9 deletions(-) diff --git a/classes/Message.php b/classes/Message.php index 16d0c60b3..fa0c5b318 100644 --- a/classes/Message.php +++ b/classes/Message.php @@ -42,6 +42,7 @@ class Message extends Memcached_DataObject $sender = Profile::staticGet('id', $from); if (!$sender->hasRight(Right::NEWMESSAGE)) { + // TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. throw new ClientException(_('You are banned from sending direct messages.')); } @@ -58,6 +59,7 @@ class Message extends Memcached_DataObject if (!$result) { common_log_db_error($msg, 'INSERT', __FILE__); + // TRANS: Message given when a message could not be stored on the server. return _('Could not insert message.'); } @@ -68,6 +70,7 @@ class Message extends Memcached_DataObject if (!$result) { common_log_db_error($msg, 'UPDATE', __FILE__); + // TRANS: Message given when a message could not be updated on the server. return _('Could not update message with new URI.'); } diff --git a/classes/Profile.php b/classes/Profile.php index a303469e9..ae6a37602 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -735,14 +735,18 @@ class Profile extends Memcached_DataObject 'role' => $name)); if (empty($role)) { - throw new Exception('Cannot revoke role "'.$name.'" for user #'.$this->id.'; does not exist.'); + // TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. + // TRANS: %1$s is the role name, %2$s is the user ID. + throw new Exception(sprintf(_('Cannot revoke role "%s" for user #%2$s; does not exist.'),$name, $this->id)); } $result = $role->delete(); if (!$result) { common_log_db_error($role, 'DELETE', __FILE__); - throw new Exception('Cannot revoke role "'.$name.'" for user #'.$this->id.'; database error.'); + // TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. + // TRANS: %1$s is the role name, %2$s is the user ID. + throw new Exception(sprintf(_('Cannot revoke role "%1$s" for user #%2$s; database error.'),$name, $this->id)); } return true; diff --git a/classes/Remote_profile.php b/classes/Remote_profile.php index 0a1676a6a..77bfbcd99 100644 --- a/classes/Remote_profile.php +++ b/classes/Remote_profile.php @@ -50,7 +50,8 @@ class Remote_profile extends Memcached_DataObject if ($profile) { return $profile->hasright($right); } else { - throw new Exception("Missing profile"); + // TRANS: Exception thrown when a right for a non-existing user profile is checked. + throw new Exception(_("Missing profile.")); } } } diff --git a/classes/Status_network.php b/classes/Status_network.php index a0f3ba5f7..5680c1458 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -342,6 +342,7 @@ class Status_network extends Safe_DataObject $id = $snt->insert(); if (!$id) { + // TRANS: Exception thrown when a tag cannot be saved. throw new Exception(_("Unable to save tag.")); } } diff --git a/classes/Subscription.php b/classes/Subscription.php index 0679c0925..0225ed4df 100644 --- a/classes/Subscription.php +++ b/classes/Subscription.php @@ -71,14 +71,17 @@ class Subscription extends Memcached_DataObject } if (!$subscriber->hasRight(Right::SUBSCRIBE)) { + // TRANS: Exception thrown when trying to subscribe while being banned from subscribing. throw new Exception(_('You have been banned from subscribing.')); } if (self::exists($subscriber, $other)) { + // TRANS: Exception thrown when trying to subscribe while already subscribed. throw new Exception(_('Already subscribed!')); } if ($other->hasBlocked($subscriber)) { + // TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. throw new Exception(_('User has blocked you.')); } @@ -129,6 +132,7 @@ class Subscription extends Memcached_DataObject if (!$result) { common_log_db_error($sub, 'INSERT', __FILE__); + // TRANS: Exception thrown when a subscription could not be stored on the server. throw new Exception(_('Could not save subscription.')); } @@ -160,17 +164,18 @@ class Subscription extends Memcached_DataObject * Cancel a subscription * */ - function cancel($subscriber, $other) { if (!self::exists($subscriber, $other)) { + // TRANS: Exception thrown when trying to unsibscribe without a subscription. throw new Exception(_('Not subscribed!')); } // Don't allow deleting self subs if ($subscriber->id == $other->id) { - throw new Exception(_('Couldn\'t delete self-subscription.')); + // TRANS: Exception thrown when trying to unsubscribe a user from themselves. + throw new Exception(_('Could not delete self-subscription.')); } if (Event::handle('StartUnsubscribe', array($subscriber, $other))) { @@ -197,7 +202,8 @@ class Subscription extends Memcached_DataObject if (!$result) { common_log_db_error($token, 'DELETE', __FILE__); - throw new Exception(_('Couldn\'t delete subscription OMB token.')); + // TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. + throw new Exception(_('Could not delete subscription OMB token.')); } } else { common_log(LOG_ERR, "Couldn't find credentials with token {$token->tok}"); @@ -208,7 +214,8 @@ class Subscription extends Memcached_DataObject if (!$result) { common_log_db_error($sub, 'DELETE', __FILE__); - throw new Exception(_('Couldn\'t delete subscription.')); + // TRANS: Exception thrown when a subscription could not be deleted on the server. + throw new Exception(_('Could not delete subscription.')); } self::blow('user:notices_with_friends:%d', $subscriber->id); diff --git a/classes/User.php b/classes/User.php index cf8d4527b..8033229c4 100644 --- a/classes/User.php +++ b/classes/User.php @@ -360,11 +360,12 @@ class User extends Memcached_DataObject __FILE__); } else { $notice = Notice::saveNew($welcomeuser->id, + // TRANS: Notice given on user registration. + // TRANS: %1$s is the sitename, $2$s is the registering user's nickname. sprintf(_('Welcome to %1$s, @%2$s!'), common_config('site', 'name'), $user->nickname), 'system'); - } } @@ -375,7 +376,6 @@ class User extends Memcached_DataObject } // Things we do when the email changes - function emailChanged() { diff --git a/classes/User_group.php b/classes/User_group.php index e04c46626..0b83cfd47 100644 --- a/classes/User_group.php +++ b/classes/User_group.php @@ -492,6 +492,7 @@ class User_group extends Memcached_DataObject if (!$result) { common_log_db_error($group, 'INSERT', __FILE__); + // TRANS: Server exception thrown when creating a group failed. throw new ServerException(_('Could not create group.')); } @@ -501,6 +502,7 @@ class User_group extends Memcached_DataObject $result = $group->update($orig); if (!$result) { common_log_db_error($group, 'UPDATE', __FILE__); + // TRANS: Server exception thrown when updating a group URI failed. throw new ServerException(_('Could not set group URI.')); } } @@ -508,6 +510,7 @@ class User_group extends Memcached_DataObject $result = $group->setAliases($aliases); if (!$result) { + // TRANS: Server exception thrown when creating group aliases failed. throw new ServerException(_('Could not create aliases.')); } @@ -522,6 +525,7 @@ class User_group extends Memcached_DataObject if (!$result) { common_log_db_error($member, 'INSERT', __FILE__); + // TRANS: Server exception thrown when setting group membership failed. throw new ServerException(_('Could not set group membership.')); } @@ -536,6 +540,7 @@ class User_group extends Memcached_DataObject if (!$result) { common_log_db_error($local_group, 'INSERT', __FILE__); + // TRANS: Server exception thrown when saving local group information failed. throw new ServerException(_('Could not save local group info.')); } } -- cgit v1.2.3 From a0b35f35b4de2311cedce69da04724b5e730ff57 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Thu, 29 Jul 2010 20:29:48 +0200 Subject: Localisation updates from http://translatewiki.net --- locale/af/LC_MESSAGES/statusnet.po | 174 ++++++++++++++++++------- locale/ar/LC_MESSAGES/statusnet.po | 170 ++++++++++++++++++------- locale/arz/LC_MESSAGES/statusnet.po | 170 ++++++++++++++++++------- locale/bg/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/br/LC_MESSAGES/statusnet.po | 172 ++++++++++++++++++------- locale/ca/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/cs/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/de/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/el/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/en_GB/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/es/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/fa/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/fi/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/fr/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/ga/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/gl/LC_MESSAGES/statusnet.po | 199 ++++++++++++++++++++--------- locale/he/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/hsb/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/ia/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/is/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/it/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/ja/LC_MESSAGES/statusnet.po | 170 ++++++++++++++++++------- locale/ko/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/mk/LC_MESSAGES/statusnet.po | 232 +++++++++++++++++++++++----------- locale/nb/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/nl/LC_MESSAGES/statusnet.po | 219 ++++++++++++++++++++++---------- locale/nn/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/pl/LC_MESSAGES/statusnet.po | 208 +++++++++++++++++++++--------- locale/pt/LC_MESSAGES/statusnet.po | 217 +++++++++++++++++++++---------- locale/pt_BR/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/ru/LC_MESSAGES/statusnet.po | 178 +++++++++++++++++++------- locale/statusnet.pot | 162 ++++++++++++++++++------ locale/sv/LC_MESSAGES/statusnet.po | 171 ++++++++++++++++++------- locale/te/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/tr/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/uk/LC_MESSAGES/statusnet.po | 203 ++++++++++++++++++++--------- locale/vi/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/zh_CN/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- locale/zh_TW/LC_MESSAGES/statusnet.po | 169 ++++++++++++++++++------- 39 files changed, 5075 insertions(+), 1817 deletions(-) diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po index 41198d0aa..4a80ba662 100644 --- a/locale/af/LC_MESSAGES/statusnet.po +++ b/locale/af/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:32+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:20:53+0000\n" "Language-Team: Afrikaans\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: af\n" "X-Message-Group: out-statusnet\n" @@ -1319,7 +1319,8 @@ msgstr "Ongeldige alias: \"%s\"" msgid "Could not update group." msgstr "Dit was nie moontlik om die groep by te werk nie." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Dit was nie moontlik om die aliasse te skep nie." @@ -4119,7 +4120,8 @@ msgstr "" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "" @@ -4569,156 +4571,242 @@ msgstr "Weergawe" msgid "Author(s)" msgstr "Outeur(s)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ongeldige grootte." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Nie lid van die groep nie." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "" -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Hierdie gebruiker het nie 'n profiel nie." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Dit was nie moontlik om u ontwerp-instellings te stoor nie." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "" -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "" +"Dit was nie moontlik om die boodskap van u gunstelinge te verwyder nie." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "" +"Dit was nie moontlik om die boodskap van u gunstelinge te verwyder nie." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "" +"Dit was nie moontlik om die boodskap van u gunstelinge te verwyder nie." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Welkom by %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Kon nie die groep skep nie." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "" -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "" diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po index 74054d335..bfcefa70d 100644 --- a/locale/ar/LC_MESSAGES/statusnet.po +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:34+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:20:54+0000\n" "Language-Team: Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ar\n" "X-Message-Group: out-statusnet\n" @@ -1311,7 +1311,8 @@ msgstr "كنية غير صالحة: \"%s\"" msgid "Could not update group." msgstr "تعذر تحديث المجموعة." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "تعذّر إنشاء الكنى." @@ -4129,7 +4130,8 @@ msgstr "اذف إعدادت الموقع" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "تعذّر حفظ الاشتراك." @@ -4581,159 +4583,241 @@ msgstr "النسخة" msgid "Author(s)" msgstr "المؤلف(ون)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "حجم غير صالح." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "الانضمام للمجموعة فشل." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "ليس جزءا من المجموعة." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "ترك المجموعة فشل." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "تعذر تحديث المجموعة المحلية." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "لم يمكن إنشاء توكن الولوج ل%s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "أنت ممنوع من إرسال رسائل مباشرة." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "تعذّر إدراج الرسالة." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "خطأ قاعدة البيانات أثناء إدخال المستخدم OAuth app" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "مشكلة في حفظ الإشعار. طويل جدًا." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "مشكلة في حفظ الإشعار. مستخدم غير معروف." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "مشكلة أثناء حفظ الإشعار." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "مشكلة أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تي @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "ليس للمستخدم ملف شخصي." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "تعذّر حفظ إشعار الموقع." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "مُشترك أصلا!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "لقد منعك المستخدم." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "غير مشترك!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "لم يمكن حذف اشتراك ذاتي." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "تعذّر حذف الاشتراك." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "تعذّر حذف الاشتراك." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "أهلا بكم في %1$s يا @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "تعذّر إنشاء المجموعة." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "تعذّر ضبط عضوية المجموعة." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "تعذّر ضبط عضوية المجموعة." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "تعذّر حفظ الاشتراك." diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po index 557187d16..918b90fe4 100644 --- a/locale/arz/LC_MESSAGES/statusnet.po +++ b/locale/arz/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:36+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:20:56+0000\n" "Language-Team: Egyptian Spoken Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: arz\n" "X-Message-Group: out-statusnet\n" @@ -1330,7 +1330,8 @@ msgstr "كنيه غير صالحة: \"%s\"" msgid "Could not update group." msgstr "تعذر تحديث المجموعه." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "تعذّر إنشاء الكنى." @@ -4157,7 +4158,8 @@ msgstr "اذف إعدادت الموقع" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "تعذّر حفظ الاشتراك." @@ -4609,160 +4611,242 @@ msgstr "النسخه" msgid "Author(s)" msgstr "المؤلف/ين" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "حجم غير صالح." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "دخول الجروپ فشل." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "مش جزء من الجروپ." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "الخروج من الجروپ فشل." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "تعذر تحديث المجموعه." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "ما نفعش يتعمل امارة تسجيل دخول لـ %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "أنت ممنوع من إرسال رسائل مباشره." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "تعذّر إدراج الرساله." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "خطأ قاعده البيانات أثناء إدخال المستخدم OAuth app" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "مشكله فى حفظ الإشعار. طويل جدًا." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "مشكله فى حفظ الإشعار. مستخدم غير معروف." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "مشكله أثناء حفظ الإشعار." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "مشكله أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تى @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "ليس للمستخدم ملف شخصى." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "مشكله أثناء حفظ الإشعار." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "مُشترك أصلا!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "لقد منعك المستخدم." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "غير مشترك!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "ما نفعش يمسح الاشتراك الشخصى." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "تعذّر حذف الاشتراك." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "تعذّر حذف الاشتراك." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "أهلا بكم فى %1$s يا @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "تعذّر إنشاء المجموعه." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "تعذّر ضبط عضويه المجموعه." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "تعذّر ضبط عضويه المجموعه." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "تعذّر حفظ الاشتراك." diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po index 9b1d2862b..52d145239 100644 --- a/locale/bg/LC_MESSAGES/statusnet.po +++ b/locale/bg/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:38+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:20:58+0000\n" "Language-Team: Bulgarian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: bg\n" "X-Message-Group: out-statusnet\n" @@ -1334,7 +1334,8 @@ msgstr "Неправилен псевдоним: \"%s\"" msgid "Could not update group." msgstr "Грешка при обновяване на групата." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "Грешка при отбелязване като любима." @@ -4279,7 +4280,8 @@ msgstr "Запазване настройките на сайта" msgid "You are not subscribed to that profile." msgstr "Не сте абонирани за този профил" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "Грешка при създаване на нов абонамент." @@ -4751,89 +4753,126 @@ msgstr "Версия" msgid "Author(s)" msgstr "Автор(и)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Неправилен размер." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Профил на групата" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Грешка при обновяване на групата." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Профил на групата" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Грешка при обновяване на групата." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Грешка при отбелязване като любима." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "Грешка при изпращане на прякото съобщение" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Грешка при вмъкване на съобщението." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Грешка при обновяване на бележката с нов URL-адрес." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Грешка в базата от данни — отговор при вмъкването: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Проблем при записване на бележката." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Грешка при записване на бележката. Непознат потребител." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Твърде много бележки за кратко време. Спрете, поемете дъх и публикувайте " "отново след няколко минути." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -4842,83 +4881,127 @@ msgstr "" "Твърде много бележки за кратко време. Спрете, поемете дъх и публикувайте " "отново след няколко минути." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Забранено ви е да публикувате бележки в този сайт." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Проблем при записване на бележката." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Проблем при записване на бележката." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Потребителят няма профил." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Грешка при записване настройките за Twitter" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." msgstr "Потребителят е забранил да се абонирате за него." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Потребителят ви е блокирал." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Не сте абонирани!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Грешка при изтриване на абонамента." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Грешка при изтриване на абонамента." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Грешка при изтриване на абонамента." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Добре дошли в %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Грешка при създаване на групата." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Грешка при създаване на нов абонамент." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "Грешка при създаване на нов абонамент." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Грешка при създаване на нов абонамент." diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po index bacbc9c1e..b6272905e 100644 --- a/locale/br/LC_MESSAGES/statusnet.po +++ b/locale/br/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:40+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:20:59+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: out-statusnet\n" @@ -1313,7 +1313,8 @@ msgstr "Alias fall : \"%s\"" msgid "Could not update group." msgstr "Diposubl eo hizivaat ar strollad." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Diposubl eo krouiñ an aliasoù." @@ -4136,7 +4137,8 @@ msgstr "Enrollañ an arventennoù moned" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "" @@ -4588,157 +4590,239 @@ msgstr "Stumm" msgid "Author(s)" msgstr "Aozer(ien)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ment direizh." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "C'hwitet eo bet an enskrivadur d'ar strollad." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "N'eo ezel eus strollad ebet." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "C'hwitet eo bet an disenskrivadur d'ar strollad." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "" -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Diposubl eo ensoc'hañ ur gemenadenn" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Dibosupl eo hizivaat ar gemennadenn gant un URI nevez." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Ur gudenn 'zo bet pa veze enrollet an ali." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Ur gudenn 'zo bet pa veze enrollet boest degemer ar strollad." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "An implijer-mañ n'eus profil ebet dezhañ." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Diposubl eo enrollañ ali al lec'hienn." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Nac'het ez eus bet deoc'h en em goumanantiñ." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Koumanantet dija !" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "An implijer-mañ en deus stanket ac'hanoc'h." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Nann-koumanantet !" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." -msgstr "" +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." +msgstr "Dibosupl eo paouez gant ar c'houmanant." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Diposubl eo dilemel ar postel kadarnadur." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Dibosupl eo paouez gant ar c'houmanant." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Deuet mat da %1$s, @%2$s !" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Dibosupl eo krouiñ ar strollad." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Dibosupl eo termeniñ URI ar strollad." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Dibosupl eo en em enskrivañ d'ar strollad." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Dibosupl eo enrollañ titouroù ar strollad lec'hel." diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po index 0ba1506c0..b0451a360 100644 --- a/locale/ca/LC_MESSAGES/statusnet.po +++ b/locale/ca/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:42+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:01+0000\n" "Language-Team: Catalan\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ca\n" "X-Message-Group: out-statusnet\n" @@ -1348,7 +1348,8 @@ msgstr "L'àlies no és vàlid «%s»" msgid "Could not update group." msgstr "No s'ha pogut actualitzar el grup." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "No s'han pogut crear els àlies." @@ -4334,7 +4335,8 @@ msgstr "Desa els paràmetres de les instantànies" msgid "You are not subscribed to that profile." msgstr "No estàs subscrit a aquest perfil." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "No s'ha pogut guardar la subscripció." @@ -4825,7 +4827,14 @@ msgstr "Versió" msgid "Author(s)" msgstr "Autoria" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4834,79 +4843,109 @@ msgstr "" "Cap fitxer pot ser major de %d bytes i el fitxer que heu enviat era de %d " "bytes. Proveu de pujar una versió de mida menor." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Un fitxer d'aquesta mida excediria la vostra quota d'usuari de %d bytes." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" "Un fitxer d'aquesta mida excediria la vostra quota mensual de %d bytes." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "La mida no és vàlida." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "No s'ha pogut unir al grup." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "No s'és part del grup." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "La sortida del grup ha fallat." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "No s'ha pogut actualitzar el grup local." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "No s'ha pogut crear un testimoni d'inici de sessió per a %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Se us ha bandejat enviar missatges directes." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "No s'ha pogut inserir el missatge." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "No s'ha pogut inserir el missatge amb la nova URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" "S'ha produït un error de la base de dades en inserir una etiqueta de " "coixinet (%): %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "S'ha produït un problema en desar l'avís. És massa llarg." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "S'ha produït un problema en desar l'avís. Usuari desconegut." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Massa avisos massa ràpid; pren un respir i publica de nou en uns minuts." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4914,76 +4953,122 @@ msgstr "" "Massa missatges duplicats en massa poc temps; preneu un respir i torneu a " "enviar en uns minuts." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Ha estat bandejat de publicar avisos en aquest lloc." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "S'ha produït un problema en desar l'avís." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "S'ha produït un problema en desar la safata d'entrada del grup." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "L'usuari no té perfil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "No s'ha pogut desar l'avís del lloc." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Se us ha banejat la subscripció." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Ja hi esteu subscrit!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Un usuari t'ha bloquejat." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "No hi esteu subscrit!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "No s'ha pogut eliminar l'autosubscripció." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "No s'ha pogut eliminar el testimoni OMB de la subscripció." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "No s'ha pogut eliminar la subscripció." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Us donem la benvinguda a %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "No s'ha pogut crear el grup." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "No es pot definir l'URI del grup." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "No s'ha pogut establir la pertinença d'aquest grup." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "No s'ha pogut desar la informació del grup local." diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po index 814d6a108..dd2630eaa 100644 --- a/locale/cs/LC_MESSAGES/statusnet.po +++ b/locale/cs/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:43+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:03+0000\n" "Language-Team: Czech\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: cs\n" "X-Message-Group: out-statusnet\n" @@ -1378,7 +1378,8 @@ msgstr "Neplatná adresa '%s'" msgid "Could not update group." msgstr "Nelze aktualizovat uživatele" -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "Nelze uložin informace o obrázku" @@ -4309,7 +4310,8 @@ msgstr "Nastavení" msgid "You are not subscribed to that profile." msgstr "Neodeslal jste nám profil" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "Nelze vytvořit odebírat" @@ -4790,170 +4792,251 @@ msgstr "Osobní" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Neplatná velikost" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Žádné takové oznámení." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Nelze aktualizovat uživatele" -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Žádné takové oznámení." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Nelze aktualizovat uživatele" -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Nelze uložin informace o obrázku" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Chyba v DB při vkládání odpovědi: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Problém při ukládání sdělení" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "Problém při ukládání sdělení" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problém při ukládání sdělení" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Problém při ukládání sdělení" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Uživatel nemá profil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Problém při ukládání sdělení" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 #, fuzzy msgid "User has blocked you." msgstr "Uživatel nemá profil." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Nepřihlášen!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Nelze smazat odebírání" -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Nelze smazat odebírání" -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Nelze smazat odebírání" -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 #, fuzzy msgid "Could not create group." msgstr "Nelze uložin informace o obrázku" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Nelze vytvořit odebírat" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "Nelze vytvořit odebírat" -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Nelze vytvořit odebírat" diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po index dc4d0807e..f433c2163 100644 --- a/locale/de/LC_MESSAGES/statusnet.po +++ b/locale/de/LC_MESSAGES/statusnet.po @@ -16,12 +16,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:45+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:04+0000\n" "Language-Team: German\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: out-statusnet\n" @@ -1357,7 +1357,8 @@ msgstr "Ungültiges Stichwort: „%s“" msgid "Could not update group." msgstr "Konnte Gruppe nicht aktualisieren." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Konnte keinen Favoriten erstellen." @@ -4352,7 +4353,8 @@ msgstr "Snapshot-Einstellungen speichern" msgid "You are not subscribed to that profile." msgstr "Du hast dieses Profil nicht abonniert." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Konnte Abonnement nicht erstellen." @@ -4842,7 +4844,14 @@ msgstr "Version" msgid "Author(s)" msgstr "Autor(en)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4851,78 +4860,108 @@ msgstr "" "Keine Datei darf größer als %d Bytes sein und die Datei die du verschicken " "wolltest ist %d Bytes groß. Bitte eine kleinere Datei hoch laden." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "Eine Datei dieser Größe überschreitet deine User Quota von %d Byte." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" "Eine Datei dieser Größe würde deine monatliche Quota von %d Byte " "überschreiten." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ungültige Größe." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Konnte Gruppe nicht beitreten" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Nicht Mitglied der Gruppe" -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Konnte Gruppe nicht verlassen" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Konnte Gruppe nicht aktualisieren." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Konnte keinen Login-Token für %s erstellen" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Direktes senden von Nachrichten wurde blockiert" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Konnte Nachricht nicht einfügen." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Konnte Nachricht nicht mit neuer URI versehen." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Datenbankfehler beim Einfügen des Hashtags: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problem bei Speichern der Nachricht. Sie ist zu lang." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problem bei Speichern der Nachricht. Unbekannter Benutzer." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Zu schnell zu viele Nachrichten; atme kurz durch und schicke sie erneut in " "ein paar Minuten ab." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4930,78 +4969,124 @@ msgstr "" "Zu schnell zu viele Nachrichten; atme kurz durch und schicke sie erneut in " "ein paar Minuten ab." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" "Du wurdest für das Schreiben von Nachrichten auf dieser Seite gesperrt." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problem bei Speichern der Nachricht." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problem bei Speichern der Nachricht." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Benutzer hat kein Profil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Konnte Seitenbenachrichtigung nicht speichern" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Dieser Benutzer erlaubt dir nicht ihn zu abonnieren." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Bereits abonniert!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Dieser Benutzer hat dich blockiert." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Nicht abonniert!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Konnte Abonnement nicht löschen." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Konnte OMB-Abonnement nicht löschen." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Konnte Abonnement nicht löschen." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Herzlich willkommen bei %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Konnte Gruppe nicht erstellen." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Konnte die Gruppen URI nicht setzen." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Konnte Gruppenmitgliedschaft nicht setzen." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Konnte die lokale Gruppen Information nicht speichern." diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po index 06a6b82c6..e54a24f99 100644 --- a/locale/el/LC_MESSAGES/statusnet.po +++ b/locale/el/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:46+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:06+0000\n" "Language-Team: Greek\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: el\n" "X-Message-Group: out-statusnet\n" @@ -1357,7 +1357,8 @@ msgstr "" msgid "Could not update group." msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "Αδύνατη η αποθήκευση του προφίλ." @@ -4259,7 +4260,8 @@ msgstr "Ρυθμίσεις OpenID" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ" @@ -4718,165 +4720,246 @@ msgstr "Προσωπικά" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Μήνυμα" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Σφάλμα στη βάση δεδομένων κατά την εισαγωγή hashtag: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Προφίλ χρήστη" + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Αδύνατη η αποθήκευση του προφίλ." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "" -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Απέτυχε η συνδρομή." -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Απέτυχε η διαγραφή συνδρομής." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Απέτυχε η διαγραφή συνδρομής." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Απέτυχε η διαγραφή συνδρομής." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Δεν ήταν δυνατή η δημιουργία ομάδας." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ" -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ" diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index 122222fb8..d98905db6 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:48+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:07+0000\n" "Language-Team: British English\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: en-gb\n" "X-Message-Group: out-statusnet\n" @@ -1340,7 +1340,8 @@ msgstr "Invalid alias: \"%s\"" msgid "Could not update group." msgstr "Could not update group." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Could not create aliases" @@ -4258,7 +4259,8 @@ msgstr "Save snapshot settings" msgid "You are not subscribed to that profile." msgstr "You are not subscribed to that profile." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Could not save subscription." @@ -4734,82 +4736,119 @@ msgstr "Version" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Invalid size." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Group join failed." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Not part of group." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Group leave failed." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Could not update local group." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Could not create login token for %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "You are banned from sending direct messages." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Could not insert message." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Could not update message with new URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Database error inserting hashtag: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problem saving notice. Too long." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problem saving notice. Unknown user." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Too many notices too fast; take a breather and post again in a few minutes." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4817,77 +4856,123 @@ msgstr "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "You are banned from posting notices on this site." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problem saving notice." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problem saving group inbox." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "User has no profile." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Unable to save site notice." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "You have been banned from subscribing." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "User has blocked you." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Not subscribed!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Couldn't delete self-subscription." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Couldn't delete subscription OMB token." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Couldn't delete subscription." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Welcome to %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Could not create group." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Could not set group URI." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Could not set group membership." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Could not save local group info." diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index f29928d07..cc870e85f 100644 --- a/locale/es/LC_MESSAGES/statusnet.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:50+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:09+0000\n" "Language-Team: Spanish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: out-statusnet\n" @@ -1350,7 +1350,8 @@ msgstr "Alias inválido: \"%s\"" msgid "Could not update group." msgstr "No se pudo actualizar el grupo." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "No fue posible crear alias." @@ -4341,7 +4342,8 @@ msgstr "Guardar la configuración de instantáneas" msgid "You are not subscribed to that profile." msgstr "No te has suscrito a ese perfil." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "No se ha podido guardar la suscripción." @@ -4831,7 +4833,14 @@ msgstr "Versión" msgid "Author(s)" msgstr "Autor(es)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4840,77 +4849,107 @@ msgstr "" "No puede haber un archivo de tamaño mayor a %d bytes y el archivo subido es " "de %d bytes. Por favor, intenta subir una versión más ligera." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Un archivo tan grande podría sobrepasar tu cuota de usuario de %d bytes." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Un archivo tan grande podría sobrepasar tu cuota mensual de %d bytes." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Tamaño inválido." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Ha fallado la acción de unirse el grupo" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "No es parte del grupo." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Ha fallado la acción de abandonar el grupo" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "No se pudo actualizar el grupo local." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "No se pudo crear el token de acceso para %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Se te ha inhabilitado para enviar mensajes directos." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "No se pudo insertar mensaje." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "No se pudo actualizar mensaje con nuevo URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Error de la BD al insertar la etiqueta clave: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Ha habido un problema al guardar el mensaje. Es muy largo." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Ha habido un problema al guardar el mensaje. Usuario desconocido." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Demasiados avisos demasiado rápido; para y publicar nuevamente en unos " "minutos." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4918,77 +4957,123 @@ msgstr "" "Muchos mensajes, enviados muy rápido; espera un poco e intenta publicar " "pasados unos minutos." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Tienes prohibido publicar avisos en este sitio." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Hubo un problema al guardar el aviso." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Hubo un problema al guarda la bandeja de entrada del grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "El usuario no tiene un perfil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "No se pudo guarda el aviso del sitio." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Se te ha prohibido la suscripción." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "¡Ya te has suscrito!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "El usuario te ha bloqueado." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "¡No estás suscrito!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "No se pudo eliminar la auto-suscripción." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "No se pudo eliminar el token OMB de suscripción." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "No se pudo eliminar la suscripción." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Bienvenido a %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "No se pudo crear grupo." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "No se pudo configurar el URI del grupo." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "No se pudo configurar la membresía del grupo." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "No se ha podido guardar la información del grupo local." diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po index df0d3afb7..4bd582429 100644 --- a/locale/fa/LC_MESSAGES/statusnet.po +++ b/locale/fa/LC_MESSAGES/statusnet.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:53+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:14+0000\n" "Last-Translator: Ahmad Sufi Mahmudi\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" "X-Language-Code: fa\n" "X-Message-Group: out-statusnet\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" #. TRANS: Page title @@ -1340,7 +1340,8 @@ msgstr "نام‌مستعار غیر مجاز: «%s»" msgid "Could not update group." msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "نمی‌توان نام‌های مستعار را ساخت." @@ -4290,7 +4291,8 @@ msgstr "ذخیرهٔ تنظیمات تصویر لحظه‌ای" msgid "You are not subscribed to that profile." msgstr "شما مشترک آن نمایه نیستید." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "نمی‌توان اشتراک را ذخیره کرد." @@ -4768,7 +4770,14 @@ msgstr "نسخه" msgid "Author(s)" msgstr "مؤلف(ها)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4777,79 +4786,109 @@ msgstr "" "هیچ پرونده‌ای نباید بزرگ‌تر از %d بایت باشد و پرونده‌ای که شما فرستادید %d بایت " "بود. بارگذاری یک نسخهٔ کوچک‌تر را امتحان کنید." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "یک پرونده با این حجم زیاد می‌تواند از سهمیهٔ کاربری شما از %d بایت بگذرد." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" "یک پرونده با این حجم زیاد می‌تواند از سهمیهٔ کاربری ماهانهٔ شما از %d بایت " "بگذرد." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "اندازه‌ی نادرست" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "پیوستن به گروه شکست خورد." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "بخشی از گروه نیست." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "ترک کردن گروه شکست خورد." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "نمی‌توان گروه محلی را به‌هنگام‌سازی کرد." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "نمی‌توان رمز ورود را برای %s ایجاد کرد" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "شما از فرستادن پیام مستقیم مردود شده اید." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "پیغام نمی تواند درج گردد" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "هنگام افزودن برچسب خطا در پایگاه داده رخ داد: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "مشکل در ذخیره کردن پیام. بسیار طولانی." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "مشکل در ذخیره کردن پیام. کاربر نا شناخته." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "تعداد زیادی پیام و خیلی سریع فرستاده شده‌اند؛ استراحت کنید و دقایقی دیگر " "دوباره بفرستید." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4857,77 +4896,123 @@ msgstr "" "تعداد زیاد پیام های دو نسخه ای و بسرعت؛ استراحت کنید و دقایقی دیگر مجددا " "ارسال کنید." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "شما از فرستادن پیام در این وب‌گاه منع شده‌اید." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "هنگام ذخیرهٔ پیام مشکلی ایجاد شد." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "هنگام ذخیرهٔ صندوق ورودی گروه مشکلی رخ داد." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "کاربر هیچ نمایه‌ای ندارد." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "نمی‌توان پیام وب‌گاه را ذخیره کرد." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "شما از اشتراک منع شده‌اید." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "قبلا اشتراک انجام شده است!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "کاربر شما را مسدود کرده است." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "تایید نشده!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "نمی‌توان خود-اشتراکی را حذف کرد." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "نمی‌توان رمز اشتراک OMB را حذف کرد." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "نمی‌توان اشتراک را لغو کرد." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "@%2$s، به %1$s خوش آمدید!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "نمیتوان گروه را تشکیل داد" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "نمیتوان گروه را تشکیل داد" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "نمی‌توان عضویت گروه را تعیین کرد." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "نمی‌توان اطلاعات گروه محلی را ذخیره کرد." diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index 4fc543dec..d116f9a46 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:51+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:11+0000\n" "Language-Team: Finnish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fi\n" "X-Message-Group: out-statusnet\n" @@ -1386,7 +1386,8 @@ msgstr "Virheellinen alias: \"%s\"" msgid "Could not update group." msgstr "Ei voitu päivittää ryhmää." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Ei voitu lisätä aliasta." @@ -4405,7 +4406,8 @@ msgstr "Profiilikuva-asetukset" msgid "You are not subscribed to that profile." msgstr "Et ole tilannut tämän käyttäjän päivityksiä." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Tilausta ei onnistuttu tallentamaan." @@ -4889,89 +4891,126 @@ msgstr "Omat" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Koko ei kelpaa." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Ryhmän profiili" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Ei voitu päivittää ryhmää." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Ryhmän profiili" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Ei voitu päivittää ryhmää." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Ei voitu lisätä aliasta." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "Tapahtui virhe suoran viestin lähetyksessä." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Viestin tallennus ei onnistunut." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Viestin päivittäminen uudella URI-osoitteella ei onnistunut." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Tietokantavirhe tallennettaessa risutagiä: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Ongelma päivityksen tallentamisessa." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Virhe tapahtui päivityksen tallennuksessa. Tuntematon käyttäjä." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Liian monta päivitystä liian nopeasti; pidä pieni hengähdystauko ja jatka " "päivityksien lähettämista muutaman minuutin päästä." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4979,82 +5018,126 @@ msgstr "" "Liian monta päivitystä liian nopeasti; pidä pieni hengähdystauko ja jatka " "päivityksien lähettämista muutaman minuutin päästä." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Päivityksesi tähän palveluun on estetty." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Ongelma päivityksen tallentamisessa." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Ongelma päivityksen tallentamisessa." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Käyttäjällä ei ole profiilia." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Twitter-asetuksia ei voitu tallentaa!" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." msgstr "Käyttäjä on estänyt sinua tilaamasta päivityksiä." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Käyttäjä on asettanut eston sinulle." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Ei ole tilattu!." -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Ei voitu poistaa tilausta." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Ei voitu poistaa tilausta." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Ei voitu poistaa tilausta." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, fuzzy, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Viesti käyttäjälle %1$s, %2$s" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Ryhmän luonti ei onnistunut." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Ryhmän jäsenyystietoja ei voitu asettaa." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Ryhmän jäsenyystietoja ei voitu asettaa." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Tilausta ei onnistuttu tallentamaan." diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po index 603bc3c21..36d2a2992 100644 --- a/locale/fr/LC_MESSAGES/statusnet.po +++ b/locale/fr/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:55+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:16+0000\n" "Language-Team: French\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: out-statusnet\n" @@ -1359,7 +1359,8 @@ msgstr "Alias invalide : « %s »" msgid "Could not update group." msgstr "Impossible de mettre à jour le groupe." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Impossible de créer les alias." @@ -4366,7 +4367,8 @@ msgstr "Sauvegarder les paramètres des instantanés" msgid "You are not subscribed to that profile." msgstr "Vous n’êtes pas abonné(e) à ce profil." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Impossible d’enregistrer l’abonnement." @@ -4862,7 +4864,14 @@ msgstr "Version" msgid "Author(s)" msgstr "Auteur(s)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4871,76 +4880,106 @@ msgstr "" "Un fichier ne peut pas être plus gros que %d octets et le fichier que vous " "avez envoyé pesait %d octets. Essayez d’importer une version moins grosse." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "Un fichier aussi gros dépasserai votre quota utilisateur de %d octets." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Un fichier aussi gros dépasserai votre quota mensuel de %d octets." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Taille incorrecte." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "L’inscription au groupe a échoué." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "N’appartient pas au groupe." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "La désinscription du groupe a échoué." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Impossible de mettre à jour le groupe local." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Impossible de créer le jeton d’identification pour %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Il vous est interdit d’envoyer des messages directs." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Impossible d’insérer le message." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Impossible de mettre à jour le message avec un nouvel URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Erreur de base de donnée en insérant la marque (hashtag) : %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problème lors de l’enregistrement de l’avis ; trop long." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Erreur lors de l’enregistrement de l’avis. Utilisateur inconnu." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Trop d’avis, trop vite ! Faites une pause et publiez à nouveau dans quelques " "minutes." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4948,76 +4987,122 @@ msgstr "" "Trop de messages en double trop vite ! Prenez une pause et publiez à nouveau " "dans quelques minutes." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Il vous est interdit de poster des avis sur ce site." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problème lors de l’enregistrement de l’avis." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problème lors de l’enregistrement de la boîte de réception du groupe." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Aucun profil ne correspond à cet utilisateur." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Impossible d'enregistrer l'avis du site." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Il vous a été interdit de vous abonner." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Déjà abonné !" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Cet utilisateur vous a bloqué." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Pas abonné !" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Impossible de supprimer l’abonnement à soi-même." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Impossible de supprimer le jeton OMB de l'abonnement ." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Impossible de cesser l’abonnement" -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Bienvenue à %1$s, @%2$s !" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Impossible de créer le groupe." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Impossible de définir l'URI du groupe." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Impossible d’établir l’inscription au groupe." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Impossible d’enregistrer les informations du groupe local." diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po index 89c753c56..19e6cc9f2 100644 --- a/locale/ga/LC_MESSAGES/statusnet.po +++ b/locale/ga/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:56+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:17+0000\n" "Language-Team: Irish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ga\n" "X-Message-Group: out-statusnet\n" @@ -1406,7 +1406,8 @@ msgstr "Etiqueta inválida: '%s'" msgid "Could not update group." msgstr "Non se puido actualizar o usuario." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "Non se puido crear o favorito." @@ -4457,7 +4458,8 @@ msgstr "Configuracións de Twitter" msgid "You are not subscribed to that profile." msgstr "Non estás suscrito a ese perfil" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Non se pode gardar a subscrición." @@ -4945,89 +4947,126 @@ msgstr "Persoal" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Tamaño inválido." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Non existe o perfil." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Non se puido actualizar o usuario." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Non existe o perfil." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Non se puido actualizar o usuario." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Non se puido crear o favorito." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "Erro ó enviar a mensaxe directa." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Non se pode inserir unha mensaxe." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Non se puido actualizar a mensaxe coa nova URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Erro ó inserir o hashtag na BD: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Aconteceu un erro ó gardar o chío." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Aconteceu un erro ó gardar o chío. Usuario descoñecido." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Demasiados chíos en pouco tempo; tomate un respiro e envíao de novo dentro " "duns minutos." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -5036,84 +5075,128 @@ msgstr "" "Demasiados chíos en pouco tempo; tomate un respiro e envíao de novo dentro " "duns minutos." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Tes restrinxido o envio de chíos neste sitio." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Aconteceu un erro ó gardar o chío." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Aconteceu un erro ó gardar o chío." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "O usuario non ten perfil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Non se puideron gardar os teus axustes de Twitter!" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." msgstr "Este usuario non che permite suscribirte a el." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "O usuario bloqueoute." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Non está suscrito!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Non se pode eliminar a subscrición." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Non se pode eliminar a subscrición." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Non se pode eliminar a subscrición." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, fuzzy, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Mensaxe de %1$s en %2$s" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 #, fuzzy msgid "Could not create group." msgstr "Non se puido crear o favorito." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Non se pode gardar a subscrición." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "Non se pode gardar a subscrición." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Non se pode gardar a subscrición." diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po index 453897cf0..f66a7a7c8 100644 --- a/locale/gl/LC_MESSAGES/statusnet.po +++ b/locale/gl/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:33:58+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:23+0000\n" "Language-Team: Galician\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: out-statusnet\n" @@ -166,7 +166,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -176,7 +176,7 @@ msgstr "" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." @@ -364,7 +364,6 @@ msgid "Could not delete favorite." msgstr "Non se puido eliminar o favorito." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." msgstr "Non se puido seguir o usuario: non se atopou." @@ -382,7 +381,6 @@ msgid "You cannot unfollow yourself." msgstr "Non pode deixar de seguirse a si mesmo." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." msgstr "Deben fornecerse dúas identificacións ou nomes de usuario." @@ -1347,7 +1345,8 @@ msgstr "Pseudónimo inválido: \"%s\"" msgid "Could not update group." msgstr "Non se puido actualizar o grupo." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Non se puideron crear os pseudónimos." @@ -2506,11 +2505,10 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Actualizacións que conteñen o termo \"%1$s\" en %2$s!" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" -"Este usuario non permite acenos ou aínda non corfirmou ou configurou o seu " +"Este usuario non permite acenos ou aínda non confirmou ou configurou o seu " "enderezo de correo electrónico." #: actions/nudge.php:94 @@ -3548,7 +3546,7 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de novas coas respostas a %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." @@ -3566,7 +3564,7 @@ msgstr "" "grupos](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3749,7 +3747,7 @@ msgstr "" "naquelas notas que lle gusten para marcalas para logo ou para salientalas." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" @@ -3758,7 +3756,7 @@ msgstr "" "que poida querer engadir aos seus favoritos :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " @@ -3946,7 +3944,7 @@ msgstr "" "bo momento para comezar :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4342,7 +4340,8 @@ msgstr "Gardar a configuración das instantáneas" msgid "You are not subscribed to that profile." msgstr "Non está subscrito a ese perfil." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Non se puido gardar a subscrición." @@ -4831,86 +4830,123 @@ msgstr "Versión" msgid "Author(s)" msgstr "Autores" -#: classes/File.php:185 -#, fuzzy, php-format +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"Ningún ficheiro pode superar os %d bytes e o que enviou ocupaba %d. Probe a " -"subir un ficheiro máis pequeno." +"Ningún ficheiro pode superar os %1$d bytes e o que enviou ocupaba %2$d. " +"Probe a subir un ficheiro máis pequeno." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Un ficheiro deste tamaño excedería a súa cota de usuario, que é de %d bytes." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Un ficheiro deste tamaño excedería a súa cota mensual de %d bytes." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Tamaño non válido." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Non se puido unir ao grupo." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Non forma parte do grupo." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Non se puido deixar o grupo." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Non se puido actualizar o grupo local." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Non se puido crear un pase de sesión para %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Prohibíuselle enviar mensaxes directas de momento." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Non se puido inserir a mensaxe." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Non se puido actualizar a mensaxe co novo URI." -#: classes/Notice.php:96 -#, php-format -msgid "No such profile (%d) for notice (%d)" -msgstr "" +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 +#, fuzzy, php-format +msgid "No such profile (%1$d) for notice (%2$d)." +msgstr "Non existe tal perfil (%d) para a nota (%d)" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Houbo un erro na base de datos ao intentar inserir a etiqueta: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Houbo un problema ao gardar a nota. É longa de máis." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Houbo un problema ao gardar a nota. Descoñécese o usuario." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Escribiu demasiadas notas en moi pouco tempo. Tómese un respiro e volva " "publicar nuns minutos." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4918,76 +4954,121 @@ msgstr "" "Repetiu demasiadas mensaxes en moi pouco tempo. Tómese un respiro e volva " "publicar nuns minutos." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Prohibíuselle publicar notas neste sitio de momento." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Houbo un problema ao gardar a nota." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Houbo un problema ao gardar a caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "♻ @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 #, fuzzy +msgid "Missing profile." +msgstr "O usuario non ten perfil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 msgid "Unable to save tag." msgstr "Non se puido gardar a nota do sitio." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Prohibíuselle realizar subscricións de momento." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Xa está subscrito!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "O usuario bloqueouno." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Non está subscrito!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Non se puido borrar a subscrición a si mesmo." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Non se puido borrar o pase de subscrición OMB." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Non se puido borrar a subscrición." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Benvido a %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Non se puido crear o grupo." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Non se puido establecer o URI do grupo." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Non se puido establecer a pertenza ao grupo." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Non se puido gardar a información do grupo local." diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po index 2281bfd55..f4e211d3c 100644 --- a/locale/he/LC_MESSAGES/statusnet.po +++ b/locale/he/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:00+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:25+0000\n" "Language-Team: Hebrew\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: he\n" "X-Message-Group: out-statusnet\n" @@ -1384,7 +1384,8 @@ msgstr "כתובת אתר הבית '%s' אינה חוקית" msgid "Could not update group." msgstr "עידכון המשתמש נכשל." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "שמירת מידע התמונה נכשל" @@ -4312,7 +4313,8 @@ msgstr "הגדרות" msgid "You are not subscribed to that profile." msgstr "לא שלחנו אלינו את הפרופיל הזה" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "יצירת המנוי נכשלה." @@ -4793,170 +4795,251 @@ msgstr "אישי" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "גודל לא חוקי." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "אין הודעה כזו." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "עידכון המשתמש נכשל." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "אין הודעה כזו." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "עידכון המשתמש נכשל." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "שמירת מידע התמונה נכשל" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "שגיאת מסד נתונים בהכנסת התגובה: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "בעיה בשמירת ההודעה." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "בעיה בשמירת ההודעה." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "בעיה בשמירת ההודעה." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "בעיה בשמירת ההודעה." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "למשתמש אין פרופיל." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "בעיה בשמירת ההודעה." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 #, fuzzy msgid "User has blocked you." msgstr "למשתמש אין פרופיל." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "לא מנוי!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "מחיקת המנוי לא הצליחה." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "מחיקת המנוי לא הצליחה." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "מחיקת המנוי לא הצליחה." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 #, fuzzy msgid "Could not create group." msgstr "שמירת מידע התמונה נכשל" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "יצירת המנוי נכשלה." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "יצירת המנוי נכשלה." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "יצירת המנוי נכשלה." diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po index 3e7bc31fc..8eb615628 100644 --- a/locale/hsb/LC_MESSAGES/statusnet.po +++ b/locale/hsb/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:01+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:26+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: hsb\n" "X-Message-Group: out-statusnet\n" @@ -1312,7 +1312,8 @@ msgstr "Njepłaćiwy alias: \"%s\"" msgid "Could not update group." msgstr "Skupina njeje so dała aktualizować." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Aliasy njejsu so dali wutworić." @@ -4101,7 +4102,8 @@ msgstr "Nastajenja wobrazowkoweho fota składować" msgid "You are not subscribed to that profile." msgstr "Njejsy tón profil abonował." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Abonement njeda so składować." @@ -4550,156 +4552,239 @@ msgstr "Wersija" msgid "Author(s)" msgstr "Awtorojo" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Njepłaćiwa wulkosć." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Přizamknjenje k skupinje je so njeporadźiło." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Njeje dźěl skupiny." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Wopušćenje skupiny je so njeporadźiło." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Lokalna skupina njeda so aktualizować." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Njeje móžno było, přizjewjenske znamješko za %s wutworić" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Powěsć njeda so zasunyć." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Zmylk datoweje banki při zasunjenju hašeje taflički: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Wužiwar nima profil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Njeje móžno, sydłowu zdźělenku składować." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Hižo abonowany!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Wužiwar je će zablokował." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Njeje abonowany!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Sebjeabonement njeje so dał zničić." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Znamjo OMB-abonementa njeda so zhašeć." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Abonoment njeje so dał zničić." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Witaj do %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Skupina njeda so wutowrić." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "URI skupiny njeda so nastajić." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Skupinske čłonstwo njeda so stajić." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Informacije wo lokalnej skupinje njedachu so składować." diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po index 7416177b2..105e2455b 100644 --- a/locale/ia/LC_MESSAGES/statusnet.po +++ b/locale/ia/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:03+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:28+0000\n" "Language-Team: Interlingua\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: out-statusnet\n" @@ -1345,7 +1345,8 @@ msgstr "Alias invalide: \"%s\"" msgid "Could not update group." msgstr "Non poteva actualisar gruppo." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Non poteva crear aliases." @@ -4317,7 +4318,8 @@ msgstr "Salveguardar configuration de instantaneos" msgid "You are not subscribed to that profile." msgstr "Tu non es subscribite a iste profilo." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Non poteva salveguardar le subscription." @@ -4806,7 +4808,14 @@ msgstr "Version" msgid "Author(s)" msgstr "Autor(es)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4815,76 +4824,106 @@ msgstr "" "Nulle file pote esser plus grande que %d bytes e le file que tu inviava ha %" "d bytes. Tenta incargar un version minus grande." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "Un file de iste dimension excederea tu quota de usator de %d bytes." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Un file de iste dimension excederea tu quota mensual de %d bytes." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Dimension invalide." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Le inscription al gruppo ha fallite." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Non es membro del gruppo." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Le cancellation del membrato del gruppo ha fallite." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Non poteva actualisar gruppo local." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Non poteva crear indicio de identification pro %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Il te es prohibite inviar messages directe." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Non poteva inserer message." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Non poteva actualisar message con nove URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Error in base de datos durante insertion del marca (hashtag): %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problema salveguardar nota. Troppo longe." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problema salveguardar nota. Usator incognite." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Troppo de notas troppo rapidemente; face un pausa e publica de novo post " "alcun minutas." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4892,76 +4931,122 @@ msgstr "" "Troppo de messages duplicate troppo rapidemente; face un pausa e publica de " "novo post alcun minutas." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Il te es prohibite publicar notas in iste sito." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problema salveguardar nota." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problema salveguardar le cassa de entrata del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Le usator non ha un profilo." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Impossibile salveguardar le aviso del sito." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Tu ha essite blocate del subscription." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Ja subscribite!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Le usator te ha blocate." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Non subscribite!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Non poteva deler auto-subscription." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Non poteva deler le indicio OMB del subscription." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Non poteva deler subscription." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Benvenite a %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Non poteva crear gruppo." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Non poteva definir le URL del gruppo." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Non poteva configurar le membrato del gruppo." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Non poteva salveguardar le informationes del gruppo local." diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po index 5a8c282d1..97aa25425 100644 --- a/locale/is/LC_MESSAGES/statusnet.po +++ b/locale/is/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:06+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:29+0000\n" "Language-Team: Icelandic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: is\n" "X-Message-Group: out-statusnet\n" @@ -1375,7 +1375,8 @@ msgstr "" msgid "Could not update group." msgstr "Gat ekki uppfært hóp." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "" @@ -4362,7 +4363,8 @@ msgstr "Stillingar fyrir mynd" msgid "You are not subscribed to that profile." msgstr "Þú ert ekki áskrifandi." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Gat ekki vistað áskrift." @@ -4844,169 +4846,250 @@ msgstr "Persónulegt" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ótæk stærð." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Hópssíðan" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Gat ekki uppfært hóp." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Hópssíðan" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Gat ekki uppfært hóp." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Gat ekki búið til uppáhald." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "Villa kom upp við að senda bein skilaboð" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Gat ekki skeytt skilaboðum inn í." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Gat ekki uppfært skilaboð með nýju veffangi." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Gagnagrunnsvilla við innsetningu myllumerkis: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Gat ekki vistað babl. Óþekktur notandi." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Of mikið babl í einu; slakaðu aðeins á og haltu svo áfram eftir nokkrar " "mínútur." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Það hefur verið lagt bann við babli frá þér á þessari síðu." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Vandamál komu upp við að vista babl." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Vandamál komu upp við að vista babl." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Notandi hefur enga persónulega síðu." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Vandamál komu upp við að vista babl." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." msgstr "Þessi notandi hefur bannað þér að gerast áskrifandi" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Notandinn hefur lokað á þig." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Ekki í áskrift!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Gat ekki eytt áskrift." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Gat ekki eytt áskrift." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Gat ekki eytt áskrift." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Gat ekki búið til hóp." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Gat ekki skráð hópmeðlimi." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Gat ekki skráð hópmeðlimi." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Gat ekki vistað áskrift." diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po index 37f691b68..0ebea7778 100644 --- a/locale/it/LC_MESSAGES/statusnet.po +++ b/locale/it/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:08+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:31+0000\n" "Language-Team: Italian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: it\n" "X-Message-Group: out-statusnet\n" @@ -1344,7 +1344,8 @@ msgstr "Alias non valido: \"%s\"" msgid "Could not update group." msgstr "Impossibile aggiornare il gruppo." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Impossibile creare gli alias." @@ -4313,7 +4314,8 @@ msgstr "Salva impostazioni snapshot" msgid "You are not subscribed to that profile." msgstr "Non hai una abbonamento a quel profilo." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Impossibile salvare l'abbonamento." @@ -4803,7 +4805,14 @@ msgstr "Versione" msgid "Author(s)" msgstr "Autori" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4812,78 +4821,108 @@ msgstr "" "Nessun file può superare %d byte e il file inviato era di %d byte. Prova a " "caricarne una versione più piccola." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Un file di questa dimensione supererebbe la tua quota utente di %d byte." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" "Un file di questa dimensione supererebbe la tua quota mensile di %d byte." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Dimensione non valida." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Ingresso nel gruppo non riuscito." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Non si fa parte del gruppo." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Uscita dal gruppo non riuscita." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Impossibile aggiornare il gruppo locale." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Impossibile creare il token di accesso per %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Ti è proibito inviare messaggi diretti." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Impossibile inserire il messaggio." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Impossibile aggiornare il messaggio con il nuovo URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Errore del database nell'inserire un hashtag: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problema nel salvare il messaggio. Troppo lungo." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problema nel salvare il messaggio. Utente sconosciuto." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Troppi messaggi troppo velocemente; fai una pausa e scrivi di nuovo tra " "qualche minuto." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4891,76 +4930,122 @@ msgstr "" "Troppi messaggi duplicati troppo velocemente; fai una pausa e scrivi di " "nuovo tra qualche minuto." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Ti è proibito inviare messaggi su questo sito." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problema nel salvare il messaggio." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problema nel salvare la casella della posta del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "L'utente non ha un profilo." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Impossibile salvare il messaggio del sito." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Non ti è possibile abbonarti." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Hai già l'abbonamento!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "L'utente non ti consente di seguirlo." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Non hai l'abbonamento!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Impossibile eliminare l'auto-abbonamento." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Impossibile eliminare il token di abbonamento OMB." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Impossibile eliminare l'abbonamento." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Benvenuti su %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Impossibile creare il gruppo." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Impossibile impostare l'URI del gruppo." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Impossibile impostare la membership al gruppo." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Impossibile salvare le informazioni del gruppo locale." diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po index 641e75235..60edb1a21 100644 --- a/locale/ja/LC_MESSAGES/statusnet.po +++ b/locale/ja/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:10+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:33+0000\n" "Language-Team: Japanese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ja\n" "X-Message-Group: out-statusnet\n" @@ -1346,7 +1346,8 @@ msgstr "不正な別名: \"%s\"" msgid "Could not update group." msgstr "グループを更新できません。" -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "別名を作成できません。" @@ -4354,7 +4355,8 @@ msgstr "サイト設定の保存" msgid "You are not subscribed to that profile." msgstr "あなたはそのプロファイルにフォローされていません。" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "フォローを保存できません。" @@ -4835,7 +4837,14 @@ msgstr "バージョン" msgid "Author(s)" msgstr "作者" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4845,78 +4854,108 @@ msgstr "" "ファイルは %d バイトでした。より小さいバージョンをアップロードするようにして" "ください。" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "これほど大きいファイルはあなたの%dバイトのユーザ割当てを超えているでしょう。" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" "これほど大きいファイルはあなたの%dバイトの毎月の割当てを超えているでしょう。" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "不正なサイズ。" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "グループ参加に失敗しました。" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "グループの一部ではありません。" -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "グループ脱退に失敗しました。" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "グループを更新できません。" -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "%s 用のログイン・トークンを作成できませんでした" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "あなたはダイレクトメッセージを送るのが禁止されています。" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "メッセージを追加できません。" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "新しいURIでメッセージをアップデートできませんでした。" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "ハッシュタグ追加 DB エラー: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "つぶやきを保存する際に問題が発生しました。長すぎです。" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "つぶやきを保存する際に問題が発生しました。不明なユーザです。" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "多すぎるつぶやきが速すぎます; 数分間の休みを取ってから再投稿してください。" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4924,78 +4963,123 @@ msgstr "" "多すぎる重複メッセージが速すぎます; 数分間休みを取ってから再度投稿してくださ" "い。" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "あなたはこのサイトでつぶやきを投稿するのが禁止されています。" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "つぶやきを保存する際に問題が発生しました。" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "グループ受信箱を保存する際に問題が発生しました。" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "ユーザはプロフィールをもっていません。" + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "あなたのデザイン設定を保存できません。" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "あなたはフォローが禁止されました。" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "すでにフォローしています!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "ユーザはあなたをブロックしました。" -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "フォローしていません!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "自己フォローを削除できません。" -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "フォローを削除できません" -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "フォローを削除できません" -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "ようこそ %1$s、@%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "グループを作成できません。" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "グループメンバーシップをセットできません。" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "グループメンバーシップをセットできません。" -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "フォローを保存できません。" diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po index 7e13ad7ca..efe3bbebf 100644 --- a/locale/ko/LC_MESSAGES/statusnet.po +++ b/locale/ko/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:12+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:34+0000\n" "Language-Team: Korean\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ko\n" "X-Message-Group: out-statusnet\n" @@ -1350,7 +1350,8 @@ msgstr "사용할 수 없는 별명 : \"%s\"" msgid "Could not update group." msgstr "그룹을 업데이트 할 수 없습니다." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "좋아하는 게시글을 생성할 수 없습니다." @@ -4335,7 +4336,8 @@ msgstr "아바타 설정" msgid "You are not subscribed to that profile." msgstr "당신은 이 프로필에 구독되지 않고있습니다." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "구독을 저장할 수 없습니다." @@ -4813,88 +4815,125 @@ msgstr "버젼" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "옳지 않은 크기" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "그룹에 가입하지 못했습니다." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "그룹을 업데이트 할 수 없습니다." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "그룹 프로필" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "그룹을 업데이트 할 수 없습니다." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "%s 에 대한 로그인 토큰을 만들 수 없습니다." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "직접 메시지 보내기 오류." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "메시지를 삽입할 수 없습니다." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "새 URI와 함께 메시지를 업데이트할 수 없습니다." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "해쉬테그를 추가 할 때에 데이타베이스 에러 : %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "통지를 저장하는데 문제가 발생했습니다." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "게시글 저장문제. 알려지지않은 회원" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "너무 많은 게시글이 너무 빠르게 올라옵니다. 한숨고르고 몇분후에 다시 포스트를 " "해보세요." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -4903,82 +4942,126 @@ msgstr "" "너무 많은 게시글이 너무 빠르게 올라옵니다. 한숨고르고 몇분후에 다시 포스트를 " "해보세요." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "이 사이트에 게시글 포스팅으로부터 당신은 금지되었습니다." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "통지를 저장하는데 문제가 발생했습니다." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "통지를 저장하는데 문제가 발생했습니다." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "이용자가 프로필을 가지고 있지 않습니다." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "트위터 환경설정을 저장할 수 없습니다." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." msgstr "이 회원은 구독으로부터 당신을 차단해왔다." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "회원이 당신을 차단해왔습니다." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "구독하고 있지 않습니다!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "예약 구독을 삭제 할 수 없습니다." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "예약 구독을 삭제 할 수 없습니다." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "예약 구독을 삭제 할 수 없습니다." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, fuzzy, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "%2$s에서 %1$s까지 메시지" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "새 그룹을 만들 수 없습니다." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "그룹 맴버십을 세팅할 수 없습니다." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "그룹 맴버십을 세팅할 수 없습니다." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "구독을 저장할 수 없습니다." diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po index 9ebc37f20..5325a6080 100644 --- a/locale/mk/LC_MESSAGES/statusnet.po +++ b/locale/mk/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:14+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:36+0000\n" "Language-Team: Macedonian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: out-statusnet\n" @@ -168,24 +168,23 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Можете да се обидете да го [подбуцнете корисникот %1$s](../%2$s) од профилот " -"на корисникот или да [објавите нешто што сакате тој да го прочита](%%%%" -"action.newnotice%%%%?status_textarea=%3$s)." +"Можете да се обидете да го [подбуцнете корисникот %1$s](../%2$s) од неговиот " +"профил или да [објавите нешто што сакате да го прочита](%%%%action.newnotice%" +"%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." msgstr "" -"А зошто не [регистрирате сметка](%%%%action.register%%%%), за да можете да " -"го подбуцнете корисникот %s или да објавите забелешка што сакате тој да ја " -"прочита." +"А зошто не се [регистрирате](%%%%action.register%%%%), и потоа да го " +"подбуцнете корисникот %s или да објавите забелешка што сакате да ја прочита." #. TRANS: H1 text #: actions/all.php:182 @@ -366,9 +365,8 @@ msgid "Could not delete favorite." msgstr "Не можам да ја избришам омилената забелешка." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Не можам да го следам корисникот: Корисникот не е пронајден." +msgstr "Не можам да го следам корисникот: профилот не е пронајден." #: actions/apifriendshipscreate.php:118 #, php-format @@ -385,10 +383,10 @@ msgid "You cannot unfollow yourself." msgstr "Не можете да престанете да се следите самите себеси." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." msgstr "" -"Мора да бидат наведени два кориснички идентификатора (ID) или две имиња." +"Мора да се наведат две кориснички назнаки (ID) или screen_names (имиња за " +"приказ)." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -1347,7 +1345,8 @@ msgstr "Неважечки алијас: „%s“" msgid "Could not update group." msgstr "Не можев да ја подновам групата." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Не можеше да се создадат алијаси." @@ -2507,7 +2506,6 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Подновувања кои се совпаѓаат со пребараниот израз „%1$s“ на %2$s!" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" @@ -3540,13 +3538,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Канал со одговори за %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." msgstr "" "Ова е историјата на која се прикажани одговорите на %1$s, но %2$s сè уште " -"нема добиено порака од некој што сака да ја прочита." +"нема добиено нечија забелешка." #: actions/replies.php:204 #, php-format @@ -3558,13 +3556,14 @@ msgstr "" "други луѓе или да [се зачленувате во групи](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Можете да го [подбуцнете корисникот 1$s](../%2$s) или да [објавите нешто што " -"сакате тој да го прочита](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"Можете да се обидете да го [подбуцнете корисникот 1$s](../%2$s) или да " +"[објавите нешто што сакате да го прочита](%%%%action.newnotice%%%%?" +"status_textarea=%3$s)." #: actions/repliesrss.php:72 #, php-format @@ -3742,23 +3741,23 @@ msgstr "" "обележите за подоцна, или за да ѝ дадете на важност." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" msgstr "" -"%s сè уште нема додадено забелешки како омилени. Објавете нешто интересно, " -"што корисникот би го обележал како омилено :)" +"%s сè уште нема додадено омилени забелешки. Објавете нешто интересно, што " +"корисникот би го обележал како омилено :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" -"%s сè уште нема додадено омилени забелешки. Зошто не [регистрирате сметка](%%" -"%%action.register%%%%) и потоа објавите нешто интересно што корисникот би го " +"%s сè уште нема додадено омилени забелешки. Зошто не се [регистрирате](%%%%" +"action.register%%%%) и потоа објавите нешто интересно што корисникот би го " "додал како омилено :)" #: actions/showfavorites.php:243 @@ -3939,13 +3938,13 @@ msgstr "" "ниедна забелешка, но сега е добро време за да почнете :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." msgstr "" -"Можете да го подбуцнете корисникот %1$s или [да објавите нешто што сакате да " -"го прочита](%%%%action.newnotice%%%%?status_textarea=%2$s)." +"Можете да се обидете да го подбуцнете корисникот %1$s или [да објавите нешто " +"што сакате да го прочита](%%%%action.newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4335,7 +4334,8 @@ msgstr "Зачувај поставки за снимки" msgid "You are not subscribed to that profile." msgstr "Не сте претплатени на тој профил." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Не можев да ја зачувам претплатата." @@ -4825,86 +4825,123 @@ msgstr "Верзија" msgid "Author(s)" msgstr "Автор(и)" -#: classes/File.php:185 -#, fuzzy, php-format +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"Ниедна податотека не смее да биде поголема од %d бајти, а подаотеката што ја " +"Податотеките не смеат да бидат поголеми од %d бајти, а податотеката што ја " "испративте содржи %d бајти. Подигнете помала верзија." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Волку голема податотека ќе ја надмине Вашата корисничка квота од %d бајти." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "ВОлку голема податотека ќе ја надмине Вашата месечна квота од %d бајти" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Погрешна големина." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Зачленувањето во групата не успеа." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Не е дел од групата." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Напуштањето на групата не успеа." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Не можев да ја подновам локалната група." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Не можам да создадам најавен жетон за" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Забрането Ви е испраќање на директни пораки." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Не можев да ја испратам пораката." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Не можев да ја подновам пораката со нов URI." -#: classes/Notice.php:96 -#, php-format -msgid "No such profile (%d) for notice (%d)" -msgstr "" +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 +#, fuzzy, php-format +msgid "No such profile (%1$d) for notice (%2$d)." +msgstr "Нема таков профил (%d) за забелешката (%d)" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Грешка во базата на податоци при вметнувањето на хеш-ознаката: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Проблем со зачувувањето на белешката. Премногу долго." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Проблем со зачувувањето на белешката. Непознат корисник." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Премногу забелњшки за прекратко време; здивнете малку и продолжете за " "неколку минути." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4912,77 +4949,122 @@ msgstr "" "Премногу дуплирани пораки во прекратко време; здивнете малку и продолжете за " "неколку минути." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Забрането Ви е да објавувате забелешки на ова мрежно место." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Проблем во зачувувањето на белешката." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Проблем при зачувувањето на групното приемно сандаче." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 #, fuzzy +msgid "Missing profile." +msgstr "Корисникот нема профил." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 msgid "Unable to save tag." -msgstr "Не можам да ја зачувам објавата за мрежното место." +msgstr "Не можам да ја зачувам ознаката." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Блокирани сте од претплаќање." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Веќе претплатено!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Корисникот Ве има блокирано." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Не сте претплатени!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Не можам да ја избришам самопретплатата." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Не можете да го избришете OMB-жетонот за претплата." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Претплата не може да се избрише." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Добредојдовте на %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Не можев да ја создадам групата." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Не можев да поставам URI на групата." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Не можев да назначам членство во групата." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Не можев да ги зачувам информациите за локалните групи." diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po index 66ff92528..697949e18 100644 --- a/locale/nb/LC_MESSAGES/statusnet.po +++ b/locale/nb/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:15+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:38+0000\n" "Language-Team: Norwegian (bokmål)‬\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: out-statusnet\n" @@ -1335,7 +1335,8 @@ msgstr "Ugyldig alias: «%s»" msgid "Could not update group." msgstr "Kunne ikke oppdatere gruppe." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Kunne ikke opprette alias." @@ -4285,7 +4286,8 @@ msgstr "Innstillinger for IM" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "Klarte ikke å lagre avatar-informasjonen" @@ -4740,163 +4742,244 @@ msgstr "Versjon" msgid "Author(s)" msgstr "Forfatter(e)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ugyldig størrelse" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Klarte ikke å lagre profil." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Klarte ikke å oppdatere bruker." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Klarte ikke å lagre profil." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Kunne ikke oppdatere gruppe." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Klarte ikke å lagre avatar-informasjonen" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Kunne ikke sette inn melding." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Kunne ikke oppdatere melding med ny nettadresse." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Databasefeil ved innsetting av bruker i programmet OAuth." -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problem ved lagring av notis. For lang." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problem ved lagring av notis. Ukjent bruker." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problem ved lagring av notis." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problem ved lagring av gruppeinnboks." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Brukeren har ingen profil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Kunne ikke lagre nettstedsnotis." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Bruker har blokkert deg." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Alle abonnementer" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Klarte ikke å lagre avatar-informasjonen" -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Klarte ikke å lagre avatar-informasjonen" -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." -msgstr "" +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." +msgstr "Klarte ikke å lagre avatar-informasjonen" -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Velkommen til %1$s, @%2$s." -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Kunne ikke opprette gruppe." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Kunne ikke stille inn gruppe-URI." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Kunne ikke stille inn gruppemedlemskap." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Kunne ikke lagre lokal gruppeinformasjon." diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po index f7d4d3fd8..74cb0bee4 100644 --- a/locale/nl/LC_MESSAGES/statusnet.po +++ b/locale/nl/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:18+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:41+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: out-statusnet\n" @@ -168,17 +168,17 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"U kunt proberen [%1$s te porren](../%2$s) op de eigen profielpagina of [een " +"U kunt proberen [%1$s te porren](../%2$s) op de eigen profielpagina of [een " "bericht voor die gebruiker plaatsen](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." @@ -367,7 +367,6 @@ msgstr "" "Het was niet mogelijk deze mededeling van uw favorietenlijst te verwijderen." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." msgstr "U kunt deze gebruiker niet volgen, omdat deze niet bestaat." @@ -387,9 +386,9 @@ msgid "You cannot unfollow yourself." msgstr "U kunt het abonnement op uzelf niet opzeggen." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Er moeten twee gebruikersnamen of ID's opgegeven worden." +msgstr "" +"Er moeten twee gebruikersnamen (screen_names) of ID's opgegeven worden." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -1357,7 +1356,8 @@ msgstr "Ongeldige alias: \"%s\"" msgid "Could not update group." msgstr "Het was niet mogelijk de groep bij te werken." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Het was niet mogelijk de aliassen aan te maken." @@ -2524,12 +2524,10 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Updates die overeenkomen met de zoekterm \"%1$s\" op %2$s." #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" -"Deze gebruiker is niet te porren of heeft zijn e-mailadres nog niet " -"bevestigd." +"Deze gebruiker is niet te porren of heeft nog geen bevestigs e-mailadres." #: actions/nudge.php:94 msgid "Nudge sent" @@ -3565,12 +3563,12 @@ msgid "Replies feed for %s (Atom)" msgstr "Antwoordenfeed voor %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." msgstr "" -"Dit is de tijdlijn met de antwoorden aan %1$s, maar %2$s heeft nog geen " +"Dit is de tijdlijn met antwoorden aan %1$s, maar %2$s heeft nog geen " "antwoorden ontvangen." #: actions/replies.php:204 @@ -3583,7 +3581,7 @@ msgstr "" "abonneren of [lid worden van groepen](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3766,24 +3764,24 @@ msgstr "" "ze uit te lichten." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" msgstr "" -"%s heeff nog geen mededelingen op de eigen favorietenlijst geplaatst. Plaats " +"%s heeft nog geen mededelingen op de eigen favorietenlijst geplaatst. Plaats " "een interessant bericht, en dan komt u misschien wel op de " "favorietenlijst. :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" -"%s heeft nog geen favorietenlijst. U kunt een [gebruiker registeren](%%%%" -"action.register%%%%) en dan interessante mededelingen plaatsten die " +"%s heeft nog geen favoriete mededelingen. U kunt een [gebruiker registeren](%" +"%%%action.register%%%%) en dan interessante mededelingen plaatsten die " "misschien aan favorietenlijsten zijn toe te voegen. :)" #: actions/showfavorites.php:243 @@ -3965,13 +3963,13 @@ msgstr "" "verstuurd, dus dit is een ideaal moment om daarmee te beginnen!" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." msgstr "" -"U kunt proberen %1$s te porren of [een bericht voor die gebruiker plaatsen](%" -"%%%action.newnotice%%%%?status_textarea=%2$s)." +"U kunt proberen %1$s te porren of [een bericht aan die gebruiker sturen](%%%%" +"action.newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4364,7 +4362,8 @@ msgstr "Snapshotinstellingen opslaan" msgid "You are not subscribed to that profile." msgstr "U bent niet geabonneerd op dat profiel." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Het was niet mogelijk het abonnement op te slaan." @@ -4858,91 +4857,128 @@ msgstr "Versie" msgid "Author(s)" msgstr "Auteur(s)" -#: classes/File.php:185 -#, fuzzy, php-format +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"Bestanden mogen niet groter zijn dan %d bytes, en uw bestand was %d bytes. " -"Probeer een kleinere versie te uploaden." +"Bestanden mogen niet groter zijn dan %1$d bytes, en uw bestand was %2$d " +"bytes. Probeer een kleinere versie te uploaden." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Een bestand van deze grootte overschijdt uw gebruikersquota van %d bytes." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" "Een bestand van deze grootte overschijdt uw maandelijkse quota van %d bytes." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ongeldige afmetingen." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Groepslidmaatschap toevoegen is mislukt." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Geen lid van groep." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Groepslidmaatschap opzeggen is mislukt." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Het was niet mogelijk de lokale groep bij te werken." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Het was niet mogelijk een aanmeldtoken aan te maken voor %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "U mag geen directe berichten verzenden." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Het was niet mogelijk het bericht in te voegen." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Het was niet mogelijk het bericht bij te werken met de nieuwe URI." -#: classes/Notice.php:96 -#, php-format -msgid "No such profile (%d) for notice (%d)" -msgstr "" +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 +#, fuzzy, php-format +msgid "No such profile (%1$d) for notice (%2$d)." +msgstr "Er is geen profiel (%1$d) te vinden bij de mededeling (%2$d)." #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Er is een databasefout opgetreden bij de invoer van de hashtag: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "" "Er is een probleem opgetreden bij het opslaan van de mededeling. Deze is te " "lang." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "" "Er was een probleem bij het opslaan van de mededeling. De gebruiker is " "onbekend." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "U hebt te snel te veel mededelingen verstuurd. Kom even op adem en probeer " "het over enige tijd weer." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4950,16 +4986,25 @@ msgstr "" "Te veel duplicaatberichten te snel achter elkaar. Neem een adempauze en " "plaats over een aantal minuten pas weer een bericht." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" "U bent geblokkeerd en mag geen mededelingen meer achterlaten op deze site." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "" "Er is een probleem opgetreden bij het opslaan van het Postvak IN van de " @@ -4967,63 +5012,99 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 #, fuzzy +msgid "Missing profile." +msgstr "Deze gebruiker heeft geen profiel." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 msgid "Unable to save tag." -msgstr "Het was niet mogelijk om de websitebrede mededeling op te slaan." +msgstr "Het was niet mogelijk om het label op te slaan." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "U mag zich niet abonneren." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "U bent al gebonneerd!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Deze gebruiker negeert u." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Niet geabonneerd!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Het was niet mogelijk het abonnement op uzelf te verwijderen." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "" "Het was niet mogelijk om het OMB-token voor het abonnement te verwijderen." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Kon abonnement niet verwijderen." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Welkom bij %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Het was niet mogelijk de groep aan te maken." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Het was niet mogelijk de groeps-URI in te stellen." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Het was niet mogelijk het groepslidmaatschap in te stellen." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Het was niet mogelijk de lokale groepsinformatie op te slaan." diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po index e618e0562..37780c6be 100644 --- a/locale/nn/LC_MESSAGES/statusnet.po +++ b/locale/nn/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:17+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:39+0000\n" "Language-Team: Norwegian Nynorsk\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nn\n" "X-Message-Group: out-statusnet\n" @@ -1388,7 +1388,8 @@ msgstr "Ugyldig merkelapp: %s" msgid "Could not update group." msgstr "Kann ikkje oppdatera gruppa." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "Kunne ikkje lagre favoritt." @@ -4397,7 +4398,8 @@ msgstr "Avatar-innstillingar" msgid "You are not subscribed to that profile." msgstr "Du tingar ikkje oppdateringar til den profilen." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Kunne ikkje lagra abonnement." @@ -4881,88 +4883,125 @@ msgstr "Personleg" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ugyldig storleik." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Gruppe profil" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Kann ikkje oppdatera gruppa." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Gruppe profil" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Kann ikkje oppdatera gruppa." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Kunne ikkje lagre favoritt." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "Ein feil oppstod ved sending av direkte melding." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Kunne ikkje lagre melding." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Kunne ikkje oppdatere melding med ny URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "databasefeil ved innsetjing av skigardmerkelapp (#merkelapp): %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Eit problem oppstod ved lagring av notis." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Feil ved lagring av notis. Ukjend brukar." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " @@ -4970,82 +5009,126 @@ msgid "" msgstr "" "For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Du kan ikkje lengre legge inn notisar på denne sida." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Eit problem oppstod ved lagring av notis." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Eit problem oppstod ved lagring av notis." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Brukaren har inga profil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Klarte ikkje å lagra Twitter-innstillingane dine!" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." msgstr "Brukaren tillet deg ikkje å tinga meldingane sine." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Brukar har blokkert deg." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Ikkje tinga." -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Kan ikkje sletta tinging." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Kan ikkje sletta tinging." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Kan ikkje sletta tinging." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, fuzzy, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Melding til %1$s på %2$s" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Kunne ikkje laga gruppa." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Kunne ikkje bli med i gruppa." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Kunne ikkje bli med i gruppa." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Kunne ikkje lagra abonnement." diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po index b6fdbc0b0..b643ab6f7 100644 --- a/locale/pl/LC_MESSAGES/statusnet.po +++ b/locale/pl/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:20+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:43+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pl\n" "X-Message-Group: out-statusnet\n" @@ -172,7 +172,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -182,7 +182,7 @@ msgstr "" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." @@ -369,9 +369,8 @@ msgid "Could not delete favorite." msgstr "Nie można usunąć ulubionego wpisu." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Nie można obserwować użytkownika: nie odnaleziono użytkownika." +msgstr "Nie można obserwować użytkownika: nie odnaleziono profilu." #: actions/apifriendshipscreate.php:118 #, php-format @@ -388,9 +387,9 @@ msgid "You cannot unfollow yourself." msgstr "Nie można zrezygnować z obserwacji samego siebie." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Należy dostarczyć dwa identyfikatory lub nazwy użytkowników." +msgstr "" +"Należy dostarczyć dwa prawidłowe identyfikatory lub nazwy użytkowników." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -1340,7 +1339,8 @@ msgstr "Nieprawidłowy alias: \"%s\"" msgid "Could not update group." msgstr "Nie można zaktualizować grupy." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Nie można utworzyć aliasów." @@ -2490,7 +2490,6 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Aktualizacje pasujące do wyszukiwanego terminu \"%1$s\" na %2$s." #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" @@ -3514,7 +3513,7 @@ msgid "Replies feed for %s (Atom)" msgstr "Kanał odpowiedzi dla użytkownika %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." @@ -3532,7 +3531,7 @@ msgstr "" "[dołączyć do grup](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3714,7 +3713,7 @@ msgstr "" "trochę światła." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" @@ -3723,7 +3722,7 @@ msgstr "" "interesującego, aby chcieli dodać to do swoich ulubionych. :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " @@ -3912,13 +3911,13 @@ msgstr "" "teraz jest dobry czas, aby zacząć. :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." msgstr "" -"Można spróbować szturchnąć użytkownika %1$s lub [wysłać coś, co wymaga jego " -"uwagi](%%%%action.newnotice%%%%?status_textarea=%2$s)." +"Można spróbować szturchnąć użytkownika %1$s lub [wysłać coś wymagajacego " +"jego uwagi](%%%%action.newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4304,7 +4303,8 @@ msgstr "Zapisz ustawienia migawki" msgid "You are not subscribed to that profile." msgstr "Nie jesteś subskrybowany do tego profilu." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Nie można zapisać subskrypcji." @@ -4794,88 +4794,125 @@ msgstr "Wersja" msgid "Author(s)" msgstr "Autorzy" -#: classes/File.php:185 -#, fuzzy, php-format +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"Żaden plik nie może być większy niż %d bajty, a wysłany plik miał %d bajty. " -"Spróbuj wysłać mniejszą wersję." +"Żaden plik nie może być większy niż %1$d bajty, a wysłany plik miał %2$d " +"bajty. Proszę spróbować wysłać mniejszą wersję." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Plik tej wielkości przekroczyłby przydział użytkownika wynoszący %d bajty." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" "Plik tej wielkości przekroczyłby miesięczny przydział użytkownika wynoszący %" "d bajty." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Nieprawidłowy rozmiar." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Dołączenie do grupy nie powiodło się." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Nie jest częścią grupy." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Opuszczenie grupy nie powiodło się." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Nie można zaktualizować lokalnej grupy." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Nie można utworzyć tokenów loginów dla %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Zablokowano wysyłanie bezpośrednich wiadomości." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Nie można wprowadzić wiadomości." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Nie można zaktualizować wiadomości za pomocą nowego adresu URL." -#: classes/Notice.php:96 -#, php-format -msgid "No such profile (%d) for notice (%d)" -msgstr "" +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 +#, fuzzy, php-format +msgid "No such profile (%1$d) for notice (%2$d)." +msgstr "Brak profilu (%d) dla wpisu (%d)" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Błąd bazy danych podczas wprowadzania znacznika mieszania: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problem podczas zapisywania wpisu. Za długi." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problem podczas zapisywania wpisu. Nieznany użytkownik." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Za dużo wpisów w za krótkim czasie, weź głęboki oddech i wyślij ponownie za " "kilka minut." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4883,76 +4920,121 @@ msgstr "" "Za dużo takich samych wiadomości w za krótkim czasie, weź głęboki oddech i " "wyślij ponownie za kilka minut." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Zabroniono ci wysyłania wpisów na tej witrynie." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problem podczas zapisywania wpisu." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 #, fuzzy +msgid "Missing profile." +msgstr "Użytkownik nie posiada profilu." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 msgid "Unable to save tag." -msgstr "Nie można zapisać wpisu witryny." +msgstr "Nie można zapisać etykiety." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Zablokowano subskrybowanie." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Już subskrybowane." -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Użytkownik zablokował cię." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Niesubskrybowane." -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Nie można usunąć autosubskrypcji." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Nie można usunąć tokenu subskrypcji OMB." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Nie można usunąć subskrypcji." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Witaj w %1$s, @%2$s." -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Nie można utworzyć grupy." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Nie można ustawić adresu URI grupy." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Nie można ustawić członkostwa w grupie." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Nie można zapisać informacji o lokalnej grupie." diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index 1591492ac..14861b9f3 100644 --- a/locale/pt/LC_MESSAGES/statusnet.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:22+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:44+0000\n" "Language-Team: Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt\n" "X-Message-Group: out-statusnet\n" @@ -168,7 +168,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -177,13 +177,13 @@ msgstr "" "qualquer coisa à sua atenção](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." msgstr "" -"Podia [registar uma conta](%%action.register%%) e depois tocar %s ou " -"publicar uma nota à sua atenção." +"Podia [registar uma conta](%%%%action.register%%%%) e depois dar um toque em " +"%s ou publicar uma nota à sua atenção." #. TRANS: H1 text #: actions/all.php:182 @@ -363,9 +363,8 @@ msgid "Could not delete favorite." msgstr "Não foi possível eliminar o favorito." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Não foi possível seguir utilizador: Utilizador não encontrado." +msgstr "Não foi possível seguir o utilizador: o perfil não foi encontrado." #: actions/apifriendshipscreate.php:118 #, php-format @@ -382,9 +381,8 @@ msgid "You cannot unfollow yourself." msgstr "Não pode deixar de seguir-se a si próprio." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Devem ser fornecidos dois nomes de utilizador ou utilizadors." +msgstr "Têm de ser fornecidos dois IDs ou nomes de utilizador válidos." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -1338,7 +1336,8 @@ msgstr "Nome alternativo inválido: \"%s\"" msgid "Could not update group." msgstr "Não foi possível actualizar o grupo." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Não foi possível criar os nomes alternativos." @@ -2492,12 +2491,11 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Actualizações que contêm o termo \"%1$s\" em %2$s!" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" -"Este utilizador não aceita toques ou ainda não confirmou ou forneceu o " -"endereço electrónico." +"Este utilizador não aceita toques ou ainda não confirmou ou forneceu um " +"correio electrónico." #: actions/nudge.php:94 msgid "Nudge sent" @@ -3524,13 +3522,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de respostas a %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." msgstr "" "Estas são as notas de resposta a %1$s, mas %2$s ainda não recebeu nenhuma " -"resposta." +"nota à sua atenção." #: actions/replies.php:204 #, php-format @@ -3542,7 +3540,7 @@ msgstr "" "[juntar-se a grupos](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3725,7 +3723,7 @@ msgstr "" "relevância." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" @@ -3734,15 +3732,15 @@ msgstr "" "que mude este estado de coisas :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" "%s ainda não adicionou nenhuma nota às favoritas. Que tal [registar uma " -"conta](%%action.register%%) e publicar algo interessante que mude este " -"estado de coisas :)" +"conta](%%%%action.register%%%%) e publicar algo tão interessante que mude " +"este estado de coisas :)" #: actions/showfavorites.php:243 msgid "This is a way to share what you like." @@ -3922,7 +3920,7 @@ msgstr "" "esta seria uma óptima altura para começar :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4314,7 +4312,8 @@ msgstr "Gravar configurações do instantâneo" msgid "You are not subscribed to that profile." msgstr "Não subscreveu esse perfil." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Não foi possível gravar a subscrição." @@ -4801,86 +4800,123 @@ msgstr "Versão" msgid "Author(s)" msgstr "Autores" -#: classes/File.php:185 -#, fuzzy, php-format +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"Nenhum ficheiro pode ter mais de %d bytes e o que enviou tinha %d bytes. " -"Tente carregar uma versão menor." +"Nenhum ficheiro pode ter mais de %1$d bytes e o que enviou tinha %2$d bytes. " +"Tente enviar uma versão mais pequena." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" "Um ficheiro desta dimensão excederia a sua quota de utilizador de %d bytes." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Tamanho inválido." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Entrada no grupo falhou." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Não faz parte do grupo." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Saída do grupo falhou." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Não foi possível actualizar o grupo local." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Não foi possível criar a chave de entrada para %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Está proibido de enviar mensagens directas." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Não foi possível inserir a mensagem." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Não foi possível actualizar a mensagem com a nova URI." -#: classes/Notice.php:96 -#, php-format -msgid "No such profile (%d) for notice (%d)" -msgstr "" +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 +#, fuzzy, php-format +msgid "No such profile (%1$d) for notice (%2$d)." +msgstr "Não existe o perfil (%d) para a nota (%d)" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Erro na base de dados ao inserir o elemento criptográfico: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problema na gravação da nota. Demasiado longa." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problema na gravação da nota. Utilizador desconhecido." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Demasiadas notas, demasiado rápido; descanse e volte a publicar daqui a " "alguns minutos." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4888,76 +4924,121 @@ msgstr "" "Demasiadas mensagens duplicadas, demasiado rápido; descanse e volte a " "publicar daqui a alguns minutos." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Está proibido de publicar notas neste site." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problema na gravação da nota." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problema na gravação da caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 #, fuzzy +msgid "Missing profile." +msgstr "Utilizador não tem perfil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 msgid "Unable to save tag." -msgstr "Não foi possível gravar o aviso do site." +msgstr "Não foi possível gravar a categoria." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Foi bloqueado de fazer subscrições" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Já subscrito!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "O utilizador bloqueou-o." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Não subscrito!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Não foi possível apagar a auto-subscrição." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Não foi possível apagar a chave de subscrição OMB." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Não foi possível apagar a subscrição." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "%1$s dá-lhe as boas-vindas, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Não foi possível criar o grupo." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Não foi possível configurar a URI do grupo." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Não foi possível configurar membros do grupo." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Não foi possível gravar a informação do grupo local." diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index d0897340b..0c9150517 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -13,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:24+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:46+0000\n" "Language-Team: Brazilian Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: out-statusnet\n" @@ -1353,7 +1353,8 @@ msgstr "Apelido inválido: \"%s\"" msgid "Could not update group." msgstr "Não foi possível atualizar o grupo." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Não foi possível criar os apelidos." @@ -4341,7 +4342,8 @@ msgstr "Salvar as configurações de estatísticas" msgid "You are not subscribed to that profile." msgstr "Você não está assinando esse perfil." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Não foi possível salvar a assinatura." @@ -4832,7 +4834,14 @@ msgstr "Versão" msgid "Author(s)" msgstr "Autor(es)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4841,76 +4850,106 @@ msgstr "" "Nenhum arquivo pode ser maior que %d bytes e o arquivo que você enviou " "possui %d bytes. Experimente enviar uma versão menor." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "Um arquivo deste tamanho excederá a sua conta de %d bytes." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Um arquivo deste tamanho excederá a sua conta mensal de %d bytes." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Tamanho inválido." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Não foi possível se unir ao grupo." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Não é parte de um grupo." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Não foi possível deixar o grupo." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Não foi possível atualizar o grupo local." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Não foi possível criar o token de autenticação para %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Você está proibido de enviar mensagens diretas." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Não foi possível inserir a mensagem." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Não foi possível atualizar a mensagem com a nova URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Erro no banco de dados durante a inserção da hashtag: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problema no salvamento da mensagem. Ela é muito extensa." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problema no salvamento da mensagem. Usuário desconhecido." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Muitas mensagens em um período curto de tempo; dê uma respirada e publique " "novamente daqui a alguns minutos." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4918,76 +4957,122 @@ msgstr "" "Muitas mensagens duplicadas em um período curto de tempo; dê uma respirada e " "publique novamente daqui a alguns minutos." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Você está proibido de publicar mensagens neste site." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problema no salvamento da mensagem." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problema no salvamento das mensagens recebidas do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "O usuário não tem perfil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Não foi possível salvar os avisos do site." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Você está proibido de assinar." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Já assinado!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "O usuário bloqueou você." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Não assinado!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Não foi possível excluir a auto-assinatura." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Não foi possível excluir o token de assinatura OMB." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Não foi possível excluir a assinatura." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Bem vindo(a) a %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Não foi possível criar o grupo." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Não foi possível definir a URI do grupo." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Não foi possível configurar a associação ao grupo." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Não foi possível salvar a informação do grupo local." diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po index 0fbf8a37c..415cf0d9a 100644 --- a/locale/ru/LC_MESSAGES/statusnet.po +++ b/locale/ru/LC_MESSAGES/statusnet.po @@ -1,6 +1,7 @@ # Translation of StatusNet to Russian # # Author@translatewiki.net: Brion +# Author@translatewiki.net: Eleferen # Author@translatewiki.net: Kirill # Author@translatewiki.net: Lockal # Author@translatewiki.net: Rubin @@ -12,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:25+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:48+0000\n" "Language-Team: Russian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: out-statusnet\n" @@ -180,13 +181,13 @@ msgstr "" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." msgstr "" -"Почему бы не [зарегистрироваться](%%action.register%%), чтобы «подтолкнуть» %" -"s или отправить запись для привлечения его или её внимания?" +"Почему бы не [зарегистрироваться](%%%%action.register%%%%), чтобы " +"«подтолкнуть» %s или отправить запись для привлечения его или её внимания?" #. TRANS: H1 text #: actions/all.php:182 @@ -1348,7 +1349,8 @@ msgstr "Неверный алиас: «%s»" msgid "Could not update group." msgstr "Не удаётся обновить информацию о группе." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Не удаётся создать алиасы." @@ -4327,7 +4329,8 @@ msgstr "Сохранить настройки снимка" msgid "You are not subscribed to that profile." msgstr "Вы не подписаны на этот профиль." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Не удаётся сохранить подписку." @@ -4817,7 +4820,14 @@ msgstr "Версия" msgid "Author(s)" msgstr "Автор(ы)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4826,76 +4836,106 @@ msgstr "" "Файл не может быть больше %d байт, тогда как отправленный вами файл содержал " "%d байт. Попробуйте загрузить меньшую версию." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "Файл такого размера превысит вашу пользовательскую квоту в %d байта." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Файл такого размера превысит вашу месячную квоту в %d байта." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Неверный размер." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Не удаётся присоединиться к группе." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Не является частью группы." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Не удаётся покинуть группу." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Не удаётся обновить локальную группу." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Не удаётся создать токен входа для %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Вы заблокированы от отправки прямых сообщений." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Не удаётся вставить сообщение." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Не удаётся обновить сообщение с новым URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Ошибка баз данных при вставке хеш-тегов: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Проблемы с сохранением записи. Слишком длинно." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Проблема при сохранении записи. Неизвестный пользователь." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Слишком много записей за столь короткий срок; передохните немного и " "попробуйте вновь через пару минут." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4903,76 +4943,122 @@ msgstr "" "Слишком много одинаковых записей за столь короткий срок; передохните немного " "и попробуйте вновь через пару минут." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Вам запрещено поститься на этом сайте (бан)" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Проблемы с сохранением записи." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Проблемы с сохранением входящих сообщений группы." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "У пользователя нет профиля." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Не удаётся сохранить уведомление сайта." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Вы заблокированы от подписки." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Уже подписаны!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Пользователь заблокировал Вас." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Не подписаны!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Невозможно удалить самоподписку." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Не удаётся удалить подписочный жетон OMB." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Не удаётся удалить подписку." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Добро пожаловать на %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Не удаётся создать группу." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Не удаётся назначить URI группы." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Не удаётся назначить членство в группе." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Не удаётся сохранить информацию о локальной группе." diff --git a/locale/statusnet.pot b/locale/statusnet.pot index 4efa8c4c8..b491645b8 100644 --- a/locale/statusnet.pot +++ b/locale/statusnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1302,7 +1302,8 @@ msgstr "" msgid "Could not update group." msgstr "" -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "" @@ -4075,7 +4076,8 @@ msgstr "" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "" @@ -4524,155 +4526,233 @@ msgstr "" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +msgid "Invalid filename." +msgstr "" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "" -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "" -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +msgid "Missing profile." +msgstr "" + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 msgid "Unable to save tag." msgstr "" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "" -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +msgid "Could not delete self-subscription." msgstr "" -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +msgid "Could not delete subscription OMB token." msgstr "" -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +msgid "Could not delete subscription." msgstr "" -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "" -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "" diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po index 2a161e626..4da869ece 100644 --- a/locale/sv/LC_MESSAGES/statusnet.po +++ b/locale/sv/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:27+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:49+0000\n" "Language-Team: Swedish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: sv\n" "X-Message-Group: out-statusnet\n" @@ -1335,7 +1335,8 @@ msgstr "Ogiltigt alias: \"%s\"" msgid "Could not update group." msgstr "Kunde inte uppdatera grupp." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Kunde inte skapa alias." @@ -4302,7 +4303,8 @@ msgstr "Spara inställningar för ögonblicksbild" msgid "You are not subscribed to that profile." msgstr "Du är inte prenumerat hos den profilen." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Kunde inte spara prenumeration." @@ -4793,7 +4795,14 @@ msgstr "Version" msgid "Author(s)" msgstr "Författare" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, fuzzy, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " @@ -4802,76 +4811,106 @@ msgstr "" "Inga filer får vara större än %d byte och filen du skickade var %d byte. " "Prova att ladda upp en mindre version." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "En så här stor fil skulle överskrida din användarkvot på %d byte." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "En sådan här stor fil skulle överskrida din månatliga kvot på %d byte." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Ogiltig storlek." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Gruppanslutning misslyckades." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Inte med i grupp." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Grupputträde misslyckades." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Kunde inte uppdatera lokal grupp." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Kunde inte skapa inloggnings-token för %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Du är utestängd från att skicka direktmeddelanden." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Kunde inte infoga meddelande." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Kunde inte uppdatera meddelande med ny URI." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Databasfel vid infogning av hashtag: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Problem vid sparande av notis. För långt." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Problem vid sparande av notis. Okänd användare." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "För många notiser för snabbt; ta en vilopaus och posta igen om ett par " "minuter." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4879,76 +4918,122 @@ msgstr "" "För många duplicerade meddelanden för snabbt; ta en vilopaus och posta igen " "om ett par minuter." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Du är utestängd från att posta notiser på denna webbplats." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Problem med att spara notis." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Problem med att spara gruppinkorg." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Användaren har ingen profil." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Kunde inte spara webbplatsnotis." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Du har blivit utestängd från att prenumerera." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Redan prenumerant!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Användaren har blockerat dig." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Inte prenumerant!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Kunde inte ta bort själv-prenumeration." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Kunde inte radera OMB prenumerations-token." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Kunde inte ta bort prenumeration." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Välkommen till %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Kunde inte skapa grupp." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Kunde inte ställa in grupp-URI." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Kunde inte ställa in gruppmedlemskap." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Kunde inte spara lokal gruppinformation." diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po index d3fda5823..5f818c819 100644 --- a/locale/te/LC_MESSAGES/statusnet.po +++ b/locale/te/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:29+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:51+0000\n" "Language-Team: Telugu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: te\n" "X-Message-Group: out-statusnet\n" @@ -1328,7 +1328,8 @@ msgstr "తప్పుడు మారుపేరు: \"%s\"" msgid "Could not update group." msgstr "గుంపుని తాజాకరించలేకున్నాం." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "మారుపేర్లని సృష్టించలేకపోయాం." @@ -4225,7 +4226,8 @@ msgstr "సైటు అమరికలను భద్రపరచు" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "చందాని సృష్టించలేకపోయాం." @@ -4685,161 +4687,242 @@ msgstr "సంచిక" msgid "Author(s)" msgstr "రచయిత(లు)" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "తప్పుడు పరిమాణం." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "గుంపులో చేరడం విఫలమైంది." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "గుంపులో భాగం కాదు." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "గుంపు నుండి వైదొలగడం విఫలమైంది." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "స్థానిక గుంపుని తాజాకరించలేకున్నాం." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "మారుపేర్లని సృష్టించలేకపోయాం." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "నేరుగా సందేశాలు పంపడం నుండి మిమ్మల్ని నిషేధించారు." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "అవతారాన్ని పెట్టడంలో పొరపాటు" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "నోటీసుని భద్రపరచడంలో పొరపాటు. చాలా పొడవుగా ఉంది." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "నోటీసుని భద్రపరచడంలో పొరపాటు. గుర్తుతెలియని వాడుకరి." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "చాలా ఎక్కువ నోటీసులు అంత వేగంగా; కాస్త ఊపిరి తీసుకుని మళ్ళీ కొన్ని నిమిషాల తర్వాత వ్రాయండి." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "ఈ సైటులో నోటీసులు రాయడం నుండి మిమ్మల్ని నిషేధించారు." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "వాడుకరికి ప్రొఫైలు లేదు." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "చందాచేరడం నుండి మిమ్మల్ని నిషేధించారు." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "ఇప్పటికే చందాచేరారు!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "వాడుకరి మిమ్మల్ని నిరోధించారు." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "చందాదార్లు" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "చందాని తొలగించలేకపోయాం." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "చందాని తొలగించలేకపోయాం." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "చందాని తొలగించలేకపోయాం." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "@%2$s, %1$sకి స్వాగతం!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "గుంపుని సృష్టించలేకపోయాం." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "గుంపు సభ్యత్వాన్ని అమర్చలేకపోయాం." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "గుంపు సభ్యత్వాన్ని అమర్చలేకపోయాం." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "చందాని సృష్టించలేకపోయాం." diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po index e3a63e80e..636d991f7 100644 --- a/locale/tr/LC_MESSAGES/statusnet.po +++ b/locale/tr/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:30+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:53+0000\n" "Language-Team: Turkish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tr\n" "X-Message-Group: out-statusnet\n" @@ -1387,7 +1387,8 @@ msgstr "%s Geçersiz başlangıç sayfası" msgid "Could not update group." msgstr "Kullanıcı güncellenemedi." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "Avatar bilgisi kaydedilemedi" @@ -4322,7 +4323,8 @@ msgstr "Ayarlar" msgid "You are not subscribed to that profile." msgstr "Bize o profili yollamadınız" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "Abonelik oluşturulamadı." @@ -4796,170 +4798,251 @@ msgstr "Kişisel" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Geçersiz büyüklük." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Böyle bir durum mesajı yok." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Kullanıcı güncellenemedi." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Böyle bir durum mesajı yok." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Kullanıcı güncellenemedi." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Avatar bilgisi kaydedilemedi" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Cevap eklenirken veritabanı hatası: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Durum mesajını kaydederken hata oluştu." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "Durum mesajını kaydederken hata oluştu." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Durum mesajını kaydederken hata oluştu." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Durum mesajını kaydederken hata oluştu." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Kullanıcının profili yok." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Durum mesajını kaydederken hata oluştu." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 #, fuzzy msgid "User has blocked you." msgstr "Kullanıcının profili yok." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Bu kullanıcıyı zaten takip etmiyorsunuz!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Abonelik silinemedi." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Abonelik silinemedi." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Abonelik silinemedi." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 #, fuzzy msgid "Could not create group." msgstr "Avatar bilgisi kaydedilemedi" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Abonelik oluşturulamadı." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "Abonelik oluşturulamadı." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Abonelik oluşturulamadı." diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po index 0413684ca..e9c9becfb 100644 --- a/locale/uk/LC_MESSAGES/statusnet.po +++ b/locale/uk/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:32+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:21:54+0000\n" "Language-Team: Ukrainian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: out-statusnet\n" @@ -170,7 +170,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -179,7 +179,7 @@ msgstr "" "йому написати](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." @@ -365,7 +365,6 @@ msgid "Could not delete favorite." msgstr "Не можна видалити зі списку обраних." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." msgstr "Не вдалося додати користувача: користувача не знайдено." @@ -383,9 +382,8 @@ msgid "You cannot unfollow yourself." msgstr "Ви не можете відписатись від самого себе." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Два ID або імені_у_мережі повинні підтримуватись." +msgstr "Два ID або імені у мережі мають бути представлені." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -1343,7 +1341,8 @@ msgstr "Помилкове додаткове ім’я: «%s»" msgid "Could not update group." msgstr "Не вдалося оновити групу." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 msgid "Could not create aliases." msgstr "Неможна призначити додаткові імена." @@ -2498,7 +2497,6 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Всі оновлення за збігом з «%s» на %2$s!" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" @@ -3523,7 +3521,7 @@ msgid "Replies feed for %s (Atom)" msgstr "Стрічка відповідей до %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." @@ -3541,7 +3539,7 @@ msgstr "" "більшої кількості людей або [приєднавшись до груп](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3723,22 +3721,22 @@ msgstr "" "нього увагу інших." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" msgstr "" -"%s поки що не вподобав жодних дописів. Може Ви б написали йому щось " +"%s поки що не вподобав жодного допису. Може Ви б написали йому щось " "цікаве? :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" -"%s поки що не вподобав жодних дописів. Чому б не [зареєструватись](%%%%" +"%s поки що не вподобав жодного допису. Чому б не [зареєструватись](%%%%" "action.register%%%%) і не написати щось цікаве, що мало б сподобатись цьому " "користувачеві :)" @@ -3920,7 +3918,7 @@ msgstr "" "аби розпочати! :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4314,7 +4312,8 @@ msgstr "Зберегти налаштування знімку" msgid "You are not subscribed to that profile." msgstr "Ви не підписані до цього профілю." -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 msgid "Could not save subscription." msgstr "Не вдалося зберегти підписку." @@ -4802,85 +4801,122 @@ msgstr "Версія" msgid "Author(s)" msgstr "Автор(и)" -#: classes/File.php:185 -#, fuzzy, php-format +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" "Ні, файл не може бути більшим за %d байтів, а те, що Ви хочете надіслати, " -"важить %d байтів. Спробуйте меншу версію." +"важить %d байтів. Спробуйте завантажити меншу версію." -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "Розміри цього файлу перевищують Вашу квоту на %d байтів." -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "Розміри цього файлу перевищують Вашу місячну квоту на %d байтів." -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Недійсний розмір." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 msgid "Group join failed." msgstr "Не вдалося приєднатись до групи." -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 msgid "Not part of group." msgstr "Не є частиною групи." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 msgid "Group leave failed." msgstr "Не вдалося залишити групу." -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 msgid "Could not update local group." msgstr "Не вдається оновити локальну групу." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, php-format msgid "Could not create login token for %s" msgstr "Не вдалося створити токен входу для %s" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "Вам заборонено надсилати прямі повідомлення." -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "Не можна долучити повідомлення." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "Не можна оновити повідомлення з новим URI." -#: classes/Notice.php:96 -#, php-format -msgid "No such profile (%d) for notice (%d)" -msgstr "" +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 +#, fuzzy, php-format +msgid "No such profile (%1$d) for notice (%2$d)." +msgstr "Немає такого профілю (%d) для повідомлення (%d)" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, php-format msgid "Database error inserting hashtag: %s" msgstr "Помилка бази даних при додаванні хеш-теґу: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 msgid "Problem saving notice. Too long." msgstr "Проблема при збереженні допису. Надто довге." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 msgid "Problem saving notice. Unknown user." msgstr "Проблема при збереженні допису. Невідомий користувач." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" "Дуже багато дописів за короткий термін; ходіть подихайте повітрям і " "повертайтесь за кілька хвилин." -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." @@ -4888,76 +4924,121 @@ msgstr "" "Дуже багато повідомлень за короткий термін; ходіть подихайте повітрям і " "повертайтесь за кілька хвилин." -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "Вам заборонено надсилати дописи до цього сайту." -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Проблема при збереженні допису." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 msgid "Problem saving group inbox." msgstr "Проблема при збереженні вхідних дописів для групи." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 #, fuzzy +msgid "Missing profile." +msgstr "Користувач не має профілю." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 msgid "Unable to save tag." -msgstr "Не вдається зберегти повідомлення сайту." +msgstr "Не вдається зберегти теґ." -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "Вас позбавлено можливості підписатись." -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "Вже підписаний!" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "Користувач заблокував Вас." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 msgid "Not subscribed!" msgstr "Не підписано!" -#: classes/Subscription.php:173 -msgid "Couldn't delete self-subscription." +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +#, fuzzy +msgid "Could not delete self-subscription." msgstr "Не можу видалити самопідписку." -#: classes/Subscription.php:200 -msgid "Couldn't delete subscription OMB token." +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +#, fuzzy +msgid "Could not delete subscription OMB token." msgstr "Не вдається видалити токен підписки OMB." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Не вдалося видалити підписку." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "Вітаємо на %1$s, @%2$s!" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "Не вдалося створити нову групу." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 msgid "Could not set group URI." msgstr "Не вдалося встановити URI групи." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 msgid "Could not set group membership." msgstr "Не вдалося встановити членство." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 msgid "Could not save local group info." msgstr "Не вдалося зберегти інформацію про локальну групу." diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po index b84f746d8..aa714196f 100644 --- a/locale/vi/LC_MESSAGES/statusnet.po +++ b/locale/vi/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:33+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:22:07+0000\n" "Language-Team: Vietnamese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: vi\n" "X-Message-Group: out-statusnet\n" @@ -1395,7 +1395,8 @@ msgstr "Trang chủ '%s' không hợp lệ" msgid "Could not update group." msgstr "Không thể cập nhật thành viên." -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "Không thể tạo favorite." @@ -4452,7 +4453,8 @@ msgstr "Thay đổi hình đại diện" msgid "You are not subscribed to that profile." msgstr "Bạn chưa cập nhật thông tin riêng" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "Không thể tạo đăng nhận." @@ -4936,173 +4938,254 @@ msgstr "Cá nhân" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "Kích thước không hợp lệ." + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "Thông tin nhóm" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "Không thể cập nhật thành viên." -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "Thông tin nhóm" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "Không thể cập nhật thành viên." -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "Không thể tạo favorite." -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "Thư bạn đã gửi" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 #, fuzzy msgid "Could not insert message." msgstr "Không thể chèn thêm vào đăng nhận." -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 #, fuzzy msgid "Could not update message with new URI." msgstr "Không thể cập nhật thông tin user với địa chỉ email đã được xác nhận." -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "Lỗi cơ sở dữ liệu khi chèn trả lời: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "Có lỗi xảy ra khi lưu tin nhắn." -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "Có lỗi xảy ra khi lưu tin nhắn." -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "Có lỗi xảy ra khi lưu tin nhắn." -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "Có lỗi xảy ra khi lưu tin nhắn." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%s (%s)" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "Người dùng không có thông tin." + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "Không thể lưu thông tin Twitter của bạn!" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 #, fuzzy msgid "User has blocked you." msgstr "Người dùng không có thông tin." -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "Chưa đăng nhận!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "Không thể xóa đăng nhận." -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "Không thể xóa đăng nhận." -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "Không thể xóa đăng nhận." -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, fuzzy, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "%s chào mừng bạn " -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 #, fuzzy msgid "Could not create group." msgstr "Không thể tạo favorite." -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "Không thể tạo đăng nhận." -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "Không thể tạo đăng nhận." -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "Không thể tạo đăng nhận." diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index 80b843c65..286e41e06 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:35+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:22:09+0000\n" "Language-Team: Simplified Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: out-statusnet\n" @@ -1397,7 +1397,8 @@ msgstr "主页'%s'不正确" msgid "Could not update group." msgstr "无法更新组" -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "无法创建收藏。" @@ -4396,7 +4397,8 @@ msgstr "头像设置" msgid "You are not subscribed to that profile." msgstr "您未告知此个人信息" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "无法删除订阅。" @@ -4879,172 +4881,253 @@ msgstr "个人" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "大小不正确。" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "组资料" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "无法更新组" -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "组资料" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "无法更新组" -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "无法创建收藏。" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 #, fuzzy msgid "You are banned from sending direct messages." msgstr "发送消息出错。" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "无法添加信息。" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "无法添加新URI的信息。" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "添加标签时数据库出错:%s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "保存通告时出错。" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "保存通告时出错。" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "你在短时间里发布了过多的消息,请深呼吸,过几分钟再发消息。" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 #, fuzzy msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "你在短时间里发布了过多的消息,请深呼吸,过几分钟再发消息。" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "在这个网站你被禁止发布消息。" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "保存通告时出错。" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "保存通告时出错。" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "用户没有个人信息。" + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "无法保存 Twitter 设置!" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 #, fuzzy msgid "You have been banned from subscribing." msgstr "那个用户阻止了你的订阅。" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 #, fuzzy msgid "User has blocked you." msgstr "用户没有个人信息。" -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "未订阅!" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "无法删除订阅。" -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "无法删除订阅。" -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "无法删除订阅。" -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, fuzzy, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "发送给 %1$s 的 %2$s 消息" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 msgid "Could not create group." msgstr "无法创建组。" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "无法删除订阅。" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "无法删除订阅。" -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "无法删除订阅。" diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index 500f913a4..2f54619b1 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-28 20:33+0000\n" -"PO-Revision-Date: 2010-07-28 20:34:36+0000\n" +"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"PO-Revision-Date: 2010-07-29 18:22:10+0000\n" "Language-Team: Traditional Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70102); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hant\n" "X-Message-Group: out-statusnet\n" @@ -1371,7 +1371,8 @@ msgstr "個人首頁連結%s無效" msgid "Could not update group." msgstr "無法更新使用者" -#: actions/editgroup.php:264 classes/User_group.php:511 +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 #, fuzzy msgid "Could not create aliases." msgstr "無法存取個人圖像資料" @@ -4240,7 +4241,8 @@ msgstr "線上即時通設定" msgid "You are not subscribed to that profile." msgstr "" -#: actions/subedit.php:83 classes/Subscription.php:132 +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 #, fuzzy msgid "Could not save subscription." msgstr "註冊失敗" @@ -4704,169 +4706,250 @@ msgstr "地點" msgid "Author(s)" msgstr "" -#: classes/File.php:185 +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 #, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -#: classes/File.php:195 +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 #, php-format msgid "A file this large would exceed your user quota of %d bytes." msgstr "" -#: classes/File.php:202 +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 #, php-format msgid "A file this large would exceed your monthly quota of %d bytes." msgstr "" -#: classes/Group_member.php:41 +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +#, fuzzy +msgid "Invalid filename." +msgstr "尺寸錯誤" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 #, fuzzy msgid "Group join failed." msgstr "無此通知" -#: classes/Group_member.php:53 +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 #, fuzzy msgid "Not part of group." msgstr "無法更新使用者" -#: classes/Group_member.php:60 +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 #, fuzzy msgid "Group leave failed." msgstr "無此通知" -#: classes/Local_group.php:41 +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 #, fuzzy msgid "Could not update local group." msgstr "無法更新使用者" -#: classes/Login_token.php:76 +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 #, fuzzy, php-format msgid "Could not create login token for %s" msgstr "無法存取個人圖像資料" -#: classes/Message.php:45 +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name / DSN found anywhere" +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 msgid "You are banned from sending direct messages." msgstr "" -#: classes/Message.php:61 +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 msgid "Could not insert message." msgstr "" -#: classes/Message.php:71 +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 msgid "Could not update message with new URI." msgstr "" -#: classes/Notice.php:96 +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 #, php-format -msgid "No such profile (%d) for notice (%d)" +msgid "No such profile (%1$d) for notice (%2$d)." msgstr "" #. TRANS: Server exception. %s are the error details. -#: classes/Notice.php:188 +#: classes/Notice.php:190 #, fuzzy, php-format msgid "Database error inserting hashtag: %s" msgstr "增加回覆時,資料庫發生錯誤: %s" -#: classes/Notice.php:257 +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 #, fuzzy msgid "Problem saving notice. Too long." msgstr "儲存使用者發生錯誤" -#: classes/Notice.php:261 +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 #, fuzzy msgid "Problem saving notice. Unknown user." msgstr "儲存使用者發生錯誤" -#: classes/Notice.php:266 +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 msgid "" "Too many notices too fast; take a breather and post again in a few minutes." msgstr "" -#: classes/Notice.php:272 +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 msgid "" "Too many duplicate messages too quickly; take a breather and post again in a " "few minutes." msgstr "" -#: classes/Notice.php:278 +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:285 msgid "You are banned from posting notices on this site." msgstr "" -#: classes/Notice.php:344 classes/Notice.php:370 +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:352 classes/Notice.php:379 msgid "Problem saving notice." msgstr "" -#: classes/Notice.php:979 +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:891 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:990 #, fuzzy msgid "Problem saving group inbox." msgstr "儲存使用者發生錯誤" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1586 +#: classes/Notice.php:1599 #, php-format msgid "RT @%1$s %2$s" msgstr "" -#: classes/Status_network.php:345 +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID. +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +#, fuzzy +msgid "Missing profile." +msgstr "無此通知" + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 #, fuzzy msgid "Unable to save tag." msgstr "新訊息" -#: classes/Subscription.php:74 lib/oauthstore.php:465 +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 msgid "You have been banned from subscribing." msgstr "" -#: classes/Subscription.php:78 +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 msgid "Already subscribed!" msgstr "" -#: classes/Subscription.php:82 +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 msgid "User has blocked you." msgstr "" -#: classes/Subscription.php:167 +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 #, fuzzy msgid "Not subscribed!" msgstr "此帳號已註冊" -#: classes/Subscription.php:173 +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 #, fuzzy -msgid "Couldn't delete self-subscription." +msgid "Could not delete self-subscription." msgstr "無法刪除帳號" -#: classes/Subscription.php:200 +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 #, fuzzy -msgid "Couldn't delete subscription OMB token." +msgid "Could not delete subscription OMB token." msgstr "無法刪除帳號" -#: classes/Subscription.php:211 -msgid "Couldn't delete subscription." +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +#, fuzzy +msgid "Could not delete subscription." msgstr "無法刪除帳號" -#: classes/User.php:363 +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 #, php-format msgid "Welcome to %1$s, @%2$s!" msgstr "" -#: classes/User_group.php:495 +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 #, fuzzy msgid "Could not create group." msgstr "無法存取個人圖像資料" -#: classes/User_group.php:504 +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 #, fuzzy msgid "Could not set group URI." msgstr "註冊失敗" -#: classes/User_group.php:525 +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 #, fuzzy msgid "Could not set group membership." msgstr "註冊失敗" -#: classes/User_group.php:539 +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 #, fuzzy msgid "Could not save local group info." msgstr "註冊失敗" -- cgit v1.2.3 From 54d723adc186150c00d21214922053c3930fe3af Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 29 Jul 2010 13:27:09 -0700 Subject: Initial fix for #2479: New post should be displayed on timeline only if it belongs there (AJAX post) Previously we pushed out your latest post into the currently visible timeline regardless of whether it belonged there or not. This could be pretty confusing! Currently we don't have clearly machine-readable info on the page and returned notice HTML to determine whether it belongs, but we can do a couple checks easily which I've added: * public timeline (always show) * 'and friends' timeline (show for your own page only) * profile timeline (show for your own page only) Other places that should be added in the future: * group timelines if it's a group your posting to * tag timelines if the post contains the tag * reply & friends timelines for people you've mentioned Currently those aren't easy since the mention/group target links in the notice HTML are using the canonical form with user or group ID, while the available navigation links we can use to identify the current page use the names. --- js/util.js | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/js/util.js b/js/util.js index 29b33097b..6a67da4bc 100644 --- a/js/util.js +++ b/js/util.js @@ -258,9 +258,10 @@ var SN = { // StatusNet form.append('

'+result+'

'); } else { + // New notice post was successful. If on our timeline, show it! + var notice = document._importNode($('li', data)[0], true); var notices = $('#notices_primary .notices'); - if (notices.length > 0) { - var notice = document._importNode($('li', data)[0], true); + if (notices.length > 0 && SN.U.belongsOnTimeline(notice)) { if ($('#'+notice.id).length === 0) { var notice_irt_value = $('#'+SN.C.S.NoticeInReplyTo).val(); var notice_irt = '#notices_primary #notice-'+notice_irt_value; @@ -281,6 +282,8 @@ var SN = { // StatusNet } } else { + // Not on a timeline that this belongs on? + // Just show a success message. result = document._importNode($('title', data)[0], true); result_title = result.textContent || result.innerHTML; form.append('

'+result_title+'

'); @@ -707,6 +710,38 @@ var SN = { // StatusNet Delete: function() { $.cookie(SN.C.S.StatusNetInstance, null); } + }, + + /** + * Check if the current page is a timeline where the current user's + * posts should be displayed immediately on success. + * + * @fixme this should be done in a saner way, with machine-readable + * info about what page we're looking at. + */ + belongsOnTimeline: function(notice) { + var action = $("body").attr('id'); + if (action == 'public') { + return true; + } + + var profileLink = $('#nav_profile a').attr('href'); + if (profileLink) { + var authorUrl = $(notice).find('.entry-title .author a.url').attr('href'); + if (authorUrl == profileLink) { + if (action == 'all' || action == 'showstream') { + // Posts always show on your own friends and profile streams. + return true; + } + } + } + + // @fixme tag, group, reply timelines should be feasible as well. + // Mismatch between id-based and name-based user/group links currently complicates + // the lookup, since all our inline mentions contain the absolute links but the + // UI links currently on the page use malleable names. + + return false; } }, -- cgit v1.2.3 From 3fa76463edf5487bdfb26dd492d4356a0637e393 Mon Sep 17 00:00:00 2001 From: James Walker Date: Wed, 28 Jul 2010 23:59:46 -0400 Subject: oops. really embarassing typo (that explains some weird behaviour) --- classes/status_network.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/status_network.ini b/classes/status_network.ini index 83226e915..b298daae4 100644 --- a/classes/status_network.ini +++ b/classes/status_network.ini @@ -1,5 +1,5 @@ [status_network] -side_id = 129 +site_id = 129 nickname = 130 hostname = 2 pathname = 2 -- cgit v1.2.3 From c2a26ba65339f7731e5e1f019704ee70c3943e94 Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 29 Jul 2010 21:03:48 -0400 Subject: removing redundant constructor --- lib/mysqlschema.php | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/lib/mysqlschema.php b/lib/mysqlschema.php index 455695366..464c718f9 100644 --- a/lib/mysqlschema.php +++ b/lib/mysqlschema.php @@ -50,21 +50,6 @@ class MysqlSchema extends Schema static $_single = null; protected $conn = null; - /** - * Constructor. Only run once for singleton object. - */ - - protected function __construct() - { - // XXX: there should be an easier way to do this. - $user = new User(); - - $this->conn = $user->getDatabaseConnection(); - - $user->free(); - - unset($user); - } /** * Main public entry point. Use this to get -- cgit v1.2.3 From 47f19988d1b0e4f64fde8a385d3205c2fd476234 Mon Sep 17 00:00:00 2001 From: James Walker Date: Thu, 29 Jul 2010 21:04:28 -0400 Subject: allow schema to work on more than one connection (namely, the Status_network DB) --- lib/schema.php | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/lib/schema.php b/lib/schema.php index 1503c96d4..e5def514e 100644 --- a/lib/schema.php +++ b/lib/schema.php @@ -47,40 +47,47 @@ if (!defined('STATUSNET')) { class Schema { - static $_single = null; + static $_static = null; protected $conn = null; /** * Constructor. Only run once for singleton object. */ - protected function __construct() + protected function __construct($conn = null) { - // XXX: there should be an easier way to do this. - $user = new User(); - - $this->conn = $user->getDatabaseConnection(); - - $user->free(); + if (is_null($conn)) { + // XXX: there should be an easier way to do this. + $user = new User(); + $conn = $user->getDatabaseConnection(); + $user->free(); + unset($user); + } - unset($user); + $this->conn = $conn; } /** * Main public entry point. Use this to get - * the singleton object. + * the schema object. * - * @return Schema the (single) Schema object + * @return Schema the Schema object for the connection */ - static function get() + static function get($conn = null) { + if (is_null($conn)) { + $key = 'default'; + } else { + $key = md5(serialize($conn->dsn)); + } + $type = common_config('db', 'type'); - if (empty(self::$_single)) { + if (empty(self::$_static[$key])) { $schemaClass = ucfirst($type).'Schema'; - self::$_single = new $schemaClass(); + self::$_static[$key] = new $schemaClass($conn); } - return self::$_single; + return self::$_static[$key]; } /** -- cgit v1.2.3 From e7534224802f3de009d5d29563070392c376f100 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Fri, 30 Jul 2010 19:15:07 +0200 Subject: * Address i18n related FIXMEs after talk with Brion. * Tweak message --- classes/Memcached_DataObject.php | 12 ++++++------ classes/Safe_DataObject.php | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index 04cd6c120..7768fe757 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -235,7 +235,7 @@ class Memcached_DataObject extends Safe_DataObject $pkey[] = $key; $pval[] = self::valueString($this->$key); } else { - // FIXME: i18n? + // Low level exception. No need for i18n as discussed with Brion. throw new Exception("Unknown key type $key => $type for " . $this->tableName()); } } @@ -283,7 +283,7 @@ class Memcached_DataObject extends Safe_DataObject } else if ($type == 'fulltext') { $search_engine = new MySQLSearch($this, $table); } else { - // FIXME: i18n? + // Low level exception. No need for i18n as discussed with Brion. throw new ServerException('Unknown search type: ' . $type); } } else { @@ -530,7 +530,7 @@ class Memcached_DataObject extends Safe_DataObject if (!$dsn) { // TRANS: Exception thrown when database name or Data Source Name could not be found. - throw new Exception(_("No database name / DSN found anywhere")); + throw new Exception(_("No database name or DSN found anywhere.")); } return $dsn; @@ -580,7 +580,7 @@ class Memcached_DataObject extends Safe_DataObject if ($message instanceof PEAR_Error) { $message = $message->getMessage(); } - // FIXME: i18n? + // Low level exception. No need for i18n as discussed with Brion. throw new ServerException("[$id] DB_DataObject error [$type]: $message"); } @@ -623,11 +623,11 @@ class Memcached_DataObject extends Safe_DataObject case 'sql': case 'datetime': case 'time': - // FIXME: i18n? + // Low level exception. No need for i18n as discussed with Brion. throw new ServerException("Unhandled DB_DataObject_Cast type passed as cacheKey value: '$v->type'"); break; default: - // FIXME: i18n? + // Low level exception. No need for i18n as discussed with Brion. throw new ServerException("Unknown DB_DataObject_Cast type passed as cacheKey value: '$v->type'"); break; } diff --git a/classes/Safe_DataObject.php b/classes/Safe_DataObject.php index 16d7165d6..f0ea6b136 100644 --- a/classes/Safe_DataObject.php +++ b/classes/Safe_DataObject.php @@ -116,7 +116,7 @@ class Safe_DataObject extends DB_DataObject if ($this->_call($method, $params, $return)) { return $return; } else { - // FIXME: i18n? + // Low level exception. No need for i18n as discussed with Brion. throw new Exception('Call to undefined method ' . get_class($this) . '::' . $method); } @@ -242,7 +242,7 @@ class Safe_DataObject extends DB_DataObject $this->debug("Cant find database schema: {$this->_database}/{$this->__table} \n". "in links file data: " . print_r($_DB_DATAOBJECT['INI'],true),"databaseStructure",5); // we have to die here!! - it causes chaos if we don't (including looping forever!) - // FIXME: i18n? + // Low level exception. No need for i18n as discussed with Brion. $this->raiseError( "Unable to load schema for database and table (turn debugging up to 5 for full error message)", DB_DATAOBJECT_ERROR_INVALIDARGS, PEAR_ERROR_DIE); return false; } -- cgit v1.2.3 From 8f8588026b9e0a2ab9b6d7b06b485379f02310bc Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Fri, 30 Jul 2010 19:25:55 +0200 Subject: Fixes for messages after review by Brion. --- classes/File.php | 2 +- classes/Notice.php | 4 ++-- classes/Profile.php | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/classes/File.php b/classes/File.php index 18ad82892..407fd3211 100644 --- a/classes/File.php +++ b/classes/File.php @@ -140,7 +140,7 @@ class File extends Memcached_DataObject $redir_data = array(); } else { // TRANS: Server exception thrown when a URL cannot be processed. - throw new ServerException(_("Cannot process URL '$given_url'")); + throw new ServerException(sprintf(_("Cannot process URL '%s'"), $given_url)); } // TODO: max field length if ($redir_url === $given_url || strlen($redir_url) > 255 || !$followRedirects) { diff --git a/classes/Notice.php b/classes/Notice.php index 12467c850..3297c7a59 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1094,8 +1094,8 @@ class Notice extends Memcached_DataObject if (!$id) { common_log_db_error($reply, 'INSERT', __FILE__); // TRANS: Server exception thrown when a reply cannot be saved. - // TRANS: First arg is a notice ID, second ID is the ID of the mentioned user. - throw new ServerException(_("Couldn't save reply for {$this->id}, {$mentioned->id}")); + // TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user. + throw new ServerException(sprintf(_("Could not save reply for %1$d, %2$d."), $this->id, $mentioned->id)); } else { $replied[$mentioned->id] = 1; self::blow('reply:stream:%d', $mentioned->id); diff --git a/classes/Profile.php b/classes/Profile.php index ae6a37602..3b1e54c4d 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -736,8 +736,8 @@ class Profile extends Memcached_DataObject if (empty($role)) { // TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. - // TRANS: %1$s is the role name, %2$s is the user ID. - throw new Exception(sprintf(_('Cannot revoke role "%s" for user #%2$s; does not exist.'),$name, $this->id)); + // TRANS: %1$s is the role name, %2$s is the user ID (number). + throw new Exception(sprintf(_('Cannot revoke role "%1$s" for user #%2$d; does not exist.'),$name, $this->id)); } $result = $role->delete(); @@ -745,8 +745,8 @@ class Profile extends Memcached_DataObject if (!$result) { common_log_db_error($role, 'DELETE', __FILE__); // TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. - // TRANS: %1$s is the role name, %2$s is the user ID. - throw new Exception(sprintf(_('Cannot revoke role "%1$s" for user #%2$s; database error.'),$name, $this->id)); + // TRANS: %1$s is the role name, %2$s is the user ID (number). + throw new Exception(sprintf(_('Cannot revoke role "%1$s" for user #%2$d; database error.'),$name, $this->id)); } return true; -- cgit v1.2.3 From 0caebc93084b160987239f34b25acadd3aff1fa4 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Fri, 30 Jul 2010 13:16:47 -0700 Subject: Fix for ticket #2471: install.php returns unsuccessfully but doesn't display error message if PHP < 5.2.6 is used http://status.net/open-source/issues/2471 Old bit of code didn't get updated for new installer --- lib/installer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/installer.php b/lib/installer.php index bd9d69cd4..ff2bed140 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -91,7 +91,7 @@ abstract class Installer } if (version_compare(PHP_VERSION, '5.2.3', '<')) { - $errors[] = 'Require PHP version 5.2.3 or greater.'; + $this->warning('Require PHP version 5.2.3 or greater.'); $pass = false; } -- cgit v1.2.3 From 84726791d33f63ba229aeba8b3c6035244ad2899 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Fri, 30 Jul 2010 14:12:37 -0700 Subject: Fix for ticket #2286: [mobile] Text extends beyond border of repeat confirmation dialog floater box on iPhone http://status.net/open-source/issues/2286 This bit of CSS was constricting the vertical size of the popup form for repeats: .notice-options form { width:16px; height:16px; } I can only assume this was originally meant to constrain the mini inline AJAX forms to the size of the clickable buttons, but it doesn't make a difference to how those are displayed on iPhone, Android, or Opera Mini. Removing the statement lets the popup form go to its natural size, covering the button. --- plugins/MobileProfile/mp-screen.css | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/plugins/MobileProfile/mp-screen.css b/plugins/MobileProfile/mp-screen.css index 0fc801612..1f70b5612 100644 --- a/plugins/MobileProfile/mp-screen.css +++ b/plugins/MobileProfile/mp-screen.css @@ -2,7 +2,7 @@ * * @package StatusNet * @author Sarven Capadisli - * @copyright 2009 StatusNet, Inc. + * @copyright 2009-2010 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ @@ -195,10 +195,6 @@ width:43px; margin-right:1%; } -.notice-options form { -width:16px; -height:16px; -} .notice-options form.processing { background-image:none; } -- cgit v1.2.3 From 44d01f70a64453049bebde59ac035fd10b8de626 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sat, 31 Jul 2010 23:59:22 +0200 Subject: Localisation updates from http://translatewiki.net * add support for Danish --- lib/language.php | 1 + locale/af/LC_MESSAGES/statusnet.po | 53 +- locale/ar/LC_MESSAGES/statusnet.po | 56 +- locale/arz/LC_MESSAGES/statusnet.po | 53 +- locale/bg/LC_MESSAGES/statusnet.po | 53 +- locale/br/LC_MESSAGES/statusnet.po | 53 +- locale/ca/LC_MESSAGES/statusnet.po | 53 +- locale/cs/LC_MESSAGES/statusnet.po | 53 +- locale/da/LC_MESSAGES/statusnet.po | 6734 +++++++++++++++++++++++++++++++++ locale/de/LC_MESSAGES/statusnet.po | 87 +- locale/el/LC_MESSAGES/statusnet.po | 53 +- locale/en_GB/LC_MESSAGES/statusnet.po | 53 +- locale/es/LC_MESSAGES/statusnet.po | 63 +- locale/fa/LC_MESSAGES/statusnet.po | 53 +- locale/fi/LC_MESSAGES/statusnet.po | 53 +- locale/fr/LC_MESSAGES/statusnet.po | 117 +- locale/ga/LC_MESSAGES/statusnet.po | 53 +- locale/gl/LC_MESSAGES/statusnet.po | 53 +- locale/he/LC_MESSAGES/statusnet.po | 53 +- locale/hsb/LC_MESSAGES/statusnet.po | 83 +- locale/ia/LC_MESSAGES/statusnet.po | 53 +- locale/is/LC_MESSAGES/statusnet.po | 53 +- locale/it/LC_MESSAGES/statusnet.po | 53 +- locale/ja/LC_MESSAGES/statusnet.po | 53 +- locale/ko/LC_MESSAGES/statusnet.po | 56 +- locale/mk/LC_MESSAGES/statusnet.po | 84 +- locale/nb/LC_MESSAGES/statusnet.po | 95 +- locale/nl/LC_MESSAGES/statusnet.po | 86 +- locale/nn/LC_MESSAGES/statusnet.po | 56 +- locale/pl/LC_MESSAGES/statusnet.po | 53 +- locale/pt/LC_MESSAGES/statusnet.po | 53 +- locale/pt_BR/LC_MESSAGES/statusnet.po | 53 +- locale/ru/LC_MESSAGES/statusnet.po | 123 +- locale/statusnet.pot | 48 +- locale/sv/LC_MESSAGES/statusnet.po | 53 +- locale/te/LC_MESSAGES/statusnet.po | 56 +- locale/tr/LC_MESSAGES/statusnet.po | 53 +- locale/uk/LC_MESSAGES/statusnet.po | 80 +- locale/vi/LC_MESSAGES/statusnet.po | 53 +- locale/zh_CN/LC_MESSAGES/statusnet.po | 53 +- locale/zh_TW/LC_MESSAGES/statusnet.po | 53 +- 41 files changed, 8217 insertions(+), 933 deletions(-) create mode 100644 locale/da/LC_MESSAGES/statusnet.po diff --git a/lib/language.php b/lib/language.php index 6840148d2..d93e4e0ad 100644 --- a/lib/language.php +++ b/lib/language.php @@ -307,6 +307,7 @@ function get_all_languages() { 'br' => array('q' => 0.8, 'lang' => 'br', 'name' => 'Breton', 'direction' => 'ltr'), 'ca' => array('q' => 0.5, 'lang' => 'ca', 'name' => 'Catalan', 'direction' => 'ltr'), 'cs' => array('q' => 0.5, 'lang' => 'cs', 'name' => 'Czech', 'direction' => 'ltr'), + 'da' => array('q' => 0.8, 'lang' => 'da', 'name' => 'Danish', 'direction' => 'ltr'), 'de' => array('q' => 0.8, 'lang' => 'de', 'name' => 'German', 'direction' => 'ltr'), 'el' => array('q' => 0.1, 'lang' => 'el', 'name' => 'Greek', 'direction' => 'ltr'), 'en-us' => array('q' => 1, 'lang' => 'en', 'name' => 'English (US)', 'direction' => 'ltr'), diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po index 4a80ba662..ef9e71bc7 100644 --- a/locale/af/LC_MESSAGES/statusnet.po +++ b/locale/af/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:20:53+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:35+0000\n" "Language-Team: Afrikaans\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: af\n" "X-Message-Group: out-statusnet\n" @@ -98,7 +98,7 @@ msgstr "Hierdie bladsy bestaan nie" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -208,7 +208,7 @@ msgstr "Opdaterings van %1$s en vriende op %2$s." #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -256,7 +256,7 @@ msgstr "Kon nie die profiel stoor nie." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -506,6 +506,11 @@ msgstr "%s groepe" msgid "groups on %s" msgstr "groepe op %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Die deblokkering van die gebruiker het gefaal." + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -644,17 +649,21 @@ msgstr "Die status is verwyder." msgid "No status with that ID found." msgstr "Geen status met die ID gevind nie." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Die kennisgewing is te lank. Gebruik maksimum %d karakters." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Nie gevind nie." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4571,6 +4580,12 @@ msgstr "Weergawe" msgid "Author(s)" msgstr "Outeur(s)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4634,7 +4649,7 @@ msgstr "" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4689,45 +4704,45 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po index bfcefa70d..753779db4 100644 --- a/locale/ar/LC_MESSAGES/statusnet.po +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -1,5 +1,6 @@ # Translation of StatusNet to Arabic # +# Author@translatewiki.net: Brion # Author@translatewiki.net: Meno25 # Author@translatewiki.net: OsamaK # -- @@ -9,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:20:54+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:37+0000\n" "Language-Team: Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ar\n" "X-Message-Group: out-statusnet\n" @@ -99,7 +100,7 @@ msgstr "لا صفحة كهذه." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -209,7 +210,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -257,7 +258,7 @@ msgstr "لم يمكن حفظ الملف." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -499,6 +500,11 @@ msgstr "مجموعات %s" msgid "groups on %s" msgstr "مجموعات %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "ارفع ملفًا" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -639,17 +645,21 @@ msgstr "حُذِفت الحالة." msgid "No status with that ID found." msgstr "لا حالة وُجدت بهذه الهوية." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "هذه طويلة جدًا. أطول حجم للإشعار %d حرفًا." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "لم يوجد." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -3588,7 +3598,7 @@ msgstr "مجموعة %s" #: actions/showgroup.php:84 #, php-format msgid "%1$s group, page %2$d" -msgstr "مجموعة %1$، الصفحة %2$d" +msgstr "مجموعة %1$s، الصفحة %2$d" #: actions/showgroup.php:227 msgid "Group profile" @@ -4583,6 +4593,12 @@ msgstr "النسخة" msgid "Author(s)" msgstr "المؤلف(ون)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4646,7 +4662,7 @@ msgstr "لم يمكن إنشاء توكن الولوج ل%s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4701,46 +4717,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "مشكلة أثناء حفظ الإشعار." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "مشكلة أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تي @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po index 918b90fe4..e845c1aeb 100644 --- a/locale/arz/LC_MESSAGES/statusnet.po +++ b/locale/arz/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:20:56+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:40+0000\n" "Language-Team: Egyptian Spoken Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: arz\n" "X-Message-Group: out-statusnet\n" @@ -106,7 +106,7 @@ msgstr "لا صفحه كهذه" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -216,7 +216,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -264,7 +264,7 @@ msgstr "لم يمكن حفظ الملف." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -507,6 +507,11 @@ msgstr "مجموعات %s" msgid "groups on %s" msgstr "مجموعات %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "ارفع ملفًا" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -648,17 +653,21 @@ msgstr "حُذِفت الحاله." msgid "No status with that ID found." msgstr "" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "لم يوجد." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4611,6 +4620,12 @@ msgstr "النسخه" msgid "Author(s)" msgstr "المؤلف/ين" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4675,7 +4690,7 @@ msgstr "ما نفعش يتعمل امارة تسجيل دخول لـ %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4730,46 +4745,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "مشكله أثناء حفظ الإشعار." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "مشكله أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تى @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po index 52d145239..8c974f942 100644 --- a/locale/bg/LC_MESSAGES/statusnet.po +++ b/locale/bg/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:20:58+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:42+0000\n" "Language-Team: Bulgarian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: bg\n" "X-Message-Group: out-statusnet\n" @@ -99,7 +99,7 @@ msgstr "Няма такака страница." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -207,7 +207,7 @@ msgstr "Бележки от %1$s и приятели в %2$s." #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -255,7 +255,7 @@ msgstr "Грешка при запазване на профила." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -505,6 +505,11 @@ msgstr "Групи на %s" msgid "groups on %s" msgstr "групи в %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Качване на файл" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -646,17 +651,21 @@ msgstr "Бележката е изтрита." msgid "No status with that ID found." msgstr "Не е открита бележка с такъв идентификатор." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Твърде дълга бележка. Трябва да е най-много 140 знака." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Не е открито." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4753,6 +4762,12 @@ msgstr "Версия" msgid "Author(s)" msgstr "Автор(и)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4820,7 +4835,7 @@ msgstr "Грешка при отбелязване като любима." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4882,46 +4897,46 @@ msgstr "" "отново след няколко минути." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Забранено ви е да публикувате бележки в този сайт." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Проблем при записване на бележката." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Проблем при записване на бележката." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po index b6272905e..1237d3182 100644 --- a/locale/br/LC_MESSAGES/statusnet.po +++ b/locale/br/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:20:59+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:43+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: out-statusnet\n" @@ -98,7 +98,7 @@ msgstr "N'eus ket eus ar bajenn-se." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -208,7 +208,7 @@ msgstr "Hizivadennoù %1$s ha mignoned e %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -256,7 +256,7 @@ msgstr "Diposubl eo enrollañ ar profil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -502,6 +502,11 @@ msgstr "Strolladoù %s" msgid "groups on %s" msgstr "strolladoù war %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "C'hwitet en deus an urzhiad" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Arventenn oauth_token nann-roet." @@ -640,17 +645,21 @@ msgstr "Statud diverket." msgid "No status with that ID found." msgstr "N'eo ket bet kavet a statud evit an ID-mañ" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Re hir eo ! Ment hirañ an ali a zo a %d arouezenn." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "N'eo ket bet kavet." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4590,6 +4599,12 @@ msgstr "Stumm" msgid "Author(s)" msgstr "Aozer(ien)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4653,7 +4668,7 @@ msgstr "" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4708,45 +4723,45 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Ur gudenn 'zo bet pa veze enrollet an ali." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Ur gudenn 'zo bet pa veze enrollet boest degemer ar strollad." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po index b0451a360..a6ccd881e 100644 --- a/locale/ca/LC_MESSAGES/statusnet.po +++ b/locale/ca/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:01+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:45+0000\n" "Language-Team: Catalan\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ca\n" "X-Message-Group: out-statusnet\n" @@ -101,7 +101,7 @@ msgstr "No existeix la pàgina." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -218,7 +218,7 @@ msgstr "Actualitzacions de %1$s i amics a %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -268,7 +268,7 @@ msgstr "No s'ha pogut desar el perfil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -517,6 +517,11 @@ msgstr "%s grups" msgid "groups on %s" msgstr "grups sobre %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Puja un fitxer" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "No s'ha proporcionat cap paràmetre oauth_token." @@ -662,17 +667,21 @@ msgstr "S'ha eliminat l'estat." msgid "No status with that ID found." msgstr "No s'ha trobat cap estatus amb la ID trobada." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Massa llarg. La longitud màxima és de %d caràcters." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "No s'ha trobat." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "La mida màxima de l'avís és %d caràcters, incloent l'URL de l'adjunt." @@ -4827,6 +4836,12 @@ msgstr "Versió" msgid "Author(s)" msgstr "Autoria" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4894,7 +4909,7 @@ msgstr "No s'ha pogut crear un testimoni d'inici de sessió per a %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4954,45 +4969,45 @@ msgstr "" "enviar en uns minuts." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Ha estat bandejat de publicar avisos en aquest lloc." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "S'ha produït un problema en desar l'avís." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "S'ha produït un problema en desar la safata d'entrada del grup." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po index dd2630eaa..a07e38f09 100644 --- a/locale/cs/LC_MESSAGES/statusnet.po +++ b/locale/cs/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:03+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:47+0000\n" "Language-Team: Czech\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: cs\n" "X-Message-Group: out-statusnet\n" @@ -106,7 +106,7 @@ msgstr "Žádné takové oznámení." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -215,7 +215,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +266,7 @@ msgstr "Nelze uložit profil" #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -518,6 +518,11 @@ msgstr "" msgid "groups on %s" msgstr "" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Upload" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -665,18 +670,22 @@ msgstr "Obrázek nahrán" msgid "No status with that ID found." msgstr "" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Je to příliš dlouhé. Maximální sdělení délka je 140 znaků" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 #, fuzzy msgid "Not found." msgstr "Žádný požadavek nebyl nalezen!" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4792,6 +4801,12 @@ msgstr "Osobní" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4859,7 +4874,7 @@ msgstr "Nelze uložin informace o obrázku" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4916,46 +4931,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problém při ukládání sdělení" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Problém při ukládání sdělení" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/da/LC_MESSAGES/statusnet.po b/locale/da/LC_MESSAGES/statusnet.po new file mode 100644 index 000000000..3ea5d7f7e --- /dev/null +++ b/locale/da/LC_MESSAGES/statusnet.po @@ -0,0 +1,6734 @@ +# Translation of StatusNet to Danish +# +# Author@translatewiki.net: Mstenbaek +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:48+0000\n" +"Language-Team: Danish\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: da\n" +"X-Message-Group: out-statusnet\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Page title +#. TRANS: Menu item for site administration +#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:376 +msgid "Access" +msgstr "Adgang" + +#. TRANS: Page notice +#: actions/accessadminpanel.php:67 +msgid "Site access settings" +msgstr "Indstillinger for adgang til webstedet" + +#. TRANS: Form legend for registration form. +#: actions/accessadminpanel.php:161 +msgid "Registration" +msgstr "Registrering" + +#. TRANS: Checkbox instructions for admin setting "Private" +#: actions/accessadminpanel.php:165 +msgid "Prohibit anonymous users (not logged in) from viewing site?" +msgstr "Forhindre anonyme brugere (som ikke er logget ind) i at se webstedet?" + +#. TRANS: Checkbox label for prohibiting anonymous users from viewing site. +#: actions/accessadminpanel.php:167 +msgctxt "LABEL" +msgid "Private" +msgstr "Privat" + +#. TRANS: Checkbox instructions for admin setting "Invite only" +#: actions/accessadminpanel.php:174 +msgid "Make registration invitation only." +msgstr "Registreing er kun mulig gennem en invitation" + +#. TRANS: Checkbox label for configuring site as invite only. +#: actions/accessadminpanel.php:176 +msgid "Invite only" +msgstr "Kun Inviterede" + +#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations) +#: actions/accessadminpanel.php:183 +msgid "Disable new registrations." +msgstr "Forhindre nye registreringer" + +#. TRANS: Checkbox label for disabling new user registrations. +#: actions/accessadminpanel.php:185 +msgid "Closed" +msgstr "Lukket" + +#. TRANS: Title / tooltip for button to save access settings in site admin panel +#: actions/accessadminpanel.php:202 +msgid "Save access settings" +msgstr "Gem adgangsindstillinger" + +#. TRANS: Button label to save e-mail preferences. +#. TRANS: Button label to save IM preferences. +#. TRANS: Button label to save SMS preferences. +#. TRANS: Button label +#: actions/accessadminpanel.php:203 actions/emailsettings.php:224 +#: actions/imsettings.php:184 actions/smssettings.php:209 +#: lib/applicationeditform.php:361 +msgctxt "BUTTON" +msgid "Save" +msgstr "Gem" + +#. TRANS: Server error when page not found (404) +#: actions/all.php:68 actions/public.php:98 actions/replies.php:93 +#: actions/showfavorites.php:138 actions/tag.php:52 +msgid "No such page." +msgstr "Siden findes ikke" + +#: actions/all.php:79 actions/allrss.php:68 +#: actions/apiaccountupdatedeliverydevice.php:114 +#: actions/apiaccountupdateprofile.php:105 +#: actions/apiaccountupdateprofilebackgroundimage.php:116 +#: actions/apiaccountupdateprofileimage.php:105 actions/apiblockcreate.php:97 +#: actions/apiblockdestroy.php:96 actions/apidirectmessage.php:77 +#: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 +#: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 +#: actions/apigroupleave.php:100 actions/apigrouplist.php:73 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 +#: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 +#: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 +#: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 +#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58 +#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116 +#: actions/otp.php:76 actions/remotesubscribe.php:145 +#: actions/remotesubscribe.php:154 actions/replies.php:73 +#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105 +#: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40 +#: actions/xrds.php:71 lib/command.php:478 lib/galleryaction.php:59 +#: lib/mailbox.php:82 lib/profileaction.php:77 +msgid "No such user." +msgstr "Ingen bruger fundet." + +#. TRANS: Page title. %1$s is user nickname, %2$d is page number +#: actions/all.php:90 +#, php-format +msgid "%1$s and friends, page %2$d" +msgstr "%1$s og venner, side %2$d" + +#. TRANS: Page title. %1$s is user nickname +#. TRANS: H1 text. %1$s is user nickname +#. TRANS: Message is used as link title. %s is a user nickname. +#: actions/all.php:93 actions/all.php:185 actions/allrss.php:116 +#: actions/apitimelinefriends.php:210 actions/apitimelinehome.php:116 +#: lib/personalgroupnav.php:100 +#, php-format +msgid "%s and friends" +msgstr "%s og venner" + +#. TRANS: %1$s is user nickname +#: actions/all.php:107 +#, php-format +msgid "Feed for friends of %s (RSS 1.0)" +msgstr "Feed for venner af %s (RSS 1.0)" + +#. TRANS: %1$s is user nickname +#: actions/all.php:116 +#, php-format +msgid "Feed for friends of %s (RSS 2.0)" +msgstr "Feed for venner af %s (RSS 1.0)" + +#. TRANS: %1$s is user nickname +#: actions/all.php:125 +#, php-format +msgid "Feed for friends of %s (Atom)" +msgstr "Feed for venner af %s (Atom)" + +#. TRANS: %1$s is user nickname +#: actions/all.php:138 +#, php-format +msgid "" +"This is the timeline for %s and friends but no one has posted anything yet." +msgstr "" +"Dette er tidslinjen for %s og venner, men ingen har skrevet noget endnu." + +#: actions/all.php:143 +#, php-format +msgid "" +"Try subscribing to more people, [join a group](%%action.groups%%) or post " +"something yourself." +msgstr "" +"Prøv at abonnere på flere personer, [deltage i en gruppe] (%%action.groups%" +"%) eller skriv noget selv." + +#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" +#: actions/all.php:146 +#, php-format +msgid "" +"You can try to [nudge %1$s](../%2$s) from their profile or [post something " +"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +msgstr "" + +#: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 +#, php-format +msgid "" +"Why not [register an account](%%%%action.register%%%%) and then nudge %s or " +"post a notice to their attention." +msgstr "" + +#. TRANS: H1 text +#: actions/all.php:182 +msgid "You and friends" +msgstr "Du og vennerne" + +#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name. +#. TRANS: Message is used as a subtitle. %1$s is a user nickname, %2$s is a site name. +#: actions/allrss.php:121 actions/apitimelinefriends.php:216 +#: actions/apitimelinehome.php:122 +#, php-format +msgid "Updates from %1$s and friends on %2$s!" +msgstr "Opdateringer fra %1$s og venner på %2$s!" + +#: actions/apiaccountratelimitstatus.php:72 +#: actions/apiaccountupdatedeliverydevice.php:94 +#: actions/apiaccountupdateprofile.php:97 +#: actions/apiaccountupdateprofilebackgroundimage.php:94 +#: actions/apiaccountupdateprofilecolors.php:118 +#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156 +#: actions/apifavoritecreate.php:100 actions/apifavoritedestroy.php:101 +#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100 +#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:139 +#: actions/apigroupismember.php:115 actions/apigroupjoin.php:156 +#: actions/apigroupleave.php:142 actions/apigrouplist.php:137 +#: actions/apigrouplistall.php:122 actions/apigroupmembership.php:107 +#: actions/apigroupshow.php:116 actions/apihelptest.php:88 +#: actions/apistatusesdestroy.php:104 actions/apistatusesretweets.php:112 +#: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 +#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 +#: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 +#: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 +#: actions/apitimelineretweetedtome.php:121 +#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 +#: actions/apitimelineuser.php:163 actions/apiusershow.php:101 +msgid "API method not found." +msgstr "API metode ikke fundet." + +#: actions/apiaccountupdatedeliverydevice.php:86 +#: actions/apiaccountupdateprofile.php:89 +#: actions/apiaccountupdateprofilebackgroundimage.php:86 +#: actions/apiaccountupdateprofilecolors.php:110 +#: actions/apiaccountupdateprofileimage.php:84 actions/apiblockcreate.php:89 +#: actions/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109 +#: actions/apifavoritecreate.php:91 actions/apifavoritedestroy.php:92 +#: actions/apifriendshipscreate.php:91 actions/apifriendshipsdestroy.php:91 +#: actions/apigroupcreate.php:105 actions/apigroupjoin.php:92 +#: actions/apigroupleave.php:92 actions/apimediaupload.php:67 +#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:198 +msgid "This method requires a POST." +msgstr "Denne metode kræver en POST." + +#: actions/apiaccountupdatedeliverydevice.php:106 +msgid "" +"You must specify a parameter named 'device' with a value of one of: sms, im, " +"none." +msgstr "" +"Du skal angive en parameter med navnet 'device', med værdien sat til en af " +"følgende: sms, im, none." + +#: actions/apiaccountupdatedeliverydevice.php:133 +msgid "Could not update user." +msgstr "Kunne ikke opdatere brugeren." + +#: actions/apiaccountupdateprofile.php:112 +#: actions/apiaccountupdateprofilebackgroundimage.php:194 +#: actions/apiaccountupdateprofilecolors.php:185 +#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108 +#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74 +#: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66 +#: lib/profileaction.php:84 +msgid "User has no profile." +msgstr "Brugeren har ingen profil." + +#: actions/apiaccountupdateprofile.php:147 +msgid "Could not save profile." +msgstr "Kunne ikke gemme profilen." + +#: actions/apiaccountupdateprofilebackgroundimage.php:108 +#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 +#: actions/designadminpanel.php:123 actions/editapplication.php:118 +#: actions/newapplication.php:101 actions/newnotice.php:94 +#: lib/designsettings.php:283 +#, php-format +msgid "" +"The server was unable to handle that much POST data (%s bytes) due to its " +"current configuration." +msgstr "" +"Serveren var ikke i stand til at håndtere så meget POST data (%s bytes) på " +"grund af sin nuværende konfiguration." + +#: actions/apiaccountupdateprofilebackgroundimage.php:136 +#: actions/apiaccountupdateprofilebackgroundimage.php:146 +#: actions/apiaccountupdateprofilecolors.php:164 +#: actions/apiaccountupdateprofilecolors.php:174 +#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300 +#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220 +#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273 +msgid "Unable to save your design settings." +msgstr "Kunne ikke gemme dine design indstillinger." + +#: actions/apiaccountupdateprofilebackgroundimage.php:187 +#: actions/apiaccountupdateprofilecolors.php:142 +msgid "Could not update your design." +msgstr "Kunne ikke opdatere dit design." + +#: actions/apiblockcreate.php:105 +msgid "You cannot block yourself!" +msgstr "Du kan ikke blokere dig selv!" + +#: actions/apiblockcreate.php:126 +msgid "Block user failed." +msgstr "Blokering af bruger mislykkedes" + +#: actions/apiblockdestroy.php:114 +msgid "Unblock user failed." +msgstr "Ophæv blokering af bruger mislykkedes." + +#: actions/apidirectmessage.php:89 +#, php-format +msgid "Direct messages from %s" +msgstr "Direkte beskeder fra %s" + +#: actions/apidirectmessage.php:93 +#, php-format +msgid "All the direct messages sent from %s" +msgstr "Alle direkte beskeder, sendt fra %s" + +#: actions/apidirectmessage.php:101 +#, php-format +msgid "Direct messages to %s" +msgstr "Direkte beskeder til %s" + +#: actions/apidirectmessage.php:105 +#, php-format +msgid "All the direct messages sent to %s" +msgstr "Alle direkte beskeder, sendt til %s" + +#: actions/apidirectmessagenew.php:118 +msgid "No message text!" +msgstr "Ingen besked tekst!" + +#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150 +#, php-format +msgid "That's too long. Max message size is %d chars." +msgstr "Det er for langt. Maksimal besked størrelse er %d tegn." + +#: actions/apidirectmessagenew.php:138 +msgid "Recipient user not found." +msgstr "Modtager bruger ikke fundet" + +#: actions/apidirectmessagenew.php:142 +msgid "Can't send direct messages to users who aren't your friend." +msgstr "Kan ikke sende direkte beskeder til brugere, som ikke din ven." + +#: actions/apifavoritecreate.php:109 actions/apifavoritedestroy.php:110 +#: actions/apistatusesdestroy.php:121 +msgid "No status found with that ID." +msgstr "Ingen status fundet med dette ID." + +#: actions/apifavoritecreate.php:120 +msgid "This status is already a favorite." +msgstr "Denne status er allerede en favorit." + +#: actions/apifavoritecreate.php:131 actions/favor.php:84 lib/command.php:285 +msgid "Could not create favorite." +msgstr "Kunne ikke oprette favorit." + +#: actions/apifavoritedestroy.php:123 +msgid "That status is not a favorite." +msgstr "Denne status er ikke en favorit." + +#: actions/apifavoritedestroy.php:135 actions/disfavor.php:87 +msgid "Could not delete favorite." +msgstr "Kunne ikke slette favorit." + +#: actions/apifriendshipscreate.php:109 +msgid "Could not follow user: profile not found." +msgstr "" + +#: actions/apifriendshipscreate.php:118 +#, php-format +msgid "Could not follow user: %s is already on your list." +msgstr "Kunne ikke følge bruger: %s er allerede på din liste." + +#: actions/apifriendshipsdestroy.php:109 +msgid "Could not unfollow user: User not found." +msgstr "Kunne ikke stoppe følgeskab af bruger: Bruger ikke fundet." + +#: actions/apifriendshipsdestroy.php:120 +msgid "You cannot unfollow yourself." +msgstr "Du kan ikke ophæve følgeskab til dig selv." + +#: actions/apifriendshipsexists.php:91 +msgid "Two valid IDs or screen_names must be supplied." +msgstr "" + +#: actions/apifriendshipsshow.php:134 +msgid "Could not determine source user." +msgstr "Kunne ikke finde kilde bruger" + +#: actions/apifriendshipsshow.php:142 +msgid "Could not find target user." +msgstr "Kunne ikke finde mål bruger." + +#: actions/apigroupcreate.php:167 actions/editgroup.php:186 +#: actions/newgroup.php:126 actions/profilesettings.php:215 +#: actions/register.php:212 +msgid "Nickname must have only lowercase letters and numbers and no spaces." +msgstr "Kaldenavn må kun have små bogstaver og tal og ingen mellemrum." + +#: actions/apigroupcreate.php:176 actions/editgroup.php:190 +#: actions/newgroup.php:130 actions/profilesettings.php:238 +#: actions/register.php:215 +msgid "Nickname already in use. Try another one." +msgstr "Kaldenavn allerede er i brug. Prøv med et andet." + +#: actions/apigroupcreate.php:183 actions/editgroup.php:193 +#: actions/newgroup.php:133 actions/profilesettings.php:218 +#: actions/register.php:217 +msgid "Not a valid nickname." +msgstr "Ikke et gyldigt kaldenavn" + +#: actions/apigroupcreate.php:199 actions/editapplication.php:215 +#: actions/editgroup.php:199 actions/newapplication.php:203 +#: actions/newgroup.php:139 actions/profilesettings.php:222 +#: actions/register.php:224 +msgid "Homepage is not a valid URL." +msgstr "Hjemmesiden er ikke en gyldig URL adresse." + +#: actions/apigroupcreate.php:208 actions/editgroup.php:202 +#: actions/newgroup.php:142 actions/profilesettings.php:225 +#: actions/register.php:227 +msgid "Full name is too long (max 255 chars)." +msgstr "Fulde navn er for langt (max 255 tegn)." + +#: actions/apigroupcreate.php:216 actions/editapplication.php:190 +#: actions/newapplication.php:172 +#, php-format +msgid "Description is too long (max %d chars)." +msgstr "Beskrivelse er for lang (max %d tegn)." + +#: actions/apigroupcreate.php:227 actions/editgroup.php:208 +#: actions/newgroup.php:148 actions/profilesettings.php:232 +#: actions/register.php:234 +msgid "Location is too long (max 255 chars)." +msgstr "Placering er for lang (max 255 tegn)." + +#: actions/apigroupcreate.php:246 actions/editgroup.php:219 +#: actions/newgroup.php:159 +#, php-format +msgid "Too many aliases! Maximum %d." +msgstr "Alt for mange aliaser! Maksimum %d." + +#: actions/apigroupcreate.php:267 +#, php-format +msgid "Invalid alias: \"%s\"." +msgstr "Ugyldigt alias: \"%s\"." + +#: actions/apigroupcreate.php:276 actions/editgroup.php:232 +#: actions/newgroup.php:172 +#, php-format +msgid "Alias \"%s\" already in use. Try another one." +msgstr "Alias \"%s\" er allerede i brug. Prøv med et andet." + +#: actions/apigroupcreate.php:289 actions/editgroup.php:238 +#: actions/newgroup.php:178 +msgid "Alias can't be the same as nickname." +msgstr "Alias kan ikke være det samme som kaldenavn." + +#: actions/apigroupismember.php:96 actions/apigroupjoin.php:105 +#: actions/apigroupleave.php:105 actions/apigroupmembership.php:92 +#: actions/apigroupshow.php:83 actions/apitimelinegroup.php:92 +msgid "Group not found." +msgstr "Gruppen blev ikke fundet." + +#: actions/apigroupjoin.php:111 actions/joingroup.php:100 +msgid "You are already a member of that group." +msgstr "Du er allerede medlem af denne gruppe." + +#: actions/apigroupjoin.php:120 actions/joingroup.php:105 lib/command.php:327 +msgid "You have been blocked from that group by the admin." +msgstr "Du er blevet blokeret fra denne gruppe af administratoren." + +#: actions/apigroupjoin.php:139 actions/joingroup.php:134 +#, php-format +msgid "Could not join user %1$s to group %2$s." +msgstr "Kunne ikke tilslutte bruger %1$s til gruppe %2$s." + +#: actions/apigroupleave.php:115 +msgid "You are not a member of this group." +msgstr "Du er ikke medlem af denne gruppe." + +#: actions/apigroupleave.php:125 actions/leavegroup.php:129 +#, php-format +msgid "Could not remove user %1$s from group %2$s." +msgstr "Kunne ikke fjerne brugeren %1$s fra gruppen %2$s." + +#. TRANS: %s is a user name +#: actions/apigrouplist.php:98 +#, php-format +msgid "%s's groups" +msgstr "%s's grupper" + +#. TRANS: Meant to convey the user %2$s is a member of each of the groups listed on site %1$s +#: actions/apigrouplist.php:108 +#, php-format +msgid "%1$s groups %2$s is a member of." +msgstr "%1$s grupper som %2$s er medlem af." + +#. TRANS: Message is used as a title. %s is a site name. +#. TRANS: Message is used as a page title. %s is a nick name. +#: actions/apigrouplistall.php:92 actions/usergroups.php:63 +#, php-format +msgid "%s groups" +msgstr "%s's grupper" + +#: actions/apigrouplistall.php:96 +#, php-format +msgid "groups on %s" +msgstr "grupper på %s" + +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Ophæv blokering af bruger mislykkedes." + +#: actions/apioauthauthorize.php:101 +msgid "No oauth_token parameter provided." +msgstr "Ingen oauth_token parameter angivet." + +#: actions/apioauthauthorize.php:106 +msgid "Invalid token." +msgstr "Ugyldigt token." + +#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268 +#: actions/deletenotice.php:169 actions/disfavor.php:74 +#: actions/emailsettings.php:267 actions/favor.php:75 actions/geocode.php:55 +#: actions/groupblock.php:66 actions/grouplogo.php:312 +#: actions/groupunblock.php:66 actions/imsettings.php:227 +#: actions/invite.php:56 actions/login.php:137 actions/makeadmin.php:66 +#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80 +#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135 +#: actions/othersettings.php:145 actions/passwordsettings.php:138 +#: actions/profilesettings.php:194 actions/recoverpassword.php:350 +#: actions/register.php:172 actions/remotesubscribe.php:77 +#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38 +#: actions/subscribe.php:86 actions/tagother.php:166 +#: actions/unsubscribe.php:69 actions/userauthorization.php:52 +#: lib/designsettings.php:294 +msgid "There was a problem with your session token. Try again, please." +msgstr "Der var et problem med din session token. Venligst prøv igen." + +#: actions/apioauthauthorize.php:135 +msgid "Invalid nickname / password!" +msgstr "Ugyldig kaldenavn / password!" + +#: actions/apioauthauthorize.php:159 +msgid "Database error deleting OAuth application user." +msgstr "Databasefejl ved sletning af OAuth applikationsbruger." + +#: actions/apioauthauthorize.php:185 +msgid "Database error inserting OAuth application user." +msgstr "Databasefejl ved tilføjelse af OAuth applikationsbruger." + +#: actions/apioauthauthorize.php:214 +#, php-format +msgid "" +"The request token %s has been authorized. Please exchange it for an access " +"token." +msgstr "" +"Anmodnings-token %s er blevet godkendt. Venligst anvend den til en Adgangs-" +"token." + +#: actions/apioauthauthorize.php:227 +#, php-format +msgid "The request token %s has been denied and revoked." +msgstr "Anmodnings-token %s er blevet afvist og trukket tilbage." + +#. TRANS: Message given submitting a form with an unknown action in e-mail settings. +#. TRANS: Message given submitting a form with an unknown action in IM settings. +#. TRANS: Message given submitting a form with an unknown action in SMS settings. +#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281 +#: actions/designadminpanel.php:104 actions/editapplication.php:139 +#: actions/emailsettings.php:286 actions/grouplogo.php:322 +#: actions/imsettings.php:242 actions/newapplication.php:121 +#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44 +#: actions/smssettings.php:277 lib/designsettings.php:304 +msgid "Unexpected form submission." +msgstr "Uventet formularafsendelse." + +#: actions/apioauthauthorize.php:259 +msgid "An application would like to connect to your account" +msgstr "En applikation vil gerne forbinde til din konto" + +#: actions/apioauthauthorize.php:276 +msgid "Allow or deny access" +msgstr "Tillad eller Afvis adgang" + +#: actions/apioauthauthorize.php:292 +#, php-format +msgid "" +"The application %1$s by %2$s would like " +"the ability to %3$s your %4$s account data. You should only " +"give access to your %4$s account to third parties you trust." +msgstr "" +"Applikationen %1$s af %2$s vil gerne %3$s dine data for konto %4$s. Du bør kun give adgang til din %4$s konto " +"til tredjemand du stoler på." + +#. TRANS: Main menu option when logged in for access to user settings +#: actions/apioauthauthorize.php:310 lib/action.php:450 +msgid "Account" +msgstr "Konto" + +#: actions/apioauthauthorize.php:313 actions/login.php:252 +#: actions/profilesettings.php:106 actions/register.php:431 +#: actions/showgroup.php:245 actions/tagother.php:94 +#: actions/userauthorization.php:145 lib/groupeditform.php:152 +#: lib/userprofile.php:132 +msgid "Nickname" +msgstr "Kaldenavn" + +#. TRANS: Link description in user account settings menu. +#: actions/apioauthauthorize.php:316 actions/login.php:255 +#: actions/register.php:436 lib/accountsettingsaction.php:125 +msgid "Password" +msgstr "Adgangskode" + +#: actions/apioauthauthorize.php:328 +msgid "Deny" +msgstr "Nægt" + +#: actions/apioauthauthorize.php:334 +msgid "Allow" +msgstr "Tillad" + +#: actions/apioauthauthorize.php:351 +msgid "Allow or deny access to your account information." +msgstr "Tillad eller nægte adgang til dine kontooplysninger." + +#: actions/apistatusesdestroy.php:112 +msgid "This method requires a POST or DELETE." +msgstr "Denne metode kræver en POST eller DELETE." + +#: actions/apistatusesdestroy.php:135 +msgid "You may not delete another user's status." +msgstr "Du kan ikke slette en anden brugers status." + +#: actions/apistatusesretweet.php:75 actions/apistatusesretweets.php:72 +#: actions/deletenotice.php:52 actions/shownotice.php:92 +msgid "No such notice." +msgstr "Ingen sådan meddelelse." + +#: actions/apistatusesretweet.php:83 +msgid "Cannot repeat your own notice." +msgstr "Kan ikke gentage din egen meddelelse." + +#: actions/apistatusesretweet.php:91 +msgid "Already repeated that notice." +msgstr "Allerede gentaget denne medelelse." + +#: actions/apistatusesshow.php:139 +msgid "Status deleted." +msgstr "Status slettet." + +#: actions/apistatusesshow.php:145 +msgid "No status with that ID found." +msgstr "Ingen status med dette ID fundet." + +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 +#: lib/mailhandler.php:60 +#, php-format +msgid "That's too long. Max notice size is %d chars." +msgstr "Det er for langt. Maksimal besked størrelse er %d tegn." + +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 +msgid "Not found." +msgstr "Ikke fundet." + +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 +#, php-format +msgid "Max notice size is %d chars, including attachment URL." +msgstr "Max meddelelse størrelse er %d tegn, inklusiv vedlagt URL." + +#: actions/apisubscriptions.php:232 actions/apisubscriptions.php:262 +msgid "Unsupported format." +msgstr "Formatet understøttes ikke" + +#: actions/apitimelinefavorites.php:110 +#, php-format +msgid "%1$s / Favorites from %2$s" +msgstr "%1$s / favoritter fra %2$s" + +#: actions/apitimelinefavorites.php:119 +#, php-format +msgid "%1$s updates favorited by %2$s / %2$s." +msgstr "%1$s opdateringer favoriseret af %2$s / %2$s." + +#: actions/apitimelinementions.php:118 +#, php-format +msgid "%1$s / Updates mentioning %2$s" +msgstr "%1$s / opdateringer nævner %2$s" + +#: actions/apitimelinementions.php:131 +#, php-format +msgid "%1$s updates that reply to updates from %2$s / %3$s." +msgstr "%1$s opdateringer, som svar på opdateringer fra %2$s / %3$s." + +#: actions/apitimelinepublic.php:197 actions/publicrss.php:103 +#, php-format +msgid "%s public timeline" +msgstr "%s offentlig tidslinie" + +#: actions/apitimelinepublic.php:202 actions/publicrss.php:105 +#, php-format +msgid "%s updates from everyone!" +msgstr "%s opdateringer fra alle!" + +#: actions/apitimelineretweetedtome.php:111 +#, php-format +msgid "Repeated to %s" +msgstr "Gentagne til %s" + +#: actions/apitimelineretweetsofme.php:114 +#, php-format +msgid "Repeats of %s" +msgstr "Gentaget af %s" + +#: actions/apitimelinetag.php:105 actions/tag.php:67 +#, php-format +msgid "Notices tagged with %s" +msgstr "Bekendtgørelser tagged med %s" + +#: actions/apitimelinetag.php:107 actions/tagrss.php:65 +#, php-format +msgid "Updates tagged with %1$s on %2$s!" +msgstr "Opdateringer tagged med %1$s på %2$s!" + +#: actions/apitrends.php:87 +msgid "API method under construction." +msgstr "" + +#: actions/attachment.php:73 +msgid "No such attachment." +msgstr "Ingen sådan fil." + +#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73 +#: actions/editgroup.php:84 actions/groupdesignsettings.php:84 +#: actions/grouplogo.php:86 actions/groupmembers.php:76 +#: actions/grouprss.php:91 actions/showgroup.php:121 +msgid "No nickname." +msgstr "Ingen kaldenavn." + +#: actions/avatarbynickname.php:64 +msgid "No size." +msgstr "Ingen størrelse." + +#: actions/avatarbynickname.php:69 +msgid "Invalid size." +msgstr "Ugyldig størrelse." + +#. TRANS: Link description in user account settings menu. +#: actions/avatarsettings.php:67 actions/showgroup.php:230 +#: lib/accountsettingsaction.php:118 +msgid "Avatar" +msgstr "Avatar" + +#: actions/avatarsettings.php:78 +#, php-format +msgid "You can upload your personal avatar. The maximum file size is %s." +msgstr "" +"Du kan uploade dine personlige avatar. Den maksimale filstørrelse er %s." + +#: actions/avatarsettings.php:106 actions/avatarsettings.php:185 +#: actions/grouplogo.php:181 actions/remotesubscribe.php:191 +#: actions/userauthorization.php:72 actions/userrss.php:108 +msgid "User without matching profile." +msgstr "Bruger uden matchende profil." + +#: actions/avatarsettings.php:119 actions/avatarsettings.php:197 +#: actions/grouplogo.php:254 +msgid "Avatar settings" +msgstr "Avatar indstillinger" + +#: actions/avatarsettings.php:127 actions/avatarsettings.php:205 +#: actions/grouplogo.php:202 actions/grouplogo.php:262 +msgid "Original" +msgstr "Original" + +#: actions/avatarsettings.php:142 actions/avatarsettings.php:217 +#: actions/grouplogo.php:213 actions/grouplogo.php:274 +msgid "Preview" +msgstr "Forhåndsvisning" + +#: actions/avatarsettings.php:149 actions/showapplication.php:252 +#: lib/deleteuserform.php:66 lib/noticelist.php:656 +msgid "Delete" +msgstr "Slet" + +#: actions/avatarsettings.php:166 actions/grouplogo.php:236 +msgid "Upload" +msgstr "Oplægge" + +#: actions/avatarsettings.php:231 actions/grouplogo.php:289 +msgid "Crop" +msgstr "Beskær" + +#: actions/avatarsettings.php:305 +msgid "No file uploaded." +msgstr "Ingen fil uploaded." + +#: actions/avatarsettings.php:332 +msgid "Pick a square area of the image to be your avatar" +msgstr "Vælg en firkantet område af billedet til at være din avatar" + +#: actions/avatarsettings.php:347 actions/grouplogo.php:380 +msgid "Lost our file data." +msgstr "Mistede vores fil data." + +#: actions/avatarsettings.php:370 +msgid "Avatar updated." +msgstr "Avatar opdateret." + +#: actions/avatarsettings.php:373 +msgid "Failed updating avatar." +msgstr "Mislykket ajourføring af Avatar." + +#: actions/avatarsettings.php:397 +msgid "Avatar deleted." +msgstr "Avatar slettet." + +#: actions/block.php:69 +msgid "You already blocked that user." +msgstr "Du har allerede blokeret for denne bruger." + +#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158 +msgid "Block user" +msgstr "Bloker bruger" + +#: actions/block.php:138 +msgid "" +"Are you sure you want to block this user? Afterwards, they will be " +"unsubscribed from you, unable to subscribe to you in the future, and you " +"will not be notified of any @-replies from them." +msgstr "" +"Er du sikker på du vil blokere denne bruger? Bagefter vil de blive afmeldt " +"fra dig, ude af stand til at abonnere på dig i fremtiden, og du vil ikke " +"blive underrettet om nogen @-svar fra dem." + +#. TRANS: Button label on the user block form. +#. TRANS: Button label on the delete application form. +#. TRANS: Button label on the delete notice form. +#. TRANS: Button label on the delete user form. +#. TRANS: Button label on the form to block a user from a group. +#: actions/block.php:153 actions/deleteapplication.php:154 +#: actions/deletenotice.php:147 actions/deleteuser.php:152 +#: actions/groupblock.php:178 +msgctxt "BUTTON" +msgid "No" +msgstr "Nej" + +#. TRANS: Submit button title for 'No' when blocking a user. +#. TRANS: Submit button title for 'No' when deleting a user. +#: actions/block.php:157 actions/deleteuser.php:156 +msgid "Do not block this user" +msgstr "Bloker ikke denne bruger" + +#. TRANS: Button label on the user block form. +#. TRANS: Button label on the delete application form. +#. TRANS: Button label on the delete notice form. +#. TRANS: Button label on the delete user form. +#. TRANS: Button label on the form to block a user from a group. +#: actions/block.php:160 actions/deleteapplication.php:161 +#: actions/deletenotice.php:154 actions/deleteuser.php:159 +#: actions/groupblock.php:185 +msgctxt "BUTTON" +msgid "Yes" +msgstr "Ja" + +#. TRANS: Submit button title for 'Yes' when blocking a user. +#: actions/block.php:164 actions/groupmembers.php:392 lib/blockform.php:80 +msgid "Block this user" +msgstr "Bloker denne bruger" + +#: actions/block.php:187 +msgid "Failed to save block information." +msgstr "Kunne ikke gemme blokerings oplysninger." + +#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87 +#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62 +#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83 +#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102 +#: actions/groupmembers.php:83 actions/groupmembers.php:90 +#: actions/grouprss.php:98 actions/grouprss.php:105 +#: actions/groupunblock.php:86 actions/joingroup.php:82 +#: actions/joingroup.php:93 actions/leavegroup.php:82 +#: actions/leavegroup.php:93 actions/makeadmin.php:86 +#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:166 +#: lib/command.php:368 +msgid "No such group." +msgstr "Ingen sådan gruppe." + +#: actions/blockedfromgroup.php:97 +#, php-format +msgid "%s blocked profiles" +msgstr "%s blokerede profiler" + +#: actions/blockedfromgroup.php:100 +#, php-format +msgid "%1$s blocked profiles, page %2$d" +msgstr "%1$s blokerede profiler, side %2$d" + +#: actions/blockedfromgroup.php:115 +msgid "A list of the users blocked from joining this group." +msgstr "En liste over brugere blokeret fra at deltage i denne gruppe." + +#: actions/blockedfromgroup.php:288 +msgid "Unblock user from group" +msgstr "Ophæv blokering af bruger fra gruppe" + +#: actions/blockedfromgroup.php:320 lib/unblockform.php:69 +msgid "Unblock" +msgstr "Fjern blokering" + +#: actions/blockedfromgroup.php:320 lib/unblockform.php:80 +msgid "Unblock this user" +msgstr "Fjern blokeringen af denne bruger" + +#. TRANS: Title for mini-posting window loaded from bookmarklet. +#: actions/bookmarklet.php:51 +#, php-format +msgid "Post to %s" +msgstr "Post til %s" + +#: actions/confirmaddress.php:75 +msgid "No confirmation code." +msgstr "Ingen bekræftelseskode." + +#: actions/confirmaddress.php:80 +msgid "Confirmation code not found." +msgstr "Bekræftelseskode ikke fundet." + +#: actions/confirmaddress.php:85 +msgid "That confirmation code is not for you!" +msgstr "Denne bekræftelseskode er ikke til dig!" + +#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'. +#: actions/confirmaddress.php:91 +#, php-format +msgid "Unrecognized address type %s." +msgstr "Ukendte adresse type %s." + +#. TRANS: Client error for an already confirmed email/jabbel/sms address. +#: actions/confirmaddress.php:96 +msgid "That address has already been confirmed." +msgstr "Denne adresse er allerede blevet bekræftet." + +#. TRANS: Server error thrown on database error updating e-mail preferences. +#. TRANS: Server error thrown on database error removing a registered e-mail address. +#. TRANS: Server error thrown on database error updating IM preferences. +#. TRANS: Server error thrown on database error removing a registered IM address. +#. TRANS: Server error thrown on database error updating SMS preferences. +#. TRANS: Server error thrown on database error removing a registered SMS phone number. +#: actions/confirmaddress.php:116 actions/emailsettings.php:327 +#: actions/emailsettings.php:473 actions/imsettings.php:280 +#: actions/imsettings.php:439 actions/othersettings.php:174 +#: actions/profilesettings.php:283 actions/smssettings.php:308 +#: actions/smssettings.php:464 +msgid "Couldn't update user." +msgstr "Kunne ikke opdatere brugeren." + +#. TRANS: Server error thrown on database error canceling e-mail address confirmation. +#. TRANS: Server error thrown on database error canceling SMS phone number confirmation. +#: actions/confirmaddress.php:128 actions/emailsettings.php:433 +#: actions/smssettings.php:422 +msgid "Couldn't delete email confirmation." +msgstr "Kunne ikke slette e-mail bekræftelse." + +#: actions/confirmaddress.php:146 +msgid "Confirm address" +msgstr "Bekræft adresse" + +#: actions/confirmaddress.php:161 +#, php-format +msgid "The address \"%s\" has been confirmed for your account." +msgstr "Adressen \"%s\" er blevet bekræftet for din konto." + +#: actions/conversation.php:99 +msgid "Conversation" +msgstr "Samtale" + +#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87 +#: lib/profileaction.php:229 lib/searchgroupnav.php:82 +msgid "Notices" +msgstr "Bekendtgørelser" + +#: actions/deleteapplication.php:63 +msgid "You must be logged in to delete an application." +msgstr "Du skal være logget ind for at slette et program." + +#: actions/deleteapplication.php:71 +msgid "Application not found." +msgstr "Program ikke fundet." + +#: actions/deleteapplication.php:78 actions/editapplication.php:77 +#: actions/showapplication.php:94 +msgid "You are not the owner of this application." +msgstr "Du er ikke ejer af dette program." + +#: actions/deleteapplication.php:102 actions/editapplication.php:127 +#: actions/newapplication.php:110 actions/showapplication.php:118 +#: lib/action.php:1263 +msgid "There was a problem with your session token." +msgstr "Der var et problem med din session token." + +#: actions/deleteapplication.php:123 actions/deleteapplication.php:147 +msgid "Delete application" +msgstr "Slet program" + +#: actions/deleteapplication.php:149 +msgid "" +"Are you sure you want to delete this application? This will clear all data " +"about the application from the database, including all existing user " +"connections." +msgstr "" +"Er du sikker på du vil slette dette program? Dette vil slette alle data om " +"anvendelsen fra databasen, herunder alle eksisterende bruger indstillinger." + +#. TRANS: Submit button title for 'No' when deleting an application. +#: actions/deleteapplication.php:158 +msgid "Do not delete this application" +msgstr "Slet ikke dette program" + +#. TRANS: Submit button title for 'Yes' when deleting an application. +#: actions/deleteapplication.php:164 +msgid "Delete this application" +msgstr "Slet dette program" + +#. TRANS: Client error message thrown when trying to access the admin panel while not logged in. +#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62 +#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69 +#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89 +#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96 +#: actions/tagother.php:33 actions/unsubscribe.php:52 +#: lib/adminpanelaction.php:73 lib/profileformaction.php:64 +#: lib/settingsaction.php:72 +msgid "Not logged in." +msgstr "Ikke logget ind" + +#: actions/deletenotice.php:71 +msgid "Can't delete this notice." +msgstr "Kan ikke slette denne meddelelse." + +#: actions/deletenotice.php:103 +msgid "" +"You are about to permanently delete a notice. Once this is done, it cannot " +"be undone." +msgstr "" +"Du er ved permanent at slette en meddelelse. Når dette er gjort, kan det " +"ikke fortrydes." + +#: actions/deletenotice.php:109 actions/deletenotice.php:141 +msgid "Delete notice" +msgstr "Slet meddelelse" + +#: actions/deletenotice.php:144 +msgid "Are you sure you want to delete this notice?" +msgstr "Er du sikker på du vil slette denne meddelelse?" + +#. TRANS: Submit button title for 'No' when deleting a notice. +#: actions/deletenotice.php:151 +msgid "Do not delete this notice" +msgstr "Slet ikke denne meddelelse" + +#. TRANS: Submit button title for 'Yes' when deleting a notice. +#: actions/deletenotice.php:158 lib/noticelist.php:656 +msgid "Delete this notice" +msgstr "Slet denne meddelelse" + +#: actions/deleteuser.php:67 +msgid "You cannot delete users." +msgstr "Du kan ikke slette brugere." + +#: actions/deleteuser.php:74 +msgid "You can only delete local users." +msgstr "Du kan kun slette de lokale brugere." + +#: actions/deleteuser.php:110 actions/deleteuser.php:133 +msgid "Delete user" +msgstr "Slet bruger" + +#: actions/deleteuser.php:136 +msgid "" +"Are you sure you want to delete this user? This will clear all data about " +"the user from the database, without a backup." +msgstr "" +"Er du sikker på du vil slette denne bruger? Dette vil slette alle data om " +"brugeren fra databasen, uden en sikkerhedskopi." + +#. TRANS: Submit button title for 'Yes' when deleting a user. +#: actions/deleteuser.php:163 lib/deleteuserform.php:77 +msgid "Delete this user" +msgstr "Slet denne bruger" + +#. TRANS: Message used as title for design settings for the site. +#. TRANS: Link description in user account settings menu. +#: actions/designadminpanel.php:63 lib/accountsettingsaction.php:139 +#: lib/groupnav.php:119 +msgid "Design" +msgstr "Design" + +#: actions/designadminpanel.php:74 +msgid "Design settings for this StatusNet site." +msgstr "Design indstillinger for dette StatusNet site." + +#: actions/designadminpanel.php:318 +msgid "Invalid logo URL." +msgstr "Ugyldig logo URL." + +#: actions/designadminpanel.php:322 +#, php-format +msgid "Theme not available: %s." +msgstr "Tema ikke tilgængelige: %s." + +#: actions/designadminpanel.php:426 +msgid "Change logo" +msgstr "Skift logo" + +#: actions/designadminpanel.php:431 +msgid "Site logo" +msgstr "Site logo" + +#: actions/designadminpanel.php:443 +msgid "Change theme" +msgstr "Skift tema" + +#: actions/designadminpanel.php:460 +msgid "Site theme" +msgstr "Site tema" + +#: actions/designadminpanel.php:461 +msgid "Theme for the site." +msgstr "Tema for webstedet." + +#: actions/designadminpanel.php:467 +msgid "Custom theme" +msgstr "Brugerdefineret tema" + +#: actions/designadminpanel.php:471 +msgid "You can upload a custom StatusNet theme as a .ZIP archive." +msgstr "Du kan uploade en brugerdefineret StatusNet tema som en. ZIP arkiv." + +#: actions/designadminpanel.php:486 lib/designsettings.php:101 +msgid "Change background image" +msgstr "Skift baggrundsbillede" + +#: actions/designadminpanel.php:491 actions/designadminpanel.php:574 +#: lib/designsettings.php:178 +msgid "Background" +msgstr "Baggrund" + +#: actions/designadminpanel.php:496 +#, php-format +msgid "" +"You can upload a background image for the site. The maximum file size is %1" +"$s." +msgstr "" +"Du kan uploade et baggrundsbillede til webstedet. Den maksimale filstørrelse " +"er %1$s." + +#. TRANS: Used as radio button label to add a background image. +#: actions/designadminpanel.php:527 lib/designsettings.php:139 +msgid "On" +msgstr "Til" + +#. TRANS: Used as radio button label to not add a background image. +#: actions/designadminpanel.php:544 lib/designsettings.php:155 +msgid "Off" +msgstr "Fra" + +#: actions/designadminpanel.php:545 lib/designsettings.php:156 +msgid "Turn background image on or off." +msgstr "Slå baggrundsbilledet til eller fra." + +#: actions/designadminpanel.php:550 lib/designsettings.php:161 +msgid "Tile background image" +msgstr "Tile baggrundsbillede" + +#: actions/designadminpanel.php:564 lib/designsettings.php:170 +msgid "Change colours" +msgstr "Skift farver" + +#: actions/designadminpanel.php:587 lib/designsettings.php:191 +msgid "Content" +msgstr "Indhold" + +#: actions/designadminpanel.php:600 lib/designsettings.php:204 +msgid "Sidebar" +msgstr "Sidebar" + +#: actions/designadminpanel.php:613 lib/designsettings.php:217 +msgid "Text" +msgstr "Tekst" + +#: actions/designadminpanel.php:626 lib/designsettings.php:230 +msgid "Links" +msgstr "Henvisninger" + +#: actions/designadminpanel.php:651 +msgid "Advanced" +msgstr "Avanceret" + +#: actions/designadminpanel.php:655 +msgid "Custom CSS" +msgstr "Personlig CSS" + +#: actions/designadminpanel.php:676 lib/designsettings.php:247 +msgid "Use defaults" +msgstr "Brug standardindstillinger" + +#: actions/designadminpanel.php:677 lib/designsettings.php:248 +msgid "Restore default designs" +msgstr "Gendan standard indstillinger" + +#: actions/designadminpanel.php:683 lib/designsettings.php:254 +msgid "Reset back to default" +msgstr "Nulstil til standard værdier" + +#. TRANS: Submit button title +#: actions/designadminpanel.php:685 actions/othersettings.php:126 +#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174 +#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292 +#: actions/sitenoticeadminpanel.php:195 actions/snapshotadminpanel.php:245 +#: actions/subscriptions.php:226 actions/tagother.php:154 +#: actions/useradminpanel.php:294 lib/applicationeditform.php:363 +#: lib/designsettings.php:256 lib/groupeditform.php:202 +msgid "Save" +msgstr "Gem" + +#: actions/designadminpanel.php:686 lib/designsettings.php:257 +msgid "Save design" +msgstr "Gem design" + +#: actions/disfavor.php:81 +msgid "This notice is not a favorite!" +msgstr "Denne meddelelse er ikke en favorit!" + +#: actions/disfavor.php:94 +msgid "Add to favorites" +msgstr "Tilføj til favoritter" + +#: actions/doc.php:158 +#, php-format +msgid "No such document \"%s\"" +msgstr "Ingen sådan dokument \"%s\"" + +#: actions/editapplication.php:54 +msgid "Edit Application" +msgstr "Rediger program" + +#: actions/editapplication.php:66 +msgid "You must be logged in to edit an application." +msgstr "Du skal være logget ind for at redigere et program." + +#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166 +#: actions/showapplication.php:87 +msgid "No such application." +msgstr "Ingen sådan program" + +#: actions/editapplication.php:161 +msgid "Use this form to edit your application." +msgstr "Brug denne formular til at redigere dit program." + +#: actions/editapplication.php:177 actions/newapplication.php:159 +msgid "Name is required." +msgstr "Navn er påkrævet." + +#: actions/editapplication.php:180 actions/newapplication.php:165 +msgid "Name is too long (max 255 chars)." +msgstr "Navnet er for langt (max 255 tegn)." + +#: actions/editapplication.php:183 actions/newapplication.php:162 +msgid "Name already in use. Try another one." +msgstr "Navn allerede i brug. Prøv et andet." + +#: actions/editapplication.php:186 actions/newapplication.php:168 +msgid "Description is required." +msgstr "Beskrivelse er påkrævet." + +#: actions/editapplication.php:194 +msgid "Source URL is too long." +msgstr "Kilde-URL er for lang." + +#: actions/editapplication.php:200 actions/newapplication.php:185 +msgid "Source URL is not valid." +msgstr "Kilde-URL er ikke gyldig." + +#: actions/editapplication.php:203 actions/newapplication.php:188 +msgid "Organization is required." +msgstr "Organisationen er påkrævet." + +#: actions/editapplication.php:206 actions/newapplication.php:191 +msgid "Organization is too long (max 255 chars)." +msgstr "Organisationen er for lang (max 255 tegn)." + +#: actions/editapplication.php:209 actions/newapplication.php:194 +msgid "Organization homepage is required." +msgstr "Organisationens hjemmeside er påkrævet." + +#: actions/editapplication.php:218 actions/newapplication.php:206 +msgid "Callback is too long." +msgstr "Callback er for lang." + +#: actions/editapplication.php:225 actions/newapplication.php:215 +msgid "Callback URL is not valid." +msgstr "Tilbagekaldswebadresse er ikke gyldig." + +#: actions/editapplication.php:258 +msgid "Could not update application." +msgstr "Kunne ikke opdatere programmet." + +#: actions/editgroup.php:56 +#, php-format +msgid "Edit %s group" +msgstr "Rediger %s gruppe" + +#: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65 +msgid "You must be logged in to create a group." +msgstr "Du skal være logget ind for at oprette en gruppe." + +#: actions/editgroup.php:107 actions/editgroup.php:172 +#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109 +msgid "You must be an admin to edit the group." +msgstr "Du skal være administrator for at redigere gruppen." + +#: actions/editgroup.php:158 +msgid "Use this form to edit the group." +msgstr "Brug denne formular til at redigere gruppen." + +#: actions/editgroup.php:205 actions/newgroup.php:145 +#, php-format +msgid "description is too long (max %d chars)." +msgstr "Beskrivelsen er for lang (max %d tegn)." + +#: actions/editgroup.php:228 actions/newgroup.php:168 +#, php-format +msgid "Invalid alias: \"%s\"" +msgstr "Ugyldigt alias: \"%s\"." + +#: actions/editgroup.php:258 +msgid "Could not update group." +msgstr "Kunne ikke opdatere gruppe." + +#. TRANS: Server exception thrown when creating group aliases failed. +#: actions/editgroup.php:264 classes/User_group.php:514 +msgid "Could not create aliases." +msgstr "Kunne ikke oprette aliaser." + +#: actions/editgroup.php:280 +msgid "Options saved." +msgstr "Valg gemt." + +#. TRANS: Title for e-mail settings. +#: actions/emailsettings.php:61 +msgid "Email settings" +msgstr "Email indstillinger" + +#. TRANS: E-mail settings page instructions. +#. TRANS: %%site.name%% is the name of the site. +#: actions/emailsettings.php:76 +#, php-format +msgid "Manage how you get email from %%site.name%%." +msgstr "Administrer hvordan du får e-mail fra %%site.name%%." + +#. TRANS: Form legend for e-mail settings form. +#. TRANS: Field label for e-mail address input in e-mail settings form. +#: actions/emailsettings.php:106 actions/emailsettings.php:132 +msgid "Email address" +msgstr "E-mail adresse" + +#. TRANS: Form note in e-mail settings form. +#: actions/emailsettings.php:112 +msgid "Current confirmed email address." +msgstr "Nuværende bekræftet email-adresse." + +#. TRANS: Button label to remove a confirmed e-mail address. +#. TRANS: Button label for removing a set sender e-mail address to post notices from. +#. TRANS: Button label to remove a confirmed IM address. +#. TRANS: Button label to remove a confirmed SMS address. +#. TRANS: Button label for removing a set sender SMS e-mail address to post notices from. +#: actions/emailsettings.php:115 actions/emailsettings.php:158 +#: actions/imsettings.php:116 actions/smssettings.php:124 +#: actions/smssettings.php:180 +msgctxt "BUTTON" +msgid "Remove" +msgstr "Fjern" + +#: actions/emailsettings.php:122 +msgid "" +"Awaiting confirmation on this address. Check your inbox (and spam box!) for " +"a message with further instructions." +msgstr "" +"Afventer bekræftelse på denne adresse. Tjek din indbakke (og spam box!) for " +"en besked med yderligere instruktioner." + +#. TRANS: Button label to cancel an e-mail address confirmation procedure. +#. TRANS: Button label to cancel an IM address confirmation procedure. +#. TRANS: Button label to cancel a SMS address confirmation procedure. +#. TRANS: Button label +#: actions/emailsettings.php:127 actions/imsettings.php:131 +#: actions/smssettings.php:137 lib/applicationeditform.php:357 +msgctxt "BUTTON" +msgid "Cancel" +msgstr "Afbryd" + +#. TRANS: Instructions for e-mail address input form. +#: actions/emailsettings.php:135 +msgid "Email address, like \"UserName@example.org\"" +msgstr "E-mail adresse, som \"UserName@example.org\"" + +#. TRANS: Button label for adding an e-mail address in e-mail settings form. +#. TRANS: Button label for adding an IM address in IM settings form. +#. TRANS: Button label for adding a SMS phone number in SMS settings form. +#: actions/emailsettings.php:139 actions/imsettings.php:148 +#: actions/smssettings.php:162 +msgctxt "BUTTON" +msgid "Add" +msgstr "Tilføj" + +#. TRANS: Form legend for incoming e-mail settings form. +#. TRANS: Form legend for incoming SMS settings form. +#: actions/emailsettings.php:147 actions/smssettings.php:171 +msgid "Incoming email" +msgstr "Indgående e-mail" + +#. TRANS: Form instructions for incoming e-mail form in e-mail settings. +#. TRANS: Form instructions for incoming SMS e-mail address form in SMS settings. +#: actions/emailsettings.php:155 actions/smssettings.php:178 +msgid "Send email to this address to post new notices." +msgstr "Send e-mail til denne adresse for at skrive nye bekendtgørelser." + +#. TRANS: Instructions for incoming e-mail address input form. +#. TRANS: Instructions for incoming SMS e-mail address input form. +#: actions/emailsettings.php:164 actions/smssettings.php:186 +msgid "Make a new email address for posting to; cancels the old one." +msgstr "" +"Opret en ny e-mail adresse til postering af beskeder; annullerer den gamle." + +#. TRANS: Button label for adding an e-mail address to send notices from. +#. TRANS: Button label for adding an SMS e-mail address to send notices from. +#: actions/emailsettings.php:168 actions/smssettings.php:189 +msgctxt "BUTTON" +msgid "New" +msgstr "Ny" + +#. TRANS: Form legend for e-mail preferences form. +#: actions/emailsettings.php:174 +msgid "Email preferences" +msgstr "Email indstillinger" + +#. TRANS: Checkbox label in e-mail preferences form. +#: actions/emailsettings.php:180 +msgid "Send me notices of new subscriptions through email." +msgstr "Send mig meddelelser om nye abonnementer via e-mail." + +#. TRANS: Checkbox label in e-mail preferences form. +#: actions/emailsettings.php:186 +msgid "Send me email when someone adds my notice as a favorite." +msgstr "Send mig email, når nogen har tilføjet min meddelelse som en favorit." + +#. TRANS: Checkbox label in e-mail preferences form. +#: actions/emailsettings.php:193 +msgid "Send me email when someone sends me a private message." +msgstr "Send mig email, når nogen sender mig en privat besked." + +#. TRANS: Checkbox label in e-mail preferences form. +#: actions/emailsettings.php:199 +msgid "Send me email when someone sends me an \"@-reply\"." +msgstr "Send mig email, når nogen sender mig et \"@-svar\"." + +#. TRANS: Checkbox label in e-mail preferences form. +#: actions/emailsettings.php:205 +msgid "Allow friends to nudge me and send me an email." +msgstr "Tillad venner at puffe mig og at sende mig en e-mail." + +#. TRANS: Checkbox label in e-mail preferences form. +#: actions/emailsettings.php:212 +msgid "I want to post notices by email." +msgstr "Jeg ønsker at sende meddelelser via e-mail." + +#. TRANS: Checkbox label in e-mail preferences form. +#: actions/emailsettings.php:219 +msgid "Publish a MicroID for my email address." +msgstr "Udgiv et MicroID til min email adresse." + +#. TRANS: Confirmation message for successful e-mail preferences save. +#: actions/emailsettings.php:334 +msgid "Email preferences saved." +msgstr "Email indstillinger gemt." + +#. TRANS: Message given saving e-mail address without having provided one. +#: actions/emailsettings.php:353 +msgid "No email address." +msgstr "Ingen e-mail-adresse." + +#. TRANS: Message given saving e-mail address that cannot be normalised. +#: actions/emailsettings.php:361 +msgid "Cannot normalize that email address" +msgstr "Kan ikke normalisere denne e-mail adresse" + +#. TRANS: Message given saving e-mail address that not valid. +#: actions/emailsettings.php:366 actions/register.php:208 +#: actions/siteadminpanel.php:144 +msgid "Not a valid email address." +msgstr "Ikke en gyldig e-mail adresse." + +#. TRANS: Message given saving e-mail address that is already set. +#: actions/emailsettings.php:370 +msgid "That is already your email address." +msgstr "Det er allerede din e-mail adresse." + +#. TRANS: Message given saving e-mail address that is already set for another user. +#: actions/emailsettings.php:374 +msgid "That email address already belongs to another user." +msgstr "Denne e-mail adresse tilhører allerede en anden bruger." + +#. TRANS: Server error thrown on database error adding e-mail confirmation code. +#. TRANS: Server error thrown on database error adding IM confirmation code. +#. TRANS: Server error thrown on database error adding SMS confirmation code. +#: actions/emailsettings.php:391 actions/imsettings.php:348 +#: actions/smssettings.php:373 +msgid "Couldn't insert confirmation code." +msgstr "Kunne ikke indsætte bekræftelseskode." + +#. TRANS: Message given saving valid e-mail address that is to be confirmed. +#: actions/emailsettings.php:398 +msgid "" +"A confirmation code was sent to the email address you added. Check your " +"inbox (and spam box!) for the code and instructions on how to use it." +msgstr "" +"En bekræftelse kode blev sendt til den e-mail adresse, du har tilføjet. Tjek " +"din indbakke (og spam box!) for koden og vejledning om, hvordan man bruger " +"den." + +#. TRANS: Message given canceling e-mail address confirmation that is not pending. +#. TRANS: Message given canceling IM address confirmation that is not pending. +#. TRANS: Message given canceling SMS phone number confirmation that is not pending. +#: actions/emailsettings.php:419 actions/imsettings.php:383 +#: actions/smssettings.php:408 +msgid "No pending confirmation to cancel." +msgstr "Ingen afventende bekræftelse at annullere." + +#. TRANS: Message given canceling e-mail address confirmation for the wrong e-mail address. +#: actions/emailsettings.php:424 +msgid "That is the wrong email address." +msgstr "Det er den forkerte e-mail adresse." + +#. TRANS: Message given after successfully canceling e-mail address confirmation. +#: actions/emailsettings.php:438 +msgid "Email confirmation cancelled." +msgstr "Email bekræftelse aflyst." + +#. TRANS: Message given trying to remove an e-mail address that is not +#. TRANS: registered for the active user. +#: actions/emailsettings.php:458 +msgid "That is not your email address." +msgstr "Det er ikke din e-mail adresse." + +#. TRANS: Message given after successfully removing a registered e-mail address. +#: actions/emailsettings.php:479 +msgid "The email address was removed." +msgstr "E-mail adressen blev fjernet." + +#: actions/emailsettings.php:493 actions/smssettings.php:568 +msgid "No incoming email address." +msgstr "Ingen indkommende e-mail adresse." + +#. TRANS: Server error thrown on database error removing incoming e-mail address. +#. TRANS: Server error thrown on database error adding incoming e-mail address. +#: actions/emailsettings.php:504 actions/emailsettings.php:528 +#: actions/smssettings.php:578 actions/smssettings.php:602 +msgid "Couldn't update user record." +msgstr "Kunne ikke opdatere bruger oplysninger." + +#. TRANS: Message given after successfully removing an incoming e-mail address. +#: actions/emailsettings.php:508 actions/smssettings.php:581 +msgid "Incoming email address removed." +msgstr "Indgående e-mail adresse fjernet." + +#. TRANS: Message given after successfully adding an incoming e-mail address. +#: actions/emailsettings.php:532 actions/smssettings.php:605 +msgid "New incoming email address added." +msgstr "Ny indkommende e-mail adresse tilføjet." + +#: actions/favor.php:79 +msgid "This notice is already a favorite!" +msgstr "Denne meddelelse er allerede en favorit!" + +#: actions/favor.php:92 lib/disfavorform.php:140 +msgid "Disfavor favorite" +msgstr "Fjern markering som favorit" + +#: actions/favorited.php:65 lib/popularnoticesection.php:91 +#: lib/publicgroupnav.php:93 +msgid "Popular notices" +msgstr "Populære bekendtgørelser" + +#: actions/favorited.php:67 +#, php-format +msgid "Popular notices, page %d" +msgstr "Populære bekendtgørelser, side %d" + +#: actions/favorited.php:79 +msgid "The most popular notices on the site right now." +msgstr "De mest populære opslag på hjemmesiden lige nu." + +#: actions/favorited.php:150 +msgid "Favorite notices appear on this page but no one has favorited one yet." +msgstr "" +"Favorit bekendtgørelser vises på denne side, men ingen har markeret en " +"favorit endnu." + +#: actions/favorited.php:153 +msgid "" +"Be the first to add a notice to your favorites by clicking the fave button " +"next to any notice you like." +msgstr "" +"Vær den første til at tilføje en meddelelse til dine favoritter ved at " +"klikke på favorit knappen ved siden af en meddelelse, du syntes om." + +#: actions/favorited.php:156 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and be the first to add a " +"notice to your favorites!" +msgstr "" +"Hvorfor ikke [registrere en konto] (%%action.register%%), og vær den første " +"til at tilføje en meddelelse til dine favoritter!" + +#: actions/favoritesrss.php:111 actions/showfavorites.php:77 +#: lib/personalgroupnav.php:115 +#, php-format +msgid "%s's favorite notices" +msgstr "%s's favorit bekendtgørelser" + +#: actions/favoritesrss.php:115 +#, php-format +msgid "Updates favored by %1$s on %2$s!" +msgstr "Opdateringer markeret som favorit af %1$s på %2$s!" + +#: actions/featured.php:69 lib/featureduserssection.php:87 +#: lib/publicgroupnav.php:89 +msgid "Featured users" +msgstr "Udvalgte brugere" + +#: actions/featured.php:71 +#, php-format +msgid "Featured users, page %d" +msgstr "Udvalgte brugere, side %d" + +#: actions/featured.php:99 +#, php-format +msgid "A selection of some great users on %s" +msgstr "Et udvalg af nogle top brugere på %s" + +#: actions/file.php:34 +msgid "No notice ID." +msgstr "Ingen meddelelses ID." + +#: actions/file.php:38 +msgid "No notice." +msgstr "Ingen meddelelse." + +#: actions/file.php:42 +msgid "No attachments." +msgstr "Ingen vedhæftede filer." + +#: actions/file.php:51 +msgid "No uploaded attachments." +msgstr "Ingen uploaded vedhæftede filer." + +#: actions/finishremotesubscribe.php:69 +msgid "Not expecting this response!" +msgstr "Forventer ikke dette svar!" + +#: actions/finishremotesubscribe.php:80 +msgid "User being listened to does not exist." +msgstr "Brugeren som lyttes til, findes ikke." + +#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59 +msgid "You can use the local subscription!" +msgstr "Du kan bruge det lokale abonnement!" + +#: actions/finishremotesubscribe.php:99 +msgid "That user has blocked you from subscribing." +msgstr "Denne bruger har blokeret dig fra at abonnere." + +#: actions/finishremotesubscribe.php:110 +msgid "You are not authorized." +msgstr "Du har ikke tilladelse." + +#: actions/finishremotesubscribe.php:113 +msgid "Could not convert request token to access token." +msgstr "Kunne ikke konvertere anmodnings-token til et adgangs-token." + +#: actions/finishremotesubscribe.php:118 +msgid "Remote service uses unknown version of OMB protocol." +msgstr "Fjerntjenesten bruger en ukendt version af 0MB protokol." + +#: actions/finishremotesubscribe.php:138 +msgid "Error updating remote profile." +msgstr "Fejl ved opdatering af fjernbetjeningsprofil." + +#: actions/getfile.php:79 +msgid "No such file." +msgstr "Ingen sådan fil." + +#: actions/getfile.php:83 +msgid "Cannot read file." +msgstr "Kan ikke læse filen." + +#: actions/grantrole.php:62 actions/revokerole.php:62 +msgid "Invalid role." +msgstr "Ugyldig rolle." + +#: actions/grantrole.php:66 actions/revokerole.php:66 +msgid "This role is reserved and cannot be set." +msgstr "Denne rolle er reserveret og kan ikke indstilles." + +#: actions/grantrole.php:75 +msgid "You cannot grant user roles on this site." +msgstr "Du kan ikke tildele brugerroller på dette site." + +#: actions/grantrole.php:82 +msgid "User already has this role." +msgstr "Bruger har allerede denne rolle." + +#: actions/groupblock.php:71 actions/groupunblock.php:71 +#: actions/makeadmin.php:71 actions/subedit.php:46 +#: lib/profileformaction.php:79 +msgid "No profile specified." +msgstr "Ingen profil specificeret." + +#: actions/groupblock.php:76 actions/groupunblock.php:76 +#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46 +#: actions/unsubscribe.php:84 lib/profileformaction.php:86 +msgid "No profile with that ID." +msgstr "Ingen profil med det ID." + +#: actions/groupblock.php:81 actions/groupunblock.php:81 +#: actions/makeadmin.php:81 +msgid "No group specified." +msgstr "Ingen gruppe angivet." + +#: actions/groupblock.php:91 +msgid "Only an admin can block group members." +msgstr "Kun en administrator kan blokere gruppens medlemmer." + +#: actions/groupblock.php:95 +msgid "User is already blocked from group." +msgstr "Bruger er allerede blokeret fra gruppen." + +#: actions/groupblock.php:100 +msgid "User is not a member of group." +msgstr "Brugeren er ikke medlem af gruppen." + +#: actions/groupblock.php:134 actions/groupmembers.php:360 +msgid "Block user from group" +msgstr "Bloker bruger fra gruppe" + +#: actions/groupblock.php:160 +#, php-format +msgid "" +"Are you sure you want to block user \"%1$s\" from the group \"%2$s\"? They " +"will be removed from the group, unable to post, and unable to subscribe to " +"the group in the future." +msgstr "" +"Er du sikker på du vil blokere bruger \"%1$s\" fra gruppen \"%2$s\"? De vil " +"blive fjernet fra gruppen, ude af stand til at postere, og ude af stand til " +"at tilmelde sig gruppen i fremtiden." + +#. TRANS: Submit button title for 'No' when blocking a user from a group. +#: actions/groupblock.php:182 +msgid "Do not block this user from this group" +msgstr "Bloker ikke denne bruger fra denne gruppe" + +#. TRANS: Submit button title for 'Yes' when blocking a user from a group. +#: actions/groupblock.php:189 +msgid "Block this user from this group" +msgstr "Bloker denne bruger fra denne gruppe" + +#: actions/groupblock.php:206 +msgid "Database error blocking user from group." +msgstr "Database fejl ved blokering af bruger fra gruppen." + +#: actions/groupbyid.php:74 actions/userbyid.php:70 +msgid "No ID." +msgstr "Ingen ID." + +#: actions/groupdesignsettings.php:68 +msgid "You must be logged in to edit a group." +msgstr "Du skal være logget på for at redigere en gruppe." + +#: actions/groupdesignsettings.php:144 +msgid "Group design" +msgstr "Gruppe design" + +#: actions/groupdesignsettings.php:155 +msgid "" +"Customize the way your group looks with a background image and a colour " +"palette of your choice." +msgstr "" +"Tilpas den måde din gruppe vises på, med et baggrundsbillede og en " +"farvepalet efter dit valg." + +#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186 +#: lib/designsettings.php:391 lib/designsettings.php:413 +msgid "Couldn't update your design." +msgstr "Kunne ikke opdatere dit design." + +#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231 +msgid "Design preferences saved." +msgstr "Design præferencer gemt." + +#: actions/grouplogo.php:142 actions/grouplogo.php:195 +msgid "Group logo" +msgstr "Gruppe logo" + +#: actions/grouplogo.php:153 +#, php-format +msgid "" +"You can upload a logo image for your group. The maximum file size is %s." +msgstr "" +"Du kan uploade et logo billede til din gruppe. Den maksimale filstørrelse er " +"%s." + +#: actions/grouplogo.php:365 +msgid "Pick a square area of the image to be the logo." +msgstr "Vælg en firkantet område af billedet, der skal logoet." + +#: actions/grouplogo.php:399 +msgid "Logo updated." +msgstr "Logo opdateret." + +#: actions/grouplogo.php:401 +msgid "Failed updating logo." +msgstr "Mislykket ajourføring af logo." + +#: actions/groupmembers.php:100 lib/groupnav.php:92 +#, php-format +msgid "%s group members" +msgstr "%s gruppe medlemmer" + +#: actions/groupmembers.php:103 +#, php-format +msgid "%1$s group members, page %2$d" +msgstr "" + +#: actions/groupmembers.php:118 +msgid "A list of the users in this group." +msgstr "" + +#: actions/groupmembers.php:182 lib/groupnav.php:107 +msgid "Admin" +msgstr "" + +#: actions/groupmembers.php:392 lib/blockform.php:69 +msgid "Block" +msgstr "" + +#: actions/groupmembers.php:487 +msgid "Make user an admin of the group" +msgstr "" + +#: actions/groupmembers.php:519 +msgid "Make Admin" +msgstr "" + +#: actions/groupmembers.php:519 +msgid "Make this user an admin" +msgstr "" + +#. TRANS: Message is used as link title. %s is a user nickname. +#. TRANS: Title in atom group notice feed. %s is a group name. +#. TRANS: Title in atom user notice feed. %s is a user name. +#: actions/grouprss.php:139 actions/userrss.php:94 +#: lib/atomgroupnoticefeed.php:63 lib/atomusernoticefeed.php:69 +#, php-format +msgid "%s timeline" +msgstr "" + +#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name. +#: actions/grouprss.php:142 +#, php-format +msgid "Updates from members of %1$s on %2$s!" +msgstr "" + +#: actions/groups.php:62 lib/profileaction.php:223 lib/profileaction.php:249 +#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98 +msgid "Groups" +msgstr "" + +#: actions/groups.php:64 +#, php-format +msgid "Groups, page %d" +msgstr "" + +#: actions/groups.php:90 +#, php-format +msgid "" +"%%%%site.name%%%% groups let you find and talk with people of similar " +"interests. After you join a group you can send messages to all other members " +"using the syntax \"!groupname\". Don't see a group you like? Try [searching " +"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup" +"%%%%)" +msgstr "" + +#: actions/groups.php:107 actions/usergroups.php:126 lib/groupeditform.php:122 +msgid "Create a new group" +msgstr "" + +#: actions/groupsearch.php:52 +#, php-format +msgid "" +"Search for groups on %%site.name%% by their name, location, or description. " +"Separate the terms by spaces; they must be 3 characters or more." +msgstr "" + +#: actions/groupsearch.php:58 +msgid "Group search" +msgstr "" + +#: actions/groupsearch.php:79 actions/noticesearch.php:117 +#: actions/peoplesearch.php:83 +msgid "No results." +msgstr "" + +#: actions/groupsearch.php:82 +#, php-format +msgid "" +"If you can't find the group you're looking for, you can [create it](%%action." +"newgroup%%) yourself." +msgstr "" + +#: actions/groupsearch.php:85 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and [create the group](%%" +"action.newgroup%%) yourself!" +msgstr "" + +#: actions/groupunblock.php:91 +msgid "Only an admin can unblock group members." +msgstr "" + +#: actions/groupunblock.php:95 +msgid "User is not blocked from group." +msgstr "" + +#: actions/groupunblock.php:128 actions/unblock.php:86 +msgid "Error removing the block." +msgstr "" + +#. TRANS: Title for instance messaging settings. +#: actions/imsettings.php:60 +msgid "IM settings" +msgstr "" + +#. TRANS: Instant messaging settings page instructions. +#. TRANS: [instant messages] is link text, "(%%doc.im%%)" is the link. +#. TRANS: the order and formatting of link text and link should remain unchanged. +#: actions/imsettings.php:74 +#, php-format +msgid "" +"You can send and receive notices through Jabber/GTalk [instant messages](%%" +"doc.im%%). Configure your address and settings below." +msgstr "" + +#. TRANS: Message given in the IM settings if XMPP is not enabled on the site. +#: actions/imsettings.php:94 +msgid "IM is not available." +msgstr "" + +#. TRANS: Form legend for IM settings form. +#. TRANS: Field label for IM address input in IM settings form. +#: actions/imsettings.php:106 actions/imsettings.php:136 +msgid "IM address" +msgstr "" + +#: actions/imsettings.php:113 +msgid "Current confirmed Jabber/GTalk address." +msgstr "" + +#. TRANS: Form note in IM settings form. +#. TRANS: %s is the IM address set for the site. +#: actions/imsettings.php:124 +#, php-format +msgid "" +"Awaiting confirmation on this address. Check your Jabber/GTalk account for a " +"message with further instructions. (Did you add %s to your buddy list?)" +msgstr "" + +#. TRANS: IM address input field instructions in IM settings form. +#. TRANS: %s is the IM address set for the site. +#: actions/imsettings.php:140 +#, php-format +msgid "" +"Jabber or GTalk address, like \"UserName@example.org\". First, make sure to " +"add %s to your buddy list in your IM client or on GTalk." +msgstr "" + +#. TRANS: Form legend for IM preferences form. +#: actions/imsettings.php:155 +msgid "IM preferences" +msgstr "" + +#. TRANS: Checkbox label in IM preferences form. +#: actions/imsettings.php:160 +msgid "Send me notices through Jabber/GTalk." +msgstr "" + +#. TRANS: Checkbox label in IM preferences form. +#: actions/imsettings.php:166 +msgid "Post a notice when my Jabber/GTalk status changes." +msgstr "" + +#. TRANS: Checkbox label in IM preferences form. +#: actions/imsettings.php:172 +msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to." +msgstr "" + +#. TRANS: Checkbox label in IM preferences form. +#: actions/imsettings.php:179 +msgid "Publish a MicroID for my Jabber/GTalk address." +msgstr "" + +#. TRANS: Confirmation message for successful IM preferences save. +#: actions/imsettings.php:287 actions/othersettings.php:180 +msgid "Preferences saved." +msgstr "" + +#. TRANS: Message given saving IM address without having provided one. +#: actions/imsettings.php:309 +msgid "No Jabber ID." +msgstr "" + +#. TRANS: Message given saving IM address that cannot be normalised. +#: actions/imsettings.php:317 +msgid "Cannot normalize that Jabber ID" +msgstr "" + +#. TRANS: Message given saving IM address that not valid. +#: actions/imsettings.php:322 +msgid "Not a valid Jabber ID" +msgstr "" + +#. TRANS: Message given saving IM address that is already set. +#: actions/imsettings.php:326 +msgid "That is already your Jabber ID." +msgstr "" + +#. TRANS: Message given saving IM address that is already set for another user. +#: actions/imsettings.php:330 +msgid "Jabber ID already belongs to another user." +msgstr "" + +#. TRANS: Message given saving valid IM address that is to be confirmed. +#. TRANS: %s is the IM address set for the site. +#: actions/imsettings.php:358 +#, php-format +msgid "" +"A confirmation code was sent to the IM address you added. You must approve %" +"s for sending messages to you." +msgstr "" + +#. TRANS: Message given canceling IM address confirmation for the wrong IM address. +#: actions/imsettings.php:388 +msgid "That is the wrong IM address." +msgstr "" + +#. TRANS: Server error thrown on database error canceling IM address confirmation. +#: actions/imsettings.php:397 +msgid "Couldn't delete IM confirmation." +msgstr "" + +#. TRANS: Message given after successfully canceling IM address confirmation. +#: actions/imsettings.php:402 +msgid "IM confirmation cancelled." +msgstr "" + +#. TRANS: Message given trying to remove an IM address that is not +#. TRANS: registered for the active user. +#: actions/imsettings.php:424 +msgid "That is not your Jabber ID." +msgstr "" + +#. TRANS: Message given after successfully removing a registered IM address. +#: actions/imsettings.php:447 +msgid "The IM address was removed." +msgstr "" + +#: actions/inbox.php:59 +#, php-format +msgid "Inbox for %1$s - page %2$d" +msgstr "" + +#: actions/inbox.php:62 +#, php-format +msgid "Inbox for %s" +msgstr "" + +#: actions/inbox.php:115 +msgid "This is your inbox, which lists your incoming private messages." +msgstr "" + +#: actions/invite.php:39 +msgid "Invites have been disabled." +msgstr "" + +#: actions/invite.php:41 +#, php-format +msgid "You must be logged in to invite other users to use %s." +msgstr "" + +#: actions/invite.php:72 +#, php-format +msgid "Invalid email address: %s" +msgstr "" + +#: actions/invite.php:110 +msgid "Invitation(s) sent" +msgstr "" + +#: actions/invite.php:112 +msgid "Invite new users" +msgstr "" + +#: actions/invite.php:128 +msgid "You are already subscribed to these users:" +msgstr "" + +#. TRANS: Whois output. +#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL. +#: actions/invite.php:131 actions/invite.php:139 lib/command.php:414 +#, php-format +msgid "%1$s (%2$s)" +msgstr "" + +#: actions/invite.php:136 +msgid "" +"These people are already users and you were automatically subscribed to them:" +msgstr "" + +#: actions/invite.php:144 +msgid "Invitation(s) sent to the following people:" +msgstr "" + +#: actions/invite.php:150 +msgid "" +"You will be notified when your invitees accept the invitation and register " +"on the site. Thanks for growing the community!" +msgstr "" + +#: actions/invite.php:162 +msgid "" +"Use this form to invite your friends and colleagues to use this service." +msgstr "" + +#: actions/invite.php:187 +msgid "Email addresses" +msgstr "" + +#: actions/invite.php:189 +msgid "Addresses of friends to invite (one per line)" +msgstr "" + +#: actions/invite.php:192 +msgid "Personal message" +msgstr "" + +#: actions/invite.php:194 +msgid "Optionally add a personal message to the invitation." +msgstr "" + +#. TRANS: Send button for inviting friends +#: actions/invite.php:198 +msgctxt "BUTTON" +msgid "Send" +msgstr "" + +#. TRANS: Subject for invitation email. Note that 'them' is correct as a gender-neutral singular 3rd-person pronoun in English. +#: actions/invite.php:228 +#, php-format +msgid "%1$s has invited you to join them on %2$s" +msgstr "" + +#. TRANS: Body text for invitation email. Note that 'them' is correct as a gender-neutral singular 3rd-person pronoun in English. +#: actions/invite.php:231 +#, php-format +msgid "" +"%1$s has invited you to join them on %2$s (%3$s).\n" +"\n" +"%2$s is a micro-blogging service that lets you keep up-to-date with people " +"you know and people who interest you.\n" +"\n" +"You can also share news about yourself, your thoughts, or your life online " +"with people who know about you. It's also great for meeting new people who " +"share your interests.\n" +"\n" +"%1$s said:\n" +"\n" +"%4$s\n" +"\n" +"You can see %1$s's profile page on %2$s here:\n" +"\n" +"%5$s\n" +"\n" +"If you'd like to try the service, click on the link below to accept the " +"invitation.\n" +"\n" +"%6$s\n" +"\n" +"If not, you can ignore this message. Thanks for your patience and your " +"time.\n" +"\n" +"Sincerely, %2$s\n" +msgstr "" + +#: actions/joingroup.php:60 +msgid "You must be logged in to join a group." +msgstr "" + +#: actions/joingroup.php:88 actions/leavegroup.php:88 +msgid "No nickname or ID." +msgstr "" + +#. TRANS: Message given having added a user to a group. +#. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group. +#: actions/joingroup.php:141 lib/command.php:346 +#, php-format +msgid "%1$s joined group %2$s" +msgstr "" + +#: actions/leavegroup.php:60 +msgid "You must be logged in to leave a group." +msgstr "" + +#: actions/leavegroup.php:100 lib/command.php:373 +msgid "You are not a member of that group." +msgstr "" + +#. TRANS: Message given having removed a user from a group. +#. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group. +#: actions/leavegroup.php:137 lib/command.php:392 +#, php-format +msgid "%1$s left group %2$s" +msgstr "" + +#: actions/login.php:102 actions/otp.php:62 actions/register.php:144 +msgid "Already logged in." +msgstr "" + +#: actions/login.php:148 +msgid "Incorrect username or password." +msgstr "" + +#: actions/login.php:154 actions/otp.php:120 +msgid "Error setting user. You are probably not authorized." +msgstr "" + +#: actions/login.php:210 actions/login.php:263 lib/logingroupnav.php:79 +msgid "Login" +msgstr "" + +#: actions/login.php:249 +msgid "Login to site" +msgstr "" + +#: actions/login.php:258 actions/register.php:485 +msgid "Remember me" +msgstr "" + +#: actions/login.php:259 actions/register.php:487 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" + +#: actions/login.php:269 +msgid "Lost or forgotten password?" +msgstr "" + +#: actions/login.php:288 +msgid "" +"For security reasons, please re-enter your user name and password before " +"changing your settings." +msgstr "" + +#: actions/login.php:292 +msgid "Login with your username and password." +msgstr "" + +#: actions/login.php:295 +#, php-format +msgid "" +"Don't have a username yet? [Register](%%action.register%%) a new account." +msgstr "" + +#: actions/makeadmin.php:92 +msgid "Only an admin can make another user an admin." +msgstr "" + +#: actions/makeadmin.php:96 +#, php-format +msgid "%1$s is already an admin for group \"%2$s\"." +msgstr "" + +#: actions/makeadmin.php:133 +#, php-format +msgid "Can't get membership record for %1$s in group %2$s." +msgstr "" + +#: actions/makeadmin.php:146 +#, php-format +msgid "Can't make %1$s an admin for group %2$s." +msgstr "" + +#: actions/microsummary.php:69 +msgid "No current status." +msgstr "" + +#: actions/newapplication.php:52 +msgid "New Application" +msgstr "" + +#: actions/newapplication.php:64 +msgid "You must be logged in to register an application." +msgstr "" + +#: actions/newapplication.php:143 +msgid "Use this form to register a new application." +msgstr "" + +#: actions/newapplication.php:176 +msgid "Source URL is required." +msgstr "" + +#: actions/newapplication.php:258 actions/newapplication.php:267 +msgid "Could not create application." +msgstr "" + +#: actions/newgroup.php:53 +msgid "New group" +msgstr "" + +#: actions/newgroup.php:110 +msgid "Use this form to create a new group." +msgstr "" + +#: actions/newmessage.php:71 actions/newmessage.php:231 +msgid "New message" +msgstr "" + +#: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:481 +msgid "You can't send a message to this user." +msgstr "" + +#: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:463 +#: lib/command.php:555 +msgid "No content!" +msgstr "" + +#: actions/newmessage.php:158 +msgid "No recipient specified." +msgstr "" + +#: actions/newmessage.php:164 lib/command.php:484 +msgid "" +"Don't send a message to yourself; just say it to yourself quietly instead." +msgstr "" + +#: actions/newmessage.php:181 +msgid "Message sent" +msgstr "" + +#: actions/newmessage.php:185 +#, php-format +msgid "Direct message to %s sent." +msgstr "" + +#: actions/newmessage.php:210 actions/newnotice.php:251 lib/channel.php:189 +msgid "Ajax Error" +msgstr "" + +#: actions/newnotice.php:69 +msgid "New notice" +msgstr "" + +#: actions/newnotice.php:217 +msgid "Notice posted" +msgstr "" + +#: actions/noticesearch.php:68 +#, php-format +msgid "" +"Search for notices on %%site.name%% by their contents. Separate search terms " +"by spaces; they must be 3 characters or more." +msgstr "" + +#: actions/noticesearch.php:78 +msgid "Text search" +msgstr "" + +#: actions/noticesearch.php:91 +#, php-format +msgid "Search results for \"%1$s\" on %2$s" +msgstr "" + +#: actions/noticesearch.php:121 +#, php-format +msgid "" +"Be the first to [post on this topic](%%%%action.newnotice%%%%?" +"status_textarea=%s)!" +msgstr "" + +#: actions/noticesearch.php:124 +#, php-format +msgid "" +"Why not [register an account](%%%%action.register%%%%) and be the first to " +"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!" +msgstr "" + +#: actions/noticesearchrss.php:96 +#, php-format +msgid "Updates with \"%s\"" +msgstr "" + +#: actions/noticesearchrss.php:98 +#, php-format +msgid "Updates matching search term \"%1$s\" on %2$s!" +msgstr "" + +#: actions/nudge.php:85 +msgid "" +"This user doesn't allow nudges or hasn't confirmed or set their email yet." +msgstr "" + +#: actions/nudge.php:94 +msgid "Nudge sent" +msgstr "" + +#: actions/nudge.php:97 +msgid "Nudge sent!" +msgstr "" + +#: actions/oauthappssettings.php:59 +msgid "You must be logged in to list your applications." +msgstr "" + +#: actions/oauthappssettings.php:74 +msgid "OAuth applications" +msgstr "" + +#: actions/oauthappssettings.php:85 +msgid "Applications you have registered" +msgstr "" + +#: actions/oauthappssettings.php:135 +#, php-format +msgid "You have not registered any applications yet." +msgstr "" + +#: actions/oauthconnectionssettings.php:72 +msgid "Connected applications" +msgstr "" + +#: actions/oauthconnectionssettings.php:83 +msgid "You have allowed the following applications to access you account." +msgstr "" + +#: actions/oauthconnectionssettings.php:175 +msgid "You are not a user of that application." +msgstr "" + +#: actions/oauthconnectionssettings.php:186 +#, php-format +msgid "Unable to revoke access for app: %s." +msgstr "" + +#: actions/oauthconnectionssettings.php:198 +msgid "You have not authorized any applications to use your account." +msgstr "" + +#: actions/oauthconnectionssettings.php:211 +msgid "Developers can edit the registration settings for their applications " +msgstr "" + +#: actions/oembed.php:80 actions/shownotice.php:100 +msgid "Notice has no profile." +msgstr "" + +#: actions/oembed.php:87 actions/shownotice.php:175 +#, php-format +msgid "%1$s's status on %2$s" +msgstr "" + +#. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png') +#: actions/oembed.php:159 +#, php-format +msgid "Content type %s not supported." +msgstr "" + +#. TRANS: Error message displaying attachments. %s is the site's base URL. +#: actions/oembed.php:163 +#, php-format +msgid "Only %s URLs over plain HTTP please." +msgstr "" + +#. TRANS: Client error on an API request with an unsupported data format. +#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1204 +#: lib/apiaction.php:1232 lib/apiaction.php:1355 +msgid "Not a supported data format." +msgstr "" + +#: actions/opensearch.php:64 +msgid "People Search" +msgstr "" + +#: actions/opensearch.php:67 +msgid "Notice Search" +msgstr "" + +#: actions/othersettings.php:60 +msgid "Other settings" +msgstr "" + +#: actions/othersettings.php:71 +msgid "Manage various other options." +msgstr "" + +#: actions/othersettings.php:108 +msgid " (free service)" +msgstr "" + +#: actions/othersettings.php:116 +msgid "Shorten URLs with" +msgstr "" + +#: actions/othersettings.php:117 +msgid "Automatic shortening service to use." +msgstr "" + +#: actions/othersettings.php:122 +msgid "View profile designs" +msgstr "" + +#: actions/othersettings.php:123 +msgid "Show or hide profile designs." +msgstr "" + +#: actions/othersettings.php:153 +msgid "URL shortening service is too long (max 50 chars)." +msgstr "" + +#: actions/otp.php:69 +msgid "No user ID specified." +msgstr "" + +#: actions/otp.php:83 +msgid "No login token specified." +msgstr "" + +#: actions/otp.php:90 +msgid "No login token requested." +msgstr "" + +#: actions/otp.php:95 +msgid "Invalid login token specified." +msgstr "" + +#: actions/otp.php:104 +msgid "Login token expired." +msgstr "" + +#: actions/outbox.php:58 +#, php-format +msgid "Outbox for %1$s - page %2$d" +msgstr "" + +#: actions/outbox.php:61 +#, php-format +msgid "Outbox for %s" +msgstr "" + +#: actions/outbox.php:116 +msgid "This is your outbox, which lists private messages you have sent." +msgstr "" + +#: actions/passwordsettings.php:58 +msgid "Change password" +msgstr "" + +#: actions/passwordsettings.php:69 +msgid "Change your password." +msgstr "" + +#: actions/passwordsettings.php:96 actions/recoverpassword.php:231 +msgid "Password change" +msgstr "" + +#: actions/passwordsettings.php:104 +msgid "Old password" +msgstr "" + +#: actions/passwordsettings.php:108 actions/recoverpassword.php:235 +msgid "New password" +msgstr "" + +#: actions/passwordsettings.php:109 +msgid "6 or more characters" +msgstr "" + +#: actions/passwordsettings.php:112 actions/recoverpassword.php:239 +#: actions/register.php:440 +msgid "Confirm" +msgstr "" + +#: actions/passwordsettings.php:113 actions/recoverpassword.php:240 +msgid "Same as password above" +msgstr "" + +#: actions/passwordsettings.php:117 +msgid "Change" +msgstr "" + +#: actions/passwordsettings.php:154 actions/register.php:237 +msgid "Password must be 6 or more characters." +msgstr "" + +#: actions/passwordsettings.php:157 actions/register.php:240 +msgid "Passwords don't match." +msgstr "" + +#: actions/passwordsettings.php:165 +msgid "Incorrect old password" +msgstr "" + +#: actions/passwordsettings.php:181 +msgid "Error saving user; invalid." +msgstr "" + +#: actions/passwordsettings.php:186 actions/recoverpassword.php:381 +msgid "Can't save new password." +msgstr "" + +#: actions/passwordsettings.php:192 actions/recoverpassword.php:211 +msgid "Password saved." +msgstr "" + +#. TRANS: Menu item for site administration +#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:384 +msgid "Paths" +msgstr "" + +#: actions/pathsadminpanel.php:70 +msgid "Path and server settings for this StatusNet site." +msgstr "" + +#: actions/pathsadminpanel.php:157 +#, php-format +msgid "Theme directory not readable: %s." +msgstr "" + +#: actions/pathsadminpanel.php:163 +#, php-format +msgid "Avatar directory not writable: %s." +msgstr "" + +#: actions/pathsadminpanel.php:169 +#, php-format +msgid "Background directory not writable: %s." +msgstr "" + +#: actions/pathsadminpanel.php:177 +#, php-format +msgid "Locales directory not readable: %s." +msgstr "" + +#: actions/pathsadminpanel.php:183 +msgid "Invalid SSL server. The maximum length is 255 characters." +msgstr "" + +#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58 +msgid "Site" +msgstr "" + +#: actions/pathsadminpanel.php:238 +msgid "Server" +msgstr "" + +#: actions/pathsadminpanel.php:238 +msgid "Site's server hostname." +msgstr "" + +#: actions/pathsadminpanel.php:242 +msgid "Path" +msgstr "" + +#: actions/pathsadminpanel.php:242 +msgid "Site path" +msgstr "" + +#: actions/pathsadminpanel.php:246 +msgid "Path to locales" +msgstr "" + +#: actions/pathsadminpanel.php:246 +msgid "Directory path to locales" +msgstr "" + +#: actions/pathsadminpanel.php:250 +msgid "Fancy URLs" +msgstr "" + +#: actions/pathsadminpanel.php:252 +msgid "Use fancy (more readable and memorable) URLs?" +msgstr "" + +#: actions/pathsadminpanel.php:259 +msgid "Theme" +msgstr "" + +#: actions/pathsadminpanel.php:264 +msgid "Theme server" +msgstr "" + +#: actions/pathsadminpanel.php:268 +msgid "Theme path" +msgstr "" + +#: actions/pathsadminpanel.php:272 +msgid "Theme directory" +msgstr "" + +#: actions/pathsadminpanel.php:279 +msgid "Avatars" +msgstr "" + +#: actions/pathsadminpanel.php:284 +msgid "Avatar server" +msgstr "" + +#: actions/pathsadminpanel.php:288 +msgid "Avatar path" +msgstr "" + +#: actions/pathsadminpanel.php:292 +msgid "Avatar directory" +msgstr "" + +#: actions/pathsadminpanel.php:301 +msgid "Backgrounds" +msgstr "" + +#: actions/pathsadminpanel.php:305 +msgid "Background server" +msgstr "" + +#: actions/pathsadminpanel.php:309 +msgid "Background path" +msgstr "" + +#: actions/pathsadminpanel.php:313 +msgid "Background directory" +msgstr "" + +#: actions/pathsadminpanel.php:320 +msgid "SSL" +msgstr "" + +#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202 +msgid "Never" +msgstr "" + +#: actions/pathsadminpanel.php:324 +msgid "Sometimes" +msgstr "" + +#: actions/pathsadminpanel.php:325 +msgid "Always" +msgstr "" + +#: actions/pathsadminpanel.php:329 +msgid "Use SSL" +msgstr "" + +#: actions/pathsadminpanel.php:330 +msgid "When to use SSL" +msgstr "" + +#: actions/pathsadminpanel.php:335 +msgid "SSL server" +msgstr "" + +#: actions/pathsadminpanel.php:336 +msgid "Server to direct SSL requests to" +msgstr "" + +#: actions/pathsadminpanel.php:352 +msgid "Save paths" +msgstr "" + +#: actions/peoplesearch.php:52 +#, php-format +msgid "" +"Search for people on %%site.name%% by their name, location, or interests. " +"Separate the terms by spaces; they must be 3 characters or more." +msgstr "" + +#: actions/peoplesearch.php:58 +msgid "People search" +msgstr "" + +#: actions/peopletag.php:68 +#, php-format +msgid "Not a valid people tag: %s." +msgstr "" + +#: actions/peopletag.php:142 +#, php-format +msgid "Users self-tagged with %1$s - page %2$d" +msgstr "" + +#: actions/postnotice.php:95 +msgid "Invalid notice content." +msgstr "" + +#: actions/postnotice.php:101 +#, php-format +msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’." +msgstr "" + +#: actions/profilesettings.php:60 +msgid "Profile settings" +msgstr "" + +#: actions/profilesettings.php:71 +msgid "" +"You can update your personal profile info here so people know more about you." +msgstr "" + +#: actions/profilesettings.php:99 +msgid "Profile information" +msgstr "" + +#: actions/profilesettings.php:108 lib/groupeditform.php:154 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#: actions/profilesettings.php:111 actions/register.php:455 +#: actions/showgroup.php:256 actions/tagother.php:104 +#: lib/groupeditform.php:157 lib/userprofile.php:150 +msgid "Full name" +msgstr "" + +#. TRANS: Form input field label. +#: actions/profilesettings.php:115 actions/register.php:460 +#: lib/applicationeditform.php:244 lib/groupeditform.php:161 +msgid "Homepage" +msgstr "" + +#: actions/profilesettings.php:117 actions/register.php:462 +msgid "URL of your homepage, blog, or profile on another site" +msgstr "" + +#: actions/profilesettings.php:122 actions/register.php:468 +#, php-format +msgid "Describe yourself and your interests in %d chars" +msgstr "" + +#: actions/profilesettings.php:125 actions/register.php:471 +msgid "Describe yourself and your interests" +msgstr "" + +#: actions/profilesettings.php:127 actions/register.php:473 +msgid "Bio" +msgstr "" + +#: actions/profilesettings.php:132 actions/register.php:478 +#: actions/showgroup.php:265 actions/tagother.php:112 +#: actions/userauthorization.php:166 lib/groupeditform.php:177 +#: lib/userprofile.php:165 +msgid "Location" +msgstr "" + +#: actions/profilesettings.php:134 actions/register.php:480 +msgid "Where you are, like \"City, State (or Region), Country\"" +msgstr "" + +#: actions/profilesettings.php:138 +msgid "Share my current location when posting notices" +msgstr "" + +#: actions/profilesettings.php:145 actions/tagother.php:149 +#: actions/tagother.php:209 lib/subscriptionlist.php:106 +#: lib/subscriptionlist.php:108 lib/userprofile.php:210 +msgid "Tags" +msgstr "" + +#: actions/profilesettings.php:147 +msgid "" +"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated" +msgstr "" + +#: actions/profilesettings.php:151 +msgid "Language" +msgstr "" + +#: actions/profilesettings.php:152 +msgid "Preferred language" +msgstr "" + +#: actions/profilesettings.php:161 +msgid "Timezone" +msgstr "" + +#: actions/profilesettings.php:162 +msgid "What timezone are you normally in?" +msgstr "" + +#: actions/profilesettings.php:167 +msgid "" +"Automatically subscribe to whoever subscribes to me (best for non-humans)" +msgstr "" + +#: actions/profilesettings.php:228 actions/register.php:230 +#, php-format +msgid "Bio is too long (max %d chars)." +msgstr "" + +#: actions/profilesettings.php:235 actions/siteadminpanel.php:151 +msgid "Timezone not selected." +msgstr "" + +#: actions/profilesettings.php:241 +msgid "Language is too long (max 50 chars)." +msgstr "" + +#: actions/profilesettings.php:253 actions/tagother.php:178 +#, php-format +msgid "Invalid tag: \"%s\"" +msgstr "" + +#: actions/profilesettings.php:306 +msgid "Couldn't update user for autosubscribe." +msgstr "" + +#: actions/profilesettings.php:363 +msgid "Couldn't save location prefs." +msgstr "" + +#: actions/profilesettings.php:375 +msgid "Couldn't save profile." +msgstr "" + +#: actions/profilesettings.php:383 +msgid "Couldn't save tags." +msgstr "" + +#. TRANS: Message after successful saving of administrative settings. +#: actions/profilesettings.php:391 lib/adminpanelaction.php:141 +msgid "Settings saved." +msgstr "" + +#: actions/public.php:83 +#, php-format +msgid "Beyond the page limit (%s)." +msgstr "" + +#: actions/public.php:92 +msgid "Could not retrieve public stream." +msgstr "" + +#: actions/public.php:130 +#, php-format +msgid "Public timeline, page %d" +msgstr "" + +#: actions/public.php:132 lib/publicgroupnav.php:79 +msgid "Public timeline" +msgstr "" + +#: actions/public.php:160 +msgid "Public Stream Feed (RSS 1.0)" +msgstr "" + +#: actions/public.php:164 +msgid "Public Stream Feed (RSS 2.0)" +msgstr "" + +#: actions/public.php:168 +msgid "Public Stream Feed (Atom)" +msgstr "" + +#: actions/public.php:188 +#, php-format +msgid "" +"This is the public timeline for %%site.name%% but no one has posted anything " +"yet." +msgstr "" + +#: actions/public.php:191 +msgid "Be the first to post!" +msgstr "" + +#: actions/public.php:195 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and be the first to post!" +msgstr "" + +#: actions/public.php:242 +#, php-format +msgid "" +"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-" +"blogging) service based on the Free Software [StatusNet](http://status.net/) " +"tool. [Join now](%%action.register%%) to share notices about yourself with " +"friends, family, and colleagues! ([Read more](%%doc.help%%))" +msgstr "" + +#: actions/public.php:247 +#, php-format +msgid "" +"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-" +"blogging) service based on the Free Software [StatusNet](http://status.net/) " +"tool." +msgstr "" + +#: actions/publictagcloud.php:57 +msgid "Public tag cloud" +msgstr "" + +#: actions/publictagcloud.php:63 +#, php-format +msgid "These are most popular recent tags on %s " +msgstr "" + +#: actions/publictagcloud.php:69 +#, php-format +msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet." +msgstr "" + +#: actions/publictagcloud.php:72 +msgid "Be the first to post one!" +msgstr "" + +#: actions/publictagcloud.php:75 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and be the first to post " +"one!" +msgstr "" + +#: actions/publictagcloud.php:134 +msgid "Tag cloud" +msgstr "" + +#: actions/recoverpassword.php:36 +msgid "You are already logged in!" +msgstr "" + +#: actions/recoverpassword.php:62 +msgid "No such recovery code." +msgstr "" + +#: actions/recoverpassword.php:66 +msgid "Not a recovery code." +msgstr "" + +#: actions/recoverpassword.php:73 +msgid "Recovery code for unknown user." +msgstr "" + +#: actions/recoverpassword.php:86 +msgid "Error with confirmation code." +msgstr "" + +#: actions/recoverpassword.php:97 +msgid "This confirmation code is too old. Please start again." +msgstr "" + +#: actions/recoverpassword.php:111 +msgid "Could not update user with confirmed email address." +msgstr "" + +#: actions/recoverpassword.php:152 +msgid "" +"If you have forgotten or lost your password, you can get a new one sent to " +"the email address you have stored in your account." +msgstr "" + +#: actions/recoverpassword.php:158 +msgid "You have been identified. Enter a new password below. " +msgstr "" + +#: actions/recoverpassword.php:188 +msgid "Password recovery" +msgstr "" + +#: actions/recoverpassword.php:191 +msgid "Nickname or email address" +msgstr "" + +#: actions/recoverpassword.php:193 +msgid "Your nickname on this server, or your registered email address." +msgstr "" + +#: actions/recoverpassword.php:199 actions/recoverpassword.php:200 +msgid "Recover" +msgstr "" + +#: actions/recoverpassword.php:208 +msgid "Reset password" +msgstr "" + +#: actions/recoverpassword.php:209 +msgid "Recover password" +msgstr "" + +#: actions/recoverpassword.php:210 actions/recoverpassword.php:335 +msgid "Password recovery requested" +msgstr "" + +#: actions/recoverpassword.php:213 +msgid "Unknown action" +msgstr "" + +#: actions/recoverpassword.php:236 +msgid "6 or more characters, and don't forget it!" +msgstr "" + +#: actions/recoverpassword.php:243 +msgid "Reset" +msgstr "" + +#: actions/recoverpassword.php:252 +msgid "Enter a nickname or email address." +msgstr "" + +#: actions/recoverpassword.php:282 +msgid "No user with that email address or username." +msgstr "" + +#: actions/recoverpassword.php:299 +msgid "No registered email address for that user." +msgstr "" + +#: actions/recoverpassword.php:313 +msgid "Error saving address confirmation." +msgstr "" + +#: actions/recoverpassword.php:338 +msgid "" +"Instructions for recovering your password have been sent to the email " +"address registered to your account." +msgstr "" + +#: actions/recoverpassword.php:357 +msgid "Unexpected password reset." +msgstr "" + +#: actions/recoverpassword.php:365 +msgid "Password must be 6 chars or more." +msgstr "" + +#: actions/recoverpassword.php:369 +msgid "Password and confirmation do not match." +msgstr "" + +#: actions/recoverpassword.php:388 actions/register.php:255 +msgid "Error setting user." +msgstr "" + +#: actions/recoverpassword.php:395 +msgid "New password successfully saved. You are now logged in." +msgstr "" + +#: actions/register.php:92 actions/register.php:196 actions/register.php:412 +msgid "Sorry, only invited people can register." +msgstr "" + +#: actions/register.php:99 +msgid "Sorry, invalid invitation code." +msgstr "" + +#: actions/register.php:119 +msgid "Registration successful" +msgstr "" + +#: actions/register.php:121 actions/register.php:506 lib/logingroupnav.php:85 +msgid "Register" +msgstr "" + +#: actions/register.php:142 +msgid "Registration not allowed." +msgstr "" + +#: actions/register.php:205 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#: actions/register.php:219 +msgid "Email address already exists." +msgstr "" + +#: actions/register.php:250 actions/register.php:272 +msgid "Invalid username or password." +msgstr "" + +#: actions/register.php:350 +msgid "" +"With this form you can create a new account. You can then post notices and " +"link up to friends and colleagues. " +msgstr "" + +#: actions/register.php:432 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required." +msgstr "" + +#: actions/register.php:437 +msgid "6 or more characters. Required." +msgstr "" + +#: actions/register.php:441 +msgid "Same as password above. Required." +msgstr "" + +#. TRANS: Link description in user account settings menu. +#: actions/register.php:445 actions/register.php:449 +#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:132 +msgid "Email" +msgstr "" + +#: actions/register.php:446 actions/register.php:450 +msgid "Used only for updates, announcements, and password recovery" +msgstr "" + +#: actions/register.php:457 +msgid "Longer name, preferably your \"real\" name" +msgstr "" + +#: actions/register.php:518 +#, php-format +msgid "" +"I understand that content and data of %1$s are private and confidential." +msgstr "" + +#: actions/register.php:528 +#, php-format +msgid "My text and files are copyright by %1$s." +msgstr "" + +#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors. +#: actions/register.php:532 +msgid "My text and files remain under my own copyright." +msgstr "" + +#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved. +#: actions/register.php:535 +msgid "All rights reserved." +msgstr "" + +#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses. +#: actions/register.php:540 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" + +#: actions/register.php:583 +#, php-format +msgid "" +"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may " +"want to...\n" +"\n" +"* Go to [your profile](%2$s) and post your first message.\n" +"* Add a [Jabber/GTalk address](%%%%action.imsettings%%%%) so you can send " +"notices through instant messages.\n" +"* [Search for people](%%%%action.peoplesearch%%%%) that you may know or that " +"share your interests. \n" +"* Update your [profile settings](%%%%action.profilesettings%%%%) to tell " +"others more about you. \n" +"* Read over the [online docs](%%%%doc.help%%%%) for features you may have " +"missed. \n" +"\n" +"Thanks for signing up and we hope you enjoy using this service." +msgstr "" + +#: actions/register.php:607 +msgid "" +"(You should receive a message by email momentarily, with instructions on how " +"to confirm your email address.)" +msgstr "" + +#: actions/remotesubscribe.php:98 +#, php-format +msgid "" +"To subscribe, you can [login](%%action.login%%), or [register](%%action." +"register%%) a new account. If you already have an account on a [compatible " +"microblogging site](%%doc.openmublog%%), enter your profile URL below." +msgstr "" + +#: actions/remotesubscribe.php:112 +msgid "Remote subscribe" +msgstr "" + +#: actions/remotesubscribe.php:124 +msgid "Subscribe to a remote user" +msgstr "" + +#: actions/remotesubscribe.php:129 +msgid "User nickname" +msgstr "" + +#: actions/remotesubscribe.php:130 +msgid "Nickname of the user you want to follow" +msgstr "" + +#: actions/remotesubscribe.php:133 +msgid "Profile URL" +msgstr "" + +#: actions/remotesubscribe.php:134 +msgid "URL of your profile on another compatible microblogging service" +msgstr "" + +#: actions/remotesubscribe.php:137 lib/subscribeform.php:139 +#: lib/userprofile.php:406 +msgid "Subscribe" +msgstr "" + +#: actions/remotesubscribe.php:159 +msgid "Invalid profile URL (bad format)" +msgstr "" + +#: actions/remotesubscribe.php:168 +msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)." +msgstr "" + +#: actions/remotesubscribe.php:176 +msgid "That’s a local profile! Login to subscribe." +msgstr "" + +#: actions/remotesubscribe.php:183 +msgid "Couldn’t get a request token." +msgstr "" + +#: actions/repeat.php:57 +msgid "Only logged-in users can repeat notices." +msgstr "" + +#: actions/repeat.php:64 actions/repeat.php:71 +msgid "No notice specified." +msgstr "" + +#: actions/repeat.php:76 +msgid "You can't repeat your own notice." +msgstr "" + +#: actions/repeat.php:90 +msgid "You already repeated that notice." +msgstr "" + +#: actions/repeat.php:114 lib/noticelist.php:675 +msgid "Repeated" +msgstr "" + +#: actions/repeat.php:119 +msgid "Repeated!" +msgstr "" + +#: actions/replies.php:126 actions/repliesrss.php:68 +#: lib/personalgroupnav.php:105 +#, php-format +msgid "Replies to %s" +msgstr "" + +#: actions/replies.php:128 +#, php-format +msgid "Replies to %1$s, page %2$d" +msgstr "" + +#: actions/replies.php:145 +#, php-format +msgid "Replies feed for %s (RSS 1.0)" +msgstr "" + +#: actions/replies.php:152 +#, php-format +msgid "Replies feed for %s (RSS 2.0)" +msgstr "" + +#: actions/replies.php:159 +#, php-format +msgid "Replies feed for %s (Atom)" +msgstr "" + +#: actions/replies.php:199 +#, php-format +msgid "" +"This is the timeline showing replies to %1$s but %2$s hasn't received a " +"notice to their attention yet." +msgstr "" + +#: actions/replies.php:204 +#, php-format +msgid "" +"You can engage other users in a conversation, subscribe to more people or " +"[join groups](%%action.groups%%)." +msgstr "" + +#: actions/replies.php:206 +#, php-format +msgid "" +"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" +"%%%action.newnotice%%%%?status_textarea=%3$s)." +msgstr "" + +#: actions/repliesrss.php:72 +#, php-format +msgid "Replies to %1$s on %2$s!" +msgstr "" + +#: actions/revokerole.php:75 +msgid "You cannot revoke user roles on this site." +msgstr "" + +#: actions/revokerole.php:82 +msgid "User doesn't have this role." +msgstr "" + +#: actions/rsd.php:146 actions/version.php:159 +msgid "StatusNet" +msgstr "" + +#: actions/sandbox.php:65 actions/unsandbox.php:65 +msgid "You cannot sandbox users on this site." +msgstr "" + +#: actions/sandbox.php:72 +msgid "User is already sandboxed." +msgstr "" + +#. TRANS: Menu item for site administration +#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170 +#: lib/adminpanelaction.php:392 +msgid "Sessions" +msgstr "" + +#: actions/sessionsadminpanel.php:65 +msgid "Session settings for this StatusNet site." +msgstr "" + +#: actions/sessionsadminpanel.php:175 +msgid "Handle sessions" +msgstr "" + +#: actions/sessionsadminpanel.php:177 +msgid "Whether to handle sessions ourselves." +msgstr "" + +#: actions/sessionsadminpanel.php:181 +msgid "Session debugging" +msgstr "" + +#: actions/sessionsadminpanel.php:183 +msgid "Turn on debugging output for sessions." +msgstr "" + +#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292 +#: actions/useradminpanel.php:294 +msgid "Save site settings" +msgstr "" + +#: actions/showapplication.php:82 +msgid "You must be logged in to view an application." +msgstr "" + +#: actions/showapplication.php:157 +msgid "Application profile" +msgstr "" + +#. TRANS: Form input field label for application icon. +#: actions/showapplication.php:159 lib/applicationeditform.php:182 +msgid "Icon" +msgstr "" + +#. TRANS: Form input field label for application name. +#: actions/showapplication.php:169 actions/version.php:197 +#: lib/applicationeditform.php:199 +msgid "Name" +msgstr "" + +#. TRANS: Form input field label. +#: actions/showapplication.php:178 lib/applicationeditform.php:235 +msgid "Organization" +msgstr "" + +#. TRANS: Form input field label. +#: actions/showapplication.php:187 actions/version.php:200 +#: lib/applicationeditform.php:216 lib/groupeditform.php:172 +msgid "Description" +msgstr "" + +#: actions/showapplication.php:192 actions/showgroup.php:436 +#: lib/profileaction.php:187 +msgid "Statistics" +msgstr "" + +#: actions/showapplication.php:203 +#, php-format +msgid "Created by %1$s - %2$s access by default - %3$d users" +msgstr "" + +#: actions/showapplication.php:213 +msgid "Application actions" +msgstr "" + +#: actions/showapplication.php:236 +msgid "Reset key & secret" +msgstr "" + +#: actions/showapplication.php:261 +msgid "Application info" +msgstr "" + +#: actions/showapplication.php:263 +msgid "Consumer key" +msgstr "" + +#: actions/showapplication.php:268 +msgid "Consumer secret" +msgstr "" + +#: actions/showapplication.php:273 +msgid "Request token URL" +msgstr "" + +#: actions/showapplication.php:278 +msgid "Access token URL" +msgstr "" + +#: actions/showapplication.php:283 +msgid "Authorize URL" +msgstr "" + +#: actions/showapplication.php:288 +msgid "" +"Note: We support HMAC-SHA1 signatures. We do not support the plaintext " +"signature method." +msgstr "" + +#: actions/showapplication.php:309 +msgid "Are you sure you want to reset your consumer key and secret?" +msgstr "" + +#: actions/showfavorites.php:79 +#, php-format +msgid "%1$s's favorite notices, page %2$d" +msgstr "" + +#: actions/showfavorites.php:132 +msgid "Could not retrieve favorite notices." +msgstr "" + +#: actions/showfavorites.php:171 +#, php-format +msgid "Feed for favorites of %s (RSS 1.0)" +msgstr "" + +#: actions/showfavorites.php:178 +#, php-format +msgid "Feed for favorites of %s (RSS 2.0)" +msgstr "" + +#: actions/showfavorites.php:185 +#, php-format +msgid "Feed for favorites of %s (Atom)" +msgstr "" + +#: actions/showfavorites.php:206 +msgid "" +"You haven't chosen any favorite notices yet. Click the fave button on " +"notices you like to bookmark them for later or shed a spotlight on them." +msgstr "" + +#: actions/showfavorites.php:208 +#, php-format +msgid "" +"%s hasn't added any favorite notices yet. Post something interesting they " +"would add to their favorites :)" +msgstr "" + +#: actions/showfavorites.php:212 +#, php-format +msgid "" +"%s hasn't added any favorite notices yet. Why not [register an account](%%%%" +"action.register%%%%) and then post something interesting they would add to " +"their favorites :)" +msgstr "" + +#: actions/showfavorites.php:243 +msgid "This is a way to share what you like." +msgstr "" + +#: actions/showgroup.php:82 lib/groupnav.php:86 +#, php-format +msgid "%s group" +msgstr "" + +#: actions/showgroup.php:84 +#, php-format +msgid "%1$s group, page %2$d" +msgstr "" + +#: actions/showgroup.php:227 +msgid "Group profile" +msgstr "" + +#: actions/showgroup.php:272 actions/tagother.php:118 +#: actions/userauthorization.php:175 lib/userprofile.php:178 +msgid "URL" +msgstr "" + +#: actions/showgroup.php:283 actions/tagother.php:128 +#: actions/userauthorization.php:187 lib/userprofile.php:195 +msgid "Note" +msgstr "" + +#: actions/showgroup.php:293 lib/groupeditform.php:184 +msgid "Aliases" +msgstr "" + +#: actions/showgroup.php:302 +msgid "Group actions" +msgstr "" + +#: actions/showgroup.php:338 +#, php-format +msgid "Notice feed for %s group (RSS 1.0)" +msgstr "" + +#: actions/showgroup.php:344 +#, php-format +msgid "Notice feed for %s group (RSS 2.0)" +msgstr "" + +#: actions/showgroup.php:350 +#, php-format +msgid "Notice feed for %s group (Atom)" +msgstr "" + +#: actions/showgroup.php:355 +#, php-format +msgid "FOAF for %s group" +msgstr "" + +#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91 +msgid "Members" +msgstr "" + +#: actions/showgroup.php:398 lib/profileaction.php:117 +#: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95 +#: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71 +msgid "(None)" +msgstr "" + +#: actions/showgroup.php:404 +msgid "All members" +msgstr "" + +#: actions/showgroup.php:439 +msgid "Created" +msgstr "" + +#: actions/showgroup.php:455 +#, php-format +msgid "" +"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." +"wikipedia.org/wiki/Micro-blogging) service based on the Free Software " +"[StatusNet](http://status.net/) tool. Its members share short messages about " +"their life and interests. [Join now](%%%%action.register%%%%) to become part " +"of this group and many more! ([Read more](%%%%doc.help%%%%))" +msgstr "" + +#: actions/showgroup.php:461 +#, php-format +msgid "" +"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." +"wikipedia.org/wiki/Micro-blogging) service based on the Free Software " +"[StatusNet](http://status.net/) tool. Its members share short messages about " +"their life and interests. " +msgstr "" + +#: actions/showgroup.php:489 +msgid "Admins" +msgstr "" + +#: actions/showmessage.php:81 +msgid "No such message." +msgstr "" + +#: actions/showmessage.php:98 +msgid "Only the sender and recipient may read this message." +msgstr "" + +#: actions/showmessage.php:108 +#, php-format +msgid "Message to %1$s on %2$s" +msgstr "" + +#: actions/showmessage.php:113 +#, php-format +msgid "Message from %1$s on %2$s" +msgstr "" + +#: actions/shownotice.php:90 +msgid "Notice deleted." +msgstr "" + +#: actions/showstream.php:73 +#, php-format +msgid " tagged %s" +msgstr "" + +#: actions/showstream.php:79 +#, php-format +msgid "%1$s, page %2$d" +msgstr "" + +#: actions/showstream.php:122 +#, php-format +msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)" +msgstr "" + +#: actions/showstream.php:129 +#, php-format +msgid "Notice feed for %s (RSS 1.0)" +msgstr "" + +#: actions/showstream.php:136 +#, php-format +msgid "Notice feed for %s (RSS 2.0)" +msgstr "" + +#: actions/showstream.php:143 +#, php-format +msgid "Notice feed for %s (Atom)" +msgstr "" + +#: actions/showstream.php:148 +#, php-format +msgid "FOAF for %s" +msgstr "" + +#: actions/showstream.php:200 +#, php-format +msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet." +msgstr "" + +#: actions/showstream.php:205 +msgid "" +"Seen anything interesting recently? You haven't posted any notices yet, now " +"would be a good time to start :)" +msgstr "" + +#: actions/showstream.php:207 +#, php-format +msgid "" +"You can try to nudge %1$s or [post something to their attention](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." +msgstr "" + +#: actions/showstream.php:243 +#, php-format +msgid "" +"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en." +"wikipedia.org/wiki/Micro-blogging) service based on the Free Software " +"[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to " +"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))" +msgstr "" + +#: actions/showstream.php:248 +#, php-format +msgid "" +"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en." +"wikipedia.org/wiki/Micro-blogging) service based on the Free Software " +"[StatusNet](http://status.net/) tool. " +msgstr "" + +#: actions/showstream.php:305 +#, php-format +msgid "Repeat of %s" +msgstr "" + +#: actions/silence.php:65 actions/unsilence.php:65 +msgid "You cannot silence users on this site." +msgstr "" + +#: actions/silence.php:72 +msgid "User is already silenced." +msgstr "" + +#: actions/siteadminpanel.php:69 +msgid "Basic settings for this StatusNet site" +msgstr "" + +#: actions/siteadminpanel.php:133 +msgid "Site name must have non-zero length." +msgstr "" + +#: actions/siteadminpanel.php:141 +msgid "You must have a valid contact email address." +msgstr "" + +#: actions/siteadminpanel.php:159 +#, php-format +msgid "Unknown language \"%s\"." +msgstr "" + +#: actions/siteadminpanel.php:165 +msgid "Minimum text limit is 0 (unlimited)." +msgstr "" + +#: actions/siteadminpanel.php:171 +msgid "Dupe limit must be one or more seconds." +msgstr "" + +#: actions/siteadminpanel.php:221 +msgid "General" +msgstr "" + +#: actions/siteadminpanel.php:224 +msgid "Site name" +msgstr "" + +#: actions/siteadminpanel.php:225 +msgid "The name of your site, like \"Yourcompany Microblog\"" +msgstr "" + +#: actions/siteadminpanel.php:229 +msgid "Brought by" +msgstr "" + +#: actions/siteadminpanel.php:230 +msgid "Text used for credits link in footer of each page" +msgstr "" + +#: actions/siteadminpanel.php:234 +msgid "Brought by URL" +msgstr "" + +#: actions/siteadminpanel.php:235 +msgid "URL used for credits link in footer of each page" +msgstr "" + +#: actions/siteadminpanel.php:239 +msgid "Contact email address for your site" +msgstr "" + +#: actions/siteadminpanel.php:245 +msgid "Local" +msgstr "" + +#: actions/siteadminpanel.php:256 +msgid "Default timezone" +msgstr "" + +#: actions/siteadminpanel.php:257 +msgid "Default timezone for the site; usually UTC." +msgstr "" + +#: actions/siteadminpanel.php:262 +msgid "Default language" +msgstr "" + +#: actions/siteadminpanel.php:263 +msgid "Site language when autodetection from browser settings is not available" +msgstr "" + +#: actions/siteadminpanel.php:271 +msgid "Limits" +msgstr "" + +#: actions/siteadminpanel.php:274 +msgid "Text limit" +msgstr "" + +#: actions/siteadminpanel.php:274 +msgid "Maximum number of characters for notices." +msgstr "" + +#: actions/siteadminpanel.php:278 +msgid "Dupe limit" +msgstr "" + +#: actions/siteadminpanel.php:278 +msgid "How long users must wait (in seconds) to post the same thing again." +msgstr "" + +#: actions/sitenoticeadminpanel.php:56 +msgid "Site Notice" +msgstr "" + +#: actions/sitenoticeadminpanel.php:67 +msgid "Edit site-wide message" +msgstr "" + +#: actions/sitenoticeadminpanel.php:103 +msgid "Unable to save site notice." +msgstr "" + +#: actions/sitenoticeadminpanel.php:113 +msgid "Max length for the site-wide notice is 255 chars." +msgstr "" + +#: actions/sitenoticeadminpanel.php:176 +msgid "Site notice text" +msgstr "" + +#: actions/sitenoticeadminpanel.php:178 +msgid "Site-wide notice text (255 chars max; HTML okay)" +msgstr "" + +#: actions/sitenoticeadminpanel.php:198 +msgid "Save site notice" +msgstr "" + +#. TRANS: Title for SMS settings. +#: actions/smssettings.php:59 +msgid "SMS settings" +msgstr "" + +#. TRANS: SMS settings page instructions. +#. TRANS: %%site.name%% is the name of the site. +#: actions/smssettings.php:74 +#, php-format +msgid "You can receive SMS messages through email from %%site.name%%." +msgstr "" + +#. TRANS: Message given in the SMS settings if SMS is not enabled on the site. +#: actions/smssettings.php:97 +msgid "SMS is not available." +msgstr "" + +#. TRANS: Form legend for SMS settings form. +#: actions/smssettings.php:111 +msgid "SMS address" +msgstr "" + +#. TRANS: Form guide in SMS settings form. +#: actions/smssettings.php:120 +msgid "Current confirmed SMS-enabled phone number." +msgstr "" + +#. TRANS: Form guide in IM settings form. +#: actions/smssettings.php:133 +msgid "Awaiting confirmation on this phone number." +msgstr "" + +#. TRANS: Field label for SMS address input in SMS settings form. +#: actions/smssettings.php:142 +msgid "Confirmation code" +msgstr "" + +#. TRANS: Form field instructions in SMS settings form. +#: actions/smssettings.php:144 +msgid "Enter the code you received on your phone." +msgstr "" + +#. TRANS: Button label to confirm SMS confirmation code in SMS settings. +#: actions/smssettings.php:148 +msgctxt "BUTTON" +msgid "Confirm" +msgstr "" + +#. TRANS: Field label for SMS phone number input in SMS settings form. +#: actions/smssettings.php:153 +msgid "SMS phone number" +msgstr "" + +#. TRANS: SMS phone number input field instructions in SMS settings form. +#: actions/smssettings.php:156 +msgid "Phone number, no punctuation or spaces, with area code" +msgstr "" + +#. TRANS: Form legend for SMS preferences form. +#: actions/smssettings.php:195 +msgid "SMS preferences" +msgstr "" + +#. TRANS: Checkbox label in SMS preferences form. +#: actions/smssettings.php:201 +msgid "" +"Send me notices through SMS; I understand I may incur exorbitant charges " +"from my carrier." +msgstr "" + +#. TRANS: Confirmation message for successful SMS preferences save. +#: actions/smssettings.php:315 +msgid "SMS preferences saved." +msgstr "" + +#. TRANS: Message given saving SMS phone number without having provided one. +#: actions/smssettings.php:338 +msgid "No phone number." +msgstr "" + +#. TRANS: Message given saving SMS phone number without having selected a carrier. +#: actions/smssettings.php:344 +msgid "No carrier selected." +msgstr "" + +#. TRANS: Message given saving SMS phone number that is already set. +#: actions/smssettings.php:352 +msgid "That is already your phone number." +msgstr "" + +#. TRANS: Message given saving SMS phone number that is already set for another user. +#: actions/smssettings.php:356 +msgid "That phone number already belongs to another user." +msgstr "" + +#. TRANS: Message given saving valid SMS phone number that is to be confirmed. +#: actions/smssettings.php:384 +msgid "" +"A confirmation code was sent to the phone number you added. Check your phone " +"for the code and instructions on how to use it." +msgstr "" + +#. TRANS: Message given canceling SMS phone number confirmation for the wrong phone number. +#: actions/smssettings.php:413 +msgid "That is the wrong confirmation number." +msgstr "" + +#. TRANS: Message given after successfully canceling SMS phone number confirmation. +#: actions/smssettings.php:427 +msgid "SMS confirmation cancelled." +msgstr "" + +#. TRANS: Message given trying to remove an SMS phone number that is not +#. TRANS: registered for the active user. +#: actions/smssettings.php:448 +msgid "That is not your phone number." +msgstr "" + +#. TRANS: Message given after successfully removing a registered SMS phone number. +#: actions/smssettings.php:470 +msgid "The SMS phone number was removed." +msgstr "" + +#. TRANS: Label for mobile carrier dropdown menu in SMS settings. +#: actions/smssettings.php:511 +msgid "Mobile carrier" +msgstr "" + +#. TRANS: Default option for mobile carrier dropdown menu in SMS settings. +#: actions/smssettings.php:516 +msgid "Select a carrier" +msgstr "" + +#. TRANS: Form instructions for mobile carrier dropdown menu in SMS settings. +#. TRANS: %s is an administrative contact's e-mail address. +#: actions/smssettings.php:525 +#, php-format +msgid "" +"Mobile carrier for your phone. If you know a carrier that accepts SMS over " +"email but isn't listed here, send email to let us know at %s." +msgstr "" + +#. TRANS: Message given saving SMS phone number confirmation code without having provided one. +#: actions/smssettings.php:548 +msgid "No code entered" +msgstr "" + +#. TRANS: Menu item for site administration +#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196 +#: lib/adminpanelaction.php:408 +msgid "Snapshots" +msgstr "" + +#: actions/snapshotadminpanel.php:65 +msgid "Manage snapshot configuration" +msgstr "" + +#: actions/snapshotadminpanel.php:127 +msgid "Invalid snapshot run value." +msgstr "" + +#: actions/snapshotadminpanel.php:133 +msgid "Snapshot frequency must be a number." +msgstr "" + +#: actions/snapshotadminpanel.php:144 +msgid "Invalid snapshot report URL." +msgstr "" + +#: actions/snapshotadminpanel.php:200 +msgid "Randomly during web hit" +msgstr "" + +#: actions/snapshotadminpanel.php:201 +msgid "In a scheduled job" +msgstr "" + +#: actions/snapshotadminpanel.php:206 +msgid "Data snapshots" +msgstr "" + +#: actions/snapshotadminpanel.php:208 +msgid "When to send statistical data to status.net servers" +msgstr "" + +#: actions/snapshotadminpanel.php:217 +msgid "Frequency" +msgstr "" + +#: actions/snapshotadminpanel.php:218 +msgid "Snapshots will be sent once every N web hits" +msgstr "" + +#: actions/snapshotadminpanel.php:226 +msgid "Report URL" +msgstr "" + +#: actions/snapshotadminpanel.php:227 +msgid "Snapshots will be sent to this URL" +msgstr "" + +#: actions/snapshotadminpanel.php:248 +msgid "Save snapshot settings" +msgstr "" + +#: actions/subedit.php:70 +msgid "You are not subscribed to that profile." +msgstr "" + +#. TRANS: Exception thrown when a subscription could not be stored on the server. +#: actions/subedit.php:83 classes/Subscription.php:136 +msgid "Could not save subscription." +msgstr "" + +#: actions/subscribe.php:77 +msgid "This action only accepts POST requests." +msgstr "" + +#: actions/subscribe.php:107 +msgid "No such profile." +msgstr "" + +#: actions/subscribe.php:117 +msgid "You cannot subscribe to an OMB 0.1 remote profile with this action." +msgstr "" + +#: actions/subscribe.php:145 +msgid "Subscribed" +msgstr "" + +#: actions/subscribers.php:50 +#, php-format +msgid "%s subscribers" +msgstr "" + +#: actions/subscribers.php:52 +#, php-format +msgid "%1$s subscribers, page %2$d" +msgstr "" + +#: actions/subscribers.php:63 +msgid "These are the people who listen to your notices." +msgstr "" + +#: actions/subscribers.php:67 +#, php-format +msgid "These are the people who listen to %s's notices." +msgstr "" + +#: actions/subscribers.php:108 +msgid "" +"You have no subscribers. Try subscribing to people you know and they might " +"return the favor" +msgstr "" + +#: actions/subscribers.php:110 +#, php-format +msgid "%s has no subscribers. Want to be the first?" +msgstr "" + +#: actions/subscribers.php:114 +#, php-format +msgid "" +"%s has no subscribers. Why not [register an account](%%%%action.register%%%" +"%) and be the first?" +msgstr "" + +#: actions/subscriptions.php:52 +#, php-format +msgid "%s subscriptions" +msgstr "" + +#: actions/subscriptions.php:54 +#, php-format +msgid "%1$s subscriptions, page %2$d" +msgstr "" + +#: actions/subscriptions.php:65 +msgid "These are the people whose notices you listen to." +msgstr "" + +#: actions/subscriptions.php:69 +#, php-format +msgid "These are the people whose notices %s listens to." +msgstr "" + +#: actions/subscriptions.php:126 +#, php-format +msgid "" +"You're not listening to anyone's notices right now, try subscribing to " +"people you know. Try [people search](%%action.peoplesearch%%), look for " +"members in groups you're interested in and in our [featured users](%%action." +"featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can " +"automatically subscribe to people you already follow there." +msgstr "" + +#: actions/subscriptions.php:128 actions/subscriptions.php:132 +#, php-format +msgid "%s is not listening to anyone." +msgstr "" + +#: actions/subscriptions.php:208 +msgid "Jabber" +msgstr "" + +#: actions/subscriptions.php:222 lib/connectsettingsaction.php:115 +msgid "SMS" +msgstr "" + +#: actions/tag.php:69 +#, php-format +msgid "Notices tagged with %1$s, page %2$d" +msgstr "" + +#: actions/tag.php:87 +#, php-format +msgid "Notice feed for tag %s (RSS 1.0)" +msgstr "" + +#: actions/tag.php:93 +#, php-format +msgid "Notice feed for tag %s (RSS 2.0)" +msgstr "" + +#: actions/tag.php:99 +#, php-format +msgid "Notice feed for tag %s (Atom)" +msgstr "" + +#: actions/tagother.php:39 +msgid "No ID argument." +msgstr "" + +#: actions/tagother.php:65 +#, php-format +msgid "Tag %s" +msgstr "" + +#: actions/tagother.php:77 lib/userprofile.php:76 +msgid "User profile" +msgstr "" + +#: actions/tagother.php:81 actions/userauthorization.php:132 +#: lib/userprofile.php:103 +msgid "Photo" +msgstr "" + +#: actions/tagother.php:141 +msgid "Tag user" +msgstr "" + +#: actions/tagother.php:151 +msgid "" +"Tags for this user (letters, numbers, -, ., and _), comma- or space- " +"separated" +msgstr "" + +#: actions/tagother.php:193 +msgid "" +"You can only tag people you are subscribed to or who are subscribed to you." +msgstr "" + +#: actions/tagother.php:200 +msgid "Could not save tags." +msgstr "" + +#: actions/tagother.php:236 +msgid "Use this form to add tags to your subscribers or subscriptions." +msgstr "" + +#: actions/tagrss.php:35 +msgid "No such tag." +msgstr "" + +#: actions/unblock.php:59 +msgid "You haven't blocked that user." +msgstr "" + +#: actions/unsandbox.php:72 +msgid "User is not sandboxed." +msgstr "" + +#: actions/unsilence.php:72 +msgid "User is not silenced." +msgstr "" + +#: actions/unsubscribe.php:77 +msgid "No profile ID in request." +msgstr "" + +#: actions/unsubscribe.php:98 +msgid "Unsubscribed" +msgstr "" + +#: actions/updateprofile.php:64 actions/userauthorization.php:337 +#, php-format +msgid "" +"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’." +msgstr "" + +#. TRANS: User admin panel title +#: actions/useradminpanel.php:59 +msgctxt "TITLE" +msgid "User" +msgstr "" + +#: actions/useradminpanel.php:70 +msgid "User settings for this StatusNet site." +msgstr "" + +#: actions/useradminpanel.php:149 +msgid "Invalid bio limit. Must be numeric." +msgstr "" + +#: actions/useradminpanel.php:155 +msgid "Invalid welcome text. Max length is 255 characters." +msgstr "" + +#: actions/useradminpanel.php:165 +#, php-format +msgid "Invalid default subscripton: '%1$s' is not user." +msgstr "" + +#. TRANS: Link description in user account settings menu. +#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:111 +#: lib/personalgroupnav.php:109 +msgid "Profile" +msgstr "" + +#: actions/useradminpanel.php:222 +msgid "Bio Limit" +msgstr "" + +#: actions/useradminpanel.php:223 +msgid "Maximum length of a profile bio in characters." +msgstr "" + +#: actions/useradminpanel.php:231 +msgid "New users" +msgstr "" + +#: actions/useradminpanel.php:235 +msgid "New user welcome" +msgstr "" + +#: actions/useradminpanel.php:236 +msgid "Welcome text for new users (Max 255 chars)." +msgstr "" + +#: actions/useradminpanel.php:241 +msgid "Default subscription" +msgstr "" + +#: actions/useradminpanel.php:242 +msgid "Automatically subscribe new users to this user." +msgstr "" + +#: actions/useradminpanel.php:251 +msgid "Invitations" +msgstr "" + +#: actions/useradminpanel.php:256 +msgid "Invitations enabled" +msgstr "" + +#: actions/useradminpanel.php:258 +msgid "Whether to allow users to invite new users." +msgstr "" + +#: actions/userauthorization.php:105 +msgid "Authorize subscription" +msgstr "" + +#: actions/userauthorization.php:110 +msgid "" +"Please check these details to make sure that you want to subscribe to this " +"user’s notices. If you didn’t just ask to subscribe to someone’s notices, " +"click “Reject”." +msgstr "" + +#: actions/userauthorization.php:196 actions/version.php:167 +msgid "License" +msgstr "" + +#: actions/userauthorization.php:217 +msgid "Accept" +msgstr "" + +#: actions/userauthorization.php:218 lib/subscribeform.php:115 +#: lib/subscribeform.php:139 +msgid "Subscribe to this user" +msgstr "" + +#: actions/userauthorization.php:219 +msgid "Reject" +msgstr "" + +#: actions/userauthorization.php:220 +msgid "Reject this subscription" +msgstr "" + +#: actions/userauthorization.php:232 +msgid "No authorization request!" +msgstr "" + +#: actions/userauthorization.php:254 +msgid "Subscription authorized" +msgstr "" + +#: actions/userauthorization.php:256 +msgid "" +"The subscription has been authorized, but no callback URL was passed. Check " +"with the site’s instructions for details on how to authorize the " +"subscription. Your subscription token is:" +msgstr "" + +#: actions/userauthorization.php:266 +msgid "Subscription rejected" +msgstr "" + +#: actions/userauthorization.php:268 +msgid "" +"The subscription has been rejected, but no callback URL was passed. Check " +"with the site’s instructions for details on how to fully reject the " +"subscription." +msgstr "" + +#: actions/userauthorization.php:303 +#, php-format +msgid "Listener URI ‘%s’ not found here." +msgstr "" + +#: actions/userauthorization.php:308 +#, php-format +msgid "Listenee URI ‘%s’ is too long." +msgstr "" + +#: actions/userauthorization.php:314 +#, php-format +msgid "Listenee URI ‘%s’ is a local user." +msgstr "" + +#: actions/userauthorization.php:329 +#, php-format +msgid "Profile URL ‘%s’ is for a local user." +msgstr "" + +#: actions/userauthorization.php:345 +#, php-format +msgid "Avatar URL ‘%s’ is not valid." +msgstr "" + +#: actions/userauthorization.php:350 +#, php-format +msgid "Can’t read avatar URL ‘%s’." +msgstr "" + +#: actions/userauthorization.php:355 +#, php-format +msgid "Wrong image type for avatar URL ‘%s’." +msgstr "" + +#: actions/userdesignsettings.php:76 lib/designsettings.php:65 +msgid "Profile design" +msgstr "" + +#: actions/userdesignsettings.php:87 lib/designsettings.php:76 +msgid "" +"Customize the way your profile looks with a background image and a colour " +"palette of your choice." +msgstr "" + +#: actions/userdesignsettings.php:282 +msgid "Enjoy your hotdog!" +msgstr "" + +#. TRANS: Message is used as a page title. %1$s is a nick name, %2$d is a page number. +#: actions/usergroups.php:66 +#, php-format +msgid "%1$s groups, page %2$d" +msgstr "" + +#: actions/usergroups.php:132 +msgid "Search for more groups" +msgstr "" + +#: actions/usergroups.php:159 +#, php-format +msgid "%s is not a member of any group." +msgstr "" + +#: actions/usergroups.php:164 +#, php-format +msgid "Try [searching for groups](%%action.groupsearch%%) and joining them." +msgstr "" + +#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name. +#. TRANS: Message is used as a subtitle in atom group notice feed. +#. TRANS: %1$s is a group name, %2$s is a site name. +#. TRANS: Message is used as a subtitle in atom user notice feed. +#. TRANS: %1$s is a user name, %2$s is a site name. +#: actions/userrss.php:97 lib/atomgroupnoticefeed.php:70 +#: lib/atomusernoticefeed.php:76 +#, php-format +msgid "Updates from %1$s on %2$s!" +msgstr "" + +#: actions/version.php:75 +#, php-format +msgid "StatusNet %s" +msgstr "" + +#: actions/version.php:155 +#, php-format +msgid "" +"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, " +"Inc. and contributors." +msgstr "" + +#: actions/version.php:163 +msgid "Contributors" +msgstr "" + +#: actions/version.php:170 +msgid "" +"StatusNet is free software: you can redistribute it and/or modify it under " +"the terms of the GNU Affero General Public License as published by the Free " +"Software Foundation, either version 3 of the License, or (at your option) " +"any later version. " +msgstr "" + +#: actions/version.php:176 +msgid "" +"This program 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 Affero General Public License " +"for more details. " +msgstr "" + +#: actions/version.php:182 +#, php-format +msgid "" +"You should have received a copy of the GNU Affero General Public License " +"along with this program. If not, see %s." +msgstr "" + +#: actions/version.php:191 +msgid "Plugins" +msgstr "" + +#. TRANS: Secondary navigation menu option leading to version information on the StatusNet site. +#: actions/version.php:198 lib/action.php:789 +msgid "Version" +msgstr "" + +#: actions/version.php:199 +msgid "Author(s)" +msgstr "" + +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + +#. TRANS: Server exception thrown when... Robin thinks something is impossible! +#: classes/File.php:175 +msgid "Robin thinks something is impossible." +msgstr "" + +#. TRANS: Message given if an upload is larger than the configured maximum. +#. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. +#: classes/File.php:190 +#, php-format +msgid "" +"No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " +"Try to upload a smaller version." +msgstr "" + +#. TRANS: Message given if an upload would exceed user quota. +#. TRANS: %d (number) is the user quota in bytes. +#: classes/File.php:202 +#, php-format +msgid "A file this large would exceed your user quota of %d bytes." +msgstr "" + +#. TRANS: Message given id an upload would exceed a user's monthly quota. +#. TRANS: $d (number) is the monthly user quota in bytes. +#: classes/File.php:211 +#, php-format +msgid "A file this large would exceed your monthly quota of %d bytes." +msgstr "" + +#. TRANS: Client exception thrown if a file upload does not have a valid name. +#: classes/File.php:248 classes/File.php:263 +msgid "Invalid filename." +msgstr "" + +#. TRANS: Exception thrown when joining a group fails. +#: classes/Group_member.php:42 +msgid "Group join failed." +msgstr "" + +#. TRANS: Exception thrown when trying to leave a group the user is not a member of. +#: classes/Group_member.php:55 +msgid "Not part of group." +msgstr "" + +#. TRANS: Exception thrown when trying to leave a group fails. +#: classes/Group_member.php:63 +msgid "Group leave failed." +msgstr "" + +#. TRANS: Server exception thrown when updating a local group fails. +#: classes/Local_group.php:42 +msgid "Could not update local group." +msgstr "" + +#. TRANS: Exception thrown when trying creating a login token failed. +#. TRANS: %s is the user nickname for which token creation failed. +#: classes/Login_token.php:78 +#, php-format +msgid "Could not create login token for %s" +msgstr "" + +#. TRANS: Exception thrown when database name or Data Source Name could not be found. +#: classes/Memcached_DataObject.php:533 +msgid "No database name or DSN found anywhere." +msgstr "" + +#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. +#: classes/Message.php:46 +msgid "You are banned from sending direct messages." +msgstr "" + +#. TRANS: Message given when a message could not be stored on the server. +#: classes/Message.php:63 +msgid "Could not insert message." +msgstr "" + +#. TRANS: Message given when a message could not be updated on the server. +#: classes/Message.php:74 +msgid "Could not update message with new URI." +msgstr "" + +#. TRANS: Server exception thrown when a user profile for a notice cannot be found. +#. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). +#: classes/Notice.php:98 +#, php-format +msgid "No such profile (%1$d) for notice (%2$d)." +msgstr "" + +#. TRANS: Server exception. %s are the error details. +#: classes/Notice.php:190 +#, php-format +msgid "Database error inserting hashtag: %s" +msgstr "" + +#. TRANS: Client exception thrown if a notice contains too many characters. +#: classes/Notice.php:260 +msgid "Problem saving notice. Too long." +msgstr "" + +#. TRANS: Client exception thrown when trying to save a notice for an unknown user. +#: classes/Notice.php:265 +msgid "Problem saving notice. Unknown user." +msgstr "" + +#. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame. +#: classes/Notice.php:271 +msgid "" +"Too many notices too fast; take a breather and post again in a few minutes." +msgstr "" + +#. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame. +#: classes/Notice.php:278 +msgid "" +"Too many duplicate messages too quickly; take a breather and post again in a " +"few minutes." +msgstr "" + +#. TRANS: Client exception thrown when a user tries to post while being banned. +#: classes/Notice.php:286 +msgid "You are banned from posting notices on this site." +msgstr "" + +#. TRANS: Server exception thrown when a notice cannot be saved. +#. TRANS: Server exception thrown when a notice cannot be updated. +#: classes/Notice.php:353 classes/Notice.php:380 +msgid "Problem saving notice." +msgstr "" + +#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). +#: classes/Notice.php:892 +msgid "Bad type provided to saveKnownGroups" +msgstr "" + +#. TRANS: Server exception thrown when an update for a group inbox fails. +#: classes/Notice.php:991 +msgid "Problem saving group inbox." +msgstr "" + +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: classes/Notice.php:1600 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "" + +#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). +#: classes/Profile.php:740 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." +msgstr "" + +#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). +#: classes/Profile.php:749 +#, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." +msgstr "" + +#. TRANS: Exception thrown when a right for a non-existing user profile is checked. +#: classes/Remote_profile.php:54 +msgid "Missing profile." +msgstr "" + +#. TRANS: Exception thrown when a tag cannot be saved. +#: classes/Status_network.php:346 +msgid "Unable to save tag." +msgstr "" + +#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. +#: classes/Subscription.php:75 lib/oauthstore.php:465 +msgid "You have been banned from subscribing." +msgstr "" + +#. TRANS: Exception thrown when trying to subscribe while already subscribed. +#: classes/Subscription.php:80 +msgid "Already subscribed!" +msgstr "" + +#. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user. +#: classes/Subscription.php:85 +msgid "User has blocked you." +msgstr "" + +#. TRANS: Exception thrown when trying to unsibscribe without a subscription. +#: classes/Subscription.php:171 +msgid "Not subscribed!" +msgstr "" + +#. TRANS: Exception thrown when trying to unsubscribe a user from themselves. +#: classes/Subscription.php:178 +msgid "Could not delete self-subscription." +msgstr "" + +#. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. +#: classes/Subscription.php:206 +msgid "Could not delete subscription OMB token." +msgstr "" + +#. TRANS: Exception thrown when a subscription could not be deleted on the server. +#: classes/Subscription.php:218 +msgid "Could not delete subscription." +msgstr "" + +#. TRANS: Notice given on user registration. +#. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. +#: classes/User.php:365 +#, php-format +msgid "Welcome to %1$s, @%2$s!" +msgstr "" + +#. TRANS: Server exception thrown when creating a group failed. +#: classes/User_group.php:496 +msgid "Could not create group." +msgstr "" + +#. TRANS: Server exception thrown when updating a group URI failed. +#: classes/User_group.php:506 +msgid "Could not set group URI." +msgstr "" + +#. TRANS: Server exception thrown when setting group membership failed. +#: classes/User_group.php:529 +msgid "Could not set group membership." +msgstr "" + +#. TRANS: Server exception thrown when saving local group information failed. +#: classes/User_group.php:544 +msgid "Could not save local group info." +msgstr "" + +#. TRANS: Link title attribute in user account settings menu. +#: lib/accountsettingsaction.php:109 +msgid "Change your profile settings" +msgstr "" + +#. TRANS: Link title attribute in user account settings menu. +#: lib/accountsettingsaction.php:116 +msgid "Upload an avatar" +msgstr "" + +#. TRANS: Link title attribute in user account settings menu. +#: lib/accountsettingsaction.php:123 +msgid "Change your password" +msgstr "" + +#. TRANS: Link title attribute in user account settings menu. +#: lib/accountsettingsaction.php:130 +msgid "Change email handling" +msgstr "" + +#. TRANS: Link title attribute in user account settings menu. +#: lib/accountsettingsaction.php:137 +msgid "Design your profile" +msgstr "" + +#. TRANS: Link title attribute in user account settings menu. +#: lib/accountsettingsaction.php:144 +msgid "Other options" +msgstr "" + +#. TRANS: Link description in user account settings menu. +#: lib/accountsettingsaction.php:146 +msgid "Other" +msgstr "" + +#. TRANS: Page title. %1$s is the title, %2$s is the site name. +#: lib/action.php:145 +#, php-format +msgid "%1$s - %2$s" +msgstr "" + +#. TRANS: Page title for a page without a title set. +#: lib/action.php:161 +msgid "Untitled page" +msgstr "" + +#. TRANS: DT element for primary navigation menu. String is hidden in default CSS. +#: lib/action.php:436 +msgid "Primary site navigation" +msgstr "" + +#. TRANS: Tooltip for main menu option "Personal" +#: lib/action.php:442 +msgctxt "TOOLTIP" +msgid "Personal profile and friends timeline" +msgstr "" + +#. TRANS: Main menu option when logged in for access to personal profile and friends timeline +#: lib/action.php:445 +msgctxt "MENU" +msgid "Personal" +msgstr "" + +#. TRANS: Tooltip for main menu option "Account" +#: lib/action.php:447 +msgctxt "TOOLTIP" +msgid "Change your email, avatar, password, profile" +msgstr "" + +#. TRANS: Tooltip for main menu option "Services" +#: lib/action.php:452 +msgctxt "TOOLTIP" +msgid "Connect to services" +msgstr "" + +#. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services +#: lib/action.php:455 +msgid "Connect" +msgstr "" + +#. TRANS: Tooltip for menu option "Admin" +#: lib/action.php:458 +msgctxt "TOOLTIP" +msgid "Change site configuration" +msgstr "" + +#. TRANS: Main menu option when logged in and site admin for access to site configuration +#: lib/action.php:461 +msgctxt "MENU" +msgid "Admin" +msgstr "" + +#. TRANS: Tooltip for main menu option "Invite" +#: lib/action.php:465 +#, php-format +msgctxt "TOOLTIP" +msgid "Invite friends and colleagues to join you on %s" +msgstr "" + +#. TRANS: Main menu option when logged in and invitations are allowed for inviting new users +#: lib/action.php:468 +msgctxt "MENU" +msgid "Invite" +msgstr "" + +#. TRANS: Tooltip for main menu option "Logout" +#: lib/action.php:474 +msgctxt "TOOLTIP" +msgid "Logout from the site" +msgstr "" + +#. TRANS: Main menu option when logged in to log out the current user +#: lib/action.php:477 +msgctxt "MENU" +msgid "Logout" +msgstr "" + +#. TRANS: Tooltip for main menu option "Register" +#: lib/action.php:482 +msgctxt "TOOLTIP" +msgid "Create an account" +msgstr "" + +#. TRANS: Main menu option when not logged in to register a new account +#: lib/action.php:485 +msgctxt "MENU" +msgid "Register" +msgstr "" + +#. TRANS: Tooltip for main menu option "Login" +#: lib/action.php:488 +msgctxt "TOOLTIP" +msgid "Login to the site" +msgstr "" + +#: lib/action.php:491 +msgctxt "MENU" +msgid "Login" +msgstr "" + +#. TRANS: Tooltip for main menu option "Help" +#: lib/action.php:494 +msgctxt "TOOLTIP" +msgid "Help me!" +msgstr "" + +#: lib/action.php:497 +msgctxt "MENU" +msgid "Help" +msgstr "" + +#. TRANS: Tooltip for main menu option "Search" +#: lib/action.php:500 +msgctxt "TOOLTIP" +msgid "Search for people or text" +msgstr "" + +#: lib/action.php:503 +msgctxt "MENU" +msgid "Search" +msgstr "" + +#. TRANS: DT element for site notice. String is hidden in default CSS. +#. TRANS: Menu item for site administration +#: lib/action.php:525 lib/adminpanelaction.php:400 +msgid "Site notice" +msgstr "" + +#. TRANS: DT element for local views block. String is hidden in default CSS. +#: lib/action.php:592 +msgid "Local views" +msgstr "" + +#. TRANS: DT element for page notice. String is hidden in default CSS. +#: lib/action.php:659 +msgid "Page notice" +msgstr "" + +#. TRANS: DT element for secondary navigation menu. String is hidden in default CSS. +#: lib/action.php:762 +msgid "Secondary site navigation" +msgstr "" + +#. TRANS: Secondary navigation menu option leading to help on StatusNet. +#: lib/action.php:768 +msgid "Help" +msgstr "" + +#. TRANS: Secondary navigation menu option leading to text about StatusNet site. +#: lib/action.php:771 +msgid "About" +msgstr "" + +#. TRANS: Secondary navigation menu option leading to Frequently Asked Questions. +#: lib/action.php:774 +msgid "FAQ" +msgstr "" + +#. TRANS: Secondary navigation menu option leading to Terms of Service. +#: lib/action.php:779 +msgid "TOS" +msgstr "" + +#. TRANS: Secondary navigation menu option leading to privacy policy. +#: lib/action.php:783 +msgid "Privacy" +msgstr "" + +#. TRANS: Secondary navigation menu option. +#: lib/action.php:786 +msgid "Source" +msgstr "" + +#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site. +#: lib/action.php:792 +msgid "Contact" +msgstr "" + +#: lib/action.php:794 +msgid "Badge" +msgstr "" + +#. TRANS: DT element for StatusNet software license. +#: lib/action.php:823 +msgid "StatusNet software license" +msgstr "" + +#. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is set. +#: lib/action.php:827 +#, php-format +msgid "" +"**%%site.name%%** is a microblogging service brought to you by [%%site." +"broughtby%%](%%site.broughtbyurl%%)." +msgstr "" + +#. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set. +#: lib/action.php:830 +#, php-format +msgid "**%%site.name%%** is a microblogging service." +msgstr "" + +#. TRANS: Second sentence of the StatusNet site license. Mentions the StatusNet source code license. +#: lib/action.php:834 +#, php-format +msgid "" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" +"s, available under the [GNU Affero General Public License](http://www.fsf." +"org/licensing/licenses/agpl-3.0.html)." +msgstr "" + +#. TRANS: DT element for StatusNet site content license. +#: lib/action.php:850 +msgid "Site content license" +msgstr "" + +#. TRANS: Content license displayed when license is set to 'private'. +#. TRANS: %1$s is the site name. +#: lib/action.php:857 +#, php-format +msgid "Content and data of %1$s are private and confidential." +msgstr "" + +#. TRANS: Content license displayed when license is set to 'allrightsreserved'. +#. TRANS: %1$s is the copyright owner. +#: lib/action.php:864 +#, php-format +msgid "Content and data copyright by %1$s. All rights reserved." +msgstr "" + +#. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set. +#: lib/action.php:868 +msgid "Content and data copyright by contributors. All rights reserved." +msgstr "" + +#. TRANS: license message in footer. %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration. +#: lib/action.php:881 +#, php-format +msgid "All %1$s content and data are available under the %2$s license." +msgstr "" + +#. TRANS: DT element for pagination (previous/next, etc.). +#: lib/action.php:1192 +msgid "Pagination" +msgstr "" + +#. TRANS: Pagination message to go to a page displaying information more in the +#. TRANS: present than the currently displayed information. +#: lib/action.php:1203 +msgid "After" +msgstr "" + +#. TRANS: Pagination message to go to a page displaying information more in the +#. TRANS: past than the currently displayed information. +#: lib/action.php:1213 +msgid "Before" +msgstr "" + +#. TRANS: Client exception thrown when a feed instance is a DOMDocument. +#: lib/activity.php:122 +msgid "Expecting a root feed element but got a whole XML document." +msgstr "" + +#: lib/activityutils.php:208 +msgid "Can't handle remote content yet." +msgstr "" + +#: lib/activityutils.php:244 +msgid "Can't handle embedded XML content yet." +msgstr "" + +#: lib/activityutils.php:248 +msgid "Can't handle embedded Base64 content yet." +msgstr "" + +#. TRANS: Client error message thrown when a user tries to change admin settings but has no access rights. +#: lib/adminpanelaction.php:98 +msgid "You cannot make changes to this site." +msgstr "" + +#. TRANS: Client error message throw when a certain panel's settings cannot be changed. +#: lib/adminpanelaction.php:110 +msgid "Changes to that panel are not allowed." +msgstr "" + +#. TRANS: Client error message. +#: lib/adminpanelaction.php:229 +msgid "showForm() not implemented." +msgstr "" + +#. TRANS: Client error message +#: lib/adminpanelaction.php:259 +msgid "saveSettings() not implemented." +msgstr "" + +#. TRANS: Client error message thrown if design settings could not be deleted in +#. TRANS: the admin panel Design. +#: lib/adminpanelaction.php:284 +msgid "Unable to delete design setting." +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:350 +msgid "Basic site configuration" +msgstr "" + +#. TRANS: Menu item for site administration +#: lib/adminpanelaction.php:352 +msgctxt "MENU" +msgid "Site" +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:358 +msgid "Design configuration" +msgstr "" + +#. TRANS: Menu item for site administration +#: lib/adminpanelaction.php:360 +msgctxt "MENU" +msgid "Design" +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:366 +msgid "User configuration" +msgstr "" + +#. TRANS: Menu item for site administration +#: lib/adminpanelaction.php:368 lib/personalgroupnav.php:115 +msgid "User" +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:374 +msgid "Access configuration" +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:382 +msgid "Paths configuration" +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:390 +msgid "Sessions configuration" +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:398 +msgid "Edit site notice" +msgstr "" + +#. TRANS: Menu item title/tooltip +#: lib/adminpanelaction.php:406 +msgid "Snapshots configuration" +msgstr "" + +#. TRANS: Client error 401. +#: lib/apiauth.php:113 +msgid "API resource requires read-write access, but you only have read access." +msgstr "" + +#. TRANS: Form legend. +#: lib/applicationeditform.php:137 +msgid "Edit application" +msgstr "" + +#. TRANS: Form guide. +#: lib/applicationeditform.php:187 +msgid "Icon for this application" +msgstr "" + +#. TRANS: Form input field instructions. +#: lib/applicationeditform.php:209 +#, php-format +msgid "Describe your application in %d characters" +msgstr "" + +#. TRANS: Form input field instructions. +#: lib/applicationeditform.php:213 +msgid "Describe your application" +msgstr "" + +#. TRANS: Form input field instructions. +#: lib/applicationeditform.php:224 +msgid "URL of the homepage of this application" +msgstr "" + +#. TRANS: Form input field label. +#: lib/applicationeditform.php:226 +msgid "Source URL" +msgstr "" + +#. TRANS: Form input field instructions. +#: lib/applicationeditform.php:233 +msgid "Organization responsible for this application" +msgstr "" + +#. TRANS: Form input field instructions. +#: lib/applicationeditform.php:242 +msgid "URL for the homepage of the organization" +msgstr "" + +#. TRANS: Form input field instructions. +#: lib/applicationeditform.php:251 +msgid "URL to redirect to after authentication" +msgstr "" + +#. TRANS: Radio button label for application type +#: lib/applicationeditform.php:278 +msgid "Browser" +msgstr "" + +#. TRANS: Radio button label for application type +#: lib/applicationeditform.php:295 +msgid "Desktop" +msgstr "" + +#. TRANS: Form guide. +#: lib/applicationeditform.php:297 +msgid "Type of application, browser or desktop" +msgstr "" + +#. TRANS: Radio button label for access type. +#: lib/applicationeditform.php:320 +msgid "Read-only" +msgstr "" + +#. TRANS: Radio button label for access type. +#: lib/applicationeditform.php:339 +msgid "Read-write" +msgstr "" + +#. TRANS: Form guide. +#: lib/applicationeditform.php:341 +msgid "Default access for this application: read-only, or read-write" +msgstr "" + +#. TRANS: Submit button title +#: lib/applicationeditform.php:359 +msgid "Cancel" +msgstr "" + +#. TRANS: Application access type +#: lib/applicationlist.php:136 +msgid "read-write" +msgstr "" + +#. TRANS: Application access type +#: lib/applicationlist.php:138 +msgid "read-only" +msgstr "" + +#. TRANS: Used in application list. %1$s is a modified date, %2$s is access type (read-write or read-only) +#: lib/applicationlist.php:144 +#, php-format +msgid "Approved %1$s - \"%2$s\" access." +msgstr "" + +#. TRANS: Button label +#: lib/applicationlist.php:159 +msgctxt "BUTTON" +msgid "Revoke" +msgstr "" + +#. TRANS: DT element label in attachment list. +#: lib/attachmentlist.php:88 +msgid "Attachments" +msgstr "" + +#. TRANS: DT element label in attachment list item. +#: lib/attachmentlist.php:265 +msgid "Author" +msgstr "" + +#. TRANS: DT element label in attachment list item. +#: lib/attachmentlist.php:279 +msgid "Provider" +msgstr "" + +#: lib/attachmentnoticesection.php:67 +msgid "Notices where this attachment appears" +msgstr "" + +#: lib/attachmenttagcloudsection.php:48 +msgid "Tags for this attachment" +msgstr "" + +#: lib/authenticationplugin.php:221 lib/authenticationplugin.php:226 +msgid "Password changing failed" +msgstr "" + +#: lib/authenticationplugin.php:236 +msgid "Password changing is not allowed" +msgstr "" + +#: lib/channel.php:157 lib/channel.php:177 +msgid "Command results" +msgstr "" + +#: lib/channel.php:229 lib/mailhandler.php:142 +msgid "Command complete" +msgstr "" + +#: lib/channel.php:240 +msgid "Command failed" +msgstr "" + +#: lib/command.php:83 lib/command.php:105 +msgid "Notice with that id does not exist" +msgstr "" + +#: lib/command.php:99 lib/command.php:596 +msgid "User has no last notice" +msgstr "" + +#. TRANS: Message given requesting a profile for a non-existing user. +#. TRANS: %s is the nickname of the user for which the profile could not be found. +#: lib/command.php:127 +#, php-format +msgid "Could not find a user with nickname %s" +msgstr "" + +#. TRANS: Message given getting a non-existing user. +#. TRANS: %s is the nickname of the user that could not be found. +#: lib/command.php:147 +#, php-format +msgid "Could not find a local user with nickname %s" +msgstr "" + +#: lib/command.php:180 +msgid "Sorry, this command is not yet implemented." +msgstr "" + +#: lib/command.php:225 +msgid "It does not make a lot of sense to nudge yourself!" +msgstr "" + +#. TRANS: Message given having nudged another user. +#. TRANS: %s is the nickname of the user that was nudged. +#: lib/command.php:234 +#, php-format +msgid "Nudge sent to %s" +msgstr "" + +#: lib/command.php:260 +#, php-format +msgid "" +"Subscriptions: %1$s\n" +"Subscribers: %2$s\n" +"Notices: %3$s" +msgstr "" + +#: lib/command.php:302 +msgid "Notice marked as fave." +msgstr "" + +#: lib/command.php:323 +msgid "You are already a member of that group" +msgstr "" + +#. TRANS: Message given having failed to add a user to a group. +#. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group. +#: lib/command.php:339 +#, php-format +msgid "Could not join user %1$s to group %2$s" +msgstr "" + +#. TRANS: Message given having failed to remove a user from a group. +#. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group. +#: lib/command.php:385 +#, php-format +msgid "Could not remove user %1$s from group %2$s" +msgstr "" + +#. TRANS: Whois output. %s is the full name of the queried user. +#: lib/command.php:418 +#, php-format +msgid "Fullname: %s" +msgstr "" + +#. TRANS: Whois output. %s is the location of the queried user. +#. TRANS: Profile info line in new-subscriber notification e-mail +#: lib/command.php:422 lib/mail.php:268 +#, php-format +msgid "Location: %s" +msgstr "" + +#. TRANS: Whois output. %s is the homepage of the queried user. +#. TRANS: Profile info line in new-subscriber notification e-mail +#: lib/command.php:426 lib/mail.php:271 +#, php-format +msgid "Homepage: %s" +msgstr "" + +#. TRANS: Whois output. %s is the bio information of the queried user. +#: lib/command.php:430 +#, php-format +msgid "About: %s" +msgstr "" + +#: lib/command.php:457 +#, php-format +msgid "" +"%s is a remote profile; you can only send direct messages to users on the " +"same server." +msgstr "" + +#. TRANS: Message given if content is too long. +#. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters. +#: lib/command.php:472 +#, php-format +msgid "Message too long - maximum is %1$d characters, you sent %2$d" +msgstr "" + +#. TRANS: Message given have sent a direct message to another user. +#. TRANS: %s is the name of the other user. +#: lib/command.php:492 +#, php-format +msgid "Direct message to %s sent" +msgstr "" + +#: lib/command.php:494 +msgid "Error sending direct message." +msgstr "" + +#: lib/command.php:514 +msgid "Cannot repeat your own notice" +msgstr "" + +#: lib/command.php:519 +msgid "Already repeated that notice" +msgstr "" + +#. TRANS: Message given having repeated a notice from another user. +#. TRANS: %s is the name of the user for which the notice was repeated. +#: lib/command.php:529 +#, php-format +msgid "Notice from %s repeated" +msgstr "" + +#: lib/command.php:531 +msgid "Error repeating notice." +msgstr "" + +#: lib/command.php:562 +#, php-format +msgid "Notice too long - maximum is %d characters, you sent %d" +msgstr "" + +#: lib/command.php:571 +#, php-format +msgid "Reply to %s sent" +msgstr "" + +#: lib/command.php:573 +msgid "Error saving notice." +msgstr "" + +#: lib/command.php:620 +msgid "Specify the name of the user to subscribe to" +msgstr "" + +#: lib/command.php:628 +msgid "Can't subscribe to OMB profiles by command." +msgstr "" + +#: lib/command.php:634 +#, php-format +msgid "Subscribed to %s" +msgstr "" + +#: lib/command.php:655 lib/command.php:754 +msgid "Specify the name of the user to unsubscribe from" +msgstr "" + +#: lib/command.php:664 +#, php-format +msgid "Unsubscribed from %s" +msgstr "" + +#: lib/command.php:682 lib/command.php:705 +msgid "Command not yet implemented." +msgstr "" + +#: lib/command.php:685 +msgid "Notification off." +msgstr "" + +#: lib/command.php:687 +msgid "Can't turn off notification." +msgstr "" + +#: lib/command.php:708 +msgid "Notification on." +msgstr "" + +#: lib/command.php:710 +msgid "Can't turn on notification." +msgstr "" + +#: lib/command.php:723 +msgid "Login command is disabled" +msgstr "" + +#: lib/command.php:734 +#, php-format +msgid "This link is useable only once, and is good for only 2 minutes: %s" +msgstr "" + +#: lib/command.php:761 +#, php-format +msgid "Unsubscribed %s" +msgstr "" + +#: lib/command.php:778 +msgid "You are not subscribed to anyone." +msgstr "" + +#: lib/command.php:780 +#, fuzzy +msgid "You are subscribed to this person:" +msgid_plural "You are subscribed to these people:" +msgstr[0] "You are subscribed to this person:" +msgstr[1] "You are subscribed to these people:" + +#: lib/command.php:800 +msgid "No one is subscribed to you." +msgstr "" + +#: lib/command.php:802 +#, fuzzy +msgid "This person is subscribed to you:" +msgid_plural "These people are subscribed to you:" +msgstr[0] "This person is subscribed to you:" +msgstr[1] "These people are subscribed to you:" + +#: lib/command.php:822 +msgid "You are not a member of any groups." +msgstr "" + +#: lib/command.php:824 +#, fuzzy +msgid "You are a member of this group:" +msgid_plural "You are a member of these groups:" +msgstr[0] "You are a member of this group:" +msgstr[1] "You are a member of these groups:" + +#: lib/command.php:838 +msgid "" +"Commands:\n" +"on - turn on notifications\n" +"off - turn off notifications\n" +"help - show this help\n" +"follow - subscribe to user\n" +"groups - lists the groups you have joined\n" +"subscriptions - list the people you follow\n" +"subscribers - list the people that follow you\n" +"leave - unsubscribe from user\n" +"d - direct message to user\n" +"get - get last notice from user\n" +"whois - get profile info on user\n" +"lose - force user to stop following you\n" +"fav - add user's last notice as a 'fave'\n" +"fav # - add notice with the given id as a 'fave'\n" +"repeat # - repeat a notice with a given id\n" +"repeat - repeat the last notice from user\n" +"reply # - reply to notice with a given id\n" +"reply - reply to the last notice from user\n" +"join - join group\n" +"login - Get a link to login to the web interface\n" +"drop - leave group\n" +"stats - get your stats\n" +"stop - same as 'off'\n" +"quit - same as 'off'\n" +"sub - same as 'follow'\n" +"unsub - same as 'leave'\n" +"last - same as 'get'\n" +"on - not yet implemented.\n" +"off - not yet implemented.\n" +"nudge - remind a user to update.\n" +"invite - not yet implemented.\n" +"track - not yet implemented.\n" +"untrack - not yet implemented.\n" +"track off - not yet implemented.\n" +"untrack all - not yet implemented.\n" +"tracks - not yet implemented.\n" +"tracking - not yet implemented.\n" +msgstr "" + +#: lib/common.php:135 +msgid "No configuration file found. " +msgstr "" + +#: lib/common.php:136 +msgid "I looked for configuration files in the following places: " +msgstr "" + +#: lib/common.php:138 +msgid "You may wish to run the installer to fix this." +msgstr "" + +#: lib/common.php:139 +msgid "Go to the installer." +msgstr "" + +#: lib/connectsettingsaction.php:110 +msgid "IM" +msgstr "" + +#: lib/connectsettingsaction.php:111 +msgid "Updates by instant messenger (IM)" +msgstr "" + +#: lib/connectsettingsaction.php:116 +msgid "Updates by SMS" +msgstr "" + +#: lib/connectsettingsaction.php:120 +msgid "Connections" +msgstr "" + +#: lib/connectsettingsaction.php:121 +msgid "Authorized connected applications" +msgstr "" + +#: lib/dberroraction.php:60 +msgid "Database error" +msgstr "" + +#: lib/designsettings.php:105 +msgid "Upload file" +msgstr "" + +#: lib/designsettings.php:109 +msgid "" +"You can upload your personal background image. The maximum file size is 2MB." +msgstr "" + +#: lib/designsettings.php:418 +msgid "Design defaults restored." +msgstr "" + +#: lib/disfavorform.php:114 lib/disfavorform.php:140 +msgid "Disfavor this notice" +msgstr "" + +#: lib/favorform.php:114 lib/favorform.php:140 +msgid "Favor this notice" +msgstr "" + +#: lib/favorform.php:140 +msgid "Favor" +msgstr "" + +#: lib/feed.php:85 +msgid "RSS 1.0" +msgstr "" + +#: lib/feed.php:87 +msgid "RSS 2.0" +msgstr "" + +#: lib/feed.php:89 +msgid "Atom" +msgstr "" + +#: lib/feed.php:91 +msgid "FOAF" +msgstr "" + +#: lib/feedlist.php:64 +msgid "Export data" +msgstr "" + +#: lib/galleryaction.php:121 +msgid "Filter tags" +msgstr "" + +#: lib/galleryaction.php:131 +msgid "All" +msgstr "" + +#: lib/galleryaction.php:139 +msgid "Select tag to filter" +msgstr "" + +#: lib/galleryaction.php:140 +msgid "Tag" +msgstr "" + +#: lib/galleryaction.php:141 +msgid "Choose a tag to narrow list" +msgstr "" + +#: lib/galleryaction.php:143 +msgid "Go" +msgstr "" + +#: lib/grantroleform.php:91 +#, php-format +msgid "Grant this user the \"%s\" role" +msgstr "" + +#: lib/groupeditform.php:163 +msgid "URL of the homepage or blog of the group or topic" +msgstr "" + +#: lib/groupeditform.php:168 +msgid "Describe the group or topic" +msgstr "" + +#: lib/groupeditform.php:170 +#, php-format +msgid "Describe the group or topic in %d characters" +msgstr "" + +#: lib/groupeditform.php:179 +msgid "" +"Location for the group, if any, like \"City, State (or Region), Country\"" +msgstr "" + +#: lib/groupeditform.php:187 +#, php-format +msgid "Extra nicknames for the group, comma- or space- separated, max %d" +msgstr "" + +#: lib/groupnav.php:85 +msgid "Group" +msgstr "" + +#: lib/groupnav.php:101 +msgid "Blocked" +msgstr "" + +#: lib/groupnav.php:102 +#, php-format +msgid "%s blocked users" +msgstr "" + +#: lib/groupnav.php:108 +#, php-format +msgid "Edit %s group properties" +msgstr "" + +#: lib/groupnav.php:113 +msgid "Logo" +msgstr "" + +#: lib/groupnav.php:114 +#, php-format +msgid "Add or edit %s logo" +msgstr "" + +#: lib/groupnav.php:120 +#, php-format +msgid "Add or edit %s design" +msgstr "" + +#: lib/groupsbymemberssection.php:71 +msgid "Groups with most members" +msgstr "" + +#: lib/groupsbypostssection.php:71 +msgid "Groups with most posts" +msgstr "" + +#: lib/grouptagcloudsection.php:56 +#, php-format +msgid "Tags in %s group's notices" +msgstr "" + +#. TRANS: Client exception 406 +#: lib/htmloutputter.php:104 +msgid "This page is not available in a media type you accept" +msgstr "" + +#: lib/imagefile.php:72 +msgid "Unsupported image file format." +msgstr "" + +#: lib/imagefile.php:88 +#, php-format +msgid "That file is too big. The maximum file size is %s." +msgstr "" + +#: lib/imagefile.php:93 +msgid "Partial upload." +msgstr "" + +#: lib/imagefile.php:101 lib/mediafile.php:170 +msgid "System error uploading file." +msgstr "" + +#: lib/imagefile.php:109 +msgid "Not an image or corrupt file." +msgstr "" + +#: lib/imagefile.php:122 +msgid "Lost our file." +msgstr "" + +#: lib/imagefile.php:163 lib/imagefile.php:224 +msgid "Unknown file type" +msgstr "" + +#: lib/imagefile.php:244 +msgid "MB" +msgstr "" + +#: lib/imagefile.php:246 +msgid "kB" +msgstr "" + +#: lib/jabber.php:387 +#, php-format +msgid "[%s]" +msgstr "" + +#: lib/jabber.php:567 +#, php-format +msgid "Unknown inbox source %d." +msgstr "" + +#: lib/joinform.php:114 +msgid "Join" +msgstr "" + +#: lib/leaveform.php:114 +msgid "Leave" +msgstr "" + +#: lib/logingroupnav.php:80 +msgid "Login with a username and password" +msgstr "" + +#: lib/logingroupnav.php:86 +msgid "Sign up for a new account" +msgstr "" + +#. TRANS: Subject for address confirmation email +#: lib/mail.php:174 +msgid "Email address confirmation" +msgstr "" + +#. TRANS: Body for address confirmation email. +#: lib/mail.php:177 +#, php-format +msgid "" +"Hey, %s.\n" +"\n" +"Someone just entered this email address on %s.\n" +"\n" +"If it was you, and you want to confirm your entry, use the URL below:\n" +"\n" +"\t%s\n" +"\n" +"If not, just ignore this message.\n" +"\n" +"Thanks for your time, \n" +"%s\n" +msgstr "" + +#. TRANS: Subject of new-subscriber notification e-mail +#: lib/mail.php:243 +#, php-format +msgid "%1$s is now listening to your notices on %2$s." +msgstr "" + +#: lib/mail.php:248 +#, php-format +msgid "" +"If you believe this account is being used abusively, you can block them from " +"your subscribers list and report as spam to site administrators at %s" +msgstr "" + +#. TRANS: Main body of new-subscriber notification e-mail +#: lib/mail.php:254 +#, php-format +msgid "" +"%1$s is now listening to your notices on %2$s.\n" +"\n" +"\t%3$s\n" +"\n" +"%4$s%5$s%6$s\n" +"Faithfully yours,\n" +"%7$s.\n" +"\n" +"----\n" +"Change your email address or notification options at %8$s\n" +msgstr "" + +#. TRANS: Profile info line in new-subscriber notification e-mail +#: lib/mail.php:274 +#, php-format +msgid "Bio: %s" +msgstr "" + +#. TRANS: Subject of notification mail for new posting email address +#: lib/mail.php:304 +#, php-format +msgid "New email address for posting to %s" +msgstr "" + +#. TRANS: Body of notification mail for new posting email address +#: lib/mail.php:308 +#, php-format +msgid "" +"You have a new posting address on %1$s.\n" +"\n" +"Send email to %2$s to post new messages.\n" +"\n" +"More email instructions at %3$s.\n" +"\n" +"Faithfully yours,\n" +"%4$s" +msgstr "" + +#. TRANS: Subject line for SMS-by-email notification messages +#: lib/mail.php:433 +#, php-format +msgid "%s status" +msgstr "" + +#. TRANS: Subject line for SMS-by-email address confirmation message +#: lib/mail.php:460 +msgid "SMS confirmation" +msgstr "" + +#. TRANS: Main body heading for SMS-by-email address confirmation message +#: lib/mail.php:463 +#, php-format +msgid "%s: confirm you own this phone number with this code:" +msgstr "" + +#. TRANS: Subject for 'nudge' notification email +#: lib/mail.php:484 +#, php-format +msgid "You've been nudged by %s" +msgstr "" + +#. TRANS: Body for 'nudge' notification email +#: lib/mail.php:489 +#, php-format +msgid "" +"%1$s (%2$s) is wondering what you are up to these days and is inviting you " +"to post some news.\n" +"\n" +"So let's hear from you :)\n" +"\n" +"%3$s\n" +"\n" +"Don't reply to this email; it won't get to them.\n" +"\n" +"With kind regards,\n" +"%4$s\n" +msgstr "" + +#. TRANS: Subject for direct-message notification email +#: lib/mail.php:536 +#, php-format +msgid "New private message from %s" +msgstr "" + +#. TRANS: Body for direct-message notification email +#: lib/mail.php:541 +#, php-format +msgid "" +"%1$s (%2$s) sent you a private message:\n" +"\n" +"------------------------------------------------------\n" +"%3$s\n" +"------------------------------------------------------\n" +"\n" +"You can reply to their message here:\n" +"\n" +"%4$s\n" +"\n" +"Don't reply to this email; it won't get to them.\n" +"\n" +"With kind regards,\n" +"%5$s\n" +msgstr "" + +#. TRANS: Subject for favorite notification email +#: lib/mail.php:589 +#, php-format +msgid "%s (@%s) added your notice as a favorite" +msgstr "" + +#. TRANS: Body for favorite notification email +#: lib/mail.php:592 +#, php-format +msgid "" +"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n" +"\n" +"The URL of your notice is:\n" +"\n" +"%3$s\n" +"\n" +"The text of your notice is:\n" +"\n" +"%4$s\n" +"\n" +"You can see the list of %1$s's favorites here:\n" +"\n" +"%5$s\n" +"\n" +"Faithfully yours,\n" +"%6$s\n" +msgstr "" + +#. TRANS: Line in @-reply notification e-mail. %s is conversation URL. +#: lib/mail.php:651 +#, php-format +msgid "" +"The full conversation can be read here:\n" +"\n" +"\t%s" +msgstr "" + +#: lib/mail.php:657 +#, php-format +msgid "%s (@%s) sent a notice to your attention" +msgstr "" + +#. TRANS: Body of @-reply notification e-mail. +#: lib/mail.php:660 +#, php-format +msgid "" +"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n" +"\n" +"The notice is here:\n" +"\n" +"\t%3$s\n" +"\n" +"It reads:\n" +"\n" +"\t%4$s\n" +"\n" +"%5$sYou can reply back here:\n" +"\n" +"\t%6$s\n" +"\n" +"The list of all @-replies for you here:\n" +"\n" +"%7$s\n" +"\n" +"Faithfully yours,\n" +"%2$s\n" +"\n" +"P.S. You can turn off these email notifications here: %8$s\n" +msgstr "" + +#: lib/mailbox.php:89 +msgid "Only the user can read their own mailboxes." +msgstr "" + +#: lib/mailbox.php:139 +msgid "" +"You have no private messages. You can send private message to engage other " +"users in conversation. People can send you messages for your eyes only." +msgstr "" + +#: lib/mailbox.php:227 lib/noticelist.php:505 +msgid "from" +msgstr "" + +#: lib/mailhandler.php:37 +msgid "Could not parse message." +msgstr "" + +#: lib/mailhandler.php:42 +msgid "Not a registered user." +msgstr "" + +#: lib/mailhandler.php:46 +msgid "Sorry, that is not your incoming email address." +msgstr "" + +#: lib/mailhandler.php:50 +msgid "Sorry, no incoming email allowed." +msgstr "" + +#: lib/mailhandler.php:228 +#, php-format +msgid "Unsupported message type: %s" +msgstr "" + +#: lib/mediafile.php:98 lib/mediafile.php:123 +msgid "There was a database error while saving your file. Please try again." +msgstr "" + +#: lib/mediafile.php:142 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini." +msgstr "" + +#: lib/mediafile.php:147 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form." +msgstr "" + +#: lib/mediafile.php:152 +msgid "The uploaded file was only partially uploaded." +msgstr "" + +#: lib/mediafile.php:159 +msgid "Missing a temporary folder." +msgstr "" + +#: lib/mediafile.php:162 +msgid "Failed to write file to disk." +msgstr "" + +#: lib/mediafile.php:165 +msgid "File upload stopped by extension." +msgstr "" + +#: lib/mediafile.php:179 lib/mediafile.php:217 +msgid "File exceeds user's quota." +msgstr "" + +#: lib/mediafile.php:197 lib/mediafile.php:234 +msgid "File could not be moved to destination directory." +msgstr "" + +#: lib/mediafile.php:202 lib/mediafile.php:238 +msgid "Could not determine file's MIME type." +msgstr "" + +#: lib/mediafile.php:318 +#, php-format +msgid " Try using another %s format." +msgstr "" + +#: lib/mediafile.php:323 +#, php-format +msgid "%s is not a supported file type on this server." +msgstr "" + +#: lib/messageform.php:120 +msgid "Send a direct notice" +msgstr "" + +#: lib/messageform.php:146 +msgid "To" +msgstr "" + +#: lib/messageform.php:159 lib/noticeform.php:185 +msgid "Available characters" +msgstr "" + +#: lib/messageform.php:178 lib/noticeform.php:236 +msgctxt "Send button for sending notice" +msgid "Send" +msgstr "" + +#: lib/noticeform.php:160 +msgid "Send a notice" +msgstr "" + +#: lib/noticeform.php:173 +#, php-format +msgid "What's up, %s?" +msgstr "" + +#: lib/noticeform.php:192 +msgid "Attach" +msgstr "" + +#: lib/noticeform.php:196 +msgid "Attach a file" +msgstr "" + +#: lib/noticeform.php:212 +msgid "Share my location" +msgstr "" + +#: lib/noticeform.php:215 +msgid "Do not share my location" +msgstr "" + +#: lib/noticeform.php:216 +msgid "" +"Sorry, retrieving your geo location is taking longer than expected, please " +"try again later" +msgstr "" + +#. TRANS: Used in coordinates as abbreviation of north +#: lib/noticelist.php:436 +msgid "N" +msgstr "" + +#. TRANS: Used in coordinates as abbreviation of south +#: lib/noticelist.php:438 +msgid "S" +msgstr "" + +#. TRANS: Used in coordinates as abbreviation of east +#: lib/noticelist.php:440 +msgid "E" +msgstr "" + +#. TRANS: Used in coordinates as abbreviation of west +#: lib/noticelist.php:442 +msgid "W" +msgstr "" + +#: lib/noticelist.php:444 +#, php-format +msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s" +msgstr "" + +#: lib/noticelist.php:453 +msgid "at" +msgstr "" + +#: lib/noticelist.php:567 +msgid "in context" +msgstr "" + +#: lib/noticelist.php:602 +msgid "Repeated by" +msgstr "" + +#: lib/noticelist.php:629 +msgid "Reply to this notice" +msgstr "" + +#: lib/noticelist.php:630 +msgid "Reply" +msgstr "" + +#: lib/noticelist.php:674 +msgid "Notice repeated" +msgstr "" + +#: lib/nudgeform.php:116 +msgid "Nudge this user" +msgstr "" + +#: lib/nudgeform.php:128 +msgid "Nudge" +msgstr "" + +#: lib/nudgeform.php:128 +msgid "Send a nudge to this user" +msgstr "" + +#: lib/oauthstore.php:283 +msgid "Error inserting new profile" +msgstr "" + +#: lib/oauthstore.php:291 +msgid "Error inserting avatar" +msgstr "" + +#: lib/oauthstore.php:306 +msgid "Error updating remote profile" +msgstr "" + +#: lib/oauthstore.php:311 +msgid "Error inserting remote profile" +msgstr "" + +#: lib/oauthstore.php:345 +msgid "Duplicate notice" +msgstr "" + +#: lib/oauthstore.php:490 +msgid "Couldn't insert new subscription." +msgstr "" + +#: lib/personalgroupnav.php:99 +msgid "Personal" +msgstr "" + +#: lib/personalgroupnav.php:104 +msgid "Replies" +msgstr "" + +#: lib/personalgroupnav.php:114 +msgid "Favorites" +msgstr "" + +#: lib/personalgroupnav.php:125 +msgid "Inbox" +msgstr "" + +#: lib/personalgroupnav.php:126 +msgid "Your incoming messages" +msgstr "" + +#: lib/personalgroupnav.php:130 +msgid "Outbox" +msgstr "" + +#: lib/personalgroupnav.php:131 +msgid "Your sent messages" +msgstr "" + +#: lib/personaltagcloudsection.php:56 +#, php-format +msgid "Tags in %s's notices" +msgstr "" + +#: lib/plugin.php:115 +msgid "Unknown" +msgstr "" + +#: lib/profileaction.php:109 lib/profileaction.php:205 lib/subgroupnav.php:82 +msgid "Subscriptions" +msgstr "" + +#: lib/profileaction.php:126 +msgid "All subscriptions" +msgstr "" + +#: lib/profileaction.php:144 lib/profileaction.php:214 lib/subgroupnav.php:90 +msgid "Subscribers" +msgstr "" + +#: lib/profileaction.php:161 +msgid "All subscribers" +msgstr "" + +#: lib/profileaction.php:191 +msgid "User ID" +msgstr "" + +#: lib/profileaction.php:196 +msgid "Member since" +msgstr "" + +#. TRANS: Average count of posts made per day since account registration +#: lib/profileaction.php:235 +msgid "Daily average" +msgstr "" + +#: lib/profileaction.php:264 +msgid "All groups" +msgstr "" + +#: lib/profileformaction.php:123 +msgid "Unimplemented method." +msgstr "" + +#: lib/publicgroupnav.php:78 +msgid "Public" +msgstr "" + +#: lib/publicgroupnav.php:82 +msgid "User groups" +msgstr "" + +#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85 +msgid "Recent tags" +msgstr "" + +#: lib/publicgroupnav.php:88 +msgid "Featured" +msgstr "" + +#: lib/publicgroupnav.php:92 +msgid "Popular" +msgstr "" + +#: lib/redirectingaction.php:95 +msgid "No return-to arguments." +msgstr "" + +#: lib/repeatform.php:107 +msgid "Repeat this notice?" +msgstr "" + +#: lib/repeatform.php:132 +msgid "Yes" +msgstr "" + +#: lib/repeatform.php:132 +msgid "Repeat this notice" +msgstr "" + +#: lib/revokeroleform.php:91 +#, php-format +msgid "Revoke the \"%s\" role from this user" +msgstr "" + +#: lib/router.php:709 +msgid "No single user defined for single-user mode." +msgstr "" + +#: lib/sandboxform.php:67 +msgid "Sandbox" +msgstr "" + +#: lib/sandboxform.php:78 +msgid "Sandbox this user" +msgstr "" + +#: lib/searchaction.php:120 +msgid "Search site" +msgstr "" + +#: lib/searchaction.php:126 +msgid "Keyword(s)" +msgstr "" + +#: lib/searchaction.php:127 +msgid "Search" +msgstr "" + +#: lib/searchaction.php:162 +msgid "Search help" +msgstr "" + +#: lib/searchgroupnav.php:80 +msgid "People" +msgstr "" + +#: lib/searchgroupnav.php:81 +msgid "Find people on this site" +msgstr "" + +#: lib/searchgroupnav.php:83 +msgid "Find content of notices" +msgstr "" + +#: lib/searchgroupnav.php:85 +msgid "Find groups on this site" +msgstr "" + +#: lib/section.php:89 +msgid "Untitled section" +msgstr "" + +#: lib/section.php:106 +msgid "More..." +msgstr "" + +#: lib/silenceform.php:67 +msgid "Silence" +msgstr "" + +#: lib/silenceform.php:78 +msgid "Silence this user" +msgstr "" + +#: lib/subgroupnav.php:83 +#, php-format +msgid "People %s subscribes to" +msgstr "" + +#: lib/subgroupnav.php:91 +#, php-format +msgid "People subscribed to %s" +msgstr "" + +#: lib/subgroupnav.php:99 +#, php-format +msgid "Groups %s is a member of" +msgstr "" + +#: lib/subgroupnav.php:105 +msgid "Invite" +msgstr "" + +#: lib/subgroupnav.php:106 +#, php-format +msgid "Invite friends and colleagues to join you on %s" +msgstr "" + +#: lib/subscriberspeopleselftagcloudsection.php:48 +#: lib/subscriptionspeopleselftagcloudsection.php:48 +msgid "People Tagcloud as self-tagged" +msgstr "" + +#: lib/subscriberspeopletagcloudsection.php:48 +#: lib/subscriptionspeopletagcloudsection.php:48 +msgid "People Tagcloud as tagged" +msgstr "" + +#: lib/tagcloudsection.php:56 +msgid "None" +msgstr "" + +#: lib/themeuploader.php:50 +msgid "This server cannot handle theme uploads without ZIP support." +msgstr "" + +#: lib/themeuploader.php:58 lib/themeuploader.php:61 +msgid "The theme file is missing or the upload failed." +msgstr "" + +#: lib/themeuploader.php:91 lib/themeuploader.php:102 +#: lib/themeuploader.php:253 lib/themeuploader.php:257 +#: lib/themeuploader.php:265 lib/themeuploader.php:272 +msgid "Failed saving theme." +msgstr "" + +#: lib/themeuploader.php:139 +msgid "Invalid theme: bad directory structure." +msgstr "" + +#: lib/themeuploader.php:166 +#, php-format +msgid "Uploaded theme is too large; must be less than %d bytes uncompressed." +msgstr "" + +#: lib/themeuploader.php:178 +msgid "Invalid theme archive: missing file css/display.css" +msgstr "" + +#: lib/themeuploader.php:205 +msgid "" +"Theme contains invalid file or folder name. Stick with ASCII letters, " +"digits, underscore, and minus sign." +msgstr "" + +#: lib/themeuploader.php:216 +#, php-format +msgid "Theme contains file of type '.%s', which is not allowed." +msgstr "" + +#: lib/themeuploader.php:234 +msgid "Error opening theme archive." +msgstr "" + +#: lib/topposterssection.php:74 +msgid "Top posters" +msgstr "" + +#: lib/unsandboxform.php:69 +msgid "Unsandbox" +msgstr "" + +#: lib/unsandboxform.php:80 +msgid "Unsandbox this user" +msgstr "" + +#: lib/unsilenceform.php:67 +msgid "Unsilence" +msgstr "" + +#: lib/unsilenceform.php:78 +msgid "Unsilence this user" +msgstr "" + +#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137 +msgid "Unsubscribe from this user" +msgstr "" + +#: lib/unsubscribeform.php:137 +msgid "Unsubscribe" +msgstr "" + +#: lib/usernoprofileexception.php:58 +#, php-format +msgid "User %s (%d) has no profile record." +msgstr "" + +#: lib/userprofile.php:117 +msgid "Edit Avatar" +msgstr "" + +#: lib/userprofile.php:234 lib/userprofile.php:248 +msgid "User actions" +msgstr "" + +#: lib/userprofile.php:237 +msgid "User deletion in progress..." +msgstr "" + +#: lib/userprofile.php:263 +msgid "Edit profile settings" +msgstr "" + +#: lib/userprofile.php:264 +msgid "Edit" +msgstr "" + +#: lib/userprofile.php:287 +msgid "Send a direct message to this user" +msgstr "" + +#: lib/userprofile.php:288 +msgid "Message" +msgstr "" + +#: lib/userprofile.php:326 +msgid "Moderate" +msgstr "" + +#: lib/userprofile.php:364 +msgid "User role" +msgstr "" + +#: lib/userprofile.php:366 +msgctxt "role" +msgid "Administrator" +msgstr "" + +#: lib/userprofile.php:367 +msgctxt "role" +msgid "Moderator" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1100 +msgid "a few seconds ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1103 +msgid "about a minute ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1107 +#, php-format +msgid "about %d minutes ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1110 +msgid "about an hour ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1114 +#, php-format +msgid "about %d hours ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1117 +msgid "about a day ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1121 +#, php-format +msgid "about %d days ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1124 +msgid "about a month ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1128 +#, php-format +msgid "about %d months ago" +msgstr "" + +#. TRANS: Used in notices to indicate when the notice was made compared to now. +#: lib/util.php:1131 +msgid "about a year ago" +msgstr "" + +#: lib/webcolor.php:82 +#, php-format +msgid "%s is not a valid color!" +msgstr "" + +#: lib/webcolor.php:123 +#, php-format +msgid "%s is not a valid color! Use 3 or 6 hex chars." +msgstr "" + +#: lib/xmppmanager.php:403 +#, php-format +msgid "Message too long - maximum is %1$d characters, you sent %2$d." +msgstr "" diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po index f433c2163..b08cd73de 100644 --- a/locale/de/LC_MESSAGES/statusnet.po +++ b/locale/de/LC_MESSAGES/statusnet.po @@ -16,12 +16,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:04+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:50+0000\n" "Language-Team: German\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: out-statusnet\n" @@ -106,7 +106,7 @@ msgstr "Seite nicht vorhanden" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -175,17 +175,17 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Du kannst [%1$s in seinem Profil einen Stups geben](../%2$s) oder [ihm etwas " -"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit " -"zu erregen." +"Du kannst versuchen, [%1$s in seinem Profil einen Stups zu geben](../%2$s) " +"oder [ihm etwas posten](%%%%action.newnotice%%%%?status_textarea=%s) um " +"seine Aufmerksamkeit zu erregen." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." @@ -224,7 +224,7 @@ msgstr "Aktualisierungen von %1$s und Freunden auf %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -274,7 +274,7 @@ msgstr "Konnte Profil nicht speichern." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -375,9 +375,8 @@ msgid "Could not delete favorite." msgstr "Konnte Favoriten nicht löschen." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Konnte Nutzer nicht folgen: Nutzer nicht gefunden" +msgstr "Konnte Nutzer nicht folgen: Profil nicht gefunden" #: actions/apifriendshipscreate.php:118 #, php-format @@ -393,9 +392,8 @@ msgid "You cannot unfollow yourself." msgstr "Du kannst dich nicht selbst entfolgen!" #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Zwei IDs oder Benutzernamen müssen angegeben werden." +msgstr "Zwei gültige IDs oder Benutzernamen müssen angegeben werden." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -525,6 +523,11 @@ msgstr "%s Gruppen" msgid "groups on %s" msgstr "Gruppen von %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Datei hochladen" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Kein oauth_token Parameter angegeben." @@ -668,18 +671,22 @@ msgstr "Status gelöscht." msgid "No status with that ID found." msgstr "Keine Nachricht mit dieser ID gefunden." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" "Das war zu lang. Die Länge einer Nachricht ist auf %d Zeichen beschränkt." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Nicht gefunden." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -2523,12 +2530,11 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Alle Aktualisierungen, die den Suchbegriff „%s“ enthalten" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" "Dieser Benutzer erlaubt keine Stupser oder hat seine E-Mail-Adresse noch " -"nicht bestätigt." +"nicht bestätigt oder eingestellt." #: actions/nudge.php:94 msgid "Nudge sent" @@ -3578,12 +3584,12 @@ msgstr "" "beitreten](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Du kannst [%1$s in seinem Profil einen Stups geben](../%s) oder [ihm etwas " +"Du kannst versuchen [%1$s einen Stups zu geben](../%s) oder [ihm etwas " "posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit " "zu erregen." @@ -4844,21 +4850,27 @@ msgstr "Version" msgid "Author(s)" msgstr "Autor(en)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Robin denkt, dass etwas unmöglich ist." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. #: classes/File.php:190 -#, fuzzy, php-format +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" "Keine Datei darf größer als %d Bytes sein und die Datei die du verschicken " -"wolltest ist %d Bytes groß. Bitte eine kleinere Datei hoch laden." +"wolltest war %d Bytes groß. Bitte eine kleinere Version hochladen." #. TRANS: Message given if an upload would exceed user quota. #. TRANS: %d (number) is the user quota in bytes. @@ -4878,9 +4890,8 @@ msgstr "" #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Ungültige Größe." +msgstr "Ungültiger Dateiname." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4911,7 +4922,7 @@ msgstr "Konnte keinen Login-Token für %s erstellen" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4970,51 +4981,50 @@ msgstr "" "ein paar Minuten ab." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" "Du wurdest für das Schreiben von Nachrichten auf dieser Seite gesperrt." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problem bei Speichern der Nachricht." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problem bei Speichern der Nachricht." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." msgstr "Benutzer hat kein Profil." @@ -5059,7 +5069,6 @@ msgstr "Konnte OMB-Abonnement nicht löschen." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." msgstr "Konnte Abonnement nicht löschen." diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po index e54a24f99..2f10ab88b 100644 --- a/locale/el/LC_MESSAGES/statusnet.po +++ b/locale/el/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:06+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:52+0000\n" "Language-Team: Greek\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: el\n" "X-Message-Group: out-statusnet\n" @@ -101,7 +101,7 @@ msgstr "Δεν υπάρχει τέτοια σελίδα" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -213,7 +213,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -264,7 +264,7 @@ msgstr "Απέτυχε η αποθήκευση του προφίλ." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -513,6 +513,11 @@ msgstr "" msgid "groups on %s" msgstr "ομάδες του χρήστη %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Αδύνατη η αποθήκευση του προφίλ." + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -656,17 +661,21 @@ msgstr "Η κατάσταση διεγράφη." msgid "No status with that ID found." msgstr "" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4720,6 +4729,12 @@ msgstr "Προσωπικά" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4787,7 +4802,7 @@ msgstr "Αδύνατη η αποθήκευση του προφίλ." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4842,45 +4857,45 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index d98905db6..a7465aa48 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:07+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:53+0000\n" "Language-Team: British English\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: en-gb\n" "X-Message-Group: out-statusnet\n" @@ -100,7 +100,7 @@ msgstr "No such page." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -215,7 +215,7 @@ msgstr "Updates from %1$s and friends on %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -267,7 +267,7 @@ msgstr "Couldn't save profile." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -512,6 +512,11 @@ msgstr "%s groups" msgid "groups on %s" msgstr "groups on %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Upload file" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "No oauth_token parameter provided." @@ -655,17 +660,21 @@ msgstr "Status deleted." msgid "No status with that ID found." msgstr "No status with that ID found." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "That's too long. Max notice size is %d chars." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Not found." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "Max notice size is %d chars, including attachment URL." @@ -4736,6 +4745,12 @@ msgstr "Version" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4799,7 +4814,7 @@ msgstr "Could not create login token for %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4857,45 +4872,45 @@ msgstr "" "few minutes." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "You are banned from posting notices on this site." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problem saving notice." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problem saving group inbox." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index cc870e85f..109fa206e 100644 --- a/locale/es/LC_MESSAGES/statusnet.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:09+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:55+0000\n" "Language-Team: Spanish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: out-statusnet\n" @@ -104,7 +104,7 @@ msgstr "No existe tal página." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -220,7 +220,7 @@ msgstr "¡Actualizaciones de %1$s y sus amistades en %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -270,7 +270,7 @@ msgstr "No se pudo guardar el perfil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -517,6 +517,11 @@ msgstr "Grupos %s" msgid "groups on %s" msgstr "Grupos en %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Subir archivo" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "No se ha provisto de un parámetro oauth_token." @@ -663,17 +668,21 @@ msgstr "Status borrado." msgid "No status with that ID found." msgstr "No hay estado para ese ID" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "La entrada es muy larga. El tamaño máximo es de %d caracteres." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "No encontrado." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -2296,7 +2305,7 @@ msgstr "Ningún nombre de usuario o ID." #: actions/joingroup.php:141 lib/command.php:346 #, php-format msgid "%1$s joined group %2$s" -msgstr "%1$s se ha unido al grupo %2$" +msgstr "%1$s se ha unido al grupo %2$s" #: actions/leavegroup.php:60 msgid "You must be logged in to leave a group." @@ -4833,6 +4842,12 @@ msgstr "Versión" msgid "Author(s)" msgstr "Autor(es)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4899,7 +4914,7 @@ msgstr "No se pudo crear el token de acceso para %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4958,58 +4973,56 @@ msgstr "" "pasados unos minutos." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Tienes prohibido publicar avisos en este sitio." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Hubo un problema al guardar el aviso." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Hubo un problema al guarda la bandeja de entrada del grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "El usuario no tiene un perfil." +msgstr "Perfil ausente." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 -#, fuzzy msgid "Unable to save tag." -msgstr "No se pudo guarda el aviso del sitio." +msgstr "Incapaz de grabar etiqueta." #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. #: classes/Subscription.php:75 lib/oauthstore.php:465 @@ -5034,7 +5047,6 @@ msgstr "¡No estás suscrito!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." msgstr "No se pudo eliminar la auto-suscripción." @@ -5046,7 +5058,6 @@ msgstr "No se pudo eliminar el token OMB de suscripción." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." msgstr "No se pudo eliminar la suscripción." diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po index 4bd582429..ac48f6e9c 100644 --- a/locale/fa/LC_MESSAGES/statusnet.po +++ b/locale/fa/LC_MESSAGES/statusnet.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:14+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:58+0000\n" "Last-Translator: Ahmad Sufi Mahmudi\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" "X-Language-Code: fa\n" "X-Message-Group: out-statusnet\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" #. TRANS: Page title @@ -103,7 +103,7 @@ msgstr "چنین صفحه‌ای وجود ندارد." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -217,7 +217,7 @@ msgstr "به روز رسانی از %1$s و دوستان در %2$s" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +266,7 @@ msgstr "نمی‌توان نمایه را ذخیره کرد." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -510,6 +510,11 @@ msgstr "%s گروه" msgid "groups on %s" msgstr "گروه‌ها در %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "بارگذاری پرونده" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "هیچ پارامتر oauth_token آماده نشده است." @@ -653,17 +658,21 @@ msgstr "وضعیت حذف شد." msgid "No status with that ID found." msgstr "هیچ وضعیتی با آن شناسه یافت نشد." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "این خیلی طولانی است. بیشینهٔ طول پیام %d نویسه است." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "یافت نشد." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "بیشینهٔ طول پیام %d نویسه که شامل نشانی اینترنتی پیوست هم هست." @@ -4770,6 +4779,12 @@ msgstr "نسخه" msgid "Author(s)" msgstr "مؤلف(ها)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4838,7 +4853,7 @@ msgstr "نمی‌توان رمز ورود را برای %s ایجاد کرد" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4897,45 +4912,45 @@ msgstr "" "ارسال کنید." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "شما از فرستادن پیام در این وب‌گاه منع شده‌اید." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "هنگام ذخیرهٔ پیام مشکلی ایجاد شد." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "هنگام ذخیرهٔ صندوق ورودی گروه مشکلی رخ داد." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index d116f9a46..681b58cea 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:11+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:52:56+0000\n" "Language-Team: Finnish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fi\n" "X-Message-Group: out-statusnet\n" @@ -107,7 +107,7 @@ msgstr "Sivua ei ole." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -221,7 +221,7 @@ msgstr "Käyttäjän %1$s ja kavereiden päivitykset palvelussa %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -272,7 +272,7 @@ msgstr "Ei voitu tallentaa profiilia." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -527,6 +527,11 @@ msgstr "Käyttäjän %s ryhmät" msgid "groups on %s" msgstr "Ryhmän toiminnot" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Lataa" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -675,17 +680,21 @@ msgstr "Päivitys poistettu." msgid "No status with that ID found." msgstr "Käyttäjätunnukselle ei löytynyt statusviestiä." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Päivitys on liian pitkä. Maksimipituus on %d merkkiä." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Ei löytynyt." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "Maksimikoko päivitykselle on %d merkkiä, mukaan lukien URL-osoite." @@ -4891,6 +4900,12 @@ msgstr "Omat" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4958,7 +4973,7 @@ msgstr "Ei voitu lisätä aliasta." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -5019,46 +5034,46 @@ msgstr "" "päivityksien lähettämista muutaman minuutin päästä." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Päivityksesi tähän palveluun on estetty." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Ongelma päivityksen tallentamisessa." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Ongelma päivityksen tallentamisessa." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po index 36d2a2992..1e6bef48f 100644 --- a/locale/fr/LC_MESSAGES/statusnet.po +++ b/locale/fr/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:16+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:00+0000\n" "Language-Team: French\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: out-statusnet\n" @@ -104,7 +104,7 @@ msgstr "Page non trouvée." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -173,7 +173,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -183,12 +183,12 @@ msgstr "" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." msgstr "" -"Pourquoi ne pas [créer un compte](%%%%action.register%%%%) et ensuite faire " +"Pourquoi ne pas [créer un compte](%%%%action.register%%%%) et faire ensuite " "un clin d’œil à %s ou poster un avis à son intention." #. TRANS: H1 text @@ -221,7 +221,7 @@ msgstr "Statuts de %1$s et ses amis dans %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -271,7 +271,7 @@ msgstr "Impossible d’enregistrer le profil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -371,9 +371,8 @@ msgid "Could not delete favorite." msgstr "Impossible de supprimer le favori." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Impossible de suivre l’utilisateur : Utilisateur non trouvé." +msgstr "Impossible de suivre l’utilisateur : profil non trouvé." #: actions/apifriendshipscreate.php:118 #, php-format @@ -389,9 +388,8 @@ msgid "You cannot unfollow yourself." msgstr "Vous ne pouvez pas ne plus vous suivre vous-même." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Vous devez fournir 2 identifiants ou pseudos." +msgstr "Vous devez fournir deux identifiants ou pseudonymes." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -520,6 +518,11 @@ msgstr "Groupes de %s" msgid "groups on %s" msgstr "groupes sur %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Importer un fichier" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Paramètre oauth_token non fourni." @@ -670,17 +673,21 @@ msgstr "Statut supprimé." msgid "No status with that ID found." msgstr "Aucun statut trouvé avec cet identifiant." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "C’est trop long ! La taille maximale de l’avis est de %d caractères." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Non trouvé." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -2530,7 +2537,6 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "mises à jour correspondant au(x) terme(s) « %1$s » sur %2$s !" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" @@ -3568,7 +3574,7 @@ msgid "Replies feed for %s (Atom)" msgstr "Flux des réponses pour %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." @@ -3587,7 +3593,7 @@ msgstr "" "%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3771,7 +3777,7 @@ msgstr "" "mettre en lumière." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" @@ -3780,7 +3786,7 @@ msgstr "" "d’intéressant, et cela pourrait être ajouté à ses favoris :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " @@ -3788,7 +3794,7 @@ msgid "" msgstr "" "%s n’a pas ajouté d’avis à ses favoris pour le moment. Vous pourriez [créer " "un compte](%%%%action.register%%%%), puis poster quelque chose " -"d’intéressant, qui serait ajouté à ses favoris :)" +"d’intéressant, qu’il pourrait ajouter à ses favoris :)" #: actions/showfavorites.php:243 msgid "This is a way to share what you like." @@ -3971,7 +3977,7 @@ msgstr "" "d’avis pour le moment, vous pourriez commencer maintenant :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4864,21 +4870,27 @@ msgstr "Version" msgid "Author(s)" msgstr "Auteur(s)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Robin pense que quelque chose est impossible." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. #: classes/File.php:190 -#, fuzzy, php-format +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"Un fichier ne peut pas être plus gros que %d octets et le fichier que vous " -"avez envoyé pesait %d octets. Essayez d’importer une version moins grosse." +"Un fichier ne peut pas peser plus de %1$d octets et le fichier que vous avez " +"envoyé pesait %2$d octets. Essayez d’importer une version moins lourde." #. TRANS: Message given if an upload would exceed user quota. #. TRANS: %d (number) is the user quota in bytes. @@ -4896,9 +4908,8 @@ msgstr "Un fichier aussi gros dépasserai votre quota mensuel de %d octets." #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Taille incorrecte." +msgstr "Nom de fichier non valide." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4929,8 +4940,9 @@ msgstr "Impossible de créer le jeton d’identification pour %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" -msgstr "" +#, fuzzy +msgid "No database name or DSN found anywhere." +msgstr "Aucun nom de base de donnée ou aucun DSN n’a été trouvé." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4952,7 +4964,7 @@ msgstr "Impossible de mettre à jour le message avec un nouvel URI." #: classes/Notice.php:98 #, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "" +msgstr "Impossible de trouver le profil (%1$d) pour l’avis (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4988,58 +5000,60 @@ msgstr "" "dans quelques minutes." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Il vous est interdit de poster des avis sur ce site." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problème lors de l’enregistrement de l’avis." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "Le type renseigné pour saveKnownGroups n’est pas valable" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problème lors de l’enregistrement de la boîte de réception du groupe." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" +"Impossible de révoquer le rôle de « %s » pour l'utilisateur #%2$s : " +"l’utilisateur n’existe pas." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"Impossible de révoquer le rôle de « %s » pour l'utilisateur #%2$s : erreur " +"dans la base de données." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "Aucun profil ne correspond à cet utilisateur." +msgstr "Profil manquant." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 -#, fuzzy msgid "Unable to save tag." -msgstr "Impossible d'enregistrer l'avis du site." +msgstr "Impossible d’enregistrer l’étiquette." #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. #: classes/Subscription.php:75 lib/oauthstore.php:465 @@ -5063,21 +5077,18 @@ msgstr "Pas abonné !" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." msgstr "Impossible de supprimer l’abonnement à soi-même." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." -msgstr "Impossible de supprimer le jeton OMB de l'abonnement ." +msgstr "Impossible de supprimer le jeton OMB de l'abonnement." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." -msgstr "Impossible de cesser l’abonnement" +msgstr "Impossible de supprimer l’abonnement" #. TRANS: Notice given on user registration. #. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po index 19e6cc9f2..ae9ca85c6 100644 --- a/locale/ga/LC_MESSAGES/statusnet.po +++ b/locale/ga/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:17+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:01+0000\n" "Language-Team: Irish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ga\n" "X-Message-Group: out-statusnet\n" @@ -107,7 +107,7 @@ msgstr "Non existe a etiqueta." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -216,7 +216,7 @@ msgstr "Actualizacións dende %1$s e amigos en %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -267,7 +267,7 @@ msgstr "Non se puido gardar o perfil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -524,6 +524,11 @@ msgstr "" msgid "groups on %s" msgstr "Outras opcions" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Subir" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -671,18 +676,22 @@ msgstr "Avatar actualizado." msgid "No status with that ID found." msgstr "Non existe ningún estado con esa ID atopada." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" "Iso é demasiado longo. O tamaño máximo para un chío é de 140 caracteres." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Non atopado" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4947,6 +4956,12 @@ msgstr "Persoal" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -5014,7 +5029,7 @@ msgstr "Non se puido crear o favorito." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -5076,46 +5091,46 @@ msgstr "" "duns minutos." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Tes restrinxido o envio de chíos neste sitio." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Aconteceu un erro ó gardar o chío." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Aconteceu un erro ó gardar o chío." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po index f66a7a7c8..93fd1af4d 100644 --- a/locale/gl/LC_MESSAGES/statusnet.po +++ b/locale/gl/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:23+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:03+0000\n" "Language-Team: Galician\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: out-statusnet\n" @@ -98,7 +98,7 @@ msgstr "Esa páxina non existe." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -214,7 +214,7 @@ msgstr "Actualizacións de %1$s e amigos en %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -264,7 +264,7 @@ msgstr "Non se puido gardar o perfil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -511,6 +511,11 @@ msgstr "grupos %s" msgid "groups on %s" msgstr "grupos en %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Cargar un ficheiro" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Non se forneceu o parámetro oauth_token." @@ -656,17 +661,21 @@ msgstr "Borrouse o estado." msgid "No status with that ID found." msgstr "Non se atopou ningún estado con esa ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Iso é longo de máis. A nota non pode exceder os %d caracteres." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Non se atopou." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4830,6 +4839,12 @@ msgstr "Versión" msgid "Author(s)" msgstr "Autores" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4896,7 +4911,7 @@ msgstr "Non se puido crear un pase de sesión para %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4955,45 +4970,45 @@ msgstr "" "publicar nuns minutos." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Prohibíuselle publicar notas neste sitio de momento." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Houbo un problema ao gardar a nota." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Houbo un problema ao gardar a caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "♻ @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po index f4e211d3c..34c4072ec 100644 --- a/locale/he/LC_MESSAGES/statusnet.po +++ b/locale/he/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:25+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:05+0000\n" "Language-Team: Hebrew\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: he\n" "X-Message-Group: out-statusnet\n" @@ -104,7 +104,7 @@ msgstr "אין הודעה כזו." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -213,7 +213,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -264,7 +264,7 @@ msgstr "שמירת הפרופיל נכשלה." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -516,6 +516,11 @@ msgstr "" msgid "groups on %s" msgstr "" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "ההעלה" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -662,18 +667,22 @@ msgstr "התמונה עודכנה." msgid "No status with that ID found." msgstr "" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "זה ארוך מידי. אורך מירבי להודעה הוא 140 אותיות." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 #, fuzzy msgid "Not found." msgstr "לא נמצא" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4795,6 +4804,12 @@ msgstr "אישי" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4862,7 +4877,7 @@ msgstr "שמירת מידע התמונה נכשל" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4919,46 +4934,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "בעיה בשמירת ההודעה." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "בעיה בשמירת ההודעה." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po index 8eb615628..52cc544f0 100644 --- a/locale/hsb/LC_MESSAGES/statusnet.po +++ b/locale/hsb/LC_MESSAGES/statusnet.po @@ -1,5 +1,6 @@ # Translation of StatusNet to Upper Sorbian # +# Author@translatewiki.net: Brion # Author@translatewiki.net: McDutchie # Author@translatewiki.net: Michawiki # -- @@ -9,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:26+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:06+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: hsb\n" "X-Message-Group: out-statusnet\n" @@ -99,7 +100,7 @@ msgstr "Strona njeeksistuje." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -207,7 +208,7 @@ msgstr "Aktualizacije wot %1$s a přećelow na %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -255,7 +256,7 @@ msgstr "Profil njeje so składować dał." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -353,9 +354,8 @@ msgid "Could not delete favorite." msgstr "Faworit njeda so zhašeć." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Profil njeje so składować dał." +msgstr "Njebě móžno wužiwarja słědować: profil njenamakany." #: actions/apifriendshipscreate.php:118 #, php-format @@ -371,9 +371,8 @@ msgid "You cannot unfollow yourself." msgstr "Njemóžeš slědowanje swójskich aktiwitow blokować." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Dwaj wužiwarskej ID abo wužiwarskej mjenje dyrbitej so podać." +msgstr "Dyrbitej so dwaj płaćiwej wužiwarskej ID abo wužiwarskej mjenje podać." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -388,6 +387,7 @@ msgstr "Cilowy wužiwar njeda so namakać." #: actions/register.php:212 msgid "Nickname must have only lowercase letters and numbers and no spaces." msgstr "" +"Přimjeno smě jenož małe pismiki a cyfry wobsahować. Mjezery njejsu dowolene." #: actions/apigroupcreate.php:176 actions/editgroup.php:190 #: actions/newgroup.php:130 actions/profilesettings.php:238 @@ -500,6 +500,11 @@ msgstr "%s skupinow" msgid "groups on %s" msgstr "skupiny na %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Dataju nahrać" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -638,17 +643,21 @@ msgstr "Status zničeny." msgid "No status with that ID found." msgstr "Žadyn status z tym ID namakany." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "To je předołho. Maksimalna wulkosć zdźělenki je %d znamješkow." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Njenamakany." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -1110,7 +1119,7 @@ msgstr "Swójski šat" #: actions/designadminpanel.php:471 msgid "You can upload a custom StatusNet theme as a .ZIP archive." -msgstr "" +msgstr "Móžeš swójski šat StatusNet jako .ZIP-archiw nahrać." #: actions/designadminpanel.php:486 lib/designsettings.php:101 msgid "Change background image" @@ -2270,12 +2279,12 @@ msgstr "%1$s je hižo administrator za skupinu \"%2$s\"." #: actions/makeadmin.php:133 #, php-format msgid "Can't get membership record for %1$s in group %2$s." -msgstr "Přistup na datowu sadźbu čłona %1$S w skupinje %2$s móžno njeje." +msgstr "Přistup na datowu sadźbu čłona %1$s w skupinje %2$s móžno njeje." #: actions/makeadmin.php:146 #, php-format msgid "Can't make %1$s an admin for group %2$s." -msgstr "Njeje móžno %1$S k administratorej w skupinje %2$s činić." +msgstr "Njeje móžno %1$s k administratorej w skupinje %2$s činić." #: actions/microsummary.php:69 msgid "No current status." @@ -4552,6 +4561,12 @@ msgstr "Wersija" msgid "Author(s)" msgstr "Awtorojo" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4582,9 +4597,8 @@ msgstr "" #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Njepłaćiwa wulkosć." +msgstr "Njepłaćiwe datajowe mjeno." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4615,7 +4629,7 @@ msgstr "Njeje móžno było, přizjewjenske znamješko za %s wutworić" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4670,58 +4684,56 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "Wužiwar nima profil." +msgstr "Falowacy profil." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 -#, fuzzy msgid "Unable to save tag." -msgstr "Njeje móžno, sydłowu zdźělenku składować." +msgstr "Njeje móžno, tafličku składować." #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. #: classes/Subscription.php:75 lib/oauthstore.php:465 @@ -4745,21 +4757,18 @@ msgstr "Njeje abonowany!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." -msgstr "Sebjeabonement njeje so dał zničić." +msgstr "Sebjeabonement njeda so zhašeć." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." msgstr "Znamjo OMB-abonementa njeda so zhašeć." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." -msgstr "Abonoment njeje so dał zničić." +msgstr "Abonoment njeda so zhašeć ." #. TRANS: Notice given on user registration. #. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po index 105e2455b..cb0c9a828 100644 --- a/locale/ia/LC_MESSAGES/statusnet.po +++ b/locale/ia/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:28+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:08+0000\n" "Language-Team: Interlingua\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: out-statusnet\n" @@ -97,7 +97,7 @@ msgstr "Pagina non existe." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -213,7 +213,7 @@ msgstr "Actualisationes de %1$s e su amicos in %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -263,7 +263,7 @@ msgstr "Non poteva salveguardar le profilo." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -508,6 +508,11 @@ msgstr "Gruppos de %s" msgid "groups on %s" msgstr "gruppos in %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Incargar file" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Nulle parametro oauth_token fornite." @@ -654,18 +659,22 @@ msgstr "Stato delite." msgid "No status with that ID found." msgstr "Nulle stato trovate con iste ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" "Isto es troppo longe. Le longitude maximal del notas es %d characteres." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Non trovate." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4808,6 +4817,12 @@ msgstr "Version" msgid "Author(s)" msgstr "Autor(es)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4873,7 +4888,7 @@ msgstr "Non poteva crear indicio de identification pro %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4932,45 +4947,45 @@ msgstr "" "novo post alcun minutas." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Il te es prohibite publicar notas in iste sito." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problema salveguardar nota." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problema salveguardar le cassa de entrata del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po index 97aa25425..fd65ba784 100644 --- a/locale/is/LC_MESSAGES/statusnet.po +++ b/locale/is/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:29+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:10+0000\n" "Language-Team: Icelandic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: is\n" "X-Message-Group: out-statusnet\n" @@ -107,7 +107,7 @@ msgstr "Ekkert þannig merki." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -215,7 +215,7 @@ msgstr "Færslur frá %1$s og vinum á %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +266,7 @@ msgstr "Gat ekki vistað persónulega síðu." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -519,6 +519,11 @@ msgstr "Hópar %s" msgid "groups on %s" msgstr "Hópsaðgerðir" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Misheppnuð skipun" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -664,17 +669,21 @@ msgstr "" msgid "No status with that ID found." msgstr "Engin staða með þessu kenni fannst." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Fannst ekki." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4846,6 +4855,12 @@ msgstr "Persónulegt" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4913,7 +4928,7 @@ msgstr "Gat ekki búið til uppáhald." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4971,46 +4986,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Það hefur verið lagt bann við babli frá þér á þessari síðu." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Vandamál komu upp við að vista babl." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Vandamál komu upp við að vista babl." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po index 0ebea7778..8d1c95ed3 100644 --- a/locale/it/LC_MESSAGES/statusnet.po +++ b/locale/it/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:31+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:11+0000\n" "Language-Team: Italian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: it\n" "X-Message-Group: out-statusnet\n" @@ -101,7 +101,7 @@ msgstr "Pagina inesistente." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -218,7 +218,7 @@ msgstr "Messaggi da %1$s e amici su %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -268,7 +268,7 @@ msgstr "Impossibile salvare il profilo." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -515,6 +515,11 @@ msgstr "Gruppi di %s" msgid "groups on %s" msgstr "Gruppi su %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Carica file" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Nessun parametro oauth_token fornito." @@ -659,17 +664,21 @@ msgstr "Messaggio eliminato." msgid "No status with that ID found." msgstr "Nessuno stato trovato con quel ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Troppo lungo. Lunghezza massima %d caratteri." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Non trovato." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4805,6 +4814,12 @@ msgstr "Versione" msgid "Author(s)" msgstr "Autori" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4872,7 +4887,7 @@ msgstr "Impossibile creare il token di accesso per %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4931,45 +4946,45 @@ msgstr "" "nuovo tra qualche minuto." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Ti è proibito inviare messaggi su questo sito." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problema nel salvare il messaggio." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problema nel salvare la casella della posta del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po index 60edb1a21..f1b554da6 100644 --- a/locale/ja/LC_MESSAGES/statusnet.po +++ b/locale/ja/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:33+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:13+0000\n" "Language-Team: Japanese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ja\n" "X-Message-Group: out-statusnet\n" @@ -103,7 +103,7 @@ msgstr "そのようなページはありません。" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -217,7 +217,7 @@ msgstr "%2$s に %1$s と友人からの更新があります!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -268,7 +268,7 @@ msgstr "プロフィールを保存できませんでした。" #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -517,6 +517,11 @@ msgstr "%s グループ" msgid "groups on %s" msgstr "%s 上のグループ" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "ファイルアップロード" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "oauth_token パラメータは提供されませんでした。" @@ -657,17 +662,21 @@ msgstr "ステータスを削除しました。" msgid "No status with that ID found." msgstr "そのIDでのステータスはありません。" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "長すぎます。つぶやきは最大 140 字までです。" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "見つかりません。" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "つぶやきは URL を含めて最大 %d 字までです。" @@ -4837,6 +4846,12 @@ msgstr "バージョン" msgid "Author(s)" msgstr "作者" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4906,7 +4921,7 @@ msgstr "%s 用のログイン・トークンを作成できませんでした" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4964,45 +4979,45 @@ msgstr "" "い。" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "あなたはこのサイトでつぶやきを投稿するのが禁止されています。" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "つぶやきを保存する際に問題が発生しました。" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "グループ受信箱を保存する際に問題が発生しました。" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po index efe3bbebf..ea888538d 100644 --- a/locale/ko/LC_MESSAGES/statusnet.po +++ b/locale/ko/LC_MESSAGES/statusnet.po @@ -1,5 +1,6 @@ # Translation of StatusNet to Korean # +# Author@translatewiki.net: Brion # Author@translatewiki.net: Twkang # -- # This file is distributed under the same license as the StatusNet package. @@ -8,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:34+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:15+0000\n" "Language-Team: Korean\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ko\n" "X-Message-Group: out-statusnet\n" @@ -97,7 +98,7 @@ msgstr "해당하는 페이지 없음" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -207,7 +208,7 @@ msgstr "%2$s에 있는 %1$s 및 친구들의 업데이트!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -255,7 +256,7 @@ msgstr "프로필을 저장 할 수 없습니다." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -503,6 +504,11 @@ msgstr "%s 그룹" msgid "groups on %s" msgstr "%s 상의 그룹들" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "올리기" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -646,17 +652,21 @@ msgstr "삭제된 소식입니다." msgid "No status with that ID found." msgstr "발견된 ID의 상태가 없습니다." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "너무 깁니다. 통지의 최대 길이는 %d 글자 입니다." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "찾을 수가 없습니다." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "소식의 최대 길이는 첨부 URL을 포함하여 %d 글자입니다." @@ -4815,6 +4825,12 @@ msgstr "버젼" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4881,7 +4897,7 @@ msgstr "%s 에 대한 로그인 토큰을 만들 수 없습니다." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4943,46 +4959,46 @@ msgstr "" "해보세요." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "이 사이트에 게시글 포스팅으로부터 당신은 금지되었습니다." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "통지를 저장하는데 문제가 발생했습니다." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "통지를 저장하는데 문제가 발생했습니다." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. @@ -6286,7 +6302,7 @@ msgid "" "Faithfully yours,\n" "%4$s" msgstr "" -"포스팅 주소는 %1$s입니다.새 메시지를 등록하려면 %2$ 주소로 이메일을 보내십시" +"포스팅 주소는 %1$s입니다.새 메시지를 등록하려면 %2$s 주소로 이메일을 보내십시" "오.이메일 사용법은 %3$s 페이지를 보십시오.안녕히,%4$s" #. TRANS: Subject line for SMS-by-email notification messages diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po index 5325a6080..0c3e4c6e8 100644 --- a/locale/mk/LC_MESSAGES/statusnet.po +++ b/locale/mk/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:36+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:17+0000\n" "Language-Team: Macedonian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: out-statusnet\n" @@ -100,7 +100,7 @@ msgstr "Нема таква страница." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -216,7 +216,7 @@ msgstr "Подновувања од %1$s и пријатели на %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +266,7 @@ msgstr "Не може да се зачува профил." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -513,6 +513,11 @@ msgstr "%s групи" msgid "groups on %s" msgstr "групи на %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Подигни податотека" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Нема наведено oauth_token параметар." @@ -656,17 +661,21 @@ msgstr "Статусот е избришан." msgid "No status with that ID found." msgstr "Нема пронајдено статус со тој ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Ова е предолго. Максималната дозволена должина изнесува %d знаци." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Не е пронајдено." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4825,10 +4834,16 @@ msgstr "Верзија" msgid "Author(s)" msgstr "Автор(и)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Робин мисли дека нешто е невозможно." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. @@ -4858,9 +4873,8 @@ msgstr "ВОлку голема податотека ќе ја надмине В #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Погрешна големина." +msgstr "Погрешно податотечно име." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4891,8 +4905,9 @@ msgstr "Не можам да создадам најавен жетон за" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" -msgstr "" +#, fuzzy +msgid "No database name or DSN found anywhere." +msgstr "Никаде не е пронајдено име на базата / DSN" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4912,9 +4927,9 @@ msgstr "Не можев да ја подновам пораката со нов #. TRANS: Server exception thrown when a user profile for a notice cannot be found. #. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). #: classes/Notice.php:98 -#, fuzzy, php-format +#, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "Нема таков профил (%d) за забелешката (%d)" +msgstr "Нема таков профил (%1$d) за забелешката (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4950,52 +4965,54 @@ msgstr "" "неколку минути." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Забрането Ви е да објавувате забелешки на ова мрежно место." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Проблем во зачувувањето на белешката." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "На saveKnownGroups му е уакажан грешен тип" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Проблем при зачувувањето на групното приемно сандаче." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" +"Не можам да му ја одземам улогата „%s“ на корисникот #%2$s. Таа не постои." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"Не можам да му ја одземам улогата „%1$s“ на корисникот #%2$s. Има грешка во " +"базата на податоци." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "Корисникот нема профил." +msgstr "Недостасува профил." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 @@ -5025,21 +5042,18 @@ msgstr "Не сте претплатени!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." msgstr "Не можам да ја избришам самопретплатата." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." -msgstr "Не можете да го избришете OMB-жетонот за претплата." +msgstr "Не можам да го избришам OMB-жетонот за претплата." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." -msgstr "Претплата не може да се избрише." +msgstr "Не можам да ја избришам претплатата." #. TRANS: Notice given on user registration. #. TRANS: %1$s is the sitename, $2$s is the registering user's nickname. diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po index 697949e18..ea4cf9baf 100644 --- a/locale/nb/LC_MESSAGES/statusnet.po +++ b/locale/nb/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:38+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:19+0000\n" "Language-Team: Norwegian (bokmål)‬\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: out-statusnet\n" @@ -98,7 +98,7 @@ msgstr "Ingen slik side." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -165,7 +165,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -175,7 +175,7 @@ msgstr "" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to their attention." @@ -213,7 +213,7 @@ msgstr "Oppdateringer fra %1$s og venner på %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -264,7 +264,7 @@ msgstr "Klarte ikke å lagre profil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -363,9 +363,8 @@ msgid "Could not delete favorite." msgstr "Kunne ikke slette favoritt." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Kunne ikke følge brukeren: Fant ikke brukeren." +msgstr "Kunne ikke følge brukeren: fant ikke profilen." #: actions/apifriendshipscreate.php:118 #, php-format @@ -381,9 +380,8 @@ msgid "You cannot unfollow yourself." msgstr "Du kan ikke slutte å følge deg selv." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "To bruker ID-er eller kallenavn må oppgis." +msgstr "To gyldige ID-er eller screen_names må oppgis." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -510,6 +508,11 @@ msgstr "%s grupper" msgid "groups on %s" msgstr "grupper på %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Last opp fil" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Ingen verdi for oauth_token er oppgitt." @@ -651,17 +654,21 @@ msgstr "Status slettet." msgid "No status with that ID found." msgstr "Ingen status med den ID-en funnet." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Det er for langt. Maks notisstørrelse er %d tegn." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Ikke funnet." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "Maks notisstørrelse er %d tegn, inklusive vedleggs-URL." @@ -1127,13 +1134,12 @@ msgid "Theme for the site." msgstr "Tema for nettstedet." #: actions/designadminpanel.php:467 -#, fuzzy msgid "Custom theme" -msgstr "Nettstedstema" +msgstr "Egendefinert tema" #: actions/designadminpanel.php:471 msgid "You can upload a custom StatusNet theme as a .ZIP archive." -msgstr "" +msgstr "Du kan laste opp et egendefinert StatusNet-tema som et .ZIP-arkiv." #: actions/designadminpanel.php:486 lib/designsettings.php:101 msgid "Change background image" @@ -2477,7 +2483,6 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Oppdateringer som samsvarer søkestrengen «%1$s» på %2$s." #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" @@ -3700,24 +3705,24 @@ msgstr "" "du liker for å bokmerke dem for senere eller for å kaste et søkelys på dem." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" msgstr "" -"%s har ikke lagt til noen notiser til sine favoritter ennå. Post noe " -"interessant som de vil legge til sine favoritter :)" +"%s har ikke lagt til noen favorittnotiser ennå. Post noe interessant som de " +"vil legge til sine favoritter :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" -"%s har ikke lagt noen notiser til sine favoritter ennå. Hvorfor ikke " -"[registrere en konto](%%%%action.register%%%%) og post noe interessant som " -"de vil legge til sine favoritter :)" +"%s har ikke lagt til noen favorittnotiser ennå. Hvorfor ikke [registrere en " +"konto](%%%%action.register%%%%) og post noe interessant som de vil legge til " +"sine favoritter :)" #: actions/showfavorites.php:243 msgid "This is a way to share what you like." @@ -3897,7 +3902,7 @@ msgstr "" "ikke begynne nå? :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4412,9 +4417,9 @@ msgid "No ID argument." msgstr "" #: actions/tagother.php:65 -#, fuzzy, php-format +#, php-format msgid "Tag %s" -msgstr "Tagger" +msgstr "Merk %s" #: actions/tagother.php:77 lib/userprofile.php:76 msgid "User profile" @@ -4426,9 +4431,8 @@ msgid "Photo" msgstr "Foto" #: actions/tagother.php:141 -#, fuzzy msgid "Tag user" -msgstr "Tagger" +msgstr "Merk bruker" #: actions/tagother.php:151 msgid "" @@ -4742,6 +4746,12 @@ msgstr "Versjon" msgid "Author(s)" msgstr "Forfatter(e)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4772,9 +4782,8 @@ msgstr "" #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Ugyldig størrelse" +msgstr "Ugyldig filnavn." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4809,7 +4818,7 @@ msgstr "Klarte ikke å lagre avatar-informasjonen" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4864,45 +4873,45 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problem ved lagring av notis." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problem ved lagring av gruppeinnboks." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po index 74cb0bee4..69cd23523 100644 --- a/locale/nl/LC_MESSAGES/statusnet.po +++ b/locale/nl/LC_MESSAGES/statusnet.po @@ -1,5 +1,6 @@ # Translation of StatusNet to Dutch # +# Author@translatewiki.net: Brion # Author@translatewiki.net: Itavero # Author@translatewiki.net: McDutchie # Author@translatewiki.net: Siebrand @@ -10,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:41+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:22+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: out-statusnet\n" @@ -99,7 +100,7 @@ msgstr "Deze pagina bestaat niet." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -216,7 +217,7 @@ msgstr "Updates van %1$s en vrienden op %2$s." #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +267,7 @@ msgstr "Het was niet mogelijk het profiel op te slaan." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -518,6 +519,11 @@ msgstr "%s groepen" msgid "groups on %s" msgstr "groepen op %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Bestand uploaden" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Er is geen oauth_token parameter opgegeven." @@ -667,17 +673,21 @@ msgstr "De status is verwijderd." msgid "No status with that ID found." msgstr "Er is geen status gevonden met dit ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "De mededeling is te lang. Gebruik maximaal %d tekens." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Niet aangetroffen." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -2527,7 +2537,7 @@ msgstr "Updates die overeenkomen met de zoekterm \"%1$s\" op %2$s." msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" -"Deze gebruiker is niet te porren of heeft nog geen bevestigs e-mailadres." +"Deze gebruiker is niet te porren of heeft nog geen bevestigd e-mailadres." #: actions/nudge.php:94 msgid "Nudge sent" @@ -4804,7 +4814,7 @@ msgid "" "This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, " "Inc. and contributors." msgstr "" -"Deze website wordt aangedreven door %1$2 versie %2$s. Auteursrechten " +"Deze website wordt aangedreven door %1$s versie %2$s. Auteursrechten " "voorbehouden 2008-2010 Statusnet, Inc. en medewerkers." #: actions/version.php:163 @@ -4857,10 +4867,16 @@ msgstr "Versie" msgid "Author(s)" msgstr "Auteur(s)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Robin denkt dat iets onmogelijk is." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. @@ -4891,9 +4907,8 @@ msgstr "" #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Ongeldige afmetingen." +msgstr "Ongeldig bestandsnaam." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4924,8 +4939,9 @@ msgstr "Het was niet mogelijk een aanmeldtoken aan te maken voor %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" -msgstr "" +#, fuzzy +msgid "No database name or DSN found anywhere." +msgstr "Geen databasenaam of DNS gevonden" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4945,7 +4961,7 @@ msgstr "Het was niet mogelijk het bericht bij te werken met de nieuwe URI." #. TRANS: Server exception thrown when a user profile for a notice cannot be found. #. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). #: classes/Notice.php:98 -#, fuzzy, php-format +#, php-format msgid "No such profile (%1$d) for notice (%2$d)." msgstr "Er is geen profiel (%1$d) te vinden bij de mededeling (%2$d)." @@ -4987,24 +5003,24 @@ msgstr "" "plaats over een aantal minuten pas weer een bericht." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" "U bent geblokkeerd en mag geen mededelingen meer achterlaten op deze site." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "Het gegevenstype dat is opgegeven aan saveKnownGroups is onjuist" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "" "Er is een probleem opgetreden bij het opslaan van het Postvak IN van de " @@ -5012,30 +5028,33 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" +"De rol \"%1$s\" voor gebruiker #%2$d kan niet ingetrokken worden. Deze " +"gebruiker bestaat niet." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"De rol \"%1$s\" voor gebruiker #%2$d kan niet ingetrokken worden. " +"Databasefout." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "Deze gebruiker heeft geen profiel." +msgstr "Ontbrekend profiel." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 @@ -5064,20 +5083,17 @@ msgstr "Niet geabonneerd!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." -msgstr "Het was niet mogelijk het abonnement op uzelf te verwijderen." +msgstr "Kon abonnement op eigen gebruiker niet verwijderen." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." msgstr "" "Het was niet mogelijk om het OMB-token voor het abonnement te verwijderen." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." msgstr "Kon abonnement niet verwijderen." diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po index 37780c6be..e5c3c5806 100644 --- a/locale/nn/LC_MESSAGES/statusnet.po +++ b/locale/nn/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:39+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:21+0000\n" "Language-Team: Norwegian Nynorsk\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nn\n" "X-Message-Group: out-statusnet\n" @@ -106,7 +106,7 @@ msgstr "Dette emneord finst ikkje." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -215,7 +215,7 @@ msgstr "Oppdateringar frå %1$s og vener på %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +266,7 @@ msgstr "Kan ikkje lagra profil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -521,6 +521,11 @@ msgstr "%s grupper" msgid "groups on %s" msgstr "Gruppe handlingar" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Last opp fil" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -667,17 +672,21 @@ msgstr "Lasta opp brukarbilete." msgid "No status with that ID found." msgstr "Fann ingen status med den ID-en." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Det er for langt! Ein notis kan berre innehalde 140 teikn." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Finst ikkje." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4883,6 +4892,12 @@ msgstr "Personleg" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4913,9 +4928,8 @@ msgstr "" #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Ugyldig storleik." +msgstr "Ugyldig filnamn." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4950,7 +4964,7 @@ msgstr "Kunne ikkje lagre favoritt." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -5010,46 +5024,46 @@ msgstr "" "For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Du kan ikkje lengre legge inn notisar på denne sida." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Eit problem oppstod ved lagring av notis." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Eit problem oppstod ved lagring av notis." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po index b643ab6f7..eef4bd4b7 100644 --- a/locale/pl/LC_MESSAGES/statusnet.po +++ b/locale/pl/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:43+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:24+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pl\n" "X-Message-Group: out-statusnet\n" @@ -103,7 +103,7 @@ msgstr "Nie ma takiej strony." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -220,7 +220,7 @@ msgstr "Aktualizacje z %1$s i przyjaciół na %2$s." #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -269,7 +269,7 @@ msgstr "Nie można zapisać profilu." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -516,6 +516,11 @@ msgstr "Grupy %s" msgid "groups on %s" msgstr "grupy na %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Wyślij plik" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Nie podano parametru oauth_token." @@ -658,17 +663,21 @@ msgstr "Usunięto stan." msgid "No status with that ID found." msgstr "Nie odnaleziono stanów z tym identyfikatorem." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Wpis jest za długi. Maksymalna długość wynosi %d znaków." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Nie odnaleziono." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "Maksymalny rozmiar wpisu wynosi %d znaków, w tym adres URL załącznika." @@ -4794,6 +4803,12 @@ msgstr "Wersja" msgid "Author(s)" msgstr "Autorzy" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4862,7 +4877,7 @@ msgstr "Nie można utworzyć tokenów loginów dla %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4921,45 +4936,45 @@ msgstr "" "wyślij ponownie za kilka minut." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Zabroniono ci wysyłania wpisów na tej witrynie." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problem podczas zapisywania wpisu." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index 14861b9f3..b612861c0 100644 --- a/locale/pt/LC_MESSAGES/statusnet.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:44+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:26+0000\n" "Language-Team: Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt\n" "X-Message-Group: out-statusnet\n" @@ -100,7 +100,7 @@ msgstr "Página não foi encontrada." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -215,7 +215,7 @@ msgstr "Actualizações de %1$s e amigos no %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -264,7 +264,7 @@ msgstr "Não foi possível gravar o perfil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -509,6 +509,11 @@ msgstr "Grupos de %s" msgid "groups on %s" msgstr "Grupos em %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Carregar ficheiro" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Não foi fornecido o parâmetro oauth_token." @@ -650,17 +655,21 @@ msgstr "Estado apagado." msgid "No status with that ID found." msgstr "Não foi encontrado um estado com esse ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Demasiado longo. Tamanho máx. das notas é %d caracteres." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Não encontrado." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "Tamanho máx. das notas é %d caracteres, incluíndo a URL do anexo." @@ -4800,6 +4809,12 @@ msgstr "Versão" msgid "Author(s)" msgstr "Autores" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4866,7 +4881,7 @@ msgstr "Não foi possível criar a chave de entrada para %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4925,45 +4940,45 @@ msgstr "" "publicar daqui a alguns minutos." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Está proibido de publicar notas neste site." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problema na gravação da nota." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problema na gravação da caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index 0c9150517..1daa49fc2 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -13,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:46+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:27+0000\n" "Language-Team: Brazilian Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: out-statusnet\n" @@ -102,7 +102,7 @@ msgstr "Esta página não existe." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -219,7 +219,7 @@ msgstr "Atualizações de %1$s e amigos no %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -269,7 +269,7 @@ msgstr "Não foi possível salvar o perfil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -518,6 +518,11 @@ msgstr "Grupos de %s" msgid "groups on %s" msgstr "grupos no %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Enviar arquivo" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Não foi fornecido nenhum parâmetro oauth_token" @@ -665,17 +670,21 @@ msgstr "A mensagem foi excluída." msgid "No status with that ID found." msgstr "Não foi encontrada nenhuma mensagem com esse ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Está muito extenso. O tamanho máximo é de %s caracteres." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Não encontrado." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "O tamanho máximo da mensagem é de %s caracteres" @@ -4834,6 +4843,12 @@ msgstr "Versão" msgid "Author(s)" msgstr "Autor(es)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4899,7 +4914,7 @@ msgstr "Não foi possível criar o token de autenticação para %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4958,45 +4973,45 @@ msgstr "" "publique novamente daqui a alguns minutos." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Você está proibido de publicar mensagens neste site." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problema no salvamento da mensagem." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problema no salvamento das mensagens recebidas do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po index 415cf0d9a..54aeb3491 100644 --- a/locale/ru/LC_MESSAGES/statusnet.po +++ b/locale/ru/LC_MESSAGES/statusnet.po @@ -13,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:48+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:29+0000\n" "Language-Team: Russian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: out-statusnet\n" @@ -104,7 +104,7 @@ msgstr "Нет такой страницы." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -171,12 +171,12 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Вы можете попробовать [«подтолкнуть» %1$s](../%2$s) из профиля или [написать " +"Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» из профиля или [написать " "что-нибудь для привлечения его или её внимания](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." @@ -219,7 +219,7 @@ msgstr "Обновлено от %1$s и его друзей на %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -269,7 +269,7 @@ msgstr "Не удаётся сохранить профиль." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -369,11 +369,8 @@ msgid "Could not delete favorite." msgstr "Не удаётся удалить любимую запись." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "" -"Не удаётся следовать за пользователем, т. к. такого пользователя не " -"существует." +msgstr "Не удаётся следовать за пользователем: профиль не найден." #: actions/apifriendshipscreate.php:118 #, php-format @@ -391,9 +388,8 @@ msgid "You cannot unfollow yourself." msgstr "Вы не можете перестать следовать за собой." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Надо представить два имени пользователя или кода." +msgstr "Необходимо задать два идентификатора или screen_names." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -521,6 +517,11 @@ msgstr "Группы %s" msgid "groups on %s" msgstr "группы на %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Загрузить файл" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Не задан параметр oauth_token." @@ -664,17 +665,21 @@ msgstr "Статус удалён." msgid "No status with that ID found." msgstr "Не найдено статуса с таким ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Слишком длинная запись. Максимальная длина — %d знаков." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Не найдено." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "Максимальная длина записи — %d символов, включая URL вложения." @@ -2513,12 +2518,11 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Все обновления, соответствующие поисковому запросу «%s»" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" -"Этот пользователь не разрешает \"подталкивать\" его, или ещё не подтверждён " -"или ещё не представил свой электронный адрес." +"Этот пользователь не разрешает «подталкивать» его или ещё не указал свой " +"email-адрес." #: actions/nudge.php:94 msgid "Nudge sent" @@ -3535,12 +3539,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Лента записей для %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to their attention yet." msgstr "" -"Эта лента содержит ответы на записи %1$s, однако %2$s пока не получал их." +"Эта лента содержит ответы для %1$s, однако %2$s пока не получил запись для " +"привлечения внимания." #: actions/replies.php:204 #, php-format @@ -3552,12 +3557,12 @@ msgstr "" "число людей или [присоединившись к группам](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Вы можете попробовать [«подтолкнуть» %1$s](../%2$s) или [написать что-нибудь " +"Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» или [написать что-нибудь " "для привлечения его или её внимания](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." @@ -3736,7 +3741,7 @@ msgstr "" "любимые рядом с понравившейся записью, чтобы позже уделить ей внимание." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" @@ -3745,13 +3750,13 @@ msgstr "" "которую он добавит её в число любимых :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" -"%s пока не добавил ни одноз записи в любимые. Почему бы не " +"%s пока не добавил ни одной записи в любимые. Почему бы не " "[зарегистрироваться](%%%%action.register%%%%) и не написать что-нибудь " "интересное, что понравилось бы этому пользователю? :)" @@ -3933,7 +3938,7 @@ msgstr "" "сейчас хорошее время для начала :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to their attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." @@ -4820,21 +4825,27 @@ msgstr "Версия" msgid "Author(s)" msgstr "Автор(ы)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Робин считает, что это невозможно." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. #: classes/File.php:190 -#, fuzzy, php-format +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"Файл не может быть больше %d байт, тогда как отправленный вами файл содержал " -"%d байт. Попробуйте загрузить меньшую версию." +"Файл не может быть больше %1$d байт, тогда как отправленный вами файл " +"содержал %2$d байт. Попробуйте загрузить меньшую версию." #. TRANS: Message given if an upload would exceed user quota. #. TRANS: %d (number) is the user quota in bytes. @@ -4852,9 +4863,8 @@ msgstr "Файл такого размера превысит вашу меся #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Неверный размер." +msgstr "Неверное имя файла." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4885,8 +4895,9 @@ msgstr "Не удаётся создать токен входа для %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" -msgstr "" +#, fuzzy +msgid "No database name or DSN found anywhere." +msgstr "Имя базы данных / DSN не найдено" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4908,7 +4919,7 @@ msgstr "Не удаётся обновить сообщение с новым UR #: classes/Notice.php:98 #, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "" +msgstr "Нет такого профиля (%1$d) для записи (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4944,58 +4955,59 @@ msgstr "" "и попробуйте вновь через пару минут." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Вам запрещено поститься на этом сайте (бан)" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Проблемы с сохранением записи." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "Для saveKnownGroups указан неверный тип" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Проблемы с сохранением входящих сообщений группы." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" +"Не удаётся отозвать право «%s» для пользователя #%2$s; пользователь не " +"существует." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"Не удаётся отозвать право «%1%s» для пользователя #%2$s; ошибка базы данных." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "У пользователя нет профиля." +msgstr "Отсутствующий профиль." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 -#, fuzzy msgid "Unable to save tag." -msgstr "Не удаётся сохранить уведомление сайта." +msgstr "Не удаётся сохранить тег." #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. #: classes/Subscription.php:75 lib/oauthstore.php:465 @@ -5019,19 +5031,16 @@ msgstr "Не подписаны!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." -msgstr "Невозможно удалить самоподписку." +msgstr "Невозможно удалить подписку на самого себя." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." msgstr "Не удаётся удалить подписочный жетон OMB." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." msgstr "Не удаётся удалить подписку." diff --git a/locale/statusnet.pot b/locale/statusnet.pot index b491645b8..be4b73a2d 100644 --- a/locale/statusnet.pot +++ b/locale/statusnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -95,7 +95,7 @@ msgstr "" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -203,7 +203,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -251,7 +251,7 @@ msgstr "" #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -492,6 +492,10 @@ msgstr "" msgid "groups on %s" msgstr "" +#: actions/apimediaupload.php:99 +msgid "Upload failed." +msgstr "" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -630,17 +634,21 @@ msgstr "" msgid "No status with that ID found." msgstr "" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4526,6 +4534,12 @@ msgstr "" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4588,7 +4602,7 @@ msgstr "" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4643,45 +4657,45 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po index 4da869ece..982234bf4 100644 --- a/locale/sv/LC_MESSAGES/statusnet.po +++ b/locale/sv/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:49+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:31+0000\n" "Language-Team: Swedish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: sv\n" "X-Message-Group: out-statusnet\n" @@ -99,7 +99,7 @@ msgstr "Ingen sådan sida" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -214,7 +214,7 @@ msgstr "Uppdateringar från %1$s och vänner på %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -262,7 +262,7 @@ msgstr "Kunde inte spara profil." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -508,6 +508,11 @@ msgstr "%s grupper" msgid "groups on %s" msgstr "grupper på %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Ladda upp fil" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Ingen oauth_token-parameter angiven." @@ -649,17 +654,21 @@ msgstr "Status borttagen." msgid "No status with that ID found." msgstr "Ingen status med det ID:t hittades." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Det är för långt. Maximal notisstorlek är %d tecken." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Hittades inte." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "Maximal notisstorlek är %d tecken, inklusive webbadress för bilaga." @@ -4795,6 +4804,12 @@ msgstr "Version" msgid "Author(s)" msgstr "Författare" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4860,7 +4875,7 @@ msgstr "Kunde inte skapa inloggnings-token för %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4919,45 +4934,45 @@ msgstr "" "om ett par minuter." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Du är utestängd från att posta notiser på denna webbplats." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Problem med att spara notis." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Problem med att spara gruppinkorg." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po index 5f818c819..fecf3d5ea 100644 --- a/locale/te/LC_MESSAGES/statusnet.po +++ b/locale/te/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:51+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:33+0000\n" "Language-Team: Telugu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: te\n" "X-Message-Group: out-statusnet\n" @@ -98,7 +98,7 @@ msgstr "అటువంటి పేజీ లేదు." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -207,7 +207,7 @@ msgstr "%2$sలో %1$s మరియు స్నేహితుల నుండ #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -258,7 +258,7 @@ msgstr "ప్రొఫైలుని భద్రపరచలేకున్ #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -503,6 +503,11 @@ msgstr "%s గుంపులు" msgid "groups on %s" msgstr "%s పై గుంపులు" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "ఫైలుని ఎక్కించు" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -644,17 +649,21 @@ msgstr "స్థితిని తొలగించాం." msgid "No status with that ID found." msgstr "ఆ IDతో ఏ నోటీసు కనబడలేదు." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "అది చాలా పొడవుంది. గరిష్ఠ నోటీసు పరిమాణం %d అక్షరాలు." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "కనబడలేదు." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "గరిష్ఠ నోటీసు పొడవు %d అక్షరాలు, జోడింపు URLని కలుపుకుని." @@ -4687,6 +4696,12 @@ msgstr "సంచిక" msgid "Author(s)" msgstr "రచయిత(లు)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4717,9 +4732,8 @@ msgstr "" #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "తప్పుడు పరిమాణం." +msgstr "తప్పుడు దస్త్రపుపేరు.." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4750,7 +4764,7 @@ msgstr "మారుపేర్లని సృష్టించలేకప #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4805,46 +4819,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "ఈ సైటులో నోటీసులు రాయడం నుండి మిమ్మల్ని నిషేధించారు." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po index 636d991f7..5c02224f6 100644 --- a/locale/tr/LC_MESSAGES/statusnet.po +++ b/locale/tr/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:53+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:34+0000\n" "Language-Team: Turkish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tr\n" "X-Message-Group: out-statusnet\n" @@ -106,7 +106,7 @@ msgstr "Böyle bir durum mesajı yok." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -215,7 +215,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +266,7 @@ msgstr "Profil kaydedilemedi." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -521,6 +521,11 @@ msgstr "" msgid "groups on %s" msgstr "" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Yükle" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -667,19 +672,23 @@ msgstr "Avatar güncellendi." msgid "No status with that ID found." msgstr "" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" "Ah, durumunuz biraz uzun kaçtı. Azami 180 karaktere sığdırmaya ne dersiniz?" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 #, fuzzy msgid "Not found." msgstr "İstek bulunamadı!" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4798,6 +4807,12 @@ msgstr "Kişisel" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4865,7 +4880,7 @@ msgstr "Avatar bilgisi kaydedilemedi" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4922,46 +4937,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Durum mesajını kaydederken hata oluştu." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Durum mesajını kaydederken hata oluştu." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po index e9c9becfb..4283775c6 100644 --- a/locale/uk/LC_MESSAGES/statusnet.po +++ b/locale/uk/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:21:54+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:36+0000\n" "Language-Team: Ukrainian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: out-statusnet\n" @@ -103,7 +103,7 @@ msgstr "Немає такої сторінки." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -217,7 +217,7 @@ msgstr "Оновлення від %1$s та друзів на %2$s!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -266,7 +266,7 @@ msgstr "Не вдалося зберегти профіль." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -512,6 +512,11 @@ msgstr "%s групи" msgid "groups on %s" msgstr "групи на %s" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Завантажити файл" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "Жодного параметру oauth_token не забезпечено." @@ -657,17 +662,21 @@ msgstr "Статус видалено." msgid "No status with that ID found." msgstr "Не знайдено жодних статусів з таким ID." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Надто довго. Максимальний розмір допису — %d знаків." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Не знайдено." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4801,10 +4810,16 @@ msgstr "Версія" msgid "Author(s)" msgstr "Автор(и)" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Робін вважає, що це неможливо." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. @@ -4833,9 +4848,8 @@ msgstr "Розміри цього файлу перевищують Вашу м #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Недійсний розмір." +msgstr "Невірне ім’я файлу." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4866,8 +4880,9 @@ msgstr "Не вдалося створити токен входу для %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" -msgstr "" +#, fuzzy +msgid "No database name or DSN found anywhere." +msgstr "Немає імені бази даних / DSN ніде не знайдено" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4887,9 +4902,9 @@ msgstr "Не можна оновити повідомлення з новим UR #. TRANS: Server exception thrown when a user profile for a notice cannot be found. #. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). #: classes/Notice.php:98 -#, fuzzy, php-format +#, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "Немає такого профілю (%d) для повідомлення (%d)" +msgstr "Немає такого профілю (%1$d) для повідомлення (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4925,52 +4940,52 @@ msgstr "" "повертайтесь за кілька хвилин." #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "Вам заборонено надсилати дописи до цього сайту." #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Проблема при збереженні допису." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "Задається невірний тип для saveKnownGroups" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 msgid "Problem saving group inbox." msgstr "Проблема при збереженні вхідних дописів для групи." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." -msgstr "" +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." +msgstr "Не вдалося скасувати роль «%s» для користувача #%2$s; не існує." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +#, fuzzy, php-format +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"Не вдалося скасувати роль «%1$s» для користувача #%2$s; помилка бази даних." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "Користувач не має профілю." +msgstr "Загублений профіль." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 @@ -4999,19 +5014,16 @@ msgstr "Не підписано!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." msgstr "Не можу видалити самопідписку." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." msgstr "Не вдається видалити токен підписки OMB." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." msgstr "Не вдалося видалити підписку." diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po index aa714196f..5a616a574 100644 --- a/locale/vi/LC_MESSAGES/statusnet.po +++ b/locale/vi/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:22:07+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:37+0000\n" "Language-Team: Vietnamese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: vi\n" "X-Message-Group: out-statusnet\n" @@ -101,7 +101,7 @@ msgstr "Không có tin nhắn nào." #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -209,7 +209,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -260,7 +260,7 @@ msgstr "Không thể lưu hồ sơ cá nhân." #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -516,6 +516,11 @@ msgstr "%s và nhóm" msgid "groups on %s" msgstr "Mã nhóm" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "Tải file" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -661,17 +666,21 @@ msgstr "Hình đại diện đã được cập nhật." msgid "No status with that ID found." msgstr "Không tìm thấy trạng thái nào tương ứng với ID đó." -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "Quá dài. Tối đa là 140 ký tự." -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 msgid "Not found." msgstr "Không tìm thấy." -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4938,6 +4947,12 @@ msgstr "Cá nhân" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -5005,7 +5020,7 @@ msgstr "Không thể tạo favorite." #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -5065,46 +5080,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "Có lỗi xảy ra khi lưu tin nhắn." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "Có lỗi xảy ra khi lưu tin nhắn." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%s (%s)" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index 286e41e06..1da7214a6 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:22:09+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:39+0000\n" "Language-Team: Simplified Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: out-statusnet\n" @@ -108,7 +108,7 @@ msgstr "没有该页面" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -216,7 +216,7 @@ msgstr "来自%2$s 上 %1$s 和好友的更新!" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -267,7 +267,7 @@ msgstr "无法保存个人信息。" #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -522,6 +522,11 @@ msgstr "%s 群组" msgid "groups on %s" msgstr "组动作" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "上传" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -668,18 +673,22 @@ msgstr "头像已更新。" msgid "No status with that ID found." msgstr "没有找到此ID的信息。" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, fuzzy, php-format msgid "That's too long. Max notice size is %d chars." msgstr "超出长度限制。不能超过 140 个字符。" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 #, fuzzy msgid "Not found." msgstr "未找到" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4881,6 +4890,12 @@ msgstr "个人" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4948,7 +4963,7 @@ msgstr "无法创建收藏。" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -5007,46 +5022,46 @@ msgid "" msgstr "你在短时间里发布了过多的消息,请深呼吸,过几分钟再发消息。" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "在这个网站你被禁止发布消息。" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "保存通告时出错。" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "保存通告时出错。" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index 2f54619b1..82b8b4379 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-29 18:20+0000\n" -"PO-Revision-Date: 2010-07-29 18:22:10+0000\n" +"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"PO-Revision-Date: 2010-07-31 21:53:41+0000\n" "Language-Team: Traditional Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70152); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hant\n" "X-Message-Group: out-statusnet\n" @@ -102,7 +102,7 @@ msgstr "無此通知" #: actions/apidirectmessagenew.php:74 actions/apigroupcreate.php:113 #: actions/apigroupismember.php:91 actions/apigroupjoin.php:100 #: actions/apigroupleave.php:100 actions/apigrouplist.php:73 -#: actions/apistatusesupdate.php:228 actions/apisubscriptions.php:87 +#: actions/apistatusesupdate.php:229 actions/apisubscriptions.php:87 #: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174 #: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80 #: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75 @@ -211,7 +211,7 @@ msgstr "" #: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141 #: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111 #: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271 -#: actions/apitimelinegroup.php:152 actions/apitimelinehome.php:175 +#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175 #: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241 #: actions/apitimelineretweetedtome.php:121 #: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161 @@ -262,7 +262,7 @@ msgstr "無法儲存個人資料" #: actions/apiaccountupdateprofilebackgroundimage.php:108 #: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80 -#: actions/apistatusesupdate.php:211 actions/avatarsettings.php:257 +#: actions/apistatusesupdate.php:212 actions/avatarsettings.php:257 #: actions/designadminpanel.php:123 actions/editapplication.php:118 #: actions/newapplication.php:101 actions/newnotice.php:94 #: lib/designsettings.php:283 @@ -512,6 +512,11 @@ msgstr "" msgid "groups on %s" msgstr "" +#: actions/apimediaupload.php:99 +#, fuzzy +msgid "Upload failed." +msgstr "無此通知" + #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." msgstr "" @@ -658,18 +663,22 @@ msgstr "更新個人圖像" msgid "No status with that ID found." msgstr "" -#: actions/apistatusesupdate.php:241 actions/newnotice.php:155 +#: actions/apistatusesupdate.php:221 +msgid "Client must provide a 'status' parameter with a value." +msgstr "" + +#: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 #, php-format msgid "That's too long. Max notice size is %d chars." msgstr "" -#: actions/apistatusesupdate.php:282 actions/apiusershow.php:96 +#: actions/apistatusesupdate.php:283 actions/apiusershow.php:96 #, fuzzy msgid "Not found." msgstr "目前無請求" -#: actions/apistatusesupdate.php:305 actions/newnotice.php:178 +#: actions/apistatusesupdate.php:306 actions/newnotice.php:178 #, php-format msgid "Max notice size is %d chars, including attachment URL." msgstr "" @@ -4706,6 +4715,12 @@ msgstr "地點" msgid "Author(s)" msgstr "" +#. TRANS: Server exception thrown when a URL cannot be processed. +#: classes/File.php:143 +#, php-format +msgid "Cannot process URL '%s'" +msgstr "" + #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." @@ -4773,7 +4788,7 @@ msgstr "無法存取個人圖像資料" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -msgid "No database name / DSN found anywhere" +msgid "No database name or DSN found anywhere." msgstr "" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. @@ -4830,46 +4845,46 @@ msgid "" msgstr "" #. TRANS: Client exception thrown when a user tries to post while being banned. -#: classes/Notice.php:285 +#: classes/Notice.php:286 msgid "You are banned from posting notices on this site." msgstr "" #. TRANS: Server exception thrown when a notice cannot be saved. #. TRANS: Server exception thrown when a notice cannot be updated. -#: classes/Notice.php:352 classes/Notice.php:379 +#: classes/Notice.php:353 classes/Notice.php:380 msgid "Problem saving notice." msgstr "" #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). -#: classes/Notice.php:891 +#: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" #. TRANS: Server exception thrown when an update for a group inbox fails. -#: classes/Notice.php:990 +#: classes/Notice.php:991 #, fuzzy msgid "Problem saving group inbox." msgstr "儲存使用者發生錯誤" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1599 +#: classes/Notice.php:1600 #, php-format msgid "RT @%1$s %2$s" msgstr "" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 #, php-format -msgid "Cannot revoke role \"%s\" for user #%2$s; does not exist." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. -#. TRANS: %1$s is the role name, %2$s is the user ID. +#. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 #, php-format -msgid "Cannot revoke role \"%1$s\" for user #%2$s; database error." +msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" #. TRANS: Exception thrown when a right for a non-existing user profile is checked. -- cgit v1.2.3 From 46bffe3d6967120882aa2e3b57b1b4c007084c7f Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sun, 1 Aug 2010 00:16:39 +0200 Subject: Tweak message per suggestion of The Evil IP Address[1]. [1] http://translatewiki.net/w/i.php?title=Thread:Translating_talk:StatusNet/to_their_attention%3F&oldid=2220913 --- actions/all.php | 4 ++-- actions/replies.php | 6 +++--- actions/showstream.php | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/actions/all.php b/actions/all.php index ac4e321d0..6c14d2f13 100644 --- a/actions/all.php +++ b/actions/all.php @@ -143,10 +143,10 @@ class AllAction extends ProfileAction $message .= _('Try subscribing to more people, [join a group](%%action.groups%%) or post something yourself.'); } else { // TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" - $message .= sprintf(_('You can try to [nudge %1$s](../%2$s) from their profile or [post something to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname); + $message .= sprintf(_('You can try to [nudge %1$s](../%2$s) from their profile or [post something to them](%%%%action.newnotice%%%%?status_textarea=%3$s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname); } } else { - $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to their attention.'), $this->user->nickname); + $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to them.'), $this->user->nickname); } $this->elementStart('div', 'guide'); diff --git a/actions/replies.php b/actions/replies.php index 0474a6de0..8f2fc6c7f 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -196,18 +196,18 @@ class RepliesAction extends OwnerDesignAction function showEmptyListMessage() { - $message = sprintf(_('This is the timeline showing replies to %1$s but %2$s hasn\'t received a notice to their attention yet.'), $this->user->nickname, $this->user->nickname) . ' '; + $message = sprintf(_('This is the timeline showing replies to %1$s but %2$s hasn\'t received a notice to them yet.'), $this->user->nickname, $this->user->nickname) . ' '; if (common_logged_in()) { $current_user = common_current_user(); if ($this->user->id === $current_user->id) { $message .= _('You can engage other users in a conversation, subscribe to more people or [join groups](%%action.groups%%).'); } else { - $message .= sprintf(_('You can try to [nudge %1$s](../%2$s) or [post something to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname); + $message .= sprintf(_('You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action.newnotice%%%%?status_textarea=%3$s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname); } } else { - $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to their attention.'), $this->user->nickname); + $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to them.'), $this->user->nickname); } $this->elementStart('div', 'guide'); diff --git a/actions/showstream.php b/actions/showstream.php index 956c05741..2476f19fa 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -204,11 +204,11 @@ class ShowstreamAction extends ProfileAction if ($this->user->id === $current_user->id) { $message .= _('Seen anything interesting recently? You haven\'t posted any notices yet, now would be a good time to start :)'); } else { - $message .= sprintf(_('You can try to nudge %1$s or [post something to their attention](%%%%action.newnotice%%%%?status_textarea=%2$s).'), $this->user->nickname, '@' . $this->user->nickname); + $message .= sprintf(_('You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%%?status_textarea=%2$s).'), $this->user->nickname, '@' . $this->user->nickname); } } else { - $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to their attention.'), $this->user->nickname); + $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to them.'), $this->user->nickname); } $this->elementStart('div', 'guide'); -- cgit v1.2.3 From 557c6aa40fbb9ca2c87ccd27d63d3a9d6f1847fb Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Sun, 1 Aug 2010 01:04:01 +0200 Subject: Localisation updates from http://translatewiki.net --- locale/af/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/ar/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/arz/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/bg/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/br/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/ca/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/cs/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/da/LC_MESSAGES/statusnet.po | 27 +++++++++++---------- locale/de/LC_MESSAGES/statusnet.po | 26 ++++++++++----------- locale/el/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/en_GB/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/es/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/fa/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/fi/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/fr/LC_MESSAGES/statusnet.po | 30 ++++++++++++------------ locale/ga/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/gl/LC_MESSAGES/statusnet.po | 30 ++++++++++++------------ locale/he/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/hsb/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/ia/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/is/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/it/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/ja/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/ko/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/mk/LC_MESSAGES/statusnet.po | 30 ++++++++++++------------ locale/nb/LC_MESSAGES/statusnet.po | 26 ++++++++++----------- locale/nl/LC_MESSAGES/statusnet.po | 44 +++++++++++++++++------------------ locale/nn/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/pl/LC_MESSAGES/statusnet.po | 30 ++++++++++++------------ locale/pt/LC_MESSAGES/statusnet.po | 30 ++++++++++++------------ locale/pt_BR/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/ru/LC_MESSAGES/statusnet.po | 30 ++++++++++++------------ locale/statusnet.pot | 16 ++++++------- locale/sv/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/te/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/tr/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/uk/LC_MESSAGES/statusnet.po | 30 ++++++++++++------------ locale/vi/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/zh_CN/LC_MESSAGES/statusnet.po | 20 ++++++++-------- locale/zh_TW/LC_MESSAGES/statusnet.po | 20 ++++++++-------- 40 files changed, 455 insertions(+), 454 deletions(-) diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po index ef9e71bc7..8d364af01 100644 --- a/locale/af/LC_MESSAGES/statusnet.po +++ b/locale/af/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:35+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:11+0000\n" "Language-Team: Afrikaans\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: af\n" "X-Message-Group: out-statusnet\n" @@ -168,14 +168,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3385,7 +3385,7 @@ msgstr "" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Hierdie is die tydslyn vir %s en vriende, maar niemand het nog iets gepos " "nie." @@ -3400,8 +3400,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3755,8 +3755,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po index 753779db4..a05581c02 100644 --- a/locale/ar/LC_MESSAGES/statusnet.po +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:37+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:13+0000\n" "Language-Team: Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ar\n" "X-Message-Group: out-statusnet\n" @@ -168,14 +168,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "%s لم يضف أي إشعارات إلى مفضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action." "register%%%%) وترسل شيئًا شيقًا ليضيفه إلى مفضلته. :)" @@ -3382,7 +3382,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3395,8 +3395,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3762,8 +3762,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po index e845c1aeb..998cd2ba4 100644 --- a/locale/arz/LC_MESSAGES/statusnet.po +++ b/locale/arz/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:40+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:15+0000\n" "Language-Team: Egyptian Spoken Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: arz\n" "X-Message-Group: out-statusnet\n" @@ -174,14 +174,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "%s لم يضف أى إشعارات إلى مفضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action." "register%%%%) وترسل شيئًا شيقًا ليضيفه إلى مفضلته. :)" @@ -3407,7 +3407,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3420,8 +3420,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3783,8 +3783,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po index 8c974f942..a96f15b3b 100644 --- a/locale/bg/LC_MESSAGES/statusnet.po +++ b/locale/bg/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:42+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:17+0000\n" "Language-Team: Bulgarian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: bg\n" "X-Message-Group: out-statusnet\n" @@ -167,14 +167,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3520,7 +3520,7 @@ msgstr "Емисия с отговори на %s (Atom)" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3533,8 +3533,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3895,8 +3895,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po index 1237d3182..ef056587e 100644 --- a/locale/br/LC_MESSAGES/statusnet.po +++ b/locale/br/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:43+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:19+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: out-statusnet\n" @@ -166,14 +166,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Perak ne [groufec'h ket ur gont](%%action.register%%) ha bezañ an hini " "gentañ da embann un dra !" @@ -3401,7 +3401,7 @@ msgstr "Gwazh respontoù evit %s (Atom)" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3414,8 +3414,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3773,8 +3773,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po index a6ccd881e..0bfe31682 100644 --- a/locale/ca/LC_MESSAGES/statusnet.po +++ b/locale/ca/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:45+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:20+0000\n" "Language-Team: Catalan\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ca\n" "X-Message-Group: out-statusnet\n" @@ -173,7 +173,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Podeu provar d'[avisar %1$s](../%2$s) des del seu perfil o [publiqueu " "quelcom per cridar-li l'atenció](%%%%action.newnotice%%%%?status_textarea=%3" @@ -183,7 +183,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Per què no [registreu un compte](%%%%action.register%%%%) i aviseu %s o " "publiqueu un avís a la seva atenció." @@ -3554,7 +3554,7 @@ msgstr "Canal de respostes de %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Aquesta és la línia temporal que mostra les respostes a %1$s, però %2$s " "encara no ha rebut cap avís a la seva atenció." @@ -3571,8 +3571,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Podeu provar d'[avisar %1$s](../%2$s) o [enviar quelcom per cridar-li " "l'atenció](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3951,8 +3951,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Podeu provar d'avisar %1$s o [enviar quelcom per cridar-li l'atenció](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po index a07e38f09..101b0a25f 100644 --- a/locale/cs/LC_MESSAGES/statusnet.po +++ b/locale/cs/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:47+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:22+0000\n" "Language-Team: Czech\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: cs\n" "X-Message-Group: out-statusnet\n" @@ -174,14 +174,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3547,7 +3547,7 @@ msgstr "Feed sdělení pro %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3560,8 +3560,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3929,8 +3929,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/da/LC_MESSAGES/statusnet.po b/locale/da/LC_MESSAGES/statusnet.po index 3ea5d7f7e..1b15c4ec4 100644 --- a/locale/da/LC_MESSAGES/statusnet.po +++ b/locale/da/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:48+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:24+0000\n" "Language-Team: Danish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: da\n" "X-Message-Group: out-statusnet\n" @@ -168,15 +168,17 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" +"Hvorfor ikke [registrere en konto] (%%action.register%%), og vær den første " +"til at tilføje en meddelelse til dine favoritter!" #. TRANS: H1 text #: actions/all.php:182 @@ -3391,11 +3393,12 @@ msgid "Replies feed for %s (Atom)" msgstr "" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" +"Dette er tidslinjen for %s og venner, men ingen har skrevet noget endnu." #: actions/replies.php:204 #, php-format @@ -3407,8 +3410,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3762,8 +3765,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po index b08cd73de..91444a48f 100644 --- a/locale/de/LC_MESSAGES/statusnet.po +++ b/locale/de/LC_MESSAGES/statusnet.po @@ -16,12 +16,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:50+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:25+0000\n" "Language-Team: German\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: out-statusnet\n" @@ -175,20 +175,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kannst versuchen, [%1$s in seinem Profil einen Stups zu geben](../%2$s) " "oder [ihm etwas posten](%%%%action.newnotice%%%%?status_textarea=%s) um " "seine Aufmerksamkeit zu erregen." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Warum [registrierst Du nicht einen Account](%%%%action.register%%%%) und " "gibst %s dann einen Stups oder postest ihm etwas, um seine Aufmerksamkeit zu " @@ -3569,7 +3569,7 @@ msgstr "Feed der Nachrichten von %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Dies ist die Zeitleiste für %1$s und Freunde aber bisher hat niemand etwas " "gepostet." @@ -3584,10 +3584,10 @@ msgstr "" "beitreten](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kannst versuchen [%1$s einen Stups zu geben](../%s) oder [ihm etwas " "posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit " @@ -3967,8 +3967,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Du kannst %1$s in seinem Profil einen Stups geben oder [ihm etwas posten](%%%" "%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit zu erregen." diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po index 2f10ab88b..e7eb3e809 100644 --- a/locale/el/LC_MESSAGES/statusnet.po +++ b/locale/el/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:52+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:27+0000\n" "Language-Team: Greek\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: el\n" "X-Message-Group: out-statusnet\n" @@ -173,14 +173,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3505,7 +3505,7 @@ msgstr "Ροή φίλων του/της %s" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Αυτό είναι το χρονοδιάγραμμα για %s και φίλους, αλλά κανείς δεν έχει κάνει " "καμία αποστολή ακόμα." @@ -3520,8 +3520,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3883,8 +3883,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index a7465aa48..2a35ec5f2 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:53+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:29+0000\n" "Language-Team: British English\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: en-gb\n" "X-Message-Group: out-statusnet\n" @@ -171,7 +171,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "You can try to [nudge %1$s](../%2$s) from his profile or [post something to " "his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -180,7 +180,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to his or her attention." @@ -3501,7 +3501,7 @@ msgstr "Notice feed for %s" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to his attention yet." @@ -3516,8 +3516,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "You can try to [nudge %1$s](../%2$s) or [post something to his or her " "attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3889,8 +3889,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "You can try to nudge %1$s or [post something to his or her attention](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index 109fa206e..5bc26ba89 100644 --- a/locale/es/LC_MESSAGES/statusnet.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:55+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:30+0000\n" "Language-Team: Spanish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: out-statusnet\n" @@ -176,7 +176,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puedes intentar [darle un toque a %1$s](../%2$s) desde su perfil o [publicar " "algo a su atención](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -185,7 +185,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "¿Por qué no [registrar una cuenta](%%%%action.register%%%%) y luego darle un " "toque a %s o publicar algo a su atención?" @@ -3563,7 +3563,7 @@ msgstr "Feed de avisos de %s" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Esta es la línea temporal que muestra las respuestas a a %1$s, pero %2$s aún " "no ha recibido ningún aviso a su atención." @@ -3580,8 +3580,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puedes intentar [darle un toque a %1$s](../%2$s) o [publicar algo en su " "atención](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3958,8 +3958,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Puedes intentar darle un toque a %1$s o [publicar algo a su atención](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po index ac48f6e9c..fcd4dc5ea 100644 --- a/locale/fa/LC_MESSAGES/statusnet.po +++ b/locale/fa/LC_MESSAGES/statusnet.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:58+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:34+0000\n" "Last-Translator: Ahmad Sufi Mahmudi\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" "X-Language-Code: fa\n" "X-Message-Group: out-statusnet\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" #. TRANS: Page title @@ -173,7 +173,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "شما می‌توانید [یادآوری‌کردن %1$s](../%2$s) را از نمایه‌اش امتحان کنید یا [به " "توجه او چیزی بفرستید](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -182,7 +182,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "چرا [ثبت‌نام](%%%%action.register%%%%) نمی‌کنید و سپس به %s یادآوری کنید یا یک " "پیام به توجه‌اش بفرستید." @@ -3515,7 +3515,7 @@ msgstr "خوراک پاسخ‌ها برای %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "این خط‌زمانی است که پاسخ‌ها به %1$s را نشان می‌دهد، اما %2$s هنوز یک پیام به " "توجه‌اش دریافت نکرده است." @@ -3532,8 +3532,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "شما می‌توانید [یادآوری %1$s](../%2$s) را امتحان کنید یا [به توجه او چیزی " "بفرستید](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3913,8 +3913,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "شما می‌توانید یادآوری %1$s را امتحان کنید یا [به توجه او چیزی بفرستید](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index 681b58cea..5640db546 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:52:56+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:32+0000\n" "Language-Team: Finnish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fi\n" "X-Message-Group: out-statusnet\n" @@ -179,7 +179,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action." "newnotice%%%%?status_textarea=%s)!" @@ -188,7 +188,7 @@ msgstr "" #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3624,7 +3624,7 @@ msgstr "Päivityksien syöte käyttäjälle %s" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Tämä on käyttäjän %s aikajana, mutta %s ei ole lähettänyt vielä yhtään " "päivitystä." @@ -3639,8 +3639,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action." "newnotice%%%%?status_textarea=%s)!" @@ -4012,8 +4012,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action." "newnotice%%%%?status_textarea=%s)!" diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po index 1e6bef48f..9713fca80 100644 --- a/locale/fr/LC_MESSAGES/statusnet.po +++ b/locale/fr/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:00+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:35+0000\n" "Language-Team: French\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: out-statusnet\n" @@ -173,20 +173,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Vous pouvez essayer de [faire un clin d’œil à %1$s](../%2$s) depuis son " "profil ou [poster quelque chose à son intention](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Pourquoi ne pas [créer un compte](%%%%action.register%%%%) et faire ensuite " "un clin d’œil à %s ou poster un avis à son intention." @@ -3574,10 +3574,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Flux des réponses pour %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Ceci est la chronologie des réponses à %1$s mais %2$s n’a encore reçu aucun " "avis à son intention." @@ -3593,10 +3593,10 @@ msgstr "" "%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Vous pouvez essayer de [faire un clin d’œil à %1$s](../%2$s) ou de [poster " "quelque chose à son intention](%%%%action.newnotice%%%%?status_textarea=%3" @@ -3977,10 +3977,10 @@ msgstr "" "d’avis pour le moment, vous pourriez commencer maintenant :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Vous pouvez essayer de faire un clin d’œil à %1$s ou de [poster quelque " "chose à son intention](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po index ae9ca85c6..6812abfae 100644 --- a/locale/ga/LC_MESSAGES/statusnet.po +++ b/locale/ga/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:01+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:37+0000\n" "Language-Team: Irish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ga\n" "X-Message-Group: out-statusnet\n" @@ -175,14 +175,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3665,7 +3665,7 @@ msgstr "Fonte de chíos para %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3678,8 +3678,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -4060,8 +4060,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po index 93fd1af4d..809c5e1e4 100644 --- a/locale/gl/LC_MESSAGES/statusnet.po +++ b/locale/gl/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:03+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:39+0000\n" "Language-Team: Galician\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: out-statusnet\n" @@ -166,20 +166,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode probar a [facerlle un aceno a %1$s](../%2$s) dende o seu perfil ou " "[publicar algo dirixido a el ou ela](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Por que non [rexistrar unha conta](%%%%action.register%%%%) e entón facerlle " "un aceno a %s ou publicar unha nota dirixida a el ou ela?" @@ -3555,10 +3555,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de novas coas respostas a %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Esta é a liña do tempo coas respostas a %1$s, pero a %2$s aínda non lle " "mandaron ningunha nota." @@ -3573,10 +3573,10 @@ msgstr "" "grupos](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode probar a [facerlle un aceno a %1$s](../%2$s) ou [publicar algo dirixido " "a el ou ela](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3953,10 +3953,10 @@ msgstr "" "bo momento para comezar :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Pode probar a facerlle un aceno a %1$s ou [publicar algo dirixido a el ou " "ela](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po index 34c4072ec..e64129c02 100644 --- a/locale/he/LC_MESSAGES/statusnet.po +++ b/locale/he/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:05+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:40+0000\n" "Language-Team: Hebrew\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: he\n" "X-Message-Group: out-statusnet\n" @@ -172,14 +172,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3551,7 +3551,7 @@ msgstr "הזנת הודעות של %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3564,8 +3564,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3934,8 +3934,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po index 52cc544f0..eda3c1620 100644 --- a/locale/hsb/LC_MESSAGES/statusnet.po +++ b/locale/hsb/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:06+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:42+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: hsb\n" "X-Message-Group: out-statusnet\n" @@ -168,14 +168,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3375,7 +3375,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3388,8 +3388,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3743,8 +3743,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po index cb0c9a828..58d6e1e0f 100644 --- a/locale/ia/LC_MESSAGES/statusnet.po +++ b/locale/ia/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:08+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:44+0000\n" "Language-Team: Interlingua\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: out-statusnet\n" @@ -169,7 +169,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Tu pote tentar [dar un pulsata a %1$s](../%2$s) in su profilo o [publicar un " "message a su attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -178,7 +178,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Proque non [registrar un conto](%%%%action.register%%%%) e postea dar un " "pulsata a %s o publicar un message a su attention." @@ -3541,7 +3541,7 @@ msgstr "Syndication de responsas pro %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Isto es le chronologia de responsas a %1$s, ma %2$s non ha ancora recipite " "alcun nota a su attention." @@ -3558,8 +3558,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Tu pote tentar [pulsar %1$s](../%2$s) o [publicar alique a su attention](%%%%" "action.newnotice%%%%?status_textarea=%3$s)." @@ -3937,8 +3937,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Tu pote tentar pulsar %1$s o [publicar un nota a su attention](%%%%action." "newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po index fd65ba784..5191d40f6 100644 --- a/locale/is/LC_MESSAGES/statusnet.po +++ b/locale/is/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:10+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:45+0000\n" "Language-Team: Icelandic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: is\n" "X-Message-Group: out-statusnet\n" @@ -175,14 +175,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3598,7 +3598,7 @@ msgstr "Bablveita fyrir hópinn %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3611,8 +3611,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3977,8 +3977,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po index 8d1c95ed3..26d99a6a2 100644 --- a/locale/it/LC_MESSAGES/statusnet.po +++ b/locale/it/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:11+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:47+0000\n" "Language-Team: Italian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: it\n" "X-Message-Group: out-statusnet\n" @@ -173,7 +173,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puoi provare a [richiamare %1$s](../%2$s) dal suo profilo o [scrivere " "qualche cosa alla sua attenzione](%%%%action.newnotice%%%%?status_textarea=%3" @@ -183,7 +183,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Perché non [crei un account](%%%%action.register%%%%) e richiami %s o scrivi " "un messaggio alla sua attenzione." @@ -3540,7 +3540,7 @@ msgstr "Feed delle risposte di %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Questa è l'attività delle risposte a %1$s, ma %2$s non ha ricevuto ancora " "alcun messaggio." @@ -3557,8 +3557,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Puoi provare a [richiamare %1$s](../%2$s) o [scrivere qualche cosa alla sua " "attenzione](%%%%action.newnotice%%%%?status_textarea=%s)." @@ -3934,8 +3934,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Puoi provare a richiamare %1$s o [scrivere qualche cosa che attiri la sua " "attenzione](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po index f1b554da6..dd739b75f 100644 --- a/locale/ja/LC_MESSAGES/statusnet.po +++ b/locale/ja/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:13+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:49+0000\n" "Language-Team: Japanese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ja\n" "X-Message-Group: out-statusnet\n" @@ -173,7 +173,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "プロフィールから [%1$s さんに合図](../%2$s) したり、[知らせたいことについて投" "稿](%%%%action.newnotice%%%%?status_textarea=%3$s) したりできます。" @@ -182,7 +182,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "[アカウントを登録](%%%%action.register%%%%) して %s さんに合図したり、お知ら" "せを送ってみませんか。" @@ -3558,7 +3558,7 @@ msgstr "%s の返信フィード (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "これは %1$s への返信を表示したタイムラインです、しかし %2$s はまだつぶやきを" "受け取っていません。" @@ -3575,8 +3575,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "あなたは [%1$s に合図](../%2$s) するか、[その人宛てに何かを投稿](%%%%action." "newnotice%%%%?status_textarea=%3$s)することができます。" @@ -3956,8 +3956,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "あなたは、%1$s に合図するか、[またはその人宛に何かを投稿](%%%%action." "newnotice%%%%?status_textarea=%2$s) することができます。" diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po index ea888538d..e252526d1 100644 --- a/locale/ko/LC_MESSAGES/statusnet.po +++ b/locale/ko/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:15+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:50+0000\n" "Language-Team: Korean\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ko\n" "X-Message-Group: out-statusnet\n" @@ -168,14 +168,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3562,7 +3562,7 @@ msgstr "%s의 통지 피드" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "%s 및 친구들의 타임라인이지만, 아직 아무도 글을 작성하지 않았습니다." #: actions/replies.php:204 @@ -3575,8 +3575,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3947,8 +3947,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po index 0c3e4c6e8..a412c788f 100644 --- a/locale/mk/LC_MESSAGES/statusnet.po +++ b/locale/mk/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:17+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:52+0000\n" "Language-Team: Macedonian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: out-statusnet\n" @@ -168,20 +168,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Можете да се обидете да го [подбуцнете корисникот %1$s](../%2$s) од неговиот " "профил или да [објавите нешто што сакате да го прочита](%%%%action.newnotice%" "%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "А зошто не се [регистрирате](%%%%action.register%%%%), и потоа да го " "подбуцнете корисникот %s или да објавите забелешка што сакате да ја прочита." @@ -3547,10 +3547,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Канал со одговори за %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Ова е историјата на која се прикажани одговорите на %1$s, но %2$s сè уште " "нема добиено нечија забелешка." @@ -3565,10 +3565,10 @@ msgstr "" "други луѓе или да [се зачленувате во групи](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Можете да се обидете да го [подбуцнете корисникот 1$s](../%2$s) или да " "[објавите нешто што сакате да го прочита](%%%%action.newnotice%%%%?" @@ -3947,10 +3947,10 @@ msgstr "" "ниедна забелешка, но сега е добро време за да почнете :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Можете да се обидете да го подбуцнете корисникот %1$s или [да објавите нешто " "што сакате да го прочита](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po index ea4cf9baf..fa130dd94 100644 --- a/locale/nb/LC_MESSAGES/statusnet.po +++ b/locale/nb/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:19+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:54+0000\n" "Language-Team: Norwegian (bokmål)‬\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: out-statusnet\n" @@ -165,20 +165,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prøve å [knuffe %1$s](../%2$s) fra dennes profil eller [poste noe for " "å få hans eller hennes oppmerksomhet](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Hvorfor ikke [opprette en konto](%%%%action.register%%%%) og så knuff %s " "eller post en notis for å få hans eller hennes oppmerksomhet." @@ -3508,7 +3508,7 @@ msgstr "Svarstrøm for %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Dette er tidslinjen som viser svar til %1$s men %2$s har ikke mottat en " "notis for hans oppmerksomhet ennå." @@ -3525,8 +3525,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prøve å [knuffe %1$s](../%2$s) eller [post noe for å få hans eller " "hennes oppmerksomhet](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3902,10 +3902,10 @@ msgstr "" "ikke begynne nå? :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Du kan prøve å knuffe %1$s eller [poste noe for å få hans eller hennes " "oppmerksomhet](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po index 69cd23523..301796ebd 100644 --- a/locale/nl/LC_MESSAGES/statusnet.po +++ b/locale/nl/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:22+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:57+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: out-statusnet\n" @@ -169,20 +169,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "U kunt proberen [%1$s te porren](../%2$s) op de eigen profielpagina of [een " "bericht voor die gebruiker plaatsen](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "U kunt een [gebruiker aanmaken](%%%%action.register%%%%) en %s dan porren of " "een bericht sturen." @@ -520,9 +520,8 @@ msgid "groups on %s" msgstr "groepen op %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Bestand uploaden" +msgstr "Uploaden is mislukt." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -675,7 +674,7 @@ msgstr "Er is geen status gevonden met dit ID." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "De client moet een parameter \"status\" met een waarde opgeven." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3573,10 +3572,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Antwoordenfeed voor %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Dit is de tijdlijn met antwoorden aan %1$s, maar %2$s heeft nog geen " "antwoorden ontvangen." @@ -3591,10 +3590,10 @@ msgstr "" "abonneren of [lid worden van groepen](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "U kunt proberen [%1$s te porren](../%2$s) of [een bericht voor die gebruiker " "plaatsen](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3973,10 +3972,10 @@ msgstr "" "verstuurd, dus dit is een ideaal moment om daarmee te beginnen!" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "U kunt proberen %1$s te porren of [een bericht aan die gebruiker sturen](%%%%" "action.newnotice%%%%?status_textarea=%2$s)." @@ -4871,7 +4870,7 @@ msgstr "Auteur(s)" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Het was niet mogelijk de URL \"%s\" te verwerken." #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 @@ -4939,9 +4938,8 @@ msgstr "Het was niet mogelijk een aanmeldtoken aan te maken voor %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -#, fuzzy msgid "No database name or DSN found anywhere." -msgstr "Geen databasenaam of DNS gevonden" +msgstr "Geen databasenaam of DSN gevonden." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -5036,7 +5034,7 @@ msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" "De rol \"%1$s\" voor gebruiker #%2$d kan niet ingetrokken worden. Deze " @@ -5045,7 +5043,7 @@ msgstr "" #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" "De rol \"%1$s\" voor gebruiker #%2$d kan niet ingetrokken worden. " diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po index e5c3c5806..4c0cf9db6 100644 --- a/locale/nn/LC_MESSAGES/statusnet.po +++ b/locale/nn/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:21+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:56+0000\n" "Language-Team: Norwegian Nynorsk\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nn\n" "X-Message-Group: out-statusnet\n" @@ -174,14 +174,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3623,7 +3623,7 @@ msgstr "Notisstraum for %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3636,8 +3636,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -4007,8 +4007,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po index eef4bd4b7..4358016d0 100644 --- a/locale/pl/LC_MESSAGES/statusnet.po +++ b/locale/pl/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:24+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 22:59:59+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pl\n" "X-Message-Group: out-statusnet\n" @@ -172,20 +172,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Można spróbować [szturchnąć użytkownika %1$s](../%2$s) z jego profilu lub " "[wysłać coś wymagającego jego uwagi](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Dlaczego nie [zarejestrujesz konta](%%%%action.register%%%%) i wtedy " "szturchniesz użytkownika %s lub wyślesz wpis wymagającego jego uwagi." @@ -3522,10 +3522,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Kanał odpowiedzi dla użytkownika %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "To jest oś czasu wyświetlająca odpowiedzi na wpisy użytkownika %1$s, ale %2" "$s nie otrzymał jeszcze wpisów wymagających jego uwagi." @@ -3540,10 +3540,10 @@ msgstr "" "[dołączyć do grup](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Można spróbować [szturchnąć użytkownika %1$s](../%2$s) lub [wysłać coś " "wymagającego jego uwagi](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3920,10 +3920,10 @@ msgstr "" "teraz jest dobry czas, aby zacząć. :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Można spróbować szturchnąć użytkownika %1$s lub [wysłać coś wymagajacego " "jego uwagi](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index b612861c0..66cc7d957 100644 --- a/locale/pt/LC_MESSAGES/statusnet.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:26+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:01+0000\n" "Language-Team: Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt\n" "X-Message-Group: out-statusnet\n" @@ -168,19 +168,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode tentar [dar um toque em %1$s](../%2$s) a partir do perfil ou [publicar " "qualquer coisa à sua atenção](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Podia [registar uma conta](%%%%action.register%%%%) e depois dar um toque em " "%s ou publicar uma nota à sua atenção." @@ -3531,10 +3531,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de respostas a %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Estas são as notas de resposta a %1$s, mas %2$s ainda não recebeu nenhuma " "nota à sua atenção." @@ -3549,10 +3549,10 @@ msgstr "" "[juntar-se a grupos](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Pode tentar [dar um toque em %1$s](../%2$s) ou [publicar algo à sua atenção]" "(%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3929,10 +3929,10 @@ msgstr "" "esta seria uma óptima altura para começar :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Pode tentar dar um toque em %1$s ou [publicar algo à sua atenção](%%%%action." "newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index 1daa49fc2..bf9def292 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -13,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:27+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:05+0000\n" "Language-Team: Brazilian Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: out-statusnet\n" @@ -174,7 +174,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Você pode tentar [chamar a atenção de %1$s](../%2$s) em seu perfil ou " "[publicar alguma coisa que desperte seu interesse](%%%%action.newnotice%%%%?" @@ -184,7 +184,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Por que não [registrar uma conta](%%%%action.register%%%%) e então chamar a " "atenção de %s ou publicar uma mensagem para sua atenção." @@ -3564,7 +3564,7 @@ msgstr "Fonte de respostas para %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Esse é o fluxo de mensagens de resposta para %1$s, mas %2$s ainda não " "recebeu nenhuma mensagem direcionada a ele(a)." @@ -3581,8 +3581,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Você pode tentar [chamar a atenção de %1$s](../%2$s) ou [publicar alguma " "coisa que desperte seu interesse](%%%%action.newnotice%%%%?status_textarea=%3" @@ -3963,8 +3963,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Você pode tentar chamar a atenção de %1$s ou [publicar alguma coisa que " "desperte seu interesse](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po index 54aeb3491..76b6fe057 100644 --- a/locale/ru/LC_MESSAGES/statusnet.po +++ b/locale/ru/LC_MESSAGES/statusnet.po @@ -13,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:29+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:07+0000\n" "Language-Team: Russian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: out-statusnet\n" @@ -171,20 +171,20 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» из профиля или [написать " "что-нибудь для привлечения его или её внимания](%%%%action.newnotice%%%%?" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Почему бы не [зарегистрироваться](%%%%action.register%%%%), чтобы " "«подтолкнуть» %s или отправить запись для привлечения его или её внимания?" @@ -3539,10 +3539,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Лента записей для %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Эта лента содержит ответы для %1$s, однако %2$s пока не получил запись для " "привлечения внимания." @@ -3557,10 +3557,10 @@ msgstr "" "число людей или [присоединившись к группам](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» или [написать что-нибудь " "для привлечения его или её внимания](%%%%action.newnotice%%%%?" @@ -3938,10 +3938,10 @@ msgstr "" "сейчас хорошее время для начала :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Вы можете попробовать «подтолкнуть» %1$s или [написать что-нибудь для " "привлечения его или её внимания](%%%%action.newnotice%%%%?status_textarea=%2" diff --git a/locale/statusnet.pot b/locale/statusnet.pot index be4b73a2d..c25209f4f 100644 --- a/locale/statusnet.pot +++ b/locale/statusnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -163,14 +163,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3348,7 +3348,7 @@ msgstr "" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3361,8 +3361,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3716,8 +3716,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po index 982234bf4..fb00c585d 100644 --- a/locale/sv/LC_MESSAGES/statusnet.po +++ b/locale/sv/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:31+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:09+0000\n" "Language-Team: Swedish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: sv\n" "X-Message-Group: out-statusnet\n" @@ -169,7 +169,7 @@ msgstr "" #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prova att [knuffa %1$s](../%2$s) från dennes profil eller [skriva " "någonting för hans eller hennes uppmärksamhet](%%%%action.newnotice%%%%?" @@ -179,7 +179,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Varför inte [registrera ett konto](%%%%action.register%%%%) och sedan knuffa " "%s eller skriva en notis för hans eller hennes uppmärksamhet." @@ -3529,7 +3529,7 @@ msgstr "Flöde med svar för %s (Atom)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Detta är tidslinjen som visar svar till %s1$ men %2$s har inte tagit emot en " "notis för dennes uppmärksamhet än." @@ -3546,8 +3546,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kan prova att [knuffa %1$s](../%2$s) eller [posta någonting för hans " "eller hennes uppmärksamhet](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3925,8 +3925,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Du kan prova att knuffa %1$s eller [posta något för hans eller hennes " "uppmärksamhet](%%%%action.newnotice%%%%?status_textarea=%2$s)." diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po index fecf3d5ea..acf9a681e 100644 --- a/locale/te/LC_MESSAGES/statusnet.po +++ b/locale/te/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:33+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:11+0000\n" "Language-Team: Telugu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: te\n" "X-Message-Group: out-statusnet\n" @@ -166,7 +166,7 @@ msgstr "ఇతరులకి చందా చేరండి, [ఏదైనా #, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "[ఈ విషయంపై](%%%%action.newnotice%%%%?status_textarea=%s) వ్రాసే మొదటివారు మీరే అవ్వండి!" @@ -174,7 +174,7 @@ msgstr "" #, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "[ఒక ఖాతాని నమోదుచేసుకుని](%%action.register%%) మీరే మొదట వ్రాసేవారు ఎందుకు కాకూడదు!" #. TRANS: H1 text @@ -3470,7 +3470,7 @@ msgstr "%s కొరకు స్పందనల ఫీడు (ఆటమ్)" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "ఇది %1$sకి వచ్చిన స్పందనలని చూపించే కాలరేఖ కానీ %2$s దృష్టికి ఇంకా ఎవరూ ఏమీ పంపించలేదు." #: actions/replies.php:204 @@ -3485,8 +3485,8 @@ msgstr "" #: actions/replies.php:206 #, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "[ఈ విషయంపై](%%%%action.newnotice%%%%?status_textarea=%s) వ్రాసే మొదటివారు మీరే అవ్వండి!" @@ -3856,8 +3856,8 @@ msgstr "" #: actions/showstream.php:207 #, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "[ఈ విషయంపై](%%%%action.newnotice%%%%?status_textarea=%s) వ్రాసే మొదటివారు మీరే అవ్వండి!" diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po index 5c02224f6..6d1301400 100644 --- a/locale/tr/LC_MESSAGES/statusnet.po +++ b/locale/tr/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:34+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:13+0000\n" "Language-Team: Turkish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tr\n" "X-Message-Group: out-statusnet\n" @@ -174,14 +174,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3560,7 +3560,7 @@ msgstr "%s için durum RSS beslemesi" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3573,8 +3573,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3943,8 +3943,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po index 4283775c6..a332ffa6e 100644 --- a/locale/uk/LC_MESSAGES/statusnet.po +++ b/locale/uk/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:36+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:15+0000\n" "Language-Team: Ukrainian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: out-statusnet\n" @@ -170,19 +170,19 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, php-format +#, fuzzy, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ви можете [«розштовхати» %1$s](../%2$s) зі сторінки його профілю або [щось " "йому написати](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, php-format +#, fuzzy, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" "Чому б не [зареєструватись](%%%%action.register%%%%) і не спробувати " "«розштовхати» %s або щось йому написати." @@ -3530,10 +3530,10 @@ msgid "Replies feed for %s (Atom)" msgstr "Стрічка відповідей до %s (Atom)" #: actions/replies.php:199 -#, php-format +#, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" "Ця стрічка дописів містить відповіді для %1$s, але %2$s поки що нічого не " "отримав у відповідь." @@ -3548,10 +3548,10 @@ msgstr "" "більшої кількості людей або [приєднавшись до груп](%%action.groups%%)." #: actions/replies.php:206 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" "Ви можете [«розштовхати» %1$s](../%2$s) або [написати дещо варте його уваги](%" "%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -3927,10 +3927,10 @@ msgstr "" "аби розпочати! :)" #: actions/showstream.php:207 -#, php-format +#, fuzzy, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" "Ви можете «розштовхати» %1$s або [щось йому написати](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po index 5a616a574..886c96388 100644 --- a/locale/vi/LC_MESSAGES/statusnet.po +++ b/locale/vi/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:37+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:16+0000\n" "Language-Team: Vietnamese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: vi\n" "X-Message-Group: out-statusnet\n" @@ -169,14 +169,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3669,7 +3669,7 @@ msgstr "Dòng tin nhắn cho %s" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3682,8 +3682,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -4055,8 +4055,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index 1da7214a6..dca464164 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:39+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:18+0000\n" "Language-Team: Simplified Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: out-statusnet\n" @@ -176,14 +176,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3618,7 +3618,7 @@ msgstr "%s 的通告聚合" #, fuzzy, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "这是 %s 和好友的时间线,但是没有任何人发布内容。" #: actions/replies.php:204 @@ -3631,8 +3631,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -4006,8 +4006,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index 82b8b4379..751abbb28 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 21:52+0000\n" -"PO-Revision-Date: 2010-07-31 21:53:41+0000\n" +"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"PO-Revision-Date: 2010-07-31 23:00:20+0000\n" "Language-Team: Traditional Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70239); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hant\n" "X-Message-Group: out-statusnet\n" @@ -170,14 +170,14 @@ msgstr "" #, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " -"to their attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 #, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " -"post a notice to their attention." +"post a notice to them." msgstr "" #. TRANS: H1 text @@ -3487,7 +3487,7 @@ msgstr "發送給%s好友的訂閱" #, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " -"notice to their attention yet." +"notice to them yet." msgstr "" #: actions/replies.php:204 @@ -3500,8 +3500,8 @@ msgstr "" #: actions/replies.php:206 #, php-format msgid "" -"You can try to [nudge %1$s](../%2$s) or [post something to their attention](%" -"%%%action.newnotice%%%%?status_textarea=%3$s)." +"You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." +"newnotice%%%%?status_textarea=%3$s)." msgstr "" #: actions/repliesrss.php:72 @@ -3866,8 +3866,8 @@ msgstr "" #: actions/showstream.php:207 #, php-format msgid "" -"You can try to nudge %1$s or [post something to their attention](%%%%action." -"newnotice%%%%?status_textarea=%2$s)." +"You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" +"%?status_textarea=%2$s)." msgstr "" #: actions/showstream.php:243 -- cgit v1.2.3 From 517c7483d1b55fcc78b1d69e8ffd7de763faa772 Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 2 Aug 2010 13:23:55 -0400 Subject: move to rel="salmon" (per latest spec) --- plugins/OStatus/OStatusPlugin.php | 3 +++ plugins/OStatus/lib/salmon.php | 4 +++- plugins/OStatus/lib/xrdaction.php | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index c61e2cc5f..c735c02db 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -158,6 +158,9 @@ class OStatusPlugin extends Plugin // Also, we'll add in the salmon link $salmon = common_local_url($salmonAction, array('id' => $id)); + $feed->addLink($salmon, array('rel' => Salmon::REL_SALMON)); + + // XXX: these are deprecated $feed->addLink($salmon, array('rel' => Salmon::NS_REPLIES)); $feed->addLink($salmon, array('rel' => Salmon::NS_MENTIONS)); } diff --git a/plugins/OStatus/lib/salmon.php b/plugins/OStatus/lib/salmon.php index 3d3341bc6..ef7719a40 100644 --- a/plugins/OStatus/lib/salmon.php +++ b/plugins/OStatus/lib/salmon.php @@ -28,9 +28,11 @@ */ class Salmon { + const REL_SALMON = 'salmon'; + const REL_MENTIONED = 'mentioned'; + // XXX: these are deprecated const NS_REPLIES = "http://salmon-protocol.org/ns/salmon-replies"; - const NS_MENTIONS = "http://salmon-protocol.org/ns/salmon-mention"; /** diff --git a/plugins/OStatus/lib/xrdaction.php b/plugins/OStatus/lib/xrdaction.php index f1a56e0a8..71c70b96e 100644 --- a/plugins/OStatus/lib/xrdaction.php +++ b/plugins/OStatus/lib/xrdaction.php @@ -76,6 +76,9 @@ class XrdAction extends Action $salmon_url = common_local_url('usersalmon', array('id' => $this->user->id)); + $xrd->links[] = array('rel' => Salmon::REL_SALMON, + 'href' => $salmon_url); + // XXX : Deprecated - to be removed. $xrd->links[] = array('rel' => Salmon::NS_REPLIES, 'href' => $salmon_url); -- cgit v1.2.3 From e603632f13e87aa2671bd5ff732c4858ce44ef6e Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 2 Aug 2010 14:06:14 -0400 Subject: add support for Salmon's new "mentioned" rel value --- classes/Notice.php | 14 ++++++++++++++ lib/activitycontext.php | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/classes/Notice.php b/classes/Notice.php index 3297c7a59..399879e79 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1330,24 +1330,38 @@ class Notice extends Memcached_DataObject foreach ($reply_ids as $id) { $profile = Profile::staticGet('id', $id); if (!empty($profile)) { + // XXX: Deprecate this for 'mentioned' $xs->element( 'link', array( 'rel' => 'ostatus:attention', 'href' => $profile->getUri() ) ); + $xs->element( + 'link', array( + 'rel' => 'mentioned', + 'href' => $profile->getUri() + ) + ); } } $groups = $this->getGroups(); foreach ($groups as $group) { + // XXX: Deprecate this for 'mentioned' $xs->element( 'link', array( 'rel' => 'ostatus:attention', 'href' => $group->permalink() ) ); + $xs->element( + 'link', array( + 'rel' => 'mentioned', + 'href' => $group->permalink() + ) + ); } if (!empty($this->repeat_of)) { diff --git a/lib/activitycontext.php b/lib/activitycontext.php index 2df7613f7..4e97b2ab9 100644 --- a/lib/activitycontext.php +++ b/lib/activitycontext.php @@ -51,6 +51,7 @@ class ActivityContext const POINT = 'point'; const ATTENTION = 'ostatus:attention'; + const MENTIONED = 'mentioned'; const CONVERSATION = 'ostatus:conversation'; function __construct($element) @@ -76,8 +77,12 @@ class ActivityContext $linkRel = $link->getAttribute(ActivityUtils::REL); + // XXX: Deprecate this in favour of "mentioned" from Salmon spec + // http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-salmon-00.html#SALR if ($linkRel == self::ATTENTION) { $this->attention[] = $link->getAttribute(self::HREF); + } else if ($linkRel == self:MENTIONED) { + $this->attention[] = $link->getAttribute(self::HREF); } } } -- cgit v1.2.3 From eaef724c4912ab51a1c6ebc14f1fef382b7ac2a1 Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 2 Aug 2010 14:24:50 -0400 Subject: urgh. typo --- lib/activitycontext.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/activitycontext.php b/lib/activitycontext.php index 4e97b2ab9..5afbb7fd2 100644 --- a/lib/activitycontext.php +++ b/lib/activitycontext.php @@ -81,7 +81,7 @@ class ActivityContext // http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-salmon-00.html#SALR if ($linkRel == self::ATTENTION) { $this->attention[] = $link->getAttribute(self::HREF); - } else if ($linkRel == self:MENTIONED) { + } elseif ($linkRel == self::MENTIONED) { $this->attention[] = $link->getAttribute(self::HREF); } } -- cgit v1.2.3 From 56294016a753c43c366bf4680da28a17cccc21d5 Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 2 Aug 2010 14:47:13 -0400 Subject: fix #2478 - ensure all XRD documents get proper content-type headers --- plugins/OStatus/actions/hostmeta.php | 3 +-- plugins/OStatus/lib/xrdaction.php | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/OStatus/actions/hostmeta.php b/plugins/OStatus/actions/hostmeta.php index 6d35ada6c..8ca07f916 100644 --- a/plugins/OStatus/actions/hostmeta.php +++ b/plugins/OStatus/actions/hostmeta.php @@ -35,14 +35,13 @@ class HostMetaAction extends Action $url = common_local_url('userxrd'); $url.= '?uri={uri}'; - $xrd = new XRD(); - $xrd = new XRD(); $xrd->host = $domain; $xrd->links[] = array('rel' => Discovery::LRDD_REL, 'template' => $url, 'title' => array('Resource Descriptor')); + header('Content-type: application/xrd+xml'); print $xrd->toXML(); } } diff --git a/plugins/OStatus/lib/xrdaction.php b/plugins/OStatus/lib/xrdaction.php index 71c70b96e..d8cf648d6 100644 --- a/plugins/OStatus/lib/xrdaction.php +++ b/plugins/OStatus/lib/xrdaction.php @@ -101,7 +101,7 @@ class XrdAction extends Action $xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe', 'template' => $url ); - header('Content-type: text/xml'); + header('Content-type: application/xrd+xml'); print $xrd->toXML(); } -- cgit v1.2.3 From c56939d59632560e93d1e4f3b29713c3cfdb61c6 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 2 Aug 2010 13:00:50 -0700 Subject: Remove the 'Enable Twitter import' checkbox from Twitter admin panel by default; can be re-added with setting: addPlugin('TwitterBridge', array('adminImportControl' => true, ....)); Added a note on the label that it requires manual daemon setup. (Note that by default the admin panel won't be shown, so it's no biggie to be hiding this for now.) --- plugins/TwitterBridge/TwitterBridgePlugin.php | 13 ++++++++++++ plugins/TwitterBridge/twitteradminpanel.php | 29 ++++++++++++++++++--------- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php index 65b3a6b38..0505a328f 100644 --- a/plugins/TwitterBridge/TwitterBridgePlugin.php +++ b/plugins/TwitterBridge/TwitterBridgePlugin.php @@ -50,6 +50,7 @@ class TwitterBridgePlugin extends Plugin { const VERSION = STATUSNET_VERSION; + public $adminImportControl = false; // Should the 'import' checkbox be exposed in the admin panel? /** * Initializer for the plugin. @@ -322,5 +323,17 @@ class TwitterBridgePlugin extends Plugin return true; } + /** + * Expose the adminImportControl setting to the administration panel code. + * This allows us to disable the import bridge enabling checkbox for administrators, + * since on a bulk farm site we can't yet automate the import daemon setup. + * + * @return boolean hook value; + */ + function onTwitterBridgeAdminImportControl() + { + return (bool)$this->adminImportControl; + } + } diff --git a/plugins/TwitterBridge/twitteradminpanel.php b/plugins/TwitterBridge/twitteradminpanel.php index a78a92c66..69f8da078 100644 --- a/plugins/TwitterBridge/twitteradminpanel.php +++ b/plugins/TwitterBridge/twitteradminpanel.php @@ -92,9 +92,11 @@ class TwitteradminpanelAction extends AdminPanelAction ); static $booleans = array( - 'twitter' => array('signin'), - 'twitterimport' => array('enabled') + 'twitter' => array('signin') ); + if (Event::handle('TwitterBridgeAdminImportControl')) { + $booleans['twitterimport'] = array('enabled'); + } $values = array(); @@ -155,6 +157,13 @@ class TwitteradminpanelAction extends AdminPanelAction ); } } + + function isImportEnabled() + { + // Since daemon setup isn't automated yet... + // @todo: if merged into main queues, detect presence of daemon config + return true; + } } class TwitterAdminPanelForm extends AdminForm @@ -263,13 +272,15 @@ class TwitterAdminPanelForm extends AdminForm ); $this->unli(); - $this->li(); - $this->out->checkbox( - 'enabled', _m('Enable Twitter import'), - (bool) $this->value('enabled', 'twitterimport'), - _m('Allow users to import their Twitter friends\' timelines') - ); - $this->unli(); + if (Event::handle('TwitterBridgeAdminImportControl')) { + $this->li(); + $this->out->checkbox( + 'enabled', _m('Enable Twitter import'), + (bool) $this->value('enabled', 'twitterimport'), + _m('Allow users to import their Twitter friends\' timelines. Requires daemons to be manually configured.') + ); + $this->unli(); + } $this->out->elementEnd('ul'); -- cgit v1.2.3 From 8120842780319089f47144acf82685163237b8bc Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 2 Aug 2010 16:42:28 -0400 Subject: Fix for #2429 - move OStatus XML writing to XMLStringer --- plugins/OStatus/lib/magicenvelope.php | 28 ++++------- plugins/OStatus/lib/xrd.php | 94 ++++++++++++----------------------- 2 files changed, 44 insertions(+), 78 deletions(-) diff --git a/plugins/OStatus/lib/magicenvelope.php b/plugins/OStatus/lib/magicenvelope.php index f39686b71..3bdf24b31 100644 --- a/plugins/OStatus/lib/magicenvelope.php +++ b/plugins/OStatus/lib/magicenvelope.php @@ -97,24 +97,18 @@ class MagicEnvelope } public function toXML($env) { - $dom = new DOMDocument(); - - $envelope = $dom->createElementNS(MagicEnvelope::NS, 'me:env'); - $envelope->setAttribute('xmlns:me', MagicEnvelope::NS); - $data = $dom->createElementNS(MagicEnvelope::NS, 'me:data', $env['data']); - $data->setAttribute('type', $env['data_type']); - $envelope->appendChild($data); - $enc = $dom->createElementNS(MagicEnvelope::NS, 'me:encoding', $env['encoding']); - $envelope->appendChild($enc); - $alg = $dom->createElementNS(MagicEnvelope::NS, 'me:alg', $env['alg']); - $envelope->appendChild($alg); - $sig = $dom->createElementNS(MagicEnvelope::NS, 'me:sig', $env['sig']); - $envelope->appendChild($sig); - - $dom->appendChild($envelope); + $xs = new XMLStringer(); + $xs->startXML(); + $xs->elementStart('me:env', array('xmlns:me' => MagicEnvelope::NS)); + $xs->element('me:data', array('type' => $env['data_type']), $env['data']); + $xs->element('me:encoding', null, $env['encoding']); + $xs->element('me:alg', null, $env['alg']); + $xs->element('me:sig', null, $env['sig']); + $xs->elementEnd('me:env'); - - return $dom->saveXML(); + $string = $xs->getString(); + common_debug($string); + return $string; } diff --git a/plugins/OStatus/lib/xrd.php b/plugins/OStatus/lib/xrd.php index 34b28790b..a10b9f427 100644 --- a/plugins/OStatus/lib/xrd.php +++ b/plugins/OStatus/lib/xrd.php @@ -106,44 +106,43 @@ class XRD public function toXML() { - $dom = new DOMDocument('1.0', 'UTF-8'); - $dom->formatOutput = true; - - $xrd_dom = $dom->createElementNS(XRD::XRD_NS, 'XRD'); - $dom->appendChild($xrd_dom); + $xs = new XMLStringer(); + + $xs->startXML(); + $xs->elementStart('XRD', array('xmlns' => XRD::XRD_NS)); if ($this->host) { - $host_dom = $dom->createElement('hm:Host', $this->host); - $xrd_dom->setAttributeNS(XRD::XML_NS, 'xmlns:hm', XRD::HOST_META_NS); - $xrd_dom->appendChild($host_dom); + $xs->element('hm:Host', array('xmlns:hm' => XRD::HOST_META_NS), $this->host); } - if ($this->expires) { - $expires_dom = $dom->createElement('Expires', $this->expires); - $xrd_dom->appendChild($expires_dom); - } - - if ($this->subject) { - $subject_dom = $dom->createElement('Subject', $this->subject); - $xrd_dom->appendChild($subject_dom); - } - - foreach ($this->alias as $alias) { - $alias_dom = $dom->createElement('Alias', $alias); - $xrd_dom->appendChild($alias_dom); - } - - foreach ($this->types as $type) { - $type_dom = $dom->createElement('Type', $type); - $xrd_dom->appendChild($type_dom); - } - - foreach ($this->links as $link) { - $link_dom = $this->saveLink($dom, $link); - $xrd_dom->appendChild($link_dom); - } - - return $dom->saveXML(); + if ($this->expires) { + $xs->element('Expires', null, $this->expires); + } + + if ($this->subject) { + $xs->element('Subject', null, $this->subject); + } + + foreach ($this->alias as $alias) { + $xs->element('Alias', null, $alias); + } + + foreach ($this->links as $link) { + $titles = array(); + if (isset($link['title'])) { + $titles = $link['title']; + unset($link['title']); + } + $xs->elementStart('Link', $link); + foreach ($titles as $title) { + $xs->element('Title', null, $title); + } + $xs->elementEnd('Link'); + } + + $xs->elementEnd('XRD'); + + return $xs->getString(); } function parseType($element) @@ -169,32 +168,5 @@ class XRD return $link; } - - function saveLink($doc, $link) - { - $link_element = $doc->createElement('Link'); - if (!empty($link['rel'])) { - $link_element->setAttribute('rel', $link['rel']); - } - if (!empty($link['type'])) { - $link_element->setAttribute('type', $link['type']); - } - if (!empty($link['href'])) { - $link_element->setAttribute('href', $link['href']); - } - if (!empty($link['template'])) { - $link_element->setAttribute('template', $link['template']); - } - - if (!empty($link['title']) && is_array($link['title'])) { - foreach($link['title'] as $title) { - $title = $doc->createElement('Title', $title); - $link_element->appendChild($title); - } - } - - - return $link_element; - } } -- cgit v1.2.3 From fe2b4fdf1c16eb2ecbbe1cd5e7f0fc1f477799ad Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 2 Aug 2010 17:16:04 -0700 Subject: add some activity hooks --- classes/Notice.php | 338 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 238 insertions(+), 100 deletions(-) diff --git a/classes/Notice.php b/classes/Notice.php index 8552248ba..592e2f384 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1184,6 +1184,9 @@ class Notice extends Memcached_DataObject return $groups; } + // This has gotten way too long. Needs to be sliced up into functional bits + // or ideally exported to a utility class. + function asAtomEntry($namespace=false, $source=false, $author=true, $cur=null) { $profile = $this->getProfile(); @@ -1203,74 +1206,160 @@ class Notice extends Memcached_DataObject $attrs = array(); } - $xs->elementStart('entry', $attrs); + if (Event::handle('StartActivityStart', array(&$this, &$xs, &$attrs))) { + $xs->elementStart('entry', $attrs); + Event::handle('EndActivityStart', array(&$this, &$xs, &$attrs)); + } - if ($source) { - $xs->elementStart('source'); - $xs->element('id', null, $profile->profileurl); - $xs->element('title', null, $profile->nickname . " - " . common_config('site', 'name')); - $xs->element('link', array('href' => $profile->profileurl)); - $user = User::staticGet('id', $profile->id); - if (!empty($user)) { - $atom_feed = common_local_url('ApiTimelineUser', - array('format' => 'atom', - 'id' => $profile->nickname)); - $xs->element('link', array('rel' => 'self', - 'type' => 'application/atom+xml', - 'href' => $profile->profileurl)); - $xs->element('link', array('rel' => 'license', - 'href' => common_config('license', 'url'))); + if (Event::handle('StartActivitySource', array(&$this, &$xs))) { + + if ($source) { + + $xs->elementStart('source'); + + $xs->element('id', null, $profile->profileurl); + $xs->element('title', null, $profile->nickname . " - " . common_config('site', 'name')); + $xs->element('link', array('href' => $profile->profileurl)); + + $user = User::staticGet('id', $profile->id); + + if (!empty($user)) { + $atom_feed = common_local_url('ApiTimelineUser', + array('format' => 'atom', + 'id' => $profile->nickname)); + $xs->element('link', array('rel' => 'self', + 'type' => 'application/atom+xml', + 'href' => $profile->profileurl)); + $xs->element('link', array('rel' => 'license', + 'href' => common_config('license', 'url'))); + } + + $xs->element('icon', null, $profile->avatarUrl(AVATAR_PROFILE_SIZE)); + $xs->element('updated', null, common_date_w3dtf($this->created)); // FIXME: not true! + + $xs->elementEnd('source'); } + Event::handle('EndActivitySource', array(&$this, &$xs)); + } - $xs->element('icon', null, $profile->avatarUrl(AVATAR_PROFILE_SIZE)); - $xs->element('updated', null, common_date_w3dtf($this->created)); + $title = common_xml_safe_str($this->content); + + if (Event::handle('StartActivityTitle', array(&$this, &$xs, &$title))) { + $xs->element('title', null, $title); + Event::handle('EndActivityTitle', array($this, &$xs, $title)); + } + + $atomAuthor = ''; + + if ($author) { + $atomAuthor = $profile->asAtomAuthor($cur); } - if ($source) { - $xs->elementEnd('source'); + if (Event::handle('StartActivityAuthor', array(&$this, &$xs, &$atomAuthor))) { + if (!empty($atomAuthor)) { + $xs->raw($atomAuthor); + Event::handle('EndActivityAuthor', array(&$this, &$xs, &$atomAuthor)); + } } - $xs->element('title', null, common_xml_safe_str($this->content)); + $actor = ''; if ($author) { - $xs->raw($profile->asAtomAuthor($cur)); - $xs->raw($profile->asActivityActor()); + $actor = $profile->asActivityActor(); } - $xs->element('link', array('rel' => 'alternate', - 'type' => 'text/html', - 'href' => $this->bestUrl())); + if (Event::handle('StartActivityActor', array(&$this, &$xs, &$actor))) { + if (!empty($actor)) { + $xs->raw($actor); + Event::handle('EndActivityActor', array(&$this, &$xs, &$actor)); + } + } - $xs->element('id', null, $this->uri); + $url = $this->bestUrl(); - $xs->element('published', null, common_date_w3dtf($this->created)); - $xs->element('updated', null, common_date_w3dtf($this->created)); + if (Event::handle('StartActivityLink', array(&$this, &$xs, &$url))) { + $xs->element('link', array('rel' => 'alternate', + 'type' => 'text/html', + 'href' => $url)); + Event::handle('EndActivityLink', array(&$this, &$xs, $url)); + } - $source = null; + $id = $this->uri; - $ns = $this->getSource(); + if (Event::handle('StartActivityId', array(&$this, &$xs, &$id))) { + $xs->element('id', null, $id); + Event::handle('EndActivityId', array(&$this, &$xs, $id)); + } - if ($ns) { - if (!empty($ns->name) && !empty($ns->url)) { - $source = '' - . htmlspecialchars($ns->name) - . ''; - } else { - $source = $ns->code; + $published = common_date_w3dtf($this->created); + + if (Event::handle('StartActivityPublished', array(&$this, &$xs, &$published))) { + $xs->element('published', null, $published); + Event::handle('EndActivityPublished', array(&$this, &$xs, $published)); + } + + $updated = $published; // XXX: notices are usually immutable + + if (Event::handle('StartActivityUpdated', array(&$this, &$xs, &$updated))) { + $xs->element('updated', null, $updated); + Event::handle('EndActivityUpdated', array(&$this, &$xs, $updated)); + } + + $content = common_xml_safe_str($this->rendered); + + if (Event::handle('StartActivityContent', array(&$this, &$xs, &$content))) { + $xs->element('content', array('type' => 'html'), $content); + Event::handle('EndActivityContent', array(&$this, &$xs, $content)); + } + + // Most of our notices represent POSTing a NOTE. This is the default verb + // for activity streams, so we normally just leave it out. + + $verb = ActivityVerb::POST; + + if (Event::handle('StartActivityVerb', array(&$this, &$xs, &$verb))) { + $xs->element('activity:verb', null, $verb); + Event::handle('EndActivityVerb', array(&$this, &$xs, $verb)); + } + + // We use the default behavior for activity streams: if there's no activity:object, + // then treat the entry itself as the object. Here, you can set the type of that object, + // which is normally a NOTE. + + $type = ActivityObject::NOTE; + + if (Event::handle('StartActivityDefaultObjectType', array(&$this, &$xs, &$type))) { + $xs->element('activity:object-type', null, $type); + Event::handle('EndActivityDefaultObjectType', array(&$this, &$xs, $type)); + } + + // Since we usually use the entry itself as an object, we don't have an explicit + // object. Some extensions may want to add them (for photo, event, music, etc.). + + $objects = array(); + + if (Event::handle('StartActivityObjects', array(&$this, &$xs, &$objects))) { + foreach ($objects as $object) { + $xs->raw($object->asString()); } + Event::handle('EndActivityObjects', array(&$this, &$xs, $objects)); } - $noticeInfoAttr = array( - 'local_id' => $this->id, // local notice ID (useful to clients for ordering) - 'source' => $source, // the client name (source attribution) - ); + $noticeInfoAttr = array('local_id' => $this->id); // local notice ID (useful to clients for ordering) $ns = $this->getSource(); - if ($ns) { + + if (!empty($ns)) { + $noticeInfoAttr['source'] = $ns->code; if (!empty($ns->url)) { $noticeInfoAttr['source_link'] = $ns->url; + if (!empty($ns->name)) { + $noticeInfoAttr['source'] = '' + . htmlspecialchars($ns->name) + . ''; + } } } @@ -1284,103 +1373,139 @@ class Notice extends Memcached_DataObject $noticeInfoAttr['repeat_of'] = $this->repeat_of; } - $xs->element('statusnet:notice_info', $noticeInfoAttr, null); + if (Event::handle('StartActivityNoticeInfo', array(&$this, &$xs, &$noticeInfoAttr))) { + $xs->element('statusnet:notice_info', $noticeInfoAttr, null); + Event::handle('EndActivityNoticeInfo', array(&$this, &$xs, $noticeInfoAttr)); + } + + $replyNotice = null; if ($this->reply_to) { - $reply_notice = Notice::staticGet('id', $this->reply_to); - if (!empty($reply_notice)) { + $replyNotice = Notice::staticGet('id', $this->reply_to); + } + + if (Event::handle('StartActivityInReplyTo', array(&$this, &$xs, &$replyNotice))) { + if (!empty($replyNotice)) { $xs->element('link', array('rel' => 'related', - 'href' => $reply_notice->bestUrl())); + 'href' => $replyNotice->bestUrl())); $xs->element('thr:in-reply-to', - array('ref' => $reply_notice->uri, - 'href' => $reply_notice->bestUrl())); + array('ref' => $replyNotice->uri, + 'href' => $replyNotice->bestUrl())); + Event::handle('EndActivityInReplyTo', array(&$this, &$xs, $replyUri, $replyUrl)); } } - if (!empty($this->conversation)) { + $conv = null; + if (!empty($this->conversation)) { $conv = Conversation::staticGet('id', $this->conversation); + } + if (Event::handle('StartActivityConversation', array(&$this, &$xs, &$conv))) { if (!empty($conv)) { - $xs->element( - 'link', array( - 'rel' => 'ostatus:conversation', - 'href' => $conv->uri - ) - ); + $xs->element('link', array('rel' => 'ostatus:conversation', + 'href' => $conv->uri)); } + Event::handle('EndActivityConversation', array(&$this, &$xs, $conv)); } + $replyProfiles = array(); + $reply_ids = $this->getReplies(); foreach ($reply_ids as $id) { $profile = Profile::staticGet('id', $id); - if (!empty($profile)) { - $xs->element( - 'link', array( - 'rel' => 'ostatus:attention', - 'href' => $profile->getUri() - ) - ); + if (!empty($profile)) { + $replyProfiles[] = $profile; + } + } + + if (Event::handle('StartActivityAttentionProfiles', array(&$this, &$xs, &$replyProfiles))) { + foreach ($replyProfiles as $profile) { + $xs->element('link', array('rel' => 'ostatus:attention', + 'href' => $profile->getUri())); } + Event::handle('EndActivityAttentionProfiles', array(&$this, &$xs, $replyProfiles)); } $groups = $this->getGroups(); - foreach ($groups as $group) { - $xs->element( - 'link', array( - 'rel' => 'ostatus:attention', - 'href' => $group->permalink() - ) - ); + if (Event::handle('StartActivityAttentionGroups', array(&$this, &$xs, &$groups))) { + foreach ($groups as $group) { + $xs->element('link', array('rel' => 'ostatus:attention', + 'href' => $group->permalink())); + } + Event::handle('EndActivityAttentionGroups', array(&$this, &$xs, $groups)); } + $repeat = null; + if (!empty($this->repeat_of)) { $repeat = Notice::staticGet('id', $this->repeat_of); + } + + if (Event::handle('StartActivityForward', array(&$this, &$xs, &$repeat))) { if (!empty($repeat)) { - $xs->element( - 'ostatus:forward', - array('ref' => $repeat->uri, 'href' => $repeat->bestUrl()) - ); + $xs->element('ostatus:forward', + array('ref' => $repeat->uri, + 'href' => $repeat->bestUrl())); } + + Event::handle('EndActivityForward', array(&$this, &$xs, $repeat)); } - $xs->element( - 'content', - array('type' => 'html'), - common_xml_safe_str($this->rendered) - ); + $tags = $this->getTags(); - $tag = new Notice_tag(); - $tag->notice_id = $this->id; - if ($tag->find()) { - while ($tag->fetch()) { - $xs->element('category', array('term' => $tag->tag)); + if (Event::handle('StartActivityCategories', array(&$this, &$xs, &$tags))) { + foreach ($tags as $tag) { + $xs->element('category', array('term' => $tag)); } + Event::handle('EndActivityCategories', array(&$this, &$xs, $tags)); } - $tag->free(); - # Enclosures + // Enclosures + + $enclosures = array(); + $attachments = $this->attachments(); - if($attachments){ - foreach($attachments as $attachment){ - $enclosure=$attachment->getEnclosure(); - if ($enclosure) { - $attributes = array('rel'=>'enclosure','href'=>$enclosure->url,'type'=>$enclosure->mimetype,'length'=>$enclosure->size); - if($enclosure->title){ - $attributes['title']=$enclosure->title; - } - $xs->element('link', $attributes, null); + + foreach ($attachments as $attachment) { + $enclosure = $attachment->getEnclosure(); + if ($enclosure) { + $enclosures[] = $enclosure; + } + } + + if (Event::handle('StartActivityEnclosures', array(&$this, &$xs, &$enclosures))) { + foreach ($enclosures as $enclosure) { + $attributes = array('rel' => 'enclosure', + 'href' => $enclosure->url, + 'type' => $enclosure->mimetype, + 'length' => $enclosure->size); + + if ($enclosure->title) { + $attributes['title'] = $enclosure->title; } + + $xs->element('link', $attributes, null); } + Event::handle('EndActivityEnclosures', array(&$this, &$xs, $enclosures)); } - if (!empty($this->lat) && !empty($this->lon)) { - $xs->element('georss:point', null, $this->lat . ' ' . $this->lon); + $lat = $this->lat; + $lon = $this->lon; + + if (Event::handle('StartActivityGeo', array(&$this, &$xs, &$lat, &$lon))) { + if (!empty($lat) && !empty($lon)) { + $xs->element('georss:point', null, $lat . ' ' . $lon); + } + Event::handle('EndActivityGeo', array(&$this, &$xs, $lat, $lon)); } - $xs->elementEnd('entry'); + if (Event::handle('StartActivityEnd', array(&$this, &$xs))) { + $xs->elementEnd('entry'); + Event::handle('EndActivityEnd', array(&$this, &$xs)); + } return $xs->getString(); } @@ -1901,4 +2026,17 @@ class Notice extends Memcached_DataObject $this->is_local == Notice::LOCAL_NONPUBLIC); } + public function getTags() + { + $tags = array(); + $tag = new Notice_tag(); + $tag->notice_id = $this->id; + if ($tag->find()) { + while ($tag->fetch()) { + $tags[] = $tag->tag; + } + } + $tag->free(); + return $tags; + } } -- cgit v1.2.3 From 936f97b91479ece8ddc942bdb87c117f5d200a81 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 2 Aug 2010 17:56:23 -0700 Subject: document activity entry hooks --- EVENTS.txt | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) diff --git a/EVENTS.txt b/EVENTS.txt index cf9c6123f..7784e7d42 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -818,3 +818,230 @@ EndDeleteUser: handling the post for deleting a user - $action: action being shown - $user: user being deleted +StartActivityStart: starting the output for a notice activity +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$attrs: attributes (mostly namespace declarations, if any) + +EndActivityStart: end the opening tag for an activity +- &$notice: notice being output +- &$xs: XMLStringer for output +- $attrs: attributes (mostly namespace declarations, if any) + +StartActivitySource: before outputting the element for a notice activity +- &$notice: notice being output +- &$xs: XMLStringer for output + +EndActivitySource: after outputting the element for a notice activity +- &$notice: notice being output +- &$xs: XMLStringer for output + +StartActivityTitle: before outputting notice activity title +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$title: title of the notice, mutable + +EndActivityTitle: after outputting notice activity title +- $notice: notice being output +- &$xs: XMLStringer for output +- $title: title of the notice + +StartActivityAuthor: before outputting atom author +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$atomAuthor: string for XML representing atom author + +EndActivityAuthor: after outputting atom author +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$atomAuthor: string for XML representing atom author + +StartActivityActor: before outputting activity actor element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$actor: string for XML representing activity actor + +EndActivityActor: after outputting activity actor element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$actor: string for XML representing activity actor + +StartActivityLink: before outputting activity HTML link element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$url: URL for activity HTML link element for a notice activity entry + +EndActivityLink: before outputting activity HTML link element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $url: URL for activity HTML link element for a notice activity entry + +StartActivityId: before outputting atom:id element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$id: atom:id (notice URI by default) + +EndActivityId: after outputting atom:id element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $id: atom:id (notice URI by default) + +StartActivityPublished: before outputting atom:published element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$published: atom:published value (notice created by default) + +EndActivityPublished: before outputting atom:published element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $published: atom:published value (notice created by default) + +StartActivityUpdated: before outputting atom:updated element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$updated: atom:updated value (same as atom:published by default) + +EndActivityUpdated: after outputting atom:updated element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $updated: atom:updated value (same as atom:published by default) + +StartActivityContent: before outputting atom:content element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$content: atom:content value (notice rendered HTML by default) + +EndActivityContent: after outputting atom:content element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $content: atom:content value (notice rendered HTML by default) + +StartActivityVerb: before outputting activity:verb element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$verb: activity:verb URI ('http://activitystrea.ms/schema/1.0/post' by default) + +EndActivityVerb: after outputting activity:verb element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $verb: activity:verb URI ('http://activitystrea.ms/schema/1.0/post' by default) + +StartActivityDefaultObjectType: before outputting activity:object-type element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$type: activity:object-type URI for default object ('http://activitystrea.ms/schema/1.0/note' by default) + +EndActivityDefaultObjectType: after outputting activity:verb element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $type: activity:object-type URI for default object ('http://activitystrea.ms/schema/1.0/note' by default) + +StartActivityObjects: before outputting activity:object elements for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$objects: array of ActivityObject objects to output (empty by default) + +EndActivityObjects: after outputting activity:object elements for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $objects: array of ActivityObject objects to output (empty by default) + +StartActivityNoticeInfo: before outputting statusnet:notice-info element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$noticeInfoAttr: array of attributes for notice info element + +EndActivityNoticeInfo: after outputting statusnet:notice-info element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $noticeInfoAttr: array of attributes for notice info element + +StartActivityInReplyTo: before outputting thr:in-reply-to element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$replyNotice: Notice object the main notice is in-reply-to + +EndActivityInReplyTo: after outputting thr:in-reply-to element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $replyNotice: Notice object the main notice is in-reply-to + +StartActivityConversation: before outputting ostatus:conversation link element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$conv: Conversation object + +EndActivityConversation: after outputting ostatus:conversation link element for a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $conv: Conversation object + +StartActivityAttentionProfiles: before outputting ostatus:attention link element for people in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$replyProfiles: array of profiles of people being replied to + +EndActivityAttentionProfiles: after outputting ostatus:attention link element for people in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $replyProfiles: array of Profile object of people being replied to + +StartActivityAttentionGroups: before outputting ostatus:attention link element for groups in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$groups: array of Group objects of groups being addressed + +EndActivityAttentionGroups: after outputting ostatus:attention link element for groups in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $groups: array of Group objects of groups being addressed + +StartActivityForward: before outputting ostatus:forward link element in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$repeat: Notice that was repeated + +EndActivityForward: after outputting ostatus:forward link element in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $repeat: Notice that was repeated + +StartActivityCategories: before outputting atom:category elements in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$tags: array of strings for tags on the notice (used for categories) + +EndActivityCategories: after outputting atom:category elements in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $tags: array of strings for tags on the notice (used for categories) + +StartActivityEnclosures: before outputting enclosure link elements in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$enclosures: array of enclosure objects (see File::getEnclosure() for details) + +EndActivityEnclosures: after outputting enclosure link elements in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $enclosures: array of enclosure objects (see File::getEnclosure() for details) + +StartActivityGeo: before outputting geo:rss element in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- &$lat: latitude +- &$lon: longitude + +EndActivityGeo: after outputting geo:rss element in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output +- $lat: latitude +- $lon: longitude + +StartActivityEnd: before the closing in a notice activity entry (last chance for data!) +- &$notice: notice being output +- &$xs: XMLStringer for output + +EndActivityEnd: after the closing in a notice activity entry +- &$notice: notice being output +- &$xs: XMLStringer for output -- cgit v1.2.3 From f12cafb275ea16903d5d5edeb3b9e46b9f7b2667 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 2 Aug 2010 17:56:44 -0700 Subject: correct output for EndActivityInReplyTo event --- classes/Notice.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/Notice.php b/classes/Notice.php index 592e2f384..f6e9eb585 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1391,7 +1391,7 @@ class Notice extends Memcached_DataObject $xs->element('thr:in-reply-to', array('ref' => $replyNotice->uri, 'href' => $replyNotice->bestUrl())); - Event::handle('EndActivityInReplyTo', array(&$this, &$xs, $replyUri, $replyUrl)); + Event::handle('EndActivityInReplyTo', array(&$this, &$xs, $replyNotice)); } } -- cgit v1.2.3 From 74d8746697f16baabb6cae0343101af71323505b Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Tue, 3 Aug 2010 15:31:54 +0200 Subject: Localisation updates from http://translatewiki.net --- locale/af/LC_MESSAGES/statusnet.po | 8 +-- locale/ar/LC_MESSAGES/statusnet.po | 8 +-- locale/arz/LC_MESSAGES/statusnet.po | 8 +-- locale/bg/LC_MESSAGES/statusnet.po | 8 +-- locale/br/LC_MESSAGES/statusnet.po | 8 +-- locale/ca/LC_MESSAGES/statusnet.po | 11 +++-- locale/cs/LC_MESSAGES/statusnet.po | 8 +-- locale/da/LC_MESSAGES/statusnet.po | 8 +-- locale/de/LC_MESSAGES/statusnet.po | 68 +++++++++++++------------- locale/el/LC_MESSAGES/statusnet.po | 8 +-- locale/en_GB/LC_MESSAGES/statusnet.po | 8 +-- locale/es/LC_MESSAGES/statusnet.po | 91 +++++++++++++++++------------------ locale/fa/LC_MESSAGES/statusnet.po | 8 +-- locale/fi/LC_MESSAGES/statusnet.po | 8 +-- locale/fr/LC_MESSAGES/statusnet.po | 36 +++++++------- locale/ga/LC_MESSAGES/statusnet.po | 8 +-- locale/gl/LC_MESSAGES/statusnet.po | 8 +-- locale/he/LC_MESSAGES/statusnet.po | 8 +-- locale/hsb/LC_MESSAGES/statusnet.po | 15 +++--- locale/ia/LC_MESSAGES/statusnet.po | 30 +++++------- locale/is/LC_MESSAGES/statusnet.po | 8 +-- locale/it/LC_MESSAGES/statusnet.po | 8 +-- locale/ja/LC_MESSAGES/statusnet.po | 8 +-- locale/ko/LC_MESSAGES/statusnet.po | 8 +-- locale/mk/LC_MESSAGES/statusnet.po | 55 ++++++++++----------- locale/nb/LC_MESSAGES/statusnet.po | 8 +-- locale/nl/LC_MESSAGES/statusnet.po | 20 ++++---- locale/nn/LC_MESSAGES/statusnet.po | 8 +-- locale/pl/LC_MESSAGES/statusnet.po | 62 +++++++++++------------- locale/pt/LC_MESSAGES/statusnet.po | 64 ++++++++++++------------ locale/pt_BR/LC_MESSAGES/statusnet.po | 8 +-- locale/ru/LC_MESSAGES/statusnet.po | 60 +++++++++++------------ locale/statusnet.pot | 4 +- locale/sv/LC_MESSAGES/statusnet.po | 15 +++--- locale/te/LC_MESSAGES/statusnet.po | 8 +-- locale/tr/LC_MESSAGES/statusnet.po | 8 +-- locale/uk/LC_MESSAGES/statusnet.po | 32 ++++++------ locale/vi/LC_MESSAGES/statusnet.po | 8 +-- locale/zh_CN/LC_MESSAGES/statusnet.po | 20 ++++---- locale/zh_TW/LC_MESSAGES/statusnet.po | 8 +-- 40 files changed, 376 insertions(+), 407 deletions(-) diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po index 8d364af01..a1a8a6801 100644 --- a/locale/af/LC_MESSAGES/statusnet.po +++ b/locale/af/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:11+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:38+0000\n" "Language-Team: Afrikaans\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: af\n" "X-Message-Group: out-statusnet\n" @@ -4726,7 +4726,7 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po index a05581c02..c5e7f56b8 100644 --- a/locale/ar/LC_MESSAGES/statusnet.po +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:13+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:39+0000\n" "Language-Team: Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ar\n" "X-Message-Group: out-statusnet\n" @@ -4740,7 +4740,7 @@ msgstr "مشكلة أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تي @%1$s %2$s" diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po index 998cd2ba4..dc0555848 100644 --- a/locale/arz/LC_MESSAGES/statusnet.po +++ b/locale/arz/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:15+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:41+0000\n" "Language-Team: Egyptian Spoken Arabic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: arz\n" "X-Message-Group: out-statusnet\n" @@ -4768,7 +4768,7 @@ msgstr "مشكله أثناء حفظ الإشعار." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "آر تى @%1$s %2$s" diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po index a96f15b3b..4661bc824 100644 --- a/locale/bg/LC_MESSAGES/statusnet.po +++ b/locale/bg/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:17+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:42+0000\n" "Language-Team: Bulgarian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: bg\n" "X-Message-Group: out-statusnet\n" @@ -4920,7 +4920,7 @@ msgstr "Проблем при записване на бележката." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po index ef056587e..676ef5a27 100644 --- a/locale/br/LC_MESSAGES/statusnet.po +++ b/locale/br/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:19+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:44+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: out-statusnet\n" @@ -4745,7 +4745,7 @@ msgstr "Ur gudenn 'zo bet pa veze enrollet boest degemer ar strollad." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po index 0bfe31682..94bca4e7f 100644 --- a/locale/ca/LC_MESSAGES/statusnet.po +++ b/locale/ca/LC_MESSAGES/statusnet.po @@ -1,6 +1,7 @@ # Translation of StatusNet to Catalan # # Author@translatewiki.net: Aleator +# Author@translatewiki.net: McDutchie # Author@translatewiki.net: Paucabot # Author@translatewiki.net: Toniher # -- @@ -10,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:20+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:45+0000\n" "Language-Team: Catalan\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ca\n" "X-Message-Group: out-statusnet\n" @@ -4991,7 +4992,7 @@ msgstr "S'ha produït un problema en desar la safata d'entrada del grup." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -7012,7 +7013,7 @@ msgstr "" #: lib/themeuploader.php:178 msgid "Invalid theme archive: missing file css/display.css" -msgstr "L'arxiu del tema no és vàlid: manca el fitxer de css / display.css" +msgstr "L'arxiu del tema no és vàlid: manca el fitxer css/display.css" #: lib/themeuploader.php:205 msgid "" diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po index 101b0a25f..0834169e9 100644 --- a/locale/cs/LC_MESSAGES/statusnet.po +++ b/locale/cs/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:22+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:47+0000\n" "Language-Team: Czech\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: cs\n" "X-Message-Group: out-statusnet\n" @@ -4954,7 +4954,7 @@ msgstr "Problém při ukládání sdělení" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/da/LC_MESSAGES/statusnet.po b/locale/da/LC_MESSAGES/statusnet.po index 1b15c4ec4..772ca0e56 100644 --- a/locale/da/LC_MESSAGES/statusnet.po +++ b/locale/da/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:24+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:48+0000\n" "Language-Team: Danish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: da\n" "X-Message-Group: out-statusnet\n" @@ -4728,7 +4728,7 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po index 91444a48f..8154220b7 100644 --- a/locale/de/LC_MESSAGES/statusnet.po +++ b/locale/de/LC_MESSAGES/statusnet.po @@ -16,12 +16,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:25+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:49+0000\n" "Language-Team: German\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: out-statusnet\n" @@ -175,24 +175,22 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kannst versuchen, [%1$s in seinem Profil einen Stups zu geben](../%2$s) " -"oder [ihm etwas posten](%%%%action.newnotice%%%%?status_textarea=%s) um " -"seine Aufmerksamkeit zu erregen." +"oder [ihm etwas posten](%%%%action.newnotice%%%%?status_textarea=%s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." msgstr "" "Warum [registrierst Du nicht einen Account](%%%%action.register%%%%) und " -"gibst %s dann einen Stups oder postest ihm etwas, um seine Aufmerksamkeit zu " -"erregen?" +"gibst %s dann einen Stups oder postest ihm etwas." #. TRANS: H1 text #: actions/all.php:182 @@ -524,9 +522,8 @@ msgid "groups on %s" msgstr "Gruppen von %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Datei hochladen" +msgstr "Hochladen fehlgeschlagen." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -674,6 +671,8 @@ msgstr "Keine Nachricht mit dieser ID gefunden." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." msgstr "" +"Der Client muss einen „status“-Parameter mit einen Wert zur Verfügung " +"stellen." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3566,13 +3565,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Feed der Nachrichten von %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." msgstr "" -"Dies ist die Zeitleiste für %1$s und Freunde aber bisher hat niemand etwas " -"gepostet." +"Dies ist die Zeitleiste für %1$s, aber %2$s hat noch keine Notiz dazu " +"erhalten." #: actions/replies.php:204 #, php-format @@ -3584,14 +3583,13 @@ msgstr "" "beitreten](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." msgstr "" "Du kannst versuchen [%1$s einen Stups zu geben](../%s) oder [ihm etwas " -"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit " -"zu erregen." +"posten](%%%%action.newnotice%%%%?status_textarea=%s)." #: actions/repliesrss.php:72 #, php-format @@ -3767,7 +3765,7 @@ msgstr "" "richten und sie in deine Lesezeichen aufzunehmen." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" @@ -3776,15 +3774,15 @@ msgstr "" "einfach eine interessante Nachricht, damit sich daran etwas ändert :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" -"%s hat noch keine Nachrichten zu seinen Favoriten hinzugefügt. Warum meldest " -"du dich nicht an ( [anmelden](%%%%action.register%%%%) ) und schreibst " -"etwas, was %s hinzufügen kann!" +"%s hat noch keine Nachrichten zu seinen Favoriten hinzugefügt. Warum " +"[meldest du dich nicht an](%%%%action.register%%%%) und schreibst etwas, was " +"%s hinzufügen kann!" #: actions/showfavorites.php:243 msgid "This is a way to share what you like." @@ -3965,13 +3963,13 @@ msgstr "" "geschrieben, jetzt wäre doch ein guter Zeitpunkt los zu legen :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." msgstr "" "Du kannst %1$s in seinem Profil einen Stups geben oder [ihm etwas posten](%%%" -"%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit zu erregen." +"%action.newnotice%%%%?status_textarea=%s)." #: actions/showstream.php:243 #, php-format @@ -4854,7 +4852,7 @@ msgstr "Autor(en)" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Die URL „%s“ konnte nicht verarbeitet werden" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 @@ -4923,7 +4921,7 @@ msgstr "Konnte keinen Login-Token für %s erstellen" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 msgid "No database name or DSN found anywhere." -msgstr "" +msgstr "Nirgedwo einen Datenbanknamen oder DSN gefunden." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4945,7 +4943,7 @@ msgstr "Konnte Nachricht nicht mit neuer URI versehen." #: classes/Notice.php:98 #, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "" +msgstr "Kein Profil (%1$d) für eine Notiz gefunden (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4996,6 +4994,7 @@ msgstr "Problem bei Speichern der Nachricht." #: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" msgstr "" +"Der Methode saveKnownGroups wurde ein schlechter Wert zur Verfügung gestellt" #. TRANS: Server exception thrown when an update for a group inbox fails. #: classes/Notice.php:991 @@ -5004,7 +5003,7 @@ msgstr "Problem bei Speichern der Nachricht." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -5015,6 +5014,8 @@ msgstr "RT @%1$s %2$s" #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" +"Die Rolle „%1$s“ kann nicht für Benutzer #%2$d widerrufen werden. Benutzer " +"existiert nicht." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). @@ -5022,6 +5023,8 @@ msgstr "" #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"Die Rolle „%1$s“ kann nicht für Benutzer #%2$d widerrufen werden. " +"Datenbankfehler." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 @@ -5030,9 +5033,8 @@ msgstr "Benutzer hat kein Profil." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 -#, fuzzy msgid "Unable to save tag." -msgstr "Konnte Seitenbenachrichtigung nicht speichern" +msgstr "Konnte Seitenbenachrichtigung nicht speichern." #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing. #: classes/Subscription.php:75 lib/oauthstore.php:465 @@ -5057,15 +5059,13 @@ msgstr "Nicht abonniert!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." -msgstr "Konnte Abonnement nicht löschen." +msgstr "Konnte Selbst-Abonnement nicht löschen." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." -msgstr "Konnte OMB-Abonnement nicht löschen." +msgstr "Konnte OMB-Abonnement-Token nicht löschen." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po index e7eb3e809..704ae6c2a 100644 --- a/locale/el/LC_MESSAGES/statusnet.po +++ b/locale/el/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:27+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:51+0000\n" "Language-Team: Greek\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: el\n" "X-Message-Group: out-statusnet\n" @@ -4879,7 +4879,7 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po index 2a35ec5f2..d4d793a36 100644 --- a/locale/en_GB/LC_MESSAGES/statusnet.po +++ b/locale/en_GB/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:29+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:52+0000\n" "Language-Team: British English\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: en-gb\n" "X-Message-Group: out-statusnet\n" @@ -4894,7 +4894,7 @@ msgstr "Problem saving group inbox." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po index 5bc26ba89..ae6f2929a 100644 --- a/locale/es/LC_MESSAGES/statusnet.po +++ b/locale/es/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:30+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:54+0000\n" "Language-Team: Spanish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: out-statusnet\n" @@ -173,22 +173,22 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Puedes intentar [darle un toque a %1$s](../%2$s) desde su perfil o [publicar " -"algo a su atención](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"Puedes intentar [zarandear a %1$s](../%2$s) desde su perfil o [publicar algo " +"a ellos](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." msgstr "" -"¿Por qué no [registrar una cuenta](%%%%action.register%%%%) y luego darle un " -"toque a %s o publicar algo a su atención?" +"Por qué no [registrar una cuenta](%%%%action.register%%%%) y luego zarandear " +"a %s o publicar una nota a ellos?" #. TRANS: H1 text #: actions/all.php:182 @@ -368,9 +368,8 @@ msgid "Could not delete favorite." msgstr "No se pudo borrar favorito." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "No puede seguir al usuario. Usuario no encontrado" +msgstr "No se pudo seguir al usuario: Perfil no encontrado." #: actions/apifriendshipscreate.php:118 #, php-format @@ -386,9 +385,8 @@ msgid "You cannot unfollow yourself." msgstr "No puedes dejar de seguirte a ti mismo." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Deben proveerse dos identificaciones de usuario o nombres en pantalla." +msgstr "Deben proveerse dos IDs válidos o nombres en pantalla." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -518,9 +516,8 @@ msgid "groups on %s" msgstr "Grupos en %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Subir archivo" +msgstr "Carga falló." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -670,7 +667,7 @@ msgstr "No hay estado para ese ID" #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "El cliente debe proveer un parámetro de 'status' con un valor." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -2520,12 +2517,11 @@ msgstr "" "¡Actualizaciones que contienen el término de búsqueda \"%1$s\" en %2$s!" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" -"Este usuario no permite toques o todavía no confirma o configura su correo " -"electrónico." +"Este usuario no permite zarandeos o todavía no confirma o configura su " +"correo electrónico." #: actions/nudge.php:94 msgid "Nudge sent" @@ -3560,13 +3556,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Feed de avisos de %s" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." msgstr "" "Esta es la línea temporal que muestra las respuestas a a %1$s, pero %2$s aún " -"no ha recibido ningún aviso a su atención." +"no ha recibido ningún aviso." #: actions/replies.php:204 #, php-format @@ -3578,13 +3574,13 @@ msgstr "" "o [unirte a grupos](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Puedes intentar [darle un toque a %1$s](../%2$s) o [publicar algo en su " -"atención](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"Puedes intentar [zarandear a %1$s](../%2$s) o [publicar algo a ellos](%%%%" +"action.newnotice%%%%?status_textarea=%3$s)." #: actions/repliesrss.php:72 #, php-format @@ -3759,24 +3755,24 @@ msgstr "" "los avisos que quieras para ponerles un marcador o resaltarlos." #: actions/showfavorites.php:208 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Post something interesting they " "would add to their favorites :)" msgstr "" -"%s aún no ha añadido ningún aviso a sus favoritos. ¡Publica algo interesante " -"que pueda añadir a sus favoritos! :)" +"%s aún no ha agregado ningún aviso a sus favoritos. Publica algo interesante " +"que pueda añadir a sus favoritos :)" #: actions/showfavorites.php:212 -#, fuzzy, php-format +#, php-format msgid "" "%s hasn't added any favorite notices yet. Why not [register an account](%%%%" "action.register%%%%) and then post something interesting they would add to " "their favorites :)" msgstr "" -"%s aún no ha añadido ningún aviso a sus favoritos. ¿Por qué no [registras " -"una cuenta] (%%%%action.register%%%%) y publicas algo interesante que pueda " -"añadir a sus favoritos? :)" +"%s aún no ha añadido ningún aviso a sus favoritos. Por qué no [registras una " +"cuenta] (%%%%action.register%%%%) y publicas algo interesante que puedan " +"añadir a sus favoritos :)" #: actions/showfavorites.php:243 msgid "This is a way to share what you like." @@ -3956,13 +3952,13 @@ msgstr "" "publicación, así que este puede ser un buen momento para empezar :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." msgstr "" -"Puedes intentar darle un toque a %1$s o [publicar algo a su atención](%%%%" -"action.newnotice%%%%?status_textarea=%2$s)." +"Puedes intentar zarandear a %1$s o [publicar algo a ellos](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4846,23 +4842,23 @@ msgstr "Autor(es)" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "No se puede procesar URL '%s'" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr " Robin piensa que algo es imposible." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. #: classes/File.php:190 -#, fuzzy, php-format +#, php-format msgid "" "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. " "Try to upload a smaller version." msgstr "" -"No puede haber un archivo de tamaño mayor a %d bytes y el archivo subido es " -"de %d bytes. Por favor, intenta subir una versión más ligera." +"Ningún archivopuede ser de tamaño mayor a %1$d bytes y el archivo que " +"enviaste es de %2$d bytes. Trata de subir una versión más pequeña." #. TRANS: Message given if an upload would exceed user quota. #. TRANS: %d (number) is the user quota in bytes. @@ -4881,9 +4877,8 @@ msgstr "Un archivo tan grande podría sobrepasar tu cuota mensual de %d bytes." #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Tamaño inválido." +msgstr "Nombre de archivo inválido." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4915,7 +4910,7 @@ msgstr "No se pudo crear el token de acceso para %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 msgid "No database name or DSN found anywhere." -msgstr "" +msgstr "Ningún nombre de base de datos o DSN encontrado." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4937,7 +4932,7 @@ msgstr "No se pudo actualizar mensaje con nuevo URI." #: classes/Notice.php:98 #, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "" +msgstr "No existe tal perfil (%1$d) para notificar (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4986,7 +4981,7 @@ msgstr "Hubo un problema al guardar el aviso." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). #: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "Mal tipo proveído a saveKnownGroups" #. TRANS: Server exception thrown when an update for a group inbox fails. #: classes/Notice.php:991 @@ -4995,7 +4990,7 @@ msgstr "Hubo un problema al guarda la bandeja de entrada del grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -5005,7 +5000,7 @@ msgstr "RT @%1$s %2$s" #: classes/Profile.php:740 #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." -msgstr "" +msgstr "No se puede revocar rol \"%1$s\" para usuario #%2$d; no existe." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). @@ -5013,6 +5008,7 @@ msgstr "" #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"No se puede revocar rol \"%1$s\" para usuario #%2$d; error de base de datos." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 @@ -5052,9 +5048,8 @@ msgstr "No se pudo eliminar la auto-suscripción." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." -msgstr "No se pudo eliminar el token OMB de suscripción." +msgstr "No se pudo eliminar la ficha OMB de suscripción." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po index fcd4dc5ea..685d96e4a 100644 --- a/locale/fa/LC_MESSAGES/statusnet.po +++ b/locale/fa/LC_MESSAGES/statusnet.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:34+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:57+0000\n" "Last-Translator: Ahmad Sufi Mahmudi\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" "X-Language-Code: fa\n" "X-Message-Group: out-statusnet\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" #. TRANS: Page title @@ -4934,7 +4934,7 @@ msgstr "هنگام ذخیرهٔ صندوق ورودی گروه مشکلی رخ #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po index 5640db546..a087c5777 100644 --- a/locale/fi/LC_MESSAGES/statusnet.po +++ b/locale/fi/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:32+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:55+0000\n" "Language-Team: Finnish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fi\n" "X-Message-Group: out-statusnet\n" @@ -5057,7 +5057,7 @@ msgstr "Ongelma päivityksen tallentamisessa." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po index 9713fca80..3246555e1 100644 --- a/locale/fr/LC_MESSAGES/statusnet.po +++ b/locale/fr/LC_MESSAGES/statusnet.po @@ -15,12 +15,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:35+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:21:58+0000\n" "Language-Team: French\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: out-statusnet\n" @@ -173,7 +173,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -183,7 +183,7 @@ msgstr "" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." @@ -519,9 +519,8 @@ msgid "groups on %s" msgstr "groupes sur %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Importer un fichier" +msgstr "Échec du téléversement." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -675,7 +674,7 @@ msgstr "Aucun statut trouvé avec cet identifiant." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "Le client doit fournir un paramètre « statut » avec une valeur." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3574,7 +3573,7 @@ msgid "Replies feed for %s (Atom)" msgstr "Flux des réponses pour %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." @@ -3593,7 +3592,7 @@ msgstr "" "%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." @@ -3977,7 +3976,7 @@ msgstr "" "d’avis pour le moment, vous pourriez commencer maintenant :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." @@ -4874,7 +4873,7 @@ msgstr "Auteur(s)" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Impossible de traiter l’URL « %s »" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 @@ -4940,9 +4939,8 @@ msgstr "Impossible de créer le jeton d’identification pour %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -#, fuzzy msgid "No database name or DSN found anywhere." -msgstr "Aucun nom de base de donnée ou aucun DSN n’a été trouvé." +msgstr "Aucune base de données de nom ou DSN trouvée nulle part." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -5022,7 +5020,7 @@ msgstr "Problème lors de l’enregistrement de la boîte de réception du group #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -5030,19 +5028,19 @@ msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" -"Impossible de révoquer le rôle de « %s » pour l'utilisateur #%2$s : " +"Impossible de révoquer le rôle de « %1$s » pour l’utilisateur #%2$d : " "l’utilisateur n’existe pas." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" -"Impossible de révoquer le rôle de « %s » pour l'utilisateur #%2$s : erreur " +"Impossible de révoquer le rôle de « %1$s » pour l’utilisateur #%2$d : erreur " "dans la base de données." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po index 6812abfae..dc3c53286 100644 --- a/locale/ga/LC_MESSAGES/statusnet.po +++ b/locale/ga/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:37+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:00+0000\n" "Language-Team: Irish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ga\n" "X-Message-Group: out-statusnet\n" @@ -5114,7 +5114,7 @@ msgstr "Aconteceu un erro ó gardar o chío." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po index 809c5e1e4..40e79f782 100644 --- a/locale/gl/LC_MESSAGES/statusnet.po +++ b/locale/gl/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:39+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:01+0000\n" "Language-Team: Galician\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: out-statusnet\n" @@ -4992,7 +4992,7 @@ msgstr "Houbo un problema ao gardar a caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "♻ @%1$s %2$s" diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po index e64129c02..d8d60e729 100644 --- a/locale/he/LC_MESSAGES/statusnet.po +++ b/locale/he/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:40+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:03+0000\n" "Language-Team: Hebrew\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: he\n" "X-Message-Group: out-statusnet\n" @@ -4957,7 +4957,7 @@ msgstr "בעיה בשמירת ההודעה." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po index eda3c1620..e0cc3dc43 100644 --- a/locale/hsb/LC_MESSAGES/statusnet.po +++ b/locale/hsb/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:42+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:04+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: hsb\n" "X-Message-Group: out-statusnet\n" @@ -501,9 +501,8 @@ msgid "groups on %s" msgstr "skupiny na %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Dataju nahrać" +msgstr "Nahraće je so njeporadźiło." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -4706,7 +4705,7 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" @@ -5086,13 +5085,13 @@ msgstr "" #. TRANS: present than the currently displayed information. #: lib/action.php:1203 msgid "After" -msgstr "" +msgstr "Po" #. TRANS: Pagination message to go to a page displaying information more in the #. TRANS: past than the currently displayed information. #: lib/action.php:1213 msgid "Before" -msgstr "" +msgstr "Před" #. TRANS: Client exception thrown when a feed instance is a DOMDocument. #: lib/activity.php:122 diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po index 58d6e1e0f..e0961e447 100644 --- a/locale/ia/LC_MESSAGES/statusnet.po +++ b/locale/ia/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:44+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:07+0000\n" "Language-Team: Interlingua\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: out-statusnet\n" @@ -166,7 +166,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -175,7 +175,7 @@ msgstr "" "message a su attention](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." @@ -361,9 +361,8 @@ msgid "Could not delete favorite." msgstr "Non poteva deler le favorite." #: actions/apifriendshipscreate.php:109 -#, fuzzy msgid "Could not follow user: profile not found." -msgstr "Non poteva sequer le usator: Usator non trovate." +msgstr "Non poteva sequer le usator: profilo non trovate." #: actions/apifriendshipscreate.php:118 #, php-format @@ -379,9 +378,8 @@ msgid "You cannot unfollow yourself." msgstr "Tu non pote cessar de sequer te mesme." #: actions/apifriendshipsexists.php:91 -#, fuzzy msgid "Two valid IDs or screen_names must be supplied." -msgstr "Duo IDs de usator o pseudonymos debe esser fornite." +msgstr "Duo IDs o pseudonymos valide debe esser fornite." #: actions/apifriendshipsshow.php:134 msgid "Could not determine source user." @@ -509,9 +507,8 @@ msgid "groups on %s" msgstr "gruppos in %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Incargar file" +msgstr "Le incargamento ha fallite." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -661,7 +658,7 @@ msgstr "Nulle stato trovate con iste ID." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "Le cliente debe fornir un parametro 'status' con un valor." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -2511,7 +2508,6 @@ msgid "Updates matching search term \"%1$s\" on %2$s!" msgstr "Actualisationes correspondente al termino de recerca \"%1$s\" in %2$s!" #: actions/nudge.php:85 -#, fuzzy msgid "" "This user doesn't allow nudges or hasn't confirmed or set their email yet." msgstr "" @@ -3538,13 +3534,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Syndication de responsas pro %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." msgstr "" "Isto es le chronologia de responsas a %1$s, ma %2$s non ha ancora recipite " -"alcun nota a su attention." +"un nota a su attention." #: actions/replies.php:204 #, php-format @@ -3556,7 +3552,7 @@ msgstr "" "personas o [devenir membro de gruppos](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." @@ -4969,7 +4965,7 @@ msgstr "Problema salveguardar le cassa de entrata del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po index 5191d40f6..963d21424 100644 --- a/locale/is/LC_MESSAGES/statusnet.po +++ b/locale/is/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:45+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:08+0000\n" "Language-Team: Icelandic\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: is\n" "X-Message-Group: out-statusnet\n" @@ -5009,7 +5009,7 @@ msgstr "Vandamál komu upp við að vista babl." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po index 26d99a6a2..401889a5c 100644 --- a/locale/it/LC_MESSAGES/statusnet.po +++ b/locale/it/LC_MESSAGES/statusnet.po @@ -10,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:47+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:10+0000\n" "Language-Team: Italian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: it\n" "X-Message-Group: out-statusnet\n" @@ -4968,7 +4968,7 @@ msgstr "Problema nel salvare la casella della posta del gruppo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po index dd739b75f..1141b3427 100644 --- a/locale/ja/LC_MESSAGES/statusnet.po +++ b/locale/ja/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:49+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:11+0000\n" "Language-Team: Japanese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ja\n" "X-Message-Group: out-statusnet\n" @@ -5001,7 +5001,7 @@ msgstr "グループ受信箱を保存する際に問題が発生しました。 #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po index e252526d1..c40002fc5 100644 --- a/locale/ko/LC_MESSAGES/statusnet.po +++ b/locale/ko/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:50+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:13+0000\n" "Language-Team: Korean\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ko\n" "X-Message-Group: out-statusnet\n" @@ -4982,7 +4982,7 @@ msgstr "통지를 저장하는데 문제가 발생했습니다." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po index a412c788f..383d7a91a 100644 --- a/locale/mk/LC_MESSAGES/statusnet.po +++ b/locale/mk/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:52+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:14+0000\n" "Language-Team: Macedonian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: out-statusnet\n" @@ -168,23 +168,22 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Можете да се обидете да го [подбуцнете корисникот %1$s](../%2$s) од неговиот " -"профил или да [објавите нешто што сакате да го прочита](%%%%action.newnotice%" -"%%%?status_textarea=%3$s)." +"Можете да го [подбуцнете корисникот %1$s](../%2$s) од неговиот профил или да " +"[му испратите нешто](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." msgstr "" "А зошто не се [регистрирате](%%%%action.register%%%%), и потоа да го " -"подбуцнете корисникот %s или да објавите забелешка што сакате да ја прочита." +"подбуцнете корисникот %s или да му испратите забелешка." #. TRANS: H1 text #: actions/all.php:182 @@ -514,9 +513,8 @@ msgid "groups on %s" msgstr "групи на %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Подигни податотека" +msgstr "Подигањето не успеа." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -663,7 +661,7 @@ msgstr "Нема пронајдено статус со тој ID." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "Клиентот мора да укаже вредност за параметарот „статус“" #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3547,13 +3545,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Канал со одговори за %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." msgstr "" "Ова е историјата на која се прикажани одговорите на %1$s, но %2$s сè уште " -"нема добиено нечија забелешка." +"нема добиено забелешка за нив." #: actions/replies.php:204 #, php-format @@ -3565,14 +3563,13 @@ msgstr "" "други луѓе или да [се зачленувате во групи](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Можете да се обидете да го [подбуцнете корисникот 1$s](../%2$s) или да " -"[објавите нешто што сакате да го прочита](%%%%action.newnotice%%%%?" -"status_textarea=%3$s)." +"Можете да го [подбуцнете корисникот 1$s](../%2$s) или да [му испратите нешто]" +"(%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/repliesrss.php:72 #, php-format @@ -3947,13 +3944,13 @@ msgstr "" "ниедна забелешка, но сега е добро време за да почнете :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." msgstr "" -"Можете да се обидете да го подбуцнете корисникот %1$s или [да објавите нешто " -"што сакате да го прочита](%%%%action.newnotice%%%%?status_textarea=%2$s)." +"Можете да го подбуцнете корисникот %1$s или [му испратите нешто](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4838,7 +4835,7 @@ msgstr "Автор(и)" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Не можам да ја обработам URL-адресата „%s“" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 @@ -4905,9 +4902,8 @@ msgstr "Не можам да создадам најавен жетон за" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -#, fuzzy msgid "No database name or DSN found anywhere." -msgstr "Никаде не е пронајдено име на базата / DSN" +msgstr "Никаде не е пронајдено име на базата или DSN." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4987,7 +4983,7 @@ msgstr "Проблем при зачувувањето на групното п #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -4995,18 +4991,19 @@ msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" -"Не можам да му ја одземам улогата „%s“ на корисникот #%2$s. Таа не постои." +"Не можам да му ја одземам улогата „%1$s“ на корисникот #%2$s. Таква улога не " +"постои." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" -"Не можам да му ја одземам улогата „%1$s“ на корисникот #%2$s. Има грешка во " +"Не можам да му ја одземам улогата „%1$s“ на корисникот #%2$d. Има грешка во " "базата на податоци." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po index fa130dd94..6616a6a6b 100644 --- a/locale/nb/LC_MESSAGES/statusnet.po +++ b/locale/nb/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:54+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:16+0000\n" "Language-Team: Norwegian (bokmål)‬\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: out-statusnet\n" @@ -4895,7 +4895,7 @@ msgstr "Problem ved lagring av gruppeinnboks." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po index 301796ebd..c98e1d84a 100644 --- a/locale/nl/LC_MESSAGES/statusnet.po +++ b/locale/nl/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:57+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:19+0000\n" "Language-Team: Dutch\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: out-statusnet\n" @@ -169,7 +169,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -179,7 +179,7 @@ msgstr "" "status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." @@ -3572,7 +3572,7 @@ msgid "Replies feed for %s (Atom)" msgstr "Antwoordenfeed voor %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." @@ -3590,7 +3590,7 @@ msgstr "" "abonneren of [lid worden van groepen](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." @@ -3972,7 +3972,7 @@ msgstr "" "verstuurd, dus dit is een ideaal moment om daarmee te beginnen!" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." @@ -5026,7 +5026,7 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -7062,7 +7062,7 @@ msgstr "" #: lib/themeuploader.php:178 msgid "Invalid theme archive: missing file css/display.css" msgstr "" -"Ongeldig bestand met vormgeving: het bestand display.css is niet aanwezig" +"Ongeldig bestand met vormgeving: het bestand css/display.css is niet aanwezig" #: lib/themeuploader.php:205 msgid "" diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po index 4c0cf9db6..9d1c47205 100644 --- a/locale/nn/LC_MESSAGES/statusnet.po +++ b/locale/nn/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:56+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:17+0000\n" "Language-Team: Norwegian Nynorsk\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nn\n" "X-Message-Group: out-statusnet\n" @@ -5047,7 +5047,7 @@ msgstr "Eit problem oppstod ved lagring av notis." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po index 4358016d0..fe0581a69 100644 --- a/locale/pl/LC_MESSAGES/statusnet.po +++ b/locale/pl/LC_MESSAGES/statusnet.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 22:59:59+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:20+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pl\n" "X-Message-Group: out-statusnet\n" @@ -172,23 +172,22 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" "Można spróbować [szturchnąć użytkownika %1$s](../%2$s) z jego profilu lub " -"[wysłać coś wymagającego jego uwagi](%%%%action.newnotice%%%%?" -"status_textarea=%3$s)." +"[wysłać mu coś](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." msgstr "" "Dlaczego nie [zarejestrujesz konta](%%%%action.register%%%%) i wtedy " -"szturchniesz użytkownika %s lub wyślesz wpis wymagającego jego uwagi." +"szturchniesz użytkownika %s lub wyślesz mu wpis." #. TRANS: H1 text #: actions/all.php:182 @@ -517,9 +516,8 @@ msgid "groups on %s" msgstr "grupy na %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Wyślij plik" +msgstr "Wysłanie nie powiodło się." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -665,7 +663,7 @@ msgstr "Nie odnaleziono stanów z tym identyfikatorem." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "Klient musi dostarczać parametr \"stan\" z wartością." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3522,13 +3520,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Kanał odpowiedzi dla użytkownika %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." msgstr "" "To jest oś czasu wyświetlająca odpowiedzi na wpisy użytkownika %1$s, ale %2" -"$s nie otrzymał jeszcze wpisów wymagających jego uwagi." +"$s nie otrzymał jeszcze wpisów." #: actions/replies.php:204 #, php-format @@ -3540,13 +3538,13 @@ msgstr "" "[dołączyć do grup](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Można spróbować [szturchnąć użytkownika %1$s](../%2$s) lub [wysłać coś " -"wymagającego jego uwagi](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"Można spróbować [szturchnąć użytkownika %1$s](../%2$s) lub [wysłać mu coś](%%" +"%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/repliesrss.php:72 #, php-format @@ -3920,13 +3918,13 @@ msgstr "" "teraz jest dobry czas, aby zacząć. :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." msgstr "" -"Można spróbować szturchnąć użytkownika %1$s lub [wysłać coś wymagajacego " -"jego uwagi](%%%%action.newnotice%%%%?status_textarea=%2$s)." +"Można spróbować szturchnąć użytkownika %1$s lub [wysłać mu coś](%%%%action." +"newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4807,12 +4805,12 @@ msgstr "Autorzy" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Nie można przetworzyć adresu URL \"%s\"" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Robin sądzi, że coś jest niemożliwe." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. @@ -4844,9 +4842,8 @@ msgstr "" #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Nieprawidłowy rozmiar." +msgstr "Nieprawidłowa nazwa pliku." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4878,7 +4875,7 @@ msgstr "Nie można utworzyć tokenów loginów dla %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 msgid "No database name or DSN found anywhere." -msgstr "" +msgstr "Nigdzie nie odnaleziono nazwy lub DSN bazy danych." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4898,9 +4895,9 @@ msgstr "Nie można zaktualizować wiadomości za pomocą nowego adresu URL." #. TRANS: Server exception thrown when a user profile for a notice cannot be found. #. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). #: classes/Notice.php:98 -#, fuzzy, php-format +#, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "Brak profilu (%d) dla wpisu (%d)" +msgstr "Brak profilu (%1$d) dla wpisu (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4949,7 +4946,7 @@ msgstr "Problem podczas zapisywania wpisu." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). #: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "Podano błędne dane do saveKnownGroups" #. TRANS: Server exception thrown when an update for a group inbox fails. #: classes/Notice.php:991 @@ -4958,7 +4955,7 @@ msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -4968,7 +4965,7 @@ msgstr "RT @%1$s %2$s" #: classes/Profile.php:740 #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." -msgstr "" +msgstr "Nie można unieważnić roli \"\"%1$s\" użytkownika #%2$d; nie istnieje." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). @@ -4976,12 +4973,12 @@ msgstr "" #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"Nie można unieważnić roli \"%1$s\" użytkownika #%2$d; błąd bazy danych." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "Użytkownik nie posiada profilu." +msgstr "Brak profilu." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 @@ -5010,19 +5007,16 @@ msgstr "Niesubskrybowane." #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." msgstr "Nie można usunąć autosubskrypcji." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." msgstr "Nie można usunąć tokenu subskrypcji OMB." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." msgstr "Nie można usunąć subskrypcji." diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po index 66cc7d957..f7e479154 100644 --- a/locale/pt/LC_MESSAGES/statusnet.po +++ b/locale/pt/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:01+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:22+0000\n" "Language-Team: Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt\n" "X-Message-Group: out-statusnet\n" @@ -168,22 +168,22 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Pode tentar [dar um toque em %1$s](../%2$s) a partir do perfil ou [publicar " -"qualquer coisa à sua atenção](%%%%action.newnotice%%%%?status_textarea=%3$s)." +"Pode tentar [dar um toque em %1$s](../%2$s) a partir do perfil ou [endereçar-" +"lhe uma nota](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." msgstr "" "Podia [registar uma conta](%%%%action.register%%%%) e depois dar um toque em " -"%s ou publicar uma nota à sua atenção." +"%s ou endereçar-lhe uma nota." #. TRANS: H1 text #: actions/all.php:182 @@ -510,9 +510,8 @@ msgid "groups on %s" msgstr "Grupos em %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Carregar ficheiro" +msgstr "O upload falhou." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -657,7 +656,7 @@ msgstr "Não foi encontrado um estado com esse ID." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "O cliente tem de fornecer um parâmetro 'status' com um valor." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3531,13 +3530,12 @@ msgid "Replies feed for %s (Atom)" msgstr "Fonte de respostas a %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." msgstr "" -"Estas são as notas de resposta a %1$s, mas %2$s ainda não recebeu nenhuma " -"nota à sua atenção." +"Estas são as respostas a %1$s, mas ainda nenhuma nota foi endereçada a %2$s." #: actions/replies.php:204 #, php-format @@ -3549,13 +3547,13 @@ msgstr "" "[juntar-se a grupos](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Pode tentar [dar um toque em %1$s](../%2$s) ou [publicar algo à sua atenção]" -"(%%%%action.newnotice%%%%?status_textarea=%3$s)." +"Pode tentar [dar um toque em %1$s](../%2$s) ou [endereçar-lhe uma nota](%%%%" +"action.newnotice%%%%?status_textarea=%3$s)." #: actions/repliesrss.php:72 #, php-format @@ -3929,12 +3927,12 @@ msgstr "" "esta seria uma óptima altura para começar :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." msgstr "" -"Pode tentar dar um toque em %1$s ou [publicar algo à sua atenção](%%%%action." +"Pode tentar dar um toque em %1$s ou [endereçar-lhe uma nota](%%%%action." "newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 @@ -4813,12 +4811,12 @@ msgstr "Autores" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Não é possível processar a URL '$s'" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "o Robin acha que algo é impossível." #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. @@ -4848,9 +4846,8 @@ msgstr "Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes." #. TRANS: Client exception thrown if a file upload does not have a valid name. #: classes/File.php:248 classes/File.php:263 -#, fuzzy msgid "Invalid filename." -msgstr "Tamanho inválido." +msgstr "Nome de ficheiro inválido." #. TRANS: Exception thrown when joining a group fails. #: classes/Group_member.php:42 @@ -4882,7 +4879,7 @@ msgstr "Não foi possível criar a chave de entrada para %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 msgid "No database name or DSN found anywhere." -msgstr "" +msgstr "Não foi encontrado nenhum nome de base de dados ou DSN." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4902,9 +4899,9 @@ msgstr "Não foi possível actualizar a mensagem com a nova URI." #. TRANS: Server exception thrown when a user profile for a notice cannot be found. #. TRANS: %1$d is a profile ID (number), %2$d is a notice ID (number). #: classes/Notice.php:98 -#, fuzzy, php-format +#, php-format msgid "No such profile (%1$d) for notice (%2$d)." -msgstr "Não existe o perfil (%d) para a nota (%d)" +msgstr "Não existe o perfil (%1$d) para a nota (%2$d)." #. TRANS: Server exception. %s are the error details. #: classes/Notice.php:190 @@ -4953,7 +4950,7 @@ msgstr "Problema na gravação da nota." #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups(). #: classes/Notice.php:892 msgid "Bad type provided to saveKnownGroups" -msgstr "" +msgstr "O tipo fornecido ao método saveKnownGroups é incorrecto" #. TRANS: Server exception thrown when an update for a group inbox fails. #: classes/Notice.php:991 @@ -4962,7 +4959,7 @@ msgstr "Problema na gravação da caixa de entrada do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -4973,6 +4970,7 @@ msgstr "RT @%1$s %2$s" #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" +"Não é possível revogar a função \"%1$s\" do utilizador #%2$d; não existe." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). @@ -4980,12 +4978,13 @@ msgstr "" #, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" +"Não é possível revogar a função \"%1$s\" do utilizador #%2$d; erro na base " +"de dados." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 -#, fuzzy msgid "Missing profile." -msgstr "Utilizador não tem perfil." +msgstr "Perfil não existe." #. TRANS: Exception thrown when a tag cannot be saved. #: classes/Status_network.php:346 @@ -5014,19 +5013,16 @@ msgstr "Não subscrito!" #. TRANS: Exception thrown when trying to unsubscribe a user from themselves. #: classes/Subscription.php:178 -#, fuzzy msgid "Could not delete self-subscription." msgstr "Não foi possível apagar a auto-subscrição." #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server. #: classes/Subscription.php:206 -#, fuzzy msgid "Could not delete subscription OMB token." -msgstr "Não foi possível apagar a chave de subscrição OMB." +msgstr "Não foi possível apagar a chave OMB da subscrição." #. TRANS: Exception thrown when a subscription could not be deleted on the server. #: classes/Subscription.php:218 -#, fuzzy msgid "Could not delete subscription." msgstr "Não foi possível apagar a subscrição." diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po index bf9def292..cb77836d4 100644 --- a/locale/pt_BR/LC_MESSAGES/statusnet.po +++ b/locale/pt_BR/LC_MESSAGES/statusnet.po @@ -13,12 +13,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:05+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:23+0000\n" "Language-Team: Brazilian Portuguese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: out-statusnet\n" @@ -4995,7 +4995,7 @@ msgstr "Problema no salvamento das mensagens recebidas do grupo." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po index 76b6fe057..869212945 100644 --- a/locale/ru/LC_MESSAGES/statusnet.po +++ b/locale/ru/LC_MESSAGES/statusnet.po @@ -1,7 +1,6 @@ # Translation of StatusNet to Russian # # Author@translatewiki.net: Brion -# Author@translatewiki.net: Eleferen # Author@translatewiki.net: Kirill # Author@translatewiki.net: Lockal # Author@translatewiki.net: Rubin @@ -13,12 +12,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:07+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:25+0000\n" "Language-Team: Russian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: out-statusnet\n" @@ -171,23 +170,22 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» из профиля или [написать " -"что-нибудь для привлечения его или её внимания](%%%%action.newnotice%%%%?" -"status_textarea=%3$s)." +"Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» из их профиля или " +"[написать им что-нибудь](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." msgstr "" "Почему бы не [зарегистрироваться](%%%%action.register%%%%), чтобы " -"«подтолкнуть» %s или отправить запись для привлечения его или её внимания?" +"«подтолкнуть» %s или оставить запись для них?" #. TRANS: H1 text #: actions/all.php:182 @@ -518,9 +516,8 @@ msgid "groups on %s" msgstr "группы на %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Загрузить файл" +msgstr "Загрузка не удалась." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -667,7 +664,7 @@ msgstr "Не найдено статуса с таким ID." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "Клиент должен предоставить параметр «status» со значением." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3539,13 +3536,13 @@ msgid "Replies feed for %s (Atom)" msgstr "Лента записей для %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." msgstr "" -"Эта лента содержит ответы для %1$s, однако %2$s пока не получил запись для " -"привлечения внимания." +"Эта лента содержит ответы для %1$s, однако %2$s пока не получил уведомление " +"о них." #: actions/replies.php:204 #, php-format @@ -3557,14 +3554,13 @@ msgstr "" "число людей или [присоединившись к группам](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." msgstr "" -"Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» или [написать что-нибудь " -"для привлечения его или её внимания](%%%%action.newnotice%%%%?" -"status_textarea=%3$s)." +"Вы можете попробовать «[подтолкнуть %1$s](../%2$s)» или [написать им что-" +"нибудь](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/repliesrss.php:72 #, php-format @@ -3938,14 +3934,13 @@ msgstr "" "сейчас хорошее время для начала :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." msgstr "" -"Вы можете попробовать «подтолкнуть» %1$s или [написать что-нибудь для " -"привлечения его или её внимания](%%%%action.newnotice%%%%?status_textarea=%2" -"$s)." +"Вы можете попробовать «подтолкнуть» %1$s или [написать что-нибудь для них](%%%" +"%action.newnotice%%%%?status_textarea=%2$s)." #: actions/showstream.php:243 #, php-format @@ -4829,7 +4824,7 @@ msgstr "Автор(ы)" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Невозможно обработать URL «%s»" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 @@ -4895,9 +4890,8 @@ msgstr "Не удаётся создать токен входа для %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -#, fuzzy msgid "No database name or DSN found anywhere." -msgstr "Имя базы данных / DSN не найдено" +msgstr "Имя базы данных или DSN не найдено." #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4977,7 +4971,7 @@ msgstr "Проблемы с сохранением входящих сообще #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -4985,19 +4979,19 @@ msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "" -"Не удаётся отозвать право «%s» для пользователя #%2$s; пользователь не " +"Не удаётся отозвать право «%1%s» для пользователя #%2$d; пользователь не " "существует." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" -"Не удаётся отозвать право «%1%s» для пользователя #%2$s; ошибка базы данных." +"Не удаётся отозвать право «%1$s» для пользователя #%2$d; ошибка базы данных." #. TRANS: Exception thrown when a right for a non-existing user profile is checked. #: classes/Remote_profile.php:54 @@ -6700,7 +6694,7 @@ msgstr "из" #: lib/noticelist.php:567 msgid "in context" -msgstr "в контексте" +msgstr "переписка" #: lib/noticelist.php:602 msgid "Repeated by" diff --git a/locale/statusnet.pot b/locale/statusnet.pot index c25209f4f..961810055 100644 --- a/locale/statusnet.pot +++ b/locale/statusnet.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4679,7 +4679,7 @@ msgstr "" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po index fb00c585d..68ba9a6a9 100644 --- a/locale/sv/LC_MESSAGES/statusnet.po +++ b/locale/sv/LC_MESSAGES/statusnet.po @@ -1,6 +1,7 @@ # Translation of StatusNet to Swedish # # Author@translatewiki.net: Jamminjohn +# Author@translatewiki.net: Kjell # Author@translatewiki.net: McDutchie # -- # This file is distributed under the same license as the StatusNet package. @@ -9,12 +10,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:09+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:26+0000\n" "Language-Team: Swedish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: sv\n" "X-Message-Group: out-statusnet\n" @@ -4808,12 +4809,12 @@ msgstr "Författare" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Webbadressen '%s' kan inte bearbeta" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 msgid "Robin thinks something is impossible." -msgstr "" +msgstr "Robin tycker att något är omöjligt" #. TRANS: Message given if an upload is larger than the configured maximum. #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file. @@ -4956,7 +4957,7 @@ msgstr "Problem med att spara gruppinkorg." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -6964,7 +6965,7 @@ msgstr "" #: lib/themeuploader.php:178 msgid "Invalid theme archive: missing file css/display.css" -msgstr "Ogiltigt temaarkiv: css fil / display.css saknas" +msgstr "Ogiltigt temaarkiv: filen css/display.css saknas" #: lib/themeuploader.php:205 msgid "" diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po index acf9a681e..e83ab4a30 100644 --- a/locale/te/LC_MESSAGES/statusnet.po +++ b/locale/te/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:11+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:28+0000\n" "Language-Team: Telugu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: te\n" "X-Message-Group: out-statusnet\n" @@ -4842,7 +4842,7 @@ msgstr "సందేశాన్ని భద్రపరచడంలో పొ #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po index 6d1301400..18140c3e0 100644 --- a/locale/tr/LC_MESSAGES/statusnet.po +++ b/locale/tr/LC_MESSAGES/statusnet.po @@ -9,12 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:13+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:29+0000\n" "Language-Team: Turkish\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tr\n" "X-Message-Group: out-statusnet\n" @@ -4960,7 +4960,7 @@ msgstr "Durum mesajını kaydederken hata oluştu." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po index a332ffa6e..73ae72166 100644 --- a/locale/uk/LC_MESSAGES/statusnet.po +++ b/locale/uk/LC_MESSAGES/statusnet.po @@ -11,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:15+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:31+0000\n" "Language-Team: Ukrainian\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: out-statusnet\n" @@ -170,7 +170,7 @@ msgstr "" #. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@" #: actions/all.php:146 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) from their profile or [post something " "to them](%%%%action.newnotice%%%%?status_textarea=%3$s)." @@ -179,7 +179,7 @@ msgstr "" "йому написати](%%%%action.newnotice%%%%?status_textarea=%3$s)." #: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211 -#, fuzzy, php-format +#, php-format msgid "" "Why not [register an account](%%%%action.register%%%%) and then nudge %s or " "post a notice to them." @@ -513,9 +513,8 @@ msgid "groups on %s" msgstr "групи на %s" #: actions/apimediaupload.php:99 -#, fuzzy msgid "Upload failed." -msgstr "Завантажити файл" +msgstr "Збій при завантаженні." #: actions/apioauthauthorize.php:101 msgid "No oauth_token parameter provided." @@ -664,7 +663,7 @@ msgstr "Не знайдено жодних статусів з таким ID." #: actions/apistatusesupdate.php:221 msgid "Client must provide a 'status' parameter with a value." -msgstr "" +msgstr "Клієнт мусить надати параметр «статус» зі значенням." #: actions/apistatusesupdate.php:242 actions/newnotice.php:155 #: lib/mailhandler.php:60 @@ -3530,7 +3529,7 @@ msgid "Replies feed for %s (Atom)" msgstr "Стрічка відповідей до %s (Atom)" #: actions/replies.php:199 -#, fuzzy, php-format +#, php-format msgid "" "This is the timeline showing replies to %1$s but %2$s hasn't received a " "notice to them yet." @@ -3548,7 +3547,7 @@ msgstr "" "більшої кількості людей або [приєднавшись до груп](%%action.groups%%)." #: actions/replies.php:206 -#, fuzzy, php-format +#, php-format msgid "" "You can try to [nudge %1$s](../%2$s) or [post something to them](%%%%action." "newnotice%%%%?status_textarea=%3$s)." @@ -3927,7 +3926,7 @@ msgstr "" "аби розпочати! :)" #: actions/showstream.php:207 -#, fuzzy, php-format +#, php-format msgid "" "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%" "%?status_textarea=%2$s)." @@ -4814,7 +4813,7 @@ msgstr "Автор(и)" #: classes/File.php:143 #, php-format msgid "Cannot process URL '%s'" -msgstr "" +msgstr "Неможливо обробити URL «%s»" #. TRANS: Server exception thrown when... Robin thinks something is impossible! #: classes/File.php:175 @@ -4880,9 +4879,8 @@ msgstr "Не вдалося створити токен входу для %s" #. TRANS: Exception thrown when database name or Data Source Name could not be found. #: classes/Memcached_DataObject.php:533 -#, fuzzy msgid "No database name or DSN found anywhere." -msgstr "Немає імені бази даних / DSN ніде не знайдено" +msgstr "Немає імені бази даних або DSN ніде не знайдено" #. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them. #: classes/Message.php:46 @@ -4962,7 +4960,7 @@ msgstr "Проблема при збереженні вхідних дописі #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "RT @%1$s %2$s" @@ -4970,14 +4968,14 @@ msgstr "RT @%1$s %2$s" #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:740 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist." msgstr "Не вдалося скасувати роль «%s» для користувача #%2$s; не існує." #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query. #. TRANS: %1$s is the role name, %2$s is the user ID (number). #: classes/Profile.php:749 -#, fuzzy, php-format +#, php-format msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error." msgstr "" "Не вдалося скасувати роль «%1$s» для користувача #%2$s; помилка бази даних." diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po index 886c96388..60164da4d 100644 --- a/locale/vi/LC_MESSAGES/statusnet.po +++ b/locale/vi/LC_MESSAGES/statusnet.po @@ -8,12 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:16+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:32+0000\n" "Language-Team: Vietnamese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: vi\n" "X-Message-Group: out-statusnet\n" @@ -5103,7 +5103,7 @@ msgstr "Có lỗi xảy ra khi lưu tin nhắn." #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%s (%s)" diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po index dca464164..bd331de65 100644 --- a/locale/zh_CN/LC_MESSAGES/statusnet.po +++ b/locale/zh_CN/LC_MESSAGES/statusnet.po @@ -1,5 +1,6 @@ # Translation of StatusNet to Simplified Chinese # +# Author@translatewiki.net: Chenxiaoqino # Author@translatewiki.net: Shizhao # -- # Messages of identi.ca @@ -10,12 +11,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:18+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:34+0000\n" "Language-Team: Simplified Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: out-statusnet\n" @@ -437,7 +438,7 @@ msgstr "全名过长(不能超过 255 个字符)。" #: actions/newapplication.php:172 #, fuzzy, php-format msgid "Description is too long (max %d chars)." -msgstr "描述过长(不能超过140字符)。" +msgstr "描述过长(不能超过%d 个字符)。" #: actions/apigroupcreate.php:227 actions/editgroup.php:208 #: actions/newgroup.php:148 actions/profilesettings.php:232 @@ -449,7 +450,7 @@ msgstr "位置过长(不能超过255个字符)。" #: actions/newgroup.php:159 #, php-format msgid "Too many aliases! Maximum %d." -msgstr "" +msgstr "太多化名了!最多%d 个。" #: actions/apigroupcreate.php:267 #, fuzzy, php-format @@ -460,19 +461,18 @@ msgstr "主页'%s'不正确" #: actions/newgroup.php:172 #, fuzzy, php-format msgid "Alias \"%s\" already in use. Try another one." -msgstr "昵称已被使用,换一个吧。" +msgstr "昵称%s已被使用,换一个吧。" #: actions/apigroupcreate.php:289 actions/editgroup.php:238 #: actions/newgroup.php:178 msgid "Alias can't be the same as nickname." -msgstr "" +msgstr "昵称不能和化名相同。" #: actions/apigroupismember.php:96 actions/apigroupjoin.php:105 #: actions/apigroupleave.php:105 actions/apigroupmembership.php:92 #: actions/apigroupshow.php:83 actions/apitimelinegroup.php:92 -#, fuzzy msgid "Group not found." -msgstr "API 方法未实现!" +msgstr "小组未找到。" #: actions/apigroupjoin.php:111 actions/joingroup.php:100 #, fuzzy @@ -5045,7 +5045,7 @@ msgstr "保存通告时出错。" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, fuzzy, php-format msgid "RT @%1$s %2$s" msgstr "%1$s (%2$s)" diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po index 751abbb28..1e5b44ae6 100644 --- a/locale/zh_TW/LC_MESSAGES/statusnet.po +++ b/locale/zh_TW/LC_MESSAGES/statusnet.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-31 22:59+0000\n" -"PO-Revision-Date: 2010-07-31 23:00:20+0000\n" +"POT-Creation-Date: 2010-08-03 13:21+0000\n" +"PO-Revision-Date: 2010-08-03 13:22:35+0000\n" "Language-Team: Traditional Chinese\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: MediaWiki 1.17alpha (r70249); Translate extension (2010-07-21)\n" +"X-Generator: MediaWiki 1.17alpha (r70381); Translate extension (2010-07-21)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hant\n" "X-Message-Group: out-statusnet\n" @@ -4868,7 +4868,7 @@ msgstr "儲存使用者發生錯誤" #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: classes/Notice.php:1600 +#: classes/Notice.php:1614 #, php-format msgid "RT @%1$s %2$s" msgstr "" -- cgit v1.2.3 From 1a6148f0e41708c32fd410cc7530d9fb1efebcae Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 13:41:44 -0700 Subject: initial unit tests for activity generation --- tests/ActivityGenerationTests.php | 182 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 tests/ActivityGenerationTests.php diff --git a/tests/ActivityGenerationTests.php b/tests/ActivityGenerationTests.php new file mode 100644 index 000000000..a2e3c2480 --- /dev/null +++ b/tests/ActivityGenerationTests.php @@ -0,0 +1,182 @@ +author1 = User::register(array('nickname' => $authorNick1, + 'email' => $authorNick1 . '@example.net', + 'email_confirmed' => true)); + + $this->author2 = User::register(array('nickname' => $authorNick2, + 'email' => $authorNick2 . '@example.net', + 'email_confirmed' => true)); + + $this->targetUser1 = User::register(array('nickname' => $targetNick1, + 'email' => $targetNick1 . '@example.net', + 'email_confirmed' => true)); + + $this->targetUser2 = User::register(array('nickname' => $targetNick2, + 'email' => $targetNick2 . '@example.net', + 'email_confirmed' => true)); + + } + + public function testBasicNoticeActivity() + { + $notice = $this->_fakeNotice(); + + $entry = $notice->asAtomEntry(true); + + echo $entry; + + $element = $this->_entryToElement($entry, false); + + $this->assertEquals($notice->uri, ActivityUtils::childContent($element, 'id')); + $this->assertEquals($notice->content, ActivityUtils::childContent($element, 'title')); + $this->assertEquals($notice->rendered, ActivityUtils::childContent($element, 'content')); + $this->assertEquals(strtotime($notice->created), strtotime(ActivityUtils::childContent($element, 'published'))); + $this->assertEquals(strtotime($notice->created), strtotime(ActivityUtils::childContent($element, 'updated'))); + $this->assertEquals(ActivityVerb::POST, ActivityUtils::childContent($element, 'verb', Activity::SPEC)); + $this->assertEquals(ActivityObject::NOTE, ActivityUtils::childContent($element, 'object-type', Activity::SPEC)); + } + + public function testNamespaceFlag() + { + $notice = $this->_fakeNotice(); + + $entry = $notice->asAtomEntry(true); + + $element = $this->_entryToElement($entry, false); + + $this->assertTrue($element->hasAttribute('xmlns')); + $this->assertTrue($element->hasAttribute('xmlns:thr')); + $this->assertTrue($element->hasAttribute('xmlns:georss')); + $this->assertTrue($element->hasAttribute('xmlns:activity')); + $this->assertTrue($element->hasAttribute('xmlns:media')); + $this->assertTrue($element->hasAttribute('xmlns:poco')); + $this->assertTrue($element->hasAttribute('xmlns:ostatus')); + $this->assertTrue($element->hasAttribute('xmlns:statusnet')); + + $entry = $notice->asAtomEntry(false); + + $element = $this->_entryToElement($entry, true); + + $this->assertFalse($element->hasAttribute('xmlns')); + $this->assertFalse($element->hasAttribute('xmlns:thr')); + $this->assertFalse($element->hasAttribute('xmlns:georss')); + $this->assertFalse($element->hasAttribute('xmlns:activity')); + $this->assertFalse($element->hasAttribute('xmlns:media')); + $this->assertFalse($element->hasAttribute('xmlns:poco')); + $this->assertFalse($element->hasAttribute('xmlns:ostatus')); + $this->assertFalse($element->hasAttribute('xmlns:statusnet')); + } + + public function testReplyActivity() + { + $this->assertTrue(FALSE); + } + + public function testMultipleReplyActivity() + { + $this->assertTrue(FALSE); + } + + public function testGroupPostActivity() + { + $this->assertTrue(FALSE); + } + + public function testMultipleGroupPostActivity() + { + $this->assertTrue(FALSE); + } + + public function testRepeatActivity() + { + $this->assertTrue(FALSE); + } + + public function testTaggedActivity() + { + $this->assertTrue(FALSE); + } + + public function testGeotaggedActivity() + { + $this->assertTrue(FALSE); + } + + public function tearDown() + { + $this->author1->delete(); + $this->author2->delete(); + $this->targetUser1->delete(); + $this->targetUser2->delete(); + } + + private function _fakeNotice($user = null, $text = null) + { + if (empty($user)) { + $user = $this->author1; + } + + if (empty($text)) { + $text = "fake-o text-o " . common_good_rand(32); + } + + return Notice::saveNew($user->id, $text, 'test', array('uri' => null)); + } + + private function _entryToElement($entry, $namespace = false) + { + $xml = ''."\n\n"; + $xml .= '' . "\n"; + $doc = DOMDocument::loadXML($xml); + $feed = $doc->documentElement; + $entries = $feed->getElementsByTagName('entry'); + + return $entries->item(0); + } +} -- cgit v1.2.3 From 6756a752c4835f4fd7ab46266f008b2d0a594fb1 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 14:17:36 -0700 Subject: add some more tests for replies and group posts --- tests/ActivityGenerationTests.php | 249 ++++++++++++++++++++++++++++++++++---- 1 file changed, 227 insertions(+), 22 deletions(-) diff --git a/tests/ActivityGenerationTests.php b/tests/ActivityGenerationTests.php index a2e3c2480..9c7f13208 100644 --- a/tests/ActivityGenerationTests.php +++ b/tests/ActivityGenerationTests.php @@ -23,16 +23,18 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase var $targetGroup1 = null; var $targetGroup2 = null; - public function setUp() + function __construct() { - $authorNick1 = 'activitygenerationtestsuser' . common_good_rand(16); - $authorNick2 = 'activitygenerationtestsuser' . common_good_rand(16); + parent::__construct(); - $targetNick1 = 'activitygenerationteststarget' . common_good_rand(16); - $targetNick2 = 'activitygenerationteststarget' . common_good_rand(16); + $authorNick1 = 'activitygenerationtestsuser' . common_good_rand(4); + $authorNick2 = 'activitygenerationtestsuser' . common_good_rand(4); - $groupNick1 = 'activitygenerationtestsgroup' . common_good_rand(16); - $groupNick2 = 'activitygenerationtestsgroup' . common_good_rand(16); + $targetNick1 = 'activitygenerationteststarget' . common_good_rand(4); + $targetNick2 = 'activitygenerationteststarget' . common_good_rand(4); + + $groupNick1 = 'activitygenerationtestsgroup' . common_good_rand(4); + $groupNick2 = 'activitygenerationtestsgroup' . common_good_rand(4); $this->author1 = User::register(array('nickname' => $authorNick1, 'email' => $authorNick1 . '@example.net', @@ -50,6 +52,24 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase 'email' => $targetNick2 . '@example.net', 'email_confirmed' => true)); + $this->targetGroup1 = User_group::register(array('nickname' => $groupNick1, + 'userid' => $this->author1->id, + 'aliases' => array(), + 'local' => true, + 'location' => null, + 'description' => null, + 'fullname' => null, + 'homepage' => null, + 'mainpage' => null)); + $this->targetGroup2 = User_group::register(array('nickname' => $groupNick2, + 'userid' => $this->author1->id, + 'aliases' => array(), + 'local' => true, + 'location' => null, + 'description' => null, + 'fullname' => null, + 'homepage' => null, + 'mainpage' => null)); } public function testBasicNoticeActivity() @@ -58,8 +78,6 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $entry = $notice->asAtomEntry(true); - echo $entry; - $element = $this->_entryToElement($entry, false); $this->assertEquals($notice->uri, ActivityUtils::childContent($element, 'id')); @@ -102,27 +120,190 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $this->assertFalse($element->hasAttribute('xmlns:statusnet')); } - public function testReplyActivity() + public function testSourceFlag() { - $this->assertTrue(FALSE); + $notice = $this->_fakeNotice(); + + // Test with no source + + $entry = $notice->asAtomEntry(false, false); + + $element = $this->_entryToElement($entry, true); + + $source = ActivityUtils::child($element, 'source'); + + $this->assertNull($source); + + // Test with source + + $entry = $notice->asAtomEntry(false, true); + + $element = $this->_entryToElement($entry, true); + + $source = ActivityUtils::child($element, 'source'); + + $this->assertNotNull($source); } - public function testMultipleReplyActivity() + public function testSourceContent() { - $this->assertTrue(FALSE); + $notice = $this->_fakeNotice(); + // make a time difference! + sleep(2); + $notice2 = $this->_fakeNotice(); + + $entry = $notice->asAtomEntry(false, true); + + $element = $this->_entryToElement($entry, true); + + $source = ActivityUtils::child($element, 'source'); + + $atomUrl = common_local_url('ApiTimelineUser', array('id' => $this->author1->id, 'format' => 'atom')); + + $profile = $this->author1->getProfile(); + + $this->assertEquals($atomUrl, ActivityUtils::childContent($source, 'id')); + $this->assertEquals($atomUrl, ActivityUtils::getLink($source, 'self', 'application/atom+xml')); + $this->assertEquals($profile->profileurl, ActivityUtils::getPermalink($source)); + $this->assertEquals($notice2->created, strtotime(ActivityUtils::childContent($source, 'updated'))); + // XXX: do we care here? + $this->assertFalse(is_null(ActivityUtils::childContent($source, 'title'))); + $this->assertEquals(common_config('license', 'url'), ActivityUtils::getLink($source, 'license')); } - public function testGroupPostActivity() + public function testAuthorFlag() { - $this->assertTrue(FALSE); + $notice = $this->_fakeNotice(); + + // Test with no author + + $entry = $notice->asAtomEntry(false, false, false); + + $element = $this->_entryToElement($entry, true); + + $this->assertNull(ActivityUtils::child($element, 'author')); + $this->assertNull(ActivityUtils::child($element, 'actor', Activity::SPEC)); + + // Test with source + + $entry = $notice->asAtomEntry(false, false, true); + + $element = $this->_entryToElement($entry, true); + + $author = ActivityUtils::child($element, 'author'); + $actor = ActivityUtils::child($element, 'actor', Activity::SPEC); + + $this->assertFalse(is_null($author)); + $this->assertFalse(is_null($actor)); } - public function testMultipleGroupPostActivity() + public function testCurArgument() { $this->assertTrue(FALSE); } - public function testRepeatActivity() + public function testReplyLink() + { + $orig = $this->_fakeNotice($this->targetUser1); + + $text = "@" . $this->targetUser1->nickname . " reply text " . common_good_rand(4); + + $reply = Notice::saveNew($this->author1->id, $text, 'test', array('uri' => null, 'reply_to' => $orig->id)); + + $entry = $reply->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $irt = ActivityUtils::child($element, 'in-reply-to', 'http://purl.org/syndication/thread/1.0'); + + $this->assertNotNull($irt); + $this->assertEquals($orig->uri, $irt->getAttribute('ref')); + $this->assertEquals($orig->bestUrl(), $irt->getAttribute('href')); + } + + public function testReplyAttention() + { + $orig = $this->_fakeNotice($this->targetUser1); + + $text = "@" . $this->targetUser1->nickname . " reply text " . common_good_rand(4); + + $reply = Notice::saveNew($this->author1->id, $text, 'test', array('uri' => null, 'reply_to' => $orig->id)); + + $entry = $reply->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $this->assertEquals($this->targetUser1->uri, ActivityUtils::getLink($element, 'ostatus:attention')); + } + + public function testMultipleReplyAttention() + { + $orig = $this->_fakeNotice($this->targetUser1); + + $text = "@" . $this->targetUser1->nickname . " reply text " . common_good_rand(4); + + $reply = Notice::saveNew($this->targetUser2->id, $text, 'test', array('uri' => null, 'reply_to' => $orig->id)); + + $text = "@" . $this->targetUser1->nickname . " @" . $this->targetUser2->nickname . " reply text " . common_good_rand(4); + + $reply2 = Notice::saveNew($this->author1->id, $text, 'test', array('uri' => null, 'reply_to' => $reply->id)); + + $entry = $reply2->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $links = ActivityUtils::getLinks($element, 'ostatus:attention'); + + $this->assertEquals(2, count($links)); + + $hrefs = array(); + + foreach ($links as $link) { + $hrefs[] = $link->getAttribute('href'); + } + + $this->assertTrue(in_array($this->targetUser1->uri, $hrefs)); + $this->assertTrue(in_array($this->targetUser2->uri, $hrefs)); + } + + public function testGroupPostAttention() + { + $text = "!" . $this->targetGroup1->nickname . " reply text " . common_good_rand(4); + + $notice = Notice::saveNew($this->author1->id, $text, 'test', array('uri' => null)); + + $entry = $notice->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $this->assertEquals($this->targetGroup1->uri, ActivityUtils::getLink($element, 'ostatus:attention')); + } + + public function testMultipleGroupPostAttention() + { + $text = "!" . $this->targetGroup1->nickname . " !" . $this->targetGroup2->nickname . " reply text " . common_good_rand(4); + + $notice = Notice::saveNew($this->author1->id, $text, 'test', array('uri' => null)); + + $entry = $notice->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $links = ActivityUtils::getLinks($element, 'ostatus:attention'); + + $this->assertEquals(2, count($links)); + + $hrefs = array(); + + foreach ($links as $link) { + $hrefs[] = $link->getAttribute('href'); + } + + $this->assertTrue(in_array($this->targetGroup1->uri, $hrefs)); + $this->assertTrue(in_array($this->targetGroup2->uri, $hrefs)); + } + + public function testRepeatLink() { $this->assertTrue(FALSE); } @@ -137,12 +318,36 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $this->assertTrue(FALSE); } - public function tearDown() + public function testNoticeInfo() { - $this->author1->delete(); - $this->author2->delete(); - $this->targetUser1->delete(); - $this->targetUser2->delete(); + $this->assertTrue(FALSE); + } + + function __destruct() + { + if (!is_null($this->author1)) { + $this->author1->delete(); + } + + if (!is_null($this->author2)) { + $this->author2->delete(); + } + + if (!is_null($this->targetUser1)) { + $this->targetUser1->delete(); + } + + if (!is_null($this->targetUser2)) { + $this->targetUser2->delete(); + } + + if (!is_null($this->targetGroup1)) { + $this->targetGroup1->delete(); + } + + if (!is_null($this->targetGroup2)) { + $this->targetGroup2->delete(); + } } private function _fakeNotice($user = null, $text = null) -- cgit v1.2.3 From 8d19162122bef8c0661473fc444cceeab7b5ac5a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 15:26:19 -0700 Subject: more tests for activity generation --- tests/ActivityGenerationTests.php | 176 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 169 insertions(+), 7 deletions(-) diff --git a/tests/ActivityGenerationTests.php b/tests/ActivityGenerationTests.php index 9c7f13208..cc82151b9 100644 --- a/tests/ActivityGenerationTests.php +++ b/tests/ActivityGenerationTests.php @@ -197,9 +197,21 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $this->assertFalse(is_null($actor)); } - public function testCurArgument() + public function testAuthorContent() { - $this->assertTrue(FALSE); + $notice = $this->_fakeNotice(); + + // Test with author + + $entry = $notice->asAtomEntry(false, false, true); + + $element = $this->_entryToElement($entry, true); + + $author = ActivityUtils::child($element, 'author'); + $actor = ActivityUtils::child($element, 'actor', Activity::SPEC); + + $this->assertEquals($this->author1->nickname, ActivityUtils::childContent($author, 'name')); + $this->assertEquals($this->author1->uri, ActivityUtils::childContent($author, 'uri')); } public function testReplyLink() @@ -305,22 +317,172 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase public function testRepeatLink() { - $this->assertTrue(FALSE); + $notice = $this->_fakeNotice($this->author1); + $repeat = $notice->repeat($this->author2->id, 'test'); + + $entry = $repeat->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $forward = ActivityUtils::child($element, 'forward', "http://ostatus.org/schema/1.0"); + + $this->assertNotNull($forward); + $this->assertEquals($notice->uri, $forward->getAttribute('ref')); + $this->assertEquals($notice->bestUrl(), $forward->getAttribute('href')); + } + + public function testTag() + { + $tag1 = common_good_rand(4); + + $notice = $this->_fakeNotice($this->author1, '#' . $tag1); + + $entry = $notice->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $category = ActivityUtils::child($element, 'category'); + + $this->assertNotNull($category); + $this->assertEquals($tag1, $category->getAttribute('term')); } - public function testTaggedActivity() + public function testMultiTag() { - $this->assertTrue(FALSE); + $tag1 = common_good_rand(4); + $tag2 = common_good_rand(4); + + $notice = $this->_fakeNotice($this->author1, '#' . $tag1 . ' #' . $tag2); + + $entry = $notice->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $categories = $element->getElementsByTagName('category'); + + $this->assertNotNull($categories); + $this->assertEquals(2, $categories->length); + + $terms = array(); + + for ($i = 0; $i < $categories->length; $i++) { + $cat = $categories->item($i); + $terms[] = $cat->getAttribute('term'); + } + + $this->assertTrue(in_array($tag1, $terms)); + $this->assertTrue(in_array($tag2, $terms)); } public function testGeotaggedActivity() { - $this->assertTrue(FALSE); + $notice = Notice::saveNew($this->author1->id, common_good_rand(4), 'test', array('uri' => null, 'lat' => 45.5, 'lon' => -73.6)); + + $entry = $notice->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $this->assertEquals('45.5 -73.6', ActivityUtils::childContent($element, 'point', "http://www.georss.org/georss")); } public function testNoticeInfo() { - $this->assertTrue(FALSE); + $notice = $this->_fakeNotice(); + + $entry = $notice->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $noticeInfo = ActivityUtils::child($element, 'notice_info', "http://status.net/schema/api/1/"); + + $this->assertEquals($notice->id, $noticeInfo->getAttribute('local_id')); + $this->assertEquals($notice->source, $noticeInfo->getAttribute('source')); + $this->assertEquals('', $noticeInfo->getAttribute('repeat_of')); + $this->assertEquals('', $noticeInfo->getAttribute('repeated')); + $this->assertEquals('', $noticeInfo->getAttribute('favorite')); + $this->assertEquals('', $noticeInfo->getAttribute('source_link')); + } + + public function testNoticeInfoRepeatOf() + { + $notice = $this->_fakeNotice(); + + $repeat = $notice->repeat($this->author2->id, 'test'); + + $entry = $repeat->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $noticeInfo = ActivityUtils::child($element, 'notice_info', "http://status.net/schema/api/1/"); + + $this->assertEquals($notice->id, $noticeInfo->getAttribute('repeat_of')); + } + + public function testNoticeInfoRepeated() + { + $notice = $this->_fakeNotice(); + + $repeat = $notice->repeat($this->author2->id, 'test'); + + $entry = $notice->asAtomEntry(false, false, false, $this->author2); + + $element = $this->_entryToElement($entry, true); + + $noticeInfo = ActivityUtils::child($element, 'notice_info', "http://status.net/schema/api/1/"); + + $this->assertEquals('true', $noticeInfo->getAttribute('repeated')); + + $entry = $notice->asAtomEntry(false, false, false, $this->targetUser1); + + $element = $this->_entryToElement($entry, true); + + $noticeInfo = ActivityUtils::child($element, 'notice_info', "http://status.net/schema/api/1/"); + + $this->assertEquals('false', $noticeInfo->getAttribute('repeated')); + } + + public function testNoticeInfoFave() + { + $notice = $this->_fakeNotice(); + + $fave = Fave::addNew($this->author2->getProfile(), $notice); + + // Should be set if user has faved + + $entry = $notice->asAtomEntry(false, false, false, $this->author2); + + $element = $this->_entryToElement($entry, true); + + $noticeInfo = ActivityUtils::child($element, 'notice_info', "http://status.net/schema/api/1/"); + + $this->assertEquals('true', $noticeInfo->getAttribute('favorite')); + + // Shouldn't be set if user has not faved + + $entry = $notice->asAtomEntry(false, false, false, $this->targetUser1); + + $element = $this->_entryToElement($entry, true); + + $noticeInfo = ActivityUtils::child($element, 'notice_info', "http://status.net/schema/api/1/"); + + $this->assertEquals('false', $noticeInfo->getAttribute('favorite')); + } + + public function testConversationLink() + { + $orig = $this->_fakeNotice($this->targetUser1); + + $text = "@" . $this->targetUser1->nickname . " reply text " . common_good_rand(4); + + $reply = Notice::saveNew($this->author1->id, $text, 'test', array('uri' => null, 'reply_to' => $orig->id)); + + $conv = Conversation::staticGet('id', $reply->conversation); + + $entry = $reply->asAtomEntry(); + + $element = $this->_entryToElement($entry, true); + + $this->assertEquals($conv->uri, ActivityUtils::getLink($element, 'ostatus:conversation')); } function __destruct() -- cgit v1.2.3 From 744233c6dc385a5870652ab70e7141e75aaff783 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 15:49:49 -0700 Subject: add actor info to tests --- tests/ActivityGenerationTests.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/tests/ActivityGenerationTests.php b/tests/ActivityGenerationTests.php index cc82151b9..52077ee57 100644 --- a/tests/ActivityGenerationTests.php +++ b/tests/ActivityGenerationTests.php @@ -165,7 +165,7 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $this->assertEquals($atomUrl, ActivityUtils::childContent($source, 'id')); $this->assertEquals($atomUrl, ActivityUtils::getLink($source, 'self', 'application/atom+xml')); $this->assertEquals($profile->profileurl, ActivityUtils::getPermalink($source)); - $this->assertEquals($notice2->created, strtotime(ActivityUtils::childContent($source, 'updated'))); + $this->assertEquals(strtotime($notice2->created), strtotime(ActivityUtils::childContent($source, 'updated'))); // XXX: do we care here? $this->assertFalse(is_null(ActivityUtils::childContent($source, 'title'))); $this->assertEquals(common_config('license', 'url'), ActivityUtils::getLink($source, 'license')); @@ -208,12 +208,27 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $element = $this->_entryToElement($entry, true); $author = ActivityUtils::child($element, 'author'); - $actor = ActivityUtils::child($element, 'actor', Activity::SPEC); $this->assertEquals($this->author1->nickname, ActivityUtils::childContent($author, 'name')); $this->assertEquals($this->author1->uri, ActivityUtils::childContent($author, 'uri')); } + public function testActorContent() + { + $notice = $this->_fakeNotice(); + + // Test with author + + $entry = $notice->asAtomEntry(false, false, true); + + $element = $this->_entryToElement($entry, true); + + $actor = ActivityUtils::child($element, 'actor', Activity::SPEC); + + $this->assertEquals($this->author1->uri, ActivityUtils::childContent($actor, 'id')); + $this->assertEquals($this->author1->nickname, ActivityUtils::childContent($actor, 'title')); + } + public function testReplyLink() { $orig = $this->_fakeNotice($this->targetUser1); -- cgit v1.2.3 From f83171824f835ff9cd24bf0aea26f13c62b806cf Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 15:50:21 -0700 Subject: correctly show for atom feeds --- classes/Notice.php | 48 ++++++++++++++++++++++++++------------- classes/Profile.php | 29 +++++++++++++++++------ plugins/OStatus/OStatusPlugin.php | 12 ++++++++++ 3 files changed, 66 insertions(+), 23 deletions(-) diff --git a/classes/Notice.php b/classes/Notice.php index f6e9eb585..61844d487 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1215,29 +1215,45 @@ class Notice extends Memcached_DataObject if ($source) { - $xs->elementStart('source'); + $atom_feed = $profile->getAtomFeed(); - $xs->element('id', null, $profile->profileurl); - $xs->element('title', null, $profile->nickname . " - " . common_config('site', 'name')); - $xs->element('link', array('href' => $profile->profileurl)); + if (!empty($atom_feed)) { - $user = User::staticGet('id', $profile->id); + $xs->elementStart('source'); + + // XXX: we should store the actual feed ID + + $xs->element('id', null, $atom_feed); + + // XXX: we should store the actual feed title + + $xs->element('title', null, $profile->getBestName()); + + $xs->element('link', array('rel' => 'alternate', + 'type' => 'text/html', + 'href' => $profile->profileurl)); - if (!empty($user)) { - $atom_feed = common_local_url('ApiTimelineUser', - array('format' => 'atom', - 'id' => $profile->nickname)); $xs->element('link', array('rel' => 'self', 'type' => 'application/atom+xml', - 'href' => $profile->profileurl)); - $xs->element('link', array('rel' => 'license', - 'href' => common_config('license', 'url'))); - } + 'href' => $atom_feed)); - $xs->element('icon', null, $profile->avatarUrl(AVATAR_PROFILE_SIZE)); - $xs->element('updated', null, common_date_w3dtf($this->created)); // FIXME: not true! + $xs->element('icon', null, $profile->avatarUrl(AVATAR_PROFILE_SIZE)); - $xs->elementEnd('source'); + $notice = $profile->getCurrentNotice(); + + if (!empty($notice)) { + $xs->element('updated', null, common_date_w3dtf($notice->created)); + } + + $user = User::staticGet('id', $profile->id); + + if (!empty($user)) { + $xs->element('link', array('rel' => 'license', + 'href' => common_config('license', 'url'))); + } + + $xs->elementEnd('source'); + } } Event::handle('EndActivitySource', array(&$this, &$xs)); } diff --git a/classes/Profile.php b/classes/Profile.php index a303469e9..abd6eb031 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -152,17 +152,16 @@ class Profile extends Memcached_DataObject * * @return mixed Notice or null */ + function getCurrentNotice() { - $notice = new Notice(); - $notice->profile_id = $this->id; - // @fixme change this to sort on notice.id only when indexes are updated - $notice->orderBy('created DESC, notice.id DESC'); - $notice->limit(1); - if ($notice->find(true)) { + $notice = $this->getNotices(0, 1); + + if ($notice->fetch()) { return $notice; + } else { + return null; } - return null; } function getTaggedNotices($tag, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0) @@ -943,4 +942,20 @@ class Profile extends Memcached_DataObject return $result; } + + function getAtomFeed() + { + $feed = null; + + if (Event::handle('StartProfileGetAtomFeed', array($this, &$feed))) { + $user = User::staticGet('id', $this->id); + if (!empty($user)) { + $feed = common_local_url('ApiTimelineUser', array('id' => $user->id, + 'format' => 'atom')); + } + Event::handle('EndProfileGetAtomFeed', array($this, $feed)); + } + + return $feed; + } } diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index c61e2cc5f..4fc9d4108 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -953,4 +953,16 @@ class OStatusPlugin extends Plugin } return false; } + + public function onStartProfileGetAtomFeed($profile, &$feed) + { + $oprofile = Ostatus_profile::staticGet('profile_id', $profile->id); + + if (empty($oprofile)) { + return true; + } + + $feed = $oprofile->feeduri; + return false; + } } -- cgit v1.2.3 From cc71f1ae826cc7c186f38ac902d963dc8f65caeb Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 15:55:40 -0700 Subject: output Atom dates in UTC --- classes/Notice.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/classes/Notice.php b/classes/Notice.php index 61844d487..b849225fd 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1242,7 +1242,7 @@ class Notice extends Memcached_DataObject $notice = $profile->getCurrentNotice(); if (!empty($notice)) { - $xs->element('updated', null, common_date_w3dtf($notice->created)); + $xs->element('updated', null, self::utcDate($notice->created)); } $user = User::staticGet('id', $profile->id); @@ -1307,7 +1307,7 @@ class Notice extends Memcached_DataObject Event::handle('EndActivityId', array(&$this, &$xs, $id)); } - $published = common_date_w3dtf($this->created); + $published = self::utcDate($this->created); if (Event::handle('StartActivityPublished', array(&$this, &$xs, &$published))) { $xs->element('published', null, $published); @@ -2055,4 +2055,11 @@ class Notice extends Memcached_DataObject $tag->free(); return $tags; } + + static private function utcDate($dt) + { + $dateStr = date('d F Y H:i:s', strtotime($dt)); + $d = new DateTime($dateStr, new DateTimeZone('UTC')); + return $d->format(DATE_W3C); + } } -- cgit v1.2.3 From e2c90576c0e50ccaa2b70c4d72ad06f320842f73 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 16:01:50 -0700 Subject: re-add mentioned link lost in last merge --- classes/Notice.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/classes/Notice.php b/classes/Notice.php index 20c9c9518..4646fc6ab 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1454,6 +1454,8 @@ class Notice extends Memcached_DataObject foreach ($replyProfiles as $profile) { $xs->element('link', array('rel' => 'ostatus:attention', 'href' => $profile->getUri())); + $xs->element('link', array('rel' => 'mentioned', + 'href' => $profile->getUri())); } Event::handle('EndActivityAttentionProfiles', array(&$this, &$xs, $replyProfiles)); } @@ -1464,6 +1466,8 @@ class Notice extends Memcached_DataObject foreach ($groups as $group) { $xs->element('link', array('rel' => 'ostatus:attention', 'href' => $group->permalink())); + $xs->element('link', array('rel' => 'mentioned', + 'href' => $group->permalink())); } Event::handle('EndActivityAttentionGroups', array(&$this, &$xs, $groups)); } -- cgit v1.2.3 From b17fc0ca5b90d2cdc957ebc4870fbd2791b9e1b9 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 3 Aug 2010 16:04:19 -0700 Subject: update tests to include 'mentioned' links --- tests/ActivityGenerationTests.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/ActivityGenerationTests.php b/tests/ActivityGenerationTests.php index 52077ee57..b9e74a570 100644 --- a/tests/ActivityGenerationTests.php +++ b/tests/ActivityGenerationTests.php @@ -261,6 +261,7 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $element = $this->_entryToElement($entry, true); $this->assertEquals($this->targetUser1->uri, ActivityUtils::getLink($element, 'ostatus:attention')); + $this->assertEquals($this->targetUser1->uri, ActivityUtils::getLink($element, 'mentioned')); } public function testMultipleReplyAttention() @@ -291,6 +292,19 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $this->assertTrue(in_array($this->targetUser1->uri, $hrefs)); $this->assertTrue(in_array($this->targetUser2->uri, $hrefs)); + + $links = ActivityUtils::getLinks($element, 'mentioned'); + + $this->assertEquals(2, count($links)); + + $hrefs = array(); + + foreach ($links as $link) { + $hrefs[] = $link->getAttribute('href'); + } + + $this->assertTrue(in_array($this->targetUser1->uri, $hrefs)); + $this->assertTrue(in_array($this->targetUser2->uri, $hrefs)); } public function testGroupPostAttention() @@ -304,6 +318,7 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $element = $this->_entryToElement($entry, true); $this->assertEquals($this->targetGroup1->uri, ActivityUtils::getLink($element, 'ostatus:attention')); + $this->assertEquals($this->targetGroup1->uri, ActivityUtils::getLink($element, 'mentioned')); } public function testMultipleGroupPostAttention() @@ -328,6 +343,19 @@ class ActivityGenerationTests extends PHPUnit_Framework_TestCase $this->assertTrue(in_array($this->targetGroup1->uri, $hrefs)); $this->assertTrue(in_array($this->targetGroup2->uri, $hrefs)); + + $links = ActivityUtils::getLinks($element, 'mentioned'); + + $this->assertEquals(2, count($links)); + + $hrefs = array(); + + foreach ($links as $link) { + $hrefs[] = $link->getAttribute('href'); + } + + $this->assertTrue(in_array($this->targetGroup1->uri, $hrefs)); + $this->assertTrue(in_array($this->targetGroup2->uri, $hrefs)); } public function testRepeatLink() -- cgit v1.2.3 From 422a6ef5185a522ebff03733dd7bfe73c2b68fb5 Mon Sep 17 00:00:00 2001 From: Eric Helgeson Date: Fri, 6 Aug 2010 22:48:00 -0500 Subject: Fixed PHP 5.3 by & value Cleaned up {}'s --- plugins/Gravatar/GravatarPlugin.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/plugins/Gravatar/GravatarPlugin.php b/plugins/Gravatar/GravatarPlugin.php index 580852072..8a9721ea9 100644 --- a/plugins/Gravatar/GravatarPlugin.php +++ b/plugins/Gravatar/GravatarPlugin.php @@ -30,11 +30,13 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { class GravatarPlugin extends Plugin { - function onInitializePlugin() { + function onInitializePlugin() + { return true; } - function onStartAvatarFormData($action) { + function onStartAvatarFormData($action) + { $user = common_current_user(); $hasGravatar = $this->hasGravatar($user->id); @@ -43,7 +45,8 @@ class GravatarPlugin extends Plugin } } - function onEndAvatarFormData(&$action) { + function onEndAvatarFormData($action) + { $user = common_current_user(); $hasGravatar = $this->hasGravatar($user->id); @@ -89,7 +92,8 @@ class GravatarPlugin extends Plugin } } - function onStartAvatarSaveForm($action) { + function onStartAvatarSaveForm($action) + { if ($action->arg('add')) { $result = $this->gravatar_save(); @@ -178,7 +182,8 @@ class GravatarPlugin extends Plugin 'success' => true); } - function gravatar_url($email, $size) { + function gravatar_url($email, $size) + { $url = "http://www.gravatar.com/avatar.php?gravatar_id=". md5(strtolower($email)). "&default=".urlencode(Avatar::defaultImage($size)). @@ -197,4 +202,4 @@ class GravatarPlugin extends Plugin return true; } -} +} \ No newline at end of file -- cgit v1.2.3 From edb62db613478d50def223ec1d60ef5863fa3a4b Mon Sep 17 00:00:00 2001 From: Eric Helgeson Date: Fri, 6 Aug 2010 23:07:34 -0500 Subject: Locale error message, clean up {}, Verified under 1.0.x && php 5.3 --- plugins/Recaptcha/RecaptchaPlugin.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/Recaptcha/RecaptchaPlugin.php b/plugins/Recaptcha/RecaptchaPlugin.php index 7cc34c568..b7a0e92c7 100644 --- a/plugins/Recaptcha/RecaptchaPlugin.php +++ b/plugins/Recaptcha/RecaptchaPlugin.php @@ -41,7 +41,8 @@ class RecaptchaPlugin extends Plugin var $failed; var $ssl; - function onInitializePlugin(){ + function onInitializePlugin() + { if(!isset($this->private_key)) { common_log(LOG_ERR, 'Recaptcha: Must specify private_key in config.php'); } @@ -50,7 +51,8 @@ class RecaptchaPlugin extends Plugin } } - function checkssl(){ + function checkssl() + { if(common_config('site', 'ssl') === 'sometimes' || common_config('site', 'ssl') === 'always') { return true; } @@ -102,7 +104,7 @@ class RecaptchaPlugin extends Plugin if($this->display_errors) { $action->showForm ("(reCAPTCHA error: " . $resp->error . ")"); } - $action->showForm("Captcha does not match!"); + $action->showForm(_m("Captcha does not match!")); return false; } } @@ -118,4 +120,4 @@ class RecaptchaPlugin extends Plugin 'captcha to the registration page.')); return true; } -} +} \ No newline at end of file -- cgit v1.2.3